mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
Merge pull request #19589 from ChangelingRain/ahorriblewishacursecutshortawantsodeepitrunsinboneandbrain
Simple animals can now have a set amount of damage to deal to objects in place of normal melee damage
This commit is contained in:
@@ -150,10 +150,13 @@
|
||||
/obj/structure/alien/resin/attack_animal(mob/living/simple_animal/M)
|
||||
M.changeNext_move(CLICK_CD_MELEE)
|
||||
M.do_attack_animation(src)
|
||||
if(!M.melee_damage_upper)
|
||||
if(!M.melee_damage_upper && !M.obj_damage)
|
||||
return
|
||||
visible_message("<span class='danger'>[M] [M.attacktext] [src]!</span>")
|
||||
take_damage(M.melee_damage_upper, M.melee_damage_type)
|
||||
if(M.obj_damage)
|
||||
take_damage(M.obj_damage, M.melee_damage_type)
|
||||
else
|
||||
take_damage(rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type)
|
||||
|
||||
/obj/structure/alien/resin/CanPass(atom/movable/mover, turf/target, height=0)
|
||||
return !density
|
||||
|
||||
@@ -177,10 +177,14 @@
|
||||
/obj/structure/displaycase/attack_animal(mob/living/simple_animal/M)
|
||||
M.changeNext_move(CLICK_CD_MELEE)
|
||||
M.do_attack_animation(src)
|
||||
if(M.melee_damage_upper > 0)
|
||||
if(M.melee_damage_upper || M.obj_damage)
|
||||
M.visible_message("<span class='danger'>[M.name] smashes against \the [src.name].</span>",\
|
||||
"<span class='danger'>You smash against the [src.name].</span>")
|
||||
take_damage(M.melee_damage_upper, M.melee_damage_type, 1)
|
||||
if(M.obj_damage)
|
||||
take_damage(M.obj_damage, M.melee_damage_type, 1)
|
||||
else
|
||||
take_damage(rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type, 1)
|
||||
|
||||
|
||||
/obj/structure/displaycase/attack_hand(mob/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
|
||||
@@ -112,11 +112,14 @@
|
||||
take_damage(20)
|
||||
|
||||
/obj/structure/fireaxecabinet/attack_animal(mob/living/simple_animal/M)
|
||||
if(!M.melee_damage_upper)
|
||||
if(!M.melee_damage_upper && !M.obj_damage)
|
||||
return
|
||||
M.visible_message("<span class='warning'>[M] smashes against [src].</span>", \
|
||||
"<span class='danger'>You smash against [src].</span>")
|
||||
take_damage(M.melee_damage_upper, M.melee_damage_type)
|
||||
if(M.obj_damage)
|
||||
take_damage(M.obj_damage, M.melee_damage_type)
|
||||
else
|
||||
take_damage(rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type)
|
||||
|
||||
/obj/structure/fireaxecabinet/attack_ai(mob/user)
|
||||
toggle_lock(user)
|
||||
|
||||
@@ -79,13 +79,16 @@
|
||||
|
||||
/obj/structure/grille/attack_animal(var/mob/living/simple_animal/M)
|
||||
M.changeNext_move(CLICK_CD_MELEE)
|
||||
if(M.melee_damage_upper == 0 || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN))
|
||||
if(!M.melee_damage_upper && !M.obj_damage || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN))
|
||||
return
|
||||
M.do_attack_animation(src)
|
||||
M.visible_message("<span class='warning'>[M] smashes against [src].</span>", \
|
||||
"<span class='danger'>You smash against [src].</span>", \
|
||||
"<span class='italics'>You hear twisting metal.</span>")
|
||||
take_damage(M.melee_damage_upper, M.melee_damage_type)
|
||||
if(M.obj_damage)
|
||||
take_damage(M.obj_damage, M.melee_damage_type)
|
||||
else
|
||||
take_damage(rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type)
|
||||
|
||||
|
||||
/obj/structure/grille/mech_melee_attack(obj/mecha/M)
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
attack_generic(user)
|
||||
|
||||
/obj/structure/mirror/attack_animal(mob/living/simple_animal/M)
|
||||
if(M.melee_damage_upper <= 0)
|
||||
if(!M.melee_damage_upper && !M.obj_damage)
|
||||
return
|
||||
attack_generic(M)
|
||||
|
||||
|
||||
@@ -81,8 +81,10 @@
|
||||
/obj/structure/table/attack_animal(mob/living/simple_animal/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src)
|
||||
if(user.melee_damage_upper)
|
||||
if(user.melee_damage_upper || user.obj_damage)
|
||||
var/dmg_dealt = user.melee_damage_upper
|
||||
if(user.obj_damage)
|
||||
dmg_dealt = user.obj_damage
|
||||
if(user.environment_smash)
|
||||
dmg_dealt = 100
|
||||
visible_message("<span class='warning'>[user] smashes [src]!</span>")
|
||||
@@ -536,13 +538,16 @@
|
||||
/obj/structure/rack/attack_animal(mob/living/simple_animal/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src)
|
||||
if(user.melee_damage_upper)
|
||||
if(user.melee_damage_upper || user.obj_damage)
|
||||
var/dmg_dealt = user.melee_damage_upper
|
||||
if(user.obj_damage)
|
||||
dmg_dealt = user.obj_damage
|
||||
if(user.environment_smash)
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
|
||||
visible_message("<span class='warning'>[user] smashes [src] apart.</span>")
|
||||
rack_destroy()
|
||||
else
|
||||
take_damage(user.melee_damage_upper, user.melee_damage_type)
|
||||
take_damage(dmg_dealt, user.melee_damage_type)
|
||||
|
||||
|
||||
/obj/structure/rack/attack_tk() // no telehulk sorry
|
||||
|
||||
@@ -157,9 +157,12 @@
|
||||
attack_generic(user, 15)
|
||||
|
||||
/obj/structure/window/attack_animal(mob/living/simple_animal/M)
|
||||
if(!M.melee_damage_upper)
|
||||
if(!M.melee_damage_upper && !M.obj_damage)
|
||||
return
|
||||
attack_generic(M, M.melee_damage_upper, M.melee_damage_type)
|
||||
if(M.obj_damage)
|
||||
attack_generic(M, M.obj_damage, M.melee_damage_type)
|
||||
else
|
||||
attack_generic(M, M.melee_damage_upper, M.melee_damage_type)
|
||||
|
||||
|
||||
/obj/structure/window/attack_slime(mob/living/simple_animal/slime/user)
|
||||
|
||||
Reference in New Issue
Block a user