Files
a57b142c1a [MIRROR] Basic mobs don't become dense upon death [MDB IGNORE] (#18679)
* Basic mobs don't become dense upon death (#72554)

## About The Pull Request

In #72260 what was previously a var became a flag, which was a sensible
change, however this inverted the default behaviour.
In virtually all cases we want dead mobs to _stop_ being dense, this
added a requirement for the flag to be present for that to happen and
then didn't add the flag to any mobs.

Rather than add this to every mob I inverted the function of the flag.
My reasoning here is that _simple_ mobs seemingly never required this
behaviour, basic mobs are probably going to need it rarely if ever, and
including it in `basic_mob_flags` by default seems messy and easy to
leave off when setting other flags (plus #72524 implies to me we want to
avoid adding more default values).

Setting this manually on each mob seems kind of silly as a requirement
going forward and I can't think of a way we'd unit test for people
forgetting.

For the same reason I did the same thing with the
`STOP_ACTING_WHILE_DEAD` flag I added to the AI controller in a recent
PR, the flag should denote unusual behaviour not the default.

## Why It's Good For The Game

It looks really odd when you're constantly shuffling places with dead
mobs, they're not supposed to do that.
It's tedious to add `STOP_ACTING_WHILE_DEAD` to every AI controller when
that should be an obvious default assumption.

## Changelog

🆑
fix: Dead basic mobs are no longer "dense" objects and can be stepped
on.
/🆑

* Basic mobs don't become dense upon death

* Removes a flag we didn't need anymore.

* Forgot to remove this one

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-01-21 16:38:57 -05:00

52 lines
1.5 KiB
Plaintext

/mob/living/basic/kiwi
name = "kiwi"
desc = "It's a kiwi!"
icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi'
icon_state = "kiwi"
icon_living = "kiwi"
icon_dead = "kiwi_dead"
maxHealth = 15
health = 15
density = FALSE
mobility_flags = MOBILITY_FLAGS_REST_CAPABLE_DEFAULT
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_size = MOB_SIZE_LARGE
mob_biotypes = MOB_ORGANIC|MOB_BEAST
gold_core_spawnable = FRIENDLY_SPAWN
response_help_continuous = "pets"
response_help_simple = "pet"
response_disarm_continuous = "moves aside"
response_disarm_simple = "move aside"
response_harm_continuous = "smacks"
response_harm_simple = "smack"
friendly_verb_continuous = "boops"
friendly_verb_simple = "boop"
verb_say = "cheep"
verb_ask = "cheeps inquisitively"
verb_exclaim = "cheeps loudly"
verb_yell = "screeches"
ai_controller = /datum/ai_controller/basic_controller/kiwi
/mob/living/basic/kiwi/Initialize(mapload)
. = ..()
AddElement(/datum/element/pet_bonus, "cheeps happily!")
/datum/ai_controller/basic_controller/kiwi
blackboard = list()
ai_traits = STOP_MOVING_WHEN_PULLED
ai_movement = /datum/ai_movement/basic_avoidance
idle_behavior = /datum/idle_behavior/idle_random_walk
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/kiwi,
)
/datum/ai_planning_subtree/random_speech/kiwi
speech_chance = 5
emote_hear = list("makes a loud cheep.", "cheeps happily.")
emote_see = list("runs around.")
speak = list("cheep", "cheep cheep!")