Commit Graph

886 Commits

Author SHA1 Message Date
SkyratBot
115b59227b [MIRROR] Buffs mech disabler [MDB IGNORE] (#19342)
* Buffs mech disabler (#72941)

## About The Pull Request

Mech disabler now is works like a shotgun, shooting 5 weak disabler
beams(15 damage, the normal disabler beam has 30). The energy drain is
increased to 100 from 30. Has a cooldown of 1.5 seconds.

The exact numbers(weapon scatter, damage, amount of projectiles) can be
discussed.

## Why It's Good For The Game

When you are trying to nonlethally deal with someone, a normal security
officer with their roundstart available equipment is more effective then
an expensive lategame mech, due to that fact that it is really slow,
cant use stunbattons and even if you manage somehow to stamcrit a person
with a mech disabler you still need some time to get out in order to
handcuff them. So mech disablers are useless, especially compared with
other mech weapons, like rocket launchers and ballistic guns. This PR
makes the mech disabler not trash, so roboticists would have a wider
choice of useful weapons when making a mech.

## Changelog

🆑
balance: Mech disabler now works as a shotgun, shooting 5 weak disabler
beams at one time.
balance: Mech disabler now uses 100 energy instead of 30, and it's
attack cooldown increased to 1.5 seconds instead of 0.8
/🆑

* Buffs mech disabler

---------

Co-authored-by: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com>
2023-02-14 13:26:02 +00:00
Funce
60bfb76832 [MIRROR] Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) [MDB IGNORE] (#18884)
* Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) (#72517)

revive of #68760
this time a proc, not an element
this time supports cardboard cutouts
this time supports mob corpses

![image](https://user-images.githubusercontent.com/23585223/211064291-81070650-189f-4afa-8116-81b687e3ea35.png)

prevents these icons ever being outdated, they'll always look what they
are supposed to, saves spriting work

🆑 Fikou, a hood by Viro
refactor: humanoid mobs and cardboard cutouts automatically generate
their sprites, they no longer will be outdated
/🆑

Co-authored-by: Time-Green <timkoster1@hotmail.com>

* Modular!

* Fix signal override merge skew (#72882)

Caused by https://github.com/tgstation/tgstation/pull/72517, with
https://github.com/tgstation/tgstation/pull/72561 raising an error that
was being hidden before

This changes equip logic somewhat so that set_wearer was being called
twice.

I don't think this should be being run in visualsOnly at all, as it does
a ton of stuff like registering signals, updating UI, etc etc etc. Don't
have time to investigate further.

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-27 13:56:00 -05:00
SkyratBot
c5ca08fd01 [MIRROR] Adds spaces around logical operators [MDB IGNORE] (#18776)
* Adds spaces around logical operators

* Update code/modules/admin/verbs/admingame.dm

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-01-21 22:16:43 -08:00
SkyratBot
7ee524f748 [MIRROR] Basic Mob Carp Part VIII: Basic Mob Carp [MDB IGNORE] (#18344)
* Basic Mob Carp Part VIII: Basic Mob Carp

* maps

* missed killing main carp file

* shorki and ocean biomes

* shorki 2: pet-a-boogaloo

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 05:48:50 -05:00
SkyratBot
5c6c91144c [MIRROR] Changes the missing food icon test to cover ALL /obj's [MDB IGNORE] (#18139)
* Changes the missing food icon test to cover ALL /obj's

* Update implant.dm

* Hopefully fixes all the failing integration tests!

* Fixes more missing icons

* Even more icon fixes

* Hopefully that was all of them

* Okay now SURELY that's all of them

* I'm tired of this shit man

* Hopefully that's all, for real this time!

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-12-28 19:30:05 -05:00
Zonespace
d8df1c97f7 Mirrors tgstation/tgstation#72269 (#18386)
fixes neurotoxin newtonian movement and alien hud hand icons (#72269)

neurotoxin now properly moves u
also the alien spit shot by simplemob xenos is now a subtype of normal
because it was fucking stupid
also the nt hud pr broke the hud hand icons so fixes that

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-28 22:37:32 +00:00
SkyratBot
1d3c4dc8a1 [MIRROR] Getting hit by a nuclear particle will always irradiate you. [MDB IGNORE] (#18008)
* Getting hit by a nuclear particle will always irradiate you. (#71812)

## About The Pull Request
Makes nuclear particles directly irradiate people.
## Why It's Good For The Game
Getting hit by a nuclear particle should be a death sentence.
## Changelog
🆑
balance: Nuclear particles will always irradiate you on hit.
/🆑

* Getting hit by a nuclear particle will always irradiate you.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-12-09 03:45:09 +00:00
SkyratBot
a101d66658 [MIRROR] Allows Fully Heal to be passed a series of flags, fixes Adminordrazine being horrible [MDB IGNORE] (#17535)
* Allows Fully Heal to be passed a series of flags, fixes Adminordrazine being horrible

* Apply suggestions from code review

* few more flag bits

* our shit

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-11-28 00:09:31 +00:00
SkyratBot
a9d2018549 [MIRROR] What if meteorslugs were mini cannonballs [MDB IGNORE] (#17655)
* What if meteorslugs were mini cannonballs (#71137)

## About The Pull Request

Meteorslug shells fire effectively mini cannonballs. They're not as
strong, but they tear through everything they shoot, including walls and
airlocks. They're not as lethal as the real deal or go nearly as far
(range of 7, not even a screens length), but they are still pretty
destructive. They don't fling people, but they could potentially barrel
over several people, which I think is a good trade-off.

Meteorslugs need gunpowder (for a bigger shot) and rum (yarr) to
construct.

## Why It's Good For The Game

Only through sleep deprivation do I get such diabolical ideas.

Also, the original functionality wasn't very interesting except for
like, maybe a few niche silly things, but the real value was using them
to get into places. This version still definitely does that. But it's
_cooler_.

(The object displacement was pretty jank and I think this accomplishes a
very similar effect without actively harming why people would look to
use meteorslugs)

## Changelog
🆑
balance: Meteorslugs are now miniature cannonballs. They also need more
gunpowder and rum to be constructed.
/🆑

* What if meteorslugs were mini cannonballs

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2022-11-22 15:03:01 -08:00
SkyratBot
c9d7c6cdde [MIRROR] Adds the Marksman Revolver from Ultrakill, with coinflipping and splitshotting! [MDB IGNORE] (#17666) 2022-11-22 09:57:59 -08:00
SkyratBot
0807d7dafc [MIRROR] Fixes Riot Dart Damage Exploit [MDB IGNORE] (#17668)
* Fixes Riot Dart Damage Exploit (#71261)

Fixes an issue where riot darts would do damage even if they had no pen
in them if recovered after being fired while modified to be able to
accept pens
## About The Pull Request
Fixes an issue where riot darts would do damage even if they had no pen
in them if recovered after being fired while modified to be able to
accept pens
Fixes #71084
## Why It's Good For The Game
bug bad
## Changelog
🆑
fix: Riot darts no longer do damage with no pen inserted if recovered
after being fired while modified to accept pens.
/🆑

* Fixes Riot Dart Damage Exploit

Co-authored-by: SkeletalElite <skeletalelite0@gmail.com>
2022-11-22 08:24:30 -08:00
Paxilmaniac
fb51f039ec Undoes every skyrat change to the plasma cutter projectiles file (#17440)
Correct, I have no respect for dead space
2022-11-15 08:26:19 +00:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
b5bd312379 [MIRROR] Add investigate_deaths [MDB IGNORE] (#17424)
* Add investigate_deaths

* merge changes other than giant_spider which deps on tg/70848

* gib

* dust

* death

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-11 14:44:33 -05:00
SkyratBot
b8f4b11a03 [MIRROR] Missile Sanity Checking: I made it explode better? [MDB IGNORE] (#17207)
* Missile Sanity Checking: I made it explode better? (#70813)

* Fixes robotics and nukies gaining access to the wrong type of exosuit missiles, renames the BRM-6 to the PEP-6 (Precision Explosive Projectile), ensures the defines match to which gun goes where, also renames the ammo paths to also prevent the same confusion, swaps around a whole lot of the pathing for what missile is the baseline and what is the parents, makes the PEP use the missile procs instead of its own snowflake code, inadvertently makes the missile a borg murder device but fuck it they're dense objects

* Missile Sanity Checking: I made it explode better?

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2022-10-28 12:19:37 -07:00
SkyratBot
2853e3ffef [MIRROR] Wizard DLC - Tower of Babel [MDB IGNORE] (#16978)
* Wizard DLC - Tower of Babel (#69629)

About The Pull Request

This adds a new status effect called - Tower of Babel

Any carbon mob afflicted by the status effect will lose knowledge of every known language and gain a randomized one as a replacement. The affected mob will also be hit with a depressing moodlet that lasts for 15 seconds. Silicons are immune to all effects.

This effect is implemented in several ways:

    Tower of Babel wizard event (all crew on the station z level are affected. The wizard is not and gains mastery of every language to taunt their victims)
    Admin smite option
    Admin secret event (can be reversed)
    Staff of Babel (formerly the Staff of Sapping) will spawn during spawn magic wizard event
    Magicarp will randomly shoot bolts of babel
    Staff of Chaos will randomly shoot bolts of babel
    Overdosing on Mushroom Hallucinogen will temporarily and sporadically acquire the effect

The effect can be blocked or cured in several ways:

    Curators are given immunity
    Reading a book of babel (via lavaland loot) cures and gives immunity
    Reading a language book cures and gives immunity ONLY for that particular language

Note - The Tower of Babel does not allow tongueless, mute, or tongue tied people the ability to speak

* Wizard DLC - Tower of Babel

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-10-19 12:25:29 +01:00
SkyratBot
395b465ea2 [MIRROR] Converts silent to status effect + small cleanup of can_speak / can_speak_basic / IsVocal, and sign language [MDB IGNORE] (#16744)
* Converts `silent` to status effect + small cleanup of `can_speak` / `can_speak_basic` / `IsVocal`, and sign language

* wew

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-11 17:45:53 +01:00
SkyratBot
eefbd40ce6 [MIRROR] Adds macros to help with common set_- and adjust_timed_status_effect uses [MDB IGNORE] (#16410)
* Adds macros to help with common `set_`- and `adjust_timed_status_effect` uses

* merge conflicts

* modular skyrat and missed changes

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-26 17:56:24 -04:00
SkyratBot
8f033ead91 [MIRROR] Completely refactors hallucinations, and also adds a few [MDB IGNORE] (#16348)
* Completely refactors hallucinations, and also adds a few

* delete 5 old hallucination types that should have been removed

* Fixed old leftover tips conflicts

* Fixes all the leftover conflicts and otherwise broken code

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-25 19:43:45 -04:00
SkyratBot
ea19c86793 [MIRROR] Fix plasma cutter or guns that burn not being able to ignite plasma [MDB IGNORE] (#16244)
* Fix plasma cutter or guns that burn not being able to ignite plasma

* Update plasma.dm

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-09-17 12:44:10 -07:00
SkyratBot
d56ee7630e [MIRROR] Kills /obj/shapeshift_holder, replaces it with /datum/status_effect/shapechange_mob, also does a lot of Wabbajack refactoring [MDB IGNORE] (#15988)
* Kills `/obj/shapeshift_holder`, replaces it with `/datum/status_effect/shapechange_mob`, also does a lot of Wabbajack refactoring

* Apply suggestions from code review

* fix

* unironically the best solution

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-09-15 22:29:56 -07:00
Zonespace
a79315a098 Tgstation#67724 (#16261)
Add magic reactions to hydroponics plants (#67724)

* Add magic reactions to hydroponics plants

* Refactor magic bolts for plants

* Add polymorph proc to hydroponics plants

* Fix mob and plant_tray variable names

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-09-15 22:36:50 +00:00
SkyratBot
1b7f17f107 [MIRROR] [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) [MDB IGNORE] (#15801)
* [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1)

* Fixes all the conflicts and all of our modular files using core icon files with broken paths

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-08-28 15:11:04 -04:00
SkyratBot
a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
GoldenAlpharex
5f5a17dd0a Makes jitteriness from electrode shots cap out at 30 seconds (#15844) 2022-08-26 14:42:52 -07:00
SkyratBot
48685b4356 [MIRROR] Replaces the mood component with a mood datum [MDB IGNORE] (#15549)
* Replaces the mood component with a mood datum

* Fixes merge conflicts and updates all of our mood events to use the new mood datums

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-12 14:58:14 -04:00
SkyratBot
55de1e712a [MIRROR] Adds the COMSIG_PROJECTILE_RANGE signal and the pixel_speed_multiplier var for projectiles [MDB IGNORE] (#15323)
* Adds the COMSIG_PROJECTILE_RANGE signal and the pixel_speed_multiplier var for projectiles (#68647)

The COMSIG_PROJECTILE_RANGE signal can be used to add signal handlers for behaviors that a projectile should execute each step of its travel. Currently, nothing uses it, but it is available for use in admin circuits or lua scripts.

The pixel_speed_multiplier var for projectiles acts as the value passed to the trajectory_multiplier argument of pixel_move, which originally was passed a constant value of 1. By lowering this var, you can reduce the speed of projectiles without them becoming jumpy. As an example, magic missile, gauntlet echo, the demonic watcher's temp beam, and the demonic frost miner's projectiles have all been changed to use this var. As such, their movement will be much smoother (but still the same effective speed).

* Adds the COMSIG_PROJECTILE_RANGE signal and the pixel_speed_multiplier var for projectiles

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2022-07-31 14:05:18 +01:00
SkyratBot
4af0dd0b8f [MIRROR] addresses reviews on the tram pr made after merge, fixes diagonal movement bugs [MDB IGNORE] (#14943)
* addresses reviews on the tram pr made after merge, fixes diagonal movement bugs (#68033)

* addresses reviews on the tram pr made after merge, fixes diagonal movement bugs

* wew

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-07-19 00:51:33 +00:00
SkyratBot
10ba2c0990 [MIRROR] Nukie Rework Part 2: Nuclear Operative starting gear rework [MDB IGNORE] (#14936)
* Nukie Rework Part 2: Nuclear Operative starting gear rework

* Apply suggestions from code review

* Update _box_magazine.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-07-19 00:43:21 +00:00
SkyratBot
d37f258158 [MIRROR] Makes backblast not runtime, moves some of its behaviour to an "incendiary/fire" parent [MDB IGNORE] (#14931)
* Makes backblast not runtime, moves some of its behaviour to an "incendiary/fire" parent (#68397)

* just a normal fire projectile

* Update code/modules/projectiles/projectile/bullets/_incendiary.dm

* Makes backblast not runtime, moves some of its behaviour to an "incendiary/fire" parent

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-07-16 15:32:04 +01:00
Gandalf
43ad368418 Updates the sprites for bullets (inflight), adds pellet sprites, redoes the thermal projectile sprites (#67856) (#14672)
imageadd: Improves the sprites for bullets, thermal projectiles, and introduces pellet sprites.
2022-07-01 22:08:29 +01:00
SkyratBot
c68fea7cba [MIRROR] 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. [MDB IGNORE] (#14666)
* 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>
2022-07-01 20:33:30 +01:00
SkyratBot
35286f5993 [MIRROR] Improves logging for smoke clouds. [MDB IGNORE] (#14156)
* Improves logging for smoke clouds.

* Update robot_upgrades.dm

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-08 02:15:29 +01:00
SkyratBot
686217066e [MIRROR] Fixes statue simplemob teleport not working and 3 other spells not appearing [MDB IGNORE] (#14073)
* Fixes statue simplemob teleport not working and 3 other spells not appearing (#67105)

* Fixes statue simplemob not being able to teleport, and their 3 spells they're supposed to have.
* Also repaths statues to netherworld mobs, to reduce copy paste code.

* Fixes statue simplemob teleport not working and 3 other spells not appearing

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-06-03 14:42:04 +01:00
RatFromTheJungle
0ef83ca057 Update beams.dm (#13598) 2022-05-20 12:13:06 +01:00
SkyratBot
133b753507 [MIRROR] Converts jittering to status effect, striking yet another mob level status value [MDB IGNORE] (#13534)
* Converts jittering to status effect, striking yet another mob level status value

* mmkay

* weh

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 21:59:42 +01:00
SkyratBot
2878b0b005 [MIRROR] Removes AOE hit detection from fireball [MDB IGNORE] (#13526)
* Removes AOE hit detection from fireball

* Update staff.dm

Co-authored-by: GoblinBackwards <22856555+GoblinBackwards@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 02:13:25 +01:00
SkyratBot
3e4bad8694 [MIRROR] Confusion status effect is now duration based instead of magic number based [MDB IGNORE] (#13496)
* Confusion status effect is now duration based instead of magic number based

* e

* Update tgstation.dme

* Update contract.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 01:52:39 +01:00
Useroth
4d07f3a620 Missed mirror (#13460)
* Converts drunkness and dizziness to status effects. Refactors status effect examine text (and, subsequently, stabilized black extracts).  (#66340)

* Refactors dizziness into a status effect

* Refactors the dizziness setter to use the new kind

* Drunkness.
- Should drunk continue to work off of a magic value or be swapped to duration? I've not yet decided: For understandability it's preferabale for "drunk" to use a timer (they are drunk for 3 more minutes), but both adding drunk and decreasing drunk currently use weird calculations which would be difficult to carry over.
- Ballmer is a liver trait

* Dizzy was a setter, not an adjuster

* Does all the drunk effects over
- refactors examine text fully
- refactors stabilized blacks because of this

* Removed

* repaths, fixes some issues

* Minor fixes

* Some erroneous changes

* Fixes some dizziness errors

* Consistency thing

* Warning

* Undoes this change, I dont like its implementation

* max_duration

* Max amount

* Should be a negative

* max duration

* drunk doesn't tick on death

* Rework dizziness strength

* Erroneous dizzy change

* Fixes return type

* this should do it?

* well, one more

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-09 15:05:42 +01:00
SkyratBot
ef2016732d [MIRROR] Makes smoke and foam attempt to fill the available space. [MDB IGNORE] (#13407)
* 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>
2022-05-08 04:01:32 +01:00
Useroth
cca7f8ee4c Some missed mirrors (#13415)
* Refactors firestacks into status effects (#66573)

This PR refactors firestacks into two status effects: fire_stacks, which behave like normal firestacks you have right now, and wet_stacks, which are your negative fire stacks right now. This allows for custom fires with custom behaviors and icons to be made.

Some fire related is moved away from species(what the fuck was it even doing there) into these as well.
Oh and I fixed the bug where monkeys on fire had a human fire overlay, why wasn't this fixed already, it's like ancient.

Also changed some related proc names to be snake_case like everything should be.

This allows for custom fire types with custom behaviours, like freezing freon fire or radioactive tritium fire. Removing vars from living and moving them to status effects for modularity is also good.
Nothing to argue about since there's nothing player-facing

* Hud Image Culling By Z Level: Theft edition (#65189)

* makes hud images only apply by z level

* makes some of the atom_hud procs have better names

* fixes warning with the hud_user list and adds better documentation

* better docs for hud_images

* removes TODOs

* docs for hud_list

* adds support for linked z levels so mobs can see lower ones

* fixes merge conflict and shittily makes only shocked airlocks get added

* adds support for setting images in the hud as active and inactive

* gets rid of unatomic spatial grid change

* maybe i should actually try COMPILING my changes

* fixes merge skew and makes it compile again

* fixes huds refusing to remove from users who changed z level

* improves z level and registration logic

* fixes antag huds not appearing

* Fixes antag huds not properly setting. We now use hud_list in init, so it needs to be set before the new call, not after. Not sure why the use of appearance key was split like this, but none else knows either so none can stop me

* Ensures that hiding a basic appearance also hides the atom's active list too

* Fixes antag huds going poof

Ensures that remove_atom_from_hud will return false if the passed atom
isn't managed by it

This fixes antag huds disappearing randomly, since they assumed that if
the parent call of remove_atom_from_hud returned true, we should delete
ourselves. This is a safe assumption for them to make, since they should
only ever have one atom.

Does kinda bork if we call remove_atom_from_hud in a way that is unsure
if the passed atom is actually in that list. We were forced into doing
this by how atom huds use the qdeleting signal.

* makes basic alternate_appearance's only update themselves when setting their hud image to active and makes them not add themselves to the global huds_by_category list

* fixes mistake with hud_users list being set non associatively (bad)

* as anything in bot path loops

* Fixes merge skew problems

* Makes bot paths non global

This way they can show themselves to only the bot that "owns" them, ya
feel me?

* Fixes huds not showing up sometimes, cleans up some code

Post Kapu's limb refactor, we were calling prepare_huds twice in a human
init call chain. What was happening was this:

call prepare_huds() // Human
I gained a new hud image
I set active hud icons to mirror it
call prepare_huds() // Living
I overwrote the new hud image
I attempted to set active hud icons, which failed because it assumes
this can never happen

*cries*

* Renames add_hud_to_atom to show_to

My hope is this will make understanding hud code a bit easier, by tying
the behavior to a "verb" more closely. Also renamed a few vars

* remove_hud_from_mob -> hide_from

* Nitpicks a few comments

* Whoops/fuck/shit/damn it all/hhhhhhhhhhhh

* Moves check down, improves stack trace a bit

Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>

* small touch-up

* this should do it

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
2022-05-08 03:59:40 +01:00
SkyratBot
de055bf941 Confiscates the bounty hunter flamethrower, gives them a fire cycler shotgun + fire pistol (#65984) (#13272)
Some lovely person who will go unnamed decided 3 years ago that the flamethrowers would be a good weapon for some bounty hunters to use to hunt their quarry. This turned out to be a massive liability and cause lots of innocent people to get toasted, so this PR aims to give them a different fire-based arsenal that isn't so indiscriminate.

The armored bounty hunter role is now issued a cycler dual-tube shotgun that comes with one tube of rubbershot, and one tube of a new incendiary shotgun slug that leaves no fire trail, but still lights up their target. They also receive a 9mm Makarov loaded with fire bullets and one spare mag (these ones do leave a trail).

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2022-05-02 12:17:05 +01:00
SkyratBot
a732669e71 [MIRROR] readds the chameleon gun [MDB IGNORE] (#13224)
* readds the chameleon gun (#66569)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* readds the chameleon gun

Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-04-29 22:57:53 -07:00
SkyratBot
4c58f81cfe [MIRROR] Nullwave Vibrato now works as intended (fix and balance) [MDB IGNORE] (#13185)
* Nullwave Vibrato now works as intended (fix and balance) (#66418)

* Nullwave Vibrato now works as intended (fix and balance)

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2022-04-27 21:02:42 -07:00
SkyratBot
f5e5c368fa [MIRROR] Adds a scope component, removes old zooming and adds sniper marksman ammo. [MDB IGNORE] (#13110)
* Adds a scope component, removes old zooming and adds sniper marksman ammo. (#66218)

Removes the old sniper rifle zoom, replaces it with a scope component. the scope activates on right click and lets your camera follow your mouse.
https://streamable.com/2c63u4 (due to byond rounding some shots were weirdly missed in that video, its fixed now)
Also adds sniper marksman ammo to the nukie uplink. It does slightly less damage, but it is hitscan and has one guaranteed ricochet shot, so you can shoot a wall and it could still hit someone.

* Adds a scope component, removes old zooming and adds sniper marksman ammo.

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-04-25 17:38:49 -07:00
SkyratBot
62ddd77870 [MIRROR] Refactors speech impeding effects (drunken slurring / suttering) into status effects. Adds heretic slurring in addition to the existing cult slurring. Removes 4 vars from /living in return, which slightly optimizes Life() (wink) [MDB IGNORE] (#12770)
* Refactors speech impeding effects (drunken slurring / suttering) into status effects. Adds heretic slurring in addition to the existing cult slurring. Removes 4 vars from /living in return, which slightly optimizes Life() (wink)

* fex

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-19 18:54:12 +01:00
SkyratBot
07e6768659 [MIRROR] Refactor and improve antimagic to be more robust [MDB IGNORE] (#12619)
* 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>
2022-04-11 00:54:16 +01:00
SkyratBot
203cfa6c00 [MIRROR] xray lasers now have 100 armor penetration [MDB IGNORE] (#12249)
* xray lasers now have 100 armor penetration (#65629)

* xray lasers now have 100 armor penetration

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-03-24 01:54:22 +00:00
SkyratBot
8477577119 [MIRROR] changes projectile's armor resistance flag to "armor_flag" [MDB IGNORE] (#12234)
* changes projectile's armor resistance flag to "armor_flag" (#65487)

* IHATEVARIABLES

* removes the face

* changes projectile's armor resistance flag to "armor_flag"

* e

Co-authored-by: capsaicinz <84609863+capsaicinz@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-03-23 21:25:41 +00:00
SkyratBot
17e4f6ad76 [MIRROR] Converts SFX keys into DEFINES [MDB IGNORE] (#11990)
* Converts SFX keys into DEFINES

* fixes and updates

Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-03-11 16:43:39 -07:00