/datum/action/item_action/mod background_icon_state = "bg_tech_blue" icon_icon = 'icons/mob/actions/actions_mod.dmi' check_flags = AB_CHECK_CONSCIOUS var/obj/item/mod/control/mod /// Whether this action is intended for the AI. Stuff breaks a lot if this is done differently. var/ai_action = FALSE /datum/action/item_action/mod/New(Target) ..() if(!istype(Target, /obj/item/mod/control)) qdel(src) return if(ai_action) background_icon_state = "bg_tech" /datum/action/item_action/mod/Grant(mob/user) mod = target if(ai_action && user != mod.ai) return else if(!ai_action && user == mod.ai) return return ..() /datum/action/item_action/mod/Remove(mob/user) if(ai_action && mod && user != mod.ai) return else if(!ai_action && mod && user == mod.ai) return return ..() /datum/action/item_action/mod/Trigger(trigger_flags) if(!IsAvailable()) return FALSE if(mod.malfunctioning && prob(75)) mod.balloon_alert(usr, "button malfunctions!") return FALSE return TRUE /datum/action/item_action/mod/deploy name = "Deploy MODsuit" desc = "Deploy/Conceal a part of the MODsuit." button_icon_state = "deploy" /datum/action/item_action/mod/deploy/Trigger() if(!IsAvailable()) return FALSE mod.choose_deploy(usr) return TRUE /datum/action/item_action/mod/deploy/ai ai_action = TRUE /datum/action/item_action/mod/activate name = "Activate MODsuit" desc = "Activate/Deactivate the MODsuit." button_icon_state = "activate" /datum/action/item_action/mod/activate/Trigger() if(!IsAvailable()) return FALSE mod.toggle_activate(usr) return TRUE /datum/action/item_action/mod/activate/ai ai_action = TRUE /datum/action/item_action/mod/module name = "Toggle Module" desc = "Toggle a MODsuit module." button_icon_state = "module" /datum/action/item_action/mod/module/Trigger() if(!IsAvailable()) return FALSE mod.quick_module(usr) return TRUE /datum/action/item_action/mod/module/ai ai_action = TRUE /datum/action/item_action/mod/panel name = "MODsuit Panel" desc = "Open the MODsuit's panel." button_icon_state = "panel" /datum/action/item_action/mod/panel/Trigger() if(!IsAvailable()) return FALSE mod.ui_interact(usr) return TRUE /datum/action/item_action/mod/panel/ai ai_action = TRUE