Long March rebalancing: port of 2008-03-27T17:07:40Z!jan.rietema@web.de.
This commit is contained in:
parent
15d64a824a
commit
fa78727b6c
2 changed files with 136 additions and 106 deletions
|
@ -47,8 +47,8 @@ Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Rd
|
|||
Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Hh , Hh , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Rp , Hh , Mm , Hh , Gs^Fp , Gs^Fp , Ss , Ww , Ww , Ww , Ss , Gg , Gg , Gs^Fp , Gs^Fp , Re , Gg , Gs^Fp , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Gs^Fp , Mm , Hh , Hh , Gg , Hh , Hh , Gs^Fp , Rp , Rp , Hh , Hh , Hh , Gs^Fp , Ss , Gs^Fp , Ww , Ss , Ss , Gs^Fp , Gs^Fp , Re , Re , Gg , Gg , Gs^Fp , Gg , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Gs^Fp , Gs^Fp , Gg , Gs^Fp , Hh , Mm , Mm , Mm , Mm , Hh , Hh , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Gs^Fp , Gs^Fp , Hh , Ss , Ss , Gg , Ww , Ss , Gg , Gs^Fp , Gs^Fp , Re , Gg , Gg , Gs^Fp , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Gs^Fp , Gs^Fp , Hh , Gg , Hh , Mm , Mm , Mm , Mm , Hh , Gs^Fp , Gs^Fp , Gs^Fp , Rp , Gs^Fp , Rp , Rp , Gs^Fp , Gs^Fp , Ss , Ss , Ss , Gs^Fp , Gs^Fp , Gg , Gs^Fp , Re , Gg , 1 Gg , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Hh , Hh , Hh , Hh , Hh , Mm , Mm , Mm , Mm , Gs^Fp , Gg , Gs^Fp , Rd , Gs^Fp , Ss , Gs^Fp , Gs^Fp , Rd , Rp , Gs^Fp , Rd , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Gs^Fp , Re , Re , Gs^Fp , Gg , Gg , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Gs^Fp , Gs^Fp , Hh , Gg , Hh , Mm , Mm , Mm , Mm , Hh , Gs^Fp , Gs^Fp , Gs^Fp , Rp , Gs^Fp , Rp , Rp , Gs^Fp , Gs^Fp , Ss , Ss , Ss , Gs^Fp , Gs^Fp , Gg , Gs^Fp , Re , Gg , 1 Ke , Ce , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Hh , Hh , Hh , Hh , Hh , Mm , Mm , Mm , Mm , Gs^Fp , Gg , Gs^Fp , Rd , Gs^Fp , Ss , Gs^Fp , Gs^Fp , Rd , Rp , Gs^Fp , Rd , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Gs^Fp , Re , Re , Ce , Gs^Fp , Gg , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Hh , Hh , Hh , Hh , Mm , Mm , Hh , Mm , Hh , Hh , Hh , Gs^Fp , Gs^Fp , Gs^Fp , Ss , Ss , Ss , Gs^Fp , Gs^Fp , Rp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Re , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Hh , Hh , Hh , Hh , Hh , Mm , Hh , Hh , Gs^Fp , Gs^Fp , Hh , Gs^Fp , Gs^Fp , Gs^Fp , Ss , Ss , Ss^Vhs , Ss , Ss , Gs^Fp , Gs^Fp , Gs^Fp , Ss , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Re , Re , Gg , Gs^Fp , Gg , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
Hh , Hh , Hh , Hh , Hh , Hh , Hh , Gg , Hh , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Gg , Gs^Fp , Ss , Ss , Ss , Ss , Ss , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Re , Gs^Fp , Gg , Gg , Gs^Fp , Gs^Fp , Gs^Fp
|
||||
|
|
|
@ -54,38 +54,24 @@
|
|||
recruit=Bowman, Spearman, Cavalryman, Thug, Footpad, Poacher
|
||||
[/side]
|
||||
|
||||
# This is a side for the elvish ambushers, who are still in hiding and will
|
||||
# remain idle until discovered
|
||||
|
||||
[side]
|
||||
side=2
|
||||
no_leader=yes
|
||||
|
||||
# problem: they have to be on the same team
|
||||
# as the other elves, otherwise they get
|
||||
# slaughtered by the active ambusher
|
||||
#
|
||||
# but they also have to be on the undead team
|
||||
# otherwise they get slaughtered by those
|
||||
#
|
||||
# but that means that the undead and elves are
|
||||
# all on the same side, which is a shame
|
||||
team_name=elves
|
||||
|
||||
controller=ai
|
||||
|
||||
[ai]
|
||||
ai_algorithm=idle_ai
|
||||
[/ai]
|
||||
[/side]
|
||||
# We're not using an extra side for the ambusher elves
|
||||
# - they will be on the undead side by default (so the undead
|
||||
# don't trigger ambushes), then change to the active elven side
|
||||
# and are being stoned to prevent any action
|
||||
#
|
||||
# note: this means that elves can trigger ambushes, which should
|
||||
# be treated as if they "ran for reinforcements" - thus these elves
|
||||
# switch to their side just as if the player had triggered the ambush
|
||||
# (this is a better solution than undead triggering ambushes, and
|
||||
# should occur less often)
|
||||
|
||||
# The Undead Hordes (Part II)
|
||||
|
||||
[side]
|
||||
side=3
|
||||
side=2
|
||||
no_leader=yes
|
||||
|
||||
team_name=elves
|
||||
team_name=undead
|
||||
controller=ai
|
||||
|
||||
{GOLD 10 20 30}
|
||||
|
@ -107,8 +93,7 @@
|
|||
# it may move and attack normally
|
||||
|
||||
[side]
|
||||
side=4
|
||||
colour=blue
|
||||
side=3
|
||||
no_leader=yes
|
||||
team_name=elves
|
||||
controller=ai
|
||||
|
@ -130,14 +115,14 @@
|
|||
|
||||
{PLACE_IMAGE (items/gohere.png) 16 3}
|
||||
|
||||
{SG_GUARD (Naga Warrior) (Fssth) (_"Fssth") 4 9 14}
|
||||
{SG_GUARD (Naga Warrior) (Fssth) (_"Fssth") 3 9 14}
|
||||
|
||||
#ifdef NORMAL
|
||||
{SG_GUARD (Naga Fighter) (Wizzi) (_"Wizzi") 4 10 14}
|
||||
{SG_GUARD (Naga Fighter) (Wizzi) (_"Wizzi") 3 10 14}
|
||||
#endif
|
||||
|
||||
#ifdef HARD
|
||||
{SG_GUARD (Naga Warrior) (Wizzi) (_"Wizzi") 4 10 14}
|
||||
{SG_GUARD (Naga Warrior) (Wizzi) (_"Wizzi") 3 10 14}
|
||||
#endif
|
||||
|
||||
[recall]
|
||||
|
@ -284,6 +269,18 @@
|
|||
{VARIABLE random_ambusher_type_table[6].type "Elvish Ranger"}
|
||||
{VARIABLE random_ambusher_type_table[7].type "Elvish Hero"}
|
||||
{VARIABLE random_ambusher_type_table[8].type "Elvish Fighter"}
|
||||
|
||||
#ifdef NORMAL
|
||||
{VARIABLE random_ambusher_type_table[9].type "Elvish Archer"}
|
||||
{VARIABLE random_ambusher_type_table[10].type "Elvish Fighter"}
|
||||
#endif
|
||||
|
||||
#ifdef EASY
|
||||
{VARIABLE random_ambusher_type_table[9].type "Elvish Archer"}
|
||||
{VARIABLE random_ambusher_type_table[10].type "Elvish Fighter"}
|
||||
{VARIABLE random_ambusher_type_table[11].type "Elvish Archer"}
|
||||
{VARIABLE random_ambusher_type_table[12].type "Elvish Fighter"}
|
||||
#endif
|
||||
|
||||
{VARIABLE random_ambusher_type_i 0}
|
||||
|
||||
|
@ -298,10 +295,12 @@
|
|||
type={TYPE}
|
||||
side={SIDE}
|
||||
random_traits=yes
|
||||
generate_description=yes
|
||||
upkeep=loyal
|
||||
|
||||
[status]
|
||||
hides=yes
|
||||
stone=yes
|
||||
[/status]
|
||||
[/unit]
|
||||
|
||||
|
@ -435,30 +434,27 @@
|
|||
|
||||
#ifdef EASY
|
||||
{VARIABLE undead_spawn_types "Ghost,Wraith,Shadow,Skeleton Archer,Revenant,Deathblade,Blood Bat,Ghoul,Ghost,Wraith,Shadow"}
|
||||
{VARIABLE ambushing_elves 32}
|
||||
{ELVISH_AMBUSHER 12 34 2 "Elvish Archer"}
|
||||
{VARIABLE ambushing_elves 26}
|
||||
{ELVISH_AMBUSHER 13 33 2 "Elvish Fighter"}
|
||||
{ELVISH_AMBUSHER 14 30 2 "Elvish Archer"}
|
||||
#endif
|
||||
|
||||
#ifdef NORMAL
|
||||
{VARIABLE undead_spawn_types "Wraith,Shadow,Bone Shooter,Revenant,Deathblade,Blood Bat,Ghoul,Wraith,Shadow"}
|
||||
{VARIABLE ambushing_elves 40}
|
||||
{ELVISH_AMBUSHER 12 34 2 "Elvish Archer"}
|
||||
{VARIABLE ambushing_elves 30}
|
||||
{ELVISH_AMBUSHER 13 33 2 "Elvish Hero"}
|
||||
{ELVISH_AMBUSHER 14 30 2 "Elvish Ranger"}
|
||||
#endif
|
||||
|
||||
#ifdef HARD
|
||||
{VARIABLE undead_spawn_types "Wraith,Shadow,Bone Shooter,Revenant,Deathblade,Necrophage,Wraith,Shadow,Shadow"}
|
||||
{VARIABLE ambushing_elves 48}
|
||||
{ELVISH_AMBUSHER 12 34 2 "Elvish Ranger"}
|
||||
{VARIABLE ambushing_elves 34}
|
||||
{ELVISH_AMBUSHER 13 33 2 "Elvish Hero"}
|
||||
{ELVISH_AMBUSHER 14 30 2 "Elvish Ranger"}
|
||||
#endif
|
||||
|
||||
{ELVISH_AMBUSHER 12 33 2 "Elvish Sorceress"}
|
||||
{ELVISH_AMBUSHER 14 33 2 "Elvish Captain"}
|
||||
{ELVISH_AMBUSHER 14 33 2 "Elvish Sorceress"}
|
||||
{ELVISH_AMBUSHER 12 33 2 "Elvish Captain"}
|
||||
|
||||
{TIME_ACTIONS (
|
||||
{ELVISH_AMBUSH_AREA 2 1-29 23-50 $ambushing_elves}
|
||||
|
@ -608,31 +604,47 @@
|
|||
[/allow_undo]
|
||||
[/event]
|
||||
|
||||
|
||||
# elven ambush event
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
|
||||
[filter]
|
||||
side=1
|
||||
side=1,3
|
||||
|
||||
[filter_adjacent]
|
||||
side=2
|
||||
race=elf
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
|
||||
# swap all elves within 5 hexes to the active side
|
||||
# swap all elves within 4 hexes to the active side
|
||||
# they effectively join the ambush
|
||||
# and remove stoning
|
||||
[unstone]
|
||||
[filter]
|
||||
side=2
|
||||
[filter_location]
|
||||
terrain=Gs^Fp
|
||||
[and]
|
||||
x=$x1
|
||||
y=$y1
|
||||
radius=4
|
||||
[/and]
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
[/unstone]
|
||||
{MODIFY_UNIT (
|
||||
side=2
|
||||
[filter_location]
|
||||
terrain=Gs^Fp
|
||||
[and]
|
||||
x,y=$x1,$y1
|
||||
radius=5
|
||||
[/and]
|
||||
[/filter_location]
|
||||
) side 4}
|
||||
side=2
|
||||
[filter_location]
|
||||
terrain=Gs^Fp
|
||||
[and]
|
||||
x,y=$x1,$y1
|
||||
radius=4
|
||||
[/and]
|
||||
[/filter_location]
|
||||
) side 3}
|
||||
|
||||
[redraw][/redraw]
|
||||
|
||||
|
@ -648,64 +660,82 @@
|
|||
{VARIABLE_OP y_delta add -$y1}
|
||||
{VARIABLE_OP y_delta multiply $y_delta}
|
||||
|
||||
# if the last ambush dialogue was 9 hexes or more
|
||||
# distant, do another one
|
||||
# store the triggering unit to prevent dialogue when
|
||||
# a non-player side triggers this
|
||||
[store_unit]
|
||||
variable=triggerer
|
||||
kill=no
|
||||
[filter]
|
||||
x,y=$x1,$y1
|
||||
[/filter]
|
||||
[/store_unit]
|
||||
[if]
|
||||
[variable]
|
||||
name=x_delta
|
||||
greater_than=$ambush_distance
|
||||
[/variable]
|
||||
[or]
|
||||
[variable]
|
||||
name=y_delta
|
||||
greater_than=$ambush_distance
|
||||
[/variable]
|
||||
[/or]
|
||||
[have_unit]
|
||||
x,y=$x1,$y1
|
||||
side=1
|
||||
[/have_unit]
|
||||
[then]
|
||||
{VARIABLE_OP ambush add 1}
|
||||
{VARIABLE ambush_x $x1}
|
||||
{VARIABLE ambush_y $y1}
|
||||
|
||||
# if the last ambush dialogue was 9 hexes or more
|
||||
# distant, do another one
|
||||
[if]
|
||||
[variable]
|
||||
name=ambush
|
||||
equals=1
|
||||
name=x_delta
|
||||
greater_than=$ambush_distance
|
||||
[/variable]
|
||||
[or]
|
||||
[variable]
|
||||
name=y_delta
|
||||
greater_than=$ambush_distance
|
||||
[/variable]
|
||||
[/or]
|
||||
[then]
|
||||
[message]
|
||||
race=elf
|
||||
side=4
|
||||
message= _"You humans have kidnaped Mebrin the Sage. You will pay for your crimes."
|
||||
[/message]
|
||||
[message]
|
||||
description=Deoran
|
||||
message= _"Your sage Mebrin is the criminal. He practices necromancy and has turned himself into Lich. By the laws of Wesnoth, the punnishment for his crimes is death!"
|
||||
[/message]
|
||||
[message]
|
||||
race=elf
|
||||
side=4
|
||||
message= _"It is you who is a criminal and who is in a company of criminals. We will not let you kill Mebrin!"
|
||||
[/message]
|
||||
[message]
|
||||
description=Deoran
|
||||
message= _"I was a fool to waste my words on you. Prepare to meet your beloved Mebrin or should I say Mal M'brin in hell, elves !"
|
||||
[/message]
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE_OP ambush add 1}
|
||||
{VARIABLE ambush_x $x1}
|
||||
{VARIABLE ambush_y $y1}
|
||||
[if]
|
||||
[variable]
|
||||
name=ambush
|
||||
greater_than=1
|
||||
equals=1
|
||||
[/variable]
|
||||
[then]
|
||||
[message]
|
||||
race=elf
|
||||
side=4
|
||||
message= _ "Get them !"
|
||||
side=3
|
||||
message= _"You humans have kidnaped Mebrin the Sage. You will pay for your crimes."
|
||||
[/message]
|
||||
[message]
|
||||
description=Deoran
|
||||
message= _"Your sage Mebrin is the criminal. He practices necromancy and has turned himself into Lich. By the laws of Wesnoth, the punnishment for his crimes is death!"
|
||||
[/message]
|
||||
[message]
|
||||
race=elf
|
||||
side=3
|
||||
message= _"It is you who is a criminal and who is in a company of criminals. We will not let you kill Mebrin!"
|
||||
[/message]
|
||||
[message]
|
||||
description=Deoran
|
||||
message= _"I was a fool to waste my words on you. Prepare to meet your beloved Mebrin or should I say Mal M'brin in hell, elves !"
|
||||
[/message]
|
||||
{VARIABLE_OP ambush_distance add 40}
|
||||
[/then]
|
||||
[else]
|
||||
[if]
|
||||
[variable]
|
||||
name=ambush
|
||||
greater_than=1
|
||||
[/variable]
|
||||
[then]
|
||||
[message]
|
||||
race=elf
|
||||
side=3
|
||||
message= _ "Get them !"
|
||||
[/message]
|
||||
{VARIABLE_OP ambush_distance add 40}
|
||||
[/then]
|
||||
[/if]
|
||||
[/else]
|
||||
[/if]
|
||||
[/else]
|
||||
[/then]
|
||||
[/if]
|
||||
[/then]
|
||||
[/if]
|
||||
|
@ -856,7 +886,7 @@
|
|||
{VARIABLE_OP undead_spawn_type random $undead_spawn_types}
|
||||
|
||||
[unit]
|
||||
side=3
|
||||
side=2
|
||||
type=$undead_spawn_type
|
||||
x,y=19,$undead_spawn_y
|
||||
[/unit]
|
||||
|
@ -900,26 +930,26 @@
|
|||
[/message]
|
||||
|
||||
#ifdef HARD
|
||||
{GENERIC_UNIT 4 Bandit 5 28}
|
||||
{GENERIC_UNIT 3 Bandit 5 28}
|
||||
#else
|
||||
{GENERIC_UNIT 4 Thug 5 28}
|
||||
{GENERIC_UNIT 3 Thug 5 28}
|
||||
#endif
|
||||
|
||||
#ifdef EASY
|
||||
{GENERIC_UNIT 4 Thief 6 28}
|
||||
{GENERIC_UNIT 3 Thief 6 28}
|
||||
#else
|
||||
{GENERIC_UNIT 4 Rogue 6 28}
|
||||
{GENERIC_UNIT 3 Rogue 6 28}
|
||||
#endif
|
||||
|
||||
#ifdef EASY
|
||||
{GENERIC_UNIT 4 Footpad 5 32}
|
||||
{GENERIC_UNIT 3 Footpad 5 32}
|
||||
#else
|
||||
{GENERIC_UNIT 4 Outlaw 5 32}
|
||||
{GENERIC_UNIT 3 Outlaw 5 32}
|
||||
#endif
|
||||
#ifdef HARD
|
||||
{GENERIC_UNIT 4 Trapper 5 31}
|
||||
{GENERIC_UNIT 3 Trapper 5 31}
|
||||
#else
|
||||
{GENERIC_UNIT 4 Poacher 5 31}
|
||||
{GENERIC_UNIT 3 Poacher 5 31}
|
||||
#endif
|
||||
[message]
|
||||
type=Trapper
|
||||
|
@ -969,9 +999,9 @@
|
|||
x,y=12-15,31-33
|
||||
[/filter]
|
||||
|
||||
{SG_GUARD (Elvish Fighter) (Urien) (_"Urien") 4 12 34}
|
||||
{SG_GUARD (Elvish Archer) (Jesa) (_"Jesa") 4 15 31}
|
||||
{SG_GUARD (Elvish Archer) (Plinth) (_"Plinth") 4 15 34}
|
||||
{SG_GUARD (Elvish Fighter) (Urien) (_"Urien") 3 12 34}
|
||||
{SG_GUARD (Elvish Archer) (Jesa) (_"Jesa") 3 15 31}
|
||||
{SG_GUARD (Elvish Archer) (Plinth) (_"Plinth") 3 15 34}
|
||||
|
||||
[message]
|
||||
speaker=Plinth
|
||||
|
|
Loading…
Add table
Reference in a new issue