diff --git a/data/campaigns/Secrets_of_the_Ancients/scenarios/07_Meeting_of_the_Minds.cfg b/data/campaigns/Secrets_of_the_Ancients/scenarios/07_Meeting_of_the_Minds.cfg index 5e42f9aeeadc..04a2e9ca73ca 100644 --- a/data/campaigns/Secrets_of_the_Ancients/scenarios/07_Meeting_of_the_Minds.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/scenarios/07_Meeting_of_the_Minds.cfg @@ -34,7 +34,7 @@ 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=Dark Sorcerer SotA + type=SotA Dark Sorcerer name= _ "Ras-Tabahn" id=Ras-Tabahn canrecruit=yes diff --git a/data/campaigns/Secrets_of_the_Ancients/scenarios/09_Training_Session.cfg b/data/campaigns/Secrets_of_the_Ancients/scenarios/09_Training_Session.cfg index 08b0a5c2d2ea..e352a5e99f77 100644 --- a/data/campaigns/Secrets_of_the_Ancients/scenarios/09_Training_Session.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/scenarios/09_Training_Session.cfg @@ -102,7 +102,7 @@ [unit] x={X} y={Y} - type=Dark Adept SotA + type=SotA Dark Adept side=1 moves=0 gender={GENDER} # Otherwise, they're all male, and there's no reason for that. @@ -296,7 +296,7 @@ [allow_recruit] side=1 # This type of Dark Adept cannot advance to a lich. - type=Dark Adept SotA + type=SotA Dark Adept [/allow_recruit] # Gold was removed at the beginning, and is returned now. [gold] diff --git a/data/campaigns/Secrets_of_the_Ancients/scenarios/13_Together_Again.cfg b/data/campaigns/Secrets_of_the_Ancients/scenarios/13_Together_Again.cfg index 3ce4d7f0efe4..e8eabb8e28a1 100644 --- a/data/campaigns/Secrets_of_the_Ancients/scenarios/13_Together_Again.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/scenarios/13_Together_Again.cfg @@ -180,7 +180,7 @@ I never would have been able to escape the trees without ghosts. They had proven # maybe Chocobones too: [allow_recruit] side=1 - type=Dark Adept SotA + type=SotA Dark Adept [/allow_recruit] [if] [variable] diff --git a/data/campaigns/Secrets_of_the_Ancients/scenarios/18_Abandoned_Outpost.cfg b/data/campaigns/Secrets_of_the_Ancients/scenarios/18_Abandoned_Outpost.cfg index bd695ca3014f..3d02c357298e 100644 --- a/data/campaigns/Secrets_of_the_Ancients/scenarios/18_Abandoned_Outpost.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/scenarios/18_Abandoned_Outpost.cfg @@ -106,7 +106,7 @@ Now the process is complete for both of us. I posted a guard so nothing could ha x=$x1 y=$y1 side=1 - type=Necromancer, Necromancer SotA + type=Necromancer, SotA Necromancer [/have_unit] [/show_if] [command] @@ -136,32 +136,6 @@ Now the process is complete for both of us. I posted a guard so nothing could ha [/command] [/set_menu_item] - # From now on, newly recruited DAs need to be able to eventually advance to - # liches like normal. We will stop using the custom units in the recruit list. - [disallow_recruit] - side=1 - type=Dark Adept SotA - [/disallow_recruit] - [allow_recruit] - side=1 - type=Dark Adept - [/allow_recruit] - - # This section changes all *existing* units so that they have liches in their - # advancement trees. As of 1.14 at least, [modify_unit] doesn't apply to - # the recall list, same for [transform_unit]. - [lua] - code = << - for i, u in ipairs(wesnoth.get_recall_units { type = 'Dark Adept SotA, Dark Sorcerer SotA' }) do - if u.type == 'Dark Adept SotA' then - u:transform('Dark Adept') - elseif u.type == 'Dark Sorcerer SotA' then - u:transform('Dark Sorcerer') - end - end - >> - [/lua] - #ifndef HARD [terrain] x,y=28,7 @@ -545,6 +519,7 @@ Now the process is complete for both of us. I posted a guard so nothing could ha [/endlevel] [/event] + {ALLOW_LICHES} {TURN_INTO_A_LICH} {HERO_DEATHS} {MANAGE_PROFILE} diff --git a/data/campaigns/Secrets_of_the_Ancients/scenarios/19_Lava_and_Stone.cfg b/data/campaigns/Secrets_of_the_Ancients/scenarios/19_Lava_and_Stone.cfg index 1e1126cb32ce..52318b6fd20e 100644 --- a/data/campaigns/Secrets_of_the_Ancients/scenarios/19_Lava_and_Stone.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/scenarios/19_Lava_and_Stone.cfg @@ -155,6 +155,7 @@ We continued down the tunnel in utter darkness for a time. The darkness presente [/endlevel] [/event] + {ALLOW_LICHES} {TURN_INTO_A_LICH} {HERO_DEATHS} {MANAGE_PROFILE} diff --git a/data/campaigns/Secrets_of_the_Ancients/scenarios/20_North_Knalga.cfg b/data/campaigns/Secrets_of_the_Ancients/scenarios/20_North_Knalga.cfg index bcdaf2aaff2f..f49a5332ea5b 100644 --- a/data/campaigns/Secrets_of_the_Ancients/scenarios/20_North_Knalga.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/scenarios/20_North_Knalga.cfg @@ -813,6 +813,7 @@ We left the fires of the mountain behind and plunged once more into darkness. Af [/endlevel] [/event] + {ALLOW_LICHES} {TURN_INTO_A_LICH} {HERO_DEATHS} {MANAGE_PROFILE} diff --git a/data/campaigns/Secrets_of_the_Ancients/scenarios/21_Against_the_World.cfg b/data/campaigns/Secrets_of_the_Ancients/scenarios/21_Against_the_World.cfg index 84365bd3e1f8..5ead06a36003 100644 --- a/data/campaigns/Secrets_of_the_Ancients/scenarios/21_Against_the_World.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/scenarios/21_Against_the_World.cfg @@ -417,7 +417,7 @@ We finally made it out of the mountains. We crossed the Ford of Abez late this m [if] [have_unit] id=$close_units[$i].id - type=Ancient Lich, Ancient Lich SotA + type=Ancient Lich, SotA Ancient Lich [/have_unit] [then] # Using "5" as the index chooses a level-4 unit: @@ -872,6 +872,7 @@ We finally made it out of the mountains. We crossed the Ford of Abez late this m [/message] [/event] + {ALLOW_LICHES} {TURN_INTO_A_LICH} {HERO_DEATHS} {MANAGE_PROFILE} diff --git a/data/campaigns/Secrets_of_the_Ancients/units/Delinquent.cfg b/data/campaigns/Secrets_of_the_Ancients/units/Delinquent.cfg index 1d7190cc8c8d..c7570884cbb7 100644 --- a/data/campaigns/Secrets_of_the_Ancients/units/Delinquent.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/units/Delinquent.cfg @@ -12,7 +12,7 @@ experience=18 level=0 alignment=chaotic - advances_to=Footpad,Dark Adept SotA + advances_to=Footpad,SotA Dark Adept cost=8 usage=fighter description= _ "Some girls shun the typical life planned for them by society, and fall in with the criminal element. Though they may end up in jail, that seems preferable to them than tying themselves to a husband." diff --git a/data/campaigns/Secrets_of_the_Ancients/units/Necro_Ancient_Lich.cfg b/data/campaigns/Secrets_of_the_Ancients/units/Necro_Ancient_Lich.cfg index 7030c6e1d0df..abbbaeabe9b8 100644 --- a/data/campaigns/Secrets_of_the_Ancients/units/Necro_Ancient_Lich.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/units/Necro_Ancient_Lich.cfg @@ -1,6 +1,6 @@ #textdomain wesnoth-sota [unit_type] - id=Ancient Lich SotA + id=SotA Ancient Lich #textdomain wesnoth-units name= _ "Ancient Lich" #textdomain wesnoth-sota diff --git a/data/campaigns/Secrets_of_the_Ancients/units/Necro_Dark_Adept.cfg b/data/campaigns/Secrets_of_the_Ancients/units/Necro_Dark_Adept.cfg index 63884c089456..dc909ee9f1a2 100644 --- a/data/campaigns/Secrets_of_the_Ancients/units/Necro_Dark_Adept.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/units/Necro_Dark_Adept.cfg @@ -1,11 +1,11 @@ #textdomain wesnoth-units -# Same as normal, except advances to Dark Sorcerer SotA +# Same as normal, except advances to SotA Dark Sorcerer [unit_type] - id=Dark Adept SotA + id=SotA Dark Adept [base_unit] id=Dark Adept [/base_unit] - advances_to=Dark Sorcerer SotA + advances_to=SotA Dark Sorcerer hide_help=yes do_not_list=yes [/unit_type] diff --git a/data/campaigns/Secrets_of_the_Ancients/units/Necro_Dark_Sorcerer.cfg b/data/campaigns/Secrets_of_the_Ancients/units/Necro_Dark_Sorcerer.cfg index cdd97202366a..d03b5c65f1ed 100644 --- a/data/campaigns/Secrets_of_the_Ancients/units/Necro_Dark_Sorcerer.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/units/Necro_Dark_Sorcerer.cfg @@ -1,11 +1,11 @@ #textdomain wesnoth-units [unit_type] - id=Dark Sorcerer SotA + id=SotA Dark Sorcerer [base_unit] id=Dark Sorcerer [/base_unit] # The unit cannot advance to a lich until the main character learns how. - advances_to=Necromancer SotA + advances_to=SotA Necromancer hide_help=yes do_not_list=yes [extra_anim] diff --git a/data/campaigns/Secrets_of_the_Ancients/units/Necro_Lich.cfg b/data/campaigns/Secrets_of_the_Ancients/units/Necro_Lich.cfg index 55cf85f6556b..32fdd598cb70 100644 --- a/data/campaigns/Secrets_of_the_Ancients/units/Necro_Lich.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/units/Necro_Lich.cfg @@ -1,10 +1,10 @@ #textdomain wesnoth-units [unit_type] - id=Lich SotA + id=SotA Lich [base_unit] id=Lich [/base_unit] - advances_to=Ancient Lich SotA + advances_to=SotA Ancient Lich experience=250 hide_help=yes do_not_list=yes diff --git a/data/campaigns/Secrets_of_the_Ancients/units/Necromancer.cfg b/data/campaigns/Secrets_of_the_Ancients/units/Necromancer.cfg index a528847dadc0..1cf92abbffcc 100644 --- a/data/campaigns/Secrets_of_the_Ancients/units/Necromancer.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/units/Necromancer.cfg @@ -1,6 +1,6 @@ #textdomain wesnoth-units [unit_type] - id=Necromancer SotA + id=SotA Necromancer [base_unit] id=Necromancer [/base_unit] diff --git a/data/campaigns/Secrets_of_the_Ancients/units/Ruffian.cfg b/data/campaigns/Secrets_of_the_Ancients/units/Ruffian.cfg index c1e111c2121b..6e096de7ae5c 100644 --- a/data/campaigns/Secrets_of_the_Ancients/units/Ruffian.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/units/Ruffian.cfg @@ -1,11 +1,11 @@ #textdomain wesnoth-units -# Same as normal, except it can advance to Dark Adept SotA, too +# Same as normal, except it can advance to SotA Dark Adept, too [unit_type] id=SotA Ruffian [base_unit] id=Ruffian [/base_unit] - advances_to=Footpad,Thug,Dark Adept SotA + advances_to=Footpad,Thug,SotA Dark Adept hide_help=yes do_not_list=yes [/unit_type] diff --git a/data/campaigns/Secrets_of_the_Ancients/utils/sota-utils.cfg b/data/campaigns/Secrets_of_the_Ancients/utils/sota-utils.cfg index f696a90cf5fe..b59c2f3f7b1b 100644 --- a/data/campaigns/Secrets_of_the_Ancients/utils/sota-utils.cfg +++ b/data/campaigns/Secrets_of_the_Ancients/utils/sota-utils.cfg @@ -6,7 +6,7 @@ team_name=good user_team_name= _ "Ardonna" # This type of Dark Adept cannot eventually advance to a lich. - type=Dark Adept SotA + type=SotA Dark Adept id=Ardonna profile=portraits/ardonna.png gender=female @@ -35,7 +35,7 @@ team_name=good user_team_name= _ "Ras-Tabahn" # This type of Dark Sorcerer cannot advance to a lich. - type=Dark Sorcerer SotA + type=SotA Dark Sorcerer id=Ras-Tabahn name= _ "Ras-Tabahn" canrecruit=yes @@ -53,7 +53,7 @@ team_name=good user_team_name= _ "Ardryn-Na" # This type of Dark Adept cannot eventually advance to a lich. - type=Dark Adept SotA + type=SotA Dark Adept id=Ardonna profile=portraits/ardonna.png gender=female @@ -243,7 +243,7 @@ name=die [filter] id=Shynal - type=Lich SotA, Ancient Lich SotA, Lich, Ancient Lich + type=SotA Lich, SotA Ancient Lich, Lich, Ancient Lich [/filter] [if] [have_unit] @@ -331,14 +331,14 @@ [switch] variable=Ardonna_stored.type [case] - value=Necromancer SotA + value=SotA Necromancer [set_variable] name=Ardonna_stored.profile value="portraits/humans/necromancer+female.png" [/set_variable] [/case] [case] - value=Lich SotA, Ancient Lich SotA + value=SotA Lich, SotA Ancient Lich [set_variable] name=Ardonna_stored.profile value="portraits/ardonna-lich.png" @@ -399,14 +399,14 @@ [switch] variable=Shynal_stored.type [case] - value=Dark Adept SotA, Dark Adept, Dark Sorcerer SotA, Dark Sorcerer + value=SotA Dark Adept, Dark Adept, SotA Dark Sorcerer, Dark Sorcerer [set_variable] name=Shynal_stored.profile value="portraits/shynal-adept.png" [/set_variable] [/case] [case] - value=Necromancer SotA, Necromancer + value=SotA Necromancer, Necromancer [set_variable] name=Shynal_stored.profile value="portraits/humans/necromancer+female.png" @@ -446,7 +446,7 @@ [if] # The dialog is different if one of the kids is already a Dark something. [have_unit] - type=Dark Adept SotA, Dark Sorcerer SotA, Necromancer SotA, Dark Adept, Dark Sorcerer, Necromancer + type=SotA Dark Adept, SotA Dark Sorcerer, SotA Necromancer, Dark Adept, Dark Sorcerer, Necromancer [and] id=Shynal [or] @@ -481,7 +481,7 @@ [option] message= _ "I have reconsidered. Perhaps you will be very powerful one day." [command] - {ADVANCE_UNIT (id=$unit.id) (Dark Adept SotA)} + {ADVANCE_UNIT (id=$unit.id) (SotA Dark Adept)} [modify_unit] [filter] id=$unit.id @@ -522,7 +522,7 @@ [option] message= _ "Very well. Having more adepts might be a good idea after all." [command] - {ADVANCE_UNIT (id=$unit.id) (Dark Adept SotA)} + {ADVANCE_UNIT (id=$unit.id) (SotA Dark Adept)} [modify_unit] [filter] id=$unit.id @@ -829,7 +829,7 @@ [then] [set_variable] name=lich_type - value=Lich SotA + value=SotA Lich [/set_variable] [/then] [else] @@ -1076,3 +1076,29 @@ [/lua] [/event] #enddef + +# After Ardonna learns how to turn into a Lich, that option becomes available to all Dark +# Sorcerers. This event will be added to scenarios after that point. +#define ALLOW_LICHES + [event] + name=unit_placed, post_advance + first_time_only=no + [filter] + type=SotA Dark Sorcerer + [/filter] + [object] + duration=forever + silent=yes + [effect] + [filter] + level=2 + [/filter] + apply_to=new_advancement + # It's pretty easy for a unit to end up with multiple Liches in the + # level-up options unless we use replace=yes. + replace=yes + types=SotA Necromancer, Lich + [/effect] + [/object] + [/event] +#enddef