From 56176727dfece9749576d69050ff85a6bedf9b53 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sat, 13 Apr 2019 12:56:05 +0200 Subject: [PATCH 1/4] Initial commit --- code/_onclick/hud/_defines.dm | 7 +++ code/_onclick/hud/ghost.dm | 84 ++++++++++++++++++++++++++++++++++ icons/mob/screen_ghost.dmi | Bin 0 -> 20940 bytes paradise.dme | 1 + 4 files changed, 92 insertions(+) create mode 100644 code/_onclick/hud/ghost.dm create mode 100644 icons/mob/screen_ghost.dmi diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index 24a2442faeb..a9231c56581 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -154,6 +154,13 @@ #define ui_bot_radio "EAST-1:28,SOUTH:7" #define ui_bot_pull "EAST-2:26,SOUTH:7" +//Ghosts +#define ui_ghost_jumptomob "SOUTH:6,CENTER-2:24" +#define ui_ghost_orbit "SOUTH:6,CENTER-1:24" +#define ui_ghost_reenter_corpse "SOUTH:6,CENTER:24" +#define ui_ghost_teleport "SOUTH:6,CENTER+1:24" +#define ui_ghost_pai "SOUTH: 6, CENTER+2:24" + //HUD styles. Please ensure HUD_VERSIONS is the same as the maximum index. Index order defines how they are cycled in F12. #define HUD_STYLE_STANDARD 1 #define HUD_STYLE_REDUCED 2 diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm new file mode 100644 index 00000000000..d4923d1446f --- /dev/null +++ b/code/_onclick/hud/ghost.dm @@ -0,0 +1,84 @@ +/obj/screen/ghost + icon = 'icons/mob/screen_ghost.dmi' + +/obj/screen/ghost/MouseEntered() + flick(icon_state + "_anim", src) + +/obj/screen/ghost/jumptomob + name = "Jump to mob" + icon_state = "jumptomob" + +/obj/screen/ghost/jumptomob/Click() + var/mob/dead/observer/G = usr + G.jumptomob() + +/obj/screen/ghost/orbit + name = "Orbit" + icon_state = "orbit" + +/obj/screen/ghost/orbit/Click() + var/mob/dead/observer/G = usr + G.follow() + +/obj/screen/ghost/reenter_corpse + name = "Reenter corpse" + icon_state = "reenter_corpse" + +/obj/screen/ghost/reenter_corpse/Click() + var/mob/dead/observer/G = usr + G.reenter_corpse() + +/obj/screen/ghost/teleport + name = "Teleport" + icon_state = "teleport" + +/obj/screen/ghost/teleport/Click() + var/mob/dead/observer/G = usr + G.dead_tele() + +/obj/screen/ghost/pai + name = "pAI Candidate" + icon_state = "pai" + +///obj/screen/ghost/pai/Click() +// var/mob/dead/observer/G = usr + +/datum/hud/ghost/New(mob/owner, var/ui_style = 'icons/mob/screen_white.dmi') + ..() + var/obj/screen/using + + using = new /obj/screen/ghost/jumptomob() + using.screen_loc = ui_ghost_jumptomob + static_inventory += using + + using = new /obj/screen/ghost/orbit() + using.screen_loc = ui_ghost_orbit + static_inventory += using + + using = new /obj/screen/ghost/reenter_corpse() + using.screen_loc = ui_ghost_reenter_corpse + static_inventory += using + + using = new /obj/screen/ghost/teleport() + using.screen_loc = ui_ghost_teleport + static_inventory += using + + using = new /obj/screen/ghost/pai() + using.screen_loc = ui_ghost_pai + static_inventory += using + + using = new /obj/screen/language_menu + using.icon = ui_style + static_inventory += using + +/datum/hud/ghost/show_hud(version = 0, mob/viewmob) + // don't show this HUD if observing; show the HUD of the observee + var/mob/dead/observer/O = mymob + if (istype(O)) + return FALSE + + . = ..() + if(!.) + return + var/mob/screenmob = viewmob || mymob + screenmob.client.screen += static_inventory diff --git a/icons/mob/screen_ghost.dmi b/icons/mob/screen_ghost.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6519d00aa978e24b65fe47dc5cde86aa5b0d3780 GIT binary patch literal 20940 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 Date: Sat, 13 Apr 2019 22:56:09 +0200 Subject: [PATCH 2/4] Adds Ghost HUD and refactors some ghost verbs --- code/_onclick/hud/ghost.dm | 35 ++++------------------ code/modules/mob/dead/observer/observer.dm | 29 +++++++++++------- 2 files changed, 24 insertions(+), 40 deletions(-) diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index d4923d1446f..4e92395f4cc 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -1,3 +1,7 @@ +/mob/dead/observer/create_mob_hud() + if(client && !hud_used) + hud_used = new /datum/hud/ghost(src) + /obj/screen/ghost icon = 'icons/mob/screen_ghost.dmi' @@ -21,7 +25,7 @@ G.follow() /obj/screen/ghost/reenter_corpse - name = "Reenter corpse" + name = "Re-enter corpse" icon_state = "reenter_corpse" /obj/screen/ghost/reenter_corpse/Click() @@ -36,14 +40,7 @@ var/mob/dead/observer/G = usr G.dead_tele() -/obj/screen/ghost/pai - name = "pAI Candidate" - icon_state = "pai" - -///obj/screen/ghost/pai/Click() -// var/mob/dead/observer/G = usr - -/datum/hud/ghost/New(mob/owner, var/ui_style = 'icons/mob/screen_white.dmi') +/datum/hud/ghost/New(mob/owner) ..() var/obj/screen/using @@ -62,23 +59,3 @@ using = new /obj/screen/ghost/teleport() using.screen_loc = ui_ghost_teleport static_inventory += using - - using = new /obj/screen/ghost/pai() - using.screen_loc = ui_ghost_pai - static_inventory += using - - using = new /obj/screen/language_menu - using.icon = ui_style - static_inventory += using - -/datum/hud/ghost/show_hud(version = 0, mob/viewmob) - // don't show this HUD if observing; show the HUD of the observee - var/mob/dead/observer/O = mymob - if (istype(O)) - return FALSE - - . = ..() - if(!.) - return - var/mob/screenmob = viewmob || mymob - screenmob.client.screen += static_inventory diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index dfd4e1e3332..c4a1bb438ad 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -384,7 +384,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp to_chat(usr, "AntagHud Toggled OFF") M.antagHUD = 0 -/mob/dead/observer/proc/dead_tele(A in ghostteleportlocs) +/mob/dead/observer/proc/dead_tele() set category = "Ghost" set name = "Teleport" set desc= "Teleport to a location" @@ -397,6 +397,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp spawn(30) usr.verbs += /mob/dead/observer/proc/dead_tele + var/area/A = input("Area to jump to", "BOOYEA") as null|anything in ghostteleportlocs var/area/thearea = ghostteleportlocs[A] if(!thearea) return @@ -410,13 +411,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp usr.forceMove(pick(L)) following = null -/mob/dead/observer/verb/follow(input in getmobs()) +/mob/dead/observer/verb/follow() set category = "Ghost" set name = "Orbit" // "Haunt" set desc = "Follow and orbit a mob." - var/target = getmobs()[input] - if(!target) return + var/list/mobs = getpois(skip_mindless=1) + var/input = input("Please, select a mob!", "Haunt", null, null) as null|anything in mobs + var/mob/target = mobs[input] ManualFollow(target) // This is the ghost's follow verb with an argument @@ -484,24 +486,29 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp update_following() return ..() -/mob/dead/observer/verb/jumptomob(target in getmobs()) //Moves the ghost instead of just changing the ghosts's eye -Nodrak +/mob/dead/observer/verb/jumptomob() //Moves the ghost instead of just changing the ghosts's eye -Nodrak set category = "Ghost" set name = "Jump to Mob" set desc = "Teleport to a mob" - if(istype(usr, /mob/dead/observer)) //Make sure they're an observer! + if(isobserver(usr)) //Make sure they're an observer! + var/list/dest = list() //List of possible destinations (mobs) + var/target = null //Chosen target. - if(!target)//Make sure we actually have a target + dest += getpois(mobs_only=1) //Fill list, prompt user with list + target = input("Please, select a mob!", "Jump to Mob", null, null) as null|anything in dest + + if (!target)//Make sure we actually have a target return else - var/mob/M = getmobs()[target] //Destination mob + var/mob/M = dest[target] //Destination mob + var/mob/A = src //Source mob var/turf/T = get_turf(M) //Turf of the destination mob if(T && isturf(T)) //Make sure the turf exists, then move the source to that destination. - forceMove(T) - following = null + A.forceMove(T) else - to_chat(src, "This mob is not located in the game world.") + to_chat(A, "This mob is not located in the game world.") /* Now a spell. See spells.dm From 424432d3c08465c0249b75efc1ffcd9968c2aaad Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sat, 13 Apr 2019 23:15:45 +0200 Subject: [PATCH 3/4] Code improvement --- code/_onclick/hud/_defines.dm | 1 - code/modules/mob/dead/observer/observer.dm | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index a9231c56581..e3d423130e5 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -159,7 +159,6 @@ #define ui_ghost_orbit "SOUTH:6,CENTER-1:24" #define ui_ghost_reenter_corpse "SOUTH:6,CENTER:24" #define ui_ghost_teleport "SOUTH:6,CENTER+1:24" -#define ui_ghost_pai "SOUTH: 6, CENTER+2:24" //HUD styles. Please ensure HUD_VERSIONS is the same as the maximum index. Index order defines how they are cycled in F12. #define HUD_STYLE_STANDARD 1 diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c4a1bb438ad..573b675fd2a 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -498,7 +498,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp dest += getpois(mobs_only=1) //Fill list, prompt user with list target = input("Please, select a mob!", "Jump to Mob", null, null) as null|anything in dest - if (!target)//Make sure we actually have a target + if (!target) //Make sure we actually have a target return else var/mob/M = dest[target] //Destination mob From 5ef674f4db8eea77318d6dff183bb05f2e0ca7e9 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Sat, 13 Apr 2019 23:20:58 +0200 Subject: [PATCH 4/4] Code improvement, for real this time --- code/modules/mob/dead/observer/observer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 573b675fd2a..8bb146aee08 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -498,7 +498,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp dest += getpois(mobs_only=1) //Fill list, prompt user with list target = input("Please, select a mob!", "Jump to Mob", null, null) as null|anything in dest - if (!target) //Make sure we actually have a target + if(!target) //Make sure we actually have a target return else var/mob/M = dest[target] //Destination mob