Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Let Them Eat Dirt - Elzu Rooting #2949

Merged
merged 41 commits into from
May 13, 2024

Conversation

Gristlebee
Copy link
Contributor

@Gristlebee Gristlebee commented May 1, 2024

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.

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.

Changelog

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

@github-actions github-actions bot added the Code change Watch something violently break. label May 1, 2024
@Skies-Of-Blue
Copy link
Contributor

He's Rooting You Know

@Gristlebee Gristlebee marked this pull request as ready for review May 1, 2024 23:57
@thgvr
Copy link
Member

thgvr commented May 5, 2024

Please convert all the span_class = stuff to span macros

@Gristlebee
Copy link
Contributor Author

All spans have been made into macros as requested.

Co-authored-by: FalloutFalcon <[email protected]>
Signed-off-by: Gristlebee <[email protected]>
Copy link
Member

@FalloutFalcon FalloutFalcon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shoulda made everything before this part of one review. Oops

@@ -259,8 +356,8 @@
default_color = sanitize_hexcolor(new_etherealcolor, 6, TRUE)
current_color = health_adjusted_color(H, default_color)
spec_updatehealth(H)
H.visible_message("<span class='notice'>[H] modulates \his EM frequency to [new_etherealcolor].</span>")
H.visible_message(span_notice("[H] modulates \his EM frequency to [new_etherealcolor]"))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

modern way of doing this.

Suggested change
H.visible_message(span_notice("[H] modulates \his EM frequency to [new_etherealcolor]"))
H.visible_message(span_notice("[H] modulates [H.p_their()] EM frequency to [new_etherealcolor]"))

Comment on lines 305 to 306
to_chat(H,span_warning("You begin to lose control over your charge!"))
H.visible_message(span_danger("[H] begins to spark violently!"))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
to_chat(H,span_warning("You begin to lose control over your charge!"))
H.visible_message(span_danger("[H] begins to spark violently!"))
H.visible_message(span_danger("[H] begins to spark violently!"), span_warning("You begin to lose control over your charge!"))

@Gristlebee Gristlebee requested a review from a team as a code owner May 12, 2024 08:39
@github-actions github-actions bot added DME Edit Sprites A bikeshed full of soulless bikes. labels May 12, 2024
@Gristlebee
Copy link
Contributor Author

I took Falcon's suggestion of using signals and defines for rooting, and it definitely looks much much better I think. I'll get to the rest later, but rooting itself works.

code/datums/mood_events/generic_positive_events.dm Outdated Show resolved Hide resolved
@@ -1,5 +1,13 @@
#define ELZUOSE_EMAG_COLORS list("#00ffff", "#ffc0cb", "#9400D3", "#4B0082", "#0000FF", "#00FF00", "#FFFF00", "#FF7F00", "#FF0000")

#define GOOD_SOIL list(/turf/open/floor/plating/grass, /turf/open/floor/plating/dirt, /turf/open/floor/ship/dirt, /turf/open/floor/grass/ship, /turf/open/floor/plating/asteroid/whitesands/grass, /turf/open/floor/grass/fairy/beach)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#define GOOD_SOIL list(/turf/open/floor/plating/grass, /turf/open/floor/plating/dirt, /turf/open/floor/ship/dirt, /turf/open/floor/grass/ship, /turf/open/floor/plating/asteroid/whitesands/grass, /turf/open/floor/grass/fairy/beach)
#define GOOD_SOIL list(/turf/open/floor/plating/grass, /turf/open/floor/plating/dirt, /turf/open/floor/plating/asteroid/whitesands/grass, /turf/open/floor/grass/fairy/beach)

This is more like astroturf than grass, just make sure it's all of the planetary ""soil"" types.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those are the grass/dirt subtypes the SRM ships use AFAIK which is lorewise proper soil? It's turf/open/grass that's the astroturf

icon_icon = 'icons/obj/flora/plants.dmi'
background_icon_state = "bg_alien"

/datum/action/innate/root/Activate()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lowercase, snake_case is the standard versus Pascal_Case or camel_Case

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so turns out all the parent procs in action.dm are capitalized like this, and it's tied to a whole bunch of child procs. Would it be okay if I left this as is for now, and fix it in another PR, or should I change it here?

_human.remove_status_effect(/datum/status_effect/rooted)
return

/datum/action/innate/root/IsAvailable()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again, snake_case please

@@ -14,6 +22,7 @@
attack_type = BURN //burn bish
exotic_bloodtype = "E"
damage_overlay_type = "" //We are too cool for regular damage overlays
species_age_max = 300
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated, but we really need to add some handling to guestbook age code that bases the age off of this variable instead of how it works now.

@thgvr thgvr added this pull request to the merge queue May 13, 2024
Merged via the queue into shiptest-ss13:master with commit 05a1110 May 13, 2024
14 checks passed
MysticalFaceLesS pushed a commit to CeladonSS13/Shiptest that referenced this pull request May 19, 2024
<!-- 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code change Watch something violently break. DME Edit Sprites A bikeshed full of soulless bikes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants