This PR kills off the transforming subtype of /obj/item/melee and replaces it with a component to handle the transforming behavior, /datum/component/transforming.
The transforming component handles updating the variables of an item when it's transformed. Things like force, sharpness, whetstone force bonus, and attack verbs. Similar to the two-handed component, but instead of transforming into a two-hander it remains a one handed weapon.
The "nemesis" behavior (dealing addition damage to certain factions) of the transforming subtype was moved to the cleaving saw only, since it was the only transforming item that used it. In the future, this can be made into a bespoke element/component as well.
The following weapons and items have been updated to use this component:
Energy Swords / Sabers / Bananium Energy Sword
Energy Circular Saw
Energy Dagger
Energy Axe
Toy Energy Sword
Holographic Energy Sword
Switchblade
Advanced Medical Tools (Laser scalpel, Mechanical Pinches, Searing Tool)
Advanced Engineering Tools (Hand Drill, Jaws of Life / Syndicate Jaws of Life)
Combat Wrench
Cleaving Saw
Telescopic Batons / Contractor Batons
Roasting Stick
Telescopic Riot Shield
Energy Shield / Bananium Energy Shield
This PR also touches up the code around the various above items.
Repaths everything referring to "toxins" while actually meaning either the room in science or plasma gas. While this PR might be disrespectful to our forefathers, given this is (I believe) a holdover from as far back as the Exadv1 days, this has constantly irked me since I started working with the code. None of the player-facing stuff has referred to plasma as toxin since before 4407 hit, besides the Toxins Lab, and yet all of the type-paths are still pointing at toxins, making it a nightmare to search for in a map editor, and making the code needlessly easy to confuse with that of toxin damage. So this just fires it into the sun.
Anything relating to Toxins, the science subdepartment, now makes reference to Ordnance instead. This felt fitting enough given the focus of the subdepartment is around the creation of and testing of explosives.
Anything relating to plasma gas has, fittingly, been made to refer to plasma gas.
Edit: Ah yes, I feel I should probably apologise off the bat for the size of this PR- the code touched is mostly atmos machinery and simplemobs, a few sprites here and there, and of course the station maps + a few offstation maps.
Makes the code more legible and makes mapping less painful.
(The payment has been made)
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>
Simply puts species IDs into defines ("lizard" turns into #define SPECIES_LIZARD "lizard"). This does not affect any gameplay, and is purely for making sure future code doesn't go all fucked up because someone accidentally misspells something
I only changed code that was spelt correctly, so if there actually is a typo somewhere, it isn't changed
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.
Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.
(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
Removes all /datum/game_mode except dynamic. Eventually, all of mode and game_mode will be removed, and Dynamic will become an ingrained system. Every single other gamemode was unmaintained at best and poisoned other code at worst. Currently all tg servers run 24/7 Dynamic, so the time to act is now.
* Remove gamemode references from age checks
* Monkey
* Remove heretics
* Remove BBs
* Refactor uplinks and remove clown ops
* Remove nuke ops
* Removes and refactors cult
* Remove extended
* Remove and move out meteors
* Removes wizard
* Remove sandbox
* Remove changelings
* Remove traitors
* Remove revs
* Remove gangs
* Remove changing mode and voting for new gamemodes
* get_candidates signature fix
* Summon ERT and NERD in their own panel
* Remove some old unneeded age_check stuff
* Fix old signatures of get_uplink_items
* Use Extended like config for dynamic.json
* Fix discounted gear
* Gives the sniper rifle a suppressor overlay so that it no longer shows up as missing a sprite, also fixes donksoft pistols by repathing them from pistols over repathing them from toy saber smgs. Creates a flag for checking if a gun needs a toy overlay, so it is handled in the parent.
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm
We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.
There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.
Hi codeowners!
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
The m90 is now 14tc instead of 18. Its grenades can be bought from the uplink in boxes for 6tc, instead of individual grenades for 2tc each. You can also fire the m90's grenade launcher with right click.
Deathrattle implant, comes in box of 8, implant yourself and others, and
you'll get a little notification when they die.
Intended for nuke ops, price around the same as the codebook, since it's
a utility communication item, that actually "plans to fail", so it can't
be too expensive, because it doesn't help them win, just lets them know
how much they are losing by.
## About The Pull Request
What it says on the tin.
Practically everything but pistols, SMGs, and traitor weapons can no longer be stashed into bags.
I had considered making some large guns that traitors can order (like the blast cannon) also bulky, but concealment is important for some of those things.
However, the bulldog shotgun and sniper rifle have been made bulky, because they're shotguns and sniper rifles!
Traitor objectives are still normal size and can fit in backpacks.
## Why It's Good For The Game
Makes previous changes to weapons and thus balance consistent across our full list of guns. Players can clearly understand what can fit in the bag based on the size of the weapon.
## About The Pull Request
!!IDED TERRITORY YE HATH ENTERED THY SALT ZONE!!
Adds a 25 person purchasing limit to the Sleeping Carp scroll. This brings it in line with a other murderbone items like deswords.
## Why It's Good For The Game
As of late, I've noticed a trend on lowpop. Some will buy carp and kill the majority of the station, unable to be opposed as there are very few able to. This is unfun and I find it to be unbalanced, given how strong carp is in one-on-one engagements.
* 👛 Add "Implant" to list of uplink locations
🆑 coiax
add: You may now pick Implant as a preferred uplink location, meaning
that if you become a traitor, you will start with an uplink implant. The
cost of the implant (4 TC) is deducted from your total starting TC,
because the Syndicate doesn't give freebies.
fix: Admins removing an uplink from a person with an uplink implant will
now destroy the implant, rather than leaving an implant that does
nothing.
/🆑
If you are the sort of person who gets their PDA, pen and radio stolen
really easily, then maybe you'd be interested in just spawning with an
implant. Be warned, all of the 17-20 TC items will be out of reach
because of the implant cost.
Could be considered slightly more powerful than just ordering the
implant at shift start, given you don't have to get rid of an implanter
and suspicious box anymore.
When testing with the admin grant uplink buttons, I discovered that the
"Take" uplink option was only half working when taking the uplink from a
person with only an implant uplink. It would take the component, but not
the implant, leaving the person with a do-nothing action button. This
has been fixed.
* Add missing DEFINES
* Remove one layer of spaces
Will this sate the linting gods?
* Replace 20 default with TELECRYSTALS_DEFAULT
-Mechs are a vehicle subtype
-Mech equipment half-rewritten
-Mech actions completely redone
-Cooldown macros
-New movement macros & replacing all var in GLOB.diagonals with ISDIAGONALDIR(var)
-New lazylist macro
-Support for lavaland only mechs
-Removed the tank because fuck off with that hacky shit
-Documentation
-Fuckton of fixes
Adds a new engineer only traitor item, the disposable sentry gun deployment system. It's a red toolbox that works and functions as a normal toolbox, until you attack it on harm intent with a wrench. Upon bashing it with a wrench, the toolbox will transform into a ballistic sentry gun, theoretically shooting at your enemies, and not you. The turret only has 100 health however, so it will not last long to anyone with any weapon that can deal enough damage.
About The Pull Request
Adds a new traitor item exclusive to Heads of Personnel and Quartermasters that triggers a bureaucratic error
Why It's Good For The Game
Adds a new method for traitors to cause indirect havoc to the station at large
Changelog
cl
add: Added a new traitor item for HoP and QM, the OCD
/cl
About The Pull Request
Miners can no longer get meat hook from necropolis chest, it was moved to being a cook traitor item that costs 11tc. You know it is literally called meat hook, it is thematically better as a chef weapon.
Why It's Good For The Game
Why? just why? Who the fuck would give miners a weapon that is completely useless against lavaland mobs, but is incredibly good at killing people.
Changelog
cl
balance: Meat hook is now a 11tc cook traitor item. It can no longer be aquired from necropolis chests. sorry miners!
/cl
As heads of the science department and overseers of robotics, traitorous Research Directors can now order laser arm implants, an item previously exclusive to traitor roboticists.
*Why this is good for the game:*
Gives a hardly used items more chances to be used, removes exception to the rule of "traitor heads get their underling's selections too".
🆑 Iatots
rscadd: Traitorous research directors can now order the laser arm implant from their uplink, like roboticists.
/🆑
* github makes my brain hurt
i managed to completely fuck over the last branch
* gun inhands
please god travis dont fail
* just learn the recoil pattern like cs:go bro its not that hard
5 more spread
* wtf appveyor
capitalizes the magazine name to make appveyor run again
* those were, in fact, not the correct inhands
dont know how i fucked up the arg inhands, urg moment indeed
* Update code/modules/projectiles/boxes_magazines/external/smg.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* fixes a minor sprite fucky wucky
would have helped if i actually tested if the sprites work
Co-authored-by: Rohesie <rohesie@gmail.com>
* Case of lower
* More changes
* Ruins the nice 420 diff, brainfart when doing the second batch of conversions
* More changes
* Next batch. I think
* Converts even more paths
* Restarts bots
* Capital Free Zone
* Come on travis, do something
* Renames areas
* Bots, please stop dying
* Updates CONTRIBUTING.md and updates a few paths I missed.
* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.
* Fixes some comments
* Fixes map issue
* Restart lints
* Properly resolves conflicts
* overhauls the crap out of a lot of antag guns and their ammo
* Should probably shoot an additional bullet per squeeze at this point
* nyoops
* So travis will stop yelling at me for new lines
* Should be all I need to fix for maps
* Touches up the stechkin sprite again
* Increased the fire rate and spread of the APS and the spread of the m90, added additional magazine types for the APS and added incendiary mags into the Spetznaz bundle to retain the fire theme, added phasic m90 ammo that penetrates through all surfaces but does significantly less damage available to ops for 8 tc, tided up the code for the aps a little more and also it's sprite.
* fixes some stuff
* So travis will cease screaming
* Changed how the phasic bullets work to being closer to xray beams, added additional flags to allow the bullets to pass through structures and machinery
* Update code/game/machinery/_machinery.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/game/machinery/_machinery.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/game/machinery/doors/door.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/projectiles/boxes_magazines/external/pistol.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/game/objects/structures.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* updated the gun sprites a bit more
* Hopefully this fixes the conflicts?
* Update code/game/machinery/doors/door.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* More updating, fatter stechkin sprite
Co-authored-by: Rohesie <rohesie@gmail.com>