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

Monster on-evasion ability support, "stagger dodge" example #29654

Closed
wants to merge 13 commits into from
Closed

Monster on-evasion ability support, "stagger dodge" example #29654

wants to merge 13 commits into from

Conversation

thquinn
Copy link
Contributor

@thquinn thquinn commented Apr 17, 2019

Summary

SUMMARY: Content "Monster on-evasion ability support, 'stagger dodge' example"

NOTE: This used to include a "swapper" monster and a teleport-swap ability; check previous commits/summary revisions to have a look.

Purpose of change

I thought it would be cool to have martial-art-like abilities that punished players for missing with melee attacks.

Describe the solution

  • Added special_when_evades to monster JSON to match special_when_hit and updated docs.
  • Added STAGGER_DODGE ability which shifts monster and stuns the attacker when a monster dodges. Added it to the twisted body, which is a now pretty vanilla monster with good evasion.
  • Moved on_dodge event handling up to Creature from Player.
  • Moved adjacent_tile() up to Creature from Player.

@kevingranade
Copy link
Member

Special vulnerability, if the player shouts, " Swapper no swapping!", the special attack is disabled for an hour.

@Amoebka
Copy link
Contributor

Amoebka commented Apr 17, 2019

Seems too polarizing of an ability. If the swapper is alone the ability does absolutely nothing, if it teleports you in the middle of 8 zombies it's instant death for anything but melee superhumans (and even then escaping from the middle of the horde is down to luck).

It doesn't punish ranged players as much as it instantly kills them with little counterplay. At the very least it needs cast time and notification (so you don't instantly get swapped into a horde after turning a corner), but even then it might be too much.

If you want to punish ranged, a zombie that creates a bullet deflecting aura or maybe makes nearby zombies invisible seems like a better choice.

@ifreund ifreund added <Enhancement / Feature> New features, or enhancements on existing [C++] Changes (can be) made in C++. Previously named `Code` [JSON] Changes (can be) made in JSON Game: Balance Balancing of (existing) in-game features. Monsters Monsters both friendly and unfriendly. labels Apr 17, 2019
@Photoloss
Copy link
Contributor

I suppose making this a Nether mob/portal spawn at least significantly reduces the chance of random instagibs but for how strong the ability potentially is the other stats seem a bit high: it's insanely fast, armoured, can take more damage than a zombie, has decent melee stats, flies, has most senses unless vision ranges default to 0 and despite all that offers literally nothing to the player.

Basically I don't see how this adds any gameplay value besides an obvious "instant death radius exclusion zone" where the flaming eye already offers a more lenient version of the same basic problem. And putting the melee effect on a monster which is designed to force you into melee just seems like a dick move, what is the "intended" approach to facing these other than outranging their teleport or "be a melee god already"?

If you want to punish ranged, a zombie that creates a bullet deflecting aura or maybe makes nearby zombies invisible seems like a better choice.

If not in already aiming at zombies in "thinner" smoke/toxic haze clouds should incur massive aiming penalties and blind-firing into thick smoke should work with WIDE projectiles at most.

@Wokko1
Copy link
Contributor

Wokko1 commented Apr 17, 2019

Aren't grabber/grappler zombies supposed to "punish" melee characters by pulling them towards the horde? Also, "swapping" is a bit too magical, even for cataclysm, though the idea is not bad.

@thethunderhawk
Copy link

thethunderhawk commented Apr 17, 2019

This is a real strange one IMO. Kinda feels like forcing a mechanic where it doesn’t belong. We don’t even have teleporting monsters, yet we have this one weirdly specific teleporting creature whose ability only really makes sense within the context of a game. I think we ought to start with a creature that teleports right up to you rather than teleporting you into hazards (which could easily feel like an RNG death, kind of a bummer)

That being said, if this is happening, I think the ability should have a limited range. Also this should definitely be a rare nether spawn thing.

@ifreund
Copy link
Contributor

ifreund commented Apr 17, 2019

If the swapper is alone the ability does absolutely nothing, if it teleports you in the middle of 8 zombies...

This is a nether monster, it fights with zombies.

despite all that offers literally nothing to the player.

This really isn't a concern as far as I'm aware. Monsters always carrying treasures on them makes very little sense.

Also, "swapping" is a bit too magical, even for cataclysm

That's really not your call to make. This is a nether creature from another dimension, and it's ultimately Kevin's decision anyways.

Also this should DEFINITELY be a rare nether spawn thing.

It is.

Personally I think it would be pretty awesome to see some new mechanics and more variety in the weird stuff that nether beings cause to happen.

@Photoloss
Copy link
Contributor

This really isn't a concern as far as I'm aware. Monsters always carrying treasures on them makes very little sense.

Read on, I mean it is not deliberately tuned to gate valuable loot and also doesn't really add any engaging gameplay. Why would you ever interact with these things instead of just giving them a wide berth until you're strong enough to just faceplant kill them?

@kevingranade
Copy link
Member

I do think the teleportation at range thing is a bit much. Also thematically mingling nether creatures into the zombie horde is problematic.

I think a physical grapple that moves the player toward other melee attackers would work thematically, but I'm not sure how it works mechanically. Just swapping positions is problematic in a number of circumstances, like pulling the player through a window. If you avoid those situations it could work.

Balance wise this makes it more reasonable for a ranged player to avoid the risk of getting trapped by staying away from grapplers, as opposed to having a large area it's dangerous to enter.

@Wokko1
Copy link
Contributor

Wokko1 commented Apr 17, 2019

That's really not your call to make. This is a nether creature from another dimension, and it's ultimately Kevin's decision anyways.

You are a bit overdefensive here. I never said I'm deciding on what should be included and what not. It's just my opinion on the PR, as thquinn wanted feedback, so you don't need to try to explain something or argue with me.

@thquinn
Copy link
Contributor Author

thquinn commented Apr 17, 2019

Since people don't seem super enthusiastic about this whole swapping thing — "swapper no swapping" indeed! — I'm leaning towards removing the new monster from this PR and just keeping the special evasion framework with a simple sample ability.

@paulenka-aleh
Copy link

Can it swap with you if it sees you behind the glass? It would !FUN! to be swapped into lab alien containment chamber :D

@Night-Pryanik
Copy link
Contributor

Converting this swapper to teleporter monster would be cool. Like the decayed pouncer, but with a longer range, and not of a zombie type.

src/monevade.cpp Outdated Show resolved Hide resolved
@thquinn
Copy link
Contributor Author

thquinn commented Apr 18, 2019

Removed the swapper, and added a simplified "stagger dodge" to the twisted body.

@paulenka-aleh Ha, hadn't even considered that! Perhaps the teleswap was too beautiful to live.

@thquinn thquinn changed the title New enemy: swapper, and implement abilities on monster evasion Monster evasion ability support, "stagger dodge" example Apr 18, 2019
@thquinn thquinn changed the title Monster evasion ability support, "stagger dodge" example Monster on-evasion ability support, "stagger dodge" example Apr 18, 2019
@Mecares
Copy link
Contributor

Mecares commented Apr 18, 2019

The swapper might still have a place in the crazy cataclysm mod.

@Night-Pryanik
Copy link
Contributor

The swapper might still have a place in the crazy cataclysm mod.

Crazy Cataclysm mod is not a place to put all the unrealistic or weird stuff in. There's nothing "crazy" in the swapper. I believe Aftershock is a better place for this monster, considering its author pays little attention to realism and cares about gameplay first.

@Mecares
Copy link
Contributor

Mecares commented Apr 18, 2019

Right that would be more fitting.

@ZhilkinSerg ZhilkinSerg self-assigned this Apr 24, 2019
@ZhilkinSerg ZhilkinSerg removed their assignment May 11, 2019
@ZhilkinSerg
Copy link
Contributor

Can you please resolved conflicts?

@thquinn thquinn closed this May 31, 2019
@thquinn thquinn deleted the swapper branch May 31, 2019 09:18
@kevingranade
Copy link
Member

This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/underground-galore-idea/20315/34

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` <Enhancement / Feature> New features, or enhancements on existing Game: Balance Balancing of (existing) in-game features. [JSON] Changes (can be) made in JSON Monsters Monsters both friendly and unfriendly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet