Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#743 closed change (fixed (in master))

Add damage estimates for monster spells and spell-like abilities

Reported by: stefanor@… Owned by: magnate
Milestone: 3.1.2 beta Keywords: recall
Cc:

Description

I think no threshold for uses is necessary; monster spells and breath attacks are fairly deterministic, and "can I survive this" is often a much more pressing issue than it is with melee attacks.

Breath is a slight complication since it depends on current HP, so it should depend on the HP that the monster would have if it had the current %, rounded up to the nearest 10%, of its nominal HP.

Attachments (1)

monster_memory.zip (12.0 KB) - added by Marble Dice 10 years ago.
Patch for average damage, new colors, better organization

Download all attachments as: .zip

Change History (7)

comment:1 Changed 10 years ago by magnate

This should now be a lot easier with the _DMG macros in monster/constants.h - though I guess it will mean a fourth option to dam_aspect (AVERAGE), which will mean adding an additional case in init1.c

comment:2 Changed 10 years ago by magnate

  • Keywords recall added

Changed 10 years ago by Marble Dice

Patch for average damage, new colors, better organization

comment:3 Changed 10 years ago by Marble Dice

The patch also addresses issues from #532.

  • The average damage follows all relevant breath attacks, spells, and spell-like abilities. The quoted damage values do not consider any resistance, opposition, or immunity your character might have, and breath damage is only shown if you know the monster's average life, and are calculated for a monster at full health.
  • Armor and life was moved so that it immediately follows type and speed. The drops immediately follow the experience reward. The special abilities (shrieking, arrows), breath weapons, spells, and melee attacks are all next to each other, at the end of the paragraph.
  • Basic numbers (life, armor, depth, aware distance) are light cyan, as are monster types (orc, undead, etc). Experience and drops are bright blue. Resistances are brown, vulnerabilities are violet.
  • Contextual coloring on spells was added. In general, they go green, yellow, orange, bright red in ascending order of danger. Orange usually means unresisted damage. The basic four elements are orange for no resist, yellow for resist, and green for immunity. Most other elements are orange for no resist, and green for resist. Summons are orange or red, curses are usually yellow, but turn green when you get a perfect save.

comment:4 Changed 10 years ago by magnate

  • Owner set to magnate
  • Status changed from new to assigned

Keen to incorporate this patch. Just a few points:

  1. It seems to be based on an older trunk - the damcalc() function has had the AVERAGE aspect for a while. This means you don't need to change init1.c at all, but can just post a patch to monster1.c (quite a lot of the patch was whitespace changes to init1.c).
  1. You don't need to define your own min and max macros, they're in h-basic.h (in caps: MIN(a, b) and MAX(a, b)).

Unfortunately the patch doesn't apply to [a8af680] (SVN r1693) (all hunks fail, or I get a malformed patch error). If it's not too much work, could you create a new patch against HEAD?

comment:5 Changed 10 years ago by magnate

  • Resolution set to fixed
  • Status changed from assigned to closed

[c99f580] (SVN r1696) - thanks to Marble Dice.

comment:6 Changed 10 years ago by magnate

  • Milestone changed from 3.1.3 to 3.1.2 beta
Note: See TracTickets for help on using tickets.