-
Notifications
You must be signed in to change notification settings - Fork 503
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
Golem enhancements #8553
base: master
Are you sure you want to change the base?
Golem enhancements #8553
Conversation
this should not have taken me 4 hours but it did so here we are.
there's still an issue where they'll stay locked onto their target permanently once they charge.
still need to test coal!!!
there is also a handful of code changes affecting grabs and superior animals that I needed to make to make some of this possible (mostly the enhanced coal golems honestly) so I'm praying for no merge conflicts |
limited CPU and its consequences on the human race
it knocks players out in only a few shots- it's disproportionately strong for the level it's introduced at.
This is in a functional state now, and works as intended. The balance in seismic levels 4, 5 and 6 are untested; I can't test a difficulty alone if that difficulty is designed to be near impossible. Hopefully this can end up on the test server for a bit before merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably good, should be tested
|
||
var/list/mob/living/carbon/superior_animal/golem/golems_to_spawn = list() | ||
|
||
switch(seismic_lvl) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be simpler and easier to balance to have a dictionary of golem weights for each seismic level instead of this messy switch with a lot of ternary statements but i guess it works
|
||
// OneStar patrol borg that defends OneStar facilities | ||
GLOBAL_LIST_EMPTY(all_golems) // golems check this list to loop over allies | ||
GLOBAL_LIST_EMPTY(active_golems) // smaller list that only contains golems with a current target mob |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can make a golem SS for this :mitosis:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no idea how subsystems work
About The Pull Request
psa: if I say difficulty or level I mean seismic level.
This PR reworks golems, making them more unique, making their AI far more lethal and adjusting spawns to complement both a more controlled learning curve for new players and making higher difficulties signifigantly harder.
Improve, replace and add golem types:
Level 1:
Coal and iron golems. They're mostly unchanged from before.
Level 2:
Silver golems: ranged enemies that fire stun bolts.
Level 3:
Platinum golems: A melee enemy that charges at players for a high damage attack unless dodged.
Uranium golems: Mostly unchanged from before. They heal nearby golems as before, but now they will also try to follow targets at a distance without themselves attacking.
Level 4:
Coal golems are replaced by graphite golems: They grab players instead of dealing damage normally, locking them in place for other golems to deal a killing blow.
Plasma golems: Suicide bombers. They can no longer be defused, and will begin detonating on their own if they enter melee range.
Level 5:
Gold golems: Ranged lethal golems, they spawn spikes under their target, which will damage non-golems standing on them if they don't move out of the way quickly enough.
Silver golems replaced by ancient silver golems: They retreat if their target gets too close, making them harder to kill with a single melee attack.
gold golems are a reference to something...
Level 6:
Diamond golems: Unchanged. Very high health tanks.
Ansible golems: Mostly the same as before, except they'll maintain a distance away from their target, fleeing if too close.
Rework golem spawns to be weighted and follow a few difficulty-dependent rules:
Signifigant golem AI improvements:
I hope this PR can see some player testing before a full merge; it's not really possible for me to balance higher difficulties alone when they're designed to be impossible alone.
Why It's Good For The Game
Mining is boring and repetitive. By diversifying enemies and making them unique, mining may even become fun again. It's also really easy? This should make it wayyyy tougher. Difficulties mean nothing if you can take on max difficulty with your starting equipment and an inkling of practice.
Testing
Individually tested golems on the ship by spawning them and testing their behaviour. All of them work individually in a vacuum, and the AI improvements work with groups.
I confirmed golems spawn properly in caves, in the groups they are expected to spawn in with proper spacing between spawns.
I tried to test them in the wild, by playing some miner and doing a seismic level 2 cave. This failed, miserably. I cannot test gameplay currently because it's too hard for me.
Hell.1.-.Trim.mp4
(please ignore the bgm I don't know how to edit it out)
Changelog
🆑
add: Gold golems; lethal ranged enemies that summon spikes under their target
balance: massive difficulty increase for cave mining; Spawns have been reworked to spawn golems in groups with types dependent on seismic level. Additionally, new types have been added, some have been reworked and their AI has been tuned up to let them see further and attack in coordinated groups, making it far more difficult to pick them off alone.
imageadd: added icons for gold golem spikes
code: Basic grab functionality for superior animals; their AI still isn't set to do this, so it must be trigged externally by each mob that intends to grab.
/:cl: