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:
Joan Lung
2016-07-30 09:14:53 -04:00
parent 553fef0740
commit 60b32ddd85
17 changed files with 65 additions and 25 deletions
+5 -2
View File
@@ -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
+6 -2
View File
@@ -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)
+5 -2
View File
@@ -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)
+5 -2
View File
@@ -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)
+1 -1
View File
@@ -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)
+8 -3
View File
@@ -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
+5 -2
View File
@@ -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)