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

The dissoluted devourer zombie #34057

Merged
merged 45 commits into from Oct 22, 2019
Merged

The dissoluted devourer zombie #34057

merged 45 commits into from Oct 22, 2019

Conversation

free-coffee
Copy link
Contributor

@free-coffee free-coffee commented Sep 15, 2019

Summary

SUMMARY: Content "Added the dissoluted devourer evolution to the decayed zombie."

Purpose of change

The decayed zombie is an Tier 1 end of the evolution-tree. They fall of in effectivness in the late game. To create a later game-tank different from hulks with dedicated growth-through-combining-with-zombies-mechanic i added the dissoluted devourer.

Describe the solution

Adding the "mon_devourer" monster, special attack "ZOMBIE_FUSE" and effect "grown_of_fuse". Additionally expanding the effect-modifieres for monsters with dodge, block, hit, bash, cut and size (which effects volume+weight). These are realised as standard modification in monster::process_one_effect. (Added get_max_intensity to the effekt type).
Added the mon_devourer as a flat evolution of the decayed zombie. It will combine with adjecent zombies of equal or smaller size and add the growth effect with the intensity of the other monsters hp until the maximum is reached. The intended strategy is to isolate or kill it before it grows. It's current growth can be seen by looking at it an monitoring it's size.
The changes to modifiers and size-visibility are basic roleplaying stuff imo.
Edit: To prevent overhead through adding data to monster an 'Modified' flag which leads monsters to search through their effect-data for bonus/modifier values on cicumstances (like stating their size) is implemented.

Describe alternatives you've considered

I wanted to realise the health addition as an health-mod for monsters. First one i scrapped since it fits to just use overhealing.

Additional context

The description window looks like this (with the space between big+dot removed):
cata1
Im not sure if the format is good, since the size will be visible for some monsters.

@free-coffee free-coffee changed the title The fused zomby The fused zombie Sep 15, 2019
data/json/monsters/monsters.json Outdated Show resolved Hide resolved
data/json/monsters/monsters.json Outdated Show resolved Hide resolved
data/json/monsters/monsters.json Outdated Show resolved Hide resolved
@John-Candlebury
Copy link
Member

This is really nice! I like the concept!

@dunstad
Copy link
Contributor

dunstad commented Sep 15, 2019

Thematically the crawler seems like the ideal first stage for the fused. Might not be as useful gameplay-wise, as I don't know how often they show up.

src/monattack.cpp Outdated Show resolved Hide resolved
src/monattack.cpp Outdated Show resolved Hide resolved
src/monattack.cpp Outdated Show resolved Hide resolved
src/monattack.cpp Outdated Show resolved Hide resolved
@free-coffee free-coffee changed the title The fused zombie The dissoluted devourer zombie Sep 16, 2019
src/monattack.cpp Outdated Show resolved Hide resolved
src/monattack.cpp Outdated Show resolved Hide resolved
@ZhilkinSerg ZhilkinSerg added [C++] Changes (can be) made in C++. Previously named `Code` [JSON] Changes (can be) made in JSON labels Sep 17, 2019
@kevingranade
Copy link
Member

I like the idea, but I don't like adding members to the monster class that are only going to be used by a handful of monsters. Every monster in existence is going to be dragging these values around, and it really adds up.

src/monster.cpp Outdated Show resolved Hide resolved
Co-Authored-By: BevapDin <tho_ki@gmx.de>
@free-coffee
Copy link
Contributor Author

free-coffee commented Sep 20, 2019

@kevingranade : Ok, i'll think of a better solution. They are dragging around 10 bonuses inherited from creature in the current game.
Edit: I think moving the weapon related bonuses to charater and creating a subclass 'MonsterDynamic' which holds monster-related bonuses would be my choice. Maybe then monsters (with a dynamic flag) spawn as dynamic, and the others can't have modifiers. If someone wants to implement AOE buffs or similar the impl. can be handled in the subclass.
Edit 2: Better/Less messy solution: To prevent overhead through adding data to monster an 'Modified' flag which leads monsters to search through their effect-data for bonus/modifier values on cicumstances (like stating their size) is implemented. This should prevent the overhead from size and lead to minimal changes.

@free-coffee free-coffee changed the title The dissoluted devourer zombie The dissoluted devourer zombie and creature class-tree refracturing Sep 22, 2019
@free-coffee free-coffee changed the title The dissoluted devourer zombie and creature class-tree refracturing WIP:The dissoluted devourer zombie and creature class-tree refracturing Sep 22, 2019
free-coffee added 2 commits September 22, 2019 20:16
Merge remote-tracking branch 'origin/mon-add' into mon-add
# Conflicts:
#	src/monster.cpp
@free-coffee free-coffee changed the title WIP:The dissoluted devourer zombie and creature class-tree refracturing WIP:The dissoluted devourer zombie Sep 24, 2019
@free-coffee free-coffee changed the title WIP:The dissoluted devourer zombie The dissoluted devourer zombie Oct 6, 2019
@free-coffee
Copy link
Contributor Author

Now it works with minimal data usage (one bit) on usual monsters to meet @kevingranade s concern. Once a modifier-effect/growing is applied the effect saves the bonus and the 'MODIFIED'-bit tells the monster it has to use it.

@free-coffee free-coffee closed this Oct 8, 2019
@free-coffee free-coffee reopened this Oct 8, 2019
@free-coffee free-coffee closed this Oct 9, 2019
@free-coffee free-coffee reopened this Oct 9, 2019
@free-coffee free-coffee reopened this Oct 12, 2019
@kevingranade kevingranade merged commit 46ae118 into CleverRaven:master Oct 22, 2019
@free-coffee free-coffee deleted the mon-add branch October 23, 2019 10:04
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` [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

8 participants