mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 16:07:40 +00:00
95 lines
2.2 KiB
Plaintext
95 lines
2.2 KiB
Plaintext
/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
|