* Meat-hooks and changeling tentacle's firing pins are no longer visable (#60455)
Adds a Boolean to mark guns as "pinless" so they don't care about or show firing pins
* Meat-hooks and changeling tentacle's firing pins are no longer visable
* Update gun.dm
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Corrects the grammar of spectral blade ghost notifications (#60189)
Uses src.name instead of src in the spectral blade's ghost notifications so that you see "his/her/their spectral blade" instead of "his/her/their the spectral blade".
* Corrects the grammar of spectral blade ghost notifications
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* OH BOY
* Not even dying harder than possible will save you from being revived.
* weh
* more improvements
* more fixes and improvements
* adds le vendor options
* Adds cortical stacks to cargo
* aaaa
* syndie cortical
* oops
* DELACE MACHINE GOES BRRT
* Are you a believer?
* buffs cortical stack remover on traitors
* Update code/game/objects/items/devices/scanners.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update code/modules/mining/machine_vending.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update code/game/objects/items/devices/scanners.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update code/modules/mob/living/carbon/death.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update modular_skyrat/modules/neural-lacing/code/delacer.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update modular_skyrat/modules/neural-lacing/code/implanter.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update modular_skyrat/modules/neural-lacing/code/stack.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update modular_skyrat/modules/neural-lacing/code/stack.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update modular_skyrat/modules/neural-lacing/code/stack.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update modular_skyrat/modules/neural-lacing/code/stack.dm
Co-authored-by: Tom <tomforde4@gmail.com>
* Update delacer.dm
* aa
* a
* Update stack.dm
* weh
* More featureees
* Believer bundle
* i am deranged
* Update implanter.dm
Co-authored-by: Yawet330 <memeusniceus@gmail.com>
Co-authored-by: Tom <tomforde4@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
* makes a bunch of lists that use typecacheof() static. doesnt find out why its overtiming at all but what the hell it helps (#60147)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* makes a bunch of lists that use typecacheof() static. doesnt find out why its overtiming at all but what the hell it helps
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* hiero dash now doesnt work on blocked turfs (#59983)
* hierophant club dash now doesnt work on blocked turfs
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Reverts Entered() passing dir instead of old loc (#59910)
* Reverts Entered() passing dir instead of old loc
Co-authored-by: Rohesie <rohesie@gmail.com>
* Paradox bag resprite and rework (#59779)
Paradox bags can now be worn on the belt slot instead of the back, while being able to carry less (it can still fit inside bags).
Adds new sprites for the icon and belt.
* Paradox bag resprite and rework
Co-authored-by: Sheits <81964183+Sheits@users.noreply.github.com>
* Makes turfs persist their signals, uses this to optimize connect_loc (#59608)
* Makes turfs persist signals
* Splits connect_loc up into two elements, one for stuff that wishes to connect on behalf of something, and one for stuff that just wants to connect normally. Connecting on behalf of someone has a significant amount of overhead, so let's do this to keep things clear
* Converts all uses of connect_loc over to the new patterns
* Adds some comments, actually makes turfs persist signals
* There's no need to detach connect loc anymore, since all it does is unregister signals. Unregisters a signal from formorly decal'd turfs, and makes the changeturf signal persistance stuff actually work
* bro fuck documentation
* Changes from a var to a proc, prevents admemems and idiots
* Extra detail on why we do the copy post qdel
* Makes turfs persist their signals, uses this to optimize connect_loc
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
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
Co-authored-by: Rohesie <rohesie@gmail.com>
* During unit tests, does extra verification on text based overlays (#59553)
This makes it so during unit tests, adding a text based overlay to something will runtime if the icon does not have an icon state matching that text. I would do this during normal compiles as well but getting the icon states from an icon is surprisingly expensive.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
* During unit tests, does extra verification on text based overlays
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
* Adds Neon Carpet (#59140)
Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.
* 0
* A
* a
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Makes obj_integrity only updated through procs (#59474)
Having things updating integrity directly is just going to cause more problems down the line as more elements and components depend on being notified of integrity changes. It's an easy mistake to make so making it private should deal with the problem.
get_integrity() might be useful in the future but is mainly a side effect of making obj_integrity private as that also disallows reads.
* Makes obj_integrity private and only updated through procs
* Mirror!
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* use SIGNAL_HANDLER REEEEEE (#59242)
makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did
* USE SIGNAL_HANDLER REEEEEE
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882)
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more)
* AAAAAAAA
* Update spellbook.dm
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Gives botany plants a new formula for calculating bite size, fixes swallowing watermelons whole (#58795)
About The Pull Request
This PR gives botany plants a new formula for getting the size of their bites.
The formula is (potency / 20) * (max_volume / 100) * (modifier) + 1.
This brings your average 100 potency plant to a bite size of 6 units per bite. [(5 * 1 * 1) + 1] - For reference, a Tomato has 14 units of reagents with default genes at 100 potency, so this means a tomato is eaten in 3 bites.
This PR also goes through and audits all the plant's bite modifiers to bring them in line with the new formula. This makes the bite modifier actually a bite modifier instead of some weird constant var that lies about what it actually does.
Fixes#55527
Why It's Good For The Game
Currently, all plants are eaten in a single bite. Including watermelons and the dank weeds. This is bad.
image
This PR brings them all in line so you no longer swallow watermelons whole, so you stop accidentally getting fat.
I also audited all the plants so their relative bitesizes make sense with the new formula. Only apples and potatos are eaten in 1 bite. Plants with more reagents naturally should now have larger bitesizes, and plants with less reagents have smaller bitesizes. Balance is restored.
Changelog
🆑 Melbert
fix: You no longer eat all botany plants plants in 1 bite. Apples and Potatos retain their unique 1 bite behavior.
code: Botany plants use a new formula for calculating bite size. All botany plants have had their bite modifier adjusted to match.
/🆑
* Gives botany plants a new formula for calculating bite size, fixes swallowing watermelons whole
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc
* WHEW THAT WAS EASY
* Update ammo.dm
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor
- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.
* Miscellaneous changes
- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments
- Removes a whole bunch of argname = 0 in explosion calls.
* Removes named callback arguments.
* Changes the explosion signals to just use the arguments list
Adds a simple framework to let objects respond to explosions occurring inside of them.
Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.
Makes the explosive compressor and blastcannon actually use the TTVs they are given.
Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments
*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* makes the hook shotgun work on right click, adds new icons for it (#58270)
* makes the hook shotgun work on right click, adds new icons for it
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Remove the voodoo doll (#57780)
A clunky to use grief tool that is near exclusively used to just make
people say slurs and WGW and copypastas and rule breaking stuff and
yadda yadda.
* Remove the voodoo doll
* Update maint_loot_oddity.dm
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Full-Automatic Guns (#57084)
* fullauto component
* eh
* h
* brap
* it works!
* FUCK SHITUP
* dumbass
* l6
* oops
* GOD
* THE LAST 10% OF A PROJECT IS 90% OF THE WORK
* slopwer projecitles, replaces the tesla gun
* heavy
* minigun
* minigun stuff
* runtime fixes, pointer icon
* nuh uh
* makes modifeirs things
* nerf this
* yes
* aghh
* agh
* real high intensity changes here
Co-authored-by: Ryll-Ryll <3589655+Ryll-Ryll@ users.noreply.github.com>
* Full-Automatic Guns
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Ryll-Ryll <3589655+Ryll-Ryll@ users.noreply.github.com>
* Some explosions code cleanup (#57493)
Clears out two deprecated explosions systems (explosion ids and explosion levels)
Refactors a bunch of contents_explosions procs to be maybe slightly faster.
Cleans up a bunch of ex_act code.
Slightly cleaner code
A few less unused vars on /atom and /turf
* Some explosions code cleanup
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Tramstation: choo choo MORE MAP COMIN' THROUH
* Tramstation: Skyrat Edition (#4104)
* Decals Fixed
* Modularity? Whatever
* Fuck me if I need to make a second PR for this
* Blueshield + Cryo + Ian Fursuit
* Automatic changelog generation for PR #4104 [ci skip]
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: Cheshify <73589390+Cheshify@users.noreply.github.com>
* Bitflags urgent (cult cannot make runes/ build structures in maint, blobbo cant place core in library and few other spots) fix (#57393)
Co-authored-by: Stanisław <1haslo4@ gmail.com>
* Bitflags urgent (cult cannot make runes/ build structures in maint, blobbo cant place core in library and few other spots) fix
Co-authored-by: Sparkezel <53384660+Sparkezel@users.noreply.github.com>
Co-authored-by: Stanisław <1haslo4@ gmail.com>
* Hieroclub teleportation now uses do_teleport as it should. (#57431)
Hieroclub teleportation now respects unteleportable mobs such as anchored AIs and megafauna.
* Hieroclub teleportation now calls do_teleport() as it should be .
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes runtimes from firing projectiles, adds unit test for firing guns (#57345)
* Fixes runtimes from firing projectiles, adds unit test for firing guns
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Creates offstation variants of the protolathe and circuit imprinter for offstation and ghost roles. (#57367)
* Creates offstation variants of the protolathe and circuit imprinter for offstation and ghost roles.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* you must also roll..... (#57340)
Minebots treads now make noise as they move!
* Nanotrasen Minebots now also use the rolling robot footstep
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Survival capsules no longer get deleted when deployed at the edge of the map (#57215)
* Survival capsules no longer get deleted when deployed at the edge of the map
Co-authored-by: Dex <60656530+Ewwmewgewd@users.noreply.github.com>