* [READY] Space Ninja Rework (#53492)
* Automatic changelog compile [ci skip]
* Automatic changelog compile [ci skip]
* Revert "Automatic changelog compile [ci skip]"
This reverts commit 48a63defa644ec9826ee5eb1736e5158d2a636d4.
* Revert "Automatic changelog compile [ci skip]"
This reverts commit cb68f4988edd9d841c4203eecee2067a49ce75c5.
* Revert "Revert "Automatic changelog compile [ci skip]""
This reverts commit e6e1f1ef53ee6611c334efcae6ca7c102edaf351.
* Revert "Revert "Automatic changelog compile [ci skip]""
This reverts commit 1782210527b9819772c0781122bec35b7979bf7d.
* Update changelog.html
* Automatic changelog compile [ci skip]
* Automatic changelog compile [ci skip]
* Move suit_initialization into better location
* Clean up cost check
* Clean up net using
* Clean up Ninja Star
* Clean Up Ninja Stealth
* Clean Up Sword Recall
* Move the event file
* Re-Merge the Changes
* Get your ninja code out of my human.dm
* Move the event into events folder and clean it up
* Can the old space ninja antagonist file
* Roll in the shiny new bad boy
* Get rid of actions/ninja.dm and move its info into respective ability files
* Update one_click_antag with new ninja
* Move proc out of ninja code into proper location
* Update the dme properly this time
* Update code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm
Co-authored-by: Fikou <piotrbryla@ onet.pl>
* Update code/modules/ninja/suit/gloves.dm
Co-authored-by: Fikou <piotrbryla@ onet.pl>
* Update the antagonist file
* Update ninjaDrainAct
* Re-Add MGS Voice Lines
* Up the Katana Damage Back Up to 30
* Attempting a Risky Manuever
* Adjusting some numbers to fit the delta time PR
* Fix Var Names and do a return ..()
* Remove Unused Defines, Update qdels to QDEL_NULLs
* Update code/modules/antagonists/space_ninja/space_ninja.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/antagonists/space_ninja/space_ninja.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/events/space_ninja.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/ninja/energy_katana.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/ninja/ninja_explosive.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Update code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Remove Unnecessary Condition Checks
* I'll show you what A stands for!
* Turn some things into defines
* Remove is_ninja()
* Gives the SN roles on Antag Gain, not on event spawn
* Clean up mind/key code to be efficient and modern
* Have Deactivated Suit Gloves use default black sprite
* Add the new clothing sprites
* Add new inventory sprites for alternate sprites
* Get Rid of These Again
* Re-add suit changes
* Implement all the suggestions for the antag file
* And then everything else
* Updating the Weight for purpose of testmerge
* Balance Updates
* Update the Objective Definitions
* Remove Now Unreachable Cyborg Interaction Code
* Get That Shit Out of My Forest
* Re-Add Cowl Wearing Sprite
* Re-Add Cowl Inventory Sprite
* Adapt to the new thing?.thing changes
* Re-add New Katana Inhand Sprites
* Re-Add glove's shock but have it do knockdown instead
* Get rid of the these stupid changelog changes
* Update sounds
* Re-add New Mask Sprite
* Re-update katana inventory sprite
* Revert Event Weight
* Update code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* Re-Add Dynamic Ninja
* Revert Changelog thing
* Update Mob Sprites
* Add files via upload
Co-authored-by: Changelogs <action@ github.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* [READY] Space Ninja Rework
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Changelogs <action@ github.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* Removes an event that no longer holds relevance. (#54759)
Would definitely like to see dead bounty code get cleaned, but this is a step in the right direction.
* Removes an event that no longer actually does anything.
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* SSeconomy/var/bank_accounts is now an association list of account identifiers and datums for O(1) performance (#54430)
Title. Also added some precautions to bank_account/new() and the crab17 gear.
The fact the majority of functions pertinent to the bank_accounts list was O(n) disquieted me.
* SSeconomy/var/bank_accounts is now an association list of account identifiers and datums for O(1) performance
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Re-enables ghost role events (#54307)
Basically, a messed-up bitflag check has been stopping all event ghostroles from spawning for the last two months (outside of dynamic mode).
* Re-enables ghost role events
Co-authored-by: Yenwodyah <yenwodyah@gmail.com>
* Crystal invasion no longer random event but delamination event (#53921)
This PR makes the crystal invasion event a delamination event only, so no more random events (can still be admin triggered).
The chance for the delamination to trigger the event depends on the power of the SM, the closer it is to the tesla delamination (near 5000) the higher the chance.
* Crystal invasion no longer random event but delamination event
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Merge pull request #53937 from Rohesie/damage
Turns simple mob vars into string lists and fixes string assoc lists
* Turns simple mob vars into string lists and fixes string assoc lists
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
* Reimagines Venus Human Traps (#53880)
Venus human traps now have a new sprite, new sprite for their bud, new sprite for their vines, their bud has icons according to how grown it is, they get sounds for hitting, getting hit, and dying.
oh yeah and I renamed the path flower_bud_enemy >flower_bud
* Reimagines Venus Human Traps
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
* Enforce preserving parent proc return values across ui_act call stacks
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Fully removes devil and affiliated shitcode (#53612)
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
* Fully removes devil and affiliated shitcode
* weh
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Fix two gas assertion runtimes (#53718)
/datum/gas_mixture/proc/remove(amount) has a code path that can return null.
All the code following the runtimes assume some bit of gas_mixture was actually removed at all. No need to trigger this code if there's no gas_mixture removed, can early return instead.
* Fix two gas assertion runtimes
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Again crystal invasion fix, why edition (+ balancing because why not) (#53559)
* In the jungle, the mighty jungle the lion sleeps tonight
* AHHHHHH
* fix on the define
* even better define
* changes
* better define measurements and use
* better define name
* Again crystal invasion fix, why edition (+ balancing because why not)
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Fixes shuttle catastrophe triggering when Build Your Own Shuttle kit purchased and ghosting people (#53532)
The Shuttle Catastrophe event now checks for the /obj/docking_port/mobile/emergency/shuttle_build subtype rather than checking for a specific mobile docking port name when checking to see if it should spawn. This should keep Shuttle Catastrophe from triggering when Build Your Own Shuttle has been purchased and ghosting/qdeling everyone and everything onboard.
* Fixes shuttle catastrophe triggering when Build Your Own Shuttle kit has been purchased
Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* 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
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities
Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
* Fixes the arena shuttle (#53458)
This splits the actual arena of the arena shuttle into its own map file that is loaded onto it's own z-level. The old method of including a non-shuttle area in the shuttle map file doesn't work with the current shuttle loader. It also fixes shuttles being loaded twice when purchased which created problems with landmarks being left behind in the reserved z-level.
* Fixes the arena shuttle
Co-authored-by: YPOQ <30683121+YPOQ@users.noreply.github.com>
* crystal invasion balancing and fixes (Now with extra rework!) (#53399)
Refractored code so that the more_portals() proc gets called by the event instead of a CALLBACK
Balanced mobs spawn from portal and how much damage they deal
Fixed grammar stuff on crystal consume announcement
Ligthing aoe projectile now have a no_stun version for the boss rank
Lowered time needed to use the crystal stabilizer to 7 second total
Crystal mobs have TRAIT_TESLA_SHOCKIMMUNE to prevent boss from hurting himself and the other crystal mobs
Added check at start of event for presence of the supermatter crystal
New: Revamped event a bit, now instead of random portal appearing a random, there will be from 2 to 5 main portals and around those 6 more portals will appear; after that centcomm will announce the position of those new portals. Now the players will have to close those main portals before being able to stabilize the crystal because there will be a shield around it powered by those portals. Everything else will be the same (like how to close the portals and stabilize the crystal)
* crystal invasion balancing and fixes (Now with extra rework!)
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* ZK-Lambda-Class Remade (#52941)
This PR adds the crystal invasion event, a new event involving the Supermatter and the monsters from within.
When the event starts there will be a message from centcomm announcing it, then the supermatter explode leaving a destabilized crystal that emits radiations and harmful gases; after a bit portals will spawn around the station, that will produce a number of monsters each. there are 4 types of waves and 4 types of portals
The waves are: Small, Medium, Big, Huge (each have different kind of portals that can spawn and different amounts too)
The portals are the same types of the waves, they differ from each other for the number of monsters that can spawn and the kind of monsters that can spawn (bigger portals spawn stronger monsters)
To end the event the players should stabilize the crystal by destroying the portals (for now are indestructible and they are disabled by using an anomaly neutralizer, might change that) and collecting otherworld crystals; then those crystals are to be put in the crystal stabilizer, an item unlockable in the tech tree. After this just inject the destabilized crystal with it and the remaining portals will close on their own (the spawned monsters will still remain tho so you have to slay them)
All the numbers are mostly eyeballed and could change if requested/with feedbacks
* ZK-Lambda-Class Remade
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is
Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
* makes some events only work on crewmembers, and some not work on centcom (#52966)
brain trauma, fake virus, and heart attack only work on crewmembers.
mass hallucination and appendicitis don't give the effect/pick to people on centcom, respectively
* makes some events only work on crewmembers, and some not work on centcom
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* fixes shuttle catastrophe working when shuttle docked or is flying to centcom (#53139)
* fixes shuttle catastrophe working when shuttle docked or is flying to centcom
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Arconomy Balance Pass 2: Market Tendency (#52974)
Price inflation is now based upon averages, and is now uncapped from 5.
Civilian budget is no longer the worst budget to pay out from.
Medical Civilian bounties are no longer chees-able in seconds.
* I'll pick this up later because it's going to need a UI with keyed lists
* Updated market crash and average inflation values.
* Alright, I'm confident now.
* Make the market crash end at the beginning of the event end
* And on the 2nd day, the lord spoke, "Compile"
* Division by zero protection.
* That should have been a max, smhing my smhead
* Arconomy Balance Pass 2: Market Tendency
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* New Event: Shuttle Catastrophe (#53003)
The shuttle runs into some kind of horrible event, and is no longer servicable. The station is given a new one!
* New Event: Shuttle Catastrophe
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Fixes space vine/kudzu aggressive spread friendly fire and replaces ex_act (#52650)
* Fix spacevine friendly fire and replace explosions
* Newline at end of file
* Moved var into for, replaced silly range 0, added autodoc, changed comment
* Removed accidental parentheses
* Travis rebuild, and minor fix
* Travis rebuild
* New Travis rebuild attempt
* Changed to playsound(M
* Fixes space vine/kudzu aggressive spread friendly fire and replaces ex_act
Co-authored-by: Angust <46400996+Angustmeta@users.noreply.github.com>
* Fixes nations and banners not using global job lists (#52763)
* Fixes nations and banners not using global job lists
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Immovable rods penetrate harder and show ghosts how many clongs they've racked up (#52671)
* CLONG
* Update immovable_rod.dm
* Immovable rods penetrate harder and show ghosts how many clongs they've racked up
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
Moved their definitions to colors.dm
Made white the default color. It was so already, but that was very obscured.
Moved the atom light-related variables to the atom definition.
Wrapped changes to variables such as light_color into procs that report the event through signals.
Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
Cleaned up a little bit of code in where new variables were defined before redefinitions.
This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.
There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
* Color standardization, vars moved, and signals
Co-authored-by: Rohesie <rohesie@gmail.com>
* Cleans up some unused procs and makes is_blocked_turf a turf proc. (#52482)
* Cleans up some unused procs and makes is_blocked_turf a turf proc.
* Update code/game/turfs/turf.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* Cleans up some unused procs and makes is_blocked_turf a turf proc.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* Fixes completing a bounty and not getting paid.
* Oh right that thing that I didn't commit
* Cleans up the parenthesis in the proc.
* Linter BEGONE
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>