mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Malfunctioning AIs: Fix Overload Machine not working on some machines (#27848)
* blcaklist, add intercom * fix * re-rework into a proc * add these
This commit is contained in:
@@ -395,6 +395,9 @@ Pipelines + Other Objects -> Pipe network
|
|||||||
/obj/machinery/atmospherics/is_airtight() //Technically, smoke would be able to pop up from a vent, but enabling ventcrawling mobs to do that still doesn't sound like a good idea
|
/obj/machinery/atmospherics/is_airtight() //Technically, smoke would be able to pop up from a vent, but enabling ventcrawling mobs to do that still doesn't sound like a good idea
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
/obj/machinery/atmospherics/can_overload()
|
||||||
|
return 0
|
||||||
|
|
||||||
// Tiny helper to see if the object is "exposed".
|
// Tiny helper to see if the object is "exposed".
|
||||||
// Basically whether it's partially covered up by a floor tile or not.
|
// Basically whether it's partially covered up by a floor tile or not.
|
||||||
/obj/machinery/atmospherics/proc/exposed()
|
/obj/machinery/atmospherics/proc/exposed()
|
||||||
|
|||||||
@@ -125,6 +125,8 @@ rcd light flash thingy on matter drain
|
|||||||
override_base = "malf"
|
override_base = "malf"
|
||||||
|
|
||||||
/spell/targeted/overload_machine/is_valid_target(var/atom/target)
|
/spell/targeted/overload_machine/is_valid_target(var/atom/target)
|
||||||
|
if(istype(target, /obj/item/device/radio/intercom))
|
||||||
|
return 1
|
||||||
if (istype(target, /obj/machinery))
|
if (istype(target, /obj/machinery))
|
||||||
var/obj/machinery/M = target
|
var/obj/machinery/M = target
|
||||||
return M.can_overload()
|
return M.can_overload()
|
||||||
|
|||||||
@@ -160,6 +160,9 @@
|
|||||||
return
|
return
|
||||||
//user.drop_item(W, src.loc) why?
|
//user.drop_item(W, src.loc) why?
|
||||||
|
|
||||||
|
/obj/machinery/optable/can_overload()
|
||||||
|
return 0
|
||||||
|
|
||||||
/obj/machinery/optable/npc_tamper_act(mob/living/user)
|
/obj/machinery/optable/npc_tamper_act(mob/living/user)
|
||||||
//Messages are overridden for this proc
|
//Messages are overridden for this proc
|
||||||
. = NPC_TAMPER_ACT_NOMSG
|
. = NPC_TAMPER_ACT_NOMSG
|
||||||
|
|||||||
@@ -491,6 +491,9 @@ var/list/apiaries_list = list()
|
|||||||
|
|
||||||
consume.reagents.clear_reagents()
|
consume.reagents.clear_reagents()
|
||||||
|
|
||||||
|
/obj/machinery/apiary/can_overload()
|
||||||
|
return 0
|
||||||
|
|
||||||
///////////////////////////WILD BEEHIVES////////////////////////////
|
///////////////////////////WILD BEEHIVES////////////////////////////
|
||||||
|
|
||||||
/obj/structure/wild_apiary
|
/obj/structure/wild_apiary
|
||||||
|
|||||||
@@ -445,6 +445,9 @@ var/list/all_doors = list()
|
|||||||
|
|
||||||
update_nearby_tiles()
|
update_nearby_tiles()
|
||||||
|
|
||||||
|
/obj/machinery/door/can_overload()
|
||||||
|
return 0
|
||||||
|
|
||||||
// Flash denied and such.
|
// Flash denied and such.
|
||||||
/obj/machinery/door/proc/denied()
|
/obj/machinery/door/proc/denied()
|
||||||
playsound(loc, 'sound/machines/denied.ogg', 50, 1)
|
playsound(loc, 'sound/machines/denied.ogg', 50, 1)
|
||||||
@@ -455,3 +458,5 @@ var/list/all_doors = list()
|
|||||||
icon = 'icons/obj/doors/morgue.dmi'
|
icon = 'icons/obj/doors/morgue.dmi'
|
||||||
animation_delay = 15
|
animation_delay = 15
|
||||||
penetration_dampening = 15
|
penetration_dampening = 15
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -221,3 +221,6 @@
|
|||||||
to_chat(user, "<span class='info'>Attached is \an empty [beaker].</span>")
|
to_chat(user, "<span class='info'>Attached is \an empty [beaker].</span>")
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='info'>No chemicals are attached.</span>")
|
to_chat(user, "<span class='info'>No chemicals are attached.</span>")
|
||||||
|
|
||||||
|
/obj/machinery/iv_drip/can_overload()
|
||||||
|
return 0
|
||||||
|
|||||||
@@ -648,7 +648,7 @@ Class Procs:
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/proc/can_overload(mob/user) //used for AI machine overload
|
/obj/machinery/proc/can_overload(mob/user) //used for AI machine overload
|
||||||
return(src in machines)
|
return 1
|
||||||
|
|
||||||
/obj/machinery/proc/shock(mob/user, prb, var/siemenspassed = -1)
|
/obj/machinery/proc/shock(mob/user, prb, var/siemenspassed = -1)
|
||||||
if(stat & (BROKEN|NOPOWER)) // unpowered, no shock
|
if(stat & (BROKEN|NOPOWER)) // unpowered, no shock
|
||||||
|
|||||||
@@ -541,6 +541,9 @@
|
|||||||
/obj/machinery/shieldwall/acidable()
|
/obj/machinery/shieldwall/acidable()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
/obj/machinery/shieldwall/can_overload()
|
||||||
|
return 0
|
||||||
|
|
||||||
/obj/machinery/shieldwall/New(var/obj/machinery/shieldwallgen/A, var/obj/machinery/shieldwallgen/B)
|
/obj/machinery/shieldwall/New(var/obj/machinery/shieldwallgen/A, var/obj/machinery/shieldwallgen/B)
|
||||||
..()
|
..()
|
||||||
src.gen_primary = A
|
src.gen_primary = A
|
||||||
|
|||||||
@@ -1043,6 +1043,8 @@
|
|||||||
for(var/obj/item/weapon/pinpointer/point in pinpointer_list)
|
for(var/obj/item/weapon/pinpointer/point in pinpointer_list)
|
||||||
point.target = null //the pinpointer will go back to pointing at the nuke disc.
|
point.target = null //the pinpointer will go back to pointing at the nuke disc.
|
||||||
|
|
||||||
|
/obj/machinery/power/apc/can_overload()
|
||||||
|
return 1
|
||||||
|
|
||||||
/obj/machinery/power/apc/proc/ion_act()
|
/obj/machinery/power/apc/proc/ion_act()
|
||||||
//intended to be exactly the same as an AI malf attack
|
//intended to be exactly the same as an AI malf attack
|
||||||
|
|||||||
@@ -83,6 +83,9 @@
|
|||||||
H.do_attack_animation(src, H)
|
H.do_attack_animation(src, H)
|
||||||
return SPECIAL_ATTACK_FAILED
|
return SPECIAL_ATTACK_FAILED
|
||||||
|
|
||||||
|
/obj/machinery/light_construct/can_overload()
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/light_construct/small
|
/obj/machinery/light_construct/small
|
||||||
name = "small light fixture frame"
|
name = "small light fixture frame"
|
||||||
@@ -174,6 +177,9 @@ var/global/list/obj/machinery/light/alllights = list()
|
|||||||
H.apply_damage(rand(1,2), BRUTE, pick(LIMB_RIGHT_LEG, LIMB_LEFT_LEG, LIMB_RIGHT_FOOT, LIMB_LEFT_FOOT))
|
H.apply_damage(rand(1,2), BRUTE, pick(LIMB_RIGHT_LEG, LIMB_LEFT_LEG, LIMB_RIGHT_FOOT, LIMB_LEFT_FOOT))
|
||||||
return SPECIAL_ATTACK_FAILED
|
return SPECIAL_ATTACK_FAILED
|
||||||
|
|
||||||
|
/obj/machinery/light/can_overload()
|
||||||
|
return 0
|
||||||
|
|
||||||
/obj/machinery/light/broken
|
/obj/machinery/light/broken
|
||||||
icon_state = "ltube-broken" //for the mapper
|
icon_state = "ltube-broken" //for the mapper
|
||||||
spawn_with_bulb = /obj/item/weapon/light/tube/broken
|
spawn_with_bulb = /obj/item/weapon/light/tube/broken
|
||||||
|
|||||||
@@ -172,6 +172,8 @@
|
|||||||
return
|
return
|
||||||
set_light(0)
|
set_light(0)
|
||||||
|
|
||||||
|
/obj/machinery/power/can_overload()
|
||||||
|
return 0
|
||||||
|
|
||||||
// connect the machine to a powernet if a node cable is present on the turf
|
// connect the machine to a powernet if a node cable is present on the turf
|
||||||
/obj/machinery/power/proc/connect_to_network()
|
/obj/machinery/power/proc/connect_to_network()
|
||||||
|
|||||||
@@ -245,3 +245,6 @@ var/list/razed_large_artifacts = list()//destroyed while still inside a rock wal
|
|||||||
if(prob(50))
|
if(prob(50))
|
||||||
M.Stun(5)
|
M.Stun(5)
|
||||||
M.apply_radiation(25, RAD_EXTERNAL)
|
M.apply_radiation(25, RAD_EXTERNAL)
|
||||||
|
|
||||||
|
/obj/machinery/artifact/can_overload()
|
||||||
|
return 0
|
||||||
Reference in New Issue
Block a user