mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-24 12:37:50 +01:00
Ghost Busting (#18854)
* bustin makes me feel good * Update vorestation.dme * Update trap.dm * more * Edits * Make this work on incorp entities * Update entrepreneur_items.dm * Ghost Capture! * awwa * Update entrepreneur_items.dm * Update entrepreneur_items.dm * vore * Other ways to spawn it * Spectral shot * ammo * yeh * get these * Update ammo.dm * AAAA * Update weapons.dm * Update weapons.dm * beeem * better * Update weapons.dm * more stuffs * make sure this is unticked * Update supplypack.dm * spooky * yeh * mob sprites * aaa * Update research_nodes.dm * Remove RND_CATEGORY_INITIAL from ammunition designs * ?. * subtype
This commit is contained in:
@@ -11,8 +11,8 @@
|
||||
icon = 'icons/mob/ghost.dmi'
|
||||
icon_state = "ghost"
|
||||
stat = DEAD
|
||||
canmove = 0
|
||||
blinded = 0
|
||||
canmove = FALSE
|
||||
blinded = FALSE
|
||||
anchored = TRUE // don't get pushed around
|
||||
var/list/visibleChunks = list()
|
||||
var/datum/visualnet/ghost/visualnet
|
||||
@@ -24,21 +24,23 @@
|
||||
var/started_as_observer //This variable is set to 1 when you enter the game as an observer.
|
||||
//If you died in the game and are a ghsot - this will remain as null.
|
||||
//Note that this is not a reliable way to determine if admins started as observers, since they change mobs a lot.
|
||||
var/has_enabled_antagHUD = 0
|
||||
var/medHUD = 0
|
||||
var/secHUD = 0
|
||||
var/antagHUD = 0
|
||||
universal_speak = 1
|
||||
var/has_enabled_antagHUD = FALSE
|
||||
var/medHUD = FALSE
|
||||
var/secHUD = FALSE
|
||||
var/antagHUD = FALSE
|
||||
universal_speak = TRUE
|
||||
var/atom/movable/following = null
|
||||
var/admin_ghosted = 0
|
||||
var/anonsay = 0
|
||||
var/ghostvision = 1 //is the ghost able to see things humans can't?
|
||||
var/admin_ghosted = FALSE
|
||||
var/anonsay = FALSE
|
||||
var/ghostvision = TRUE //is the ghost able to see things humans can't?
|
||||
var/lighting_alpha = 255
|
||||
incorporeal_move = 1
|
||||
|
||||
var/is_manifest = 0 //If set to 1, the ghost is able to whisper. Usually only set if a cultist drags them through the veil.
|
||||
var/toggled_invisible = 0
|
||||
incorporeal_move = TRUE
|
||||
/// If set to TRUE, the ghost is able to whisper. Usually only set if a cultist drags them through the veil.
|
||||
var/is_manifest = FALSE
|
||||
var/toggled_invisible = FALSE
|
||||
var/ghost_sprite = null
|
||||
/// If TRUE, the ghost can be interacted with by the corporeal world (ghost traps, photon pack, etc)
|
||||
var/interact_with_world = TRUE
|
||||
var/last_revive_notification = null // world.time of last notification, used to avoid spamming players from defibs or cloners.
|
||||
var/cleanup_timer // Refernece to a timer that will delete this mob if no client returns
|
||||
var/selecting_ghostrole = FALSE
|
||||
@@ -568,11 +570,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
return ..()
|
||||
|
||||
/mob/proc/check_holy(var/turf/T)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/mob/observer/dead/check_holy(var/turf/T)
|
||||
if(check_rights_for(src.client, R_ADMIN|R_FUN|R_EVENT))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return (T && T.holy) && (is_manifest || (mind in GLOB.cult.current_antagonists))
|
||||
|
||||
@@ -783,6 +785,21 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
var/image/J = image('icons/mob/mob.dmi', loc = src, icon_state = icon)
|
||||
client.images += J
|
||||
|
||||
/mob/observer/dead/verb/toggle_interactions()
|
||||
|
||||
set name = "Toggle Interactions"
|
||||
set desc = "Allows you to toggle if you wish for the corporeal world to interact with you!"
|
||||
set category = "Ghost.Settings"
|
||||
toggle_ghost_interactions()
|
||||
|
||||
/mob/observer/dead/proc/toggle_ghost_interactions()
|
||||
if(is_manifest)
|
||||
to_chat(src, span_info("You are currently manifested into the world and can not toggle this!"))
|
||||
return
|
||||
|
||||
interact_with_world = !interact_with_world
|
||||
to_chat(src, span_info("You will [interact_with_world ? "now" : "no longer"] be able to be interacted with by the corporeal world!"))
|
||||
|
||||
/mob/observer/dead/verb/toggle_visibility()
|
||||
|
||||
set name = "Toggle Visibility"
|
||||
|
||||
@@ -1438,7 +1438,7 @@
|
||||
if(!.)
|
||||
return
|
||||
|
||||
client.screen.Remove(GLOB.global_hud.blurry, GLOB.global_hud.druggy, GLOB.global_hud.vimpaired, GLOB.global_hud.darkMask, GLOB.global_hud.nvg, GLOB.global_hud.thermal, GLOB.global_hud.meson, GLOB.global_hud.science, GLOB.global_hud.material, GLOB.global_hud.whitense)
|
||||
client.screen.Remove(GLOB.global_hud.blurry, GLOB.global_hud.druggy, GLOB.global_hud.vimpaired, GLOB.global_hud.darkMask, GLOB.global_hud.nvg, GLOB.global_hud.thermal, GLOB.global_hud.meson, GLOB.global_hud.science, GLOB.global_hud.material, GLOB.global_hud.whitense, GLOB.global_hud.heavy_whitense)
|
||||
|
||||
if(istype(client.eye,/obj/machinery/camera))
|
||||
var/obj/machinery/camera/cam = client.eye
|
||||
|
||||
@@ -285,3 +285,6 @@
|
||||
var/vent_crawl_time = 4.5 SECONDS // Time to animate entering a vent
|
||||
VAR_PRIVATE/is_motion_tracking = FALSE // Prevent multiple unsubs and resubs, also used to check if the vis layer is enabled, use has_motiontracking() to get externally.
|
||||
VAR_PRIVATE/wants_to_see_motion_echos = TRUE
|
||||
|
||||
var/is_slipping = FALSE
|
||||
var/slip_protect = 1
|
||||
|
||||
@@ -389,6 +389,8 @@
|
||||
is_leaving_belly = FALSE
|
||||
return
|
||||
is_leaving_belly = FALSE
|
||||
if(isghosttrap(mob.loc))
|
||||
return
|
||||
var/turf/mobloc = get_turf(mob)
|
||||
|
||||
if(incorporeal_speed)
|
||||
|
||||
Reference in New Issue
Block a user