Skip to content

Commit

Permalink
TSG S6b: gameplay update
Browse files Browse the repository at this point in the history
  • Loading branch information
nemaara authored and Pentarctagon committed Dec 15, 2018
1 parent 765d100 commit 9c4a579
Showing 1 changed file with 98 additions and 40 deletions.
138 changes: 98 additions & 40 deletions data/campaigns/The_South_Guard/scenarios/06b_The_Long_March.cfg
Expand Up @@ -5,8 +5,9 @@
name= _ "The Long March"
next_scenario=07b_Pebbles_in_the_Flood

{SCENARIO_MUSIC heroes_rite.ogg}
{EXTRA_SCENARIO_MUSIC the_dangerous_symphony.ogg}
{SCENARIO_MUSIC casualties_of_war.ogg}
{EXTRA_SCENARIO_MUSIC underground.ogg}
{EXTRA_SCENARIO_MUSIC weight_of_revenge.ogg}

# Note: the map contains a large grid of roads but only one path through the
# forest will be picked when the scenario starts. When editing the map, make
Expand All @@ -19,7 +20,7 @@
{DEFAULT_SCHEDULE_DUSK}

victory_when_enemies_defeated=no
{TURNS 30 25 20}
{TURNS 25 22 20}

{TSG_BIGMAP {JOURNEY_06B_NEW} }

Expand All @@ -43,7 +44,7 @@
share_view=yes
share_maps=yes

{GOLD 125 100 80}
{GOLD 60 50 40}
{INCOME 6 4 2}

canrecruit=yes
Expand Down Expand Up @@ -127,14 +128,16 @@
{VARIABLE secret_path.x 18}
{VARIABLE secret_path.y 35}


# the first undead will spawn on this turn+1 (i.e. turn {5 4 3})
#ifdef EASY
{VARIABLE first_undead_spawn_turn 3}
{VARIABLE first_undead_spawn_turn 4}
#endif
#ifdef NORMAL
{VARIABLE first_undead_spawn_turn 2}
{VARIABLE first_undead_spawn_turn 3}
#endif
#ifdef HARD
{VARIABLE first_undead_spawn_turn 1}
{VARIABLE first_undead_spawn_turn 2}
#endif

[while]
Expand All @@ -146,7 +149,7 @@
[do]
[if]
[have_location]
terrain=R*
terrain=R*^*

[filter_adjacent_location]
x,y=$new_path_hex.x,$new_path_hex.y
Expand All @@ -160,7 +163,7 @@

[then]
[store_locations]
terrain=R*
terrain=R*^*

[filter_adjacent_location]
x,y=$new_path_hex.x,$new_path_hex.y
Expand All @@ -177,7 +180,7 @@

[else]
[store_locations]
terrain=R*
terrain=R*^*

[filter_adjacent_location]
x,y=$new_path_hex.x,$new_path_hex.y
Expand Down Expand Up @@ -247,7 +250,7 @@
[/store_locations]

[store_locations]
terrain=R*
terrain=R*^*
y=10-35

variable=secret_path_to_hide
Expand Down Expand Up @@ -285,14 +288,14 @@
x=$ford_mask_x
y=3
border=no
mask="Ww, Wwf, Ww
Ww, Wwf, Ww
Ww, Wwf, Ww
Ww, Wwf, Ww
Ww, Wwf, Ww
Ww, Wwf, Ww
Ww, Wwf, Ww
mask="Ww^Ewl, Wwf, Ww^Ewl
Ww, Wwf, Ww^Ewl
Ww^Ewl, Wwf, Ww^Ewl
Ww, Wwf, Ww
Ww, Wwf, Ww^Ewl
Ww, Wwf, Ww^Ewl
Ww^Ewl, Wwf, Ww
Ww^Ewl, Wwf, Ww^Ewl
"

[rule]
Expand Down Expand Up @@ -321,16 +324,6 @@ _f, _f, Re, _f
[/rule]
[/terrain_mask]

{NAMED_GENERIC_UNIT 3 (Naga Warrior) $new_path_hex.x 6 (Fssth) (_"Fssth")} {GUARDIAN}

#ifdef NORMAL
{NAMED_GENERIC_UNIT 3 (Naga Fighter) $new_path_hex.x 6 (Wizzi) (_"Wizzi")} {GUARDIAN}
#endif

#ifdef HARD
{NAMED_GENERIC_UNIT 3 (Naga Warrior) $new_path_hex.x 6 (Wizzi) (_"Wizzi")} {GUARDIAN}
#endif

{CLEAR_VARIABLE new_road_branches,secret_path_to_hide,adjacent_forests}

{VARIABLE urza_dialogue 0}
Expand All @@ -340,15 +333,15 @@ _f, _f, Re, _f
name=prestart

#ifdef EASY
{VARIABLE num_of_ambushers 12}
{VARIABLE num_of_ambushers 8}
#endif

#ifdef NORMAL
{VARIABLE num_of_ambushers 16}
{VARIABLE num_of_ambushers 12}
#endif

#ifdef HARD
{VARIABLE num_of_ambushers 20}
{VARIABLE num_of_ambushers 16}
#endif

# This places a bunch of lvl1 elves along the secret path, the player
Expand Down Expand Up @@ -413,7 +406,7 @@ _f, _f, Re, _f
# player will mostly only bump into these if he wanders away from the
# path, although a few might occasionally be close enough to join an
# ambush by the lvl1 elves next to the path.
{SCATTER_UNITS 30 "Elvish Hero,Elvish Captain,Elvish Marksman,Elvish Ranger,Elvish Druid,Elvish Sorceress" 2 (
{SCATTER_UNITS 30 "Elvish Hero,Elvish Captain,Elvish Druid" 2 (
terrain=*^F*
x=3-34
y=13-31
Expand Down Expand Up @@ -489,6 +482,25 @@ _f, _f, Re, _f
id=Jarek
[/recall]

#ifdef HARD
[recall]
type=Royal Guard, Pikeman, Swordsman, Javelineer, Master Bowman, Longbowman, Spearman, Bowman
[/recall]
[recall]
type=Royal Guard, Pikeman, Swordsman, Javelineer, Master Bowman, Longbowman, Spearman, Bowman
[/recall]
#else
[recall]
type=Royal Guard, Pikeman, Swordsman, Javelineer, Master Bowman, Longbowman, Spearman, Bowman
[/recall]
[recall]
type=Royal Guard, Pikeman, Swordsman, Javelineer, Master Bowman, Longbowman, Spearman, Bowman
[/recall]
[recall]
type=Royal Guard, Pikeman, Swordsman, Javelineer, Master Bowman, Longbowman, Spearman, Bowman
[/recall]
#endif

[message]
speaker=Deoran
message= _ "Forest, forest, forest! As far as the eye can see, it is all forest! I am getting sick of endlessly trudging through these woods. Are you sure you are taking us in the right direction?"
Expand Down Expand Up @@ -622,7 +634,7 @@ _f, _f, Re, _f
radius=1

[filter_radius]
terrain=R*,Gg,C*,K*,*^V*
terrain=R*^*,Gg,C*,K*,*^V*

[or]
terrain=*^F*
Expand Down Expand Up @@ -673,7 +685,7 @@ _f, _f, Re, _f
# them
[store_locations]
[not]
terrain=R*
terrain=R*^*
[/not]
y=10-35
find_in=urza_movement_area
Expand Down Expand Up @@ -1052,19 +1064,19 @@ _f, _f, Re, _f
[have_unit]
side=2
race=bats,undead
count=0-50
count=0-30
[/have_unit]

[then]
{VARIABLE got_a_quick_one_this_turn no}

[repeat]
times="$(min($turn_number - 2, 5))"
times="$(min($turn_number - $first_undead_spawn_turn, 5))"

[do]
{VARIABLE_OP undead_spawn_x rand "11..22"}

# If there's already been a quick unit (ghost or bat)
# If there's already been a quick unit (bat)
# spawned this turn, don't make any more
[if]
[variable]
Expand All @@ -1082,17 +1094,17 @@ _f, _f, Re, _f

[else]
#ifdef EASY
{VARIABLE_OP undead_spawn_type rand "Ghost,Bone Shooter,Revenant,Blood Bat,Necrophage"}
{VARIABLE_OP undead_spawn_type rand "Bone Shooter,Revenant,Blood Bat,Necrophage"}
#else
{VARIABLE_OP undead_spawn_type rand "Wraith,Bone Shooter,Revenant,Deathblade,Blood Bat,Dread Bat,Necrophage"}
{VARIABLE_OP undead_spawn_type rand "Bone Shooter,Revenant,Deathblade,Blood Bat,Dread Bat,Necrophage"}
#endif
[/else]
[/if]

# This checks whether the current spawn is going to be a
# "quick" one, so on the next repeat the above [if] will
# know whether we've already gotten a quick one this turn
{VARIABLE quick_spawn_types "Ghost,Wraith,Blood Bat,Dread Bat"}
{VARIABLE quick_spawn_types "Blood Bat,Dread Bat"}
[if]
[variable]
name=quick_spawn_types
Expand Down Expand Up @@ -1136,6 +1148,52 @@ _f, _f, Re, _f
[/endlevel]
[/event]

[event]
name=time over

[remove_shroud]
[filter_side]
side=1
[/filter_side]
x=16-23
y=0-5
[/remove_shroud]
[lift_fog]
[filter_side]
side=1
[/filter_side]
x=16-23
y=0-5
multiturn=yes
[/lift_fog]
[redraw]
side=1
clear_shroud=yes
[/redraw]

[unit]
type=Elvish Marshal
side=3
id=Ithelden
name= _ "Ithelden"
animate=yes
x,y=20,1
[/unit]
{GENERIC_UNIT 3 (Elvish Hero) 19 2}
{GENERIC_UNIT 3 (Elvish Captain) 21 2}
{GENERIC_UNIT 3 (Elvish Marksman) 19 1}
{GENERIC_UNIT 3 (Elvish Druid) 21 1}

[message]
speaker=Ithelden
message= _ "So, these pitiful humans are still alive? Good. I will have the pleasure of crushing them myself."
[/message]
[message]
speaker=Deoran
message= _ "We took too long to escape these forests..."
[/message]
[/event]

# Deoran exits the forest.

[event]
Expand Down

0 comments on commit 9c4a579

Please sign in to comment.