diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index d00acddecf2..51820eaf5f4 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -58,6 +58,7 @@ // if(!traitors.len) // return 0 + ..() return 1 diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index d8f4a7a3850..74a9ac9b217 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -51,7 +51,7 @@ var/list/blob_nodes = list() if(!infected_crew.len) return 0 - + ..() return 1 /datum/game_mode/blob/proc/get_blob_candidates() diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 805db2be393..2793198681c 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -55,6 +55,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" changeling.restricted_roles = restricted_jobs modePlayer += changelings changeling.special_role = SPECIAL_ROLE_CHANGELING + ..() return 1 else return 0 diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 6a92052eed5..30066bb6bc9 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -99,6 +99,7 @@ var/global/list/all_cults = list() cult += cultist cultist.restricted_roles = restricted_jobs cultist.special_role = SPECIAL_ROLE_CULTIST + ..() return (cult.len>0) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index edf0912c4d6..cbbe5590475 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -7,6 +7,7 @@ force = 30 throwforce = 10 sharp = 1 + edge = 1 hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") diff --git a/code/game/gamemodes/cult/cult_objectives.dm b/code/game/gamemodes/cult/cult_objectives.dm index a84a83be688..3449e4a1c95 100644 --- a/code/game/gamemodes/cult/cult_objectives.dm +++ b/code/game/gamemodes/cult/cult_objectives.dm @@ -192,9 +192,6 @@ if(total < 15) message_admins("There are [total] players, too little for the mass convert objective!") log_admin("There are [total] players, too little for the mass convert objective!") - else if(total > 50) - message_admins("There are [total] players, too many for the mass convert objective!") - log_admin("There are [total] players, too many for the mass convert objective!") else possible_objectives |= "convert" convert_target = round(total / 2) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index da0cdc79e94..25d36079625 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -36,7 +36,10 @@ canbypass = 1 /obj/item/weapon/tome/New() - icon_state = ticker.mode.cultdat.tome_icon + if(!ticker) + icon_state = "tome" + else + icon_state = ticker.mode.cultdat.tome_icon ..() /obj/item/weapon/tome/examine(mob/user) @@ -151,7 +154,7 @@ text += "Talisman of Stunning
Attacking a target will knock them down for a long duration in addition to inhibiting their speech. \ Robotic lifeforms will suffer the effects of a heavy electromagnetic pulse instead.

" - text += "Talisman of Armaments
The Talisman of Arming will equip the user with armored robes, a backpack, an eldritch longsword, an empowered bola, and a pair of boots. Any items that cannot \ + text += "Talisman of Armaments
The Talisman of Arming will equip the user with armored robes, a backpack, an eldritch longsword, an empowered bola. Any items that cannot \ be equipped will not be summoned. Attacking a fellow cultist with it will instead equip them.

" text += "Talisman of Horrors
The Talisman of Horror must be applied directly to the victim, it will shatter your victim's mind with visions of the endtimes that may incapitate them.

" @@ -194,10 +197,9 @@ return 1 /obj/item/weapon/tome/proc/finale_runes_ok(mob/living/user, obj/effect/rune/rune_to_scribe) - - if(ticker.mode.name == "cult") - if(!canbypass == 1)//not an admin-tome, check things - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = ticker.mode + if(GAMEMODE_IS_CULT) + if(!canbypass)//not an admin-tome, check things if(!cult_mode.narsie_condition_cleared) to_chat(user, "There is still more to do before unleashing [cult_mode.cultdat.entity_name] power!") return 0 @@ -210,20 +212,19 @@ if(!(CULT_ELDERGOD in cult_mode.objectives) || !(CULT_SLAUGHTER in cult_mode.objectives)) to_chat(user, "[cult_mode.cultdat.entity_name]'s power does not wish to be unleashed!") return 0 - var/confirm_final = alert(user, "This is the FINAL step to summon your dietys power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for Nar-Sie!", "No") - if(confirm_final == "No") - to_chat(user, "You decide to prepare further before scribing the rune.") - return - else - return 1 + var/confirm_final = alert(user, "This is the FINAL step to summon your dietys power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [cult_mode.cultdat.entity_name]!", "No") + if(confirm_final == "No" || confirm_final == null) + to_chat(user, "You decide to prepare further before scribing the rune.") + return 0 + else + return 1 else//the game mode is not cult..but we ARE a cultist...ALL ON THE ADMINBUS - if(!canbypass == 1)//not an admin-tome, check things - var/confirm_final = alert(user, "This is the FINAL step to summon your dietys power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for Nar-Sie!", "No") - if(confirm_final == "No") - to_chat(user, "You decide to prepare further before scribing the rune.") - return 0 - else - return 1 + var/confirm_final = alert(user, "This is the FINAL step to summon your dietys power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [cult_mode.cultdat.entity_name]!", "No") + if(confirm_final == "No" || confirm_final == null) + to_chat(user, "You decide to prepare further before scribing the rune.") + return 0 + else + return 1 /obj/item/weapon/tome/proc/scribe_rune(mob/living/user) var/turf/runeturf = get_turf(user) @@ -273,6 +274,8 @@ N.icon_state = "shield-cult" N.health = 60 shields |= N + else + return//don't do shit var/mob/living/carbon/human/H = user var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 63baec609b7..30661ce3c3f 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -324,6 +324,7 @@ var/list/teleport_runes = list() /obj/effect/rune/convert/invoke(var/list/invokers) var/list/convertees = list() var/turf/T = get_turf(src) + for(var/mob/living/M in T.contents) if(!iscultist(M) && !isloyal(M)) convertees.Add(M) @@ -341,6 +342,7 @@ var/list/teleport_runes = list() log_game("Convert rune failed - convertee could not be converted") return ..() + new_cultist.visible_message("[new_cultist] writhes in pain as the markings below them glow a bloody red!", \ "AAAAAAAAAAAAAA-") ticker.mode.add_cultist(new_cultist.mind, 1) @@ -473,48 +475,47 @@ var/list/teleport_runes = list() if(used) return var/mob/living/user = invokers[1] - if(istype(ticker.mode.name, "cult")) - var/datum/game_mode/cult/cult_mode = ticker.mode - if(!is_station_level(user.z)) - message_admins("[key_name_admin(user)] tried to summon Nar-Sie off station") - for(var/M in invokers) - var/mob/living/L = M - to_chat(L, "\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"") - if(L.reagents) - L.reagents.add_reagent("hell_water", 10) - L.Weaken(7) - L.Stun(7) - fail_invoke() - log_game("Summon Nar-Sie rune failed - off station Z level") - return - if(!cult_mode.eldergod) - for(var/M in invokers) - to_chat(M, "[ticker.mode.cultdat.entity_name] is already on this plane!") - log_game("Summon Nar-Sie rune failed - already summoned") - return - //BEGIN THE SUMMONING - used = 1 - color = rgb(255, 0, 0) - ..() - world << 'sound/effects/dimensional_rend.ogg' - to_chat(world, "The veil... is... TORN!!!--") - icon_state = "rune_large_distorted" - var/turf/T = get_turf(src) - sleep(40) - new /obj/singularity/narsie/large(T) //Causes Nar-Sie to spawn even if the rune has been removed - cult_mode.eldergod = 0 + var/datum/game_mode/cult/cult_mode = ticker.mode + if(!is_station_level(user.z)) + message_admins("[key_name_admin(user)] tried to summon an eldritch horror off station") + for(var/M in invokers) + var/mob/living/L = M + to_chat(L, "\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"") + if(L.reagents) + L.reagents.add_reagent("hell_water", 10) + L.Weaken(7) + L.Stun(7) + fail_invoke() + log_game("Summon Nar-Sie rune failed - off station Z level") + return + if(!cult_mode.eldergod) + for(var/M in invokers) + to_chat(M, "[ticker.mode.cultdat.entity_name] is already on this plane!") + log_game("Summon god rune failed - already summoned") + return + //BEGIN THE SUMMONING + used = 1 + color = rgb(255, 0, 0) + ..() + world << 'sound/effects/dimensional_rend.ogg' + to_chat(world, "The veil... is... TORN!!!--") + icon_state = "rune_large_distorted" + var/turf/T = get_turf(src) + sleep(40) + new /obj/singularity/narsie/large(T) //Causes Nar-Sie to spawn even if the rune has been removed + cult_mode.eldergod = 0 /obj/effect/rune/narsie/attackby(obj/I, mob/user, params) //Since the narsie rune takes a long time to make, add logging to removal. if((istype(I, /obj/item/weapon/tome) && iscultist(user))) user.visible_message("[user.name] begins erasing the [src]...", "You begin erasing the [src]...") if(do_after(user, 50, target = src)) //Prevents accidental erasures. - log_game("Summon Narsie rune erased by [key_name(user)] with a tome") + log_game("Summon Narsie rune erased by [user.mind.key] (ckey) with a tome") message_admins("[key_name_admin(user)] erased a Narsie rune with a tome") ..() return else if(istype(I, /obj/item/weapon/nullrod)) //Begone foul magiks. You cannot hinder me. - log_game("Summon Narsie rune erased by [key_name(user)] using a null rod") + log_game("Summon Narsie rune erased by [user.mind.key] (ckey) using a null rod") message_admins("[key_name_admin(user)] erased a Narsie rune with a null rod") ..() return @@ -546,13 +547,13 @@ var/list/teleport_runes = list() if((istype(I, /obj/item/weapon/tome) && iscultist(user))) user.visible_message("[user.name] begins erasing the [src]...", "You begin erasing the [src]...") if(do_after(user, 50, target = src)) //Prevents accidental erasures. - log_game("Summon demon rune erased by [key_name(user)] with a tome") + log_game("Summon demon rune erased by [user.mind.key] (ckey) with a tome") message_admins("[key_name_admin(user)] erased a demon rune with a tome") ..() return else if(istype(I, /obj/item/weapon/nullrod)) //Begone foul magiks. You cannot hinder me. - log_game("Summon demon rune erased by [key_name(user)] using a null rod") + log_game("Summon demon rune erased by [user.mind.key] (ckey) using a null rod") message_admins("[key_name_admin(user)] erased a demon rune with a null rod") ..() return @@ -562,56 +563,55 @@ var/list/teleport_runes = list() if(used) return var/mob/living/user = invokers[1] - if(istype(ticker.mode.name, "cult")) - var/datum/game_mode/cult/cult_mode = ticker.mode - if(!(CULT_SLAUGHTER in cult_mode.objectives)) - message_admins("[key_name_admin(user)] tried to summon demons when the objective was wrong") - for(var/M in invokers) - var/mob/living/L = M - to_chat(L, "\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"") - if(L.reagents) - L.reagents.add_reagent("hell_water", 10) - L.Weaken(7) - L.Stun(7) - fail_invoke() - log_game("Summon Demons rune failed - improper objective") + var/datum/game_mode/cult/cult_mode = ticker.mode + if(!(CULT_SLAUGHTER in cult_mode.objectives)) + message_admins("[usr.real_name]([user.ckey]) tried to summon demons when the objective was wrong") + for(var/M in invokers) + var/mob/living/L = M + to_chat(L, "\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"") + if(L.reagents) + L.reagents.add_reagent("hell_water", 10) + L.Weaken(7) + L.Stun(7) + fail_invoke() + log_game("Summon Demons rune failed - improper objective") + return + if(!is_station_level(user.z)) + message_admins("[user.real_name]([user.ckey]) tried to summon demons off station") + for(var/M in invokers) + var/mob/living/L = M + to_chat(L, "\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"") + if(L.reagents) + L.reagents.add_reagent("hell_water", 10) + L.Weaken(7) + L.Stun(7) + fail_invoke() + log_game("Summon demons rune failed - off station Z level") + return + if(cult_mode.demons_summoned) + for(var/M in invokers) + to_chat(M, "Demons are already on this plane!") + log_game("Summon Demons rune failed - already summoned") return - if(!is_station_level(user.z)) - message_admins("[key_name_admin(user)] tried to summon demons off station") - for(var/M in invokers) - var/mob/living/L = M - to_chat(L, "\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"") - if(L.reagents) - L.reagents.add_reagent("hell_water", 10) - L.Weaken(7) - L.Stun(7) - fail_invoke() - log_game("Summon demons rune failed - off station Z level") - return - if(cult_mode.demons_summoned) - for(var/M in invokers) - to_chat(M, "Demons are already on this plane!") - log_game("Summon Demons rune failed - already summoned") - return - //BEGIN THE SLAUGHTER - used = 1 - for(var/mob/living/M in range(1,src)) - if(iscultist(M)) - M.say("TOK-LYR RQA-NAP SHA-NEX!!") - world << 'sound/effects/dimensional_rend.ogg' - to_chat(world, "A hellish cacaphony bombards from all around as something awful tears through the world...") - icon_state = "rune_large_distorted" - sleep(55) - to_chat(world, "\"LIBREATE TE EX INFERIS!\"")//Fethas note:I COULDN'T HELP IT OKAY?! - visible_message("[src] melts away into blood, and three horrific figures emerge from within!") - var/turf/T = get_turf(src) - new /mob/living/simple_animal/slaughter/cult(T) - new /mob/living/simple_animal/slaughter/cult(T, pick(NORTH, EAST, SOUTH, WEST)) - new /mob/living/simple_animal/slaughter/cult(T, pick(NORTHEAST, SOUTHEAST, NORTHWEST, SOUTHWEST)) - cult_mode.demons_summoned = 1 - shuttle_master.emergency.request(null, 0.5,null) - cult_mode.third_phase() - qdel(src) + //BEGIN THE SLAUGHTER + used = 1 + for(var/mob/living/M in range(1,src)) + if(iscultist(M)) + M.say("TOK-LYR RQA-NAP SHA-NEX!!") + world << 'sound/effects/dimensional_rend.ogg' + to_chat(world, "A hellish cacaphony bombards from all around as something awful tears through the world...") + icon_state = "rune_large_distorted" + sleep(55) + to_chat(world, "\"LIBREATE TE EX INFERIS!\"")//Fethas note:I COULDN'T HELP IT OKAY?! + visible_message("[src] melts away into blood, and three horrific figures emerge from within!") + var/turf/T = get_turf(src) + new /mob/living/simple_animal/slaughter/cult(T) + new /mob/living/simple_animal/slaughter/cult(T, pick(NORTH, EAST, SOUTH, WEST)) + new /mob/living/simple_animal/slaughter/cult(T, pick(NORTHEAST, SOUTHEAST, NORTHWEST, SOUTHWEST)) + cult_mode.demons_summoned = 1 + shuttle_master.emergency.request(null, 0.5,null) + cult_mode.third_phase() + qdel(src) //Rite of Resurrection: Requires two corpses. Revives one and gibs the other. diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 1d0ac22c81c..1b7d1bee5a9 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -272,15 +272,14 @@ "You speak the words of the talisman, arming yourself!") H.equip_or_collect(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit) H.equip_or_collect(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back) - H.drop_item() H.put_in_hands(new /obj/item/weapon/melee/cultblade(user)) H.put_in_hands(new /obj/item/weapon/restraints/legcuffs/bola/cult(user)) /obj/item/weapon/paper/talisman/armor/attack(mob/living/target, mob/living/user) if(iscultist(user) && iscultist(target)) user.drop_item() - invoke(target) qdel(src) + invoke(target) return ..() diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index c52b54e6f7b..4893aa9395e 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -46,7 +46,6 @@ ///Checks to see if the game can be setup and ran with the current number of players or whatnot. /datum/game_mode/proc/can_start() var/playerC = 0 - cultdat = setupcult() for(var/mob/new_player/player in player_list) if((player.client)&&(player.ready)) playerC++ @@ -63,6 +62,7 @@ ///pre_setup() ///Attempts to select players for special roles the mode might have. /datum/game_mode/proc/pre_setup() + cultdat = setupcult() return 1 diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index 70207a75598..4819ab20671 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -53,6 +53,7 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind' for(var/datum/mind/raider in raiders) raider.assigned_role = "MODE" raider.special_role = SPECIAL_ROLE_RAIDER + ..() return 1 /datum/game_mode/heist/pre_setup() diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm index 32e4b081e94..dd0abda7e31 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction.dm @@ -42,7 +42,7 @@ for(var/i=1,i<=abductor_teams,i++) if(!make_abductor_team(i)) return 0 - + ..() return 1 /datum/game_mode/abduction/proc/make_abductor_team(team_number,preset_agent=null,preset_scientist=null) @@ -134,7 +134,7 @@ equip_scientist(H,team_number) greet_scientist(scientist,team_number) update_abductor_icons_added(scientist) - + return ..() //Used for create antag buttons @@ -341,7 +341,7 @@ else return 0 return 0 - + /datum/game_mode/proc/remove_abductor(datum/mind/abductor_mind) if(abductor_mind in abductors) ticker.mode.abductors -= abductor_mind @@ -351,7 +351,7 @@ to_chat(abductor_mind.current, "You have been turned into a robot! You are no longer an abductor.") else to_chat(abductor_mind.current, "You have been brainwashed! You are no longer an abductor.") - ticker.mode.update_abductor_icons_added(abductor_mind) + ticker.mode.update_abductor_icons_added(abductor_mind) /datum/game_mode/proc/update_abductor_icons_added(datum/mind/alien_mind) var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_ABDUCTOR] diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 13219b46e10..aff2ff5ccb6 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -55,6 +55,7 @@ proc/issyndicate(mob/living/M as mob) /datum/game_mode/nuclear/pre_setup() + ..() return 1 /datum/game_mode/proc/remove_operative(datum/mind/operative_mind) @@ -68,8 +69,8 @@ proc/issyndicate(mob/living/M as mob) to_chat(operative_mind.current, "You have been turned into a robot! You are no longer a Syndicate operative.") else to_chat(operative_mind.current, "You have been brainwashed! You are no longer a Syndicate operative.") - ticker.mode.update_synd_icons_removed(operative_mind) - + ticker.mode.update_synd_icons_removed(operative_mind) + //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// @@ -161,8 +162,8 @@ proc/issyndicate(mob/living/M as mob) head_organ.b_hair = color2B(hair_c) M.change_eye_color(color2R(eye_c), color2G(eye_c), color2B(eye_c)) M.s_tone = skin_tone - head_organ.h_style = random_hair_style(M.gender, head_organ.species.name) - head_organ.f_style = random_facial_hair_style(M.gender, head_organ.species.name) + head_organ.h_style = random_hair_style(M.gender, head_organ.species.name) + head_organ.f_style = random_facial_hair_style(M.gender, head_organ.species.name) M.body_accessory = null M.regenerate_icons() M.update_body() diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm index bf8a106109a..bf9b481de3c 100644 --- a/code/game/gamemodes/shadowling/shadowling.dm +++ b/code/game/gamemodes/shadowling/shadowling.dm @@ -97,6 +97,7 @@ Made by Xhuis shadow.special_role = SPECIAL_ROLE_SHADOWLING shadow.restricted_roles = restricted_jobs shadowlings-- + ..() return 1 diff --git a/code/game/gamemodes/vampire/traitor_vamp.dm b/code/game/gamemodes/vampire/traitor_vamp.dm index 068ad772b66..b06db47f02c 100644 --- a/code/game/gamemodes/vampire/traitor_vamp.dm +++ b/code/game/gamemodes/vampire/traitor_vamp.dm @@ -32,7 +32,8 @@ slaved.masters += vampire vampire.som = slaved //we MIGT want to mindslave someone vampire.restricted_roles = restricted_jobs - return ..() + ..() + return 1 else return 0 diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 46bba1522dd..b9e07827474 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -59,6 +59,7 @@ slaved.masters += vampire vampire.som = slaved //we MIGT want to mindslave someone vampire.special_role = SPECIAL_ROLE_VAMPIRE + ..() return 1 else return 0 diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index a38e7dc5541..141a19a6d90 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -38,7 +38,7 @@ /datum/game_mode/wizard/pre_setup() for(var/datum/mind/wiz in wizards) wiz.current.loc = pick(wizardstart) - + ..() return 1 @@ -54,7 +54,7 @@ update_wiz_icons_added(wizard) ..() - + /datum/game_mode/proc/remove_wizard(datum/mind/wizard_mind) if(wizard_mind in wizards) ticker.mode.wizards -= wizard_mind @@ -66,8 +66,8 @@ to_chat(wizard_mind.current, "You have been turned into a robot! You can feel your magical powers fading away...") else to_chat(wizard_mind.current, "You have been brainwashed! You are no longer a wizard.") - ticker.mode.update_wiz_icons_removed(wizard_mind) - + ticker.mode.update_wiz_icons_removed(wizard_mind) + /datum/game_mode/proc/update_wiz_icons_added(datum/mind/wiz_mind) var/datum/atom_hud/antag/wizhud = huds[ANTAG_HUD_WIZ] wizhud.join_hud(wiz_mind.current) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 0e0067eafe9..2a29e23db73 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -390,6 +390,12 @@ go_out() ..(severity) +/obj/machinery/sleeper/narsie_act() + go_out() + new /obj/effect/gibspawner/generic(get_turf(loc)) //I REPLACE YOUR TECHNOLOGY WITH FLESH! + qdel(src) + + // ??? // This looks cool, although mildly broken, should it be included again? /obj/machinery/sleeper/alter_health(mob/living/M as mob) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 538e389c083..f7b793b6033 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -193,6 +193,11 @@ A.blob_act() qdel(src) +/obj/machinery/bodyscanner/narsie_act() + go_out() + new /obj/effect/gibspawner/generic(get_turf(loc)) //I REPLACE YOUR TECHNOLOGY WITH FLESH! + qdel(src) + /obj/machinery/bodyscanner/attack_animal(var/mob/living/simple_animal/M)//Stop putting hostile mobs in things guise if(M.environment_smash) M.do_attack_animation(src) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 0b078a74ec8..de5d69c2bbc 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -451,6 +451,12 @@ add_fingerprint(usr) return +/obj/machinery/atmospherics/unary/cryo_cell/narsie_act() + go_out() + new /obj/effect/gibspawner/generic(get_turf(loc)) //I REPLACE YOUR TECHNOLOGY WITH FLESH! + color = "red"//force the icon to red + light_color = LIGHT_COLOR_RED + /obj/machinery/atmospherics/unary/cryo_cell/verb/move_inside() set name = "Move Inside" set category = "Object" diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index ac88d755561..343841b639c 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -92,6 +92,12 @@ A.blob_act() qdel(src) +/obj/machinery/recharge_station/narsie_act() + go_out() + new /obj/effect/gibspawner/generic(get_turf(loc)) //I REPLACE YOUR TECHNOLOGY WITH FLESH! + qdel(src) + + /obj/machinery/recharge_station/attack_animal(var/mob/living/simple_animal/M)//Stop putting hostile mobs in things guise if(M.environment_smash) M.do_attack_animation(src) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index fa16d85a626..26344ec96f1 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -24,7 +24,7 @@ var/global/list/image/splatter_cache=list() /obj/effect/decal/cleanable/blood/New() ..() update_icon() - if(ticker && ticker.mode && istype(ticker.mode.name, "cult")) + if(GAMEMODE_IS_CULT) var/datum/game_mode/cult/mode_ticker = ticker.mode var/turf/T = get_turf(src) if(T && (is_station_level(T.z)))//F I V E T I L E S @@ -45,7 +45,7 @@ var/global/list/image/splatter_cache=list() dry() /obj/effect/decal/cleanable/blood/Destroy() - if(ticker.mode && istype(ticker.mode.name, "cult")) + if(GAMEMODE_IS_CULT) var/datum/game_mode/cult/mode_ticker = ticker.mode var/turf/T = get_turf(src) if(T && (is_station_level(T.z))) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 43782f8b2ce..03b1d07b85b 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -123,6 +123,8 @@ /obj/singularity/narsie/proc/acquire(var/mob/food) + if(food == target) + return to_chat(target, "[uppertext(ticker.mode.cultdat.entity_name)] HAS LOST INTEREST IN YOU") target = food if(ishuman(target)) diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 4a3a484a14f..48d76f691aa 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/paradise.dme b/paradise.dme index b0417dc5ee5..0f96de59c40 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1613,7 +1613,6 @@ #include "code\modules\mob\living\silicon\robot\robot_damage.dm" #include "code\modules\mob\living\silicon\robot\robot_items.dm" #include "code\modules\mob\living\silicon\robot\robot_modules.dm" -#include "code\modules\mob\living\silicon\robot\robot_module_actions.dm" #include "code\modules\mob\living\silicon\robot\robot_movement.dm" #include "code\modules\mob\living\silicon\robot\update_status.dm" #include "code\modules\mob\living\silicon\robot\drone\drone.dm"