Implement editing dialogs for individual monster abilities

Changes to game:
- Permanent martyr's shield is now customizable - extra1 is per-mille chance to activate each time damage is taken, and extra2 is percent of damage taken to apply to attacker
- Absort spells is now customizable - extra1 is per-mille chance to activate each time damage is taken or a magic effect is applied, and extra2 is how much hp to gain from non-damaging magic effects
- Splits ability is now customizable - extra1 is per-mille chance of splitting each time damage is taken
- Special node ability is now called before the monster tries its normal attack, and multiple monsters can use them per round (though each can only use theirs once)
- Fix issue with breath weapons and icy touch abilities conflicting (legacy import issue)
- Add two variations of the summoning ability - summon according to summoning level (like the spells), or summon a random creature of a particular species
- Fix touch abilities using the range as chance to use

Changes to dialog engine:
- Fix tab order handling to exclude fields that are currently hidden
- Add method to retrieve the parameter passed to toast(), as a quick way to distinguish between the user clicking OK or Cancel after run() has exited
- Fix hidden fields being drawn anyway
- Fix setting stack page sometimes crashing if the current page was invalid due to earlier reducing the page count to 0
This commit is contained in:
2015-01-19 12:01:28 -05:00
parent d614286fec
commit 5450ae1caf
23 changed files with 936 additions and 245 deletions

View File

@@ -1,108 +1,73 @@
No special ability
Throws darts (dam 1-6)
Shoots arrows (dam 2-12)
Throws spears (dam 3-18)
Throws rocks (dam 4-24)
Throws rocks (dam 5-30)
Throws rocks (dam 6-36)
Throws razordisks (4-24)
Throws darts
Shoots arrows
Throws spears
Throws stones
Throws rocks
Throws boulders
Throws razordisks
Throws knives
Good archer
Shoots spines
Crossbowman
Slinger (small stones)
Petrification ray
Spell point drain ray
Heat ray
Invisible
Splits when hit
Mindless (resists fear)
Breathes stinking clouds
Icy touch
Experience draining touch
Icy and draining touch
Slowing touch
Shoots webs
Good archer (dam 7-42)
Steals food when hits
Permanent martyr's shield
Paralysis ray
Dumbfounding touch
Breathes fire
Breathes frost
Breathes electricity
Breathes darkness
Breathes stinking clouds
Breathes sleep clouds
Acid spit
Shoots webs
Poisoned weapon
Acid touch
Disease touch
Absorb spells
Web touch
Sleep touch
Dumbfounding touch
Paralysis touch
Petrification touch
Acid touch
Breathe sleep clouds
Acid spit
Shoot spines (dam 7-42)
Death touch (use with care)
Invulnerable (use with care)
Guard
No ability
Experience draining touch
Icy touch
Icy and draining touch
Stunning touch
Steals food when hits
Steals gold when hits
Splits when hit
Permanent martyr's shield
Absorb spells
Summon (%5 chance)
Summon (%20 chance)
Summon (%50 chance)
Run global special during turn
Death triggers global special
Radiate fire fields
Radiate ice fields
Radiate shock fields
Radiate antimagic fields
Radiate sleep fields
Radiate stink clouds
Unused
Unused
Unused
Summon (%5 chance)
Summon (%20 chance)
Summon (%50 chance)
Unused
Unused
Death triggers global special
Unused
Percentage chance (1-100%)
Percentage chance (1-100%)
Percentage chance (1-100%)
Percentage chance (1-100%)
Percentage chance (1-100%)
Percentage chance (1-100%)
Unused
Unused
Unused
Number of creature to summon
Number of creature to summon
Number of creature to summon
Unused
Unused
Number of special to call
Radiate blade fields
Radiate webs
Custom missile ability (advanced)
Custom damage ability (advanced)
Custom status effect (advanced)
Custom field ability (advanced)
Custom petrification (advanced)
Custom SP drain (advanced)
Custom XP drain (advanced)
Custom death ability (advanced)
Custom steal food (advanced)
Custom steal gold (advanced)
Custom undead stat (advanced)
Custom weapon stat (advanced)
Custom radiate fields (advanced)
Custom summoning (advanced)
Custom long damage (advanced)
@@ -112,6 +77,28 @@ Number of special to call
Missile
Damaging
Status effect
Field creation
Petrification
Drain spell points
Drain experience
Kill
Steal food
Steal gold
Stun (status negated by life-saving)
Damaging (full attack - 4 ap)
Status effect (first attack only)
Splits when hit
Martyr's shield
Absorb spells
Web missile
Heat ray (costs 1 action point)
Call special node
Death triggers special
Radiate fields
Summon aid
@@ -120,8 +107,21 @@ Number of special to call
Darts
Bow/Arrows
Spears
Rocks
Razordisks
Spines
Knives
Crossbow/Bolts
Ray
Touch
Gaze
Breath
Spit
@@ -138,3 +138,52 @@ Burns
Harms
Stabs
Summon specific creature
Summon creature of summon type
Summon random creature of species
Chance of Activating
Chance of Activating
HP gained from non-damaging effects
Ability Range
Chance of using
Ability Range
Chance of Using
Ability Strength
Special to Call
Action Points
Chance of using
Special to Call