* Major egg rework. Pavlova edition (#59933)
* I'm getting closer
* ree
* Update food_mixtures.dm
* FOrgot this
* almost there
* yeeeeeeeeees
* oops
* Update food_mixtures.dm
* Update cake.dm
* Update cake.dm
* Ath fixes
* Why did I type 8
* yolk nutriment + whipped cream nutriment
* Oranges found where I live, there is a gun against my head.
* Update code/modules/reagents/chemistry/machinery/reagentgrinder.dm
Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>
* Update code/game/objects/items/food/cake.dm
Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>
* I'll just warn you now. I don't know how to use a computer
* Local Australian has a very small brain.
Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>
* Major egg rework. Pavlova edition
Co-authored-by: carshalash <carshalash@gmail.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>
* Fix some station name html encoding for plaintext handlers (#60021)
* fix (double) encoding
* tfw no server friends and no send2sameserver
* Fix some station name html encoding for plaintext handlers
Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
* Makes mutant bodyparts and mutcolors into editable genetic traits (plus a whole shitload of otherwise out of scope code improvements because I just HAD to touch old code)
* Mirror
* genetically-editable mutant bodyparts and colors - skyrat edition
Co-authored-by: Funce <funce.973@gmail.com>
* Rework C4 suicide phrases to be on the antagonist datum; add more phrases (#60029)
Fun fact. Did you know the C4 has special suicideverb phrases for most antagonists? That is, most antagonists. This adds a bunch in because someone noticed Heretic didn't have one special, and I noted quite a few minor antagonists didn't either.
The suicide cry phrases are now on the antag datum instead of in the if/else chain.
* C4 suicide phrases, but it's on the datum now
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* switchblade can now be used to butcher and slice necks, icon updates when you toggle it on (#59990)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* switchblade can now be used to butcher and slice necks, icon updates when you toggle it on
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Allows the detective's and nuke op's holsters to be placed in the suit storage slot of armor vests (#59976)
* single line change that will break everything
* now they work even better
* Trailing comma
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Allows the detective's and nuke op's holsters to be placed in the suit storage slot of armor vests
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes a runtime and refactors suit jetpacks a bit (#59922)
* Fixes a runtime and refactors suit jetpacks a bit
Co-authored-by: Rohesie <rohesie@gmail.com>
* New contraband peanuts (#59638)
Adds a new variety of peanuts to Getmore
Tweaks peanuts to have a higher price, since they're currently the best thing to buy in the vendor.
* New contraband peanuts
Co-authored-by: YakumoChen <king_yoshi42@yahoo.com>
* Allows Bananas to be holstered (#59917)
Clowntectives can now comically whip out their trusty potassium pistol to brutally feed mimes to death. Or sneak into the detective's office and replace their actual gun with a banana.
Get it, because I call you guys the banana bros all the time?
* Allows Bananas to be holstered
Co-authored-by: death and coding <58394696+thestubborn@users.noreply.github.com>
* PDAs now include round time (#59957)
Part of my document on duplicating verb panel functionality so at some point in the far, far future we may be rid of it. you can read more here.
hackmd.io/tJ5H3opRQiG1GCN1sP142w
The other thing the status panel needs to do is send time dilation to the tgui chat. Having messed around with tgui chat, I am very confident i'm going to need stylemistake or mothblocks help me out with that one, it's so beyond my level it isn't even funny.
I know this is a VERY long description for a very small change but expect more of this in the future
* PDAs now include round time
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Reverts Entered() passing dir instead of old loc (#59910)
* Reverts Entered() passing dir instead of old loc
Co-authored-by: Rohesie <rohesie@gmail.com>
* Change uplink implants to inherit the uplink flags of the uplink they were bought from (#59735)
Uplinks implants bought from uplinks inherit the uplink flags of the uplink they were bought from.
This fixes an undocumented bug where by purchasing an uplink implant, nuke ops would be able to get things they normally can't.
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@ users.noreply.github.com>
* Uplink implants now inherit the uplink flags of the uplink they were bought from
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@ users.noreply.github.com>
* Changes how weather sends sound to players, reduces sound loop overtime (#59284)
* Converts looping sounds from a list of play locations to just the one
* Updates all uses of looping sounds to match the new arg
* Adds an area based sound manager that hooks into looping sounds to drive the actual audio. I'll be using this to redo how weather effects handle sound
* Some structrual stuff to make everything else smoother
Timers now properly return the time left for client based timers
Weather sends global signals when it starts/stops
Looping sounds now use their timerid var for all their sound related timers, not just the main loop
* This is the painful part
Adds an area sound manager component, it handles the logic of moving into new areas potentially creating new
sound loops. We do some extra work to prevent stacking sound loops.
Adds an ash storm listener element that adds a tailored area sound manager to clients on the lavaland z level.
It's removed on logout.
Adds the ash_storm_sounds assoc list, a reference to this is passed into area sound managers, and it's modified
in a manner that doesn't break the reference in ash_storm (This is what I hate)
* Hooks ash storm listener into cliented mobs and possessed objects
* Documents the odd ref stuff, adds an ignore start var to looping sounds, fixes some errors and lint issues
* Applies kyler's review
banging
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Cleans up some var names, reduces the amount of looping we do in some areas
* Makes the code compile, redoes the movement listener to be more general
* fuck
* We don't need to detach on del if we're just removing signals on detach
* Should? work
* if(direct) memes
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Changes how weather sends sound to players, reduces sound loop overtime
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Enhances AI law and borg logging (#59684)
Persistent logging for sometimes disputed actions
The "impacted cyborgs" is useful for reconstructing which borgs were synced to an AI at what time, which sometimes may not be clear from logs
* Enhances AI law and borg logging
Co-authored-by: bloons3 <bloons3@users.noreply.github.com>
* Fixes relic war hammer typepath (#59880)
This PR fixes a typepath mismatch - /obj/item/nullrod/hammmer and /obj/item/nullrod/hammer, which are supposed to be one item. This mismatch caused relic war hammer not to be able to do kneejerk action, and it also meant that one duplicate nullrod item was showing in the radial menu for the null rod reskin variant selection.
* Fixes relic war hammer typepath
* Update belts.dm
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Make transit tube dispenser stations buildable (#59852)
Dispenser stations had some sprite issues due to using wrong icon states and having wrong orientation for flipped versions.
This PR fixes the issues and adds them to the RPD.
I can remove them from RPD construction if you don't want them to be constructible - this was the main motivation for implementing the changes in a downstream.
* Make transit tube dispenser stations buildable
Co-authored-by: KubeRoot <kubinator4321@gmail.com>
* Fix hand teleporter and other portals looping forever (#59894)
Makes portals use Bumped() instead of COMSIG_ATOM_ENTERED for detecting atoms crossing the event horizon.
Removes unused and potential loop causing forceMove argument from do_teleport()
* Fix hand teleporter and other portals looping forever
Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
* Slightly buffs knife wounds, slightly nerfs scalpel wounds (#59848)
Recently it came to my attention that knives are actually really bad at causing slashing wounds, while the scalpel is probably a little too good at causing them, even through armor. So, here's what this PR does:
Knives in general are more effective at causing slash wounds, especially if the target has no armor/clothing on that limb. The butcher's cleaver in particular is now equally as effective as a circular saw.
Scalpels are a bit less effective at causing slash wounds against armor/clothing, though they're still extremely good at cutting, especially against exposed flesh.
With these stats, knives will be more effective against unarmored targets, and can actually be counted on to draw blood when needed.
* Slightly buffs knife wounds, slightly nerfs scalpel wounds
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Adds Spaceship turfs (First iteration)
* Moves VG decals icons into turf/decals
* GPS Computer
Literally the survival pod one re-textured to work with any wall. Good for ruins
* Fluff/machinery
just read the fluff file ffs
* Hardspace Maps
yes they're based on HS:SB. They turned out well ok
* these arent even complete but im commiting
* hbg
* New sound for AI node, wall fixes
* pre-loaded tape go brrrr
poggers
* tweaks ai node values + ghostship loot
hh
* remove two unused files, move salvagepost ID
* craftable spaceship walls (hopefully) and le cool pre-recorded tape
* properly makes spaceshipshiz craftable/placeable
* adds totally-cool sprites for the spaceship stacks :)
they arent codersprites i worked hard on them :)
* salvagepost loot and anchoring
* adds juicy ai node sprite
thamk u hay, sorry i couldnt use the big icon im not good coder :(
* replace on-turf lattices with the decal version
* oops adds the gps computer to the generic spaceruin signal
* Adds a kneecapping element and adds that very element to baseball bats.
* Update signals.dm
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fix missing SIGNAL_HANDLER (#59826)
Adds SIGNAL_HANDLER to everywhere that didn't have it that was picked up by dm-lua, which is now ready enough to catch these.
* Fix missing SIGNAL_HANDLER
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Modifies right click logic so that it is not the same priority as modifier keys. (#59656)
Strips out the existing right click code - Due to the myriad of ways right clicking has been implemented, dedicated signals and procs for right clicking without modifiers are fundamentally incompatible with our system of primary and secondary attacks.
Adds additional signals to attacking code. These signals allow atoms to cancel the attack chain early on secondary attacks, or override the standard procs and not send signals to prevent any undesired behaviour from signal handlers.
Items that used RightClick procs have been converted to attack_hand_secondary.
The slaughter demon, having its own set of snowflake code as poor OOP principles have been applied in UnarmedAttack() procs with lacking calls to parent procs and arbitrary redefinition of behaviour, checks for a right click in its own UnarmedAttack() and performs a bodyslam off that.
Storage components now hijack the secondary attackby stage via signals to handle their opening and closing shortcuts on right click. When you right click a storage component equipped item with an object in your active hand, the object has an opportunity to perform its logic in pre secondary attack code and cancel the attack chain. If it does not cancel the attack chain in pre-attack, then the storage component takes over for attackby and, if possible, opens the relevant inventory and ends the attack chain.
The forensic scanner is a proof-of-concept of this working in action. With its scan logic moved from afterattack code to pre attack code for right clicking, right clicking with the scanner will now perform a scan where previously one was impossible. Left clicking still does what it always does - Scans at the very end of the attack chain.
The logic still isn't perfect - For example, you still can't attack containers in melee even in combat mode (you'll either open them or put your weapon into them regardless of which option you choose) - But this is a better setup overall which allows for items to at least override this behaviour in pre-attack if needed.
* Modifies right click logic so that it is not the same priority as modifier keys.
* a
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Foodtype update (#59783)
After eating a burrito and noticing the odd addition of the meat taste, I took a dive into the food folder and it hurt my poor fragile brain. I gave a lot of things updated tags or tastes. I think I got most of it.
* Foodtype update
Co-authored-by: carshalash <carshalash@gmail.com>