Merge pull request #4479 from nemaara/DiD_AMLAs
[DiD]: add AMLAs to Mal Keshar and special units
This commit is contained in:
commit
7ea11c5a01
17 changed files with 3934 additions and 33 deletions
|
@ -60,6 +60,7 @@
|
|||
[/campaign]
|
||||
|
||||
#ifdef CAMPAIGN_DESCENT
|
||||
{campaigns/Descent_Into_Darkness/utils}
|
||||
[units]
|
||||
{campaigns/Descent_Into_Darkness/units}
|
||||
[/units]
|
||||
|
@ -71,7 +72,6 @@
|
|||
wesnoth.dofile('campaigns/Descent_Into_Darkness/lua/' .. 'skip_animations.lua')
|
||||
>>
|
||||
[/lua]
|
||||
{campaigns/Descent_Into_Darkness/utils}
|
||||
{campaigns/Descent_Into_Darkness/scenarios}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -963,6 +963,13 @@
|
|||
time=400
|
||||
[/delay]
|
||||
|
||||
[unit]
|
||||
x,y=$x1,$y1
|
||||
type=Spectral Servant
|
||||
variation=SS1
|
||||
overwrite=yes
|
||||
[/unit]
|
||||
|
||||
[message]
|
||||
speaker=Malin Keshar
|
||||
message= _ "I think I’ve got it under control again. That was a close call. Let me try the other one now."
|
||||
|
@ -996,7 +1003,12 @@
|
|||
|
||||
[message]
|
||||
speaker=Darken Volk
|
||||
message= _ "No mishaps this time, but you will need to practice more."
|
||||
message= _ "No mishaps this time. Good. Now pay heed. A necromancer’s first ghost is often special — use it carefully, and it will serve you well. Let it escape your control again, and it will be lost to you forever."
|
||||
[/message]
|
||||
|
||||
[message]
|
||||
speaker=Malin Keshar
|
||||
message= _ "I see."
|
||||
[/message]
|
||||
|
||||
{CLEAR_VARIABLE loc1}
|
||||
|
|
|
@ -881,7 +881,7 @@
|
|||
{REMOVE_IMAGE $loc.x $loc.y}
|
||||
|
||||
[unit]
|
||||
type=Ghoul
|
||||
type=Ghoul DiD
|
||||
id=DroganGhoul
|
||||
name= _ "Drogan"
|
||||
x,y=$loc.x,$loc.y
|
||||
|
|
|
@ -3048,26 +3048,8 @@ And the tongue of fire begets ashen repose.</i>"
|
|||
message= _ "Fire magic. Annoying, but you are not the only one who can summon minions to your aid."
|
||||
[/message]
|
||||
|
||||
[if]
|
||||
[have_unit]
|
||||
side=1
|
||||
type=Spectre,Nightgaunt,Wraith,Shadow,Ghost
|
||||
search_recall_list=yes
|
||||
[/have_unit]
|
||||
[then]
|
||||
[recall]
|
||||
type=Spectre,Nightgaunt,Wraith,Shadow,Ghost
|
||||
[/recall]
|
||||
[/then]
|
||||
[else]
|
||||
[unit]
|
||||
type=Ghost
|
||||
side=1
|
||||
animate=yes
|
||||
placement=leader
|
||||
[/unit]
|
||||
[/else]
|
||||
[/if]
|
||||
{CREATE_ADVISOR}
|
||||
|
||||
[if]
|
||||
[have_unit]
|
||||
side=1
|
||||
|
@ -3552,6 +3534,16 @@ And the tongue of fire begets ashen repose.</i>"
|
|||
type=Skeletal Dragon
|
||||
side=1
|
||||
x,y=$x1,$y1
|
||||
#ifdef EASY
|
||||
max_experience=80
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
max_experience=90
|
||||
#endif
|
||||
#ifdef HARD
|
||||
max_experience=100
|
||||
#endif
|
||||
max_hitpoints=73
|
||||
unrenamable=yes
|
||||
[modifications]
|
||||
{TRAIT_LOYAL}
|
||||
|
@ -3589,6 +3581,17 @@ And the tongue of fire begets ashen repose.</i>"
|
|||
name=claws
|
||||
defense_weight=0.2
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=new_advancement
|
||||
replace=no
|
||||
|
||||
{AMLA_OPTION_DRAGON_MELEE}
|
||||
{AMLA_OPTION_DRAGON_CARAPACE}
|
||||
{AMLA_OPTION_DRAGON_FLIGHT}
|
||||
{AMLA_OPTION_DRAGON_SOUL_EATER1}
|
||||
{AMLA_OPTION_DRAGON_SOUL_EATER2}
|
||||
{AMLA_OPTION_DRAGON_SOUL_EATER3}
|
||||
[/effect]
|
||||
[/object]
|
||||
|
||||
[delay]
|
||||
|
|
|
@ -149,6 +149,11 @@
|
|||
[/side]
|
||||
|
||||
{STARTING_VILLAGES 1 15}
|
||||
|
||||
# ability macros
|
||||
{DID_SOUL_EATER1}
|
||||
{DID_SOUL_EATER2}
|
||||
{DID_SOUL_EATER3}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
|
|
@ -99,6 +99,32 @@
|
|||
image="units/apprentice-necromancer.png:50"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=corpse launch
|
||||
[/filter_attack]
|
||||
|
||||
{MISSILE_FRAME_SHADOW_WAVE}
|
||||
|
||||
start_time=-675
|
||||
[frame]
|
||||
image="units/apprentice-necromancer-magic-[1~2].png:75"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/apprentice-necromancer-magic-3.png"
|
||||
halo=halo/undead/black-magic-[1~5].png:[75*4,50]
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/apprentice-necromancer-magic-3.png:200"
|
||||
[/frame]
|
||||
{SOUND:HIT_AND_MISS magic-dark.ogg magic-dark-miss.ogg -120}
|
||||
[frame]
|
||||
image="units/apprentice-necromancer-magic-[2~1].png:50"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/apprentice-necromancer.png:50"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=short sword
|
||||
|
|
|
@ -28,9 +28,6 @@
|
|||
range=melee
|
||||
damage=5
|
||||
number=3
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
[/attack]
|
||||
[attack]
|
||||
name=chill wave
|
||||
|
@ -103,6 +100,32 @@
|
|||
image="units/dark-mage.png:50"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=corpse launch
|
||||
[/filter_attack]
|
||||
|
||||
{MISSILE_FRAME_SHADOW_WAVE}
|
||||
|
||||
start_time=-675
|
||||
[frame]
|
||||
image="units/dark-mage-magic-[1~2].png:75"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/dark-mage-magic-3.png"
|
||||
halo=halo/undead/black-magic-[1~5].png:[75*4,50]
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/dark-mage-magic-3.png:250"
|
||||
[/frame]
|
||||
{SOUND:HIT_AND_MISS magic-dark.ogg magic-dark-miss.ogg -50}
|
||||
[frame]
|
||||
image="units/dark-mage-magic-[2~1].png:50"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/dark-mage.png:50"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=short sword
|
||||
|
|
21
data/campaigns/Descent_Into_Darkness/units/Ghast.cfg
Normal file
21
data/campaigns/Descent_Into_Darkness/units/Ghast.cfg
Normal file
|
@ -0,0 +1,21 @@
|
|||
#textdomain wesnoth-did
|
||||
|
||||
[unit_type]
|
||||
id=Ghast DiD
|
||||
[base_unit]
|
||||
id=Ghast
|
||||
[/base_unit]
|
||||
advances_to=null
|
||||
experience=90
|
||||
hide_help=yes
|
||||
do_not_list=yes
|
||||
|
||||
{AMLA_OPTION_GHOUL_MELEE}
|
||||
{AMLA_OPTION_GHOUL_RESIST}
|
||||
{AMLA_OPTION_CANNIBALIZE1}
|
||||
{AMLA_OPTION_CANNIBALIZE2}
|
||||
{AMLA_OPTION_DEATH_CLOUD}
|
||||
{AMLA_DEFAULT}
|
||||
|
||||
{DID_DEATH_CLOUD}
|
||||
[/unit_type]
|
11
data/campaigns/Descent_Into_Darkness/units/Ghoul.cfg
Normal file
11
data/campaigns/Descent_Into_Darkness/units/Ghoul.cfg
Normal file
|
@ -0,0 +1,11 @@
|
|||
#textdomain wesnoth-did
|
||||
# Same as normal, except advances to Necrophage DiD
|
||||
[unit_type]
|
||||
id=Ghoul DiD
|
||||
[base_unit]
|
||||
id=Ghoul
|
||||
[/base_unit]
|
||||
advances_to=Necrophage DiD
|
||||
hide_help=yes
|
||||
do_not_list=yes
|
||||
[/unit_type]
|
517
data/campaigns/Descent_Into_Darkness/units/Mal_Keshar.cfg
Normal file
517
data/campaigns/Descent_Into_Darkness/units/Mal_Keshar.cfg
Normal file
|
@ -0,0 +1,517 @@
|
|||
#textdomain wesnoth-did
|
||||
|
||||
#define MAL_KESHAR_ADVANCEMENT HP_INCREMENT XP_INCREMENT_E XP_INCREMENT_N XP_INCREMENT_H EFFECT_WML VARIATION_NAME
|
||||
[advancement]
|
||||
max_times=-1
|
||||
always_display=yes
|
||||
[effect]
|
||||
apply_to=hitpoints
|
||||
increase_total={HP_INCREMENT}
|
||||
increase={HP_INCREMENT}
|
||||
heal_full=no
|
||||
[/effect]
|
||||
#ifdef EASY
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_E}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_N}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef HARD
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_H}
|
||||
[/effect]
|
||||
#endif
|
||||
[effect]
|
||||
apply_to=variation
|
||||
name={VARIATION_NAME}
|
||||
[/effect]
|
||||
{EFFECT_WML}
|
||||
[/advancement]
|
||||
#enddef
|
||||
|
||||
############## LICH ADVANCEMENTS ##############
|
||||
|
||||
#define LICH_MELEE VARIANT_NAME
|
||||
{MAL_KESHAR_ADVANCEMENT 4 14 17 20 (
|
||||
id=lich_melee
|
||||
description= _ "+1 melee damage"
|
||||
image=attacks/touch-undead.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=touch
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define LICH_RANGED VARIANT_NAME
|
||||
{MAL_KESHAR_ADVANCEMENT 2 22 26 30 (
|
||||
id=lich_ranged
|
||||
description= _ "+1 ranged damage"
|
||||
image=attacks/dark-missile.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define LICH_MOVEMENT VARIANT_NAME
|
||||
{MAL_KESHAR_ADVANCEMENT 3 17 21 25 (
|
||||
id=lich_movement_melee
|
||||
description= _ "+1 movement"
|
||||
image=icons/sandals.png
|
||||
[effect]
|
||||
apply_to=movement
|
||||
increase=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
############## ANCIENT LICH ABILITIES ##############
|
||||
|
||||
#define ANCIENT_LICH_MALICE VARIANT_NAME
|
||||
{MAL_KESHAR_ADVANCEMENT 0 50 55 60 (
|
||||
id=ancient_lich_malice
|
||||
description= _ "Nearby undead units gain 20% damage"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=new_ability
|
||||
[abilities]
|
||||
{ABILITY_MALICE1}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define ANCIENT_LICH_RESIST VARIANT_NAME
|
||||
{MAL_KESHAR_ADVANCEMENT 0 70 75 80 (
|
||||
id=ancient_lich_resist
|
||||
description= _ "Gains +10% resistance to blade, impact, and pierce"
|
||||
image=icons/potion_red_medium.png
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
blade=-10
|
||||
impact=-10
|
||||
pierce=-10
|
||||
[/resistance]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define ANCIENT_LICH_NOVA VARIANT_NAME
|
||||
{MAL_KESHAR_ADVANCEMENT 2 0 0 0 (
|
||||
id=ancient_lich_nova
|
||||
description= _ "Chill tempest gains area of effect damage"
|
||||
image=attacks/iceball.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=chill tempest
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
{WEAPON_SPECIAL_FROST_NOVA}
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define ANCIENT_LICH_SPELLBIND VARIANT_NAME
|
||||
{MAL_KESHAR_ADVANCEMENT 4 0 0 0 (
|
||||
id=ancient_lich_spellbind
|
||||
description= _ "Shadow wave reduces incoming magic damage"
|
||||
image=attacks/dark-missile.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=shadow wave
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
{WEAPON_SPECIAL_SPELLBIND}
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=shadow wave
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define ANCIENT_LICH_REND VARIANT_NAME
|
||||
{MAL_KESHAR_ADVANCEMENT 5 0 0 0 (
|
||||
id=ancient_lich_blood
|
||||
description= _ "Drain HP from nearby enemies, but lose HP every turn"
|
||||
image=attacks/curse.png
|
||||
[effect]
|
||||
apply_to=new_ability
|
||||
[abilities]
|
||||
{ABILITY_SOUL_REND}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=touch
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_REAP}
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=touch
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MAL_KESHAR_LICH_BASE
|
||||
hitpoints=55
|
||||
movement=5
|
||||
#ifdef EASY
|
||||
experience=37
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
experience=41
|
||||
#endif
|
||||
#ifdef HARD
|
||||
experience=45
|
||||
#endif
|
||||
advances_to=null
|
||||
[attack]
|
||||
name=touch
|
||||
description=_"touch"
|
||||
icon=attacks/touch-undead.png
|
||||
type=arcane
|
||||
range=melee
|
||||
damage=7
|
||||
number=3
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_DRAIN}
|
||||
[/specials]
|
||||
[/attack]
|
||||
[attack]
|
||||
name=chill tempest
|
||||
description=_"chill tempest"
|
||||
type=cold
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
range=ranged
|
||||
damage=11
|
||||
number=3
|
||||
icon=attacks/iceball.png
|
||||
[/attack]
|
||||
[attack]
|
||||
name=shadow wave
|
||||
description=_"shadow wave"
|
||||
type=arcane
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
range=ranged
|
||||
damage=9
|
||||
number=3
|
||||
icon=attacks/dark-missile.png
|
||||
[/attack]
|
||||
|
||||
{DID_FROST_NOVA}
|
||||
{DID_SOUL_REND}
|
||||
{DID_SHADOW_VEIL_HANDLER}
|
||||
#enddef
|
||||
|
||||
#define MAL_KESHAR_ANCIENT_LICH_BASE
|
||||
name= _ "Ancient Lich"
|
||||
image="units/undead-necromancers/ancient-lich.png"
|
||||
hitpoints=70
|
||||
movement=5
|
||||
#ifdef EASY
|
||||
experience=90
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
experience=95
|
||||
#endif
|
||||
#ifdef HARD
|
||||
experience=100
|
||||
#endif
|
||||
level=4
|
||||
cost=100
|
||||
usage=mixed fighter
|
||||
description= _ "A lich that accrues enough power over its newfound immortal lifespan becomes one who can stain souls with despair and sow ruin across the world. Invariably in command of a nigh-limitless horde of risen warriors and undead monsters, a lich of this order has a mastery of dark sorcery that can bring dread to the most storied magi of human and elven kind. Such a figure usually marks a dark and bloody chapter in history, and in those times of need, it is only through the tireless efforts of the most valiant heroes that the rise of an Ancient Lich has not led to the shadows ruling the world for the rest of time."
|
||||
{DEFENSE_ANIM "units/undead-necromancers/ancient-lich-defend.png" "units/undead-necromancers/ancient-lich.png" {SOUND_LIST:LICH_HIT} }
|
||||
[attack]
|
||||
name=touch
|
||||
description=_"touch"
|
||||
icon=attacks/touch-undead.png
|
||||
type=arcane
|
||||
range=melee
|
||||
damage=7
|
||||
number=4
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_DRAIN}
|
||||
[/specials]
|
||||
[/attack]
|
||||
[attack]
|
||||
name=chill tempest
|
||||
description=_"chill tempest"
|
||||
type=cold
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
range=ranged
|
||||
damage=11
|
||||
number=5
|
||||
icon=attacks/iceball.png
|
||||
[/attack]
|
||||
[attack]
|
||||
name=shadow wave
|
||||
description=_"shadow wave"
|
||||
type=arcane
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
range=ranged
|
||||
damage=8
|
||||
number=5
|
||||
icon=attacks/dark-missile.png
|
||||
[/attack]
|
||||
|
||||
[idle_anim]
|
||||
{STANDARD_IDLE_FILTER}
|
||||
start_time=0
|
||||
[frame]
|
||||
duration=2310
|
||||
image="units/undead-necromancers/ancient-lich.png"
|
||||
halo=halo/undead/idle-flash-[1~21].png
|
||||
halo_x=6~0,0
|
||||
halo_y=-6~0,0
|
||||
[/frame]
|
||||
[/idle_anim]
|
||||
|
||||
[recruiting_anim]
|
||||
[filter_second]
|
||||
race=undead
|
||||
[/filter_second]
|
||||
start_time=-300
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-[1,2].png:75"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-3.png"
|
||||
halo=halo/undead/black-magic-[1~5].png:[75*4,50]
|
||||
[/frame]
|
||||
sound_start_time=-75
|
||||
[sound_frame]
|
||||
sound=magic-dark-big.ogg
|
||||
[/sound_frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-[2,1].png:50"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich.png:1"
|
||||
[/frame]
|
||||
[/recruiting_anim]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=chill tempest
|
||||
[/filter_attack]
|
||||
|
||||
offset=0
|
||||
|
||||
{MISSILE_FRAME_CHILL_TEMPEST 0 -15}
|
||||
|
||||
start_time=-355
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-[1,2].png:75"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-3.png"
|
||||
halo=halo/undead/black-magic-[1~5].png:[75*4,50]
|
||||
[/frame]
|
||||
{SOUND:HIT_AND_MISS magic-dark-big.ogg magic-dark-big-miss.ogg -150}
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-[2,1].png:50"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=shadow wave
|
||||
[/filter_attack]
|
||||
|
||||
{MISSILE_FRAME_SHADOW_WAVE}
|
||||
|
||||
start_time=-675
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-[1,2].png:75"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-3.png"
|
||||
halo=halo/undead/black-magic-[1~5].png:[75*4,50]
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-3.png:200"
|
||||
[/frame]
|
||||
{SOUND:HIT_AND_MISS magic-dark-big.ogg magic-dark-big-miss.ogg -50}
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-[2,1].png:50"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich.png:50"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=touch
|
||||
[/filter_attack]
|
||||
start_time=-250
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich.png:50"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-melee-[1~2].png:[100,200]"
|
||||
[/frame]
|
||||
{SOUND:HIT_AND_MISS wail-sml.wav {SOUND_LIST:MISS} -100}
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich-magic-1.png:75"
|
||||
[/frame]
|
||||
[frame]
|
||||
image="units/undead-necromancers/ancient-lich.png:75"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
#enddef
|
||||
|
||||
[unit_type]
|
||||
id=Mal Keshar
|
||||
[base_unit]
|
||||
id=Lich
|
||||
[/base_unit]
|
||||
{MAL_KESHAR_LICH_BASE}
|
||||
|
||||
########## LEVEL 3 ##########
|
||||
[variation]
|
||||
{MAL_KESHAR_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL1
|
||||
inherit=yes
|
||||
{LICH_MELEE MKL2}
|
||||
{LICH_RANGED MKL2}
|
||||
[/variation]
|
||||
|
||||
[variation]
|
||||
{MAL_KESHAR_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL2
|
||||
inherit=yes
|
||||
{LICH_MELEE MKL3MELEE}
|
||||
{LICH_RANGED MKL3RANGED}
|
||||
[/variation]
|
||||
|
||||
[variation]
|
||||
{MAL_KESHAR_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL3MELEE
|
||||
inherit=yes
|
||||
{LICH_RANGED MKL4}
|
||||
{LICH_MOVEMENT MKL4}
|
||||
[/variation]
|
||||
[variation]
|
||||
{MAL_KESHAR_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL3RANGED
|
||||
inherit=yes
|
||||
{LICH_MELEE MKL4}
|
||||
{LICH_MOVEMENT MKL4}
|
||||
[/variation]
|
||||
|
||||
########## LEVEL 4 ##########
|
||||
[variation]
|
||||
{MAL_KESHAR_ANCIENT_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL4
|
||||
inherit=yes
|
||||
{ANCIENT_LICH_MALICE MKL4MAL}
|
||||
{LICH_MELEE MKL4DMG}
|
||||
{LICH_RANGED MKL4DMG}
|
||||
{LICH_MOVEMENT MKL4MVT}
|
||||
[/variation]
|
||||
|
||||
[variation]
|
||||
{MAL_KESHAR_ANCIENT_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL4MAL
|
||||
inherit=yes
|
||||
{LICH_MELEE MKL5}
|
||||
{LICH_RANGED MKL5}
|
||||
{LICH_MOVEMENT MKL5}
|
||||
{ANCIENT_LICH_RESIST MKL5}
|
||||
[/variation]
|
||||
[variation]
|
||||
{MAL_KESHAR_ANCIENT_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL4DMG
|
||||
inherit=yes
|
||||
{ANCIENT_LICH_MALICE MKL5}
|
||||
{LICH_MELEE MKL5}
|
||||
{LICH_RANGED MKL5}
|
||||
{LICH_MOVEMENT MKL5}
|
||||
{ANCIENT_LICH_RESIST MKL5}
|
||||
[/variation]
|
||||
[variation]
|
||||
{MAL_KESHAR_ANCIENT_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL4MVT
|
||||
inherit=yes
|
||||
{ANCIENT_LICH_MALICE MKL5}
|
||||
{LICH_MELEE MKL5}
|
||||
{LICH_RANGED MKL5}
|
||||
{ANCIENT_LICH_RESIST MKL5}
|
||||
[/variation]
|
||||
|
||||
[variation]
|
||||
{MAL_KESHAR_ANCIENT_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL5
|
||||
inherit=yes
|
||||
{ANCIENT_LICH_NOVA MKL6}
|
||||
{ANCIENT_LICH_SPELLBIND MKL6}
|
||||
{ANCIENT_LICH_REND MKL6}
|
||||
[/variation]
|
||||
|
||||
[variation]
|
||||
{MAL_KESHAR_ANCIENT_LICH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=MKL6
|
||||
inherit=yes
|
||||
{AMLA_MAL_KESHAR}
|
||||
[/variation]
|
||||
[/unit_type]
|
||||
|
||||
#undef MAL_KESHAR_ADVANCEMENT
|
||||
#undef LICH_MELEE
|
||||
#undef LICH_RANGED
|
||||
#undef LICH_MOVEMENT
|
||||
#undef ANCIENT_LICH_MALICE
|
||||
#undef ANCIENT_LICH_RESIST
|
||||
#undef ANCIENT_LICH_NOVA
|
||||
#undef ANCIENT_LICH_SPELLBIND
|
||||
#undef ANCIENT_LICH_REND
|
||||
#undef MAL_KESHAR_LICH_BASE
|
||||
#undef MAL_KESHAR_ANCIENT_LICH_BASE
|
748
data/campaigns/Descent_Into_Darkness/units/Malin_Keshar.cfg
Normal file
748
data/campaigns/Descent_Into_Darkness/units/Malin_Keshar.cfg
Normal file
|
@ -0,0 +1,748 @@
|
|||
#textdomain wesnoth-did
|
||||
|
||||
#define MALIN_ADVANCEMENT HP_INCREMENT XP_INCREMENT_E XP_INCREMENT_N XP_INCREMENT_H EFFECT_WML VARIATION_NAME
|
||||
[advancement]
|
||||
max_times=-1
|
||||
always_display=yes
|
||||
[effect]
|
||||
apply_to=hitpoints
|
||||
increase_total={HP_INCREMENT}
|
||||
increase={HP_INCREMENT}
|
||||
heal_full=no
|
||||
[/effect]
|
||||
#ifdef EASY
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_E}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_N}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef HARD
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_H}
|
||||
[/effect]
|
||||
#endif
|
||||
[effect]
|
||||
apply_to=variation
|
||||
name={VARIATION_NAME}
|
||||
[/effect]
|
||||
{EFFECT_WML}
|
||||
[/advancement]
|
||||
#enddef
|
||||
|
||||
#define MALIN_ADVANCE HP_INCREMENT XP_INCREMENT_E XP_INCREMENT_N XP_INCREMENT_H EFFECT_WML TYPE_NAME
|
||||
[advancement]
|
||||
max_times=-1
|
||||
always_display=yes
|
||||
[effect]
|
||||
apply_to=hitpoints
|
||||
increase_total={HP_INCREMENT}
|
||||
increase={HP_INCREMENT}
|
||||
heal_full=no
|
||||
[/effect]
|
||||
#ifdef EASY
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_E}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_N}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef HARD
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_H}
|
||||
[/effect]
|
||||
#endif
|
||||
[effect]
|
||||
apply_to=type
|
||||
name={TYPE_NAME}
|
||||
[/effect]
|
||||
{EFFECT_WML}
|
||||
[/advancement]
|
||||
#enddef
|
||||
|
||||
#define AUTO_ADVANCE HP_INCREMENT EXP_E EXP_N EXP_H VARIATION_NAME
|
||||
[advancement]
|
||||
max_times=-1
|
||||
always_display=1
|
||||
description= _ "Increased hitpoints"
|
||||
image=icons/potion_red_medium.png
|
||||
[effect]
|
||||
apply_to=hitpoints
|
||||
increase_total={HP_INCREMENT}
|
||||
increase={HP_INCREMENT}
|
||||
heal_full=no
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=variation
|
||||
name={VARIATION_NAME}
|
||||
[/effect]
|
||||
#ifdef EASY
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={EXP_E}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={EXP_N}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef HARD
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={EXP_H}
|
||||
[/effect]
|
||||
#endif
|
||||
[/advancement]
|
||||
#enddef
|
||||
|
||||
############## LEVEL 1 ADVANCEMENTS ##############
|
||||
|
||||
#define AM_MELEE VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 2 11 13 15 (
|
||||
id=am_melee
|
||||
description= _ "+1 melee damage"
|
||||
image=attacks/sword-human-short.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define AM_RANGED VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 2 8 10 12 (
|
||||
id=am_ranged
|
||||
description= _ "+1 ranged damage"
|
||||
image=attacks/mud-glob.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_MELEE_MAGICAL VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 0 16 19 22 (
|
||||
id=malin_melee_magical
|
||||
description= _ "Malin’s sword gains the magical special"
|
||||
exclude_amla=malin_melee_magical
|
||||
image=attacks/magic-missile.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
mode=append
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define AM_MELEE_ADVANCE
|
||||
{MALIN_ADVANCE 2 10 12 14 (
|
||||
id=am_melee_advance
|
||||
description= _ "+1 melee damage"
|
||||
image=attacks/sword-human-short.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=15
|
||||
[/effect]
|
||||
) MalinNecromancer}
|
||||
#enddef
|
||||
|
||||
#define AM_RANGED_ADVANCE
|
||||
{MALIN_ADVANCE 2 8 10 12 (
|
||||
id=am_ranged_advance
|
||||
description= _ "+1 ranged damage"
|
||||
image=attacks/mud-glob.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase=-100%
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=15
|
||||
[/effect]
|
||||
) MalinNecromancer}
|
||||
#enddef
|
||||
|
||||
############## LEVEL 2 ADVANCEMENTS ##############
|
||||
|
||||
#define MALIN_MELEE_PLAGUE VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 4 32 35 38 (
|
||||
id=malin_melee_plague
|
||||
description= _ "Malin’s sword gains the plague special"
|
||||
exclude_amla=malin_melee_plague
|
||||
image=attacks/staff-necromantic.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_PLAGUE}
|
||||
mode=append
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_RANGED VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT -3 45 50 55 (
|
||||
id=malin_ranged
|
||||
description= _ "+2 ranged damage, but -10% arcane resistance"
|
||||
image=attacks/iceball.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=2
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
arcane=10
|
||||
[/resistance]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_MELEE_VITALIZE VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 2 39 43 47 (
|
||||
id=malin_melee_vitalize
|
||||
description= _ "Malin’s melee attack heals him every hit"
|
||||
exclude_amla=malin_melee_vitalize
|
||||
image=attacks/baneblade.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_VITALIZE1}
|
||||
mode=append
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_RANGED_IMPETUITY VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 2 36 40 44 (
|
||||
id=malin_ranged_impetuity
|
||||
description= _ "Chill tempest gains the impetuity special"
|
||||
exclude_amla=malin_ranged_impetuity
|
||||
image=attacks/lightning.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=chill wave
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_IMPETUITY}
|
||||
mode=append
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_CORPSE_LAUNCHER VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 0 36 40 44 (
|
||||
id=malin_corpse_launcher
|
||||
description= _ "Malin gains a special corpse launching attack"
|
||||
require_amla=malin_melee_plague
|
||||
exclude_amla=malin_corpse_launcher
|
||||
image=attacks/dragonstaff.png
|
||||
[effect]
|
||||
apply_to=new_attack
|
||||
name=corpse launch
|
||||
description= _"corpse launch"
|
||||
type=impact
|
||||
range=ranged
|
||||
damage=0
|
||||
number=1
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_CORPSE_LAUNCHER}
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
icon=attacks/dragonstaff.png
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_MELEE_ADVANCE
|
||||
{MALIN_ADVANCE 3 28 32 36 (
|
||||
id=malin_melee_advance
|
||||
description= _ "+2 melee damage"
|
||||
image=attacks/sword-human-short.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
increase_damage=2
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase=-100%
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase=19
|
||||
[/effect]
|
||||
) MalinDarkMage}
|
||||
#enddef
|
||||
|
||||
#define MALIN_RANGED_ADVANCE
|
||||
{MALIN_ADVANCE -2 30 33 36 (
|
||||
id=malin_ranged_advance
|
||||
description= _ "+2 ranged damage, but -10% arcane resistance"
|
||||
image=attacks/iceball.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=2
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
arcane=10
|
||||
[/resistance]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=20
|
||||
[/effect]
|
||||
) MalinDarkMage}
|
||||
#enddef
|
||||
|
||||
#define MALIN_RESIST_ADVANCE
|
||||
{MALIN_ADVANCE 5 40 44 48 (
|
||||
id=malin_resist_advance
|
||||
description= _ "Malin gains +10% resistance to blade and pierce, but loses -10% resistance to arcane"
|
||||
image=icons/rusty_targ.png
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
blade=-10
|
||||
pierce=-10
|
||||
arcane=10
|
||||
[/resistance]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=20
|
||||
[/effect]
|
||||
) MalinDarkMage}
|
||||
#enddef
|
||||
|
||||
############## LEVEL 3 ADVANCEMENTS ##############
|
||||
|
||||
#define MALIN_RESIST VARIANT_NAME
|
||||
{MALIN_ADVANCE 3 40 44 48 (
|
||||
id=malin_resist
|
||||
description= _ "Malin gains +10% resistance to blade and pierce, but loses -10% resistance to arcane"
|
||||
image=icons/rusty_targ.png
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
blade=-10
|
||||
pierce=-10
|
||||
arcane=10
|
||||
[/resistance]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_MELEE_VITALIZE2 VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 2 46 50 54 (
|
||||
id=malin_melee_vitalize2
|
||||
description= _ "Improves the vitalize special"
|
||||
exclude_amla=malin_melee_vitalize2
|
||||
require_amla=malin_melee_vitalize
|
||||
image=attacks/baneblade.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
remove_specials=did_vitalize1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_VITALIZE2}
|
||||
mode=append
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_CORPSE_MASTER VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 4 38 42 46 (
|
||||
id=malin_corpse_master
|
||||
description= _ "Gains the corpse master ability"
|
||||
image=attacks/touch-zombie.png
|
||||
require_amla=malin_melee_plague
|
||||
exclude_amla=malin_corpse_master
|
||||
[effect]
|
||||
apply_to=new_ability
|
||||
[abilities]
|
||||
{ABILITY_CORPSE_MASTER}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_RANGED_STRIKES VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT -12 0 0 0 (
|
||||
id=malin_ranged_strikes
|
||||
description= _ "+1 ranged strikes, but -20% arcane resistance and -12 hp"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_attacks=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
arcane=20
|
||||
[/resistance]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_RANGED_FERVOR VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 4 0 0 0 (
|
||||
id=malin_ranged_fervor
|
||||
description= _ "Shadow wave gains the fervor special and -10% arcane resistance"
|
||||
image=attacks/dark-missile.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=shadow wave
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_FERVOR}
|
||||
mode=append
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
arcane=10
|
||||
[/resistance]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define MALIN_CONSUMPTION VARIANT_NAME
|
||||
{MALIN_ADVANCEMENT 3 0 0 0 (
|
||||
id=malin_consumption
|
||||
description= _ "Gains the consumption ability"
|
||||
image=attacks/curse.png
|
||||
[effect]
|
||||
apply_to=new_ability
|
||||
[abilities]
|
||||
{ABILITY_CONSUMPTION}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
arcane=10
|
||||
[/resistance]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
##################################################
|
||||
|
||||
#define APPRENTICE_MAGE_BASE
|
||||
#ifdef EASY
|
||||
experience=17
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
experience=20
|
||||
#endif
|
||||
#ifdef HARD
|
||||
experience=23
|
||||
#endif
|
||||
hitpoints=35
|
||||
advances_to=null
|
||||
[attack]
|
||||
name=short sword
|
||||
#textdomain wesnoth-units
|
||||
description=_ "short sword"
|
||||
#textdomain wesnoth-did
|
||||
icon=attacks/sword-human-short.png
|
||||
type=blade
|
||||
range=melee
|
||||
damage=4
|
||||
number=3
|
||||
[/attack]
|
||||
[attack]
|
||||
name=magic blast
|
||||
description=_ "magic blast"
|
||||
icon="attacks/mud-glob.png" # dark missile is next level up
|
||||
type=impact
|
||||
range=ranged
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
damage=5
|
||||
number=2
|
||||
[/attack]
|
||||
#enddef
|
||||
|
||||
#define APPRENTICE_NECROMANCER_BASE
|
||||
hitpoints=40
|
||||
advances_to=null
|
||||
[attack]
|
||||
name=short sword
|
||||
#textdomain wesnoth-units
|
||||
description=_ "short sword"
|
||||
icon=attacks/sword-human-short.png
|
||||
type=blade
|
||||
range=melee
|
||||
damage=5
|
||||
number=3
|
||||
[/attack]
|
||||
[attack]
|
||||
name=chill wave
|
||||
description=_"chill wave"
|
||||
type=cold
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
range=ranged
|
||||
damage=11
|
||||
number=2
|
||||
icon=attacks/iceball.png
|
||||
[/attack]
|
||||
[attack]
|
||||
name=shadow wave
|
||||
description=_"shadow wave"
|
||||
#textdomain wesnoth-did
|
||||
type=arcane
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
range=ranged
|
||||
damage=8
|
||||
number=2
|
||||
icon=attacks/dark-missile.png
|
||||
[/attack]
|
||||
|
||||
{DID_CORPSE_LAUNCH}
|
||||
#enddef
|
||||
|
||||
#define DARK_MAGE_BASE
|
||||
hitpoints=45
|
||||
advances_to=null
|
||||
[attack]
|
||||
name=short sword
|
||||
#textdomain wesnoth-units
|
||||
description=_ "short sword"
|
||||
icon=attacks/sword-human-short.png
|
||||
type=blade
|
||||
range=melee
|
||||
damage=4
|
||||
number=3
|
||||
[/attack]
|
||||
[attack]
|
||||
name=chill wave
|
||||
description=_"chill wave"
|
||||
type=cold
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
range=ranged
|
||||
damage=13
|
||||
number=2
|
||||
icon=attacks/iceball.png
|
||||
[/attack]
|
||||
[attack]
|
||||
name=shadow wave
|
||||
description=_"shadow wave"
|
||||
#textdomain wesnoth-did
|
||||
type=arcane
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_MAGICAL}
|
||||
[/specials]
|
||||
range=ranged
|
||||
damage=10
|
||||
number=2
|
||||
icon=attacks/dark-missile.png
|
||||
[/attack]
|
||||
|
||||
{DID_CONSUMPTION}
|
||||
{DID_CORPSE_LAUNCH}
|
||||
#enddef
|
||||
|
||||
[unit_type]
|
||||
id=Malin Keshar
|
||||
{APPRENTICE_MAGE_BASE}
|
||||
[base_unit]
|
||||
id=Apprentice Mage
|
||||
[/base_unit]
|
||||
[variation]
|
||||
{APPRENTICE_MAGE_BASE}
|
||||
hide_help=yes
|
||||
variation_id=AM1
|
||||
inherit=yes
|
||||
{AM_MELEE AM2}
|
||||
{AM_RANGED AM2}
|
||||
[/variation]
|
||||
[variation]
|
||||
{APPRENTICE_MAGE_BASE}
|
||||
hide_help=yes
|
||||
variation_id=AM2
|
||||
inherit=yes
|
||||
{AM_MELEE AM3}
|
||||
{AM_RANGED AM3}
|
||||
{MALIN_MELEE_MAGICAL AM3}
|
||||
[/variation]
|
||||
[variation]
|
||||
{APPRENTICE_MAGE_BASE}
|
||||
hide_help=yes
|
||||
variation_id=AM3
|
||||
inherit=yes
|
||||
{AM_MELEE_ADVANCE}
|
||||
{AM_RANGED_ADVANCE}
|
||||
[/variation]
|
||||
[/unit_type]
|
||||
|
||||
[unit_type]
|
||||
id=MalinNecromancer
|
||||
{APPRENTICE_NECROMANCER_BASE}
|
||||
[base_unit]
|
||||
id=Apprentice Necromancer
|
||||
[/base_unit]
|
||||
experience=0
|
||||
{AUTO_ADVANCE 2 26 29 32 AN1}
|
||||
|
||||
[variation]
|
||||
{APPRENTICE_NECROMANCER_BASE}
|
||||
hide_help=yes
|
||||
variation_id=AN1
|
||||
inherit=yes
|
||||
{AM_MELEE AN2}
|
||||
{MALIN_RANGED AN2}
|
||||
{MALIN_RANGED_IMPETUITY AN2}
|
||||
{MALIN_MELEE_MAGICAL AN2}
|
||||
{MALIN_MELEE_PLAGUE AN2}
|
||||
[/variation]
|
||||
[variation]
|
||||
{APPRENTICE_NECROMANCER_BASE}
|
||||
hide_help=yes
|
||||
variation_id=AN2
|
||||
inherit=yes
|
||||
{MALIN_RANGED_IMPETUITY AN3}
|
||||
{MALIN_CORPSE_LAUNCHER AN3}
|
||||
{MALIN_MELEE_MAGICAL AN3}
|
||||
{MALIN_MELEE_PLAGUE AN3}
|
||||
{MALIN_MELEE_VITALIZE AN3}
|
||||
[/variation]
|
||||
[variation]
|
||||
{APPRENTICE_NECROMANCER_BASE}
|
||||
hide_help=yes
|
||||
variation_id=AN3
|
||||
inherit=yes
|
||||
{MALIN_MELEE_ADVANCE}
|
||||
{MALIN_RANGED_ADVANCE}
|
||||
{MALIN_RESIST_ADVANCE}
|
||||
[/variation]
|
||||
[/unit_type]
|
||||
|
||||
[unit_type]
|
||||
id=MalinDarkMage
|
||||
{DARK_MAGE_BASE}
|
||||
[base_unit]
|
||||
id=Dark Mage
|
||||
[/base_unit]
|
||||
experience=0
|
||||
{AUTO_ADVANCE 3 41 45 49 DM1}
|
||||
|
||||
[variation]
|
||||
{DARK_MAGE_BASE}
|
||||
hide_help=yes
|
||||
variation_id=DM1
|
||||
inherit=yes
|
||||
{MALIN_RANGED DM2}
|
||||
{MALIN_RESIST DM2}
|
||||
{MALIN_RANGED_IMPETUITY DM2}
|
||||
{MALIN_CORPSE_LAUNCHER DM2}
|
||||
{MALIN_CORPSE_MASTER DM2}
|
||||
{MALIN_MELEE_VITALIZE DM2}
|
||||
{MALIN_MELEE_VITALIZE2 DM2}
|
||||
[/variation]
|
||||
[variation]
|
||||
{DARK_MAGE_BASE}
|
||||
hide_help=yes
|
||||
variation_id=DM2
|
||||
inherit=yes
|
||||
{MALIN_RANGED_STRIKES DM3}
|
||||
{MALIN_RANGED_FERVOR DM3}
|
||||
{MALIN_CONSUMPTION DM3}
|
||||
[/variation]
|
||||
[variation]
|
||||
{DARK_MAGE_BASE}
|
||||
hide_help=yes
|
||||
variation_id=DM3
|
||||
inherit=yes
|
||||
{AMLA_MALIN_KESHAR}
|
||||
[/variation]
|
||||
[/unit_type]
|
||||
|
||||
#undef MALIN_ADVANCEMENT
|
||||
#undef MALIN_ADVANCE
|
||||
#undef AUTO_ADVANCE
|
||||
#undef AM_MELEE
|
||||
#undef AM_RANGED
|
||||
#undef MALIN_MELEE_MAGICAL
|
||||
#undef AM_MELEE_ADVANCE
|
||||
#undef AM_RANGED_ADVANCE
|
||||
#undef MALIN_RANGED
|
||||
#undef MALIN_MELEE_VITALIZE
|
||||
#undef MALIN_MELEE_PLAGUE
|
||||
#undef MALIN_RANGED_FERVOR
|
||||
#undef MALIN_RANGED_IMPETUITY
|
||||
#undef MALIN_MELEE_ADVANCE
|
||||
#undef MALIN_RANGED_ADVANCE
|
||||
#undef MALIN_RESIST_ADVANCE
|
||||
#undef MALIN_RESIST
|
||||
#undef MALIN_MELEE_VITALIZE2
|
||||
#undef MALIN_CORPSE_MASTER
|
||||
#undef MALIN_CORPSE_LAUNCHER
|
||||
#undef MALIN_RANGED_STRIKES
|
||||
#undef MALIN_CONSUMPTION
|
||||
#undef APPRENTICE_MAGE_BASE
|
||||
#undef APPRENTICE_NECROMANCER_BASE
|
||||
#undef DARK_MAGE_BASE
|
11
data/campaigns/Descent_Into_Darkness/units/Necrophage.cfg
Normal file
11
data/campaigns/Descent_Into_Darkness/units/Necrophage.cfg
Normal file
|
@ -0,0 +1,11 @@
|
|||
#textdomain wesnoth-did
|
||||
# Same as normal, except advances to Ghast DiD
|
||||
[unit_type]
|
||||
id=Necrophage DiD
|
||||
[base_unit]
|
||||
id=Necrophage
|
||||
[/base_unit]
|
||||
advances_to=Ghast DiD
|
||||
hide_help=yes
|
||||
do_not_list=yes
|
||||
[/unit_type]
|
546
data/campaigns/Descent_Into_Darkness/units/Spectral_Servant.cfg
Normal file
546
data/campaigns/Descent_Into_Darkness/units/Spectral_Servant.cfg
Normal file
|
@ -0,0 +1,546 @@
|
|||
#textdomain wesnoth-did
|
||||
|
||||
#define GHOST_ADVANCEMENT HP_INCREMENT XP_INCREMENT_E XP_INCREMENT_N XP_INCREMENT_H EFFECT_WML VARIATION_NAME
|
||||
[advancement]
|
||||
max_times=-1
|
||||
always_display=yes
|
||||
[effect]
|
||||
apply_to=hitpoints
|
||||
increase_total={HP_INCREMENT}
|
||||
increase={HP_INCREMENT}
|
||||
heal_full=no
|
||||
[/effect]
|
||||
#ifdef EASY
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_E}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_N}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef HARD
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_H}
|
||||
[/effect]
|
||||
#endif
|
||||
[effect]
|
||||
apply_to=variation
|
||||
name={VARIATION_NAME}
|
||||
[/effect]
|
||||
{EFFECT_WML}
|
||||
[/advancement]
|
||||
#enddef
|
||||
|
||||
#define GHOST_ADVANCE HP_INCREMENT XP_INCREMENT_E XP_INCREMENT_N XP_INCREMENT_H EFFECT_WML TYPE_NAME
|
||||
[advancement]
|
||||
max_times=-1
|
||||
always_display=yes
|
||||
[effect]
|
||||
apply_to=hitpoints
|
||||
increase_total={HP_INCREMENT}
|
||||
increase={HP_INCREMENT}
|
||||
heal_full=no
|
||||
[/effect]
|
||||
#ifdef EASY
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_E}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_N}
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef HARD
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase={XP_INCREMENT_H}
|
||||
[/effect]
|
||||
#endif
|
||||
[effect]
|
||||
apply_to=type
|
||||
name={TYPE_NAME}
|
||||
[/effect]
|
||||
{EFFECT_WML}
|
||||
[/advancement]
|
||||
#enddef
|
||||
|
||||
#define AUTO_ADVANCE VARIATION_NAME
|
||||
[advancement]
|
||||
max_times=-1
|
||||
always_display=1
|
||||
description= _ "+2 HP"
|
||||
image=icons/potion_green_small.png
|
||||
[effect]
|
||||
apply_to=variation
|
||||
name={VARIATION_NAME}
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=hitpoints
|
||||
increase_total=2
|
||||
increase=2
|
||||
heal_full=no
|
||||
[/effect]
|
||||
#ifdef EASY
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase=44
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase=49
|
||||
[/effect]
|
||||
#endif
|
||||
#ifdef HARD
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
increase=54
|
||||
[/effect]
|
||||
#endif
|
||||
[/advancement]
|
||||
#enddef
|
||||
|
||||
############## GHOST ADVANCEMENTS ##############
|
||||
|
||||
#define GHOST_MELEE VARIANT_NAME
|
||||
{GHOST_ADVANCEMENT 2 10 12 14 (
|
||||
id=ghost_melee
|
||||
description= _ "+1 melee damage"
|
||||
image=attacks/touch-undead.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=touch
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define GHOST_RANGED VARIANT_NAME
|
||||
{GHOST_ADVANCEMENT 2 10 12 14 (
|
||||
id=ghost_ranged
|
||||
description= _ "+1 ranged damage"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define GHOST_MOVEMENT VARIANT_NAME
|
||||
{GHOST_ADVANCEMENT 0 12 14 16 (
|
||||
id=ghost_movement
|
||||
description= _ "+1 movement"
|
||||
image=icons/sandals.png
|
||||
[effect]
|
||||
apply_to=movement
|
||||
increase=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define GHOST_MELEE_ADVANCE
|
||||
{GHOST_ADVANCE 1 10 12 14 (
|
||||
id=ghost_melee_advance
|
||||
description= _ "+1 melee damage"
|
||||
image=attacks/touch-undead.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=touch
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=15
|
||||
[/effect]
|
||||
) Wight}
|
||||
#enddef
|
||||
|
||||
#define GHOST_RANGED_ADVANCE
|
||||
{GHOST_ADVANCE 1 10 12 14 (
|
||||
id=ghost_ranged_advance
|
||||
description= _ "+1 ranged damage"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=15
|
||||
[/effect]
|
||||
) Wight}
|
||||
#enddef
|
||||
|
||||
#define GHOST_MOVE_ADVANCE
|
||||
{GHOST_ADVANCE 0 12 14 16 (
|
||||
id=ghost_move_advance
|
||||
description= _ "+1 movement"
|
||||
image=icons/sandals.png
|
||||
[effect]
|
||||
apply_to=movement
|
||||
increase=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=15
|
||||
[/effect]
|
||||
) Wight}
|
||||
#enddef
|
||||
|
||||
############## WRAITH ADVANCEMENTS ##############
|
||||
|
||||
#define WRAITH_MELEE VARIANT_NAME
|
||||
{GHOST_ADVANCEMENT 2 10 12 14 (
|
||||
id=wraith_melee
|
||||
description= _ "+1 melee damage"
|
||||
image=attacks/baneblade.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=baneblade
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define WRAITH_MALEVOLENCE VARIANT_NAME
|
||||
{GHOST_ADVANCEMENT 1 40 45 50 (
|
||||
id=wraith_malevolence
|
||||
description= _ "Wail gains the malevolence special"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=wail
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_MALEVOLENCE}
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define WRAITH_HYSTERIA VARIANT_NAME
|
||||
{GHOST_ADVANCEMENT 4 50 55 60 (
|
||||
id=wraith_hysteria
|
||||
description= _ "Wail gains the hysteria special"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=wail
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_HYSTERIA}
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
) {VARIANT_NAME}}
|
||||
#enddef
|
||||
|
||||
#define WRAITH_MELEE_ADVANCE
|
||||
{GHOST_ADVANCE 2 10 12 14 (
|
||||
id=wraith_melee_advance
|
||||
description= _ "+1 melee damage"
|
||||
image=attacks/baneblade.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=baneblade
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) Eidolon}
|
||||
#enddef
|
||||
|
||||
#define WRAITH_RANGED_ADVANCE
|
||||
{GHOST_ADVANCE 2 10 12 14 (
|
||||
id=wraith_ranged_advance
|
||||
description= _ "+1 ranged damage"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=1
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) Eidolon}
|
||||
#enddef
|
||||
|
||||
#define WRAITH_MALEVOLENCE_ADVANCE
|
||||
{GHOST_ADVANCE 1 40 45 50 (
|
||||
id=wraith_malevolence_advance
|
||||
description= _ "Wail gains the malevolence special"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=wail
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_MALEVOLENCE}
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) Eidolon}
|
||||
#enddef
|
||||
|
||||
#define WRAITH_HYSTERIA_ADVANCE
|
||||
{GHOST_ADVANCE 4 50 55 60 (
|
||||
id=wraith_hysteria_advance
|
||||
description= _ "Wail gains the hysteria special"
|
||||
image=attacks/wail.png
|
||||
[effect]
|
||||
apply_to=attack
|
||||
name=wail
|
||||
[set_specials]
|
||||
{WEAPON_SPECIAL_HYSTERIA}
|
||||
[/set_specials]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) Eidolon}
|
||||
#enddef
|
||||
|
||||
#define WRAITH_RESIST_ADVANCE
|
||||
{GHOST_ADVANCE 6 40 45 50 (
|
||||
id=wraith_resist_advance
|
||||
description= _ "Gains +20% resistance to fire"
|
||||
image=attacks/fire-blast.png
|
||||
[effect]
|
||||
apply_to=resistance
|
||||
[resistance]
|
||||
fire=-20
|
||||
[/resistance]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=max_experience
|
||||
set=90
|
||||
[/effect]
|
||||
) Eidolon}
|
||||
#enddef
|
||||
|
||||
#define GHOST_BASE
|
||||
name= _ "Spectral Servant"
|
||||
hitpoints=17
|
||||
movement=6
|
||||
#ifdef EASY
|
||||
experience=14
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
experience=16
|
||||
#endif
|
||||
#ifdef HARD
|
||||
experience=18
|
||||
#endif
|
||||
advances_to=null
|
||||
[attack]
|
||||
name=touch
|
||||
description=_"touch"
|
||||
icon=attacks/touch-undead.png
|
||||
type=arcane
|
||||
range=melee
|
||||
damage=5
|
||||
number=3
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_DRAIN}
|
||||
[/specials]
|
||||
[/attack]
|
||||
[attack]
|
||||
name=wail
|
||||
description=_"wail"
|
||||
type=cold
|
||||
range=ranged
|
||||
damage=4
|
||||
number=3
|
||||
[/attack]
|
||||
#enddef
|
||||
|
||||
#define WRAITH_BASE
|
||||
name= _ "Wight"
|
||||
hitpoints=22
|
||||
movement=6
|
||||
advances_to=null
|
||||
[attack]
|
||||
name=baneblade
|
||||
description=_"baneblade" # wmllint: no spellcheck (until name->id)
|
||||
type=arcane
|
||||
range=melee
|
||||
damage=6
|
||||
number=4
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_DRAIN}
|
||||
[/specials]
|
||||
[/attack]
|
||||
[attack]
|
||||
name=wail
|
||||
description=_"wail"
|
||||
type=cold
|
||||
range=ranged
|
||||
damage=4
|
||||
number=4
|
||||
[/attack]
|
||||
#enddef
|
||||
|
||||
#define SPECTRE_BASE
|
||||
name= _ "Eidolon"
|
||||
hitpoints=27
|
||||
movement=6
|
||||
experience=90
|
||||
advances_to=null
|
||||
[attack]
|
||||
name=baneblade
|
||||
description=_"baneblade" # wmllint: no spellcheck (until name->id)
|
||||
type=arcane
|
||||
range=melee
|
||||
damage=8
|
||||
number=4
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_DRAIN}
|
||||
[/specials]
|
||||
[/attack]
|
||||
[attack]
|
||||
name=wail
|
||||
description=_"wail"
|
||||
type=cold
|
||||
range=ranged
|
||||
damage=6
|
||||
number=4
|
||||
[/attack]
|
||||
#enddef
|
||||
|
||||
[unit_type]
|
||||
id=Spectral Servant
|
||||
{GHOST_BASE}
|
||||
[base_unit]
|
||||
id=Ghost
|
||||
[/base_unit]
|
||||
[variation]
|
||||
{GHOST_BASE}
|
||||
hide_help=yes
|
||||
variation_id=SS1
|
||||
inherit=yes
|
||||
{GHOST_MELEE SS2MELEE}
|
||||
{GHOST_RANGED SS2RANGED}
|
||||
[/variation]
|
||||
[variation]
|
||||
{GHOST_BASE}
|
||||
hide_help=yes
|
||||
variation_id=SS2MELEE
|
||||
inherit=yes
|
||||
{GHOST_RANGED_ADVANCE}
|
||||
{GHOST_MOVE_ADVANCE}
|
||||
[/variation]
|
||||
[variation]
|
||||
{GHOST_BASE}
|
||||
hide_help=yes
|
||||
variation_id=SS2RANGED
|
||||
inherit=yes
|
||||
{GHOST_MELEE_ADVANCE}
|
||||
{GHOST_MOVE_ADVANCE}
|
||||
[/variation]
|
||||
[/unit_type]
|
||||
|
||||
[unit_type]
|
||||
id=Wight
|
||||
{WRAITH_BASE}
|
||||
[base_unit]
|
||||
id=Wraith
|
||||
[/base_unit]
|
||||
experience=0
|
||||
{AUTO_ADVANCE W0}
|
||||
|
||||
[variation]
|
||||
{WRAITH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=W0
|
||||
inherit=yes
|
||||
{WRAITH_MALEVOLENCE W1}
|
||||
{WRAITH_HYSTERIA W1}
|
||||
{WRAITH_MELEE W1NOABILITY}
|
||||
{GHOST_RANGED W1NOABILITY}
|
||||
[/variation]
|
||||
[variation]
|
||||
{WRAITH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=W1
|
||||
inherit=yes
|
||||
{WRAITH_MELEE W2}
|
||||
{GHOST_RANGED W2}
|
||||
{GHOST_MOVEMENT W2}
|
||||
[/variation]
|
||||
[variation]
|
||||
{WRAITH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=W1NOABILITY
|
||||
inherit=yes
|
||||
{WRAITH_MALEVOLENCE W2}
|
||||
{WRAITH_HYSTERIA W2}
|
||||
{WRAITH_MELEE W2NOABILITY}
|
||||
{GHOST_RANGED W2NOABILITY}
|
||||
{GHOST_MOVEMENT W2NOABILITY}
|
||||
[/variation]
|
||||
[variation]
|
||||
{WRAITH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=W2
|
||||
inherit=yes
|
||||
{WRAITH_MELEE_ADVANCE}
|
||||
{WRAITH_RANGED_ADVANCE}
|
||||
{WRAITH_RESIST_ADVANCE}
|
||||
[/variation]
|
||||
[variation]
|
||||
{WRAITH_BASE}
|
||||
hide_help=yes
|
||||
variation_id=W2NOABILITY
|
||||
inherit=yes
|
||||
{WRAITH_MELEE_ADVANCE}
|
||||
{WRAITH_RANGED_ADVANCE}
|
||||
{WRAITH_MALEVOLENCE_ADVANCE}
|
||||
{WRAITH_HYSTERIA_ADVANCE}
|
||||
[/variation]
|
||||
[/unit_type]
|
||||
|
||||
[unit_type]
|
||||
id=Eidolon
|
||||
{SPECTRE_BASE}
|
||||
[base_unit]
|
||||
id=Spectre
|
||||
[/base_unit]
|
||||
{AMLA_EIDOLON}
|
||||
[/unit_type]
|
||||
|
||||
#undef GHOST_ADVANCEMENT
|
||||
#undef GHOST_ADVANCE
|
||||
#undef AUTO_ADVANCE
|
||||
#undef GHOST_MELEE
|
||||
#undef GHOST_RANGED
|
||||
#undef GHOST_MOVEMENT
|
||||
#undef GHOST_MELEE_ADVANCE
|
||||
#undef GHOST_RANGED_ADVANCE
|
||||
#undef GHOST_MOVE_ADVANCE
|
||||
#undef WRAITH_MELEE
|
||||
#undef WRAITH_MALEVOLENCE
|
||||
#undef WRAITH_HYSTERIA
|
||||
#undef WRAITH_MELEE_ADVANCE
|
||||
#undef WRAITH_RANGED_ADVANCE
|
||||
#undef WRAITH_MALEVOLENCE_ADVANCE
|
||||
#undef WRAITH_HYSTERIA_ADVANCE
|
||||
#undef WRAITH_RESIST_ADVANCE
|
||||
#undef GHOST_BASE
|
||||
#undef WRAITH_BASE
|
||||
#undef SPECTRE_BASE
|
973
data/campaigns/Descent_Into_Darkness/utils/abilities.cfg
Normal file
973
data/campaigns/Descent_Into_Darkness/utils/abilities.cfg
Normal file
|
@ -0,0 +1,973 @@
|
|||
#textdomain wesnoth-did
|
||||
|
||||
############## DRAGON ABILITIES ##############
|
||||
|
||||
#define ABILITY_SOUL_EATER1
|
||||
[dummy]
|
||||
id=did_soul_eater1
|
||||
name= _ "soul eater"
|
||||
name_inactive= _ "soul eater"
|
||||
description= _ "This unit heals 4 HP whenever it kills an enemy unit."
|
||||
description_inactive= _ "This unit heals 4 HP whenever it kills an enemy unit."
|
||||
[/dummy]
|
||||
#enddef
|
||||
|
||||
#define DID_SOUL_EATER1
|
||||
[event]
|
||||
id=did_soul_eater_die1
|
||||
name=die
|
||||
first_time_only=no
|
||||
[filter_second]
|
||||
ability=did_soul_eater1
|
||||
[/filter_second]
|
||||
|
||||
[heal_unit]
|
||||
[filter]
|
||||
x,y=$x2,$y2
|
||||
[/filter]
|
||||
amount=4
|
||||
animate=yes
|
||||
[/heal_unit]
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_SOUL_EATER2
|
||||
[dummy]
|
||||
id=did_soul_eater2
|
||||
name= _ "soul eater"
|
||||
name_inactive= _ "soul eater"
|
||||
description= _ "This unit heals 8 HP whenever it kills an enemy unit."
|
||||
description_inactive= _ "This unit heals 8 HP whenever it kills an enemy unit."
|
||||
[/dummy]
|
||||
#enddef
|
||||
|
||||
#define DID_SOUL_EATER2
|
||||
[event]
|
||||
id=did_soul_eater_die2
|
||||
name=die
|
||||
first_time_only=no
|
||||
[filter_second]
|
||||
ability=did_soul_eater2
|
||||
[/filter_second]
|
||||
|
||||
[heal_unit]
|
||||
[filter]
|
||||
x,y=$x2,$y2
|
||||
[/filter]
|
||||
amount=8
|
||||
animate=yes
|
||||
[/heal_unit]
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_SOUL_EATER3
|
||||
[damage]
|
||||
id=did_soul_eater3
|
||||
name= _ "soul eater"
|
||||
name_inactive= _ "soul eater"
|
||||
description= _ "This unit gains 15% damage on offense and heals 12 HP whenever it kills an enemy unit."
|
||||
description_inactive= _ "This unit gains 15% damage on offense and heals 12 HP whenever it kills an enemy unit."
|
||||
multiply=1.15
|
||||
active_on=offense
|
||||
[/damage]
|
||||
#enddef
|
||||
|
||||
#define DID_SOUL_EATER3
|
||||
[event]
|
||||
id=did_soul_eater_die3
|
||||
name=die
|
||||
first_time_only=no
|
||||
[filter_second]
|
||||
ability=did_soul_eater3
|
||||
[/filter_second]
|
||||
|
||||
[heal_unit]
|
||||
[filter]
|
||||
x,y=$x2,$y2
|
||||
[/filter]
|
||||
amount=12
|
||||
animate=yes
|
||||
[/heal_unit]
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
############## LICH ABILITIES ##############
|
||||
|
||||
#define ABILITY_MALICE1
|
||||
[leadership]
|
||||
id=did_malice1
|
||||
value=20
|
||||
cumulative=no
|
||||
affect_self=no
|
||||
name= _ "malice"
|
||||
description= _ "This unit increases the damage of nearby undead units by 20%."
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[filter]
|
||||
race=undead
|
||||
[/filter]
|
||||
[/affect_adjacent]
|
||||
[/leadership]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_MALICE2
|
||||
[leadership]
|
||||
id=did_malice2
|
||||
value=40
|
||||
cumulative=no
|
||||
affect_self=no
|
||||
name= _ "malice"
|
||||
description= _ "This unit increases the damage of nearby undead units by 40%."
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[filter]
|
||||
race=undead
|
||||
[/filter]
|
||||
[/affect_adjacent]
|
||||
[/leadership]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_SHADOW_VEIL
|
||||
[dummy]
|
||||
id=did_shadow_veil
|
||||
name= _ "shadow veil"
|
||||
name_inactive= _ "shadow veil"
|
||||
description= _ "Allied undead units within a 5 hex radius are hidden."
|
||||
description_inactive= _ "Allied undead units within a 5 hex radius are hidden."
|
||||
[/dummy]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_SHADOW_VEIL_HELPER
|
||||
[hides]
|
||||
id=did_shadow_veil_helper
|
||||
affect_self=yes
|
||||
name= _ "veiled"
|
||||
description= _ "This unit is hidden."
|
||||
[/hides]
|
||||
#enddef
|
||||
|
||||
#define DID_SHADOW_VEIL_HANDLER
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=1
|
||||
race=undead
|
||||
[/filter]
|
||||
|
||||
[if]
|
||||
[have_unit]
|
||||
x,y=$x1,$y1
|
||||
[filter_location]
|
||||
radius=5
|
||||
[and]
|
||||
[filter]
|
||||
ability=did_shadow_veil
|
||||
side=1
|
||||
[/filter]
|
||||
[/and]
|
||||
[/filter_location]
|
||||
[/have_unit]
|
||||
[then]
|
||||
[object]
|
||||
take_only_once=no
|
||||
silent=yes
|
||||
duration=forever
|
||||
[filter]
|
||||
x,y=$x1,$y1
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to=new_ability
|
||||
[abilities]
|
||||
{ABILITY_SHADOW_VEIL_HELPER}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/object]
|
||||
[/then]
|
||||
[else]
|
||||
[object]
|
||||
take_only_once=no
|
||||
silent=yes
|
||||
duration=forever
|
||||
[filter]
|
||||
x,y=$x1,$y1
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to=remove_ability
|
||||
[abilities]
|
||||
{ABILITY_SHADOW_VEIL_HELPER}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/object]
|
||||
[/else]
|
||||
[/if]
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#define WEAPON_SPECIAL_FROST_NOVA
|
||||
[dummy]
|
||||
id=did_frost_nova
|
||||
name= _ "frost nova"
|
||||
name_inactive= _ "frost nova"
|
||||
description= _ "On offense, this attack will additionally deal 70% of its damage in cold damage to all enemies adjacent to the target."
|
||||
description_inactive= _ "On offense, this attack will additionally deal 70% of its damage in cold damage to all enemies adjacent to the target."
|
||||
[/dummy]
|
||||
#enddef
|
||||
|
||||
#define DID_FROST_NOVA
|
||||
[event]
|
||||
name=attacker_hits
|
||||
first_time_only=no
|
||||
[filter_attack]
|
||||
special_id=did_frost_nova
|
||||
[/filter_attack]
|
||||
[store_unit]
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
x,y=$x2,$y2
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[not]
|
||||
x,y=$x2,$y2
|
||||
[/not]
|
||||
[/filter]
|
||||
variable=opp
|
||||
[/store_unit]
|
||||
{VARIABLE frost_damage $damage_inflicted}
|
||||
{VARIABLE_OP frost_damage multiply 0.7}
|
||||
[foreach]
|
||||
array=opp
|
||||
[do]
|
||||
[sound]
|
||||
name="magic-dark.ogg"
|
||||
[/sound]
|
||||
[harm_unit]
|
||||
[filter]
|
||||
x,y=$opp[$i].x,$opp[$i].y
|
||||
[/filter]
|
||||
fire_event=yes
|
||||
animate=yes
|
||||
amount=$frost_damage
|
||||
damage_type=cold
|
||||
delay=25
|
||||
[/harm_unit]
|
||||
[if]
|
||||
[have_unit]
|
||||
x,y=$opp[$i].x,$opp[$i].y
|
||||
[/have_unit]
|
||||
[else]
|
||||
{VARIABLE exp $opp[$i].level}
|
||||
{VARIABLE_OP exp multiply 8}
|
||||
{VARIABLE_OP unit.experience add "$(max(4, $exp))"}
|
||||
{CLEAR_VARIABLE exp}
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
find_vacant=no
|
||||
[/unstore_unit]
|
||||
[/else]
|
||||
[/if]
|
||||
[/do]
|
||||
[/foreach]
|
||||
{CLEAR_VARIABLE opp}
|
||||
{CLEAR_VARIABLE frost_damage}
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#define WEAPON_SPECIAL_SPELLBIND
|
||||
[damage]
|
||||
id=did_spellbind
|
||||
name= _ "spell bind"
|
||||
name_inactive= _ "spell bind"
|
||||
description= _ "When this attack is used, the damage taken from fire, cold, and arcane attacks will be reduced by 60%."
|
||||
description_inactive= _ "When this attack is used, the damage taken from fire, cold, and arcane attacks will be reduced by 60%."
|
||||
[filter_opponent]
|
||||
[filter_weapon]
|
||||
type=fire,cold,arcane
|
||||
[/filter_weapon]
|
||||
[/filter_opponent]
|
||||
apply_to=opponent
|
||||
multiply=0.4
|
||||
[/damage]
|
||||
#enddef
|
||||
|
||||
#define WEAPON_SPECIAL_REAP
|
||||
[drains]
|
||||
id=did_reap
|
||||
value=70
|
||||
name= _ "reap"
|
||||
description= _ "This unit heals for 70% of the damage this attack deals."
|
||||
[/drains]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_SOUL_REND
|
||||
[dummy]
|
||||
id=did_soul_rend
|
||||
name= _ "soul rend"
|
||||
name_inactive= _ "soul rend"
|
||||
description= _ "Every turn, this unit loses 5 hitpoints, but drains 3 hitpoints from each adjacent enemy."
|
||||
description_inactive= _ "Every turn, this unit loses 5 hitpoints, but drains 3 hitpoints from each adjacent enemy."
|
||||
[/dummy]
|
||||
#enddef
|
||||
|
||||
#define DID_SOUL_REND
|
||||
[event]
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
ability=did_soul_rend
|
||||
is_enemy=yes
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
variable=opp
|
||||
[/store_unit]
|
||||
[store_unit]
|
||||
[filter]
|
||||
ability=did_soul_rend
|
||||
[/filter]
|
||||
variable=unit
|
||||
[/store_unit]
|
||||
|
||||
[harm_unit]
|
||||
[filter]
|
||||
ability=did_soul_rend
|
||||
[/filter]
|
||||
|
||||
amount=5
|
||||
animate=no
|
||||
kill=no
|
||||
[/harm_unit]
|
||||
|
||||
[floating_text]
|
||||
x,y=$unit.x,$unit.y
|
||||
text="<span color='#ff0000'>" + "5" + "</span>"
|
||||
[/floating_text]
|
||||
|
||||
{VARIABLE counter 0}
|
||||
[foreach]
|
||||
array=opp
|
||||
[do]
|
||||
{VARIABLE_OP counter add 1}
|
||||
[sound]
|
||||
name="poison.ogg"
|
||||
[/sound]
|
||||
[harm_unit]
|
||||
[filter]
|
||||
x,y=$opp[$i].x,$opp[$i].y
|
||||
[/filter]
|
||||
fire_event=yes
|
||||
animate=yes
|
||||
amount=3
|
||||
delay=25
|
||||
[/harm_unit]
|
||||
[if]
|
||||
[have_unit]
|
||||
x,y=$opp[$i].x,$opp[$i].y
|
||||
[/have_unit]
|
||||
[else]
|
||||
{VARIABLE exp $opp[$i].level}
|
||||
{VARIABLE_OP exp multiply 8}
|
||||
{VARIABLE_OP unit.experience add $exp}
|
||||
{CLEAR_VARIABLE exp}
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
find_vacant=no
|
||||
[/unstore_unit]
|
||||
[/else]
|
||||
[/if]
|
||||
[/do]
|
||||
[/foreach]
|
||||
{VARIABLE_OP counter multiply 3}
|
||||
[heal_unit]
|
||||
[filter]
|
||||
ability=did_soul_rend
|
||||
[/filter]
|
||||
amount=$counter
|
||||
animate=yes
|
||||
[/heal_unit]
|
||||
{CLEAR_VARIABLE opp}
|
||||
{CLEAR_VARIABLE unit}
|
||||
{CLEAR_VARIABLE counter}
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
############## SPECTRAL SERVANT ABILITIES ##############
|
||||
|
||||
#define WEAPON_SPECIAL_MALEVOLENCE
|
||||
[damage]
|
||||
id=did_malevolence
|
||||
name= _ "malevolence"
|
||||
name_inactive= _ "malevolence"
|
||||
description= _ "This attack gains 50% damage on offense, but causes this unit to lose 1 hp per hit."
|
||||
description_inactive= _ "This attack gains 50% damage on offense, but causes this unit to lose 1 hp per hit."
|
||||
multiply=1.5
|
||||
active_on=offense
|
||||
[/damage]
|
||||
[heal_on_hit]
|
||||
id=did_malevolence_anti_heal
|
||||
value=-1
|
||||
active_on=offense
|
||||
[/heal_on_hit]
|
||||
#enddef
|
||||
|
||||
#define WEAPON_SPECIAL_HYSTERIA
|
||||
[swarm]
|
||||
id=did_hysteria
|
||||
name= _ "hysteria"
|
||||
description= _ "This attack gains up to 10 strikes when this unit is wounded."
|
||||
swarm_attacks_min=10
|
||||
[/swarm]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_SORROW1
|
||||
[leadership]
|
||||
id=sorrow
|
||||
value=-20
|
||||
cumulative=no
|
||||
name= _ "sorrow"
|
||||
description= _ "Adjacent enemy units do 20% less damage."
|
||||
affect_self=no
|
||||
affect_allies=no
|
||||
affect_enemies=yes
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[/affect_adjacent]
|
||||
[/leadership]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_SORROW2
|
||||
[leadership]
|
||||
id=sorrow
|
||||
value=-40
|
||||
cumulative=no
|
||||
name= _ "sorrow"
|
||||
description= _ "Adjacent enemy units do 40% less damage."
|
||||
affect_self=no
|
||||
affect_allies=no
|
||||
affect_enemies=yes
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[/affect_adjacent]
|
||||
[/leadership]
|
||||
#enddef
|
||||
|
||||
############## MALIN KESHAR ABILITIES ##############
|
||||
|
||||
#define WEAPON_SPECIAL_VITALIZE1
|
||||
[heal_on_hit]
|
||||
id=did_vitalize1
|
||||
value=2
|
||||
name= _ "vitalize"
|
||||
description= _ "This unit heals 2 HP every time this attack hits."
|
||||
[/heal_on_hit]
|
||||
#enddef
|
||||
|
||||
#define WEAPON_SPECIAL_VITALIZE2
|
||||
[heal_on_hit]
|
||||
id=did_vitalize2
|
||||
value=4
|
||||
name= _ "vitalize"
|
||||
description= _ "This unit heals 4 HP every time this attack hits."
|
||||
[/heal_on_hit]
|
||||
#enddef
|
||||
|
||||
#define WEAPON_SPECIAL_FERVOR
|
||||
[attacks]
|
||||
id=did_fervor
|
||||
name= _ "fervor"
|
||||
name_inactive= _ "fervor"
|
||||
description= _ "This attack gains 2 attacks on offense, but causes this unit to lose 4 hp per hit."
|
||||
description_inactive= _ "This attack gains 2 attacks on offense, but causes this unit to lose 4 hp per hit."
|
||||
add=2
|
||||
active_on=offense
|
||||
[/attacks]
|
||||
[heal_on_hit]
|
||||
id=did_fervor_anti_heal
|
||||
value=-4
|
||||
active_on=offense
|
||||
[/heal_on_hit]
|
||||
#enddef
|
||||
|
||||
#define WEAPON_SPECIAL_IMPETUITY
|
||||
[attacks]
|
||||
id=did_impetuity
|
||||
name= _ "impetuity"
|
||||
name_inactive= _ "impetuity"
|
||||
description= _ "This attack loses one strike on offense, but gains 250% damage."
|
||||
description_inactive= _ "This attack loses one strike on offense, but gains 250% damage."
|
||||
sub=1
|
||||
active_on=offense
|
||||
[/attacks]
|
||||
[damage]
|
||||
id=did_impetuity_damage
|
||||
multiply=3
|
||||
active_on=offense
|
||||
[/damage]
|
||||
#enddef
|
||||
|
||||
#define WEAPON_SPECIAL_CORPSE_LAUNCHER
|
||||
[attacks]
|
||||
id=did_corpse_launcher
|
||||
name= _ "corpse launcher"
|
||||
description= _ "On offense, enemies cannot retaliate against this attack. This attack consumes 3 HP from each nearby allied corpse to deal 11 impact damage (per corpse) to the target on top of this attack’s base damage."
|
||||
value=0
|
||||
cumulative=no
|
||||
apply_to=opponent
|
||||
active_on=offense
|
||||
[/attacks]
|
||||
[damage]
|
||||
id=did_corpse_damage
|
||||
add=11
|
||||
active_on=offense
|
||||
[filter_self]
|
||||
[filter_adjacent]
|
||||
count=1
|
||||
type=Walking Corpse,Soulless
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter_self]
|
||||
[/damage]
|
||||
[damage]
|
||||
id=did_corpse_damage
|
||||
add=22
|
||||
active_on=offense
|
||||
[filter_self]
|
||||
[filter_adjacent]
|
||||
count=2
|
||||
type=Walking Corpse,Soulless
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter_self]
|
||||
[/damage]
|
||||
[damage]
|
||||
id=did_corpse_damage
|
||||
add=33
|
||||
active_on=offense
|
||||
[filter_self]
|
||||
[filter_adjacent]
|
||||
count=3
|
||||
type=Walking Corpse,Soulless
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter_self]
|
||||
[/damage]
|
||||
[damage]
|
||||
id=did_corpse_damage
|
||||
add=44
|
||||
active_on=offense
|
||||
[filter_self]
|
||||
[filter_adjacent]
|
||||
count=4
|
||||
type=Walking Corpse,Soulless
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter_self]
|
||||
[/damage]
|
||||
[damage]
|
||||
id=did_corpse_damage
|
||||
add=55
|
||||
active_on=offense
|
||||
[filter_self]
|
||||
[filter_adjacent]
|
||||
count=5
|
||||
type=Walking Corpse,Soulless
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter_self]
|
||||
[/damage]
|
||||
[damage]
|
||||
id=did_corpse_damage
|
||||
add=66
|
||||
active_on=offense
|
||||
[filter_self]
|
||||
[filter_adjacent]
|
||||
count=6
|
||||
type=Walking Corpse,Soulless
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter_self]
|
||||
[/damage]
|
||||
#enddef
|
||||
|
||||
#define DID_CORPSE_LAUNCH
|
||||
[event]
|
||||
id=did_corpse_launch_handler
|
||||
name=attacker_hits
|
||||
first_time_only=no
|
||||
[filter_attack]
|
||||
special_id=did_corpse_launcher
|
||||
[/filter_attack]
|
||||
[store_unit]
|
||||
[filter]
|
||||
type=Walking Corpse,Soulless
|
||||
[filter_adjacent]
|
||||
x,y=$x1,$y1
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[not]
|
||||
x,y=$x1,$y1
|
||||
[/not]
|
||||
[/filter]
|
||||
variable=zombie
|
||||
[/store_unit]
|
||||
[foreach]
|
||||
array=zombie
|
||||
[do]
|
||||
[harm_unit]
|
||||
[filter]
|
||||
x,y=$zombie[$i].x,$zombie[$i].y
|
||||
[/filter]
|
||||
fire_event=yes
|
||||
animate=no
|
||||
kill=no
|
||||
amount=3
|
||||
delay=25
|
||||
[/harm_unit]
|
||||
[/do]
|
||||
[/foreach]
|
||||
{CLEAR_VARIABLE zombie}
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_CONSUMPTION
|
||||
[leadership]
|
||||
id=did_consumption
|
||||
value=25
|
||||
cumulative=no
|
||||
affect_self=yes
|
||||
name= _ "consumption"
|
||||
description= _ "At night, this unit and adjacent allied undead gain 25% damage. However, this unit loses 2 HP per turn."
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[filter]
|
||||
race=undead
|
||||
[/filter]
|
||||
[/affect_adjacent]
|
||||
[filter_self]
|
||||
[filter_location]
|
||||
time_of_day=chaotic
|
||||
[/filter_location]
|
||||
[/filter_self]
|
||||
[/leadership]
|
||||
#enddef
|
||||
|
||||
#define DID_CONSUMPTION
|
||||
[event]
|
||||
id=did_consumption_handler
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
ability=did_consumption
|
||||
[/filter]
|
||||
variable=unit
|
||||
[/store_unit]
|
||||
|
||||
[if]
|
||||
[have_location]
|
||||
x,y=$unit.x,$unit.y
|
||||
time_of_day=chaotic
|
||||
[/have_location]
|
||||
[then]
|
||||
[harm_unit]
|
||||
[filter]
|
||||
ability=did_consumption
|
||||
[/filter]
|
||||
|
||||
amount=2
|
||||
animate=no
|
||||
kill=no
|
||||
[/harm_unit]
|
||||
|
||||
[floating_text]
|
||||
x,y=$unit.x,$unit.y
|
||||
text="<span color='#ff0000'>" + "2" + "</span>"
|
||||
[/floating_text]
|
||||
[/then]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE unit}
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_CORPSE_MASTER
|
||||
[heals]
|
||||
id=did_corpse_master
|
||||
value=6
|
||||
affect_allies=yes
|
||||
affect_self=no
|
||||
affect_enemies=no
|
||||
name= _ "corpse master"
|
||||
description= _ "Adjacent allied corpses heal 6 HP per turn and gain 20% resistance to blade, impact, and pierce."
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[filter]
|
||||
type=Walking Corpse,Soulless
|
||||
[/filter]
|
||||
[/affect_adjacent]
|
||||
[/heals]
|
||||
[resistance]
|
||||
id=did_corpse_master_resist
|
||||
add=20
|
||||
max_value=90
|
||||
cumulative=no
|
||||
affect_self=no
|
||||
affect_allies=yes
|
||||
affect_enemies=no
|
||||
apply_to=blade,pierce,impact
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[filter]
|
||||
type=Walking Corpse,Soulless
|
||||
[/filter]
|
||||
[/affect_adjacent]
|
||||
[/resistance]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_ZOMBIE_FRENZY
|
||||
[leadership]
|
||||
id=did_zombie_frenzy
|
||||
value=30
|
||||
cumulative=no
|
||||
affect_self=no
|
||||
affect_allies=yes
|
||||
affect_enemies=no
|
||||
name= _ "zombie frenzy"
|
||||
description= _ "Adjacent allied corpses gain 30% damage and are berserk."
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[filter]
|
||||
type=Walking Corpse,Soulless
|
||||
[/filter]
|
||||
[/affect_adjacent]
|
||||
[/leadership]
|
||||
[berserk]
|
||||
id=did_zombie_frenzy_berserk
|
||||
value=30
|
||||
affect_self=no
|
||||
affect_allies=yes
|
||||
affect_enemies=no
|
||||
[affect_adjacent]
|
||||
adjacent=n,ne,se,s,sw,nw
|
||||
[filter]
|
||||
type=Walking Corpse,Soulless
|
||||
[/filter]
|
||||
[/affect_adjacent]
|
||||
[/berserk]
|
||||
#enddef
|
||||
|
||||
############## DROGAN GHOUL ABILITIES ##############
|
||||
|
||||
#define ABILITY_CANNIBALIZE1
|
||||
[regenerate]
|
||||
id=did_cannibalize1
|
||||
value=2
|
||||
affect_self=yes
|
||||
name= _ "cannibalize"
|
||||
description= _ "On each turn, this unit regenerates 2 HP per adjacent allied ghoul-type unit, but consumes 1 HP from each ally in the process."
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=1
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize1
|
||||
value=4
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=2
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize1
|
||||
value=6
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=3
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize1
|
||||
value=8
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=4
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize1
|
||||
value=10
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=5
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize1
|
||||
value=12
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=6
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[heals]
|
||||
value=-1
|
||||
id=did_cannibalize_antiheal
|
||||
affect_allies=yes
|
||||
affect_self=no
|
||||
[affect_adjacent]
|
||||
[/affect_adjacent]
|
||||
[/heals]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_CANNIBALIZE2
|
||||
[regenerate]
|
||||
id=did_cannibalize2
|
||||
value=4
|
||||
affect_self=yes
|
||||
name= _ "cannibalize"
|
||||
description= _ "On each turn, this unit regenerates 4 HP per adjacent allied ghoul-type unit, but consumes 2 HP from each ally in the process."
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=1
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize2
|
||||
value=8
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=2
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize2
|
||||
value=12
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=3
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize2
|
||||
value=16
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=4
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize2
|
||||
value=20
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=5
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[regenerate]
|
||||
id=did_cannibalize2
|
||||
value=24
|
||||
affect_self=yes
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
count=6
|
||||
type=Ghoul,Necrophage,Ghast
|
||||
is_enemy=no
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[/regenerate]
|
||||
[heals]
|
||||
value=-2
|
||||
id=did_cannibalize_antiheal
|
||||
affect_allies=yes
|
||||
affect_self=no
|
||||
[affect_adjacent]
|
||||
[/affect_adjacent]
|
||||
[/heals]
|
||||
#enddef
|
||||
|
||||
#define ABILITY_DEATH_CLOUD
|
||||
[dummy]
|
||||
id=did_death_cloud
|
||||
name= _ "death cloud"
|
||||
description= _ "This unit poisons all nearby enemy units on the start of every new turn."
|
||||
[/dummy]
|
||||
#enddef
|
||||
|
||||
#define DID_DEATH_CLOUD
|
||||
[event]
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
[filter_adjacent]
|
||||
ability=did_death_cloud
|
||||
is_enemy=yes
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
variable=opp
|
||||
[/store_unit]
|
||||
|
||||
[foreach]
|
||||
array=opp
|
||||
[do]
|
||||
[harm_unit]
|
||||
[filter]
|
||||
x,y=$opp[$i].x,$opp[$i].y
|
||||
[/filter]
|
||||
fire_event=yes
|
||||
animate=yes
|
||||
amount=0
|
||||
poisoned=yes
|
||||
delay=25
|
||||
[/harm_unit]
|
||||
[/do]
|
||||
[/foreach]
|
||||
{CLEAR_VARIABLE opp}
|
||||
[/event]
|
||||
#enddef
|
1007
data/campaigns/Descent_Into_Darkness/utils/amlas.cfg
Normal file
1007
data/campaigns/Descent_Into_Darkness/utils/amlas.cfg
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,8 @@
|
|||
#textdomain wesnoth-did
|
||||
|
||||
#define CHARACTER_STATS_MALIN_KESHAR
|
||||
type=Apprentice Mage
|
||||
type=Malin Keshar
|
||||
variation=AM1
|
||||
id=Malin Keshar
|
||||
name= _ "Malin Keshar"
|
||||
profile=portraits/malin_young.png
|
||||
|
@ -10,16 +11,13 @@
|
|||
#enddef
|
||||
|
||||
#define CHARACTER_STATS_MAL_KESHAR
|
||||
type=Lich
|
||||
type=Mal Keshar
|
||||
variation=MKL1
|
||||
id=Mal Keshar
|
||||
name= _ "Mal Keshar"
|
||||
profile=portraits/malin_lich.png
|
||||
canrecruit=yes
|
||||
unrenamable=yes
|
||||
|
||||
# Enable his advancement to Ancient Lich
|
||||
advances_to=Ancient Lich
|
||||
max_experience=250
|
||||
#enddef
|
||||
|
||||
#define CHARACTER_STATS_DELA_KESHAR
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
[role]
|
||||
role=advisor
|
||||
side=1
|
||||
type=Spectre,Nightgaunt,Wraith,Shadow,Ghost
|
||||
type=Eidolon,Wight,Spectral Servant,Spectre,Nightgaunt,Wraith,Shadow,Ghost
|
||||
search_recall_list=yes
|
||||
[auto_recall][/auto_recall]
|
||||
[else]
|
||||
|
|
Loading…
Add table
Reference in a new issue