diff --git a/code/game/gamemodes/antag_hud.dm b/code/game/gamemodes/antag_hud.dm index 172c2c1e54c..c9ce69dabf0 100644 --- a/code/game/gamemodes/antag_hud.dm +++ b/code/game/gamemodes/antag_hud.dm @@ -10,8 +10,6 @@ CRASH("join_hud(): [M] ([M.type]) is not a mob!") if(M.mind.antag_hud && !slave) //note: please let this runtime if a mob has no mind, as mindless mobs shouldn't be getting antagged M.mind.antag_hud.leave_hud(M) - if(!ismask(M))//FUCK YOU MASK OF NARNAR! - add_to_hud(M) if(self_visible) add_hud_to(M) M.mind.antag_hud = src diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 07ead9ebd6d..e9e053cdb15 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -131,8 +131,6 @@ to_chat(mob, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.") mob.mutations.Remove(CLUMSY) - add_cult_viewpoint(mob) // give them a viewpoint - var/obj/item/weapon/paper/talisman/supply/T = new(mob) var/list/slots = list ( "backpack" = slot_in_backpack, @@ -167,21 +165,11 @@ to_chat(cult_mob, "\red [pick("You remember something from the dark teachings of your master","You hear a dark voice on the wind","Black blood oozes into your vision and forms into symbols","You have a vision of a [pick("crow","raven","vulture","parrot")] it squawks","You catch a brief glimmer of the otherside")]... [wordexp]") cult_mob.mind.store_memory("You remember that [wordexp]", 0, 0) - -/datum/game_mode/proc/add_cult_viewpoint(var/mob/target) - for(var/obj/cult_viewpoint/viewpoint in target) - return - var/obj/cult_viewpoint/viewpoint = new(target) - viewpoint.loc = target - return viewpoint - - /datum/game_mode/proc/add_cultist(datum/mind/cult_mind) //BASE if (!istype(cult_mind)) return 0 if(!(cult_mind in cult) && is_convertable_to_cult(cult_mind)) cult += cult_mind - add_cult_viewpoint(cult_mind.current) update_cult_icons_added(cult_mind) cult_mind.current.attack_log += "\[[time_stamp()]\] Has been converted to the cult!" if(jobban_isbanned(cult_mind.current, ROLE_CULTIST)) @@ -201,9 +189,6 @@ to_chat(cult_mind.current, "\red An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.") cult_mind.memory = "" cult_mind.special_role = null - // remove the cult viewpoint object - var/obj/viewpoint = getCultViewpoint(cult_mind.current) - qdel(viewpoint) update_cult_icons_removed(cult_mind) if(show_message) @@ -211,27 +196,7 @@ to_chat(M, "[cult_mind.current] looks like they just reverted to their old faith!") -/datum/game_mode/proc/add_cult_icon_to_spirit(mob/spirit/currentSpirit) - if(!istype(currentSpirit)) - return FALSE - if (currentSpirit.client) - var/datum/atom_hud/antag/maskhud = huds[ANTAG_HUD_CULT] - maskhud.join_hud(currentSpirit) - set_antag_hud(currentSpirit,"hudcultist") - - -/datum/game_mode/proc/remove_cult_icon_from_spirit(mob/spirit/currentSpirit) - if(!istype(currentSpirit)) - return FALSE - if (currentSpirit.client) - var/datum/atom_hud/antag/maskhud = huds[ANTAG_HUD_CULT] - maskhud.leave_hud(currentSpirit) - set_antag_hud(currentSpirit, null) - - /datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind) - for(var/mob/spirit/currentSpirit in spirits) - add_cult_icon_to_spirit(currentSpirit,cult_mind) var/datum/atom_hud/antag/culthud = huds[ANTAG_HUD_CULT] culthud.join_hud(cult_mind.current) @@ -240,9 +205,6 @@ /datum/game_mode/proc/update_cult_icons_removed(datum/mind/cult_mind) - for(var/mob/spirit/currentSpirit in spirits) - remove_cult_icon_from_spirit(currentSpirit,cult_mind) - var/datum/atom_hud/antag/culthud = huds[ANTAG_HUD_CULT] culthud.leave_hud(cult_mind.current) set_antag_hud(cult_mind.current, null) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 2e7dd25452a..63bb08de7f9 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -72,10 +72,8 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", blood.override = 1 for(var/mob/living/silicon/ai/AI in player_list) AI.client.images += blood - cult_viewpoints += src /obj/effect/rune/Destroy() - cult_viewpoints -= src return ..() /obj/effect/rune/examine(mob/user) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index c62408eddd5..31af7eed26d 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -541,13 +541,6 @@ var/list/sacrificed = list() return 0 to_chat(F, "[time2text(world.timeofday,"hh:mm")] \ref[usr] ([usr.x],[usr.y],[usr.z]) || [usr] communicates: [input]
") - var/obj/cult_viewpoint/vp = getCultViewpoint(usr) - if (!vp) - return 0 - - var/displayName = vp.get_display_name() - var/cultName = vp.get_cult_name() - if(istype(src,/obj/effect/rune)) usr.say("O bidai nabora se[pick("'","`")]sma!") else @@ -561,14 +554,14 @@ var/list/sacrificed = list() log_say("Cult Message: [key_name(usr)]: [input]") for(var/datum/mind/H in ticker.mode.cult) if (H.current) - to_chat(H.current, "[cultName]: [input]") + to_chat(H.current, "PLACEHOLDER CHANGE ME: [input]") for(var/mob/spirit/spirit in spirits) - to_chat(spirit, "[displayName]: [input]") + to_chat(spirit, "PLACEHOLDER: [input]") for(var/mob/dead/observer/G in player_list) - G.show_message("[displayName] ([cultName]) ([ghost_follow_link(usr, ghost=G)]): [input]") + G.show_message("PLACEHOLDER ([ghost_follow_link(usr, ghost=G)]): [input]") qdel(src) return 1 diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 1f8bbc44587..a4577a355cc 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -249,7 +249,6 @@ if(H.mind in ticker.mode.syndicates) ticker.mode.update_synd_icons_added() if (H.mind in ticker.mode.cult) - ticker.mode.add_cult_viewpoint(H) ticker.mode.add_cultist(occupant.mind) ticker.mode.update_cult_icons_added() //So the icon actually appears if(("\ref[H.mind]" in ticker.mode.implanter) || (H.mind in ticker.mode.implanted)) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 3802c7c7432..f6408b8c533 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -270,9 +270,6 @@ else if(isobserver(M)) M_job = "Ghost" - else if(isSpirit(M)) - M_job = (ismask(M)) ? "Mask" : "Spirit" - M_job = replacetext(M_job, "'", "") M_job = replacetext(M_job, "\"", "") M_job = replacetext(M_job, "\\", "") @@ -360,8 +357,6 @@ dat += "Ghost" else if(isalien(M)) dat += "Alien" - else if(ismask(M)) - dat += "Mask" else if(isSpirit(M)) dat += "Spirit" else diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 7fb6806b5c0..2fad8ab1b9f 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1385,15 +1385,6 @@ log_admin("[key_name(usr)] AIized [key_name(H)]") H.AIize() - - else if(href_list["makemask"]) - if(!check_rights(R_SPAWN)) return - var/mob/currentMob = locate(href_list["makemask"]) - message_admins("\red Admin [key_name_admin(usr)] made [key_name_admin(currentMob)] into a Mask of Nar'Sie!", 1) - log_admin("[key_name(usr)] made [key_name(currentMob)] into a Mask of Nar'Sie!") - currentMob.make_into_mask(0,0) - - else if(href_list["makealien"]) if(!check_rights(R_SPAWN)) return diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 29577af9526..e9199966762 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -169,16 +169,11 @@ proc/isembryo(A) return 1 return 0 -proc/isovermind(A) +/proc/isovermind(A) if(istype(A, /mob/camera/blob)) return 1 return 0 -/proc/ismask(A) - if(istype(A, /mob/spirit/mask)) - return 1 - return 0 - /proc/isAutoAnnouncer(A) if(istype(A, /mob/living/automatedannouncer)) return 1 diff --git a/code/modules/mob/spirit/cultnet.dm b/code/modules/mob/spirit/cultnet.dm deleted file mode 100644 index c3f37f8fdd1..00000000000 --- a/code/modules/mob/spirit/cultnet.dm +++ /dev/null @@ -1,32 +0,0 @@ -/* - -This file contains the code necessary to do the display code for cult spirits. - -It reuses a lot of code from the AIEye cameraNetwork. In order to work properly, some of those files needed to be modified as well. - -*/ - - -/proc/isCultRune(var/viewpoint) - var/obj/effect/rune/test_rune = viewpoint - if (test_rune) - return TRUE - return FALSE - - -/proc/isCultViewpoint(var/viewpoint) - var/obj/cult_viewpoint/vp = viewpoint - if (vp) - return TRUE - return FALSE - -/* -RUNE JUNK -*/ - -/obj/effect/rune/proc/can_use() - return TRUE - -/obj/effect/rune/proc/can_see() - return hear(view_range, get_turf(src)) - diff --git a/code/modules/mob/spirit/mask/mask.dm b/code/modules/mob/spirit/mask/mask.dm deleted file mode 100644 index 8ae366ef16a..00000000000 --- a/code/modules/mob/spirit/mask/mask.dm +++ /dev/null @@ -1,227 +0,0 @@ -/mob/spirit/mask - icon = 'icons/mob/spirits/mask.dmi' - icon_state = "depressurized" - -/mob/spirit/mask/New() - ..() - AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman(src)) - AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/blood_speech(src)) - AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/shatter_lights(src)) - - -/mob/spirit/mask/verb/go_to_follower() - set category = "Mask" - set name = "Go to follower" - set desc = "Select who you would like to go too." - - var/obj/cult_viewpoint/cultist = pick_cultist() - if (cultist) - follow_cultist(cultist.owner) - cult_log("[key_name_admin(src)] started following [key_name_admin(cultist)].") - to_chat(src, "You start following [cultist.get_display_name()].") - - -/mob/spirit/mask/verb/urge_cultist() - set category = "Mask" - set name = "Urge cultist" - set desc = "Push your cultists to do something." - - var/obj/cult_viewpoint/cultist = pick_cultist() - if (cultist) - if (cultist.owner) - var/newUrge = stripped_input(usr, "", "Set Urge", "") - cultist.set_urge(newUrge) - to_chat(src, "You urge [cultist.owner.name] to [newUrge].") - cult_log("controlled by [key_name_admin(src)] has urged [key_name_admin(cultist.owner)] to [newUrge].") - -/mob/spirit/mask/verb/set_cult_name() - set category = "Mask" - set name = "Set Cult Name" - set desc = "Grant a cultist a name." - - var/obj/cult_viewpoint/cultist = pick_cultist() - if (cultist) - var/newName = stripped_input(usr, "", "Set Cult Name", "") - if (!newName) - return - cultist.set_cult_name(newName) - to_chat(src, "You grant [cultist.owner.name] the secret name of [newName].") - if (cultist.owner) - cult_log("[key_name_admin(src)] has set [key_name_admin(cultist.owner)] to \'[newName]\'") - - -/mob/spirit/mask/verb/urge_cult() - set category = "Mask" - set name = "Urge Cult" - set desc = "Set urge on the entire cult." - - var/newUrge = stripped_input(usr, "Please choose an urge.", "Set Urge", "") - for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) - viewpoint.set_urge(newUrge) - to_chat(src, "You urge the entire cult to [newUrge].") - cult_log("[key_name_admin(src)] has urged the entire cult to [newUrge]") - - -/mob/spirit/mask/verb/set_favor_for_cultist() - set category = "Mask" - set name = "Show your favor" - set desc = "Set the favor for a cultist" - - var/obj/cult_viewpoint/cultist = pick_cultist() - if (cultist) - if (cultist.owner) - var/list/favor = list("Pleased", "Displeased", "Indifference") - var/emotion = input("Pick your emotion", "Mask", null, null) in favor - switch(emotion) - if("Pleased") - cultist.set_favor(1) - cult_log("[key_name_admin(src)] is pleased with [key_name_admin(cultist.owner)]") - if("Displeased") - cultist.set_favor(-1) - cult_log("[key_name_admin(src)] is displeased with [key_name_admin(cultist.owner)]") - if("Indifference") - cultist.set_favor(0) - cult_log("[key_name_admin(src)] is indifferent too [key_name_admin(cultist.owner)]") - - -/mob/spirit/mask/proc/set_name() - spawn(0) - var/newName = stripped_input(src, "Please pick a name.", "Pick Name for Mask", "") - name = newName ? newName : "Mask of Nar'sie" - to_chat(src, "You have set your name to [name].") - - -/mob/spirit/mask/proc/pick_cultist() - var/list/cultists = list() - for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) - cultists[viewpoint.get_display_name()]=viewpoint - var/input = input("Please, select a cultist!", "Cult", null, null) as null|anything in cultists - var/obj/cult_viewpoint/result = cultists[input] - return result - - -// this proc makes the mask visible very briefly -/mob/spirit/mask/proc/flicker() - spawn(0) - alpha = 127 - invisibility=0 - sleep(5) - invisibility=initial(invisibility) - alpha = 255 - -/proc/flicker_mask(mob/spirit/mask/target) - if(istype(target)) - target.flicker() - -// SPELLS -/obj/effect/proc_holder/spell/aoe_turf/blood_speech - name = "Speak to your Acolytes" - desc = "This spell allows you to speak to your flock." - school = "unknown evil" - charge_type = "recharge" - charge_max = 2000 - clothes_req = 0 - invocation = "none" - invocation_type = "none" - range = 0 - -/obj/effect/proc_holder/spell/aoe_turf/blood_speech/cast(list/targets) - var/input = stripped_input(usr, "Please choose a message to tell your acolytes.", "Voice of Blood", "") - if(!input) - revert_cast(usr) - cult_log("[key_name_admin(usr)]says : [input]") - flicker_mask(usr) - for(var/datum/mind/H in ticker.mode.cult) - if (H.current) - to_chat(H.current, "[usr.name]: [input]") - for(var/mob/spirit/spirit in spirits) - to_chat(spirit, "[usr.name]: [input]") - - -/obj/effect/proc_holder/spell/aoe_turf/shatter_lights - name = "Spread Shadows" - desc = "This spell breaks lights near the mask." - school = "unknown evil" - charge_type = "recharge" - charge_max = 1000 - clothes_req = 0 - invocation = "none" - invocation_type = "none" - range = 0 - -/obj/effect/proc_holder/spell/aoe_turf/shatter_lights/cast(list/targets) - cult_log("[key_name_admin(usr)] used Spread Shadows.") - flicker_mask(usr) - spawn(0) - for(var/area/A in range(3,get_turf(usr))) - for(var/obj/machinery/light/L in A) - L.on = 1 - L.broken() - sleep(1) - for(var/obj/item/device/flashlight/F in A) - F.on = 0 - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman - name = "Create Talisman" - desc = "This spell conjures a talisman" - - school = "conjuration" - charge_type = "recharge" - charge_max = 3000 - clothes_req = 0 - invocation = "none" - invocation_type = "none" - range = 0 - summon_type = list(/obj/item/weapon/paper/talisman) - - var/list/talismans = list( "Armor"="armor", - "Blind"="blind", - "Conceal"="conceal", - "Communicate"="communicate", - "Deafen"="deafen", - "EMP"="emp", - "Teleport"="teleport", - "Tome"="newtome", - "Reveal Runes", - "Stun"="runestun", - "Soul Stone"="soulstone", - "Construct"="construct") - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman/cast(list/targets) - - var/talisman = input("Pick a talisman type", "Talisman", null, null) as null|anything in talismans - var/imbue_value = talismans[talisman] - if (!talisman) - to_chat(usr, "You choose not to create a talisman.") - revert_cast(usr) - return - - cult_log("[key_name_admin(usr,0)] created a talisman of type [talisman].") - flicker_mask(usr) - - switch(talisman) - - if ("Teleport") - var/target_rune = input("Pick a teleport target", "Teleport Rune", null, null) as null|anything in engwords - if (!target_rune) - to_chat(usr, "You choose not to create a talisman.") - revert_cast(usr) - return - summon_type = list(/obj/item/weapon/paper/talisman) - newVars = list("imbue" = "[target_rune]", "info" = "[target_rune]") - - if ("Soul Stone") - summon_type = list(/obj/item/device/soulstone) - newVars = list() - - if ("Construct") - summon_type = list(/obj/structure/constructshell) - newVars = list() - - else - summon_type = list(/obj/item/weapon/paper/talisman) - newVars = list("imbue" = "[imbue_value]") - - ..() \ No newline at end of file diff --git a/code/modules/mob/spirit/mask/respawn.dm b/code/modules/mob/spirit/mask/respawn.dm deleted file mode 100644 index 60330de917d..00000000000 --- a/code/modules/mob/spirit/mask/respawn.dm +++ /dev/null @@ -1,20 +0,0 @@ -/proc/there_can_be_only_one_mask(var/mob/spirit/mask/target) - if(!istype(target)) - return - for(var/mob/spirit/mask/currentSpirit in spirits) - if(currentSpirit) - if(currentSpirit!=target) - // create the ghost - var/mob/dead/observer/ghost = currentSpirit.ghostize(TRUE) - // let the deposed mask respawn immediately, the poor dear - ghost.timeofdeath = world.time - 20000 - ghost.newPlayerType = /mob/new_player/cultist - // remove old mask body - qdel(currentSpirit) - - -/mob/new_player/cultist/AttemptLateSpawn(rank) - var/mob/newCharacter = ..(rank) - if(ticker.mode) - if(is_convertable_to_cult(newCharacter.mind)) - ticker.mode.add_cultist(newCharacter.mind) \ No newline at end of file diff --git a/code/modules/mob/spirit/movement.dm b/code/modules/mob/spirit/movement.dm index 65a992c1932..c3a780c07ed 100644 --- a/code/modules/mob/spirit/movement.dm +++ b/code/modules/mob/spirit/movement.dm @@ -29,26 +29,6 @@ mob/spirit/proc/Spirit_Move(direct) // if we're trying to move, we want to stop following our target follow_target = null - -/mob/spirit/proc/follow_cultist(mob/living/target as mob) - if(!istype(target)) return - var/obj/cult_viewpoint/currentView = getCultViewpoint(target) - var/mob/spirit/U = usr - - if (!currentView) - to_chat(U, "As a spirit, you may only track cultists.") - - U.follow_target = target - to_chat(U, "Now following [currentView.get_cult_name()].") - - spawn (0) - while (U.follow_target == target) - if (U.follow_target == null) - return - U.setLoc(get_turf(target)) - sleep(10) - - mob/spirit/setLoc(var/T) T = get_turf(T) loc = T diff --git a/code/modules/mob/spirit/spirit.dm b/code/modules/mob/spirit/spirit.dm index a9b10f8224f..12bf5b5a45d 100644 --- a/code/modules/mob/spirit/spirit.dm +++ b/code/modules/mob/spirit/spirit.dm @@ -64,7 +64,5 @@ mob/spirit/Topic(href, href_list) if (href_list["track"]) to_chat(usr, "Got to tracking.") var/mob/target = locate(href_list["track"]) in mob_list - var/mob/spirit/A = locate(href_list["track2"]) in spirits - if(A && target) - A.follow_cultist(target) + var/mob/spirit/A = locate(href_list["track2"]) in spirits//should i keep this or no? return \ No newline at end of file diff --git a/code/modules/mob/spirit/viewpoint.dm b/code/modules/mob/spirit/viewpoint.dm deleted file mode 100644 index 90814317124..00000000000 --- a/code/modules/mob/spirit/viewpoint.dm +++ /dev/null @@ -1,203 +0,0 @@ -#define FAVOR_PLEASED 1 -#define FAVOR_INDIFFERENT 0 -#define FAVOR_DISPLEASED -1 - - -var/obj/cult_viewpoint/list/cult_viewpoints = list() - - -/obj/cult_viewpoint - var/view_range = 7 - var/updating = 0 - var/mob/owner = null - var/urge = "" - var/favor = FAVOR_INDIFFERENT - var/cult_name = null - - -/obj/cult_viewpoint/New(var/mob/target) - owner = target - //src.loc = owner - cult_viewpoints+=src - //handle_missing_mask() - ..() - - -/obj/cult_viewpoint/Destroy() - processing_objects.Remove(src) - cult_viewpoints-=src - return ..() - - -// VERBS -/obj/cult_viewpoint/verb/check_urge() - set category = "Cult" - set desc = "Discover what your god commands of you." - set name = "Check Urge" - set src in usr - if (src.urge) - to_chat(owner, "\red \b You feel the urge to [src.urge]") - else - to_chat(owner, "\b You feel no supernatural compulsions.") - - -/obj/cult_viewpoint/verb/reach_out() - set category = "Cult" - set desc = "Reach out for your gods presence." - set name = "Reach Out" - set src in usr - - for(var/mob/spirit/mask/currentMask in spirits) - if (currentMask.is_active()) - to_chat(owner, "\red \b You feel the reassuring presence of your god.") - to_chat(currentMask, "[get_display_name()] has reached out to you.") - - return - to_chat(owner, "\b You feel a chilling absence.") - handle_missing_mask() - - -/obj/cult_viewpoint/verb/check_favor() - set category = "Cult" - set desc = "Check your favor with your god." - set name = "Check Favor" - set src in usr - switch(favor) - if(FAVOR_PLEASED) - to_chat(owner, "\red \b You bask in your gods favor.") - if(FAVOR_INDIFFERENT) - to_chat(owner, "\red \b You feel nothing.") - if(FAVOR_DISPLEASED) - to_chat(owner, "\red \b You cringe at your gods displeasure.") - - -/obj/cult_viewpoint/verb/pray_to_mask() - set category = "Cult" - set desc = "Pray to your god" - set name = "Pray to Nar'Sie" - set src in usr - - var/input = stripped_input(usr, "Please choose a message to say to your god.", "Pray to Nar'Sie", "") - if(!input) - return - - cult_log("[key_name(usr,0)](Pray):[input]") - to_chat(owner, "You pray to Nar'Sie: [input]") - - for(var/mob/spirit/spirit in spirits) - to_chat(spirit, "[get_display_name()] prays : [input]") - - -// PROCS -/obj/cult_viewpoint/proc/set_favor(var/newFavor) - favor = newFavor - check_favor() - - -/obj/cult_viewpoint/proc/set_urge(var/newUrge) - if (!newUrge) - src.urge = null - src.urge = copytext(newUrge, 1, MAX_MESSAGE_LEN) - check_urge() - - -/obj/cult_viewpoint/proc/can_use() - if (owner.stat != DEAD) - return TRUE - return FALSE - - -/obj/cult_viewpoint/proc/can_see() - return hear(view_range, get_turf(owner)) - - -/obj/cult_viewpoint/proc/get_cult_name() - if (cult_name) - return cult_name - return "An Unknown Servant" - - -/obj/cult_viewpoint/proc/set_cult_name(var/newName) - if (!owner) - return FALSE - if (newName) - cult_name = newName - to_chat(owner, "\red \b You have been blessed with the secret name of '[newName]'.") - else - cult_name = null - to_chat(owner, "\red \b Your god has taken your secret name.") - - -/obj/cult_viewpoint/proc/get_display_name() - if(istype(src,/obj/effect/rune)) - return name - if (!owner) - return - if (cult_name) - return cult_name - return owner.name - - -/obj/cult_viewpoint/proc/become_mask() - set category = "Cult" - set name = "Become Mask" - set desc = "Sacrifice your life and become a Mask of Nar'sie." - set src in usr - - cult_log("[key_name(usr,0)] has tried to become a Mask of Nar'sie.") - - if (!active_mask()) - var/confirm = alert(owner.client, "You are about to become a Mask of Nar'sie. This will destroy your body, and you will only be able to guide the other cultists through communication. Are you sure?", "Confirm Your Sacrifice", "Yes", "No") - if(confirm == "Yes") - var/transformation_type = alert(owner.client, "You are about to become a Mask. Do you want it to be subtle or violent?", "Mask", "Subtle", "Violent") - if(!active_mask()) - cult_log("[key_name(usr,0)] has become a Mask of Nar'sie.") - if (transformation_type=="Subtle") - log_admin("[key_name_admin(owner)] has subtly become a Mask of Nar'sie") - owner.make_into_mask(0,0) - else - log_admin("[key_name_admin(owner)] has violently become a Mask of Nar'sie") - owner.make_into_mask(1,1) - else - return - else - to_chat(owner, "\b You cannot become a mask of Nar'Sie because a Mask already exists.") - mask_has_been_found() - return - - -/obj/cult_viewpoint/proc/active_mask() - for(var/mob/spirit/mask/currentMask in spirits) - if (currentMask.is_active()) - return TRUE - return FALSE - - -/obj/cult_viewpoint/proc/handle_missing_mask() - if (active_mask()) - mask_has_been_found() - else - mask_is_missing() - - -/obj/cult_viewpoint/proc/mask_has_been_found() - for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) - if (viewpoint.verbs.Find(/obj/cult_viewpoint/proc/become_mask)) - viewpoint.verbs-=/obj/cult_viewpoint/proc/become_mask - - -/obj/cult_viewpoint/proc/mask_is_missing() - for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) - if (!viewpoint.verbs.Find(/obj/cult_viewpoint/proc/become_mask)) - viewpoint.verbs+=/obj/cult_viewpoint/proc/become_mask - - -/proc/getCultViewpoint(var/mob/currentMob) - for(var/obj/cult_viewpoint/currentView in currentMob) - return currentView - return FALSE - - -#undef FAVOR_PLEASED -#undef FAVOR_INDIFFERENT -#undef FAVOR_DISPLEASED \ No newline at end of file diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index ac3dd8af716..900e7c36efc 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -70,57 +70,6 @@ qdel(src) return O -/mob/living/carbon/human/make_into_mask(var/should_gib = 0) - for(var/t in organs) - qdel(t) - return ..(should_gib) - - -/mob/proc/make_into_mask(var/should_gib = 0, var/should_remove_items = 0) - - if(!should_gib) - icon = null - invisibility = 101 - - if(!should_remove_items) - for(var/obj/item/W in src) - unEquip(W) - - var/mob/spirit/mask/new_spirit = new() - - if(mind) - new_spirit.mind = mind - new_spirit.mind.assigned_role = "Mask" - new_spirit.mind.original = new_spirit - - new_spirit.key = key - new_spirit.loc=loc - - if (should_gib) - spawn(0) - src.gib() // gib the body - else - spawn(0)//To prevent the proc from returning null. - src.visible_message( \ - "[src] disappears into the shadows, never to be seen again.", \ - "You disappear into the shadows, never to be seen again.", \ - "You hear strange noise, you can't quite place it.") - qdel(src) - - to_chat(new_spirit, "You are a Mask of Nar'sie now. You are a tiny fragment of the unknowable entity that is the god.") - to_chat(new_spirit, "Your job is to help your acolytes complete their goals. Be spooky. Do evil.") - - new_spirit.set_name() - - // let spirits identify cultists - if(ticker.mode) - ticker.mode.add_cult_icon_to_spirit(new_spirit) - - // highlander test - there_can_be_only_one_mask(new_spirit) - - return new_spirit - //human -> robot /mob/living/carbon/human/proc/Robotize() diff --git a/paradise.dme b/paradise.dme index 11e0b205f71..00a734329dc 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1635,12 +1635,8 @@ #include "code\modules\mob\new_player\poll.dm" #include "code\modules\mob\new_player\preferences_setup.dm" #include "code\modules\mob\new_player\sprite_accessories.dm" -#include "code\modules\mob\spirit\cultnet.dm" #include "code\modules\mob\spirit\movement.dm" #include "code\modules\mob\spirit\spirit.dm" -#include "code\modules\mob\spirit\viewpoint.dm" -#include "code\modules\mob\spirit\mask\mask.dm" -#include "code\modules\mob\spirit\mask\respawn.dm" #include "code\modules\nano\nanoexternal.dm" #include "code\modules\nano\nanomanager.dm" #include "code\modules\nano\nanomapgen.dm"