Larger than expected (#31265)

This commit is contained in:
DGamerL
2025-12-26 20:44:42 +00:00
committed by GitHub
parent 8703edf492
commit 231a1206c3
2 changed files with 27 additions and 19 deletions
+26 -18
View File
@@ -244,38 +244,46 @@
return
var/dir_to_target = get_dir(src, target)
if(dir_to_target && !(dir_to_target & dir))//wrong direction
if(dir_to_target && !(dir_to_target & dir)) // Wrong direction
to_chat(user, SPAN_WARNING("You're facing the wrong way!"))
return
if(hasInternalDamage(MECHA_INT_CONTROL_LOST))
target = safepick(view(3,target))
target = safepick(view(3, target))
if(!target)
return
var/mob/living/L = user
if(!target.Adjacent(src))
if(selected && selected.is_ranged())
if(HAS_TRAIT(L, TRAIT_PACIFISM) && selected.harmful)
to_chat(L, SPAN_WARNING("You don't want to harm other living beings!"))
return
if(isliving(target) && selected.harmful && HAS_TRAIT(L, TRAIT_PACIFISM))
to_chat(user, SPAN_WARNING("You don't want to harm other living beings!"))
return
if(selected?.is_ranged())
if(!target.Adjacent(src) || (target.Adjacent(src) && (occupant.a_intent == INTENT_HELP || occupant.a_intent == INTENT_GRAB)))
if(user.mind?.martial_art?.no_guns)
to_chat(L, SPAN_WARNING("[L.mind.martial_art.no_guns_message]"))
return
selected.action(target, params)
else if(selected && selected.is_melee())
if(isliving(target) && selected.harmful && HAS_TRAIT(L, TRAIT_PACIFISM))
to_chat(user, SPAN_WARNING("You don't want to harm other living beings!"))
return
do_melee_attack(target)
else if(selected && selected.is_melee())
selected.action(target, params)
else
if(internal_damage & MECHA_INT_CONTROL_LOST)
target = safepick(oview(1, src))
if(mecha_melee_cooldown || !isatom(target))
return
if(iswallturf(target) || isliving(target) || isobj(target))
target.mech_melee_attack(src)
mecha_melee_cooldown = TRUE
addtimer(VARSET_CALLBACK(src, mecha_melee_cooldown, FALSE), melee_cooldown)
do_melee_attack(target)
/obj/mecha/proc/do_melee_attack(atom/target)
if(internal_damage & MECHA_INT_CONTROL_LOST)
target = safepick(oview(1, src))
if(mecha_melee_cooldown || !isatom(target) || !target.Adjacent(src))
return
if(!iswallturf(target) && !isliving(target) && !isobj(target))
return
target.mech_melee_attack(src)
mecha_melee_cooldown = TRUE
addtimer(VARSET_CALLBACK(src, mecha_melee_cooldown, FALSE), melee_cooldown)
/obj/mecha/proc/mech_toxin_damage(mob/living/target)
playsound(src, 'sound/effects/spray2.ogg', 50, 1)
+1 -1
View File
@@ -186,7 +186,7 @@
M.occupant_message(SPAN_DANGER("You hit [src]."))
visible_message(SPAN_DANGER("[M.name] hits [src]!"), SPAN_USERDANGER("[M.name] hits you!"))
add_attack_logs(M.occupant, src, "Mecha-meleed with [M]")
else
else if(M.occupant.a_intent == INTENT_DISARM)
step_away(src,M)
add_attack_logs(M.occupant, src, "Mecha-pushed with [M]", ATKLOG_ALL)
M.occupant_message(SPAN_WARNING("You push [src] out of the way."))