* Fixes Survival Pod Walls Not Smoothing With Their Airlocks (#68116)
Fixes#68115 (Survival Pod Walls Don't Smooth With Their Airlock)
They used to smooth, but then during the icon smoothing refactor someone forgot to add them to their smoothing_groups
Also corrected the misspelling
* Fixes Survival Pod Walls Not Smoothing With Their Airlocks
* Update spaceship_turfs.dm
Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Fix some dashes breaking permanently (heirophant staff and ninja sword) (#68195)
* Fix dashing sometimes breaking, with additional code improvement to go along with it.
* Fix some dashes breaking permanently (heirophant staff and ninja sword)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes some cases which references are used in trait sources, potentially causing hard deletes (#67974)
About The Pull Request
Fixes some cases in which actual references were used in trait sources instead of keys (or ref() keys).
This can cause some rare and difficult to find hard deletes.
Trait sources should be a string key relating to the source of it, not an actual reference to what added it. References within trait sources are never handled in Destroy(), because it's not expected behavior, meaning it can cause hanging references.
So, I went through with a regex to find some cases and replaced them.
I used the following and just picked through the few by hand to find erroneous ones.
ADD_TRAIT\(.+, .+, [a-z]+\)
REMOVE_TRAIT_TRAIT\(.+, .+, [a-z]+\)
Why It's Good For The Game
Less hard deletes, probably.
Changelog
cl Melbert
code: Some traits which mistakenly were sourced from a hard reference are no longer.
/cl
* Fixes some cases which references are used in trait sources, potentially causing hard deletes
* wew
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.
* our changes
* yes
* 0
* Update blackmesa.dmm
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* [MDB Ignore] Makes mining and labor shuttle home docks their own type, rather than varedits (#68006)
I'll have to do the others at some point
I don't want to, but it'll happen
* [MDB Ignore] Makes mining and labor shuttle home docks their own type, rather than varedits
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
* Implements a Demolition Modifier variable to items, affects damage vs structures and robots. (#66967)
Adds a modifier variable which can be used to increase or decrease a given items damage to structures, machinery, vehicles, and robots (including cyborgs, simple-bots, and anything else with the MOB_ROBOTIC biotype)
* Fixes attacks on mech equipment ignoring armor / melee damage, also fixes mech equipment not being disabled at 0% health, also also unit tests mech armor (#67411)
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* This tail refactor turned into an organ refactor. Funny how that works.
* Firstly, fixing all the conflicts.
* Fixes all our maps (hopefully)
* Actually, this should fix pod people hair :)
* Almost everything is working, just two major things to fix
* Fixed a certain kind of external organ
* Cleaning up some more stuff
* Turned tail_cat into tail because why the fuck are they separate?
* Moved all the tails into tails.dmi because that was just dumb to have like 3 in a different file
* Adds relevant_layers to organs to help with rendering
* Makes stored_feature_id also check mutant_bodyparts
* Fixes the icon_state names of ALL the tails (pain)
* Fixes wagging, gotta refactor most mutant bodyparts later on
* I Love Added Failures
* Fixed some organs that slipped through my searches
* This could possibly fix the CI for this?
* It doesn't look like it did fix it
* This will make it pass, even if it's ugly as sin.
* Fixed Felinids having a weird ghost tail
* Fixes instances of snouts and tails not being properly colored
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Material holding machines can't connect to ore silos on different z levels (#66953)
The station's ore silo can't connect to machines that are off the station z-level anymore. This doesn't affect multi-z stations.
Also includes ore silo code improvement because I was unhappy with it.
* Material holding machines can't connect to ore silos on different z levels
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Refactors how fauna scans stuff + electrocute act (#66947)
* Refactors how fauna scans stuff + electrocute act
Electrocuting fauna (like with staff of storms) now acts the same way attacking it does, and causes Megafauna to hunt you.
This refactors fauna's FindTarget to do so.
* merges the two for loops
* Refactors how fauna scans stuff + electrocute act
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Add new H.E.C.K. suit GAGS sprite, recolorable via spray can (#67217)
imageadd: The H.E.C.K. suit has a new sprite. (by Meyhazah)
add: You can now use a spray can to completely recolor the H.E.C.K. suit.
* Add new H.E.C.K. suit GAGS sprite, recolorable via spray can
Co-authored-by: Urumasi <Urumasi@email.cz>
* [MDB IGNORE] The Grand Airlock Naming Audit (#67235)
I manually audited all 4,710 instances of airlocks across all maps for upper casing
You'll never guess what I found.
UPDATE: We now have a grep to check for mistitled airlocks, and it's in this PR!
* [MDB IGNORE] The Grand Airlock Naming Audit
* TG MAP RESET
Co-authored-by: Son-of-Space <63861499+Son-of-Space@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* [MDB IGNORE] More /area/ typepath organization and cleanup (#67107)
This further continues what I did in b4fb8f3ed1 (but instead of just stations, its now every (most) applicable area in the game
* [MDB IGNORE] More /area/ typepath organization and cleanup
* wew
* e
* Update CentCom_skyrat.dmm
* wew
* ews
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Fixes Marker Beacons Not Having an Icon (#66830)
FUCK.
In #66736 (7517e79), I forgot to change this line. It worked fine in the screenshot because the screenshot came from before I spun it out into it's own DMI. Whoops.
* Fixes Marker Beacons Not Having an Icon
Co-authored-by: san7890 <the@san7890.com>
* Titan's Final Lament - Colossus and hierophant crusher trophy rework (#66793)
This is somewhat a port of BeeStation/BeeStation-Hornet#6805 with slight changes, credits to Rukofamicom for the original PR.
Kinetic crusher is supposed to be a high risk high reward weapon, but with current hiero wall trophy it just ends up with the player cheesing mob and boss AIs. To fix this, here we change hiero trophy to spawn a hierophant chaser instead of a wall, which will increase player's DPS without offering them any protection.
However, this creates another issue: right now colossus is unbeatable with crusher without cheesing it with the wall due to it's shotgun attack which kills and dusts you point blank or 1 tile away, which is extremely unfair and unfun. To fix this, I add what should've been done from the start - make colossus telegraph it's attacks before starting them. Player has 1.5 seconds to react(unlike 3 seconds in the original PR which made the fight much easier) and dodge the attack or at least get away from the colossus to have a chance to survive.
Since this does make the fight significantly easier, colossus gets a special final attack during which it shouts "Perish" and uses different attacks. Unlike in the original PR, he can only use it once, so it's not as deadly and bullshit. This should make the fight more epic and similar to other bossfights which get cool attacks near the end of the battle.
Goodbye 4 GBP, you served me well.
* Titan's Final Lament - Colossus and hierophant crusher trophy rework
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Mapping Marker Markets - They're All In Now (#66736)
bout The Pull Request
Hey there,
We had a lot of marker colors previously locked behind the in-game "random marker" mechanic that mappers couldn't really use since you'd have to varedit those shits. Now, instead of just... Burgundy, we now have:
Bronze!
Yellow!
Lime!
Olive!
Jade!
Teal!
Cerulean!
Indigo!
Purple!
Violet!
Fuschia!
All for your mapping enjoyment.
There were also a few instances of weird var_edited mapping markers that I also got rid of in this PR as well. I also split off markers out of lighting.dmi into their own .dmi.
Why It's Good For The Game
image
Gives mappers the power to use these sprites that we already have in the codebase in their conquest to make stuff look better.
Changelog
cl
add: On the mapping end, mappers are now able to add a wide range of funky new colors to maps. Keep an eye out, for they might just be coming to a station near you sometime soon.
/cl
* Mapping Marker Markets - They're All In Now
Co-authored-by: san7890 <the@san7890.com>
* Makes smoke and foam attempt to fill the available space.
* wew
* reset
* Revert "reset"
This reverts commit 75be4f934504793ceb5c9bf2f3774dc24517df5a.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Improper forced qdel cleanup, some expanded del all verbs (#66595)
* Removes all supurfolus uses of QDEL_HINT_LETMELIVE
This define exists to allow abstract, sturucturally important things to
opt out of being qdeleted.
It does not exist to be a "Immune to everything" get out of jail free
card.
We have systems for this, and it's not appropriate here.
This change is inherently breaking, because things might be improperly
qdeling these things. Those issues will need to be resolved in future,
as they pop up
* Changes all needless uses of COMSIG_PARENT_PREQDELETED
It exists for things that want to block the qdel. If that's not you,
don't use it
* Adds force and hard del verbs, for chip and break glass cases
respectively
The harddel verb comes with two options before it's run, to let you
tailor it to your level of fucked
* Damn you nova
Adds proper parent returns instead of . = ..()
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
* Ensures immortality talismans cannot delete their human if something goes fuckey. Thanks ath/oro for pointing this out
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
* Improper forced qdel cleanup, some expanded del all verbs
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
Mining voucher redeem selection is now using a radial menu when choosing a voucher rewards instead of an input menu. In addition to looking better, the menu now provides an additional information about specific reward set when a corresponding info button is clicked.
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* updateDialog and updateUsrDialog cleanup (#66494)
This PR focuses on cleaning up two procs - updateDialog and updateUsrDialog. Both of which are/were used updating for old HTML UIs. As these UIs got converted to TGUI over time, these old code fragments started to pile up, often due to coders simply overlooking them. This resulted in them being dead code doing nothing when called, or randomly opening up windows when they shouldnt, for example when a vending machine is screwdrivered and UI cannot even be interacted with.
However, there were also some desirable uses - like opening a window when an ID is inserted into civilian bounty console, which you are then gonna obviously use to pick a bounty. I kept these uses and replaced them with proper ui_interact, so they now always work, instead of them working only when you had them set as a currently used machine on mob. The list of these changes is:
Civilian Bounty Console will now always bring up its UI when you insert the ID.
Air Alarm and APC will now always bring up its UI when you unlock their controls.
Portable Chem Mixer, Chem Dispenser, Chem Heater, Improvised Chem Heater, Chem Spectometer and Chem Master will now always bring up their UI when you add or replace beaker to them.
Two old /Topic calls were cleaned up as well, as they were no longer relevant.
Removes dead or outdated code, adds sensible UX when working with certain UIs.
* updateDialog and updateUsrDialog cleanup
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* the mining gas mask no longer protects against pepper spray (#66206)
* the mining gas mask no longer protects against pepper spray
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Refactor and improve antimagic to be more robust (#64124)
This refactors the antimagic component to use and have bitflags, documentation, defines, code comments, named arguments, and renames variable names for clarity.
- /obj/effect/proc_holder/spell/aoe_turf/conjure/creature/cult is not used anywhere and has been removed
- /obj/effect/proc_holder/spell/targeted/turf_teleport/blink/cult is not used anywhere and has been removed
- New sound effects are played when magic is blocked. Depending on the type of magic being used it will be either:
- Equipping antimagic now properly updates the magic buttons
- Any magic being blocked or restricting casting now displays a message
- MAGIC_RESISTANCE_MIND now properly blocks telepathy effects
- Removes blood splatter when fireball is blocked
- Magic projectiles for staff of locker no longer spawn lockers when blocked by antimagic
- Fire breath is no longer blocked by antimagic
- Spellcards are now blocked by antimagic
Any antimagic on a mob blocks that magic type from being casted. (certain spells such as mime abilities completely ignore antimagic)
- Foilhats prevent someone from casting mind magic (telepathy, mindswap, etc.)
- Bibles, ritual Totems, nullrods, holymelons, and TRAIT_HOLY prevent someone from casting unholy magic (cult spells, etc.)
- Nullrods, ritual totem, and holymelons prevent someone from casting wizard magic (fireball, magic missile, etc.)
- Immorality talismans, berserker suits, and TRAIT_ANTIMAGIC prevents all types of magic (except stuff like mime abilities)
- Touch of Madness and Mindswap is now blocked with MAGIC_RESISTANCE and MAGIC_RESISTANCE_MIND
- Voice of god is now blocked with MAGIC_RESISTANCE_HOLY and MAGIC_RESISTANCE_MIND
* Refactor and improve antimagic to be more robust
* Update tiedshoes.dm
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Block free golems from using shuttle consoles, other than to go home (#65991)
* Block golems from using shuttle consoles
* Update code/modules/mob_spawn/ghost_roles/golem_roles.dm
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Block free golems from using shuttle consoles, other than to go home
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Lowers the Kheiral Cuff price to be more reasonable with their changed function (#65697)
* Lowers the Kheiral Cuff price to be more reasonable with their changed function
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
* Adds proper sound effects to attacks against flora (#65508)
* Adds proper sound effects to attacking flora
* Normalises all the sounds to make them as loud as possible and the same volume
* named arguments
* Adds proper sound effects to attacks against flora
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>