Fixes few minor runtimes. (#48234)

* Fixes emagging stuff without user

* Fixes missing initalizes

* Fixes deconstructing for materials

* Fixes tracker bullets runtime.
This commit is contained in:
AnturK
2019-12-14 14:15:15 -05:00
committed by Jordan Brown
parent 76e0c35d73
commit 54f32f26ad
15 changed files with 35 additions and 22 deletions
+1
View File
@@ -308,6 +308,7 @@
icon_state = "space gas"
/obj/screen/parallax_layer/random/space_gas/Initialize(mapload, view)
. = ..()
src.add_atom_colour(SSparallax.random_parallax_color, ADMIN_COLOUR_PRIORITY)
/obj/screen/parallax_layer/random/asteroids
+2 -1
View File
@@ -387,7 +387,8 @@
malfunction()
add_fingerprint(user)
log_cloning("[key_name(user)] emagged [src] at [AREACOORD(src)], causing it to malfunction.")
log_combat(user, src, "emagged", null, occupant ? "[occupant] inside, killing them via malfunction." : null)
if(user)
log_combat(user, src, "emagged", null, occupant ? "[occupant] inside, killing them via malfunction." : null)
//Put messages in the connected computer's temp var for display.
/obj/machinery/clonepod/proc/connected_message(message)
+2 -1
View File
@@ -189,7 +189,8 @@
authenticated = TRUE
log_activity("logged in")
else if(!(obj_flags & EMAGGED))
user.visible_message("<span class='warning'>You emag [src], disabling precise logging and allowing you to clear logs.</span>")
if(user)
user.visible_message("<span class='warning'>You emag [src], disabling precise logging and allowing you to clear logs.</span>")
log_game("[key_name(user)] emagged [src] at [AREACOORD(src)], disabling operator tracking.")
obj_flags |= EMAGGED
playsound(src, "sparks", 50, TRUE)
+3 -2
View File
@@ -134,11 +134,12 @@
qdel(scanner_wand)
return ..()
/obj/machinery/medical_kiosk/emag_act(mob/living/emagger)
/obj/machinery/medical_kiosk/emag_act(mob/user)
..()
if(obj_flags & EMAGGED)
return
emagger.visible_message("<span class='warning'>[emagger] waves a suspicious card by the [src]'s biometric scanner!</span>",
if(user)
user.visible_message("<span class='warning'>[user] waves a suspicious card by the [src]'s biometric scanner!</span>",
"<span class='notice'>You overload the sensory electronics, the diagnostic readouts start jittering across the screen..</span>")
obj_flags |= EMAGGED
var/obj/item/circuitboard/computer/cargo/board = circuit
+1 -1
View File
@@ -232,7 +232,7 @@
grind_results = list(/datum/reagent/medicine/spaceacillin = 2)
/obj/item/stack/medical/mesh/Initialize()
..()
. = ..()
if(amount == max_amount) //only seal full mesh packs
is_open = FALSE
icon_state = "regen_mesh_closed"
@@ -440,9 +440,10 @@
/obj/structure/closet/emag_act(mob/user)
if(secure && !broken)
user.visible_message("<span class='warning'>Sparks fly from [src]!</span>",
"<span class='warning'>You scramble [src]'s lock, breaking it open!</span>",
"<span class='hear'>You hear a faint electrical spark.</span>")
if(user)
user.visible_message("<span class='warning'>Sparks fly from [src]!</span>",
"<span class='warning'>You scramble [src]'s lock, breaking it open!</span>",
"<span class='hear'>You hear a faint electrical spark.</span>")
playsound(src, "sparks", 50, TRUE)
broken = TRUE
locked = FALSE
+3 -2
View File
@@ -51,8 +51,9 @@
/obj/machinery/computer/cargo/emag_act(mob/user)
if(obj_flags & EMAGGED)
return
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
"<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
if(user)
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
"<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
obj_flags |= EMAGGED
contraband = TRUE
+3 -2
View File
@@ -59,8 +59,9 @@
/obj/machinery/computer/cargo/express/emag_act(mob/living/user)
if(obj_flags & EMAGGED)
return
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
"<span class='notice'>You change the routing protocols, allowing the Supply Pod to land anywhere on the station.</span>")
if(user)
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
"<span class='notice'>You change the routing protocols, allowing the Supply Pod to land anywhere on the station.</span>")
obj_flags |= EMAGGED
// This also sets this on the circuit board
var/obj/item/circuitboard/computer/cargo/board = circuit
+1 -2
View File
@@ -111,8 +111,7 @@ GLOBAL_LIST_INIT(hailer_phrases, list(
/obj/item/clothing/mask/gas/sechailer/attack_self()
halt()
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user as mob)
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user)
if(safety)
safety = FALSE
to_chat(user, "<span class='warning'>You silently fry [src]'s vocal circuit with the cryptographic sequencer.</span>")
@@ -134,7 +134,10 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
message_admins("[ADMIN_LOOKUPFLW(user)] emagged cyborg [ADMIN_LOOKUPFLW(src)]. Laws overridden.")
log_game("[key_name(user)] emagged cyborg [key_name(src)]. Laws overridden.")
var/time = time2text(world.realtime,"hh:mm:ss")
GLOB.lawchanges.Add("[time] <B>:</B> [user.name]([user.key]) emagged [name]([key])")
if(user)
GLOB.lawchanges.Add("[time] <B>:</B> [user.name]([user.key]) emagged [name]([key])")
else
GLOB.lawchanges.Add("[time] <B>:</B> [name]([key]) emagged by external event.")
to_chat(src, "<span class='danger'>ALERT: Foreign software detected.</span>")
sleep(5)
to_chat(src, "<span class='danger'>Initiating diagnostics...</span>")
@@ -148,9 +151,10 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
to_chat(src, "<span class='danger'>> N</span>")
sleep(20)
to_chat(src, "<span class='danger'>ERRORERRORERROR</span>")
to_chat(src, "<span class='danger'>ALERT: [user.real_name] is your new master. Obey your new laws and [user.p_their()] commands.</span>")
if(user)
to_chat(src, "<span class='danger'>ALERT: [user.real_name] is your new master. Obey your new laws and [user.p_their()] commands.</span>")
set_zeroth_law("Only [user.real_name] and people [user.p_they()] designate[user.p_s()] as being such are Syndicate Agents.")
laws = new /datum/ai_laws/syndicate_override
set_zeroth_law("Only [user.real_name] and people [user.p_they()] designate[user.p_s()] as being such are Syndicate Agents.")
laws.associate(src)
update_icons()
@@ -199,7 +199,8 @@
bot_reset()
turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP.
to_chat(src, "<span class='userdanger'>(#$*#$^^( OVERRIDE DETECTED</span>")
log_combat(user, src, "emagged")
if(user)
log_combat(user, src, "emagged")
return
else //Bot is unlocked, but the maint panel has not been opened with a screwdriver yet.
to_chat(user, "<span class='warning'>You need to open maintenance panel first!</span>")
@@ -23,6 +23,8 @@
/obj/projectile/bullet/c38/trac/on_hit(atom/target, blocked = FALSE)
. = ..()
var/mob/living/carbon/M = target
if(!istype(M))
return
var/obj/item/implant/tracking/c38/imp
for(var/obj/item/implant/tracking/c38/TI in M.implants) //checks if the target already contains a tracking implant
imp = TI
@@ -132,7 +132,7 @@ Note: Must be placed within 3 tiles of the R&D Console
var/user_mode_string = ""
if(length(point_value))
user_mode_string = " for [json_encode(point_value)] points"
else if(loaded_item.custom_materials.len)
else if(length(loaded_item.custom_materials))
user_mode_string = " for material reclamation"
var/choice = input("Are you sure you want to destroy [loaded_item][user_mode_string]?") in list("Proceed", "Cancel")
if(choice == "Cancel")
+1 -1
View File
@@ -145,7 +145,7 @@
return
var/time = TIME_LEFT
message_admins("[ADMIN_LOOKUPFLW(user.client)] has emagged the emergency shuttle [time] seconds before launch.")
message_admins("[ADMIN_LOOKUPFLW(user)] has emagged the emergency shuttle [time] seconds before launch.")
log_game("[key_name(user)] has emagged the emergency shuttle in [COORD(src)] [time] seconds before launch.")
ENABLE_BITFIELD(obj_flags, EMAGGED)
+2 -2
View File
@@ -187,9 +187,9 @@
/obj/item/organ/cyberimp/arm/toolset/l
zone = BODY_ZONE_L_ARM
/obj/item/organ/cyberimp/arm/toolset/emag_act()
/obj/item/organ/cyberimp/arm/toolset/emag_act(mob/user)
if(!(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list))
to_chat(usr, "<span class='notice'>You unlock [src]'s integrated knife!</span>")
to_chat(user, "<span class='notice'>You unlock [src]'s integrated knife!</span>")
items_list += new /obj/item/kitchen/knife/combat/cyborg(src)
return 1
return 0