From 9701c76d2d1c8349e618f9138eb91fdb1f51fa03 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Fri, 30 Aug 2019 13:03:52 +0200 Subject: [PATCH] Review fixes --- .../gamemodes/malfunction/Malf_Modules.dm | 45 +++++++++++++++---- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index ca01393b60a..9a40cb58881 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -166,6 +166,8 @@ A.playsound_local(A, AM.unlock_sound, 50, 0) else //Adding uses to an existing module action.uses += initial(action.uses) + action.desc = "[initial(action.desc)] It has [action.uses] use\s remaining." + action.UpdateButtonIcon() temp = "Additional use[action.uses > 1 ? "s" : ""] added to [action.name]!" processing_time -= AM.cost @@ -460,16 +462,25 @@ desc = "Overheats a machine, causing a small explosion after a short time." button_icon_state = "overload_machine" uses = 2 + auto_use_uses = FALSE + +/datum/action/innate/ai/overload_machine/New() + ..() + desc = "[desc] It has [uses] use\s remaining." + button.desc = desc /datum/action/innate/ai/overload_machine/Activate() var/select = input("Choose a device to overload", "Overload Machine", null, null) as null|anything in GLOB.machines if(!select) - uses++ return var/obj/machinery/M = select if(istype(M, /obj/machinery)) if(uses > 0) + adjust_uses(-1) + if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe + desc = "[initial(desc)] It has [uses] use\s remaining." + UpdateButtonIcon() M.audible_message("You hear a loud electrical buzzing sound!") to_chat(owner, "Overloading machine circuitry...") spawn(50) @@ -480,7 +491,6 @@ to_chat(owner, "Out of uses.") else to_chat(owner, "That's not a machine.") - uses++ return //Override Machine: Allows the AI to override a machine, animating it into an angry, living version of itself. @@ -497,20 +507,28 @@ desc = "Animates a targeted machine, causing it to attack anyone nearby." button_icon_state = "override_machine" uses = 4 + auto_use_uses = FALSE + +/datum/action/innate/ai/override_machine/New() + ..() + desc = "[desc] It has [uses] use\s remaining." + button.desc = desc /datum/action/innate/ai/override_machine/Activate() var/select = input("Choose a device to override", "Override Machine", null, null) as null|anything in GLOB.machines if(!select) - uses++ return var/obj/machinery/M = select if(istype(M, /obj/machinery)) if(!M.can_be_overridden()) to_chat(owner, "Can't override this device.") - uses++ return else if(uses > 0) + adjust_uses(-1) + if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe + desc = "[initial(desc)] It has [uses] use\s remaining." + UpdateButtonIcon() M.audible_message("You hear a loud electrical buzzing sound!") to_chat(owner, "Reprogramming machine behaviour...") spawn(50) @@ -520,7 +538,6 @@ to_chat(owner, "Out of uses.") else to_chat(owner, "That's not a machine.") - uses++ return //Robotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting. @@ -608,9 +625,15 @@ /datum/action/innate/ai/blackout name = "Blackout" - desc = "Overloads lights across the station." + desc = "Overloads random lights across the station." button_icon_state = "blackout" uses = 3 + auto_use_uses = FALSE + +/datum/action/innate/ai/blackout/New() + ..() + desc = "[desc] It has [uses] use\s remaining." + button.desc = desc /datum/action/innate/ai/blackout/Activate() for(var/obj/machinery/power/apc/apc in GLOB.apcs) @@ -620,6 +643,10 @@ apc.overload++ to_chat(owner, "Overcurrent applied to the powernet.") owner.playsound_local(owner, "sparks", 50, 0) + adjust_uses(-1) + if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe + desc = "[initial(desc)] It has [uses] use\s remaining." + UpdateButtonIcon() //Reactivate Camera Network: Reactivates up to 30 cameras across the station. /datum/AI_Module/small/reactivate_cameras @@ -641,7 +668,7 @@ /datum/action/innate/ai/reactivate_cameras/New() ..() - desc = "[desc] There are 30 reactivations remaining." + desc = "[desc] It has [uses] use\s remaining." button.desc = desc /datum/action/innate/ai/reactivate_cameras/Activate() @@ -659,8 +686,8 @@ owner.playsound_local(owner, 'sound/items/wirecutter.ogg', 50, 0) adjust_uses(0, TRUE) //Checks the uses remaining if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe - desc = "[initial(desc)] There are [uses] reactivations remaining." - owner_AI.update_action_buttons() + desc = "[initial(desc)] It has [uses] use\s remaining." + UpdateButtonIcon() //Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision. /datum/AI_Module/large/upgrade_cameras