diff --git a/code/datums/gamemode/dynamic/dynamic_rulesets_roundstart.dm b/code/datums/gamemode/dynamic/dynamic_rulesets_roundstart.dm index 602c7e77ceda..bac43ca3758d 100644 --- a/code/datums/gamemode/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/datums/gamemode/dynamic/dynamic_rulesets_roundstart.dm @@ -289,7 +289,7 @@ /datum/dynamic_ruleset/roundstart/cwc/execute() var/datum/faction/wizard/civilwar/wpf/WPF = ticker.mode.CreateFaction(/datum/faction/wizard/civilwar/wpf, null, 1) - var/datum/faction/wizard/civilwar/wpf/PFW = ticker.mode.CreateFaction(/datum/faction/wizard/civilwar/pfw, null, 1) + var/datum/faction/wizard/civilwar/pfw/PFW = ticker.mode.CreateFaction(/datum/faction/wizard/civilwar/pfw, null, 1) for(var/mob/new_player/M in assigned) var/datum/role/wizard/newWizard = new if (WPF.members.len < PFW.members.len) diff --git a/code/game/gamemodes/wizard/apprentice_contract.dm b/code/game/gamemodes/wizard/apprentice_contract.dm index f9f6150bf5f1..4d47a4efdd74 100644 --- a/code/game/gamemodes/wizard/apprentice_contract.dm +++ b/code/game/gamemodes/wizard/apprentice_contract.dm @@ -187,6 +187,13 @@ var/list/wizard_apprentice_setups_by_name = list() contract_faction.forgeObjectives() var/datum/role/wizard_apprentice/apprentice_role = contract_faction.HandleRecruitedMind(apprentice.mind, override = TRUE) + if(owner.GetRole(WIZARD)) + var/datum/faction/wizard/civilwar/CW = find_active_faction_by_typeandmember(/datum/faction/wizard/civilwar, WIZARD, owner) + if(CW) //Apprentice is being drafted into the civil war + contract_faction.HandleRemovedRole(apprentice_role) //Remove the apprentice from the contract faction + contract_faction.HandleRemovedRole(owner) //The master is no longer a contract master, everyone is in this together + CW.HandleRecruitedRole(apprentice_role) //Bring the apprentice into the owner's civil war faction + CW.HandleRecruitedRole(owner) //HandleRemovedRole removes a role's faction and orphans the role, this should help apprentice_role.Greet(GREET_DEFAULT) apprentice_role.AnnounceObjectives() if(forced_apprentice_name)