* Initial Commit, Features the Map, Map specific files, changes to a metric ton of icons, etc.
* Fixes merge conflict, actually adds the map
* Spelling is hard Part 1
* Alright, steps are bad. Got it.
* Clean slate, please pretend to compile
* dme issue
* Fixes it for lavaland elites PR
* Removes the last dirty step_x, removes duplicate file, makes treavor happy
* Fixes some newline issues.
* Fixes some types, spawns skeletons in select graves since mob_spawns kept shoving them outside.
* Makes bone statues and shovel actually craftable, cleans up some comments.
* Properly defines muddy paper, updates map, fixes a few more typos.
* Prevents some future turf atmos issues, finally touched up the two skull sprites.
* Refactors strong mineral drops, cleans up some duplicate code, prevents washing hands with OIL
* I swear officer, i'm a native english speaker, fixes remains dropping correctly, un-nests my Ifs further.
* Oil well now covers target in oil when interacting with it.
* Refactors sink deconstruction a bit, oil wells can't be constructed with a wrench.
* Cleans up some atmos, and adds a return
* Adds subtype of remains for use in graves, move their spawn to src, not loc
* Moves around remains spawn, gets rid of untouched var
* Adds sorting to most input() lists.
* Sorted some global lists, added more input sorting
* Should now use correct sort everywhere.
* compiles
* Last fixes.
* Fixes cult space bases (again)
* h
* Fixes duplicate definition
* Lets cultists draw runes at the Lavaland cult altar ruin
* Adds CULT_PERMITTED_1 flag to check if cultists can summon/buld structures here
* h
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
* Reverts italics-span back to no color.
* Cleans up many extra spaces and indents.
* Adds 'hear' span class.
* Replaces all 'italics' used in heard messages with 'hear'.
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
About The Pull Request
Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game
This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
About The Pull Request
Completely removes item_color and the clusterfuck of bad programming it caused.
In places where item_color was used for entirely unique purposes it was split off and renamed to a new var on that typepath only, or refactored so it wasn't needed
In places where item_color was used as a dye color, it was converted to the new dye_color var
In places where item_color was used as the worn overlay it was removed and instead now icon_state is always used as the clothing overlay.
A new mob_overlay_icon var was added for manually setting where the mob overlay icon path is for specific items.
Moved some mob overlay files relating to clothing to their own directory as well for organization purposes.
Totally refactors washing machines, instead of the horrible abortion that was iterating through the typepath it now uses a registry of dye results.
Some bonus functionality to come out of this:
the washing machine now supports arbitrary dye colors.
Why It's Good For The Game
It's been 4 years since the "this should be deprecated soonish" comment was added, and this var is a shitpile of confusion if you just trace the usage of it.
Changelog
cl
add: Washing machines now support arbitrary dye color
add: Washing machines now dye nearly every item.
refactor: lots of backend changes to clothing overlays, report any issues
/cl
* Medipen and regen cores can now be activated in hand.
* Autodoc
* Old regen core description.
* Cyborg proc begone
* cleanup, no tk shenanigans.
* Removed unusable pen.
* better return.
* 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
* Adds stasis beds
Needs sprites, using placeholder ones
* Adds stasis beds to techwebs
Cryostasis Technology
* Adds sprites for stasis bed
* Stasis beds support economy/ancap
* Stasis bed can be deconstructed
* Stasis bed requires cable coil
* New stasis bed sprites by @Kmc2000
Made by Kmc2000 <bluekorben2000@yahoo.com>
Not currently functional
* Add unique to SSvis_overlay.add_vis_overlay
will return the overlay object itself and not reuse it
* Make stasis bed art function
can enable/disable with alt click
makes sounds when powering up/down
* The tubes go over the mob now
* Remove sleepers from techweb tree
* Fix stasis bed lying
* Modified stasis bed build requirements
* Survival pod version of stasis bed
Map spawned sleepers delete their circuit boards
Added stasis beds to 'doctors' phobia
NanoMed for survival pod which is always free, not refillable
* Replace sleepers with stasis beds on all station maps
removed all sleeper machine boards from maps
one sleeper machine board intentionally left alone in oldstation
* Fix stasis bed tube overlay capturing clicks
Give power up and down noise freq variation
* Remove stat check from living Life
* Remove vis overlay assertions from stasis bed
* legion cores remove CC
* legion -> regenerative
* lore
* Icons
fixes last reference to legion core in status
* Automatic creation of classes is possibly the worst feature of all time
* Moves remove_CC
* Review changes
* Refactors NODROP flag into TRAIT_NODROP
🆑 coiax
fix: Anti-drop implants can no longer be used to drop objects that they
were not responsible for sticking to a person's hand.
fix: Backfiring with a Barnyard spellbook will now play a spooky horse sound.
refactor: Refactors the way that "NODROP" items work to a new system,
there should be no change in functionality.
/🆑
Various items in the codebase were doing weird hoop jumps in order to
preserve the nodrop flag's state when it also wanted to change it, so I
moved it to a trait system.
I may have gone overboard with the type of unique trait sources, but
those can be changed later. My long term plan is make a general "CURSED"
nodrop origin, which means you can unlock cursed items by being hit with
a bolt of door opening or something. But that's for another PR, this has
no functionality changes, apart from some slightly modified descriptions
on cursed masks.
- Removed a bunch of redundant voice changing code for all the voice
changing animal masks, used two new clothing flags for this purpose.
- Also refactored a bit the animal masks, making new cursed subtypes that play
the sound when created.
* Drop location
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.
Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove
cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
fix: having higher sanity is no longer punished by making you enter crit faster
balance: you can have 100 mood instead of 99 before it starts slowly decreasing
Remember higher sanity is BETTER
You want crit_modifier (now crit_threshold) to be LOW so you can stay in fights more (you go into crit at 5hp vs 0hp).
Why: Proc overhead, puts the load on mood, proper abstraction of mood component, values > defines, etc.