SotA: Use character macros for change level compatability and cleaner code

This commit is contained in:
sigurdfdragon 2019-05-24 20:50:27 -04:00
parent 63e8737f35
commit c8e86ad492
9 changed files with 104 additions and 67 deletions

View file

@ -606,16 +606,11 @@ The journey started well enough, but on the dawn following our departure, the wi
kill=yes
[/store_unit]
[unit]
type=Bone Captain
id=Bone Captain
# wmllint: who CHARACTER_STATS_BONE_CAPTAIN is Bone Captain
{CHARACTER_STATS_BONE_CAPTAIN}
side=1
x=$rudic_stored.x
y=$rudic_stored.y
name= _ "Rudic"
{IS_LOYAL}
[modifications]
{TRAIT_LOYAL}
[/modifications]
animate=yes
[/unit]
[clear_variable]

View file

@ -47,6 +47,10 @@ When the captain retained his memories, I reasoned that it may have been because
{GOLD 270 230 200}
income=6
facing=se
[unit]
{CHARACTER_STATS_BONE_CAPTAIN}
placement=leader
[/unit]
[/side]
{STARTING_VILLAGES 2 6}
@ -153,8 +157,6 @@ When the captain retained his memories, I reasoned that it may have been because
[/set_variable]
#endif
{RECALL_LOYAL_UNITS}
# This object will keep the knight from attacking from terrible terrain,
# which he will otherwise.
[object]

View file

@ -35,10 +35,8 @@ The tunnel at the back of the cave narrowed and ran on for quite some time. Patc
controller=ai
team_name=good
user_team_name= _ "Ras-Tabahn"
type=SotA Dark Sorcerer
name= _ "Ras-Tabahn"
id=Ras-Tabahn
canrecruit=yes
# wmllint: who CHARACTER_STATS_RAS-TABAHN is Ras-Tabahn
{CHARACTER_STATS_RAS-TABAHN}
color=darkred
facing=sw
[unit]

View file

@ -245,18 +245,10 @@ After several days of travel, he approached the frontier town of Carcyn."
y=12,12
[/move_unit_fake]
[unit]
# wmllint: who CHARACTER_STATS_SHYNAL is Shynal
{CHARACTER_STATS_SHYNAL}
x,y=5,12
type=Delinquent
side=1
name= _ "Shynal"
id=Shynal
gender=female
{IS_LOYAL}
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
profile="portraits/shynal-outlaw.png"
[/unit]
[move_unit_fake]
type=Ruffian
@ -265,16 +257,10 @@ After several days of travel, he approached the frontier town of Carcyn."
y=12,13
[/move_unit_fake]
[unit]
# wmllint: who CHARACTER_STATS_CARCYN is Carcyn
{CHARACTER_STATS_CARCYN}
x,y=5,13
type=SotA Ruffian
side=1
name= _ "Carcyn"
id=Carcyn
{IS_LOYAL}
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[/unit]
[message]
speaker=Carcyn

View file

@ -195,17 +195,11 @@ Rastaban seems like an acceptable ally. He is quite different from the stodgy te
[/move_unit_fake]
[unit]
name= _ "Vendraxis"
id=Vendraxis
type=Saurian Soothsayer
# wmllint: who CHARACTER_STATS_VENDRAXIS is Vendraxis
{CHARACTER_STATS_VENDRAXIS}
x=$location.x
y=$location.y
side=1
{IS_LOYAL}
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[clear_variable]

View file

@ -34,6 +34,10 @@ My primary objective was met, and I had been able to press a number of ghosts in
{SIDE_1_ARDONNA}
{ARDONNA_RECRUIT_4}
{GOLD 200 190 180}
[unit]
{CHARACTER_STATS_VENDRAXIS}
placement=leader
[/unit]
[/side]
[side]

View file

@ -219,10 +219,14 @@ Now the process is complete for both of us. I posted a guard so nothing could ha
# We aren't using the normal macro for the following recalls because it
# doesn't specify locations, and that's important this time.
[recall]
id=Ras-Tabahn
# Ras-Tabahn is already on the map, so move him
[teleport]
[filter]
id=Ras-Tabahn
[/filter]
x,y=44,11
[/recall]
animate=no
[/teleport]
[recall]
id=Carcyn
x,y=44,11

View file

@ -0,0 +1,73 @@
#textdomain wesnoth-sota
#define CHARACTER_STATS_ARDONNA
# This type of Dark Adept cannot eventually advance to a lich.
type=SotA Dark Adept
id=Ardonna
name= _ "Ardonna"
profile=portraits/ardonna.png
gender=female
canrecruit=yes
[modifications]
{TRAIT_QUICK}
{TRAIT_RESILIENT}
[/modifications]
#enddef
#define CHARACTER_STATS_RAS-TABAHN
# This type of Dark Sorcerer advances to a Necromancer with a custom plague
# attack, and cannot advance to a Lich.
type=SotA Dark Sorcerer
id=Ras-Tabahn
name= _ "Ras-Tabahn"
canrecruit=yes
[modifications]
{TRAIT_STRONG}
{TRAIT_INTELLIGENT}
[/modifications]
#enddef
#define CHARACTER_STATS_BONE_CAPTAIN
type=Bone Captain
id=Bone Captain
name= _ "Rudic"
{IS_LOYAL}
[modifications]
{TRAIT_LOYAL}
[/modifications]
#enddef
#define CHARACTER_STATS_CARCYN
type=SotA Ruffian
id=Carcyn
name= _ "Carcyn"
{IS_LOYAL}
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
#enddef
#define CHARACTER_STATS_SHYNAL
type=Delinquent
id=Shynal
name= _ "Shynal"
profile="portraits/shynal-outlaw.png"
gender=female
{IS_LOYAL}
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
#enddef
#define CHARACTER_STATS_VENDRAXIS
type=Saurian Soothsayer
id=Vendraxis
name= _ "Vendraxis"
{IS_LOYAL}
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
#enddef

View file

@ -5,17 +5,7 @@
controller=human
team_name=good
user_team_name= _ "Ardonna"
# This type of Dark Adept cannot eventually advance to a lich.
type=SotA Dark Adept
id=Ardonna
profile=portraits/ardonna.png
gender=female
name= _ "Ardonna"
canrecruit=yes
[modifications]
{TRAIT_QUICK}
{TRAIT_RESILIENT}
[/modifications]
{CHARACTER_STATS_ARDONNA}
{FLAG_VARIANT undead}
#enddef
@ -40,16 +30,7 @@
controller=human
team_name=good
user_team_name= _ "Ras-Tabahn"
# This type of Dark Sorcerer advances to a Necromancer with a custom plague
# attack, and cannot advance to a Lich.
type=SotA Dark Sorcerer
id=Ras-Tabahn
name= _ "Ras-Tabahn"
canrecruit=yes
[modifications]
{TRAIT_STRONG}
{TRAIT_INTELLIGENT}
[/modifications]
{CHARACTER_STATS_RAS-TABAHN}
{FLAG_VARIANT undead}
#enddef
@ -78,6 +59,10 @@
{TRAIT_QUICK}
{TRAIT_RESILIENT}
[/modifications]
[unit]
{CHARACTER_STATS_RAS-TABAHN}
placement=leader
[/unit]
{FLAG_VARIANT undead}
recruit=SotA Walking Corpse_Dummy,Ghost,Skeleton,Skeleton Archer,SotA Dark Adept,Ghoul,Vampire Bat
#enddef
@ -104,10 +89,6 @@
id=Vendraxis
show=no
[/recall]
[recall]
id=Ras-Tabahn
show=no
[/recall]
#enddef
#define HOW_TO_LOSE_WITH_ARDONNA