A dungeon in every area
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
cd44709d80
commit
60b446acfd
3 changed files with 242 additions and 10 deletions
34
combat.py
34
combat.py
|
|
@ -176,6 +176,40 @@ ENEMY_ABILITIES = {
|
|||
"shriek": {"name": "Shriek", "cast": 2.0, "every": 9, "first": 4, "interrupt": True,
|
||||
"target": "all", "effect": ("aoe", 1.4, "magic")},
|
||||
}
|
||||
|
||||
|
||||
def _curse(name, school):
|
||||
"""A boss's must-interrupt: one target, very hard, every few seconds."""
|
||||
return {"name": name, "cast": 2.0, "every": 6, "first": 4, "interrupt": True, "target": "target",
|
||||
"effect": ("hit", 3.5, school)}
|
||||
|
||||
|
||||
def _storm(name, school):
|
||||
"""An interruptible blast at everyone."""
|
||||
return {"name": name, "cast": 2.0, "every": 9, "first": 4, "interrupt": True, "target": "all",
|
||||
"effect": ("aoe", 1.4, school)}
|
||||
|
||||
|
||||
def _quake(name, school):
|
||||
"""A slow blast at everyone that can't be stopped: brace for it."""
|
||||
return {"name": name, "cast": 3.0, "every": 18, "first": 10, "interrupt": False, "target": "all",
|
||||
"effect": ("aoe", 1.6, school)}
|
||||
|
||||
|
||||
# Each dungeon's bosses, named for who casts them.
|
||||
ENEMY_ABILITIES.update({
|
||||
"hex_storm": _storm("Hex Storm", "magic"), "crushing_decree": _curse("Crushing Decree", "blunt"),
|
||||
"royal_stomp": _quake("Royal Stomp", "blunt"), "witchfire": _storm("Witchfire", "magic"),
|
||||
"cheap_shot": _curse("Cheap Shot", "pierce"), "execute": _curse("Execute", "slash"),
|
||||
"whirlwind": _quake("Whirlwind", "slash"), "rune_blast": _curse("Rune Blast", "magic"),
|
||||
"venom_spray": _storm("Venom Spray", "magic"), "grave_chill": _curse("Grave Chill", "magic"),
|
||||
"soul_rend": _quake("Soul Rend", "magic"), "forge_blast": _curse("Forge Blast", "magic"),
|
||||
"war_cry": _storm("War Cry", "slash"), "acid_spit": _curse("Acid Spit", "magic"),
|
||||
"acid_breath": _quake("Acid Breath", "magic"), "deep_freeze": _curse("Deep Freeze", "magic"),
|
||||
"wail": _storm("Wail", "magic"), "frost_lance": _curse("Frost Lance", "magic"),
|
||||
"frost_breath": _quake("Frost Breath", "magic"), "void_bolt": _curse("Void Bolt", "magic"),
|
||||
"flame_wave": _storm("Flame Wave", "magic"), "inferno": _curse("Inferno", "magic"),
|
||||
})
|
||||
ARCHETYPE_ABILITIES = {"brute": ["heavy_slam"], "skirmisher": ["lunge"], "caster": ["hex_bolt"],
|
||||
"elite": ["heavy_slam"], "boss": ["heavy_slam", "sweep"], "dragon": ["fire_breath", "tail_swipe"]}
|
||||
ENRAGE = {"elite": (0.3, 1.4), "boss": (0.3, 1.4), "dragon": (0.25, 1.5)} # under this share of HP, hits this much harder
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue