From dd20530f0e48bb4de495783f8a82bdfac204a810 Mon Sep 17 00:00:00 2001 From: Tkdrg Date: Tue, 27 Oct 2015 23:07:41 -0300 Subject: [PATCH] Adds ghost alerts. Adds ghost alerts for revival (cloning, MMIs, nar-sie, drones, etc). --- code/_onclick/hud/alert.dm | 28 ++++++++++++++++++ code/_onclick/hud/ghost.dm | 2 -- .../shadowling/shadowling_abilities.dm | 2 +- code/game/machinery/dna_scanner.dm | 2 +- code/game/objects/items/weapons/defib.dm | 2 +- code/game/objects/structures/spirit_board.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 10 ++++++- code/modules/mob/living/carbon/brain/MMI.dm | 2 +- .../mob/living/carbon/brain/posibrain.dm | 2 +- .../living/simple_animal/bot_swarm/swarmer.dm | 2 +- .../friendly/drone/drones_as_items.dm | 6 ++++ code/modules/mob/mob.dm | 4 +-- code/modules/mob/mob_helpers.dm | 15 +++++++++- code/modules/power/singularity/narsie.dm | 3 +- .../Chemistry-Reagents/Medicine-Reagents.dm | 2 +- .../Chemistry-Recipes/Slime_extracts.dm | 2 +- html/changelogs/Tkdrg-GhostHUD.yml | 23 ++++++++++++++ icons/mob/screen_alert.dmi | Bin 23899 -> 23997 bytes icons/mob/screen_ghost.dmi | Bin 18730 -> 18901 bytes 19 files changed, 93 insertions(+), 16 deletions(-) create mode 100644 html/changelogs/Tkdrg-GhostHUD.yml diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 1e8ceb9ad00..5fdd953ae17 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -257,6 +257,34 @@ so as to remain in compliance with the most up-to-date laws." icon_state = "low_mech_integrity" +//GHOSTS +//TODO: expand this system to replace the pollCandidates Yes/No messages +/obj/screen/alert/notify_cloning + name = "Revival" + desc = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!" + icon_state = "ghost_frame" + timeout = 300 + +/obj/screen/alert/notify_cloning/Click() + if(!usr || !usr.client) return + var/mob/dead/observer/G = usr + G.reenter_corpse() + +/obj/screen/alert/notify_jump + name = "Body created" + desc = "A body was created. You can enter it." + icon_state = "ghost_frame" + timeout = 300 + var/jump_target = null + +/obj/screen/alert/notify_jump/Click() + if(!usr || !usr.client) return + if(!jump_target) return + var/mob/dead/observer/G = usr + var/turf/T = get_turf(jump_target) + if(T && isturf(T)) + G.loc = T + //OBJECT-BASED /obj/screen/alert/buckled diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index 7c0c07275ff..ca78c21a1e9 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -1,5 +1,3 @@ -//TODO: add sec/med huds to ghosts -//TODO: pop-up buttons for cloning,defib,drones,holoparasites,slimes,etcetc /obj/screen/ghost icon = 'icons/mob/screen_ghost.dmi' diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index fe10e866b2c..b97e228e7dd 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -583,7 +583,7 @@ datum/reagent/shadowling_blindness_smoke //Reagent used for above spell return usr.visible_message("[usr] kneels over [thrallToRevive], placing their hands on \his chest.", \ "You crouch over the body of your thrall and begin gathering energy...") - thrallToRevive.notify_ghost_cloning("Your masters are resuscitating you! Re-enter your corpse if you wish to be brought to life.") + thrallToRevive.notify_ghost_cloning("Your masters are resuscitating you! Re-enter your corpse if you wish to be brought to life.", source = thrallToRevive) if(!do_mob(usr, thrallToRevive, 30)) usr << "Your concentration snaps. The flow of energy ebbs." charge_counter = charge_max diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index ac18b3fe445..8f5e8f6c8b1 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -109,7 +109,7 @@ || locate(/obj/machinery/computer/cloning, get_step(src, EAST)) \ || locate(/obj/machinery/computer/cloning, get_step(src, WEST))) - occupant.notify_ghost_cloning("Your corpse has been placed into a cloning scanner. Re-enter your corpse if you want to be cloned!") + occupant.notify_ghost_cloning("Your corpse has been placed into a cloning scanner. Re-enter your corpse if you want to be cloned!", source = src) return 1 /obj/machinery/dna_scannernew/open_machine() diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index a58e46a89b6..f81fc5dd559 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -450,7 +450,7 @@ busy = 0 update_icon() return - H.notify_ghost_cloning("Your heart is being defibrillated. Re-enter your corpse if you want to be revived!") + H.notify_ghost_cloning("Your heart is being defibrillated. Re-enter your corpse if you want to be revived!", source = src) user.visible_message("[user] begins to place [src] on [M.name]'s chest.", "You begin to place [src] on [M.name]'s chest...") busy = 1 diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm index ce2f47c59a2..8e97a5b40dc 100644 --- a/code/game/objects/structures/spirit_board.dm +++ b/code/game/objects/structures/spirit_board.dm @@ -30,7 +30,7 @@ if(virgin) virgin = 0 - notify_ghosts("Someone has begun playing with a [src.name] in [get_area(src)]!") + notify_ghosts("Someone has begun playing with a [src.name] in [get_area(src)]!", source = src) planchette = input("Choose the letter.", "Seance!") in list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") add_logs(M, src, "picked a letter on", " which was \"[planchette]\".") diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index a0cbb5bbb47..3df906627e0 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -165,9 +165,17 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp mind.current.key = key return 1 -/mob/dead/observer/proc/notify_cloning(var/message, var/sound) +/mob/dead/observer/proc/notify_cloning(var/message, var/sound, var/atom/source) if(message) src << "[message]" + if(source) + var/obj/screen/alert/A = throw_alert("\ref[source]_notify_cloning", /obj/screen/alert/notify_cloning) + if(A) + A.desc = message + var/old_layer = source.layer + source.layer = FLOAT_LAYER + A.overlays += source + source.layer = old_layer src << "(Click to re-enter)" if(sound) src << sound(sound) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index c762338f038..227b4ea3b43 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -41,7 +41,7 @@ return var/mob/living/carbon/brain/B = newbrain.brainmob if(!B.key) - B.notify_ghost_cloning("Someone has put your brain in a MMI!") + B.notify_ghost_cloning("Someone has put your brain in a MMI!", source = src) visible_message("[user] sticks \a [newbrain] into \the [src].") brainmob = newbrain.brainmob diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 5796e870ac8..c8f9a5b6067 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -22,7 +22,7 @@ var/global/posibrain_notif_cooldown = 0 /obj/item/device/mmi/posibrain/proc/ping_ghosts(msg) if(!posibrain_notif_cooldown) - notify_ghosts("Positronic brain [msg] in [get_area(src)]! (Click to enter)", 'sound/effects/ghost2.ogg') + notify_ghosts("Positronic brain [msg] in [get_area(src)]! (Click to enter)", 'sound/effects/ghost2.ogg', source = src) posibrain_notif_cooldown = 1 spawn(askDelay) //Global one minute cooldown to avoid spam. posibrain_notif_cooldown = 0 diff --git a/code/modules/mob/living/simple_animal/bot_swarm/swarmer.dm b/code/modules/mob/living/simple_animal/bot_swarm/swarmer.dm index 460eb6a2bf2..5667cbc61be 100644 --- a/code/modules/mob/living/simple_animal/bot_swarm/swarmer.dm +++ b/code/modules/mob/living/simple_animal/bot_swarm/swarmer.dm @@ -6,7 +6,7 @@ icon_state = "swarmer_unactivated" /obj/item/unactivated_swarmer/New() - notify_ghosts("An unactivated swarmer has been created in [get_area(src)]! (Click to enter)") + notify_ghosts("An unactivated swarmer has been created in [get_area(src)]! (Click to enter)", source = src) ..() /obj/item/unactivated_swarmer/Topic(href, href_list) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm index 92fb1c7ed00..3cc67299182 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm @@ -15,6 +15,12 @@ origin_tech = "programming=2;biotech=4" var/drone_type = /mob/living/simple_animal/drone //Type of drone that will be spawned +/obj/item/drone_shell/New() + ..() + var/area/A = get_area(src) + if(A) + notify_ghosts("A drone shell has been created in \the [A.name].", source = src) + /obj/item/drone_shell/attack_ghost(mob/user) if(jobban_isbanned(user,"drone")) return diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index ca0948b56c5..53b41e7988b 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -949,10 +949,10 @@ var/list/slot_equipment_priority = list( \ return G break -/mob/proc/notify_ghost_cloning(var/message = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!", var/sound = 'sound/effects/genetics.ogg') +/mob/proc/notify_ghost_cloning(var/message = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!", var/sound = 'sound/effects/genetics.ogg', var/atom/source = null) var/mob/dead/observer/ghost = get_ghost() if(ghost) - ghost.notify_cloning(message, sound) + ghost.notify_cloning(message, sound, source) return ghost diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index f7cc8017d76..c8415e95e99 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -460,12 +460,25 @@ It's fairly easy to fix if dealing with single letters but not so much with comp /mob/proc/reagent_check(datum/reagent/R) // utilized in the species code return 1 -/proc/notify_ghosts(var/message, var/ghost_sound = null) //Easy notification of ghosts. +/proc/notify_ghosts(var/message, var/ghost_sound = null, var/atom/source = null, var/image/alert_overlay = null) //Easy notification of ghosts. for(var/mob/dead/observer/O in player_list) if(O.client) O << "[message]" if(ghost_sound) O << sound(ghost_sound) + if(source) + var/obj/screen/alert/notify_jump/A = O.throw_alert("\ref[source]_notify_jump", /obj/screen/alert/notify_jump) + if(A) + A.desc = message + A.jump_target = get_turf(source) + if(!alert_overlay) + var/old_layer = source.layer + source.layer = FLOAT_LAYER + A.overlays += source + source.layer = old_layer + else + alert_overlay.layer = FLOAT_LAYER + A.overlays += alert_overlay /proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute, burn) var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting)) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 38f637d82fc..c64e244f0bf 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -29,7 +29,8 @@ var/area/A = get_area(src) if(A) - notify_ghosts("Nar-Sie has risen in \the [A.name]. Reach out to the Geometer to be given a new shell for your soul.") + var/image/alert_overlay = image('icons/mob/mob.dmi', "harvester") + notify_ghosts("Nar-Sie has risen in \the [A.name]. Reach out to the Geometer to be given a new shell for your soul.", source = src, alert_overlay = alert_overlay) narsie_spawn_animation() diff --git a/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm index 6253c02ff83..7f45e8c9f7c 100644 --- a/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm @@ -693,7 +693,7 @@ if(!M.suiciding && !(M.disabilities & NOCLONE)) if(!M) return - if(M.notify_ghost_cloning()) + if(M.notify_ghost_cloning(source = M)) spawn (100) //so the ghost has time to re-enter return else diff --git a/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm b/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm index 6426985bc60..edd4550571d 100644 --- a/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm +++ b/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm @@ -501,7 +501,7 @@ feedback_add_details("slime_cores_used","[type]") var/obj/effect/golemrune/Z = new /obj/effect/golemrune Z.loc = get_turf(holder.my_atom) - notify_ghosts("Golem rune created in [get_area(Z)].", 'sound/effects/ghost2.ogg') + notify_ghosts("Golem rune created in [get_area(Z)].", 'sound/effects/ghost2.ogg', source = Z) //Bluespace /datum/chemical_reaction/slimefloor2 diff --git a/html/changelogs/Tkdrg-GhostHUD.yml b/html/changelogs/Tkdrg-GhostHUD.yml new file mode 100644 index 00000000000..d7d297210ee --- /dev/null +++ b/html/changelogs/Tkdrg-GhostHUD.yml @@ -0,0 +1,23 @@ +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +# tgs (TG-ported fixes?) +################################# + +author: Tkdrg + +delete-after: True + +changes: + - rscadd: "Added a Ghost On-screen HUD. It can be toggled using the \"Toggle Ghost HUD\" verb. Thank you Razharas for the sprites!" + - rscadd: "Ghosts can now use the \"Toggle med/sec HUD\" verb to see the basic secHUD (jobs only) or the medHUD of humans." + - rscadd: "Ghost will now get clickable icon alerts from events such as being put in a cloner, drones being created, Nar-sie being summoned, among others. The older chat messages were kept. These alerts can not be toggled." diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index 1b707cda5e039736087908846454c09f7712ec5f..88fc0e85d5cc7f27a72519f48c6ee7ac7a94f6ca 100644 GIT binary patch delta 3415 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

hswB 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 literal 18730 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