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

Changes to Monster Definitions #2024

Closed
GlyphGryph opened this issue Jul 12, 2013 · 3 comments

Comments

Projects
None yet
3 participants
@GlyphGryph
Copy link
Contributor

commented Jul 12, 2013

In preparation for the combat changes I'll be working on over the next two months, I'll need to make the following change to monster definitions.

This is a work in progress, and may not be the final form for this feature!

Note that as a players skill and knowledge of the particular monster rises, they will become more likely to avoid armor and hit weak points:

regeneration: 3.4, //The amount the monster heals every one hundred tics. Can contain fractions
cut_resist: 10, //The monster's resistance to cutting damage, as a percent.
bash_resist: 25, //The monster's resistance to bashing damage and sudden forces
pierce_resist: 5, //The monster's resistance to holes being made in their body
armor: [
[ 25, "chitin skin", 2, 1], //Name, armor coverage percent, flat damage prevented by hard layers, flat damage prevent by soft layers. Hard armor absorbs cutting damage better. Soft armor absorbs bash damage better. A monster may have multiple armor values.
[ 60, "chitin shell", 10, 2] // Armor that would bring the value above 100% is ignored, as armor is applied on a first come first served basis. Weak points work from the same percentage, so putting armor percents too high will force out weak points.
]
weak_points: [ //A monster needs weak points to be susceptible to criticals
[ 5, "eyes", 100, 0, 0, 15, "BLIND", "BLIND"], // Likelihood of part being hit, part name, bonus damage, hard armor, soft armor, total health before being destroyed, and conditions partially inflicted if part is damaged, followed by conditions inflicted if part is destroyed.
[ 5, "brain", 300, 0, 0, 30, "STUPID", "LETHAL"]
]

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@ghost ghost assigned GlyphGryph Jul 12, 2013

@i2amroy

This comment has been minimized.

Copy link
Member

commented Jul 13, 2013

Sounds great. I would like a little more clarification on exactly how the hit process would work under this new system. Do you think you could post just a short example of when certain percentages/armor reductions would apply?

@GlyphGryph

This comment has been minimized.

Copy link
Contributor Author

commented Jul 13, 2013

The math for that is actually pretty simple. First, assume an attack hits, then get a random number from 1 to 100. Then determine the hit distribution. Armored areas occupy the bottom of this scale, with most effective armor coming first, with ties broken in the order they appear in the definition. Critical areas occupy the top of the scale, with an order weighting depending primarily on the damage bonus (armor is less of a consideration). Better zones to hit come last.
For the above monster, the distribution would be:
1-60 (chitin shell) 61-85 (chitin skin) 86-90 (normal) 91-95(eyes) 96-100(brain)

The player's skill with their weapon then shifts the randomly determined value up by 1 point per level in melee, 2 points per level in cutting or bashing (times the percent the weapon is that type) and 3 points per level in piercing (again, time the percent). Round down.

So let's give our player a weapon that's half piercing half cutting, a melee skill of 3 and a piercing skill of 4 and a cutting skill of 1. We randomly roll a 78 (Chitin Skin). We add 1x3 points for the melee skill, bringing it to 81, and then 2x1x50%=1 cutting to bring it to 82, and then 3x4x50%=6 piercing to bring it to 88.

So we get a normal hit (which, for this weird monster, is just finding a chink in the armor and hitting soft, supple flesh) with our sword and don't have to deal with any armor.

Note that if this was an intelligent creature, it might be capable of mounting a defense, the same way the player is. If so, the defense values would bring this number back down as the creature guards it's vitals with it's more heavily protected areas. There will be ways to get around this, like attacking a creature before it has identified you as a threat, knocking the creature down, or rendering it stupid with the aid of poisons, but for most basic creatures this is unlikely to play a large role if it plays one at all.

@illi-kun

This comment has been minimized.

Copy link
Member

commented Nov 4, 2016

This issue was closed as it appears inactive.

Reducing open issues to those which are (or will) be actively worked upon helps us focus our efforts. This issue has not been deleted - it still appears in searches and if it contains relevant information you are encouraged to continue to link to it.

If this issue was a bug

It should be reopened if it can be reproduced in the current build. You can obtain the most recent copy here. Please check there is not a more recent report of this bug before doing so. If no more recent report exists you should continue the discussion in this issue.

If this was a feature request

If the consensus was that the idea was good you could consider submitting an implementation via a PR. If you want to comment further please do so here as opposed to opening a new issue. Before posting check nobody has already made the same point and consider whether your comments are likely to lead to an implementation. If you have doubts about either consider instead voting for the issue

If you want to work on this issue

Then either assign it to yourself or if you are unable to do so claim it via adding a comment. Please don't assign others or make a general request for action.

@illi-kun illi-kun closed this Nov 4, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.