stacks to a slot, since stacks will commonly self delete, even if you add them to different slots. This is
because stack code does not respect slots, and I can't figure out a good way to fix that outside of this.
Also fixes like, a 2% chance unit test failure caused by a mob spawner that has a low percent chance to spawn a
miner with cash in both pockets. I hate god.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fix fire being extinguished by pAIs, borgs, and simple animals
* Add trait TRAIT_NOFIRE_SPREAD
* Add NOFIRE_SPREAD traits to simple and silicon mob types
* Refactor spreadFire proc to use check TRAIT_NOFIRE_SPREAD
Co-authored-by: Tim <timothymtorres@gmail.com>
* Refactors connect_loc_behalf into a component (#60678)
See title. Also refactors caltrops into a component because they use connect_loc_behalf which requires them to hold the state.
This also fixes COMPONENT_DUPE_SELECTIVE from just outright not working.
connect_loc_behalf doesn't make sense as an element because it tries to hold states. There is also no way to maintain current behaviour and not have the states that it needs.
Due to the fact that it tries to hold states, it means the code itself is a lot more buggy because it's a lot harder to successfully manage these states without runtimes or bugs.
On metastation, there is only 2519 connect_loc_behalf components at roundstart. MrStonedOne has told me that datums take up this much space:
image
If we do the (oversimplified) math, there are only ever 5 variables that'll likely be changed on most connect_loc_behalf components at runtime:
connections,
tracked,
signal_atom,
parent,
signal_procs
This means that on metastation at roundstart, we take up this amount: (24 + 16 * 5) * 2519 = 261.97600 kilobytes
This is not really significant and the benefits of moving this to a component greatly outweighs the memory cost.
(Basically the memory cost is outweighed by the maint cost of tracking down issues with the thing. It's too buggy to be viable longterm basically)
* Update glass.dm
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Del The World: Unit testing for hard deletes (#59612)
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Del The World: Unit testing for hard deletes
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Drugs of the 26th century. Three new hella rad drugs, one less lame drug and more!
* Update traits.dm
* Update maint_loot_trash.dm
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* AAAAAAAAAAA
* pollution scrubbbies
* fires cause smoke, right? Also NSS journey has scrubbies
* washing things removes the smell!
* what the fuck were you doing last night
* Update temporary_pollution_emission_component.dm
* space turfs shouldn't have pollution
* Fix air now fixes smoke
* Update pollution.dm
* Update pollution.dm
* Update bonfire.dm
* initial
* whoops
* more fixes
* forgot
* frick
* oop
* minor visual fixes
* cleared out-of-date stuff that was asimilated by erp update. ye, sry for that but useroth said i can if i need to
* interface fixes + cleaned trash.
* fixesss
* more fixes
* other interface fix and im dumb
* text and fonts fixes
* mapfixes
* small item fix
* floppa my beloved
* fixme
* yepp
* little addition to vibrator
* more user friendly toys
* hotfix because im dumb
* informing user about stuff happening in their genitals
* Fixed strip menu for new slots
* Vibrating toys now makes constant vibration sounds.
* fucking ton of fixes, i debugged so much stuff i want to die when did i slept last time
* signal vibrator fixes
* i guess its all bugs for now, need testing
* hotfix
* chemicals fixed. other dumb bug fixed too
* feex
* undo
* aight, some text stuff
* repsrited signal vibrator, fixed some dumb bugs. Almost ready for tommorrow pr.
* tried to fix things, need to test
* fixed?
* maybe now its fixed
* we finished here.
* yeah, credits. I forgot them.
* Oh well, resolved the conflict wrong.
* map fixed
* formatting test
* more linter stuff
* did changed that skyrat asked me to
* kinda fixed more stuff
* remove mapchanges
* no magic like kat magic
* please
* further mapchanges removal
* fix
* little fix, because one map supposed to be changed.
* quick structure fixes + balance stuff
* some fixes. remind - fix worn tomorrow.
* ah fuck it, i fixed it now. Who need sleep anyway?
* furnitures are no longer invuln
* fixes poles
* milking machine uses cuffs instead
* makes stuff uses cuffs
* frick
* fix lints
* stuffe
* line
* Forgot to add this little feature
* OKAY FINE I GUESS 10 MINUTES IS TOO MUCH.
* squashed bugs
* minor fix to prevent visual bugs with pillow piles.
* frick
* removed logging
* pref for toys
* tabs
* suggested idea added
* hot fix
* Revert "suggested idea added"
This reverts commit 33796f0abb896b83d02dbefee4e3b62df5f6a5db.
* Revert "hot fix"
This reverts commit bf0bc6330f5897ce2d67bb9571eb818d3a64325b.
* fuck the suggestions, i just want it to work fine
* fuck the suggestions, i just want it to work fine
* truly fixes lints
* balance tweaks + fleshlight fixed
* more balance tweaks
* gasmask fixes. Now it doesn't kill people but still makes them suffer
* fix ball mittens
* dead people tell no tales
* some minor fixes
* grammars
* add messages
* use a new pref
* simple check
* knock-knock. Who? A fix.
* fuck
* fixes vibrators
* hexacrocin now can be cured properly
* fix x_stand
* frick
* FUCK
* fixes everyonr being horny
* fixes pain
* fixes strapon
* stop process
* nymphomania fixed
* fix spam
* fixed heels and quirks
* Dead people shouldn't cum
* Knock-knock. A penis enlarger fix
* use the traits goddamn it
* Nymphomania fix
* Fucking moths can't now chomp vibrators
* Added yes/no check to climax button, also some improvements and multiple messages bugfix
* milking machine balance tweaks, bimbo trauma fix
* milking machine construction messages added
* some fixes
* Revert "Fucking moths can't now chomp vibrators"
This reverts commit 2bf37ca3b0b98c3bbd7bf35626faa7a0be54fcfb.
* little clean up of code, but it still doesn't works properly
* fuck the moths. You can't eat vibrators once more.
* catsuit bug fix
* balance tweaks
* Pillows now made of cloth, not metal.
* pillow fixes
* masochism quick fix
* dumb quickfix, it will break anything, don't panic
* yay now it works again
* nymphomania fix
* clean up
* half of ball mittens fix. For another half buy our DLC just for 2,99$!
* IM COOL I FIXED THE BALL MITTENS! FINALLY!
* prefs now works properly
* pain stuff fixed, i guess. no more arousal by decompression damage.
* lol how did i missed those
* can't buckle fucking cows to milker anymore
* oops
* me cool
* fixed small bug with pillows
* gasmask quick fix
* fix spam
* fixes strapon
* balance stuff.
* fix because im dumb
* fix
* the last fix for this codebomination. I hope this is it.
Co-authored-by: Katherine Kiefer <sterlite2902@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
* Removes Projectile Megafauna Cheesing (#60758)
Dead mobs are now dusted by colossus typed projectiles.
Colossus typed projectiles are always considered a direct target projectile now so you cannot lay down and ignore them anymore.
Wendigo and frost miner projectiles are now subtypes of this projectile type as well.
* Removes Projectile Megafauna Cheesing
Co-authored-by: Whoneedspacee <yougotreallyowned@gmail.com>
* swap bodypart species checking to bitmap, fix surgery for monkey body… (#60280)
* swap bodypart species checking to bitmap, fix surgery for monkey bodyparts on monkeys
* fix part_origin so it is used correctly
* remove tabs, change DEFAULT_BODY to NULL_BODY
* add requested documentation
Co-authored-by: whitecas18 <whitecas18@ students.ecu.edu>
* swap bodypart species checking to bitmap, fix surgery for monkey body…
Co-authored-by: ArchPigeon <bookmaster3@gmail.com>
Co-authored-by: whitecas18 <whitecas18@ students.ecu.edu>
* Fix polymorph behavior for pAIs and mimics (#60502)
This fixes#58258. Basically anytime a pAI holoform gets shot with a staff of changing or polymorph item it would change their mob type. This allowed ghost roles infinite respawns since the pAI card is not destroyed when it gets polymorphed. An unlimited army can be created with no downsides since you can keep bringing people back to life with the pAI requests.
I also went and fixed another strange behavior with polymorph, where if you used a staff of animate on an object, you could turn around and then polymorph the object into a mob. The animate magic is supposed to wear off the object after a certain while so I made the mimic immune to polymorph effects.
* Fix polymorph behavior for pAIs and mimics
Co-authored-by: Tim <timothymtorres@gmail.com>
* Thrownthing datum refactor: you can now throw stuff at mobs lying on the floor. (#60604)
* Thrownthing datum refactor: you can now throw stuff at mobs lying on the floor.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Monkeys can now retaliate against xenomorph and animal attacks. (#60157)
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Monkeys can now retaliate against xenomorph and animal attacks.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Makes shaking smoother, makes close range explosions more shakey (#60314)
* Makes camera shaking more smooth
Makes shake_camera use more then instant steps for its animates. The concept is to not respect duration quite so
strictly. So instead of instantly moving, we get the distance to travel, pick the lower of the two numbers to
preserve some jerk, and multiply it by tile size * 0.7. So effectively 0.7 ticks per tile. I've found this works
reasonably well for making shaking events look less shit, though there is room to make it a preference option in
future, since this number could go between 0 for the old behavior, and say 5 for slow but not say, visually
hasurdus speeds.
* Makes large close range explosions shake more then far out ones
The old system for calculating explosion shake was sqrt(delta/10) when the delta could really only ever go up to
like 20. So it maxed out at 1.3 or so, which doesn't really fit being hit directly by a bomb. I hate old coders.
I'm changing the fomula to sqrt(range/(dist + 1)), which works out to roughly 4.5 at 20 near_distance, which is
a maxcap. Scales reasonably fast, 4 tiles or so, so this primarially effects getting hit full on with a big
bomb
* Makes shaking smoother, makes close range explosions more shakey
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Adds sounds and animations for attacking a disembodied brain (#60489)
* Adds sounds and animations for attacking a disembodied brain
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>