Organized the DiD images properly.
|
@ -190,7 +190,7 @@
|
|||
y={DOOR_Y}
|
||||
letter=xx
|
||||
[/terrain]
|
||||
{PLACE_IMAGE (door_{FACING}.png) {DOOR_X} {DOOR_Y}}
|
||||
{PLACE_IMAGE (misc/door_{FACING}.png) {DOOR_X} {DOOR_Y}}
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=yes
|
||||
|
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 4 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 7 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
@ -25,7 +25,7 @@ victory_when_enemies_defeated=no
|
|||
type=Apprentice Mage
|
||||
description=Malin Keshar
|
||||
user_description=_ "Malin Keshar"
|
||||
profile=malin-portrait.png
|
||||
profile=portraits/malin.png
|
||||
unrenamable=yes
|
||||
canrecruit=1
|
||||
recruit=Walking Corpse
|
||||
|
@ -82,7 +82,7 @@ victory_when_enemies_defeated=no
|
|||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
|
||||
[music]
|
||||
name=northerners.ogg
|
||||
[/music]
|
||||
|
@ -91,7 +91,7 @@ victory_when_enemies_defeated=no
|
|||
append=yes
|
||||
ms_before=1000
|
||||
[/music]
|
||||
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
|
@ -111,19 +111,19 @@ victory_when_enemies_defeated=no
|
|||
description=_ "Death of Drogan"
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
|
||||
# Place signpost to mark area defended
|
||||
{PLACE_IMAGE scenery/signpost.png 27 13}
|
||||
{PLACE_IMAGE scenery/signpost.png 23 20}
|
||||
|
||||
|
||||
# Drogan owns villages in the town
|
||||
{STARTING_VILLAGES 3 10}
|
||||
|
||||
|
||||
# Place starting units for Drogan and Malin
|
||||
{UNIT (Spearman) (River fort guard) ( _ "River fort guard") 1 30 11}
|
||||
{UNIT (Bowman) (River fort guard) ( _ "River fort guard") 1 31 12}
|
||||
{UNIT (Spearman) (River fort guard) ( _ "River fort guard") 1 31 13}
|
||||
|
||||
|
||||
{UNIT (Spearman) (Hal'al town guard) ( _ "Hal'al town guard") 3 5 17}
|
||||
{UNIT (Swordsman) (Hal'al town guard) ( _ "Hal'al town guard") 3 6 17}
|
||||
{UNIT (Spearman) (Hal'al town guard) ( _ "Hal'al town guard") 3 6 18}
|
||||
|
|
|
@ -52,11 +52,11 @@ victory_when_enemies_defeated=no
|
|||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
|
||||
[music]
|
||||
name=revelation.ogg
|
||||
[/music]
|
||||
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
|
@ -72,10 +72,10 @@ victory_when_enemies_defeated=no
|
|||
description=_ "Death of Darken Volk"
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
|
||||
{VARIABLE number_villages 13}
|
||||
{VARIABLE villages_owned 0}
|
||||
|
||||
|
||||
# Set goblin villages
|
||||
{SET_VILLAGE 2 4 1}
|
||||
{SET_VILLAGE 2 18 2}
|
||||
|
@ -97,7 +97,7 @@ victory_when_enemies_defeated=no
|
|||
[unit]
|
||||
description=Darken Volk
|
||||
user_description="Darken Volk"
|
||||
profile=gwiti.png
|
||||
profile=portraits/darken_volk.png
|
||||
type=Dark Sorcerer DiD
|
||||
unrenamable=yes
|
||||
upkeep=loyal
|
||||
|
@ -233,7 +233,7 @@ victory_when_enemies_defeated=no
|
|||
result=victory
|
||||
[/endlevel]
|
||||
{DIALOGUE_PV_END}
|
||||
[/then]
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
|
|
|
@ -1,376 +1,376 @@
|
|||
[scenario]
|
||||
id=Alone_at_Last
|
||||
next_scenario=Descent_into_Darkness
|
||||
#textdomain wesnoth-did
|
||||
|
||||
name=_ "Alone at Last"
|
||||
map_data="{campaigns/Descent_Into_Darkness/maps/Alone_at_last.map}"
|
||||
turns=-1
|
||||
|
||||
victory_when_enemies_defeated=no
|
||||
|
||||
{STORY_ALONE_AT_LAST}
|
||||
|
||||
{DUSK}
|
||||
{FIRST_WATCH}
|
||||
{SECOND_WATCH}
|
||||
{DAWN}
|
||||
{MORNING}
|
||||
{AFTERNOON}
|
||||
|
||||
[side]
|
||||
side=1
|
||||
controller=human
|
||||
type=Apprentice Mage
|
||||
description=Malin Keshar
|
||||
user_description=_ "Malin Keshar"
|
||||
unrenamable=yes
|
||||
canrecruit=1
|
||||
recruit=Walking Corpse,Vampire Bat,Ghost,Ghoul,Skeleton Archer,Skeleton,Dark Adept DiD
|
||||
fog=no
|
||||
shroud=no
|
||||
gold=180
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Darken Volk
|
||||
side=2
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
gold=430
|
||||
recruit=Soulless,Blood Bat,Wraith,Ghost,Shadow,Necrophage,Bone Shooter,Skeleton,Revenant,Deathblade,Dark Sorcerer_DiD
|
||||
[ai]
|
||||
village_value=0.2
|
||||
villages_per_scout=10
|
||||
[target]
|
||||
description=Malin Keshar
|
||||
value=1
|
||||
[/target]
|
||||
[target]
|
||||
side=3
|
||||
value=5
|
||||
[/target]
|
||||
protect_leader=4
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Paladins and co.
|
||||
side=3
|
||||
team_name=wesnothians
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
gold=150
|
||||
income=20
|
||||
recruit=Spearman,Heavy Infantryman,White Mage,Mage,Paladin
|
||||
[ai]
|
||||
village_value=0.1
|
||||
villages_per_scout=10
|
||||
[target]
|
||||
description=Darken Volk
|
||||
value=2
|
||||
[/target]
|
||||
#recruitment_pattern=fighter,healer
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Dela Keshar
|
||||
side=4
|
||||
team_name=wesnothians
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
gold=250
|
||||
recruit=Spearman,Archer,Swordsman,Longbowman,Thug,Poacher,Footpad
|
||||
[ai]
|
||||
[target]
|
||||
description=Malin Keshar
|
||||
value=2
|
||||
[/target]
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
[music]
|
||||
name=wanderer.ogg
|
||||
[/music]
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Take the book back from Darken Volk."
|
||||
[/objective]
|
||||
[objective]
|
||||
condition=lose
|
||||
description=_ "Death of Malin Keshar"
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
# Ditch the starting point keep
|
||||
[terrain]
|
||||
x,y=2,26
|
||||
letter=Uu
|
||||
[/terrain]
|
||||
|
||||
# Place DV
|
||||
{VARIABLE darkenVolkStore.x 2}
|
||||
{VARIABLE darkenVolkStore.y 27}
|
||||
{VARIABLE darkenVolkStore.side 1}
|
||||
[unstore_unit]
|
||||
variable=darkenVolkStore
|
||||
[/unstore_unit]
|
||||
{CLEAR_VARIABLE darkenVolkStore}
|
||||
|
||||
# Scenario variables
|
||||
{VARIABLE bookX 0}
|
||||
{VARIABLE bookY 0}
|
||||
[/event]
|
||||
|
||||
|
||||
[event]
|
||||
name=start
|
||||
{MOVE_UNIT (description=Malin Keshar) 7 22}
|
||||
{DIALOGUE_AAL_START}
|
||||
{MOVE_UNIT (description=Darken Volk) 8 21}
|
||||
[if]
|
||||
[variable]
|
||||
name=hasBook
|
||||
equals=Malin
|
||||
[/variable]
|
||||
[then]
|
||||
# Malin has the book
|
||||
{DIALOGUE_AAL_START2A}
|
||||
[/then]
|
||||
[else]
|
||||
# DV already has book
|
||||
{DIALOGUE_AAL_START2B}
|
||||
[/else]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE hasBook}
|
||||
[role]
|
||||
role=book_carrier
|
||||
type=Dark Sorcerer DiD,Necromancer
|
||||
[/role]
|
||||
[unit_overlay]
|
||||
x,y=8,21
|
||||
image="book-icon.png"
|
||||
[/unit_overlay]
|
||||
{MOVE_UNIT (description=Darken Volk) 19 19}
|
||||
{MODIFY_UNIT (description=Darken Volk) side 2}
|
||||
{MODIFY_UNIT (description=Darken Volk) canrecruit 1}
|
||||
{DELAY 500}
|
||||
{MOVE_UNIT (description=Malin Keshar) 7 21}
|
||||
{DELAY 500}
|
||||
{MOVE_UNIT (description=Malin Keshar) 8 20}
|
||||
{DELAY 500}
|
||||
{MOVE_UNIT (description=Malin Keshar) 9 20}
|
||||
{DELAY 500}
|
||||
{CREATE_ADVISOR}
|
||||
{DIALOGUE_AAL_START3}
|
||||
{MOVE_UNIT (description=Malin Keshar) 5 17}
|
||||
{MOVE_UNIT (description=Darken Volk) 26 10}
|
||||
|
||||
# Make camp
|
||||
[terrain]
|
||||
x=25-27,26
|
||||
y=10-11,9
|
||||
letter=Ce
|
||||
[/terrain]
|
||||
[terrain]
|
||||
x,y=26,10
|
||||
letter=Ke
|
||||
[/terrain]
|
||||
|
||||
[/event]
|
||||
|
||||
# In-scenario events
|
||||
[event]
|
||||
name=attack
|
||||
[filter]
|
||||
side=1
|
||||
[/filter]
|
||||
[filter_second]
|
||||
side=2
|
||||
[/filter_second]
|
||||
{DIALOGUE_AAL_REALIZE}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=attack
|
||||
[filter]
|
||||
side=1
|
||||
[/filter]
|
||||
[filter_second]
|
||||
description=Darken Volk
|
||||
[/filter_second]
|
||||
{DIALOGUE_AAL_TAUNT}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Paladins!
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
[if]
|
||||
[variable]
|
||||
name=turn_number
|
||||
numerical_equals=5
|
||||
[/variable]
|
||||
[then]
|
||||
# Fake move the paladin in, set up a camp, have some dialog, and give him another paladin and a mage of light
|
||||
[move_unit_fake]
|
||||
type=Paladin
|
||||
x=34,32
|
||||
y=27,23
|
||||
side=3
|
||||
[/move_unit_fake]
|
||||
[unit]
|
||||
type=Paladin
|
||||
side=3
|
||||
x,y=32,23
|
||||
description=Sir Cadaeus
|
||||
user_description=_ "Sir Cadaeus"
|
||||
canrecruit=1
|
||||
random_traits=yes
|
||||
animate=no
|
||||
[/unit]
|
||||
{GEN_UNIT (Paladin) 3 31 24}
|
||||
{GEN_UNIT (Paladin) 3 31 23}
|
||||
{GEN_UNIT (Mage of Light) 3 33 24}
|
||||
# Make camp
|
||||
[terrain]
|
||||
x=31-33,32
|
||||
y=23-24,22
|
||||
letter=Ce
|
||||
[/terrain]
|
||||
[terrain]
|
||||
x,y=32,23
|
||||
letter=Ke
|
||||
[/terrain]
|
||||
{DIALOGUE_AAL_PALADIN}
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Dela joins the party
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
[if]
|
||||
[variable]
|
||||
name=turn_number
|
||||
numerical_equals=10
|
||||
[/variable]
|
||||
[then]
|
||||
# Fake move Dela in, set up camp, have some dialog. She doesn't bring anyone with her.
|
||||
[move_unit_fake]
|
||||
type=Frontier Baroness
|
||||
x=27,21
|
||||
y=1,4
|
||||
side=4
|
||||
[/move_unit_fake]
|
||||
[unit]
|
||||
type=Frontier Baroness
|
||||
side=4
|
||||
x,y=21,4
|
||||
description=Dela Keshar
|
||||
user_description="Dela Keshar"
|
||||
canrecruit=1
|
||||
animate=no
|
||||
[/unit]
|
||||
# Make camp
|
||||
[terrain]
|
||||
x=20-22,21
|
||||
y=3-4,5
|
||||
letter=Ce
|
||||
[/terrain]
|
||||
[terrain]
|
||||
x,y=21,4
|
||||
letter=Ke
|
||||
[/terrain]
|
||||
{DIALOGUE_AAL_DELA}
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=die
|
||||
[filter]
|
||||
description=Darken Volk
|
||||
[/filter]
|
||||
{DIALOGUE_AAL_DVDIE}
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Bring the book back to Malin's castle."
|
||||
[/objective]
|
||||
[/objectives]
|
||||
{DIALOGUE_AAL_NOTE}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=die
|
||||
first_time_only=no
|
||||
[filter]
|
||||
role=book_carrier
|
||||
[/filter]
|
||||
{VARIABLE_OP bookX format $x1}
|
||||
{VARIABLE_OP bookY format $y1}
|
||||
{PLACE_IMAGE (items/book5.png) ($bookX) ($bookY)}
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=yes
|
||||
[filter]
|
||||
x=$bookX
|
||||
y=$bookY
|
||||
side=1
|
||||
[not]
|
||||
type=Ghost,Wraith,Spectre,Shadow,Nightgaunt,Vampire Bat,Blood Bat
|
||||
[/not]
|
||||
[/filter]
|
||||
[removeitem]
|
||||
x=$bookX
|
||||
y=$bookY
|
||||
[/removeitem]
|
||||
[role]
|
||||
role=book_carrier
|
||||
x=$bookX
|
||||
y=$bookY
|
||||
[/role]
|
||||
[unit_overlay]
|
||||
x=$bookX
|
||||
y=$bookY
|
||||
image="book-icon.png"
|
||||
[/unit_overlay]
|
||||
[/event]
|
||||
[/event]
|
||||
|
||||
# Defeat Conditions
|
||||
{MALIN_DEATH}
|
||||
|
||||
# Victory Condition
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
role=book_carrier
|
||||
x=4-6,5-7
|
||||
y=16-17,18
|
||||
[/filter]
|
||||
{MOVE_UNIT (description=Malin Keshar) 1 12}
|
||||
{DIALOGUE_AAL_END}
|
||||
[endlevel]
|
||||
bonus=no
|
||||
result=continue
|
||||
[/endlevel]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=victory
|
||||
{CLEAR_VARIABLE bookX}
|
||||
{CLEAR_VARIABLE bookY}
|
||||
{MODIFY_UNIT (role=book_carrier) overlays none}
|
||||
[/event]
|
||||
|
||||
[/scenario]
|
||||
[scenario]
|
||||
id=Alone_at_Last
|
||||
next_scenario=Descent_into_Darkness
|
||||
#textdomain wesnoth-did
|
||||
|
||||
name=_ "Alone at Last"
|
||||
map_data="{campaigns/Descent_Into_Darkness/maps/Alone_at_last.map}"
|
||||
turns=-1
|
||||
|
||||
victory_when_enemies_defeated=no
|
||||
|
||||
{STORY_ALONE_AT_LAST}
|
||||
|
||||
{DUSK}
|
||||
{FIRST_WATCH}
|
||||
{SECOND_WATCH}
|
||||
{DAWN}
|
||||
{MORNING}
|
||||
{AFTERNOON}
|
||||
|
||||
[side]
|
||||
side=1
|
||||
controller=human
|
||||
type=Apprentice Mage
|
||||
description=Malin Keshar
|
||||
user_description=_ "Malin Keshar"
|
||||
unrenamable=yes
|
||||
canrecruit=1
|
||||
recruit=Walking Corpse,Vampire Bat,Ghost,Ghoul,Skeleton Archer,Skeleton,Dark Adept DiD
|
||||
fog=no
|
||||
shroud=no
|
||||
gold=180
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Darken Volk
|
||||
side=2
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
gold=430
|
||||
recruit=Soulless,Blood Bat,Wraith,Ghost,Shadow,Necrophage,Bone Shooter,Skeleton,Revenant,Deathblade,Dark Sorcerer_DiD
|
||||
[ai]
|
||||
village_value=0.2
|
||||
villages_per_scout=10
|
||||
[target]
|
||||
description=Malin Keshar
|
||||
value=1
|
||||
[/target]
|
||||
[target]
|
||||
side=3
|
||||
value=5
|
||||
[/target]
|
||||
protect_leader=4
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Paladins and co.
|
||||
side=3
|
||||
team_name=wesnothians
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
gold=150
|
||||
income=20
|
||||
recruit=Spearman,Heavy Infantryman,White Mage,Mage,Paladin
|
||||
[ai]
|
||||
village_value=0.1
|
||||
villages_per_scout=10
|
||||
[target]
|
||||
description=Darken Volk
|
||||
value=2
|
||||
[/target]
|
||||
#recruitment_pattern=fighter,healer
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Dela Keshar
|
||||
side=4
|
||||
team_name=wesnothians
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
gold=250
|
||||
recruit=Spearman,Archer,Swordsman,Longbowman,Thug,Poacher,Footpad
|
||||
[ai]
|
||||
[target]
|
||||
description=Malin Keshar
|
||||
value=2
|
||||
[/target]
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
[music]
|
||||
name=wanderer.ogg
|
||||
[/music]
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Take the book back from Darken Volk."
|
||||
[/objective]
|
||||
[objective]
|
||||
condition=lose
|
||||
description=_ "Death of Malin Keshar"
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
# Ditch the starting point keep
|
||||
[terrain]
|
||||
x,y=2,26
|
||||
letter=Uu
|
||||
[/terrain]
|
||||
|
||||
# Place DV
|
||||
{VARIABLE darkenVolkStore.x 2}
|
||||
{VARIABLE darkenVolkStore.y 27}
|
||||
{VARIABLE darkenVolkStore.side 1}
|
||||
[unstore_unit]
|
||||
variable=darkenVolkStore
|
||||
[/unstore_unit]
|
||||
{CLEAR_VARIABLE darkenVolkStore}
|
||||
|
||||
# Scenario variables
|
||||
{VARIABLE bookX 0}
|
||||
{VARIABLE bookY 0}
|
||||
[/event]
|
||||
|
||||
|
||||
[event]
|
||||
name=start
|
||||
{MOVE_UNIT (description=Malin Keshar) 7 22}
|
||||
{DIALOGUE_AAL_START}
|
||||
{MOVE_UNIT (description=Darken Volk) 8 21}
|
||||
[if]
|
||||
[variable]
|
||||
name=hasBook
|
||||
equals=Malin
|
||||
[/variable]
|
||||
[then]
|
||||
# Malin has the book
|
||||
{DIALOGUE_AAL_START2A}
|
||||
[/then]
|
||||
[else]
|
||||
# DV already has book
|
||||
{DIALOGUE_AAL_START2B}
|
||||
[/else]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE hasBook}
|
||||
[role]
|
||||
role=book_carrier
|
||||
type=Dark Sorcerer DiD,Necromancer
|
||||
[/role]
|
||||
[unit_overlay]
|
||||
x,y=8,21
|
||||
image="misc/book-icon.png"
|
||||
[/unit_overlay]
|
||||
{MOVE_UNIT (description=Darken Volk) 19 19}
|
||||
{MODIFY_UNIT (description=Darken Volk) side 2}
|
||||
{MODIFY_UNIT (description=Darken Volk) canrecruit 1}
|
||||
{DELAY 500}
|
||||
{MOVE_UNIT (description=Malin Keshar) 7 21}
|
||||
{DELAY 500}
|
||||
{MOVE_UNIT (description=Malin Keshar) 8 20}
|
||||
{DELAY 500}
|
||||
{MOVE_UNIT (description=Malin Keshar) 9 20}
|
||||
{DELAY 500}
|
||||
{CREATE_ADVISOR}
|
||||
{DIALOGUE_AAL_START3}
|
||||
{MOVE_UNIT (description=Malin Keshar) 5 17}
|
||||
{MOVE_UNIT (description=Darken Volk) 26 10}
|
||||
|
||||
# Make camp
|
||||
[terrain]
|
||||
x=25-27,26
|
||||
y=10-11,9
|
||||
letter=Ce
|
||||
[/terrain]
|
||||
[terrain]
|
||||
x,y=26,10
|
||||
letter=Ke
|
||||
[/terrain]
|
||||
|
||||
[/event]
|
||||
|
||||
# In-scenario events
|
||||
[event]
|
||||
name=attack
|
||||
[filter]
|
||||
side=1
|
||||
[/filter]
|
||||
[filter_second]
|
||||
side=2
|
||||
[/filter_second]
|
||||
{DIALOGUE_AAL_REALIZE}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=attack
|
||||
[filter]
|
||||
side=1
|
||||
[/filter]
|
||||
[filter_second]
|
||||
description=Darken Volk
|
||||
[/filter_second]
|
||||
{DIALOGUE_AAL_TAUNT}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Paladins!
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
[if]
|
||||
[variable]
|
||||
name=turn_number
|
||||
numerical_equals=5
|
||||
[/variable]
|
||||
[then]
|
||||
# Fake move the paladin in, set up a camp, have some dialog, and give him another paladin and a mage of light
|
||||
[move_unit_fake]
|
||||
type=Paladin
|
||||
x=34,32
|
||||
y=27,23
|
||||
side=3
|
||||
[/move_unit_fake]
|
||||
[unit]
|
||||
type=Paladin
|
||||
side=3
|
||||
x,y=32,23
|
||||
description=Sir Cadaeus
|
||||
user_description=_ "Sir Cadaeus"
|
||||
canrecruit=1
|
||||
random_traits=yes
|
||||
animate=no
|
||||
[/unit]
|
||||
{GEN_UNIT (Paladin) 3 31 24}
|
||||
{GEN_UNIT (Paladin) 3 31 23}
|
||||
{GEN_UNIT (Mage of Light) 3 33 24}
|
||||
# Make camp
|
||||
[terrain]
|
||||
x=31-33,32
|
||||
y=23-24,22
|
||||
letter=Ce
|
||||
[/terrain]
|
||||
[terrain]
|
||||
x,y=32,23
|
||||
letter=Ke
|
||||
[/terrain]
|
||||
{DIALOGUE_AAL_PALADIN}
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Dela joins the party
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
[if]
|
||||
[variable]
|
||||
name=turn_number
|
||||
numerical_equals=10
|
||||
[/variable]
|
||||
[then]
|
||||
# Fake move Dela in, set up camp, have some dialog. She doesn't bring anyone with her.
|
||||
[move_unit_fake]
|
||||
type=Frontier Baroness
|
||||
x=27,21
|
||||
y=1,4
|
||||
side=4
|
||||
[/move_unit_fake]
|
||||
[unit]
|
||||
type=Frontier Baroness
|
||||
side=4
|
||||
x,y=21,4
|
||||
description=Dela Keshar
|
||||
user_description="Dela Keshar"
|
||||
canrecruit=1
|
||||
animate=no
|
||||
[/unit]
|
||||
# Make camp
|
||||
[terrain]
|
||||
x=20-22,21
|
||||
y=3-4,5
|
||||
letter=Ce
|
||||
[/terrain]
|
||||
[terrain]
|
||||
x,y=21,4
|
||||
letter=Ke
|
||||
[/terrain]
|
||||
{DIALOGUE_AAL_DELA}
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=die
|
||||
[filter]
|
||||
description=Darken Volk
|
||||
[/filter]
|
||||
{DIALOGUE_AAL_DVDIE}
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Bring the book back to Malin's castle."
|
||||
[/objective]
|
||||
[/objectives]
|
||||
{DIALOGUE_AAL_NOTE}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=die
|
||||
first_time_only=no
|
||||
[filter]
|
||||
role=book_carrier
|
||||
[/filter]
|
||||
{VARIABLE_OP bookX format $x1}
|
||||
{VARIABLE_OP bookY format $y1}
|
||||
{PLACE_IMAGE (items/book5.png) ($bookX) ($bookY)}
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=yes
|
||||
[filter]
|
||||
x=$bookX
|
||||
y=$bookY
|
||||
side=1
|
||||
[not]
|
||||
type=Ghost,Wraith,Spectre,Shadow,Nightgaunt,Vampire Bat,Blood Bat
|
||||
[/not]
|
||||
[/filter]
|
||||
[removeitem]
|
||||
x=$bookX
|
||||
y=$bookY
|
||||
[/removeitem]
|
||||
[role]
|
||||
role=book_carrier
|
||||
x=$bookX
|
||||
y=$bookY
|
||||
[/role]
|
||||
[unit_overlay]
|
||||
x=$bookX
|
||||
y=$bookY
|
||||
image="misc/book-icon.png"
|
||||
[/unit_overlay]
|
||||
[/event]
|
||||
[/event]
|
||||
|
||||
# Defeat Conditions
|
||||
{MALIN_DEATH}
|
||||
|
||||
# Victory Condition
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
role=book_carrier
|
||||
x=4-6,5-7
|
||||
y=16-17,18
|
||||
[/filter]
|
||||
{MOVE_UNIT (description=Malin Keshar) 1 12}
|
||||
{DIALOGUE_AAL_END}
|
||||
[endlevel]
|
||||
bonus=no
|
||||
result=continue
|
||||
[/endlevel]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=victory
|
||||
{CLEAR_VARIABLE bookX}
|
||||
{CLEAR_VARIABLE bookY}
|
||||
{MODIFY_UNIT (role=book_carrier) overlays none}
|
||||
[/event]
|
||||
|
||||
[/scenario]
|
||||
|
|
|
@ -1,473 +1,473 @@
|
|||
[scenario]
|
||||
id=Descent_into_Darkness
|
||||
next_scenario=Forever_and_Ever_Amen
|
||||
#textdomain wesnoth-did
|
||||
|
||||
name=_ "Descent into Darkness"
|
||||
map_data="{campaigns/Descent_Into_Darkness/maps/Descent_into_darkness.map}"
|
||||
turns=-1
|
||||
|
||||
victory_when_enemies_defeated=no
|
||||
|
||||
{STORY_DESCENT_INTO_DARKNESS}
|
||||
|
||||
{UNDERGROUND}
|
||||
|
||||
[side]
|
||||
side=1
|
||||
controller=human
|
||||
type=Apprentice Mage
|
||||
description=Malin Keshar
|
||||
user_description=_ "Malin Keshar"
|
||||
unrenamable=yes
|
||||
canrecruit=1
|
||||
recruit=Walking Corpse,Vampire Bat,Ghost,Ghoul,Skeleton Archer,Skeleton,Dark Adept DiD
|
||||
income=0
|
||||
{GOLD 100 80 60}
|
||||
fog=yes
|
||||
shroud=yes
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Troll leader
|
||||
side=2
|
||||
team_name=trolls
|
||||
controller=ai
|
||||
# place leader later
|
||||
no_leader=yes
|
||||
gold=60
|
||||
recruit=Troll Whelp,Troll,Troll Rocklobber,Troll Warrior,Troll Shaman
|
||||
[ai]
|
||||
caution=0.5
|
||||
grouping=defensive
|
||||
protect_leader=10
|
||||
recruitment_pattern=fighter,fighter,mixed fighter
|
||||
# Avoid the spiders, the wose, and the beginning area
|
||||
[avoid]
|
||||
x=2-9,2-27,5-9
|
||||
y=11-15,30-35,19-23
|
||||
[/avoid]
|
||||
[/ai]
|
||||
fog=yes
|
||||
shroud=no
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Eastern village trolls
|
||||
side=3
|
||||
team_name=trolls
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
[ai]
|
||||
# Avoid the spiders, the wose, and the beginning area
|
||||
[avoid]
|
||||
x=2-9,2-27,5-9
|
||||
y=11-15,30-35,19-23
|
||||
[/avoid]
|
||||
[/ai]
|
||||
fog=yes
|
||||
shroud=no
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Western village trolls
|
||||
side=4
|
||||
team_name=trolls
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
[ai]
|
||||
# Avoid the spiders, the wose, and the beginning area
|
||||
[avoid]
|
||||
x=2-9,2-27,5-9
|
||||
y=11-15,30-35,19-23
|
||||
[/avoid]
|
||||
[/ai]
|
||||
fog=yes
|
||||
shroud=no
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Monsters
|
||||
side=5
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
[ai]
|
||||
# This is mostly for the Wose -- the others are guardians
|
||||
[target]
|
||||
side=1
|
||||
value=5
|
||||
[/target]
|
||||
[/ai]
|
||||
fog=yes
|
||||
shroud=yes
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# mirror
|
||||
side=6
|
||||
colour=5
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
ai_algorithm=idle_ai
|
||||
fog=yes
|
||||
shroud=yes
|
||||
[/side]
|
||||
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
[music]
|
||||
# none to start with
|
||||
[/music]
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Become a Lich."
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
# Ditch the starting keep
|
||||
[terrain]
|
||||
x,y=3,34
|
||||
letter=Uu
|
||||
[/terrain]
|
||||
|
||||
# Place the "mirror"
|
||||
[unit]
|
||||
type=Mirror
|
||||
side=6
|
||||
x,y=6,31
|
||||
description=makeshift altar
|
||||
user_description=_ "makeshift altar"
|
||||
animate=no
|
||||
[/unit]
|
||||
|
||||
# Malin starts injured and poisoned
|
||||
{MODIFY_UNIT (description=Malin Keshar) hitpoints 12}
|
||||
{MODIFY_UNIT (description=Malin Keshar) status.poisoned on}
|
||||
|
||||
# Place and store the new Malin
|
||||
[unit]
|
||||
# Malin's new look
|
||||
type=Lich
|
||||
side=1
|
||||
description=Mal Keshar
|
||||
user_description="Mal Keshar"
|
||||
unrenamable=yes
|
||||
canrecruit=1
|
||||
# Portrait taken from the Rise of Wesnoth official campaign
|
||||
profile=lich-portrait.png
|
||||
x,y=1,1
|
||||
hitpoints=5
|
||||
[/unit]
|
||||
[store_unit]
|
||||
[filter]
|
||||
description=Mal Keshar
|
||||
[/filter]
|
||||
variable=malinAsLich
|
||||
kill=yes
|
||||
[/store_unit]
|
||||
|
||||
# Castle trolls - all difficulties
|
||||
{GEN_GUARD (Troll) 2 14 7}
|
||||
{GEN_GUARD (Troll) 2 8 7}
|
||||
{GEN_GUARD (Troll) 2 16 3}
|
||||
{GEN_GUARD (Troll Rocklobber) 2 12 1}
|
||||
{GEN_GUARD (Troll Shaman) 2 7 4}
|
||||
|
||||
# Eastern village trolls - all difficulties
|
||||
{GEN_GUARD (Troll) 3 30 19}
|
||||
{GEN_GUARD (Troll) 3 31 12}
|
||||
{GEN_GUARD (Troll Shaman) 3 33 14}
|
||||
|
||||
# Western village trolls - all difficulties
|
||||
{GEN_GUARD (Troll Shaman) 4 4 21}
|
||||
{GEN_GUARD (Troll) 4 10 26}
|
||||
{GEN_GUARD (Troll Whelp) 4 2 25}
|
||||
{GEN_GUARD (Troll) 4 10 16}
|
||||
|
||||
# Monsters
|
||||
{GEN_GUARD (Giant Rat) 5 14 29}
|
||||
{GEN_GUARD (Giant Rat) 5 21 28}
|
||||
{GEN_GUARD (Giant Rat) 5 24 34}
|
||||
{GEN_GUARD (Giant Rat) 5 18 18}
|
||||
{GEN_GUARD (Giant Rat) 5 22 5}
|
||||
{GEN_GUARD (Cave Bat) 5 29 26}
|
||||
{GEN_GUARD (Cave Bat) 5 26 31}
|
||||
{GEN_GUARD (Cave Bat) 5 19 32}
|
||||
{GEN_GUARD (Cave Bat) 5 19 23}
|
||||
{GEN_GUARD (Cave Bat) 5 18 13}
|
||||
{GEN_GUARD (Cave Bat) 5 18 34}
|
||||
{GEN_GUARD (Giant Spider) 5 7 12}
|
||||
{GEN_GUARD (Giant Spider) 5 8 13}
|
||||
{GEN_GUARD (Giant Spider) 5 6 15}
|
||||
|
||||
#ifdef NORMAL
|
||||
{GEN_GUARD (Troll) 2 7 7}
|
||||
{GEN_GUARD (Troll Whelp) 4 4 19}
|
||||
{GEN_GUARD (Troll Whelp) 3 31 16}
|
||||
#endif
|
||||
|
||||
#ifdef HARD
|
||||
{GEN_GUARD (Troll) 2 7 7}
|
||||
{GEN_GUARD (Troll Rocklobber) 4 8 18}
|
||||
{GEN_GUARD (Troll Rocklobber) 3 27 16}
|
||||
#endif
|
||||
[/event]
|
||||
|
||||
|
||||
[event]
|
||||
name=start
|
||||
{MOVE_UNIT (description=Malin Keshar) 4 33}
|
||||
{CREATE_ADVISOR}
|
||||
{DIALOGUE_DID_START}
|
||||
{PUT_TO_RECALL_LIST (role=advisor)}
|
||||
{DIALOGUE_DID_START2}
|
||||
[/event]
|
||||
|
||||
|
||||
# In-scenario events
|
||||
[event]
|
||||
# Malin becomes a lich
|
||||
name=attack_end
|
||||
first_time_only=no
|
||||
[filter]
|
||||
description=Malin Keshar
|
||||
[/filter]
|
||||
{IF_UNIT_DEAD (Malin Keshar)}
|
||||
[kill]
|
||||
description=makeshift altar
|
||||
[/kill]
|
||||
{PLACE_IMAGE (scenery/slab1.png) 6 31}
|
||||
|
||||
# Malin dies
|
||||
# I really want to black out the screen, but it doesn't seem to want to let me do that with [place_shroud], so I'll settle for scrolling to a shrouded part
|
||||
[scroll_to]
|
||||
x,y=25,32
|
||||
[/scroll_to]
|
||||
{DELAY 1000}
|
||||
{DIALOGUE_DID_LICH1}
|
||||
|
||||
# and is reborn as a lich
|
||||
{VARIABLE_OP malinAsLich.x format $x1}
|
||||
{VARIABLE_OP malinAsLich.y format $y1}
|
||||
[unstore_unit]
|
||||
variable=malinAsLich
|
||||
find_vacant=no
|
||||
animate=yes
|
||||
[/unstore_unit]
|
||||
{CLEAR_VARIABLE malinAsLich}
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
|
||||
# He's not necessariliy totally happy about this
|
||||
{DIALOGUE_DID_LICH2}
|
||||
{DELAY 500}
|
||||
|
||||
# Blow open a wall
|
||||
[move_unit_fake]
|
||||
type=Iceball
|
||||
side=1
|
||||
x=6,7,8,9,10
|
||||
y=31,32,31,32,31
|
||||
[/move_unit_fake]
|
||||
{TREMOR}
|
||||
[terrain]
|
||||
x,y=10,31
|
||||
letter=Uh
|
||||
[/terrain]
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Regain your strength"
|
||||
[/objective]
|
||||
[objective]
|
||||
condition=lose
|
||||
description=_ "Destruction of Mal Keshar"
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
# Previously recruited and new adepts can now also become liches
|
||||
{MODIFY_UNIT (type=Dark Adept DiD) type (Dark Adept)}
|
||||
{MODIFY_UNIT (type=Dark Sorcerer DiD) type (Dark Sorcerer)}
|
||||
[disallow_recruit]
|
||||
side=1
|
||||
type=Dark Adept DiD
|
||||
[/disallow_recruit]
|
||||
[allow_recruit]
|
||||
side=1
|
||||
type=Dark Adept
|
||||
[/allow_recruit]
|
||||
|
||||
# Some somber music
|
||||
[music]
|
||||
name=main_menu.ogg
|
||||
ms_after=10000
|
||||
[/music]
|
||||
[music]
|
||||
name=revelation.ogg
|
||||
append=yes
|
||||
ms_after=10000
|
||||
[/music]
|
||||
|
||||
{END_IF_DEAD}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=attacker_hits
|
||||
first_time_only=yes
|
||||
[filter]
|
||||
description=Mal Keshar
|
||||
[/filter]
|
||||
[special_filter]
|
||||
weapon=touch
|
||||
[/special_filter]
|
||||
{DIALOGUE_DID_ATTACK}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# See your goal
|
||||
name=moveto
|
||||
[filter]
|
||||
description=Mal Keshar
|
||||
x=20-25
|
||||
y=27-29
|
||||
[/filter]
|
||||
[remove_shroud]
|
||||
# See the road to the castle and the castle itself
|
||||
side=1
|
||||
x=3-13,20-22,18-20,17-19,13-16,11-15
|
||||
y=2-8,18-28,15-17,14-16,12-13,9-11
|
||||
[/remove_shroud]
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
[scroll_to]
|
||||
x,y=8,5
|
||||
[/scroll_to]
|
||||
{DELAY 2000}
|
||||
{DIALOGUE_DID_CASTLE1}
|
||||
[remove_shroud]
|
||||
x=27-32
|
||||
y=23-27
|
||||
[/remove_shroud]
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
[scroll_to]
|
||||
x,y=34,24
|
||||
[/scroll_to]
|
||||
{DELAY 1500}
|
||||
{DIALOGUE_DID_CASTLE2}
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Clear your new home of trolls"
|
||||
[/objective]
|
||||
[objective]
|
||||
condition=lose
|
||||
description=_ "Destruction of Mal Keshar"
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
# Turns are measured from here
|
||||
{VARIABLE_OP totalTurns to_variable turn_number}
|
||||
{VARIABLE_OP totalTurns add 50}
|
||||
[modify_turns]
|
||||
value=$totalTurns
|
||||
[/modify_turns]
|
||||
{CLEAR_VARIABLE totalTurns}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Set the troll enemy and return income to normal when you reach your keep
|
||||
name=moveto
|
||||
[filter]
|
||||
description=Mal Keshar
|
||||
x,y=30,25
|
||||
[/filter]
|
||||
[unit]
|
||||
# Troll leader
|
||||
type=Troll Hero
|
||||
side=2
|
||||
description=Grnknrr
|
||||
x,y=10,6
|
||||
canrecruit=1
|
||||
[/unit]
|
||||
[modify_side]
|
||||
side=1
|
||||
income=2
|
||||
[/modify_side]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Fun with a wose
|
||||
name=moveto
|
||||
[filter]
|
||||
x,y=7,22
|
||||
[/filter]
|
||||
{GEN_UNIT (Ancient Wose) 5 7 21}
|
||||
[terrain]
|
||||
x,y=7,21
|
||||
letter=Gg
|
||||
[/terrain]
|
||||
[message]
|
||||
type=Ancient Wose
|
||||
message=_ "Who has awoken me from my slumber? Undead? I shall not suffer the existence of such foul creatures."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Have a nice trip, see you in the fall. . .
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
x,y=24,13
|
||||
[not]
|
||||
type=Vampire Bat,Blood Bat,Ghost,Wraith,Spectre,Shadow,Nightgaunt
|
||||
[/not]
|
||||
[/filter]
|
||||
[message]
|
||||
x,y=24,13
|
||||
message=_ "AAAAAAAaaaaaaaggggggghhhhhhh!!!!...... . . . ."
|
||||
[/message]
|
||||
{MOVE_UNIT (x,y=24,13) 25 13}
|
||||
[kill]
|
||||
x,y=25,13
|
||||
animate=no
|
||||
fire_event=yes
|
||||
[/kill]
|
||||
[/event]
|
||||
|
||||
|
||||
# Defeat Conditions
|
||||
{MAL_DEATH}
|
||||
|
||||
|
||||
# Victory Condition
|
||||
[event]
|
||||
# Kill the troll leader
|
||||
name=die
|
||||
[filter]
|
||||
side=2
|
||||
canrecruit=1
|
||||
[/filter]
|
||||
[endlevel]
|
||||
result=victory
|
||||
[/endlevel]
|
||||
[/event]
|
||||
|
||||
|
||||
[event]
|
||||
name=victory
|
||||
{VARIABLE timesForever 0}
|
||||
[/event]
|
||||
|
||||
[/scenario]
|
||||
[scenario]
|
||||
id=Descent_into_Darkness
|
||||
next_scenario=Forever_and_Ever_Amen
|
||||
#textdomain wesnoth-did
|
||||
|
||||
name=_ "Descent into Darkness"
|
||||
map_data="{campaigns/Descent_Into_Darkness/maps/Descent_into_darkness.map}"
|
||||
turns=-1
|
||||
|
||||
victory_when_enemies_defeated=no
|
||||
|
||||
{STORY_DESCENT_INTO_DARKNESS}
|
||||
|
||||
{UNDERGROUND}
|
||||
|
||||
[side]
|
||||
side=1
|
||||
controller=human
|
||||
type=Apprentice Mage
|
||||
description=Malin Keshar
|
||||
user_description=_ "Malin Keshar"
|
||||
unrenamable=yes
|
||||
canrecruit=1
|
||||
recruit=Walking Corpse,Vampire Bat,Ghost,Ghoul,Skeleton Archer,Skeleton,Dark Adept DiD
|
||||
income=0
|
||||
{GOLD 100 80 60}
|
||||
fog=yes
|
||||
shroud=yes
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Troll leader
|
||||
side=2
|
||||
team_name=trolls
|
||||
controller=ai
|
||||
# place leader later
|
||||
no_leader=yes
|
||||
gold=60
|
||||
recruit=Troll Whelp,Troll,Troll Rocklobber,Troll Warrior,Troll Shaman
|
||||
[ai]
|
||||
caution=0.5
|
||||
grouping=defensive
|
||||
protect_leader=10
|
||||
recruitment_pattern=fighter,fighter,mixed fighter
|
||||
# Avoid the spiders, the wose, and the beginning area
|
||||
[avoid]
|
||||
x=2-9,2-27,5-9
|
||||
y=11-15,30-35,19-23
|
||||
[/avoid]
|
||||
[/ai]
|
||||
fog=yes
|
||||
shroud=no
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Eastern village trolls
|
||||
side=3
|
||||
team_name=trolls
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
[ai]
|
||||
# Avoid the spiders, the wose, and the beginning area
|
||||
[avoid]
|
||||
x=2-9,2-27,5-9
|
||||
y=11-15,30-35,19-23
|
||||
[/avoid]
|
||||
[/ai]
|
||||
fog=yes
|
||||
shroud=no
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Western village trolls
|
||||
side=4
|
||||
team_name=trolls
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
[ai]
|
||||
# Avoid the spiders, the wose, and the beginning area
|
||||
[avoid]
|
||||
x=2-9,2-27,5-9
|
||||
y=11-15,30-35,19-23
|
||||
[/avoid]
|
||||
[/ai]
|
||||
fog=yes
|
||||
shroud=no
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# Monsters
|
||||
side=5
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
[ai]
|
||||
# This is mostly for the Wose -- the others are guardians
|
||||
[target]
|
||||
side=1
|
||||
value=5
|
||||
[/target]
|
||||
[/ai]
|
||||
fog=yes
|
||||
shroud=yes
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
# mirror
|
||||
side=6
|
||||
colour=5
|
||||
controller=ai
|
||||
no_leader=yes
|
||||
ai_algorithm=idle_ai
|
||||
fog=yes
|
||||
shroud=yes
|
||||
[/side]
|
||||
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
[music]
|
||||
# none to start with
|
||||
[/music]
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Become a Lich."
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
# Ditch the starting keep
|
||||
[terrain]
|
||||
x,y=3,34
|
||||
letter=Uu
|
||||
[/terrain]
|
||||
|
||||
# Place the "mirror"
|
||||
[unit]
|
||||
type=Mirror
|
||||
side=6
|
||||
x,y=6,31
|
||||
description=makeshift altar
|
||||
user_description=_ "makeshift altar"
|
||||
animate=no
|
||||
[/unit]
|
||||
|
||||
# Malin starts injured and poisoned
|
||||
{MODIFY_UNIT (description=Malin Keshar) hitpoints 12}
|
||||
{MODIFY_UNIT (description=Malin Keshar) status.poisoned on}
|
||||
|
||||
# Place and store the new Malin
|
||||
[unit]
|
||||
# Malin's new look
|
||||
type=Lich
|
||||
side=1
|
||||
description=Mal Keshar
|
||||
user_description="Mal Keshar"
|
||||
unrenamable=yes
|
||||
canrecruit=1
|
||||
# Portrait taken from the Rise of Wesnoth official campaign
|
||||
profile=portraits/malin-lich.png
|
||||
x,y=1,1
|
||||
hitpoints=5
|
||||
[/unit]
|
||||
[store_unit]
|
||||
[filter]
|
||||
description=Mal Keshar
|
||||
[/filter]
|
||||
variable=malinAsLich
|
||||
kill=yes
|
||||
[/store_unit]
|
||||
|
||||
# Castle trolls - all difficulties
|
||||
{GEN_GUARD (Troll) 2 14 7}
|
||||
{GEN_GUARD (Troll) 2 8 7}
|
||||
{GEN_GUARD (Troll) 2 16 3}
|
||||
{GEN_GUARD (Troll Rocklobber) 2 12 1}
|
||||
{GEN_GUARD (Troll Shaman) 2 7 4}
|
||||
|
||||
# Eastern village trolls - all difficulties
|
||||
{GEN_GUARD (Troll) 3 30 19}
|
||||
{GEN_GUARD (Troll) 3 31 12}
|
||||
{GEN_GUARD (Troll Shaman) 3 33 14}
|
||||
|
||||
# Western village trolls - all difficulties
|
||||
{GEN_GUARD (Troll Shaman) 4 4 21}
|
||||
{GEN_GUARD (Troll) 4 10 26}
|
||||
{GEN_GUARD (Troll Whelp) 4 2 25}
|
||||
{GEN_GUARD (Troll) 4 10 16}
|
||||
|
||||
# Monsters
|
||||
{GEN_GUARD (Giant Rat) 5 14 29}
|
||||
{GEN_GUARD (Giant Rat) 5 21 28}
|
||||
{GEN_GUARD (Giant Rat) 5 24 34}
|
||||
{GEN_GUARD (Giant Rat) 5 18 18}
|
||||
{GEN_GUARD (Giant Rat) 5 22 5}
|
||||
{GEN_GUARD (Cave Bat) 5 29 26}
|
||||
{GEN_GUARD (Cave Bat) 5 26 31}
|
||||
{GEN_GUARD (Cave Bat) 5 19 32}
|
||||
{GEN_GUARD (Cave Bat) 5 19 23}
|
||||
{GEN_GUARD (Cave Bat) 5 18 13}
|
||||
{GEN_GUARD (Cave Bat) 5 18 34}
|
||||
{GEN_GUARD (Giant Spider) 5 7 12}
|
||||
{GEN_GUARD (Giant Spider) 5 8 13}
|
||||
{GEN_GUARD (Giant Spider) 5 6 15}
|
||||
|
||||
#ifdef NORMAL
|
||||
{GEN_GUARD (Troll) 2 7 7}
|
||||
{GEN_GUARD (Troll Whelp) 4 4 19}
|
||||
{GEN_GUARD (Troll Whelp) 3 31 16}
|
||||
#endif
|
||||
|
||||
#ifdef HARD
|
||||
{GEN_GUARD (Troll) 2 7 7}
|
||||
{GEN_GUARD (Troll Rocklobber) 4 8 18}
|
||||
{GEN_GUARD (Troll Rocklobber) 3 27 16}
|
||||
#endif
|
||||
[/event]
|
||||
|
||||
|
||||
[event]
|
||||
name=start
|
||||
{MOVE_UNIT (description=Malin Keshar) 4 33}
|
||||
{CREATE_ADVISOR}
|
||||
{DIALOGUE_DID_START}
|
||||
{PUT_TO_RECALL_LIST (role=advisor)}
|
||||
{DIALOGUE_DID_START2}
|
||||
[/event]
|
||||
|
||||
|
||||
# In-scenario events
|
||||
[event]
|
||||
# Malin becomes a lich
|
||||
name=attack_end
|
||||
first_time_only=no
|
||||
[filter]
|
||||
description=Malin Keshar
|
||||
[/filter]
|
||||
{IF_UNIT_DEAD (Malin Keshar)}
|
||||
[kill]
|
||||
description=makeshift altar
|
||||
[/kill]
|
||||
{PLACE_IMAGE (scenery/slab1.png) 6 31}
|
||||
|
||||
# Malin dies
|
||||
# I really want to black out the screen, but it doesn't seem to want to let me do that with [place_shroud], so I'll settle for scrolling to a shrouded part
|
||||
[scroll_to]
|
||||
x,y=25,32
|
||||
[/scroll_to]
|
||||
{DELAY 1000}
|
||||
{DIALOGUE_DID_LICH1}
|
||||
|
||||
# and is reborn as a lich
|
||||
{VARIABLE_OP malinAsLich.x format $x1}
|
||||
{VARIABLE_OP malinAsLich.y format $y1}
|
||||
[unstore_unit]
|
||||
variable=malinAsLich
|
||||
find_vacant=no
|
||||
animate=yes
|
||||
[/unstore_unit]
|
||||
{CLEAR_VARIABLE malinAsLich}
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
|
||||
# He's not necessariliy totally happy about this
|
||||
{DIALOGUE_DID_LICH2}
|
||||
{DELAY 500}
|
||||
|
||||
# Blow open a wall
|
||||
[move_unit_fake]
|
||||
type=Iceball
|
||||
side=1
|
||||
x=6,7,8,9,10
|
||||
y=31,32,31,32,31
|
||||
[/move_unit_fake]
|
||||
{TREMOR}
|
||||
[terrain]
|
||||
x,y=10,31
|
||||
letter=Uh
|
||||
[/terrain]
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Regain your strength"
|
||||
[/objective]
|
||||
[objective]
|
||||
condition=lose
|
||||
description=_ "Destruction of Mal Keshar"
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
# Previously recruited and new adepts can now also become liches
|
||||
{MODIFY_UNIT (type=Dark Adept DiD) type (Dark Adept)}
|
||||
{MODIFY_UNIT (type=Dark Sorcerer DiD) type (Dark Sorcerer)}
|
||||
[disallow_recruit]
|
||||
side=1
|
||||
type=Dark Adept DiD
|
||||
[/disallow_recruit]
|
||||
[allow_recruit]
|
||||
side=1
|
||||
type=Dark Adept
|
||||
[/allow_recruit]
|
||||
|
||||
# Some somber music
|
||||
[music]
|
||||
name=main_menu.ogg
|
||||
ms_after=10000
|
||||
[/music]
|
||||
[music]
|
||||
name=revelation.ogg
|
||||
append=yes
|
||||
ms_after=10000
|
||||
[/music]
|
||||
|
||||
{END_IF_DEAD}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=attacker_hits
|
||||
first_time_only=yes
|
||||
[filter]
|
||||
description=Mal Keshar
|
||||
[/filter]
|
||||
[special_filter]
|
||||
weapon=touch
|
||||
[/special_filter]
|
||||
{DIALOGUE_DID_ATTACK}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# See your goal
|
||||
name=moveto
|
||||
[filter]
|
||||
description=Mal Keshar
|
||||
x=20-25
|
||||
y=27-29
|
||||
[/filter]
|
||||
[remove_shroud]
|
||||
# See the road to the castle and the castle itself
|
||||
side=1
|
||||
x=3-13,20-22,18-20,17-19,13-16,11-15
|
||||
y=2-8,18-28,15-17,14-16,12-13,9-11
|
||||
[/remove_shroud]
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
[scroll_to]
|
||||
x,y=8,5
|
||||
[/scroll_to]
|
||||
{DELAY 2000}
|
||||
{DIALOGUE_DID_CASTLE1}
|
||||
[remove_shroud]
|
||||
x=27-32
|
||||
y=23-27
|
||||
[/remove_shroud]
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
[scroll_to]
|
||||
x,y=34,24
|
||||
[/scroll_to]
|
||||
{DELAY 1500}
|
||||
{DIALOGUE_DID_CASTLE2}
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
condition=win
|
||||
description=_ "Clear your new home of trolls"
|
||||
[/objective]
|
||||
[objective]
|
||||
condition=lose
|
||||
description=_ "Destruction of Mal Keshar"
|
||||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
# Turns are measured from here
|
||||
{VARIABLE_OP totalTurns to_variable turn_number}
|
||||
{VARIABLE_OP totalTurns add 50}
|
||||
[modify_turns]
|
||||
value=$totalTurns
|
||||
[/modify_turns]
|
||||
{CLEAR_VARIABLE totalTurns}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Set the troll enemy and return income to normal when you reach your keep
|
||||
name=moveto
|
||||
[filter]
|
||||
description=Mal Keshar
|
||||
x,y=30,25
|
||||
[/filter]
|
||||
[unit]
|
||||
# Troll leader
|
||||
type=Troll Hero
|
||||
side=2
|
||||
description=Grnknrr
|
||||
x,y=10,6
|
||||
canrecruit=1
|
||||
[/unit]
|
||||
[modify_side]
|
||||
side=1
|
||||
income=2
|
||||
[/modify_side]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Fun with a wose
|
||||
name=moveto
|
||||
[filter]
|
||||
x,y=7,22
|
||||
[/filter]
|
||||
{GEN_UNIT (Ancient Wose) 5 7 21}
|
||||
[terrain]
|
||||
x,y=7,21
|
||||
letter=Gg
|
||||
[/terrain]
|
||||
[message]
|
||||
type=Ancient Wose
|
||||
message=_ "Who has awoken me from my slumber? Undead? I shall not suffer the existence of such foul creatures."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
# Have a nice trip, see you in the fall. . .
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
x,y=24,13
|
||||
[not]
|
||||
type=Vampire Bat,Blood Bat,Ghost,Wraith,Spectre,Shadow,Nightgaunt
|
||||
[/not]
|
||||
[/filter]
|
||||
[message]
|
||||
x,y=24,13
|
||||
message=_ "AAAAAAAaaaaaaaggggggghhhhhhh!!!!...... . . . ."
|
||||
[/message]
|
||||
{MOVE_UNIT (x,y=24,13) 25 13}
|
||||
[kill]
|
||||
x,y=25,13
|
||||
animate=no
|
||||
fire_event=yes
|
||||
[/kill]
|
||||
[/event]
|
||||
|
||||
|
||||
# Defeat Conditions
|
||||
{MAL_DEATH}
|
||||
|
||||
|
||||
# Victory Condition
|
||||
[event]
|
||||
# Kill the troll leader
|
||||
name=die
|
||||
[filter]
|
||||
side=2
|
||||
canrecruit=1
|
||||
[/filter]
|
||||
[endlevel]
|
||||
result=victory
|
||||
[/endlevel]
|
||||
[/event]
|
||||
|
||||
|
||||
[event]
|
||||
name=victory
|
||||
{VARIABLE timesForever 0}
|
||||
[/event]
|
||||
|
||||
[/scenario]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
id=Apprentice Mage
|
||||
name=_ "Apprentice Mage"
|
||||
race=human
|
||||
image="apprentice-mage.png"
|
||||
image="units/apprentice-mage.png"
|
||||
ellipse="misc/ellipse"
|
||||
{MAGENTA_IS_THE_TEAM_COLOR}
|
||||
gender=male
|
||||
|
@ -17,7 +17,7 @@
|
|||
advanceto=Apprentice Necromancer
|
||||
usage=mixed fighter
|
||||
unit_description=_ "Trained in swordsmanship as a boy and the magical arts as a young man, Malin Keshar is talented at both but an expert in neither."
|
||||
{DEFENSE_ANIM "apprentice-mage-defend.png" "apprentice-mage-sword.png" {SOUND_LIST:HUMAN_HIT} }
|
||||
{DEFENSE_ANIM "units/apprentice-mage-defend.png" "units/apprentice-mage-sword.png" {SOUND_LIST:HUMAN_HIT} }
|
||||
die_sound={SOUND_LIST:HUMAN_DIE}
|
||||
[attack]
|
||||
#textdomain wesnoth
|
||||
|
@ -32,29 +32,29 @@
|
|||
[frame]
|
||||
begin=-200
|
||||
end=-175
|
||||
image=apprentice-mage-sword.png
|
||||
image=units/apprentice-mage-sword.png
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-175
|
||||
end=-100
|
||||
image=apprentice-mage-sword-1.png
|
||||
image=units/apprentice-mage-sword-1.png
|
||||
[/frame]
|
||||
{HIT_MISS_SOUNDS sword-1.ogg {SOUND_LIST:MISS} (
|
||||
[frame]
|
||||
begin=-100
|
||||
end=50
|
||||
image=apprentice-mage-sword-2.png
|
||||
image=units/apprentice-mage-sword-2.png
|
||||
[/frame]
|
||||
)}
|
||||
[frame]
|
||||
begin=50
|
||||
end=125
|
||||
image=apprentice-mage-sword-3.png
|
||||
image=units/apprentice-mage-sword-3.png
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=125
|
||||
end=175
|
||||
image=apprentice-mage.png
|
||||
image=units/apprentice-mage.png
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
@ -80,13 +80,13 @@
|
|||
[frame]
|
||||
begin=-200
|
||||
end=-100
|
||||
image=apprentice-mage-magic-1.png
|
||||
image=units/apprentice-mage-magic-1.png
|
||||
[/frame]
|
||||
)}
|
||||
[frame]
|
||||
begin=-100
|
||||
end=0
|
||||
image=apprentice-mage-magic-2.png
|
||||
image=units/apprentice-mage-magic-2.png
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
id=Apprentice Necromancer
|
||||
name=_ "Apprentice Necromancer"
|
||||
race=human
|
||||
image="apprentice-necromancer.png"
|
||||
image="units/apprentice-necromancer.png"
|
||||
ellipse="misc/ellipse"
|
||||
{MAGENTA_IS_THE_TEAM_COLOR}
|
||||
gender=male
|
||||
|
@ -16,7 +16,7 @@
|
|||
advanceto=Dark Mage
|
||||
usage=mixed fighter
|
||||
unit_description=_ "Despite his increased magical powers, Malin holds on to his short sword as his melee weapon of choice."
|
||||
{DEFENSE_ANIM "apprentice-necromancer-defense.png" "apprentice-necromancer.png" {SOUND_LIST:HUMAN_HIT} }
|
||||
{DEFENSE_ANIM "units/apprentice-necromancer-defense.png" "units/apprentice-necromancer.png" {SOUND_LIST:HUMAN_HIT} }
|
||||
die_sound={SOUND_LIST:HUMAN_DIE}
|
||||
[attack]
|
||||
#textdomain wesnoth
|
||||
|
@ -31,7 +31,7 @@
|
|||
[frame]
|
||||
begin=-200
|
||||
end=-175
|
||||
image=apprentice-necromancer.png
|
||||
image=units/apprentice-necromancer.png
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-175
|
||||
|
@ -42,13 +42,13 @@
|
|||
[frame]
|
||||
begin=-100
|
||||
end=100
|
||||
image=apprentice-necromancer-sword-2.png
|
||||
image=units/apprentice-necromancer-sword-2.png
|
||||
[/frame]
|
||||
)}
|
||||
[frame]
|
||||
begin=100
|
||||
end=175
|
||||
image=apprentice-necromancer-defend.png
|
||||
image=units/apprentice-necromancer-defend.png
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
@ -74,24 +74,24 @@
|
|||
[frame]
|
||||
begin=-300
|
||||
end=-200
|
||||
image="apprentice-necromancer-magic-1.png"
|
||||
image="units/apprentice-necromancer-magic-1.png"
|
||||
[/frame]
|
||||
{HIT_MISS_SOUNDS magic-dark.ogg magic-dark-miss.ogg (
|
||||
[frame]
|
||||
begin=-200
|
||||
end=-100
|
||||
image="apprentice-necromancer-magic-2.png"
|
||||
image="units/apprentice-necromancer-magic-2.png"
|
||||
[/frame]
|
||||
)}
|
||||
[frame]
|
||||
begin=-100
|
||||
end=0
|
||||
image="apprentice-necromancer-magic-3.png"
|
||||
image="units/apprentice-necromancer-magic-3.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=0
|
||||
end=100
|
||||
image="apprentice-necromancer-magic-1.png"
|
||||
image="units/apprentice-necromancer-magic-1.png"
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
id=Dark Mage
|
||||
name= _ "Dark Mage"
|
||||
race=human
|
||||
image="dark-mage.png"
|
||||
image="units/dark-mage.png"
|
||||
{MAGENTA_IS_THE_TEAM_COLOR}
|
||||
hitpoints=67
|
||||
movement_type=smallfoot
|
||||
|
@ -19,7 +19,7 @@
|
|||
|
||||
Special Notes:"+{SPECIAL_NOTES_MAGICAL}
|
||||
die_sound={SOUND_LIST:HUMAN_OLD_DIE}
|
||||
{DEFENSE_ANIM "dark-mage-defend.png" "dark-mage.png" {SOUND_LIST:HUMAN_OLD_HIT} }
|
||||
{DEFENSE_ANIM "units/dark-mage-defend.png" "units/dark-mage.png" {SOUND_LIST:HUMAN_OLD_HIT} }
|
||||
[attack]
|
||||
#textdomain wesnoth
|
||||
name=short sword
|
||||
|
@ -36,18 +36,18 @@ Special Notes:"+{SPECIAL_NOTES_MAGICAL}
|
|||
[frame]
|
||||
begin=-200
|
||||
end=-150
|
||||
image=dark-mage.png
|
||||
image=units/dark-mage.png
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-150
|
||||
end=0
|
||||
image=dark-mage-sword1.png
|
||||
sound=sword-1.ogg
|
||||
image=units/dark-mage-sword1.png
|
||||
sound=sword-1.ogg
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=0
|
||||
end=200
|
||||
image=dark-mage-sword1.png
|
||||
image=units/dark-mage-sword1.png
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
@ -74,23 +74,23 @@ Special Notes:"+{SPECIAL_NOTES_MAGICAL}
|
|||
[frame]
|
||||
begin=-300
|
||||
end=-200
|
||||
image="dark-mage-magic1.png"
|
||||
image="units/dark-mage-magic1.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-200
|
||||
end=-100
|
||||
image="dark-mage-magic2.png"
|
||||
image="units/dark-mage-magic2.png"
|
||||
sound=magic-dark-big.ogg
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-100
|
||||
end=0
|
||||
image="dark-mage-magic3.png"
|
||||
image="units/dark-mage-magic3.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=0
|
||||
end=100
|
||||
image="dark-mage-magic1.png"
|
||||
image="units/dark-mage-magic1.png"
|
||||
[/frame]
|
||||
[/animation]
|
||||
[animation]
|
||||
|
@ -104,23 +104,23 @@ Special Notes:"+{SPECIAL_NOTES_MAGICAL}
|
|||
[frame]
|
||||
begin=-300
|
||||
end=-200
|
||||
image="dark-mage-magic1.png"
|
||||
image="units/dark-mage-magic1.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-200
|
||||
end=-100
|
||||
image="dark-mage-magic2.png"
|
||||
image="units/dark-mage-magic2.png"
|
||||
sound=magic-dark-big-miss.ogg
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-100
|
||||
end=0
|
||||
image="dark-mage-magic3.png"
|
||||
image="units/dark-mage-magic3.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=0
|
||||
end=100
|
||||
image="dark-mage-magic1.png"
|
||||
image="units/dark-mage-magic1.png"
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
id=Ghast
|
||||
name= _ "Ghast"
|
||||
race=undead
|
||||
image="ghast.png"
|
||||
image="units/ghast.png"
|
||||
[advancefrom]
|
||||
unit=Necrophage
|
||||
experience=60
|
||||
|
@ -62,9 +62,9 @@ Special Notes: This unit gains has 1 hitpoint added to its maximum whenever it k
|
|||
name=ghastTemp
|
||||
[/clear_variable]
|
||||
[/event]
|
||||
|
||||
|
||||
die_sound=ghoul-hit.wav
|
||||
{DEFENSE_ANIM "ghast-defend.png" "ghast.png" ghoul-hit.wav }
|
||||
{DEFENSE_ANIM "units/ghast-defend.png" "units/ghast.png" ghoul-hit.wav }
|
||||
[movement_costs]
|
||||
deep_water=100
|
||||
shallow_water=3
|
||||
|
@ -90,28 +90,28 @@ Special Notes: This unit gains has 1 hitpoint added to its maximum whenever it k
|
|||
[frame]
|
||||
begin=-250
|
||||
end=-200
|
||||
image="ghast.png"
|
||||
image="units/ghast.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-200
|
||||
end=-100
|
||||
image="ghast-attack1.png"
|
||||
image="units/ghast-attack1.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-100
|
||||
end=100
|
||||
image="ghast-attack2.png"
|
||||
image="units/ghast-attack2.png"
|
||||
sound={SOUND_LIST:MISS}
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=100
|
||||
end=150
|
||||
image="ghast-attack1.png"
|
||||
image="units/ghast-attack1.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=150
|
||||
end=200
|
||||
image="ghast.png"
|
||||
image="units/ghast.png"
|
||||
[/frame]
|
||||
[/animation]
|
||||
[animation]
|
||||
|
@ -119,28 +119,28 @@ Special Notes: This unit gains has 1 hitpoint added to its maximum whenever it k
|
|||
[frame]
|
||||
begin=-250
|
||||
end=-200
|
||||
image="ghast.png"
|
||||
image="units/ghast.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-200
|
||||
end=-100
|
||||
image="ghast-attack1.png"
|
||||
image="units/ghast-attack1.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-100
|
||||
end=100
|
||||
image="ghast-attack2.png"
|
||||
image="units/ghast-attack2.png"
|
||||
sound=bite.ogg
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=100
|
||||
end=150
|
||||
image="ghast-attack1.png"
|
||||
image="units/ghast-attack1.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=150
|
||||
end=200
|
||||
image="ghast.png"
|
||||
image="units/ghast.png"
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
id=Giant Rat
|
||||
name= _ "Giant Rat"
|
||||
race=monster
|
||||
image="giant-rat.png"
|
||||
image="units/giant-rat.png"
|
||||
ellipse="misc/ellipse-nozoc"
|
||||
hitpoints=15
|
||||
movement_type=smallfoot
|
||||
|
@ -29,18 +29,18 @@
|
|||
[frame]
|
||||
begin=-250
|
||||
end=-100
|
||||
image="giant-rat.png"
|
||||
image="units/giant-rat.png"
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=-100
|
||||
end=200
|
||||
image="giant-rat-attack.png"
|
||||
image="units/giant-rat-attack.png"
|
||||
sound=bite-small.ogg
|
||||
[/frame]
|
||||
[frame]
|
||||
begin=50
|
||||
end=200
|
||||
image="giant-rat.png"
|
||||
image="units/giant-rat.png"
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
sound=fist.ogg
|
||||
begin=-150
|
||||
end=150
|
||||
image=troll-shaman-melee.png
|
||||
image=units/troll-shaman-melee.png
|
||||
[/frame]
|
||||
[/if]
|
||||
[else]
|
||||
|
@ -49,7 +49,7 @@
|
|||
sound={SOUND_LIST:MISS}
|
||||
begin=-150
|
||||
end=150
|
||||
image=troll-shaman-melee.png
|
||||
image=units/troll-shaman-melee.png
|
||||
[/frame]
|
||||
[/else]
|
||||
[/animation]
|
||||
|
@ -73,10 +73,10 @@
|
|||
sound=fire.wav
|
||||
begin=-200
|
||||
end=0
|
||||
image=troll-shaman-ranged.png
|
||||
image=units/troll-shaman-ranged.png
|
||||
[/frame]
|
||||
[/animation]
|
||||
[/attack]
|
||||
|
||||
{DEFENSE_ANIM "troll-shaman-defend.png" "troll-shaman.png" {SOUND_LIST:TROLL_HIT} }
|
||||
{DEFENSE_ANIM "units/troll-shaman-defend.png" "units/troll-shaman.png" {SOUND_LIST:TROLL_HIT} }
|
||||
[/unit]
|
||||
|
|