DiD: add new unit for Mal Keshar

This commit is contained in:
nemaara 2019-10-17 03:42:44 -04:00
parent d37faf8de2
commit 44a051efe8
3 changed files with 508 additions and 6 deletions

View File

@ -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

View File

@ -0,0 +1,505 @@
#textdomain wesnoth-did
#define MAL_KESHAR_ADVANCEMENT HP_INCREMENT XP_INCREMENT 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]
[effect]
apply_to=max_experience
increase={XP_INCREMENT}
[/effect]
[effect]
apply_to=variation
name={VARIATION_NAME}
[/effect]
{EFFECT_WML}
[/advancement]
#enddef
############## LICH ADVANCEMENTS ##############
#define LICH_MELEE VARIANT_NAME
{MAL_KESHAR_ADVANCEMENT 4 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 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 25 (
id=lich_movement_melee
description= _ "+1 movement"
image=attacks/touch-undead.png
[effect]
apply_to=movement
increase=1
[/effect]
) {VARIANT_NAME}}
#enddef
############## ANCIENT LICH ABILITIES ##############
#define ANCIENT_LICH_MALICE VARIANT_NAME
{MAL_KESHAR_ADVANCEMENT 0 60 (
id=ancient_lich_malice
description= _ "Nearby undead units gain 15% damage"
image=attacks/wail.png
[effect]
apply_to=new_ability
[abilities]
{ABILITY_MALICE15}
[/abilities]
[/effect]
) {VARIANT_NAME}}
#enddef
#define ANCIENT_LICH_RESIST VARIANT_NAME
{MAL_KESHAR_ADVANCEMENT 0 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 (
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
increase=-100%
[/effect]
[effect]
apply_to=max_experience
increase=119
[/effect]
) {VARIANT_NAME}}
#enddef
#define ANCIENT_LICH_SPELLBIND VARIANT_NAME
{MAL_KESHAR_ADVANCEMENT 4 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
increase=-100%
[/effect]
[effect]
apply_to=max_experience
increase=119
[/effect]
) {VARIANT_NAME}}
#enddef
#define ANCIENT_LICH_REND VARIANT_NAME
{MAL_KESHAR_ADVANCEMENT 5 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
increase=-100%
[/effect]
[effect]
apply_to=max_experience
increase=119
[/effect]
) {VARIANT_NAME}}
#enddef
#define MAL_KESHAR_LICH_BASE
id=Mal Keshar
[base_unit]
id=Lich
[/base_unit]
hitpoints=55
movement=5
experience=60
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}
[event]
name=post advance
[filter]
id=Mal Keshar
level=4
[/filter]
[modify_unit]
[filter]
id=Mal Keshar
[/filter]
[base_unit]
id=Ancient Lich
[/base_unit]
[/modify_unit]
[/event]
#enddef
#define MAL_KESHAR_ANCIENT_LICH_BASE
id=Mal Keshar
name= _ "Ancient Lich"
image="units/undead-necromancers/ancient-lich.png"
hitpoints=70
movement=5
experience=100
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]
{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]

View File

@ -10,16 +10,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