About The Pull Request
repaths clothing/under to be more sane
Also fixed a couple of bugs relating to pathing being incorrect, and modified a couple of bad descriptions and names
Also adds a map path updating script, which also helps show the full repath.
Why It's Good For The Game
improves maintainability, makes mapping easier, stages for a clothing dmi split
Changelog
cl
refactor: repathed all under clothing, keep an eye out for errors
/cl
* Brain damage works on organ damage procs, some defib reworks
* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again
* Cleans up reused global
* Organ damage procs on living and living/carbon
* Changes brain damage procs again
* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.
* Damage and failure effects for the appendix, ears, and some touchups on the stomach
* Committing changes so I don't lose them
* Organs now cease decaying in the proper containers
* Organ Fridges
* Reverts map changes
* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime
* Actually fixes merge conflict
* Smartfridge tweaks
* Think I figured out map merger
* Evidently not
* Still runtiming with glass shards even after I remove the map changes?
* Fixes runtime error with brain_item
* Runtime fix on living/carbon/life
* Cleaning up old PR code
* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were
* Wrong math operation used
* Brains in MMIs no longer decay
* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts
* Removes misleading comment
* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss
* Removes random spaces, scanners check brain damage severity now
* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it
* List change
* Runs off of an index instead of using cut
* Brains can be put into organ fridges
* Fixes minor type, hotfix for cloning problem
* Removes pointless check
* Demon hearts no longer decay
* Nightmare hearts no longer decay
* Removes istype() check on process, sets can_decompose instead
* Condenses organ damage report
* Removes organ failure messages
* Less organ damage spam, implements organ threshold messages instead
* Brain damage messages go to owner, not source
* Self-examine shows damaged organs
* Minor code cleanup, adds autodoc comments to the new procs
* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.
* Merged the booleans into a set of flags
* Healthy living improves organ healing rates
* dunno why this didn't update
* my actions have consequences
* Sets ORGAN_SYNTHETIC for overlooked robotics organs
* Doubles heart decay time
* 3 minute heart decay
* Lobectomy/Coronary_Bypass heal more
* removes hivemind spells from the changes
* adds hat throwing on people and borgs
* clothing flags, hats can knock off non-items, borg hat blacklist check
* prevents hats with items in them from being able to land on heads
* removes extra equip, hats can go on the hatless again, tinfoil fix
* if
* bit flag
Adds a preference for jumpsuit/jumpskirt into the game. Currently runs
a jumpskirt for all occupations on spawn except for miner, since they
have their special lavaland suit, and no skirt variant I could find.
Doesn't remove skirts from lockers/machines yet since I am not 100% as
to whether that should be done (clothes are available generically for
the sake of changing outfits/recovering clothes after a whoops with
some pyrotechnics).
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.
Some lists, including global lists, are given types so that L[i].foo expressions can be checked.
Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.
Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.
Return type syntax is currently roughly:
<typepath> | <paramname>([_])*(.type)?
About The Pull Request
Same premise as #44712 but using a simple regex replace and also on the client side
Closes#44712
I was gonna PR it to #44712 but half way through I realized I had already replaced nearly all of bobbah's changes, and after I was finished the branches shared nothing.
Why It's Good For The Game
The delta is way smaller and simpler
Should solve the DoS concerns without needing a limit on bad chats because it's not a loop it's on the client side
Changelog
cl JJRcop and Bobbahbrown
tweak: When attempting to say a blocked word in character you will be notified which ones were blocked.
/cl
Cables now autoconnect on cardinal directions. All cable placement has been completely stripped out and replaced with simple single cable per tile logic.
Low effort demo: https://www.youtube.com/watch?v=fXp8s6ORWbA
Yes I am aware that cutting it is not dropping wire, that version was bugged.
Cables no longer need a knot specifically placed to link to power objects. The sprite is automatically changed to represent this.
The only exception to this logic is that on smes units, due to the terminal being next to the output, they will not link there.
On a technical powernet side, this is the same as old cables once actually placed. They still use the existing powernet system, just the placement and connection works differently.
Old cables have been turned into "pipe cleaners" for wire art purposes. they work just like the old ones, just missing all the powernet functionality, and also you can put them on top of the floor.
Why It's Good For The Game
How obnoxious cables were to both map and work with in game has been something that has annoyed me for a really long time now.
This is both easier for new players to learn, and easier for experienced players to work with.
Along with making in game much more intuitive and easier, it makes mapping much easier as well. Mad lad wjohn was able to rip out all the mapping conversion in one day because of how much faster it is to work with.
cl actioninja and wjohn
add: Cables have been completely reworked. Simple per tile connection logic, automatically connects to things above it. Think minecraft redstone.
add: Old cables have been kept as pipe cleaner. They are non-functional in terms of power, but otherwise have the same connection logic. Also can go on top of tiles.
remove: mech cable layer has been removed because it was terrible shitcode nobody used
tweak: (sort of balance) cable stack sized has been reduced to 15.
/cl
About The Pull Request
This PR removes speech message and span hooks from dna, mutations, pierrot throat disease, species, tongues, masks, hats, held items, brain traumas and a carbon proc overload handling tonguelessness.
Tonguelessness is now handled by tongue removal registering for the speech signal and the hook being deregistered by having a tongue put in.
Also cleans up some /atom/movable/proc/get_spans() overloads that called the empty parent or overloaded the parent to do the exact same thing as the parent proc did.
Also cleans up calls to radio.talk_into() where the caller would often, as a result of copypasta, provide the proc with fresh copies of the proc's default values for proc args, and makes say_quote() better by giving it a default spans value so that none of the callers have to provide the same default one.
Why It's Good For The Game
Changelog
cl Naksu
code: Cleaned up saycode
/cl
* start with this
* oh man this looks so good
* hats are dead
* /obj/item/proc/speechModification is dead
* brain traumas and get_held_item_speechspans() are dead
* these should be static
* unfortunately we still need this
* /mob/living/carbon/treat_message(message) is kill
* clean up get_spans()
* dunk get_spans, modifies_speech for brain traumas, some superfluous static stuff
* move stuff around
* return values
* Adds 10 new drinks + related stuff.
* Update code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
Co-Authored-By: Krysonism <49783092+Krysonism@users.noreply.github.com>
* Update alcohol_reagents.dm
* Fixes the pwr game soda I messed up
* gives champagne the intended price
* Tries to fix the atrocious spelling and grammar
* Adds period
* Tries to appease cobby
Removes Mandela(RIP)
Makes misc changes cobby wanted to the best of my limited ability.
* Taking "catsip" out behind the shed
The drink catsip has been axed. Rest in peace.
* Reworks turbo to be more unique
Turbo no longer boosts your speed, but instead restores stamina based on how drunk you are. Enjoy responsibly, or get shitfaced and fight with security.
* blob refactor
* blobtype -> blobstrain
* fixes, chemical -> strain
* only /mob/living experience Life, blobs and other cameras can process if they need to
also other fixes
* call_life goes out
* ispath thing
About The Pull Request
Pretty much what it says on the tin.
Oh yeah I also removed the string concatenation nonsense in favor of multiline strings and a list.
Why It's Good For The Game
Removes many getFlatIcon calls during the round, also some runtimes from ephemeral items being created and immediately deleted when the vending machines are used.
Changelog
cl Naksu
tweak: vending machines now use spritesheets
/cl
* fugitives
* lets make this a bit cleaner
* cultists and the beginnings of security detail, lots of wip
* wip security
* WALDO (and some more work on yalp, of course)
* adding antagonist teams for both hunter and fugitives, roundend report beginnings
* this whole file is shit, but hopefully a little better
* it compiles (+ space police)
* some more work
* S.E.L.F. fluff
* grammar and icon fixes
* lets finish yalp elor, give it the justice it deserves
* moves hunter spawns to ship pods + russians P1
* moves hunter spawns to ship pods + russians P2
* fugitives and hunters now recognize eachother
* hunter spawning finished(?)
* missed this
* ATH's review
* runtime fixed, added yalp's transport ability
* anturk's review
* makes hunter.dm better trust me
* oopsies
* INVOKE_ASYNC
* russian ship + finally a (bad) sprite for the capture machine
* step > pixel, thanks travis
* mooshroom review p1
* mooshroom review p2
* improper use of /improper
* waldo's radio doesn't stick, police id
* candidate picking is more flexible + minor things
* Add a virus log, plus a log for facehuggers
Logs each infect event and contains detailed descriptions of the virus
I also added a log message for printing virus culture bottles including
who printed them
Finally i tacked on a change to adding a game log entry for facehuggers
because why not
* Further logging fixes and updates
Medbots now combat log
combat log no longer tries to run keyname on an object because that
doesn't make much sense
* Dead say no longer logs twice
* tabs to spaces
Port of yogstation13/Yogstation-TG#2549
which is a port of Citadel-Station-13/Citadel-Station-13#7442
which is a port of OracleStation/OracleStation#50
This port visualizes items in all machines handled by _vending.dm, allowing a
person to see what they're buying before buying it. This is very useful for
clothing vendors for example, and much better than the previous system that had
vending machines choose from three colors randomly.
Credits to:
* AndrewMontagne (Oracle, original implementation)
* FlattestGuitar (Citadel)
* nichlas0010 (Yogstation)
* 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
🆑 coiax
code: Randomly coloured gloves and randomly coloured glowsticks now have
slightly different typepaths, but otherwise function the same.
/🆑
Essentially, these items just acted AS spawners by qdeling in Initialize
(or at least hinting) and spawning a new totally seperate item.
There is nothing that uses the auto-equipping of random gloves, so I
removed it.
cl Floyd / Qustinnus
tweak: You now have to be naked to get the nice shower moodlet, if you shower with clothes you get a bad moodie
add: Hygiene, you slowly become dirty over time, the more covered in blood you are the faster you will lose hygiene. When you are too dirty you will have a stink overlay. (Hygiene doesn't affect mood currently) It also spawns miasma slowly if you smell like shit.
add: adds NEET and neat traits. NEET's get 20 bucks social welfare extra and like being unhygienic, while neat people dislike being unhygienic and like being hygienic
/cl
This doesn't affect mood so plssss dont strawman in this PR about how I'm forcing you to shower or die or whatever
This PR is mostly visual and will allow for people to judge others for literaly being smelly as hell.
also NEET and neat traits which interact with being smelly. (neat likes hygiene, dislikes lack of it. NEETs like lack of hygiene and get some social welfare (20 bucks))
* Christmas code changes
🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑
The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.
Added unlimited christmas tree with presents, for testing.
Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.
Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!
Gifts determine what type is inside them on initialization, rather than
when unwrapped.
- Reasoning -
Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.
Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.
* Missed a merge
* Adds present investigate logs, and visible messages
* Use the body+mind checking of mob.has_trait
* Less globals, more static vars on types; also event renaming
Basic multiZ mob movement procs (Observers can always move)
Open space, showing what things are below it, and everything that entails. No complex support for dynamic generation just yet.
Decide how openspace should look :/
Atoms falling through open space (NO MOB SUPPORT/DAMAGE/ANYTHING YET.)
//CANCELLED FOR ANOTHER PR - [ ] Being able to see upwards? Downwards is going to be handled by open space.
MultiZ tile atmospherics - EDIT: Working demo! https://puu.sh/B7mUs/3f6274740f.mp4
Bugtest the heck out of this trainwreck.