beeg commit

This commit is contained in:
Jerry Wester
2022-12-10 00:55:20 -07:00
parent b538ad721b
commit f7ac3c7624
73 changed files with 3502 additions and 533 deletions
+54 -17
View File
@@ -3,28 +3,41 @@
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
/// Whether this action is intended for the inserted pAI. Stuff breaks a lot if this is done differently.
var/pai_action = FALSE
/datum/action/item_action/mod/New(Target)
..()
mod = Target
/datum/action/item_action/mod/Grant(mob/M)
if(owner)
Share(M)
if(!istype(Target, /obj/item/mod/control))
qdel(src)
return
..()
if(ai_action)
background_icon_state = ACTION_BUTTON_DEFAULT_BACKGROUND
/datum/action/item_action/mod/Remove(mob/M)
var/mob_to_grant
for(var/datum/weakref/reference as anything in sharers)
var/mob/freeloader = reference.resolve()
if(!freeloader)
continue
mob_to_grant = freeloader
break
..()
if(mob_to_grant)
Grant(mob_to_grant)
/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"
@@ -37,6 +50,12 @@
mod.choose_deploy(usr)
return TRUE
/datum/action/item_action/mod/deploy/ai
ai_action = TRUE
/datum/action/item_action/mod/deploy/pai
pai_action = TRUE
/datum/action/item_action/mod/activate
name = "Activate MODsuit"
desc = "Activate/Deactivate the MODsuit."
@@ -48,6 +67,12 @@
mod.toggle_activate(usr)
return TRUE
/datum/action/item_action/mod/activate/ai
ai_action = TRUE
/datum/action/item_action/mod/activate/pai
pai_action = TRUE
/datum/action/item_action/mod/module
name = "Toggle Module"
desc = "Toggle a MODsuit module."
@@ -59,6 +84,12 @@
mod.quick_module(usr)
return TRUE
/datum/action/item_action/mod/module/ai
ai_action = TRUE
/datum/action/item_action/mod/module/pai
pai_action = TRUE
/datum/action/item_action/mod/panel
name = "MODsuit Panel"
desc = "Open the MODsuit's panel."
@@ -69,3 +100,9 @@
return FALSE
mod.ui_interact(usr)
return TRUE
/datum/action/item_action/mod/panel/ai
ai_action = TRUE
/datum/action/item_action/mod/panel/pai
pai_action = TRUE