* medical/security modsuit updates and modules (#69194)
tweaks the colors on the security modsuit to be lighter, i think i did that on the original pr but it got reverted due to merge conflicts
makes the standard quick carry module have nitrile level carrying instead of latex level
environmental bodybags are now always pressurized
adds medical and security hardlight bags, which are environmental bags you can use to move people through space, security ones can be sinched to prevent escape
adds a medical version of the prisoner capture module, for patient transport, prisoner capture and patient transport now use the medical/security holobags, medical one deploying them faster. when you move too far out of range the holobag dissipates
adds a defibrillator module, extends shock paddles
adds a thread ripper module, this module temporarily rips away the matter of clothing, to allow stuff like injections, surgery, defibrillation etc through it
adds a surgery processor module, essentially a portable surgery computer like borgs have
fixes a bug where you can unwield defibrillator paddles just after starting the do_after to defib onehanded
fixes a bug where the modsuit gps would have a broken name when renamed
* medical/security modsuit updates and modules
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Adds more multiz support (#69420)
* Adds more multiz support by making use of ``is_valid_z_level`` instead of simply checking if z is the same.
* Adds more multiz support
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Resprites Trekkie Uniforms, adds Voyager Uniforms, adds Trekkie Costume Crate (#68871)
Added a Star Trek Costume Crate and updated the Star Trek uniforms to modern sprite standards, as well as adding Voyager uniforms!
* Resprites Trekkie Uniforms, adds Voyager Uniforms, adds Trekkie Costume Crate
* goodbye
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Fix combustible flooder temperature param not being parsed. (#69583)
" TEMP" != "TEMP"
Fixes#69579
* Fix combustible flooder temperature param not being parsed.
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
* Spider Rebalance PR: Burn Baby Burn Edition (#68971)
This is a remake of #66106, with more thought put into the underlying balance. The main goal of this PR is to make fighting spiders more accessible and interesting for the majority of the crew while nerfing the extremely strong and boring option of simply using freezing temps to kill spiders. Also fixes#67765. The changes are as follows:
NEW SPIDER COUNTERS
Fly swatters now deal 25 damage to spiders on hit, increased from 1
Pesticide now deals massive stamina damage to spiders and a little bit of physical damage as well (the damage portion not added by this PR)
Spiders can now be caught on fire through any traditional mean of catching something on fire. Spiders will automatically put themselves out after a time. This was done instead of an active action because AI spiders are also subject to this change as well, and I don't feel like bloating the simple mob AI with putting themselves out
SPIDER CHANGES
NERFS
Toxin injection has been removed from all spiders except for the hunter, flesh spiders and the viper
Hunter toxin (used by hunters and flesh spiders) now only brings the afflicted down to 40 health, and will stop taking effect once the afflicted reaches that threshold. Should the afflicted still have the toxin in their system and get healed, the toxin will begin dealing damage again until the afflicted is at 40 health or below again
Viper toxin now only brings the afflicted down to 10 health, but also has the hallucination effects of Mindbreaker toxin. This hallucination effect is applied regardless of target health. It also no longer generates other harmful chemicals into the afflicted's system, but is much more potent at base
Flesh spiders cannot regenerate while on fire
BUFFS
Time it takes for spiders to normalize their temperature cut by half. While they will react faster when in cold or hot environments, when they leave said environments it will take less time to return to normal temperature
Unsuitable temperature damage reduced to 4 from 8
You can no longer push spiders by running into them
Webbing heat damage threshold increased from 300 to 350 (same temp where spiders also take damage)
Broodmother egg laying time reduced to 12 seconds from 15
Broodmother web laying time multiplier reduced to 0.5 from 1
Broodmother health increased to 60 from 40
Broodmother damage increased to 10 - 15 from 5 -10
BEHIND THE SCENES CHANGES
You can now make any simple mob able to be caught on fire by setting flammable to true
How fast a simplemob stops burning is controlled by fire_stack_removal_speed
Can now now control how fast simplemobs regulate their temperature using temperature_normalization_speed. Before this PR, this value was hard-coded at 10, I have set the default to 5 as 10 was too long in almost any case. This will notably affect slimes, who could easily die to being cold long after being removed from the cold area. I see this as purely beneficial
Toxins now have a health_required value. The afflicted has to be above this health value in order to take damage from the toxin. Only used in the spider toxins currently
When I was setting up simplemobs to be flammable, I noticed basic mobs can be glitchily set on fire, so I fixed it to where they can't be set on fire.
Why It's Good For The Game
Spacing something is very easy, but not very fun or interesting compared to starting and controlling a fire. Swapping spiders' temperature weakness from spacing to fire is beneficial to the fun of fighting them and playing as them, allowing more creativity and resourcefulness on both sides. Ideally, this should allow for atmosians and chemists to use their skills in a fun way.
Currently, ignoring spacing them, the only people who can reasonably take on spiders is security, since they have lasers which do burn and stuns to slow the spiders down. However, this small subset of players cannot normally destroy a spider infestation without spacing them, so letting fly swatters and pesticide be used to combat spiders allows other crewmembers to fight back, letting them actually enjoy facing spiders as a threat and allowing the crew to defend themselves.
Being killed by spider toxin after fighting off a horde isn't fun. The changes still make it a threat you have to be aware of, but not one which detracts as much from the combat loop. This also forces spiders to secure the kill themselves, which is more fun than having the toxin do it for you.
Broodmothers in their current state are incredibly weak by themselves, which is intentional by design. However, the new changes hope to make playing as a broodmother easier and hopefully allow more broodmothers to get the spider infestation started properly. After all, Dynamic is their common source now, and they should be consistently worth the threat cost to spawn them.
Previously, spider structures would seemingly vanish for no reason if the room was heated to be greater than 300 but less than 350, as the spiders would not be able to tell that it was too hot. Now, if the structures are taking damage, spiders will also be taking damage, so understanding what's going on should be easier now.
Pushing spiders into a corner by running into them was not a fun tactic to deal with as a spider and didn't make much sense seeing how big the spiders are.
Changelog
cl
add: Spiders can now be caught on fire
add: Spiders take significant damage from fly swatters and stamina damage from pesticide
balance: Spiders have been re-balanced. Their toxins can no longer kill but they are not as susceptible to freezing
balance: General stats of spider broodmothers have been buffed with more health, damage, and faster web and egg placement
balance: Flesh spiders cannot regenerate whilst on fire
balance: Simplemobs change their internal temperature twice as fast
fix: Basic mobs no longer glitchily catch on fire.
/cl
* Spider Rebalance PR: Burn Baby Burn Edition
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
* Micro-optimize RegisterSignal, saving 0.3s of init time (#69638)
About The Pull Request
Caches some vars, merges some statements by abusing x = y returning y. Goes from .53ms per call to .45ms per call, saving over .3s of init time due to its call count.
* Micro-optimize RegisterSignal, saving 0.3s of init time
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Load circuit components from USB ports on demand, saving 0.5s of init time (0.7s on prod) (#69664)
We create 2,383 circuit components (on whatever map I was looking at on Sybil at the time, don't know) from USB ports every round, quite pricey. This makes them initialize once when a USB is first plugged in.
* Load circuit components from USB ports on demand, saving 0.5s of init time (0.7s on prod)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles (#69084)
* - Fixes storage mass transfer
- Brings some sanity to storage procs
- Implements a griddle feature that never was
* Uncomment this
* Right-click attack fix
* Scoop fix
* Smartfridges use silent
* Restores some lost checks
* Fixes storage implants
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles
* update modular
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Fixes monkey AI resist runtime (#69603)
"_queue_verb() returned false because it wasnt called from player input!"
was calling resist() which queues it as a player input.
* Fixes monkey AI resist runtime
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Monkeys won't stay in combat mode forever after getting pissed off anymore. (#69488)
Monkeys will now drop out of combat mode in the following situations
- They have no enemies
- They have enemies but the monkey can not target them because they are far away
- They have enemies but they are dead/disabled
* Monkeys won't stay in combat mode forever after getting pissed off anymore.
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
* Butchering requires you to be in combat mode. (#69510)
This was an oversight that occurred when intents were replaced with combat mode
if(user.a_intent != INTENT_HARM)
return
was never replaced by its combat mode equivalent.
This is relevant today because it makes it impossible to preform surgeries on dead monkeys (you will just butcher them)
* Butchering requires you to be in combat mode.
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
* The floor is lava admin/wizard event can be ignored by floating mobs (#69503)
Fix floor is lava requires gravity
* The floor is lava admin/wizard event can be ignored by floating mobs
Co-authored-by: Tim <timothymtorres@gmail.com>
* Make hulks orkier (#69469)
RED WUNZ GO FASTA
🆑oranges
balance: orks no longer shout their attacks over the radio
/🆑
* Make hulks orkier
Co-authored-by: oranges <email@oranges.net.nz>
* Fixes a spurious runtime off the drift component (#69345)
* Fixes a spurious runtime off the drift component
If a loop is made non active, then we end up allowing for double
applications of the component, which throws errors because the old
component (and it's loop) still exist by that point.
This resolves that
* Fixes a spurious runtime off the drift component
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Ports rideable pigs from Aether (With changes to make them basic mobs) (#69248)
Adds rideable pigs from aether(With changes to make them basic mobs)
Pigs now drop pork, and you can cook it into pork chops.
* Ports rideable pigs from Aether (With changes to make them basic mobs)
Co-authored-by: LukasBeedellCodestuff <92578337+LukasBeedellCodestuff@users.noreply.github.com>
* Adds Name to Combustible Turf Flooder Logging (#69346)
* Adds Name to Combustible Flooder Logging
Hey there,
Basically, these logging messsages operated off the name of the parent, which appeared to be a datum of some kind, which caused some null bullshit caused here:
Basically, instead of doing that, let's use the var we create earlier in this proc to actually give us a name. Great!
* actually let's add a period there
* Revert "actually let's add a period there"
This reverts commit 2a5f9e1b990e8105ae6a49ed979977153f6903e9.
* Adds Name to Combustible Turf Flooder Logging
Co-authored-by: san7890 <the@san7890.com>
* Fixes drones being shy of mobs they can't see! (#69385)
fix: Drones will no longer by shy when invisible mobs are around! (eg phased revenants, bloodcrawling slaughter demons, ect)
* Fixes drones being shy of mobs they can't see!
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Cleans up some admin tokens being fed to silicon logs (#69310)
* Cleans up some admin tokens being fed to silicon logs
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Makes `TRAIT_BOMBIMMUNE` a non-species trait (why was it a species trait no species used it whyyy) (#69313)
* Makes trait_bombimmune less dumb
* This cast is no longe necessary
* Makes `TRAIT_BOMBIMMUNE` a non-species trait (why was it a species trait no species used it whyyy)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* AI improvements regarding taming and riding! (#69247)
* Cow AI improvevments and fixes for tamability and riding, no longer allowing you to grab the cow you're riding, and stopping AI cows from moving while being ridden.
* AI improvements regarding taming and riding!
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Fixes Social Anxiety capitalization mid-sentence words (#69233)
Fixes social anxiety having auto-capitalization
* Fixes Social Anxiety capitalization mid-sentence words
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Small organ code clean up (#69123)
* Cleans up organ code, removing the EXTERNAL_ORGAN flag, as it can just simply use the external organ subtype instead
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@ users.noreply.github.com>
* Small organ code clean up
* Update taur_types.dm
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@ users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Fixes "My human left arm itches" message (#69213)
* Fixes "My Human Left arm itches"
* lets get this too
* Fixes "My human left arm itches" message
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Fixes runtime when ghosts examine artwork (#69200)
Fixed a runtime caused by ghosts examining artwork. Your ancestors will no longer be able to admire your crayon drawings, sorry.
* Fixes runtime when ghosts examine artwork
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>