Commit Graph

1224 Commits

Author SHA1 Message Date
Qustinnus
707fc287b4 Replaces intents with combat mode (#56601)
About The Pull Request

This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:

    Disarm and Grab intents have been removed.
    Harm/Help is now combat mode, toggled by F or 4 by default
    The context/verb/popup menu now only works when you do shift+right-click
    Right click is now disarm, both in and out of combat mode.
    Grabbing is now on ctrl-click.
    If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)

Minor interaction changes:

Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game

Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.

As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.

As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.

In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.

The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog

cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
2021-02-04 16:37:32 +13:00
LemonInTheDark
9a47ed2d89 Fixes space vines dying instantly to gas movement (#56567)
I mistakenly copied over space vine code in #55604, and assumed that the default mutation had some sort of cutoff for heat. I was wrong.

Fixes #56552
2021-02-03 17:23:20 -05:00
tralezab
5d6f272077 Modernizes Admin Only Wizard Event, Department Revolt (#56061)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-01-26 03:36:19 -08:00
tralezab
c3d4797813 Improvements to Anon Names + Refactoring + Wizard Academy theme and event (#55935)
Co-authored-by: Rohesie <rohesie@gmail.com>
2021-01-23 12:11:22 -08:00
Mothblocks
a4c61a37ad [READY] A victory for revolutionaries will no longer end the round on dynamic, instead no new security and command will be allowed to join (#55956)
Currently, a victory for revoutionaries leads to the round abruptly ending on dynamic. This has been replaced by all revolutionaries being deconverted, and no new security or command positions being available.

Also attempts to unionize (pun intended) copy and paste code in the round start and late join revolutionary rulesets into being handled under the revolutionary team instead.
2021-01-12 01:52:40 +00:00
coiax
2fcc642c81 Tweak the RD's suplexing ability into a skillchip (#55870)
Although this doesn't change the power level of the Research Director,
it's important to rework "job title" checks into traits or something
similar.

Moving job title specific behaviour out of checks by job name and into
traits means there's more flexibility to trigger behaviour. If an admin
feels the station really needs the ability, they can var edit it in, or
spawn the chip.
2021-01-10 13:56:50 -03:00
LemonInTheDark
6d1cb94ffb LINDA Reforged (#55604)
Speeds up gas movement significantly
Documents the intent and finer details of the atmos system (Thanks dunc)
Fixes excited groups constantly rebuilding, this broke 4 years ago
Fixes superconductors just straight up not working
Allows turfs to sleep while inside an excited group
Adds a new subprocess to SSAir to support rebuilding in this state
Most heat based behavior no longer relies on being inside a fire
Adds a new element to support doing this cleanly
Adds a new subprocess to SSAir to support doing this while a turf is asleep
Refactors air_update_turf to allow for finer control
Makes apcs take damage in heat to prevent infinite plasma fire diffs
Cleans up immutable gas mixtures to make them work properly when the mix has gas in it
Planetary turfs no longer create a new copy of themselves each time they process. We instead use a global
immutable mix
Cleans up a typed for loop in reactions
Canisters will take damage from outside heat now
Speeds up excited group dismantle
Increases the superconductor threshold by 200k
Cleans up some roundstart ATs on some ruins
Uses /turf/open/var/excited to track if a turf is actively processing, preventing a |=
Prevents openspace from trying to melt
Tweaks a canister examine line
Makes planetary turfs reset to base when broken down as part of an excited group
Makes it impossible for planetary turfs to rebuild, just like space tiles
Fixes closed turfs not activating their replacement when destroyed by moving closed -> open turf activation to
the adjacent air subsystem. They were activating and then going back to sleep before adjacent air got a chance
to tick.
Fire alarms will trigger when the area gets too cold for humans
2021-01-08 08:14:08 +01:00
Qustinnus
79ed05edb4 Reworks the brand intelligence event with AI controller datums (#55778)
These felt like another good test-case for ai controllers that someone could easily grasp, this makes it so that we can use the actual vending machine instead of a fake mimic mob. In theory you could even still use the vending machine, if you like living on the edge ofcourse.

The vendors now try to move towards you, and try to dive on top of you to squish you.
2021-01-07 14:04:22 -08:00
spessbro
05fcf6a4d6 Export scanner doesn't need to link + old bounty code is gone (#55504)
Removes the Export scanner's need to link with a console and cleans up the old bounty code
2020-12-16 19:18:29 +00:00
Jared-Fogle
0a77d27a1b Replace direct poi_list manipulation with element (#55416)
Replaces GLOB.poi_list |= src and GLOB.poi_list -= src with an element that handles it directly.

More consistent code, especially when a lot of code couldn't decide how to add/remove (some |=, some -=, some .Remove, etc).
2020-12-10 23:30:25 +00:00
Qustinnus
f887155b27 Kills oldfood, Puts newfood on top. (#55160)
Slays the last of old-food, making new-food the new normal.

Co-authored-by: MrMelbert <kmelbert4@gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-04 00:11:47 -08:00
TiviPlus
0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Jared-Fogle
96597d3157 Remove duplicate definitions of /obj/effect/ex_act, explicitly noop it (#55076)
/obj/effect/ex_act had several different re-definitions to make it a noop. The original definition would randomly delete it, which is bad news when a lot of /obj/effects are just that--effects, that shouldn't be blown up.

The ones that actually do want to be blown up (like decals) already have their own implementations. The one in place was never ran, and nobody had problems with it.
2020-11-28 07:55:26 -03:00
Arkatos1
ead0e859db Merge type variable fixes and unit test (#55173)
This PR fixes a case where certain materials caused issues when working with stacking machines, because they did not have set merge_type from the get go, which meant that initial() of that variable returned null.

To clarify further - if /obj/item/stack does not have set merge_type, it is generated merge_type upon Initialize(), which is the same as its typepath. For example, currently /obj/item/stack/sheet/bluespace_crystal does not have any merge_type set, and it is given merge_type = /obj/item/stack/sheet/bluespace_crystal upon Initialize(). Each Initialize(). Again and again.

There are quite a bit of these cases in the codebase, especially if its some older code. I have gone through them and set all of them their set merge_type, which they would inevitably receive anyway upon initializing and it fixes a bug mentioned above.

To prevent this happening again, I have also included unit test to check if merge types are set for stacks, included exceptions are usually abstract paths like /obj/item/stack/sheet/mineral, which contains zero behavior on its own and does not spawn unless done via admin tools.
2020-11-26 21:05:52 -05:00
Fikou
c48c3d9716 shuttle catastrophe now cant trigger if it already happened (#55114)
Shuttle catastrophe now cant trigger if it already happened
2020-11-23 14:08:39 -08:00
Qustinnus
b713fa1bc3 moves misc food to newfood code (#54788)
misc food is now using newfood code
2020-11-18 12:20:47 -08:00
IndieanaJones
0279109cf9 Spider Rework (#54451)
Spider refactor and hostile animal stamina changes.
2020-11-10 15:31:08 +01:00
IndieanaJones
4f6190e289 [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>
2020-11-07 01:51:30 -05:00
skoglol
0634da526b Fixes various immovable rod bugs (#54770) 2020-11-04 00:09:16 -08:00
necromanceranne
078fbc6183 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.
2020-11-03 12:27:30 -08:00
LemonInTheDark
4431478361 [READY] Swarmer QOL and Balance Update (#54340)
* Really revert commit

* Now Undo the simple change

* Undo My Stupid yet again

* Undo my stupid yet again

* No

* And for the last time

* Update the Swarmer Mob

* Update Spawn Info with Accurate Information

* Update Swarmer Event

* Add Swarmers to Dynamic

* Fugg

* Fix Indentation

* FIX Indentation

* Add Newline
2020-11-02 16:09:17 -08:00
ShizCalev
74103482f0 Merge pull request #54661 from Dennok/patch-1
Fix shuttle_catastrophe shuttle replacing.
2020-11-02 11:35:38 -05:00
Ghilker
92e4e25328 new spritesss (#54528)
New sprites for the crystal invasion mobs
2020-10-28 16:12:02 -04:00
Dennok
67636df9c8 Fix shuttle_catastrophe shuttle replacing. 2020-10-28 08:11:47 +02:00
Ghom
8eb866fee3 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.
2020-10-18 20:47:06 -03:00
IndieanaJones
79e48f1676 Merge branch 'master' into swarmer_update 2020-10-15 15:15:35 -04:00
ZeWaka
9629feed35 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.
2020-10-13 16:43:53 -03:00
IndieanaJones
fa2eae6b44 Merge branch 'master' into swarmer_update 2020-10-13 15:23:23 -04:00
Yenwodyah
d016a49353 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).
2020-10-12 14:39:24 -03:00
IndieanaJones
2aa7ea16f6 Update Swarmer Event 2020-10-11 21:53:12 -04:00
IndieanaJones
2d03ef916c Space Dragon QOL and Additional Features (#54124)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-10-11 02:20:54 -07:00
Ghilker
1c6911cab3 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.
2020-10-01 06:32:54 +01:00
Qustinnus
eca964db35 Ports soup, snacks, icecream, salads and meat to newfood (#54028)
Ports soup, snacks, icecream, salads and meat to newfood
2020-09-29 20:36:27 -07:00
nemvar
d289b24c71 Merge pull request #53937 from Rohesie/damage
Turns simple mob vars into string lists and fixes string assoc lists
2020-09-29 11:44:52 +02:00
tralezab
f68ac806f8 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
2020-09-29 06:00:35 -03:00
L
7c4b980577 more stringlists 2020-09-26 12:14:07 -03:00
Timberpoes
1f23cc281d 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.
2020-09-26 11:52:39 -03:00
TiviPlus
ff1631b7b9 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.
2020-09-23 00:46:21 +01:00
Timberpoes
96f4c2f4ad 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.
2020-09-15 19:21:11 -04:00
Ghilker
2524baac10 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
2020-09-09 22:43:02 +02:00
Jared-Fogle
bd8c9f5676 Removes the clogged vents event (#53549)
Removes the clogged vents, aka "backpressure surge" event. Preserves the beer nuke behavior, however.
2020-09-09 06:48:45 -03:00
msgerbs
f4ea6db565 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.
2020-09-09 06:43:00 -03:00
Ryll Ryll
452ea00cff No more blobs after shuttle passes point of no return (#53488)
* DIE BLOB DIE

* define for PONR

* Update code/__DEFINES/shuttles.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-09-08 20:21:54 -07:00
Donkie
53b212ddf2 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
2020-09-08 10:24:05 +02:00
YPOQ
d9aff3da6e 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.
2020-09-07 17:24:10 -03:00
Ghilker
5543c6db46 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)
2020-09-07 16:52:10 -03:00
Tad Hardesty
cf7ac5b79d Fix some miscellaneous grammar mistakes (#53414) 2020-09-05 02:45:25 -07:00
Ghilker
60355138f8 Crystal Event: flavor texts, signaler, balancing and mob differentiation (#53340)
This PR adds a bunch of flavor texts to the different devices and structures that are used during the event, all to make clearer to the players what to do without too much troubles.
Also i added the ability to use the normal Analyzer+signaler to close the portals and achieve the same result of dropping the crystals.

This PR have more stuff inside: I tweaked the health of the mobs to be balanced around the "toolbox damage" (around 15), so that in 2 or 3 hits they'll fall. I tweaked the damage so that those mobs are all around pretty dangerous, plus each one gets a personal effect: the minion gets a smoke effect on death, the thug gets a random teleport when hit and a dodge ability, the recruit can smash delete walls on touch, the killer is fast and shoot a freezing ray to slow down victims, the boss has an AoE tesla-like attack can dust mobs if they are in crit conditions (thus consuming them)
spawned anomalies don't explode anymore.
You can sacrifice someone to the crystal to increase the spawn delay by 5 seconds permanently
tick for the event is once every 2 seconds, have to use raw numbers to define the duration (15 minutes)
2020-09-01 18:53:43 -03:00
Ghilker
37f849fb17 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
2020-08-29 23:56:40 -03:00
TiviPlus
ca366c3ea1 Bools and returns super-pr (#53221)
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>
2020-08-28 14:26:37 -07:00