mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
Refactor, improve, and rename canUseTopic to be can_perform_action (#73434)
This builds on what #69790 did and improved the code even further. Notable things: - `Topic()` is a deprecated proc in our codebase (replaced with Javascript tgui) so it makes sense to rename `canUseTopic` to `can_perform_action` which is more straightforward in what it does. - Positional and named arguments have been converted into a easier to use `action_bitflag` - The bitflags adds some new checks you can use like: `NEED_GRAVITY | NEED_LITERACY | NEED_LIGHT` when you want to perform an action. - Redundant, duplicate, or dead code has been removed. - Fixes several runtimes where `canUseTopic` was being called without a proper target (IV drips, gibber, food processor) - Better documentation for the proc and bitflags with examples
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
return NONE
|
||||
|
||||
/obj/item/toy/cards/cardhand/attack_self(mob/living/user)
|
||||
if(!isliving(user) || !user.canUseTopic(src, be_close = TRUE, no_dexterity = TRUE, no_tk = TRUE))
|
||||
if(!isliving(user) || !user.can_perform_action(src, NEED_DEXTERITY| FORBID_TELEKINESIS_REACH))
|
||||
return
|
||||
|
||||
var/list/handradial = list()
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
* * obj/item/toy/singlecard/card (optional) - The card drawn from the hand
|
||||
**/
|
||||
/obj/item/toy/cards/proc/draw(mob/living/user, obj/item/toy/singlecard/card)
|
||||
if(!isliving(user) || !user.canUseTopic(src, be_close = TRUE, no_dexterity = TRUE, no_tk = TRUE))
|
||||
if(!isliving(user) || !user.can_perform_action(src, NEED_DEXTERITY| FORBID_TELEKINESIS_REACH))
|
||||
return
|
||||
|
||||
if(count_cards() == 0)
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
other_players = other_players)
|
||||
|
||||
/obj/item/toy/cards/deck/attack_hand(mob/living/user, list/modifiers, flip_card = FALSE)
|
||||
if(!ishuman(user) || !user.canUseTopic(src, be_close = TRUE, no_dexterity = TRUE, no_tk = TRUE, need_hands = !iscyborg(user)))
|
||||
if(!ishuman(user) || !user.can_perform_action(src, NEED_DEXTERITY|FORBID_TELEKINESIS_REACH))
|
||||
return
|
||||
|
||||
var/obj/item/toy/singlecard/card = draw(user)
|
||||
@@ -160,7 +160,7 @@
|
||||
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
|
||||
|
||||
/obj/item/toy/cards/deck/AltClick(mob/living/user)
|
||||
if(user.canUseTopic(src, be_close = TRUE, no_dexterity = TRUE, no_tk = TRUE, need_hands = !iscyborg(user)))
|
||||
if(user.can_perform_action(src, NEED_DEXTERITY|FORBID_TELEKINESIS_REACH))
|
||||
if(wielded)
|
||||
shuffle_cards(user)
|
||||
else
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
return
|
||||
|
||||
var/cardtext = stripped_input(user, "What do you wish to write on the card?", "Card Writing", "", 50)
|
||||
if(!cardtext || !user.canUseTopic(src, be_close = TRUE))
|
||||
if(!cardtext || !user.can_perform_action(src))
|
||||
return
|
||||
|
||||
cardname = cardtext
|
||||
@@ -230,7 +230,7 @@
|
||||
attack_self(user)
|
||||
|
||||
/obj/item/toy/singlecard/attack_self(mob/living/carbon/human/user)
|
||||
if(!ishuman(user) || !user.canUseTopic(src, be_close = TRUE, no_dexterity = TRUE, no_tk = TRUE, need_hands = !iscyborg(user)))
|
||||
if(!ishuman(user) || !user.can_perform_action(src, NEED_DEXTERITY|FORBID_TELEKINESIS_REACH))
|
||||
return
|
||||
|
||||
Flip()
|
||||
@@ -238,7 +238,7 @@
|
||||
user.balloon_alert_to_viewers("flips a card")
|
||||
|
||||
/obj/item/toy/singlecard/AltClick(mob/living/carbon/human/user)
|
||||
if(user.canUseTopic(src, be_close = TRUE, no_dexterity = TRUE, no_tk = TRUE, need_hands = !iscyborg(user)))
|
||||
if(user.can_perform_action(src, NEED_DEXTERITY|FORBID_TELEKINESIS_REACH))
|
||||
transform = turn(transform, 90)
|
||||
// use the simple_rotation component to make this turn with Alt+RMB & Alt+LMB at some point in the future - TimT
|
||||
return ..()
|
||||
|
||||
Reference in New Issue
Block a user