Commit Graph

136 Commits

Author SHA1 Message Date
LemonInTheDark
79dc58fe2a Redoes how alarms are handled, moves their behavior to datums (#60060)
* Adds in a set of datums to support sending, listening and storing alerts
In contrast to the old system, we now store a list of send alerts on the listener, rather then the area itself.

This makes clearing "our" alerts on destroy not a massive headache.

In addition, we now use a direct ref to the area's cameras list and signals to prevent camera hard deletes. This, combined with the aformentioned ability to clear, virtually eliminates hard deletes
sourced from alerts caused by strange senarios like the alert source moving its tile.

* Converts areas to the system, of note is the fact that areas no longer store a bool that determins if an alert
for power or atmos has been sent, that's instead handled by the alert sender datum. This means the sources list
on alert listeners actually means something

additionally, in order to prevent dumbassery with fire alarms since they're area based, fire alerts are sent by
an alert handler on the area itself
2021-08-13 11:54:44 -07:00
Rohesie
0ec599786a Adds a setter for density (#59529)
Adds set_density()
Fixes one instance of a duplicate density assignment on an object.
Comments two hacky usages of density which will have to forgo using the setter for now.

Lets us append code to the event of density changing.
Pretty sure this is leading up to some multitile object thing -Lemon
2021-06-16 15:06:10 -07:00
Watermelon914
375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
LemonInTheDark
f90e8cf7a3 Fixes a bunch of harddels that are sourced from player action (#59371)
Sourced from #59118 and a cursed project I'll pr later, This pr contains a lot of harddel fixes for stuff that pops up after a player interacts with something. I'm not gonna list them all here because there's something like 60 130, check the commit log if you're curious

Oh and I moved ref tracking screaming to a separate define, and made some optimizations to the thing in general. I think that's it, this pr is a bit of a frankenstine
2021-06-10 21:44:23 -03:00
Emmett Gaines
7989178394 Makes canister leaking and blowing up use a component and element respectively (#59075)
I want to use this behavior on some other things so into a component and element it goes. Gas leaking is handled by a component so it can process whereas the object breaking and causing an explosion is handled by an element. Some minor changes were made so canisters were more consistent in leaking.
2021-05-25 16:54:38 -07:00
Seth Scherer
79556c3e61 Allows you to repair trophy cases (the ones found in the library) (#58588)
Apparently you haven't been able to repair these for the last four years.
Fixes #27926 (Trophy cases being perma broken)

All other display cases can be repaired, why shouldnt this one be able to.
2021-04-22 21:30:01 -07:00
tralezab
09ab61ae05 Four New Sects, small rethemes to first 3 (#57820)
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-11 22:57:43 +03:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
LemonInTheDark
5c22a0cfc1 Converts many proc overrides to properly use list/modifiers, lots of other smaller things (#56847)
Converts many proc overrides to properly use list/modifiers, fixes some spots where modifiers should have been passed, calls modifiers what it is, a lazy list, and cleans up some improper arg names like L, M, C, and N. Oh and I think there was a spot where someone was trying to pass M.name in as a string, but forgot to wrap it in []. I fixed that too.
2021-02-16 09:18:46 -05:00
Qustinnus
707fc287b4 Replaces intents with combat mode (#56601)
About The Pull Request

This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:

    Disarm and Grab intents have been removed.
    Harm/Help is now combat mode, toggled by F or 4 by default
    The context/verb/popup menu now only works when you do shift+right-click
    Right click is now disarm, both in and out of combat mode.
    Grabbing is now on ctrl-click.
    If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)

Minor interaction changes:

Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game

Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.

As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.

As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.

In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.

The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog

cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
2021-02-04 16:37:32 +13:00
ArcaneMusic
a5576c0101 Vend-A-Trays can be moved onto tables (#56503)
Vend a trays are mapped onto kitchen tables and bar counters. They can't be moved back onto the table with deconstructing the table. This gives them the table passflag, allowing them to be just moved back onto the tabletop.
2021-01-30 22:17:25 -03:00
Krysonism
0ec12f8ae8 Vend-a-trays can sell anything! (#56018)
Vend-a-trays can now accept any item, not just food and drinks.
2021-01-08 22:32:54 -05:00
ArcaneMusic
d8f5fcd9fd Food processors and microwaves now respect food trays (#54927)
Really it's a bandaid as it would be better to wait until the refactor is done, but it turned out to be a rather easy fix.
Food trays may now once again mass insert both new and old food into the microwaves and food processors.

Prevents any manual handing when cooking large quantities of food at once.
Also, you get the switch gathering mode button when being given the serving tray again.
2020-11-18 00:33:27 -08:00
Ghommie
a74714c2ab Moved these getters toward the upper end. 2020-10-29 16:02:13 +01:00
Timberpoes
1f23cc281d Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
2020-09-26 11:52:39 -03:00
TemporalOroboros
6e950daccc Defines damage flags. (#53158) 2020-08-24 08:20:33 -03:00
MrMelbert
3f6e6ef5b4 Braille 2020-08-04 15:01:09 -05:00
ShizCalev
31d88c7454 Fixes display cases going invisible when you put shit into them (#52275)
* Fixes display cases going invisible when you put shit into them

* finished
2020-07-23 13:08:11 +02:00
ShizCalev
4b6500fb67 Makes all anchored changes use setAnchored(), COMSIG_MOVABLE_SETANCHORED now only sent if an AM's anchored var has changed for more reliable usage. (#52254)
* Converts everything to use setAnchored() + other fixes

* Fixed singulo debug

* singulo again

* forgot to move the vv_edit proc

* caught that this time :)

* changes

* Update code/game/atoms_movable.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-21 02:20:26 -03:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
ArcaneMusic
b26deb6707 Makes vend-a-trays usable by bartenders, adds them to a technode. 2020-07-12 01:44:40 -04:00
ArcaneMusic
eee922ee7f Updates vend-a-trays to have a unique UI, improves accessibility. (#51931)
* Initial commit, updates trays into 2020

* Adds vend-a-trays as a service machine, without it being a machine.

* Replaced the mapped vend-a-trays with service unique versions.

* "YoUr BuIlD DiFfErS fRoM mAsTeR"

* Removes {}s from img, workin on the other part

* All my homies recompile on merge conflict

* Fixes end of line because honestly there must be no god on this green earth

* hopefully this isn't too excessive.

* How's this?

* Applies Anturk's Confirm suggestion.

* Shipped, workshopped with style a bit

* Alright that's probably enough fiddling for now

* Rebuilds.
2020-07-06 11:37:06 +03:00
ShizCalev
1059a64a98 I before E, except after C. (#51543) 2020-06-10 23:23:50 +02:00
spessman-007
ab84042f94 [READY] Improve spelling (#51134)
* Improve spelling

* Spell isn't, ain't, shouldn't, hasn't, wasn't correctly

Co-authored-by: NewSta <spessman-007@users.noreply.github.com>
2020-05-25 02:13:37 +08:00
ArcaneMusic
d68ea7748e Improves the feedback on vend-a-trays. (#50061) 2020-03-21 10:18:06 -03:00
ArcaneMusic
bdac280ed8 Fixes a minor issue with food in vend-a-trays not being purchasable. (#49648)
* Speedfix.

* Remove commented out code.
2020-03-02 21:12:46 +08:00
ArcaneMusic
7902a5731e No long distance relationships. 2020-02-28 17:49:19 -05:00
ArcaneMusic
8bfbe2b201 Alright, should be good to go now. JANNIES? 2020-02-25 17:01:09 -05:00
ArcaneMusic
fcd4d02981 Whoops killed my intent switch 2020-02-16 01:09:06 -05:00
ArcaneMusic
55b2b72122 How's this? 2020-02-16 01:06:20 -05:00
ArcaneMusic
3fc7f842a7 This appears fine, but I'm not quite sure about library cases. 2020-02-14 19:37:49 -05:00
ArcaneMusic
bbb9fa41e2 Updates tray interactions to match paystands. 2020-02-12 22:34:42 -05:00
ArcaneMusic
0330bf7ef5 Merge remote-tracking branch 'upstream/master' into arconomy 2020-02-10 15:56:29 -05:00
ArcaneMusic
ffa346f6e4 Oh right, that ruins my immersion. 2020-01-30 17:37:19 -05:00
ArcaneMusic
93df782abf Fixed some potentially nasty situations when breaking the case, broken case is fixed with multitool now. 2020-01-30 16:55:34 -05:00
ArcaneMusic
1287461ce6 Whoops v2 2020-01-27 22:24:36 -05:00
ArcaneMusic
80ca6134cd Adds a quick ding sound when buying stuff, and a tiny bit of audio feedback when the card is registered. 2020-01-27 20:58:40 -05:00
ArcaneMusic
d79311bd4d Alarms are a bit overkill 2020-01-27 17:32:47 -05:00
Denton
ceb4b5b76e Fixes constructed display cases 2020-01-27 08:49:17 +01:00
ArcaneMusic
45b1b272cd QOL changes like allowing it to be unwrenched, and adding an emag act to change owners/steal. 2020-01-26 19:31:51 -05:00
ArcaneMusic
5139099773 Icon Adjustments, item costs are adjusted by hitting with a PDA with the owner's ID inside. 2020-01-26 16:17:35 -05:00
ArcaneMusic
fd24ba4859 ALL THE GUTS WORK, NOW FOR MAPS 2020-01-24 23:05:57 -05:00
ArcaneMusic
15be1e4462 Well it kinda works. 2020-01-24 13:48:37 -05:00
kingofkosmos
280d416d4f Adds missing spans, missing periods and missing span endings. Also changes spans to suit the situation better. 2019-10-12 19:34:11 +03:00
Qustinnus
a394ccdc2b Material datum chairs & tables and applies materials to all items (Now with less pain for mining & RnD) (#46525)
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)

this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.

also applies materials to everything, with fixes, which can close #46299
2019-10-08 11:06:02 -04:00
Rob Bailey
2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
bgobandit
ee0d68aeca Clicking a display case on help intent examines it. (#45842) 2019-08-13 16:48:03 -04:00
kingofkosmos
ec5c82029a * "Is already...", "Can not...", "Not when..." etc. 2019-06-27 06:15:43 +03:00
vuonojenmustaturska
8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00