Skip to content

Commit

Permalink
code fix
Browse files Browse the repository at this point in the history
  • Loading branch information
X0-11 committed Feb 2, 2024
1 parent 967515b commit d2f21ef
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 22 deletions.
2 changes: 1 addition & 1 deletion code/_onclick/item_attack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ avoid code duplication. This includes items that may sometimes act as a standard
//I would prefer to rename this to attack(), but that would involve touching hundreds of files.
/obj/item/proc/resolve_attackby(atom/A, mob/user, var/click_params)
add_fingerprint(user)
if(has_melee_strike(user))
if(has_melee_strike(user,1))
return melee_strike.do_pre_strike(user,A,src,click_params)
return A.attackby(src, user, click_params)

Expand Down
35 changes: 15 additions & 20 deletions code/modules/halo/misc/melee_strikes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,29 +31,38 @@

/obj/item/New()
if(melee_strikes)
verbs += /obj/item/proc/verb_swap_stances
melee_strikes += null //Purposefully added, so the stance-switch system can allow you to switch to no-stance for lunges and such.
for(var/type in melee_strikes)
if(isnull(type))
continue
var/strike = new type
melee_strikes -= type
melee_strikes += strike
melee_strikes += null //Purposefully added, so the stance-switch system can allow you to switch to no-stance for lunges and such.
. = ..()

/obj/item/proc/has_melee_strike(var/mob/user)
/obj/item/proc/has_melee_strike(var/mob/user,var/active_only = 0)
if(isnull(melee_strikes))
return null
return 0
if(ishuman(user))
var/mob/living/carbon/human/h = user
if(src in list(h.l_hand,h.r_hand) && has_melee_strike(user))
verbs += /obj/item/proc/verb_swap_stances
else
verbs -= /obj/item/proc/verb_swap_stances
if(isnull(melee_strike))
melee_strike = melee_strikes[1]
if(!isnull(melee_strike))
melee_strike.strike_active(user)
else if (active_only) //If the caller only wants a true result if we have an *active* melee strike,
return 0 //stop here (because we don't, and can't acquire one in the first step)

return melee_strike
return 1

/obj/item/proc/verb_swap_stances()
set name = "Swap Stances"
set category = "Object"
var/mob/living/carbon/human/user = usr
var/mob/living/user = usr
if(!istype(user)) return
if(user.stat) return

Expand All @@ -73,20 +82,6 @@
return
stance_curr.strike_active(user)

/obj/item/equipped(var/mob/living/carbon/human/user)
. = ..()
if(src in list(user.l_hand,user.r_hand) && has_melee_strike(user))
verbs |= /obj/item/proc/verb_swap_stances
else
verbs -= /obj/item/proc/verb_swap_stances

/obj/item/dropped(mob/user as mob)
. = ..()
if(src in list(user.l_hand,user.r_hand) && has_melee_strike(user))
verbs |= /obj/item/proc/verb_swap_stances
else
verbs -= /obj/item/proc/verb_swap_stances

//Most elements of melee strikes should do nothing extra if set to null.
/datum/melee_strike
var/list/strike_verbs = null //Replacement attack verbs.
Expand All @@ -101,7 +96,7 @@
//These set a max timeframe on chaining, otherwise it reverts back to a base strike type.
var/chain_timeframe = 2 SECONDS
var/chain_expire_at = 0
var/chain_base_strike = null //Typepath.
var/chain_base_strike = null //Typepath.to reset a chain back to.

/datum/melee_strike/proc/strike_active(var/mob/user)
if(strike_switch_text) //Combos may want to keep this quiet.
Expand Down
2 changes: 1 addition & 1 deletion code/modules/halo/weapons/_lunging.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@

/obj/item/afterattack(var/atom/target,var/mob/user,var/is_adjacent,var/click_params)
. = ..()
if(has_melee_strike() && (is_adjacent || (melee_strike.strike_range >= get_dist( get_turf(user),target))))
if(has_melee_strike(user,1) && (is_adjacent || (melee_strike.strike_range >= get_dist( get_turf(user),target))))
melee_strike.do_pre_strike(user,target,src,click_params)
else
do_lunge(target,user,is_adjacent,click_params)

0 comments on commit d2f21ef

Please sign in to comment.