diff --git a/code/datums/outfits/outfit_debug.dm b/code/datums/outfits/outfit_debug.dm index 287c8ea45a4..908eafdb38a 100644 --- a/code/datums/outfits/outfit_debug.dm +++ b/code/datums/outfits/outfit_debug.dm @@ -194,8 +194,10 @@ desc = "A wonder of modern medicine. This tool functions as any other sort of surgery tool, and finishes in only a fraction of the time. Hey, how'd you get your hands on this, anyway?" toolspeed = 0.01 -/obj/item/scalpel/laser/manager/debug/attack_self__legacy__attackchain(mob/user) - . = ..() +/obj/item/scalpel/laser/manager/debug/activate_self(mob/user) + if(..()) + return + toolspeed = toolspeed == 0.5 ? 0.01 : 0.5 to_chat(user, "[src] is now set to toolspeed [toolspeed]") playsound(src, 'sound/effects/pop.ogg', 50, 0) //Change the mode diff --git a/code/game/objects/items/theft_items.dm b/code/game/objects/items/theft_items.dm index 768458f1087..06c9849babd 100644 --- a/code/game/objects/items/theft_items.dm +++ b/code/game/objects/items/theft_items.dm @@ -1,8 +1,4 @@ //Items for nuke theft, supermatter theft traitor objective - - -// STEALING THE NUKE - //the nuke core, base item /obj/item/nuke_core name = "plutonium core" @@ -12,6 +8,7 @@ inhand_icon_state = "plutoniumcore" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF flags_2 = RAD_NO_CONTAMINATE_2 //This is made from radioactive material so cannot really be contaminated + new_attack_chain = TRUE var/cooldown = 0 var/pulseicon = "plutonium_core_pulse" // Is this made from radioactive material or not. @@ -26,16 +23,11 @@ /obj/item/nuke_core/Destroy() return ..() -/obj/item/nuke_core/attackby__legacy__attackchain(obj/item/nuke_core_container/container, mob/user) - if(istype(container)) - container.load(src, user) - else - return ..() - /obj/item/nuke_core/suicide_act(mob/user) user.visible_message("[user] is rubbing [src] against [user.p_themselves()]! It looks like [user.p_theyre()] trying to commit suicide!") return TOXLOSS +// MARK: Plutonium core /// The steal objective, so it doesnt mess with the SM sliver on pinpointers and objectives /obj/item/nuke_core/plutonium @@ -52,22 +44,10 @@ inhand_icon_state = "syringe_kit" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //Don't want people trying to break it open with acid, then destroying the core. var/obj/item/nuke_core/plutonium/core + new_attack_chain = TRUE var/dented = FALSE var/cracked = FALSE -/obj/item/nuke_core_container/Destroy() - QDEL_NULL(core) - return ..() - -/obj/item/nuke_core_container/ex_act(severity) - switch(severity) - if(EXPLODE_DEVASTATE) - if(!cracked) - crack_open() - if(EXPLODE_HEAVY) - if(!dented) - dented = TRUE - /obj/item/nuke_core_container/examine(mob/user) . = ..() if(cracked) // Cracked open. @@ -75,7 +55,22 @@ else if(dented) // Not cracked, but dented. . += "[src] looks dented. Perhaps a bigger explosion may break it." else // Not cracked or dented. - . += "Fine print on the box reads \"Syndicate Field Operations secure core extraction container. Guaranteed thermite proof, assistant proof, and explosive resistant.\"" + . += "Fine print on the box reads \"Syndicate Field Operations secure core extraction container. Guaranteed thermite proof, assistant proof, and explosive resistant.\"" + +/obj/item/nuke_core_container/item_interaction(mob/living/user, obj/item/used, list/modifiers) + if(!istype(used, /obj/item/nuke_core/plutonium)) + return ..() + + var/obj/item/nuke_core/plutonium/core = used + if(cracked) + return ITEM_INTERACT_COMPLETE + + if(!user.drop_item()) + to_chat(user, "[core] is stuck to your hand!") + return ITEM_INTERACT_COMPLETE + + load(core, user) + return ITEM_INTERACT_COMPLETE /obj/item/nuke_core_container/attack_hand(mob/user) if(cracked && core) @@ -83,6 +78,17 @@ else return ..() +/obj/item/nuke_core_container/ex_act(severity) + switch(severity) + if(EXPLODE_DEVASTATE) + if(!cracked) + crack_open() + if(EXPLODE_HEAVY) + dented = TRUE + +/obj/item/nuke_core_container/Destroy() + QDEL_NULL(core) + return ..() /obj/item/nuke_core_container/proc/load(obj/item/nuke_core/plutonium/new_core, mob/user) if(core || !istype(new_core) || cracked) @@ -111,16 +117,6 @@ if(ismob(loc)) to_chat(loc, "[src] is permanently sealed, [core]'s radiation is contained.") -/obj/item/nuke_core_container/attackby__legacy__attackchain(obj/item/nuke_core/plutonium/core, mob/user) - if(!istype(core) || cracked) - return ..() - - if(!user.drop_item()) - to_chat(user, "[core] is stuck to your hand!") - return - else - load(core, user) - /obj/item/nuke_core_container/proc/crack_open() visible_message("[src] bursts open!") if(core) @@ -145,8 +141,7 @@
  • ???
  • \ " -// STEALING SUPERMATTER. - +// MARK: Supermatter sliver /obj/item/paper/guides/antag/supermatter_sliver info = "How to safely extract a supermatter sliver:
    \