Skip to content

Behemoth V2 - Complete Rework#18481

Open
lKiseki wants to merge 15 commits into
tgstation:masterfrom
lKiseki:beherework
Open

Behemoth V2 - Complete Rework#18481
lKiseki wants to merge 15 commits into
tgstation:masterfrom
lKiseki:beherework

Conversation

@lKiseki

@lKiseki lKiseki commented Nov 28, 2025

Copy link
Copy Markdown
Contributor

About The Pull Request

Check out the design document here.


Completely reworks Behemoth from the ground up. Its role in a hive has been redesigned, and its abilities have been changed to better accommodate for what is intended and expected of it. Visual and sound effects have also been changed here and there in lieu of changes and additions. Lastly, this PR also refactors most of the coding related to this caste.

To do:

  • (OPTIONAL) Replace Earth Pillar's icon with a basketball for Silly Mode.
  • (OPTIONAL) Complete resprite of Behemoth (commissioned GregorMN for this).

Why It's Good For The Game

Behemoth has been in a weird spot ever since its introduction into the game. It tried to do various things at once, and it failed to compete with marines and most other castes. This PR aims to properly define its identity and reflect that in its kit, while also making it an attractive pick for our players.

Credits

Changelog

🆑 Lewdcifer
add: Behemoth has been COMPLETELY reworked from the ground up.
spellcheck: The changelog only offers a very brief overview, so if you're interested in specifics, refer to the pull request.
add: Added a new ability, Seize. Fast movement option that requires Earth Pillars to function.
add: Added a new ability, Geocrush. Heavy melee damage.
del: Rolling ability removed.
del: Seismic Fracture removed.
balance: Redesigned Earth Riser, as well as Earth Pillars, to be faster, resilient, and versatile, but more limited in access, damage, and range.
balance: You can now climb and jump over Earth Pillars.
balance: Landslide redesigned to be much faster in execution, similarly to its now deprecated Primordial variant, at the expense of damage and reach.
balance: Primal Wrath, the Behemoth's primordial ability, has been completely redesigned. Instead of upgrading all of your abilities, it will now restore all damage taken in a time window, while providing a few seconds of invulnerability, in exchange for a stacking temporary debuff.
balance: Allied xenos can no longer ride the Behemoth.
add: Added various statistic trackers for several Behemoth actions.
soundadd: Added a few new sounds for Earth Pillars, Landslide, and Geocrush.
sounddel: Removed unused sounds related to Behemoth.
imageadd: Added some new sprites for Earth Pillars, Landslide, and Geocrush. Also reorganized Behemoth's stuff.
imagedel: Removed unused sprites related to Behemoth.
fix: Squashed some bugs and fixed some glitches or unintended behavior related to Behemoth.
refactor: Refactored most, if not all, coding related to Behemoth.
/:cl:

@tttruancy

Copy link
Copy Markdown

I hope it's bigger defender 🥹🙏

@lKiseki lKiseki marked this pull request as ready for review November 30, 2025 09:07

@Lumipharon Lumipharon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

First pass. Lots more but a whole bunch of this stuff is just repeated minor issues for you to sort out

Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/_mutations_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/castedatum_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated

/obj/effect/temp_visual/behemoth/stomp/east/Initialize(mapload, direction)
/* to do: need damage icons

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

hi todo

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah, I do need sprites for Earth Pillar. I'll see if I can get those sometime soon.

Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated

@Lumipharon Lumipharon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

some review on the updates

Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated

/// Applies various effects to a selection of tiles in front of the user.
/datum/action/ability/activable/xeno/landslide/proc/on_move(datum/source, atom/old_loc, movement_dir, forced, list/old_locs)
/datum/action/ability/activable/xeno/landslide/proc/user_move(datum/source, atom/old_loc, movement_dir, forced, list/old_locs)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

its not a big deal but I meant something like /on_owner_move() or something so its just very clear exactly what is happening here and why.
The action isn't moving, the proc isn't moving the user either, its doing something because the owner moved.

@lKiseki lKiseki Dec 11, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I've changed this and the pre move proc to owner_moved and owner_pre_move respectively.

Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
// ***************************************
// *********** Earth Pillar
// ***************************************
#define isearthpillar(A) (istype(A, /obj/structure/xeno/earth_pillar)) // So that we don't need to repeat the type path.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this should be in the file with the other isx defines

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in next commit.

@TiviPlus TiviPlus added the Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. label Dec 31, 2025
@despong

despong commented Dec 31, 2025

Copy link
Copy Markdown
Contributor
  1. I think hitting someone directly with a pillar should do some damage
    Very weird to nail someone in the forehead with a huge ass boulder and all it does is knock them down (under the rock)

  2. Landsliding into a vehicle allows you to slide under/pass it
    Considering how fucking awkward it is to engage a vehicle sometimes especially with a telegraphed move like Landslide
    imagine you are parallel (or become parallel) to the hull and it drives into you and you decide to ram into it with Landslide (and hopefully hop on)
    or you slide underneath and you get pushed backwards (into a marine mob) uhhhhhhh uhhhhhhhhhhh uhhhhhh fuck that

  3. Geocrush can't be used against vehicles, don't know about structures (though it'd make it more like warrior punch x2 so I have no idea if you want it to do that)

  4. It's still 2025 here

@UltraBigRat

Copy link
Copy Markdown

Played it and this is a pretty awesome rework. My only real issue was how long the cooldown on getting a new rock is, but its a pretty fair balance decision still with how strong it is here.

@Jackal-boop

Copy link
Copy Markdown

As long as they can still eat rocks im happy

@TiviPlus TiviPlus added Merge Conflict Pull request is in a conflicted state with base branch. Feature New interesting mechanics with new interesting bugs labels Apr 17, 2026
@TiviPlus

Copy link
Copy Markdown
Member

fix conflict for metge

@lKiseki

lKiseki commented Apr 18, 2026

Copy link
Copy Markdown
Contributor Author
  1. I think hitting someone directly with a pillar should do some damage
    Very weird to nail someone in the forehead with a huge ass boulder and all it does is knock them down (under the rock)

I'll discuss this with Lumi to see what they think.

  1. Landsliding into a vehicle allows you to slide under/pass it
    Considering how fucking awkward it is to engage a vehicle sometimes especially with a telegraphed move like Landslide
    imagine you are parallel (or become parallel) to the hull and it drives into you and you decide to ram into it with Landslide (and hopefully hop on)
    or you slide underneath and you get pushed backwards (into a marine mob) uhhhhhhh uhhhhhhhhhhh uhhhhhh fuck that

This is an issue with most forms of throws (such as Runner and Hunter's pounces, Defender's charge, and so on). The xeno will just go under the tank, which can result in awkward scenarios like these. I'll see what I can do to fix it for Behemoth, at least.

  1. Geocrush can't be used against vehicles, don't know about structures (though it'd make it more like warrior punch x2 so I have no idea if you want it to do that)

More walance stuff, so I'll also discuss it with Lumi.

  1. It's still 2025 here

not anymore it isn't >:)

@github-actions github-actions Bot removed Merge Conflict Pull request is in a conflicted state with base branch. Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. labels Apr 18, 2026
@lKiseki

lKiseki commented Apr 18, 2026

Copy link
Copy Markdown
Contributor Author

List of changes since last test merge

Stat changes

  • Melee damage reduced from 28 to 26.
  • Armor penetration increased from 10 to 15.

Earth Riser

  • Hitting a target directly with a rock (as in, having it land on top of them) will now deal brute damage equal to the Behemoth's slash damage.

Earth Pillars

  • Reduced their armor against melee attacks and bullets.
    • Before: 60 melee and 50 bullet.
    • After: 40 melee and 40 bullet.
  • Health bar is now visible to everyone, not just xenos. Besides being good for clarity, it's also a way for me to compensate for the lack of damage representation on the icons, since I couldn't get those.

Geocrush

  • Increased the percentage of stamina damage dealt by this ability, from 50% of the Behemoth's slash damage to 100% of it.
  • This ability can now hit objects of all kinds (including vehicles like APCs and tanks), not just living mobs, dealing an amount of damage equal to the Behemoth's slash damage. Against objects specifically, this is multiplied by 4.

Bug fixes

  • Fixed a bug where an Earth Pillar's health bar wouldn't update in certain circumstances.
  • Fixed a bug where Geocrush could hit allied xenos.
  • Removed a leftover message for admins from debugging (hi Titan).

Code stuff

  • Moved isearthpillar to is_helpers.dm, together with other similar procs.
  • Added various new comments, and edited some existing ones, to better explain what I'm doing throughout the file.
  • Earth Pillars now use the climbing component instead of the var.
  • Removed some commented code regarding Earth Pillar icons. I couldn't get these, but the health bar being visible to everyone should make up for it until then.
  • Adjusted Geocrush's target acquisition, and relevant checks, to account for the changes specified above.
  • Adjusted button code to be compatible with Geocrush's intended functionality.

@lKiseki

lKiseki commented Apr 18, 2026

Copy link
Copy Markdown
Contributor Author

HI MAINTAINERS PLEASE TEST MERGE THIS DO NOT MERGE IT I MADE BIG CHANGES THAT NEED TESTING

thank you

@Lumipharon Lumipharon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Most of this is OK at a quick review, but some of these geocrush interactions are pretty cursed.

Comment thread code/__DEFINES/mobs.dm Outdated
Comment thread code/datums/personal_statistics.dm
Comment thread code/modules/mob/living/carbon/xenomorph/abilities.dm
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
Comment thread code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm Outdated
@Lumipharon Lumipharon added Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. Test Merge Only labels May 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature New interesting mechanics with new interesting bugs Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. Test Merge Only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants