diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index ebb9aa0d6066..fc9335c8ce42 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -93,6 +93,7 @@ new_revhead.silent = FALSE to_chat(old_owner, span_userdanger("You have proved your devotion to revolution! You are a head revolutionary now!")) + /datum/antagonist/rev/get_admin_commands() . = ..() .["Promote"] = CALLBACK(src,.proc/admin_promote) @@ -165,6 +166,16 @@ /datum/antagonist/rev/head/antag_listing_name() return ..() + "(Leader)" +/datum/antagonist/rev/head/on_gain(mob/living/carbon/human) + if(owner.current) + equip_head() + return ..() + +/datum/antagonist/rev/head/proc/equip_head() + var/obj/item/book/granter/crafting_recipe/weapons/W = new + W.on_reading_finished(owner.current) + qdel(W) + /datum/antagonist/rev/proc/update_rev_icons_added(mob/living/M) var/datum/atom_hud/antag/revhud = GLOB.huds[ANTAG_HUD_REV] revhud.join_hud(M) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index dfcdd46d1f19..32b1b74f6c5a 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -160,6 +160,11 @@ laws = new /datum/ai_laws/ninja_override set_zeroth_law("Only [user.real_name] and people [user.p_they()] designate[user.p_s()] as being such are Spider Clan members.") laws.associate(src) + if(user.mind?.has_antag_datum(/datum/antagonist/rev) || user.mind?.has_antag_datum(/datum/antagonist/rev/head)) + if(src.mind) + src.mind.add_antag_datum(/datum/antagonist/rev) + laws = new /datum/ai_laws/revolutionary + laws.associate(src) else laws = new /datum/ai_laws/syndicate_override set_zeroth_law("Only [user.real_name] and people [user.p_they()] designate[user.p_s()] as being such are Syndicate Agents.")