Files
Bubberstation/code/__DEFINES/basic_mobs.dm
san7890 00525f97f4 Basic Mobs Can Now Get Wet (and can therefore clear the slimed status effect) (#81927)
## About The Pull Request

A year ago in #73601 (b7da743e7d), we made
it such that we wouldn't apply the `/datum/status_effect/fire_handler`
to any basic mob that wasn't a "flammable" mob. However, guess what? The
way we handle "wet stacks" is handled by a subtype,
`/datum/status_effect/fire_handler/wet_stacks`. This means that any mob
that wasn't flammable wouldn't also get wet, meaning that they would
literally _never_ get the `slimed` status effect off them (since that is
reliant on wet stacks).

In order to rectify this, let's actually account for the case in the
code to ensure that mobs that should get wet do get wet (I made it an
opt-out flag because I can't think of a single mob that can't get wet
and didn't want to balloon the diff trying to think of every mob that
should be able to get wet, etc.), and now it's all fixed hunky-dory.
## Why It's Good For The Game

Fixes #81888

Basic mobs should be able to get wet. It's an oversight with how the
wet_stack handler is tacked onto the backend of the fire_handler
latticework- ideally these two would be two separate systems (or it
would at least not be named `fire_handler` so people don't make this
confusion in the future without realizing that it handles more than
just... `fire`) but I don't have time to do a full cleansing and
refactor of this code.
## Changelog
🆑
fix: All basic mobs are able to get wet. This means, among other things,
that you can clear the "slimed" status effect off your holoparasite or
dog or whatever.
/🆑
2024-03-12 18:49:03 +00:00

33 lines
1001 B
Plaintext

#define BASIC_MOB_MAX_STAMINALOSS 200
///Basic mob flags
/// Delete mob upon death
#define DEL_ON_DEATH (1<<0)
/// Rotate mob 180 degrees while it is dead
#define FLIP_ON_DEATH (1<<1)
/// Mob remains dense while dead
#define REMAIN_DENSE_WHILE_DEAD (1<<2)
/// Mob can be set on fire
#define FLAMMABLE_MOB (1<<3)
/// Mob never takes damage from unarmed attacks
#define IMMUNE_TO_FISTS (1<<4)
/// Mob is immune to getting wet
#define IMMUNE_TO_GETTING_WET (1<<5)
/// Temporary trait applied when an attack forecast animation has completed
#define TRAIT_BASIC_ATTACK_FORECAST "trait_basic_attack_forecast"
#define INTERACTION_BASIC_ATTACK_FORCEAST "interaction_basic_attack_forecast"
/// Above this speed we stop gliding because it looks silly
#define END_GLIDE_SPEED 10
///mook attack status flags
#define MOOK_ATTACK_NEUTRAL 0
#define MOOK_ATTACK_WARMUP 1
#define MOOK_ATTACK_ACTIVE 2
#define MOOK_ATTACK_STRIKE 3
///keeps track of how many gutlunches are born
GLOBAL_VAR_INIT(gutlunch_count, 0)