mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-26 21:49:11 +01:00
Ports tgstation/tgstation/pull/15673 (#16495)
* Ports tgstation/tgstation/pull/15673 * Add a small delay to icon updating to cover up SSoverlays * Fix actions on robot modules
This commit is contained in:
@@ -208,12 +208,6 @@ var/list/slot_equipment_priority = list( \
|
||||
/mob/proc/temporarilyRemoveItemFromInventory(obj/item/I, force = FALSE, idrop = TRUE)
|
||||
return u_equip(I, force, null, TRUE, idrop)
|
||||
|
||||
///sometimes we only want to grant the item's action if it's equipped in a specific slot.
|
||||
/obj/item/proc/item_action_slot_check(slot, mob/user)
|
||||
if(slot == SLOT_BACK || slot == LEGS) //these aren't true slots, so avoid granting actions there
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
///Get the item on the mob in the storage slot identified by the id passed in
|
||||
/mob/proc/get_item_by_slot(slot_id)
|
||||
return null
|
||||
|
||||
@@ -455,7 +455,7 @@
|
||||
throw_alert("handcuffed", /obj/screen/alert/restrained/handcuffed, new_master = handcuffed)
|
||||
else
|
||||
clear_alert("handcuffed")
|
||||
update_action_buttons() //some of our action buttons might be unusable when we're handcuffed.
|
||||
update_action_buttons_icon() //some of our action buttons might be unusable when we're handcuffed.
|
||||
update_inv_handcuffed()
|
||||
|
||||
// Clears blood overlays
|
||||
|
||||
@@ -222,7 +222,6 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
else
|
||||
return 0
|
||||
|
||||
update_action_buttons()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -369,9 +368,6 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
|
||||
W.hud_layerise()
|
||||
|
||||
if(W.action_button_name)
|
||||
update_action_buttons()
|
||||
|
||||
if(W.zoom)
|
||||
W.zoom()
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/mob/living/death(gibbed)
|
||||
clear_fullscreens()
|
||||
update_action_buttons_icon()
|
||||
if(ai_holder)
|
||||
ai_holder.go_sleep()
|
||||
|
||||
|
||||
@@ -75,8 +75,6 @@
|
||||
handle_disabilities() // eye, ear, brain damages
|
||||
handle_statuses() //all special effects, stunned, weakened, jitteryness, hallucination, sleeping, etc
|
||||
|
||||
handle_actions()
|
||||
|
||||
update_canmove()
|
||||
|
||||
handle_regular_hud_updates()
|
||||
|
||||
@@ -524,22 +524,6 @@
|
||||
/mob/living/proc/reagent_permeability()
|
||||
return 1
|
||||
|
||||
/mob/living/proc/handle_actions()
|
||||
//Pretty bad, i'd use picked/dropped instead but the parent calls in these are nonexistent
|
||||
for(var/datum/action/A in actions)
|
||||
if(A.CheckRemoval(src))
|
||||
A.Remove(src)
|
||||
for(var/obj/item/I in src)
|
||||
if(I.action_button_name)
|
||||
if(!I.action)
|
||||
if(I.action_button_is_hands_free)
|
||||
I.action = new/datum/action/item_action/hands_free
|
||||
else
|
||||
I.action = new/datum/action/item_action
|
||||
I.action.name = I.action_button_name
|
||||
I.action.target = I
|
||||
I.action.Grant(src)
|
||||
return
|
||||
|
||||
// Returns a number to determine if something is harder or easier to hit than normal.
|
||||
/mob/living/proc/get_evasion()
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
/mob/living/silicon/robot/proc/uneq_active()
|
||||
if(isnull(module_active))
|
||||
return
|
||||
var/obj/item/I = module_active
|
||||
for(var/datum/action/A as anything in I.actions)
|
||||
A.Remove(src)
|
||||
if(module_state_1 == module_active)
|
||||
if(istype(module_state_1,/obj/item/borg/sight))
|
||||
sight_mode &= ~module_state_1:sight_mode
|
||||
@@ -64,6 +67,9 @@
|
||||
if (client)
|
||||
client.screen -= module_state_1
|
||||
contents -= module_state_1
|
||||
var/obj/item/I = module_state_1
|
||||
for(var/datum/action/A as anything in I.actions)
|
||||
A.Remove(src)
|
||||
module_state_1:loc = module
|
||||
module_state_1 = null
|
||||
inv1.icon_state = "inv1"
|
||||
@@ -72,6 +78,9 @@
|
||||
sight_mode &= ~module_state_2:sight_mode
|
||||
if (client)
|
||||
client.screen -= module_state_2
|
||||
var/obj/item/I = module_state_2
|
||||
for(var/datum/action/A as anything in I.actions)
|
||||
A.Remove(src)
|
||||
contents -= module_state_2
|
||||
module_state_2:loc = module
|
||||
module_state_2 = null
|
||||
@@ -81,6 +90,9 @@
|
||||
sight_mode &= ~module_state_3:sight_mode
|
||||
if (client)
|
||||
client.screen -= module_state_3
|
||||
var/obj/item/I = module_state_3
|
||||
for(var/datum/action/A as anything in I.actions)
|
||||
A.Remove(src)
|
||||
contents -= module_state_3
|
||||
module_state_3:loc = module
|
||||
module_state_3 = null
|
||||
@@ -276,6 +288,9 @@
|
||||
pounce.icon_state = initial(pounce.icon_state)
|
||||
pounce.desc = initial(pounce.desc)
|
||||
pounce.bluespace = initial(pounce.bluespace)
|
||||
if(O)
|
||||
for(var/datum/action/A as anything in O.actions)
|
||||
A.Grant(src)
|
||||
|
||||
/mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands.
|
||||
W.forceMove(get_turf(src))
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
//Status updates, death etc.
|
||||
clamp_values()
|
||||
handle_regular_status_updates()
|
||||
handle_actions()
|
||||
handle_instability()
|
||||
// For some reason borg Life() doesn't call ..()
|
||||
handle_modifiers()
|
||||
|
||||
Reference in New Issue
Block a user