diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm index a2e1f1c4b9..4c95b5be1c 100644 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm +++ b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm @@ -68,7 +68,7 @@ harm_intent_damage = 8 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "slashes" + attacktext = "slashed" attack_sound = 'sound/weapons/bite.ogg' layer = 3.1 //so they can stay hidde under the /obj/structure/bush @@ -126,7 +126,7 @@ harm_intent_damage = 2 melee_damage_lower = 3 melee_damage_upper = 10 - attacktext = "bites" + attacktext = "bitten" attack_sound = 'sound/weapons/bite.ogg' layer = 3.1 //so they can stay hidde under the /obj/structure/bush diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 1b2f9c23b1..4f4224b04b 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -1,6 +1,6 @@ // Generic damage proc (slimes and monkeys). /atom/proc/attack_generic(mob/user as mob) - return + return 0 /* Humans: @@ -175,11 +175,9 @@ return if(melee_damage_upper == 0 && istype(A,/mob/living)) - emote("[friendly] [src]") + custom_emote(1,"[friendly] [src]!") return - if(loc && attack_sound) - playsound(loc, attack_sound, 50, 1, 1) - var/damage = rand(melee_damage_lower, melee_damage_upper) - A.attack_generic(src,damage,attacktext,wall_smash) \ No newline at end of file + if(A.attack_generic(src,damage,attacktext,wall_smash) && loc && attack_sound) + playsound(loc, attack_sound, 50, 1, 1) \ No newline at end of file diff --git a/code/game/gamemodes/blob/blobs/factory.dm b/code/game/gamemodes/blob/blobs/factory.dm index b388396639..bb8de8184e 100644 --- a/code/game/gamemodes/blob/blobs/factory.dm +++ b/code/game/gamemodes/blob/blobs/factory.dm @@ -34,7 +34,7 @@ maxHealth = 20 melee_damage_lower = 4 melee_damage_upper = 8 - attacktext = "hits" + attacktext = "hit" attack_sound = 'sound/weapons/genhit1.ogg' var/obj/effect/blob/factory/factory = null faction = "blob" diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 48f2dcab17..567afc0d6d 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -340,15 +340,16 @@ /obj/machinery/turret/attack_generic(var/mob/user, var/damage, var/attack_message) if(!damage) - return + return 0 if(stat & BROKEN) user << "That object is useless to you." - return + return 0 visible_message("[user] [attack_message] the [src]!") user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") src.health -= damage if (src.health <= 0) src.die() + return 1 /obj/structure/turret/gun_turret name = "Gun Turret" diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index e45fa114e8..558d1d6076 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1706,7 +1706,7 @@ /obj/mecha/attack_generic(var/mob/user, var/damage, var/attack_message) if(!damage) - return + return 0 src.log_message("Attack by an animal. Attacker - [user].",1) @@ -1721,7 +1721,7 @@ src.occupant_message("\blue The [user]'s attack is stopped by the armor.") visible_message("\blue The [user] rebounds off [src.name]'s armor!") user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") - return + return 1 ////////////////////////////////////////// diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index b6e9406b51..a4c9a2bc85 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -170,6 +170,7 @@ /obj/structure/attack_generic(var/mob/user, var/damage, var/attack_verb, var/wallbreaker) if(!breakable || !damage || !wallbreaker) - return + return 0 visible_message("[user] [attack_verb] the [src] apart!") - destroy() \ No newline at end of file + spawn(1) destroy() + return 1 \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 33ad8abc15..44c2c3b900 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -304,4 +304,5 @@ return visible_message("[user] [attack_message] the [src]!") dump_contents() - del(src) \ No newline at end of file + spawn(1) del(src) + return 1 \ No newline at end of file diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index d6628f0023..e3ae4353dd 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -8,9 +8,10 @@ /obj/structure/girder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart", var/wallbreaker) if(!damage || !wallbreaker) - return + return 0 visible_message("[user] [attack_message] the [src]!") - dismantle() + spawn(1) dismantle() + return 1 /obj/structure/girder/bullet_act(var/obj/item/projectile/Proj) if(istype(Proj, /obj/item/projectile/beam)) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 8d8c0469c2..716fca4503 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -192,4 +192,5 @@ /obj/structure/grille/attack_generic(var/mob/user, var/damage, var/attack_verb) visible_message("[user] [attack_verb] the [src]!") health -= damage - healthcheck() \ No newline at end of file + spawn(1) healthcheck() + return 1 \ No newline at end of file diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index fad90eebdf..7d4700abb9 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -120,9 +120,10 @@ health -= damage if(health <= 0) user.visible_message("[user] [attack_verb] open the [src]!") - deflate(1) + spawn(1) deflate(1) else user.visible_message("[user] [attack_verb] at [src]!") + return 1 /obj/item/inflatable/door/ name = "inflatable door" diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index b685c9ed83..b82a3495df 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -93,10 +93,11 @@ if(shattered) playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1) - return + return 0 if(damage) user.visible_message("[user] smashes [src]!") shatter() else user.visible_message("[user] hits [src] and bounces off!") + return 1 \ No newline at end of file diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 19001a0ae8..4df313fe91 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -155,6 +155,7 @@ return user.visible_message("[user] smashes into [src]!") take_damage(damage) + return 1 /obj/structure/window/attackby(obj/item/W as obj, mob/user as mob) if(!istype(W)) return//I really wish I did not need this diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 2827059dda..b1a0966dad 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -259,11 +259,11 @@ if(rotting || prob(40)) user << "You smash through the wall!" - dismantle_wall(1) + spawn(1) dismantle_wall(1) else user << "You smash against the wall." take_damage(rand(25,75)) - return + return 1 /turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 3042e7ad9f..f7dd2cefac 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -217,4 +217,5 @@ var/datum/organ/external/affecting = get_organ(ran_zone(dam_zone)) var/armor_block = run_armor_check(affecting, "melee") apply_damage(damage, BRUTE, affecting, armor_block) - updatehealth() \ No newline at end of file + updatehealth() + return 1 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm index 9610b8a39b..0552892025 100644 --- a/code/modules/mob/living/carbon/metroid/life.dm +++ b/code/modules/mob/living/carbon/metroid/life.dm @@ -82,8 +82,8 @@ spawn(45) Atkcool = 0 - //if(Target.Adjacent(src)) - //Target.attack_slime(src) + if(Target.Adjacent(src)) + UnarmedAttack(Target) return if(!Target.lying && prob(80)) @@ -93,8 +93,8 @@ spawn(45) Atkcool = 0 - //if(Target.Adjacent(src)) - //Target.attack_slime(src) + if(Target.Adjacent(src)) + UnarmedAttack(Target) else if(!Atkcool && Target.Adjacent(src)) diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 757f857cca..b5f9cf970f 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -119,7 +119,7 @@ if(istype(AM, /obj/structure/window) || istype(AM, /obj/structure/grille)) if(nutrition <= get_hunger_nutrition() && !Atkcool) if (is_adult || prob(5)) - //AM.attack_slime(src) + UnarmedAttack(AM) spawn() Atkcool = 1 sleep(45) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 810227ddf7..4ac03cdf5f 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -189,4 +189,5 @@ user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") src.attack_log += text("\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])") src.visible_message("[user] has [attack_message] [src]!") - updatehealth() \ No newline at end of file + spawn(1) updatehealth() + return 1 diff --git a/code/modules/mob/living/simple_animal/borer/borer.dm b/code/modules/mob/living/simple_animal/borer/borer.dm index 36d57d1225..593c41b742 100644 --- a/code/modules/mob/living/simple_animal/borer/borer.dm +++ b/code/modules/mob/living/simple_animal/borer/borer.dm @@ -16,7 +16,7 @@ a_intent = "harm" stop_automated_movement = 1 status_flags = CANPUSH - attacktext = "nips" + attacktext = "nipped" friendly = "prods" wander = 0 pass_flags = PASSTABLE diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 307cdfa839..ffcc48bd40 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -120,7 +120,7 @@ harm_intent_damage = 0 melee_damage_lower = 30 melee_damage_upper = 30 - attacktext = "smashes their armoured gauntlet into" + attacktext = "smashed their armoured gauntlet into" speed = 3 wall_smash = 1 attack_sound = 'sound/weapons/punch3.ogg' @@ -195,7 +195,7 @@ health = 75 melee_damage_lower = 25 melee_damage_upper = 25 - attacktext = "slashes" + attacktext = "slashed" speed = -1 see_in_dark = 7 attack_sound = 'sound/weapons/bladeslice.ogg' @@ -220,7 +220,7 @@ harm_intent_damage = 5 melee_damage_lower = 5 melee_damage_upper = 5 - attacktext = "rams" + attacktext = "rammed" speed = 0 wall_smash = 1 attack_sound = 'sound/weapons/punch2.ogg' @@ -247,7 +247,7 @@ harm_intent_damage = 0 melee_damage_lower = 50 melee_damage_upper = 50 - attacktext = "brutally crushes" + attacktext = "brutally crushed" speed = 5 wall_smash = 1 attack_sound = 'sound/weapons/punch4.ogg' diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index b35db8eeca..a7b7cbc622 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -307,11 +307,10 @@ else dir = SOUTH - //if(isturf(movement_target.loc) ) - //movement_target.attack_animal(src) - //else if(ishuman(movement_target.loc) ) - //if(prob(20)) - //emote("stares at the [movement_target] that [movement_target.loc] has with a sad puppy-face") + if(isturf(movement_target.loc) ) + UnarmedAttack(movement_target) + else if(ishuman(movement_target.loc) && prob(20)) + custom_emote(1,"stares at the [movement_target] that [movement_target.loc] has with sad puppy eyes.") if(prob(1)) emote(pick("dances around","chases its tail")) diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 3fa82adfcf..ef9731bb0b 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -18,7 +18,7 @@ response_disarm = "gently pushes aside the" response_harm = "kicks the" faction = "goat" - attacktext = "kicks" + attacktext = "kicked" health = 40 melee_damage_lower = 1 melee_damage_upper = 5 @@ -102,7 +102,7 @@ response_help = "pets the" response_disarm = "gently pushes aside the" response_harm = "kicks the" - attacktext = "kicks" + attacktext = "kicked" health = 50 var/datum/reagents/udder = null @@ -163,7 +163,7 @@ response_help = "pets the" response_disarm = "gently pushes aside the" response_harm = "kicks the" - attacktext = "kicks" + attacktext = "kicked" health = 1 var/amount_grown = 0 pass_flags = PASSTABLE | PASSGRILLE @@ -204,7 +204,7 @@ var/global/chicken_count = 0 response_help = "pets the" response_disarm = "gently pushes aside the" response_harm = "kicks the" - attacktext = "kicks" + attacktext = "kicked" health = 10 var/eggsleft = 0 var/body_color diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index 171e96fc62..d4677ef5d3 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -9,8 +9,7 @@ speak_emote = list("hisses") health = 5 maxHealth = 5 - attacktext = "bites" - attacktext = "bites" + attacktext = "bitten" melee_damage_lower = 1 melee_damage_upper = 2 response_help = "pets" diff --git a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm index 3027819403..bf64e9265b 100644 --- a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm @@ -26,8 +26,7 @@ health = 10 maxHealth = 10 - attacktext = "shocks" - attacktext = "shocks" + attacktext = "shocked" melee_damage_lower = 1 melee_damage_upper = 3 diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index b46cdb58a7..ab6874276a 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -16,7 +16,7 @@ harm_intent_damage = 5 melee_damage_lower = 25 melee_damage_upper = 25 - attacktext = "slashes" + attacktext = "slashed" a_intent = "harm" attack_sound = 'sound/weapons/bladeslice.ogg' min_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index 7fb6ee9854..8708b1009e 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -20,7 +20,7 @@ harm_intent_damage = 8 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "bites" + attacktext = "bitten" attack_sound = 'sound/weapons/bite.ogg' //Space carp aren't affected by atmos. diff --git a/code/modules/mob/living/simple_animal/hostile/creature.dm b/code/modules/mob/living/simple_animal/hostile/creature.dm index 45464bf895..07ad06619a 100644 --- a/code/modules/mob/living/simple_animal/hostile/creature.dm +++ b/code/modules/mob/living/simple_animal/hostile/creature.dm @@ -10,7 +10,7 @@ maxHealth = 80 melee_damage_lower = 25 melee_damage_upper = 50 - attacktext = "chomps" + attacktext = "chomped" attack_sound = 'sound/weapons/bite.ogg' faction = "creature" speed = 4 \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index 5613c21ac3..d69ac01012 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -16,7 +16,7 @@ harm_intent_damage = 10 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "grips" + attacktext = "gripped" attack_sound = 'sound/hallucinations/growl1.ogg' min_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index b0b02f656f..26d69933e8 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -13,7 +13,7 @@ maxHealth = 15 melee_damage_lower = 2 melee_damage_upper = 3 - attacktext = "claws" + attacktext = "clawed" projectilesound = 'sound/weapons/Gunshot.ogg' projectiletype = /obj/item/projectile/hivebotbullet faction = "hivebot" diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index d239e88c6d..6e43df9378 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -20,7 +20,7 @@ harm_intent_damage = 5 melee_damage_lower = 8 melee_damage_upper = 12 - attacktext = "attacks" + attacktext = "attacked" attack_sound = 'sound/weapons/bite.ogg' min_oxy = 0 @@ -56,7 +56,7 @@ // Aggro when you try to open them. Will also pickup loot when spawns and drop it when dies. /mob/living/simple_animal/hostile/mimic/crate - attacktext = "bites" + attacktext = "bitten" stop_automated_movement = 1 wander = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index 0e0e50c07e..2ccf788893 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -17,7 +17,7 @@ harm_intent_damage = 5 melee_damage_lower = 30 melee_damage_upper = 30 - attacktext = "slashes" + attacktext = "slashed" attack_sound = 'sound/weapons/bladeslice.ogg' min_oxy = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index 68d0e3c5cd..2bb2610f66 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -21,7 +21,7 @@ harm_intent_damage = 8 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "attacks" + attacktext = "attacked" attack_sound = 'sound/items/bikehorn.ogg' min_oxy = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index d89db259b3..8c2a470dcd 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -17,7 +17,7 @@ harm_intent_damage = 5 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "punches" + attacktext = "punched" a_intent = "harm" var/corpse = /obj/effect/landmark/mobcorpse/russian var/weapon1 = /obj/item/weapon/kitchenknife diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index ff9aba71a4..11a81284f2 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -17,7 +17,7 @@ harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "punches" + attacktext = "punched" a_intent = "harm" var/corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier var/weapon1 @@ -55,7 +55,7 @@ icon_living = "syndicatemelee" weapon1 = /obj/item/weapon/melee/energy/sword/red weapon2 = /obj/item/weapon/shield/energy - attacktext = "slashes" + attacktext = "slashed" status_flags = 0 /mob/living/simple_animal/hostile/syndicate/melee/attackby(var/obj/item/O as obj, var/mob/user as mob) @@ -144,7 +144,7 @@ maxHealth = 15 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "cuts" + attacktext = "cut" attack_sound = 'sound/weapons/bladeslice.ogg' faction = "syndicate" min_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 7f44f8a9b1..b263cd2112 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -21,7 +21,7 @@ harm_intent_damage = 5 melee_damage_lower = 8 melee_damage_upper = 12 - attacktext = "bites" + attacktext = "bitten" attack_sound = 'sound/weapons/bite.ogg' //Space carp aren't affected by atmos. diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 2ef60f7393..21833161ad 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -739,12 +739,19 @@ speech_buffer.Add(message) /mob/living/simple_animal/parrot/attack_generic(var/mob/user, var/damage, var/attack_message) - ..() - if(client) return + + var/success = ..() + + if(client) + return success + if(parrot_state == PARROT_PERCH) parrot_sleep_dur = parrot_sleep_max //Reset it's sleep timer if it was perched - if(!damage) - return + + if(!success) + return 0 + parrot_interest = user parrot_state = PARROT_SWOOP | PARROT_ATTACK //Attack other animals regardless - icon_state = "parrot_fly" \ No newline at end of file + icon_state = "parrot_fly" + return success \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index ae0fc99e5d..ed5f35d55b 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -16,7 +16,7 @@ response_harm = "punches the" melee_damage_lower = 5 melee_damage_upper = 15 - attacktext = "drains the life from" + attacktext = "drained the life from" minbodytemp = 0 maxbodytemp = 4000 min_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 515d04a885..078159c12d 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -49,7 +49,7 @@ //LETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly var/melee_damage_lower = 0 var/melee_damage_upper = 0 - var/attacktext = "attacks" + var/attacktext = "attacked" var/attack_sound = null var/friendly = "nuzzles" var/wall_smash = 0 diff --git a/code/modules/mob/living/simple_animal/worm.dm b/code/modules/mob/living/simple_animal/worm.dm index 387ac33bf2..6dad3655e3 100644 --- a/code/modules/mob/living/simple_animal/worm.dm +++ b/code/modules/mob/living/simple_animal/worm.dm @@ -57,7 +57,7 @@ melee_damage_lower = 10 melee_damage_upper = 15 - attacktext = "bites" + attacktext = "bitten" animate_movement = SLIDE_STEPS diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 9ad0997f73..f6cfe8f3ca 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -317,6 +317,7 @@ return visible_message("[user] smashes the light!") broken() + return 1 // attempt to set the light's on/off status // will not switch on if broken/burned/empty diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index e21fb0617e..3735aed0cf 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -207,15 +207,23 @@ /// FOOD END //////////////////////////////////////////////////////////////////////////////// +/obj/item/weapon/reagent_containers/food/snacks/attack_generic(var/mob/living/user) + if(isanimal(user) || isalien(user)) + if(bitecount == 0 || prob(50)) + user.custom_emote(1,"nibbles away at the [src]") + bitecount++ + if(reagents && user.reagents) + reagents.trans_to_ingest(user, bitesize) + spawn(5) + if(!src && !user.client) + user.custom_emote(1,"[pick("burps", "cries for more", "burps twice", "looks at the area where the food was")]") + del(src) - - - - + On_Consume(user) ////////////////////////////////////////////////// ////////////////////////////////////////////Snacks diff --git a/code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm b/code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm index c9022726a6..df2ff6d852 100644 --- a/code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm +++ b/code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm @@ -12,7 +12,7 @@ speed = 2 melee_damage_lower = 5 melee_damage_upper = 15 - attacktext = "mauls" + attacktext = "mauled" cold_damage_per_tick = 0 speak_chance = 5 speak = list("Hruuugh!","Hrunnph") @@ -33,7 +33,7 @@ speed = 1 melee_damage_lower = 1 melee_damage_upper = 8 - attacktext = "gouges" + attacktext = "gouged" cold_damage_per_tick = 0 speak_chance = 5 speak = list("Awrr?","Aowrl!","Worrl") @@ -54,7 +54,7 @@ speed = 1 melee_damage_lower = 3 melee_damage_upper = 12 - attacktext = "gouges" + attacktext = "gouged" cold_damage_per_tick = 0 speak_chance = 5 speak = list("Shuhn","Shrunnph?","Shunpf") diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index a07ea901ef..5b40c9e5fc 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -356,4 +356,5 @@ src.health -= damage if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(src.loc) - healthcheck() \ No newline at end of file + spawn(1) healthcheck() + return 1 \ No newline at end of file