SotA: transform bats already after the 5th scenario

and keep compatibility code to transform older saves

[ci_skip]
This commit is contained in:
Severin Glöckner 2018-05-26 01:35:09 +02:00
parent 11968f5579
commit cf3d6bf97a
11 changed files with 64 additions and 7 deletions

View file

@ -113,7 +113,7 @@ With further observation, I have determined that this is probably not the way to
[side]
# wmllint: who SIDE_1_ARDONNA is Ardonna
{SIDE_1_ARDONNA}
{SIDE_1_ARDONNA_EARLY}
facing=se
{GOLD 15 5 0}
fog=yes

View file

@ -52,7 +52,7 @@ I decided to hide in the cemetery. That way I could try my experiment to animate
{TURNS 18 18 18}
[side]
{SIDE_1_ARDONNA}
{SIDE_1_ARDONNA_EARLY}
{GOLD 50 40 30}
facing=se
# The scenario won't be shrouded, but some of the intro dialog is:

View file

@ -27,7 +27,7 @@ Even with the delay at the graveyard, I reached the outskirts of Llorvin at firs
{TURNS 35 35 35}
[side]
{SIDE_1_ARDONNA}
{SIDE_1_ARDONNA_EARLY}
{GOLD 150 150 140}
[/side]

View file

@ -89,7 +89,7 @@ The journey started well enough, but on the dawn following our departure, the wi
{TURNS 14 15 16}
[side]
{SIDE_1_ARDONNA}
{SIDE_1_ARDONNA_EARLY}
# We are assuming substantial gold from the previous scenario:
{GOLD 60 40 20}
facing=ne

View file

@ -42,7 +42,7 @@ When the captain retained his memories, I reasoned that it may have been because
{TURNS 28 28 28}
[side]
{SIDE_1_ARDONNA}
{SIDE_1_ARDONNA_EARLY}
{GOLD 270 230 200}
income=6
facing=se

View file

@ -117,6 +117,8 @@ I was so sure I had the answer! I was wrong. I wanted to believe that I was imag
# *************************** PRESTART ***************************
{SIDE_1_ARDONNA:TRANSFROM_BATS_TO_NORMAL_EVENT}
[event]
name=prestart
{RECALL_LOYAL_UNITS}

View file

@ -137,6 +137,8 @@ The tunnel at the back of the cave narrowed and ran on for quite some time. Patc
[/redraw]
#enddef
{SIDE_1_ARDONNA:TRANSFROM_BATS_TO_NORMAL_EVENT}
[event]
name=start

View file

@ -88,6 +88,8 @@ Rastaban seems like an acceptable ally. He is quite different from the stodgy te
# *************************** PRESTART ***************************
{SIDE_1_ARDONNA:TRANSFROM_BATS_TO_NORMAL_EVENT}
[event]
name=prestart

View file

@ -85,6 +85,9 @@ My primary objective was met, and I had been able to press a number of ghosts in
#endif
# *************************** PRESTART ***************************
{SIDE_1_ARDONNA:TRANSFROM_BATS_TO_NORMAL_EVENT}
[event]
name=prestart

View file

@ -28,6 +28,8 @@ I never would have been able to escape the trees without ghosts. They had proven
gold=0
[/side]
{SIDE_1_ARDONNA:TRANSFROM_BATS_TO_NORMAL_EVENT}
[event]
name=prestart

View file

@ -1,6 +1,6 @@
#textdomain wesnoth-sota
#define SIDE_1_ARDONNA
#define SIDE_1_ARDONNA_BASE
side=1
controller=human
team_name=good
@ -16,10 +16,19 @@
{TRAIT_QUICK}
{TRAIT_RESILIENT}
[/modifications]
recruit=Vampire Bat SotA
{FLAG_VARIANT undead}
#enddef
#define SIDE_1_ARDONNA
{SIDE_1_ARDONNA_BASE}
recruit=Vampire Bat
#enddef
#define SIDE_1_ARDONNA_EARLY
{SIDE_1_ARDONNA_BASE}
recruit=Vampire Bat SotA
#enddef
#define SIDE_1_RAS-TABAHN
side=1
controller=human
@ -1014,3 +1023,40 @@
[/command]
[/set_menu_item]
#enddef
# this is inserted in some scenarios to clear SotA Bats from older saves
# it needs to be in all scenarios which use SIDE_1_ARDONNA, otherwise the player
# may be able to recruit normal and SotA bats, or be able to recruit bats when
# he plays someone who should not be able to do so
#define SIDE_1_ARDONNA:TRANSFROM_BATS_TO_NORMAL_EVENT
# SotA bats were necessary for the ship where they were drawn behind the
# rigging, but not in later scenarios.
[event]
name=prestart
# First, we'll make sure newly recruited ones will be correct
[disallow_recruit]
side=1
type=Vampire Bat SotA
[/disallow_recruit]
[allow_recruit]
side=1
type=Vampire Bat
[/allow_recruit]
# Now the type of all bats on the recall list is changed
[lua]
code = <<
for i, u in ipairs(wesnoth.get_recall_units { type = 'Vampire Bat SotA, Blood Bat SotA, Dread Bat SotA' }) do
if u.type == 'Vampire Bat SotA' then
u:transform('Vampire Bat')
elseif u.type == 'Blood Bat SotA' then
u:transform('Blood Bat')
elseif u.type == 'Dread Bat SotA' then
u:transform('Dread Bat')
end
end
>>
[/lua]
[/event]
#enddef