Long March rebalancing: port of 2008-03-27T17:07:40Z!jan.rietema@web.de.

This commit is contained in:
Jan Rietema 2008-03-27 17:08:45 +00:00
parent 15d64a824a
commit fa78727b6c
2 changed files with 136 additions and 106 deletions

View file

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

View file

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