This commit is contained in:
silicons
2020-07-24 20:37:02 -07:00
parent 46fc0b6ae5
commit 44d3a0aa27
8 changed files with 42 additions and 30 deletions
+8 -8
View File
@@ -108,9 +108,9 @@
return !(. & DISCARD_LAST_ACTION)
else
. = UnarmedAttack(A)
if(!(. & NO_AUTO_CLICKDELAY_HANDLING))
DelayNextAction(CLICK_CD_MELEE)
return UnarmedAttack(A)? TRUE : FALSE
if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A))
DelayNextAction(CLICK_CD_MELEE))
return .? TRUE : FALSE
//Can't reach anything else in lockers or other weirdness
if(!loc.AllowClick())
@@ -123,12 +123,12 @@
return !(. & DISCARD_LAST_ACTION)
else
. = UnarmedAttack(A)
if(!(. & NO_AUTO_CLICKDELAY_HANDLING))
DelayNextAction(CLICK_CD_MELEE)
return UnarmedAttack(A)? TRUE : FALSE
if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A))
DelayNextAction(CLICK_CD_MELEE))
return .? TRUE : FALSE
else
if(W)
W.ranged_attack_chain(src, A, params)
return W.ranged_attack_chain(src, A, params)
else
RangedAttack(A,params)
@@ -376,7 +376,7 @@
return
/mob/living/LaserEyes(atom/A, params)
DelayNextAction(CLICK_CD_RANGE)
DelayNextAction(CLICK_CD_RANGE, flush = TRUE)
var/obj/item/projectile/beam/LE = new /obj/item/projectile/beam( loc )
LE.icon = 'icons/effects/genetics.dmi'
+5 -2
View File
@@ -79,6 +79,8 @@
// cyborgs are prohibited from using storage items so we can I think safely remove (A.loc in contents)
if(A == loc || (A in loc) || (A in contents))
. = W.melee_attack_chain(src, A, params)
if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A))
DelayNextAction(CLICK_CD_MELEE))
return !(. & DISCARD_LAST_ACTION)
if(!isturf(loc))
@@ -88,10 +90,11 @@
if(isturf(A) || isturf(A.loc))
if(A.Adjacent(src)) // see adjacent.dm
. = W.melee_attack_chain(src, A, params)
if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A))
DelayNextAction(CLICK_CD_MELEE))
return !(. & DISCARD_LAST_ACTION)
else
W.afterattack(A, src, 0, params)
return
return W.afterattack(A, src, 0, params)
//Middle click cycles through selected modules.
/mob/living/silicon/robot/MiddleClickOn(atom/A)
+1 -1
View File
@@ -30,7 +30,7 @@
if(!CHECK_MOBILITY(L, MOBILITY_USE))
to_chat(L, "<span class='warning'>You are unable to raise [src] right now!</span>")
return
afterattack(target, user, FALSE, params)
return afterattack(target, user, FALSE, params)
// Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.
/obj/item/proc/attack_self(mob/user)
+10 -4
View File
@@ -104,13 +104,19 @@
. = ..()
if(gloves)
var/obj/item/clothing/gloves/G = gloves
if(istype(G) && G.Touch(A,0)) // for magic gloves
. |= G.Touch(A, FALSE)
if(. & INTERRUPT_UNARMED_ATTACK)
return
if(istype(glasses))
. |= glasses.ranged_attack(src, A, mouseparams)
if(. & INTERRUPT_UNARMED_ATTACK)
return
if (istype(glasses) && glasses.ranged_attack(src,A,mouseparams))
return
for(var/datum/mutation/human/HM in dna.mutations)
HM.on_ranged_attack(A, mouseparams)
. |= HM.on_ranged_attack(A, mouseparams)
if(. & INTERRUPT_UNARMED_ATTACK)
return
if(isturf(A) && get_dist(src,A) <= 1)
src.Move_Pulled(A)
+10 -6
View File
@@ -41,9 +41,10 @@
else
if(!AltUnarmedAttack(A))
. = UnarmedAttack(A)
if(!(. & NO_AUTO_CLICKDELAY_HANDLING))
DelayNextAction(CLICK_CD_MELEE)
return UnarmedAttack(A)? TRUE : FALSE
if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A))
DelayNextAction(CLICK_CD_MELEE))
return .? TRUE : FALSE
return TRUE
//Can't reach anything else in lockers or other weirdness
if(!loc.AllowClick())
@@ -57,9 +58,10 @@
else
if(!AltUnarmedAttack(A,1))
. = UnarmedAttack(A)
if(!(. & NO_AUTO_CLICKDELAY_HANDLING))
DelayNextAction(CLICK_CD_MELEE)
return UnarmedAttack(A)? TRUE : FALSE
if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A))
DelayNextAction(CLICK_CD_MELEE))
return .? TRUE : FALSE
return TRUE
else
if(W)
if(!W.altafterattack(A, src, FALSE, params))
@@ -67,6 +69,8 @@
else
if(!AltRangedAttack(A,params))
RangedAttack(A,params)
return
return TRUE
/mob/proc/AltUnarmedAttack(atom/A, proximity_flag)
if(ismob(A))
+2 -5
View File
@@ -3,14 +3,11 @@
to_chat(src, "<span class='notice'>You look at the state of the universe and sigh.</span>") //lets face it, people rarely ever see this message in its intended condition.
return TRUE
if(!A.alt_attack_hand(src))
A.attack_hand(src)
return TRUE
return TRUE
return A.alt_attack_hand(src)
/mob/living/carbon/human/AltRangedAttack(atom/A, params)
if(isturf(A) || incapacitated()) // pretty annoying to wave your fist at floors and walls. And useless.
return TRUE
return
if(!CheckActionCooldown(CLICK_CD_RANGE))
return
DelayNextAction()
@@ -532,8 +532,10 @@ Auto Patrol[]"},
/mob/living/simple_animal/bot/ed209/RangedAttack(atom/A)
if(!on)
return
return ..()
shootAt(A)
DelayNextAction()
return TRUE
/mob/living/simple_animal/bot/ed209/proc/stun_attack(mob/living/carbon/C)
playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
@@ -523,9 +523,9 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega
if(ranged && ranged_cooldown <= world.time)
target = A
OpenFire(A)
..()
DelayNextAction()
. = ..()
return TRUE
////// AI Status ///////
/mob/living/simple_animal/hostile/proc/AICanContinue(var/list/possible_targets)