diff --git a/data/campaigns/Northern_Rebirth/scenarios/02_01_Infested_Caves.cfg b/data/campaigns/Northern_Rebirth/scenarios/02_01_Infested_Caves.cfg index cbcca1062eb..9a8507bedc3 100644 --- a/data/campaigns/Northern_Rebirth/scenarios/02_01_Infested_Caves.cfg +++ b/data/campaigns/Northern_Rebirth/scenarios/02_01_Infested_Caves.cfg @@ -1055,15 +1055,7 @@ type=Thug,Bandit search_recall_list=no role=Admirer - [/role] - - [if] - [not] - [have_unit] - role=Admirer - [/have_unit] - [/not] - [then] + [else] [role] [not] id=Tallin @@ -1078,24 +1070,16 @@ side=1 search_recall_list=no role=Admirer + [else] + [role] + # Supporter and Camerin shouldn’t get Admirer role + id=Tallin + role=Admirer + [/role] + [/else] [/role] - [/then] - [/if] - - [if] - [not] - [have_unit] - role=Admirer - [/have_unit] - [/not] - [then] - # Supporter and Camerin shouldn’t get Admirer role - [role] - id=Tallin - role=Admirer - [/role] - [/then] - [/if] + [/else] + [/role] [message] role=Admirer diff --git a/data/campaigns/Northern_Rebirth/utils/herodeaths.cfg b/data/campaigns/Northern_Rebirth/utils/herodeaths.cfg index b2aab79680c..aee7b7ad9df 100644 --- a/data/campaigns/Northern_Rebirth/utils/herodeaths.cfg +++ b/data/campaigns/Northern_Rebirth/utils/herodeaths.cfg @@ -797,24 +797,21 @@ message= _ "Farewell, my friends. I now go to join my fallen brothers." [/message] + # not necessarily a unit has to be matched [role] type=Dwarvish Berserker,Dwarvish Ulfsurker role=Shinsplitter + search_recall_list=no + [else] + [role] + type=Dwarvish Berserker,Dwarvish Ulfsurker + role=Shinsplitter + search_recall_list=only + [auto_recall][/auto_recall] + [/role] + [/else] [/role] - [if] - [not] - [have_unit] - role=Shinsplitter - [/have_unit] - [/not] - [then] - [recall] - role=Shinsplitter - [/recall] - [/then] - [/if] - [message] role=Shinsplitter message= _ "No, Stalrag! Without you what will become of the Shinsplitters?" @@ -891,7 +888,8 @@ {SUPPORTER_DEATH_HANDLER} #enddef -# This death event makes sure there is always a supporter around +# This death event tries to find a new supporter. +# In case it fails, a supporter will be availaible at the next scenario. #define SUPPORTER_DEATH_HANDLER [event] name=die @@ -900,21 +898,19 @@ [/filter] [role] - race=human - alignment=lawful + side=1 + type_adv_tree=Pesant,Mage [not] - id=Camerin + id=Camerin,Tallin [/not] [not] - id=Tallin - [/not] - [not] - usage=healer + type_adv_tree=White Mage [/not] [not] role=Supporter [/not] role=Supporter + search_recall_list=no [/role] [/event] #enddef diff --git a/data/campaigns/Northern_Rebirth/utils/utils.cfg b/data/campaigns/Northern_Rebirth/utils/utils.cfg index 6341b64cce3..44337452b46 100644 --- a/data/campaigns/Northern_Rebirth/utils/utils.cfg +++ b/data/campaigns/Northern_Rebirth/utils/utils.cfg @@ -19,38 +19,27 @@ role=Supporter [/recall] [/then] - [elseif] + [else] # Else, make a new supporter - [have_unit] + [role] + role=Supporter side=1 [not] id=Tallin [/not] search_recall_list=yes - [/have_unit] - [then] - [role] - side=1 - [not] - id=Tallin - [/not] - role=Supporter - [/role] - - [recall] - role=Supporter - [/recall] - [/then] - [/elseif] - [else] - # If that fails too, make a brand new supporter - [unit] - type=Peasant - side=1 - role=Supporter - animate=yes - placement=leader - [/unit] + [auto_recall][/auto_recall] + [else] + # If that fails too, make a brand new supporter + [unit] + type=Peasant + side=1 + role=Supporter + animate=yes + placement=leader + [/unit] + [/else] + [/role] [/else] [/if] #enddef