mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Bugfixes
Using ghost chat follow on any atom/movable object will let you follow that object Ghost follow changed for AI - again, works for real this time pls beleive me Fixes #2006, Morgue recursively deletes contents now Fixes #2282, alien reagents work for the first time, wow nice smooth gas the vox
This commit is contained in:
@@ -310,7 +310,8 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
else
|
else
|
||||||
if(!isemptylist(src.search_contents_for(/obj/item/weapon/disk/nuclear)))
|
var/inside = src.search_contents_for(/atom)
|
||||||
|
if(is_type_in_list(/obj/item/weapon/disk/nuclear, inside))
|
||||||
usr << "You get the feeling that you shouldn't cremate one of the items in the cremator."
|
usr << "You get the feeling that you shouldn't cremate one of the items in the cremator."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -320,7 +321,7 @@
|
|||||||
cremating = 1
|
cremating = 1
|
||||||
locked = 1
|
locked = 1
|
||||||
|
|
||||||
for(var/mob/living/M in contents)
|
for(var/mob/living/M in inside)
|
||||||
if (M.stat!=2)
|
if (M.stat!=2)
|
||||||
M.emote("scream",,, 1)
|
M.emote("scream",,, 1)
|
||||||
//Logging for this causes runtimes resulting in the cremator locking up. Commenting it out until that's figured out.
|
//Logging for this causes runtimes resulting in the cremator locking up. Commenting it out until that's figured out.
|
||||||
@@ -331,7 +332,7 @@
|
|||||||
M.ghostize()
|
M.ghostize()
|
||||||
del(M)
|
del(M)
|
||||||
|
|
||||||
for(var/obj/O in contents) //obj instead of obj/item so that bodybags and ashes get destroyed. We dont want tons and tons of ash piling up
|
for(var/obj/O in inside) //obj instead of obj/item so that bodybags and ashes get destroyed. We dont want tons and tons of ash piling up
|
||||||
del(O)
|
del(O)
|
||||||
|
|
||||||
new /obj/effect/decal/cleanable/ash(src)
|
new /obj/effect/decal/cleanable/ash(src)
|
||||||
|
|||||||
@@ -469,9 +469,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
|||||||
var/list/mobs = getmobs()
|
var/list/mobs = getmobs()
|
||||||
var/input = input("Please, select a mob!", "Haunt", null, null) as null|anything in mobs
|
var/input = input("Please, select a mob!", "Haunt", null, null) as null|anything in mobs
|
||||||
var/mob/target = mobs[input]
|
var/mob/target = mobs[input]
|
||||||
if(istype(target,/mob/living/silicon/ai))
|
|
||||||
var/mob/living/silicon/ai/M = target
|
|
||||||
target = M.eyeobj
|
|
||||||
ManualFollow(target)
|
ManualFollow(target)
|
||||||
|
|
||||||
// This is the ghost's follow verb with an argument
|
// This is the ghost's follow verb with an argument
|
||||||
@@ -787,10 +784,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
if (href_list["follow"])
|
if (href_list["follow"])
|
||||||
var/mob/target = locate(href_list["follow"]) in mob_list
|
var/target = locate(href_list["follow"])
|
||||||
|
if(following == target) return
|
||||||
var/mob/A = usr;
|
var/mob/A = usr;
|
||||||
A << "You are now following [target]"
|
A << "You are now following [target]"
|
||||||
//var/mob/living/silicon/ai/A = locate(href_list["track2"]) in mob_list
|
if(istype(target,/mob/living/silicon/ai))
|
||||||
|
var/mob/living/silicon/ai/M = target
|
||||||
|
target = M.eyeobj
|
||||||
if(target && target != usr)
|
if(target && target != usr)
|
||||||
following = target
|
following = target
|
||||||
spawn(0)
|
spawn(0)
|
||||||
|
|||||||
@@ -1008,10 +1008,11 @@ var/global/list/organ_damage_overlays = list(
|
|||||||
if(reagents)
|
if(reagents)
|
||||||
|
|
||||||
var/alien = 0 //Not the best way to handle it, but neater than checking this for every single reagent proc.
|
var/alien = 0 //Not the best way to handle it, but neater than checking this for every single reagent proc.
|
||||||
if(species && species.name == "Diona")
|
if(src.species)
|
||||||
alien = 1
|
switch(src.species.type)
|
||||||
else if(species && species.name == "Vox")
|
if(/datum/species/diona) alien = 1
|
||||||
alien = 2
|
if(/datum/species/vox) alien = 2
|
||||||
|
if(/datum/species/plasmaman) alien = 3
|
||||||
reagents.metabolize(src,alien)
|
reagents.metabolize(src,alien)
|
||||||
|
|
||||||
var/total_plasmaloss = 0
|
var/total_plasmaloss = 0
|
||||||
|
|||||||
@@ -261,11 +261,11 @@ datum
|
|||||||
return total_transfered
|
return total_transfered
|
||||||
*/
|
*/
|
||||||
|
|
||||||
metabolize(var/mob/M)
|
metabolize(var/mob/M, var/alien)
|
||||||
for(var/A in reagent_list)
|
for(var/A in reagent_list)
|
||||||
var/datum/reagent/R = A
|
var/datum/reagent/R = A
|
||||||
if(M && R)
|
if(M && R)
|
||||||
R.on_mob_life(M)
|
R.on_mob_life(M, alien)
|
||||||
update_total()
|
update_total()
|
||||||
|
|
||||||
update_aerosol(var/mob/M)
|
update_aerosol(var/mob/M)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
//Some on_mob_life() procs check for alien races.
|
//Some on_mob_life() procs check for alien races.
|
||||||
#define IS_DIONA 1
|
#define IS_DIONA 1
|
||||||
#define IS_VOX 2
|
#define IS_VOX 2
|
||||||
|
#define IS_PLASMA 3
|
||||||
|
|
||||||
//The reaction procs must ALWAYS set src = null, this detaches the proc from the object (the reagent)
|
//The reaction procs must ALWAYS set src = null, this detaches the proc from the object (the reagent)
|
||||||
//so that it can continue working when the reagent is deleted while the proc is still active.
|
//so that it can continue working when the reagent is deleted while the proc is still active.
|
||||||
@@ -76,7 +77,6 @@
|
|||||||
return //Noticed runtime errors from pacid trying to damage ghosts, this should fix. --NEO
|
return //Noticed runtime errors from pacid trying to damage ghosts, this should fix. --NEO
|
||||||
if( (overdose > 0) && (volume >= overdose))//Overdosing, wooo
|
if( (overdose > 0) && (volume >= overdose))//Overdosing, wooo
|
||||||
M.adjustToxLoss(overdose_dam)
|
M.adjustToxLoss(overdose_dam)
|
||||||
|
|
||||||
if(!holder) return
|
if(!holder) return
|
||||||
holder.remove_reagent(src.id, custom_metabolism) //By default it slowly disappears.
|
holder.remove_reagent(src.id, custom_metabolism) //By default it slowly disappears.
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user