Skip to content

Commit

Permalink
Let Them Eat Dirt - Elzu Rooting (shiptest-ss13#2949)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Adds the ability for elzu to root on top of good soil turfs (dirt,
planetary grass, etc) to feed.

Elzu will get some minor healing and an additional mood buff along with
the charge they get from rooting. You can't root in thick clothing like
space suits due to them needing a direct connection to the ground.

Being moved while rooted will uproot you, dealing damage to your torso
and legs.

Also changes the max age for elzu to 300.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

The ELZOOT.

Anyways, elzu should be able to root in lore and that being reflected in
gameplay is probably good.

In lore, elzu that only root are supposed to be able to hit up to 300
years old. So I bumped up the age max since they can root ingame now.

<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->

## Changelog

:cl:
add: Elzu rooting
tweak: Max age for elzu characters can be 300.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Signed-off-by: Gristlebee <[email protected]>
Signed-off-by: thgvr <[email protected]>
Co-authored-by: FalloutFalcon <[email protected]>
Co-authored-by: thgvr <[email protected]>
  • Loading branch information
3 people authored and MysticalFaceLesS committed May 19, 2024
1 parent e35a6e9 commit 002cf6d
Show file tree
Hide file tree
Showing 5 changed files with 202 additions and 81 deletions.
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -763,3 +763,6 @@

///called in /obj/item/gun/process_chamber (src)
#define COMSIG_GUN_CHAMBER_PROCESSED "gun_chamber_processed"

///called when an elzu should unroot
#define COMSIG_DIGOUT "dig_out"
5 changes: 5 additions & 0 deletions code/datums/mood_events/generic_positive_events.dm
Original file line number Diff line number Diff line change
Expand Up @@ -239,3 +239,8 @@
description = "Fishing is relaxing"
mood_change = 5
timeout = 3 MINUTES

/datum/mood_event/root
description = span_nicegreen("I rooted recently, it feels good to charge naturally.\n")
mood_change = 5
timeout = 5 MINUTES
26 changes: 26 additions & 0 deletions code/datums/status_effects/neutral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -275,3 +275,29 @@
/atom/movable/screen/alert/status_effect/surrender/Click(location, control, params)
. = ..()
owner.emote("surrender")

/datum/status_effect/rooted
id = "rooted"
alert_type = /atom/movable/screen/alert/status_effect/rooted

/datum/status_effect/rooted/on_apply()
. = ..()
ADD_TRAIT(owner,TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id))
ADD_TRAIT(owner,TRAIT_PUSHIMMUNE, TRAIT_STATUS_EFFECT(id))
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "root", /datum/mood_event/root)

/datum/status_effect/rooted/on_remove()
. = ..()
REMOVE_TRAIT(owner,TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id))
REMOVE_TRAIT(owner,TRAIT_PUSHIMMUNE, TRAIT_STATUS_EFFECT(id))

/atom/movable/screen/alert/status_effect/rooted
name = "Rooted"
desc = "You're currently rooted into the ground and can't move. Click here to start digging yourself out."
icon_state = "dig_out"

/atom/movable/screen/alert/status_effect/rooted/Click(location, control, params)
. = ..()
to_chat(owner, span_notice("You begin digging yourself free."))
SEND_SIGNAL(owner,COMSIG_DIGOUT)

Loading

0 comments on commit 002cf6d

Please sign in to comment.