* Fixes modular computer runtimes
- Adds a proc to eat the source arg of the update icon signal.
* Fixes a couple things not passing the right args
- Fixes the alien leap hallucination passing a string as the first arg to updat_icon
- Fixes the roulette machine passing the payout as the first arg to update_icon.
moves ammo icons, projectile icons and hitscan effect icons to guns folder
renames projectile.dmi to ballistic.dmi so its less confusing
moves rcd ammo from ammo.dmi to tools.dmi with the rcd
- Makes `/mob/living/proc/Life` and most related procs use `delta_time`
- Procs that had snowflaked timing systems, such as breathing, addiction, and advanced diseases were left unchanged.
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
This PR adds station traits which are essentially small changes to a normal round that can be used to create small variations in how a round might play out, sometimes there might be only one, very simple trait, but you might have a round where they have a somewhat bigger impact, to make rounds feel slightly more different from each other.
The following traits have been added:
Positive:
Lucky winner - Free pizza and beer every 6-12 minutes
Galactic Grant - Larger starting funds for cargo
Premium internals boxes - emergency box has flare + radio as bonus
Bountiful bounties - Bounties pay 20% more
Strong supply lines - Imports 20% cheaper
Filled maint - More loot in maint
Fast shuttle - Cargo shuttle is faster
Free scarves - Free scarfs if a slot is free
Neutral:
Bananium shipment - Clown starts with 5 sheets of bananium (Neutral because this helps noone but the clown)
Unnatural atmosphere - Lava planet can get more restricted gasses
Unique AI - Random lawset at roundstart for AI
Ian adventure - Ian teleports to a random spot on the station
Glitched PDAs - PDA's have a different beep
Announcer intern - Changes the announcement messages to sound like they're from an intern at Centcom
Negative:
Carp infestation - Carp event is more common and can start earlier
Weak supply lines - Imports 20% more expensive
Blackout - Station lights are partially broken around the station
Empty maint - Less loot in maint
Overflow bureacracy mistake - Random overflow job (From a vetted list)
Late Arrivals - Everyone starts in arrivals
Random spawns - Random spawn location (by drop pod)
Slow shuttle - Cargo shuttle is slower
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
If `var/hallucination` was ever set to below 0, it would cause the
hallucination effects to never clear. Changes how hallucination is
decremented in carbons to avoid this from happening.
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
What it says on the tin really. If we want to be precise it changes how ambient sounds by giving areas an index define and then checks if they don't have a custom ambient sounds list if they don't then it applies the correct global list to ambientsounds
* Replaces some CANATMOSPASS calls with a new define that checks if the turfs are in each others atmos adjacent list, as that's the same info that they want.
* Process procs now properly use deltatime when implementing rates, timers and probabilities
* Review fixes
* Geiger counters cleanup
Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now
* Moved SS*_DT defines to subsystems.dm
* Rebase fix
* Redefined the SS*_DT defines to use the subsystem wait vars
* Implemented suggested changes by @AnturK
* Commented /datum/proc/process about the deltatime stuff
* Send delta_time as a process parameter instead of the defines
Also DTfied acid_processing
* Dtfied new acid component
* Change BYOND version to 513.1526
* Remove BSQL from docker image
* Add a docker publish action
* Add a docker test action
* Cleanup runtime icons
* Cleanup runtime sounds
* Correct docker workflow names
* Add Dockerfile as an appveyor cache dependency
* Fix build issues
* Copy all dlls
* No need for .dlls in docker
* Minor cleanups
* first-version
* let's do those recommendations first
* color moment
* reorganization, prefs
* certified layer moment
* virtual speakers BEGONNE
* remove naughty bits, better sizing
* gimme the message mode
* rename that pesky pref and hide chat bubbles
* exponential decay moment
* async moment
* fixes
* fixes
* the players have decided they don't want to hear themselves on radio
* Fix bug with holograms incorrectly rendering messages
* rohesie's suggestion
* Color tweaks
* hallucinating now shows message properly
* pref moment
* updates
* rohesie's suggestions
* fix moment number 5
* less smelly more epic
* unfix the fixes and refix them
* a conscious change
* return of the prefs
* Makes all CanPass procs call parent
* Makes CanPass more extendable and gives the mover a say in the matter
* Replace CanPass with CanAllowThrough to use the new system
Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`
* Simple optimization pass
* Nanotrasen fires the Wave Motion Gun at the Clock Cult
* Fixes a random changelog appearing from the reebe void.
* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.
* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.
* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron
* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
* Reverts italics-span back to no color.
* Cleans up many extra spaces and indents.
* Adds 'hear' span class.
* Replaces all 'italics' used in heard messages with 'hear'.
About The Pull Request
This PR ports Baystation color carps. In short, normal carps can now spawn in variety of colors,
This only affects normal carps, not special ones like magicarps or megacarps, these retain their own unique sprite. There are also some pretty rare color variant for carps and our friendly Syndicate carp Cayenne has increased chance to get it.
Why It's Good For The Game
Better aesthetics and immersion.
Changelog
cl
imageadd: Normal carps now spawn with a random color! There might even be some really rare color variant.. try asking Cayenne about it.
/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
cl actioninja\memager
refactor: Ballistic guns have been almost entirely reworked from a backend side. This primarily focused on moving as much as possible into the base ballistic gun and turning as many other guns into essentially varedits as possible.
add: Guns can now be racked. This is the default action unless the magazine is empty.
add: Guns now can have the magazine removed by clicking on them with an open hand while they are in hand.
tweak: Suppressors are now removed by alt clicking instead of clicking with an open hand
add: Guns now have various bolt types that all function a bit differently. Open bolts cannot have a bullet chambered with no mag, locking bolts lock back after running out of ammo, etc.
add: All ballistic gun sounds are controlled by variables instead of hardcoded usages.
tweak: The l6 LMG has a reworked control scheme. alt + click to open and close the cover, open hand to remove mag, place mag in by slapping them together, default action is rack.
tweak: Functionality that used to be snowflake code such as tactical reloads has been moved to the base gun, and can be toggled by variables.
refactor: All shotguns are now properly subpaths of the shotgun type. They still work the same.
imagedel: Gun sprites have been almost entirely overhauled to use overlays instead of states. This collapsed the L6 sprite from 20 sprites to 9 sprites to give an example.
soundadd: Remixed versions of the shotgun and base gun firesound
soundadd: New rifle firesound for l6 and moist nugget, new SMG fire sound, new sniper fire sound.
soundadd: Lots of new weapon operation sounds such as racking and bolts and the like.
imageadd: New sprites for the Riot Shotgun, Combat Shotgun, c20r, Deagle, m90, double barrel shotgun and 1911 by Memager.
imageadd: All gun sprites that were pointing to the left have been flipped to point to the right.
balance: Shotguns now can be pumped faster.
balance: Bulldog can now be tac reloaded
balance: Sawn off shotguns now have an accuracy penalty and recoil
/cl
* Passes thrownthing to hitby
* Items now also pass thrownthing
* No longer uses default arguments
Also fixes bananium shield
* Adds more arguments to hitby calls
* Standardises throw_impact
* Clears up some loose ends
* Adds back wacky comment
* Reinstates can_push=FALSE on bananium shield
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.
Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove
cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.