mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 13:37:58 +01:00
Larger than expected (#31265)
This commit is contained in:
+26
-18
@@ -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)
|
||||
|
||||
@@ -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."))
|
||||
|
||||
Reference in New Issue
Block a user