Polaris Hook Removal Part 1 (#18672)

* starting cleanup

* thankyou vsc very cool

* resleeving mind signal

* id card modifier signals

* fix

* borgifying mob signal

* button and brain

* death

* explosions, mob init

* oooop

* semantic

* payment account revoke and status

* missed hook listener

* wip for now

* fixes

* round signals

* only remaining

* doppler arrays behave with z levels

* audible message it is

* wizard spells applied correctly to mind datum
This commit is contained in:
Will
2025-10-30 01:25:51 +01:00
committed by GitHub
parent 0a3ec4a983
commit bba55977a1
39 changed files with 180 additions and 273 deletions
@@ -1,11 +1,5 @@
GLOBAL_LIST_EMPTY(prevent_respawns)
/hook/death/proc/quit_notify(mob/dead)
if(ishuman(dead))
to_chat(dead,span_notice("You're dead! If you don't intend to continue playing this round as this character, please use the <b>Quit This Round</b> verb in the OOC tab to free your job slot. Otherwise, you can use the <b>Notify Transcore</b> verb to let medical know you need resleeving, or <b>Find Auto Resleever</b> verb to be taken to an auto resleever, which you can click on to be resleeved automatically after a time."))
return TRUE
/mob/observer/dead/verb/cleanup()
set name = "Quit This Round"
set category = "OOC.Game"
+2
View File
@@ -72,6 +72,8 @@
if(stat == DEAD)
return 0
SEND_SIGNAL(src, COMSIG_MOB_DEATH, gibbed)
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MOB_DEATH, src, gibbed)
if(src.loc && istype(loc,/obj/belly) || istype(loc,/obj/item/dogborg/sleeper)) deathmessage = "no message" //VOREStation Add - Prevents death messages from inside mobs
facing_dir = null
+13 -2
View File
@@ -79,11 +79,22 @@
remove_verb(src, /mob/living/carbon/proc/release_control)
callHook("death", list(src, gibbed))
// Handle vorny
if(isbelly(loc))
//Were they digesting and we have a mind you can update?
//Technically allows metagaming by allowing buddies to turn on digestion for like 2 seconds
// to finish off critically wounded friends to avoid resleeving sickness, but like
// *kill those people* ok?
var/obj/belly/in_belly = loc
if(in_belly.digest_mode == DM_DIGEST || in_belly.digest_mode == DM_SELECT)
mind?.vore_death = TRUE
soulcatcher_on_mob_death()
if(istype(loc, /obj/item/clothing/shoes))
mind?.vore_death = TRUE
// Let them know we died!
to_chat(src, span_notice("You're dead! If you don't intend to continue playing this round as this character, please use the <b>Quit This Round</b> verb in the OOC tab to free your job slot. Otherwise, you can use the <b>Notify Transcore</b> verb to let medical know you need resleeving, or <b>Find Auto Resleever</b> verb to be taken to an auto resleever, which you can click on to be resleeved automatically after a time."))
if(mind)
var/area/A = get_area(src)
if(!(A?.flag_check(AREA_BLOCK_SUIT_SENSORS)) && isbelly(loc))
@@ -12,25 +12,6 @@
. = ..()
//Surprisingly this is only called for humans, but whatever!
/hook/death/proc/digestion_check(var/mob/living/carbon/human/H, var/gibbed)
//Not in a belly? Well, too bad!
if(!isbelly(H.loc))
return TRUE
//What belly!
var/obj/belly/B = H.loc
//Were they digesting and we have a mind you can update?
//Technically allows metagaming by allowing buddies to turn on digestion for like 2 seconds
// to finish off critically wounded friends to avoid resleeving sickness, but like
// *kill those people* ok?
if(B.digest_mode == DM_DIGEST || B.digest_mode == DM_SELECT)
H.mind?.vore_death = TRUE
//Hooks need to return true otherwise they're considered having failed
return TRUE
//For making sure that if a mob is able to be joined by ghosts, that ghosts can't join it if it dies
/mob/living/simple_mob/death()
..()
@@ -1,15 +1,5 @@
GLOBAL_LIST_EMPTY(empty_playable_ai_cores)
/hook/roundstart/proc/spawn_empty_ai()
for(var/obj/effect/landmark/start/S in GLOB.landmarks_list)
if(S.name != JOB_AI)
continue
if(locate(/mob/living) in S.loc)
continue
GLOB.empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(S))
return 1
/mob/living/silicon/ai/verb/store_core()
set name = "Store Core"
set category = "OOC.Game"
@@ -177,12 +177,6 @@
//INCOMPLETE and not ready, no sprites other than tall and basically useless, also lacking a belly
//Add ourselves to the borg list
/hook/startup/proc/Modular_Borg_init_standardhound()
//robot_modules["Honk-Hound"] = /obj/item/robot_module/robot/clerical/honkborg - done in station_vr modular chomp for ordering reasons
robot_module_types += "Standard-Hound" //Add ourselves to global
return 1
/obj/item/robot_module/robot/standard/hound
name = "Standard-Hound"
sprites = list(
@@ -3,19 +3,6 @@
// code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm //tag so it shows up in gitsearch
/*
What Borgs are available is sadly handled in the above file in the proc
/hook/startup/proc/robot_modules_vr()
robot_modules["Medihound"] = /obj/item/robot_module/robot/medihound
robot_modules["K9"] = /obj/item/robot_module/robot/knine
robot_modules["ERT"] = /obj/item/robot_module/robot/ert
robot_modules["Janihound"] = /obj/item/robot_module/robot/scrubpup
robot_modules["Sci-borg"] = /obj/item/robot_module/robot/science
robot_modules["Pupdozer"] = /obj/item/robot_module/robot/engiedog
return 1
*/
/obj/item/robot_module/robot/booze
name = "BoozeHound robot module"
channels = list("Service" = 1)
@@ -1,9 +1,3 @@
/* //Uncomment the exploration modules in code\global.dm
/hook/startup/proc/Modular_Borg_init_Exploration()
robot_modules["Exploration"] = /obj/item/robot_module/robot/exploration //add to array
robot_module_types += "Exploration" //Add to global list
return 1
*/
//Explo doggos
/obj/item/robot_module/robot/exploration
name = "exploration robot module"
+1
View File
@@ -75,6 +75,7 @@
zone_sel = null
/mob/Initialize(mapload)
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MOB_CREATED, src)
GLOB.mob_list += src
if(stat == DEAD)
GLOB.dead_mob_list += src
+1 -1
View File
@@ -185,7 +185,7 @@
O.fuzzy = B.fuzzy
O.custom_speech_bubble = B.custom_speech_bubble
callHook("borgify", list(O))
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_BORGIFY, O)
spawn(0) // Mobs still instantly del themselves, thus we need to spawn or O will never be returned
qdel(src)