diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index 847fce35808..d1e5c3bce41 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -28,6 +28,7 @@ attack_verb_continuous = "glomps" attack_verb_simple = "glomp" attack_sound = 'sound/effects/blobattack.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE //nom nom nom butcher_results = list(/obj/item/food/meat/slab = 2) var/morphed = FALSE diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index cbbbeb827cf..5c533447a7e 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -22,6 +22,7 @@ stop_automated_movement = TRUE status_flags = CANPUSH attack_sound = 'sound/magic/demon_attack1.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 250 //Weak to cold maxbodytemp = INFINITY @@ -210,6 +211,7 @@ attack_verb_simple = "wildly tickle" attack_sound = 'sound/items/bikehorn.ogg' + attack_vis_effect = null feast_sound = 'sound/spookoween/scary_horn2.ogg' deathsound = 'sound/misc/sadtrombone.ogg' diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 07937c93c97..82f0fcdde92 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -146,7 +146,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) ///Punch-specific attack verb. var/attack_verb = "punch" - /// + /// The visual effect of the attack. + var/attack_effect = ATTACK_EFFECT_PUNCH var/sound/attack_sound = 'sound/weapons/punch1.ogg' var/sound/miss_sound = 'sound/weapons/punchmiss.ogg' @@ -1347,23 +1348,16 @@ GLOBAL_LIST_EMPTY(roundstart_races) else var/atk_verb = user.dna.species.attack_verb + var/atk_effect = user.dna.species.attack_effect if(target.body_position == LYING_DOWN) - atk_verb = ATTACK_EFFECT_KICK + atk_verb = "kick" + atk_effect = ATTACK_EFFECT_KICK - switch(atk_verb)//this code is really stupid but some genius apparently made "claw" and "slash" two attack types but also the same one so it's needed i guess - if(ATTACK_EFFECT_KICK) - user.do_attack_animation(target, ATTACK_EFFECT_KICK) - if(ATTACK_EFFECT_SLASH || ATTACK_EFFECT_CLAW)//smh - user.do_attack_animation(target, ATTACK_EFFECT_CLAW) - if(ATTACK_EFFECT_SMASH) - user.do_attack_animation(target, ATTACK_EFFECT_SMASH) - if(ATTACK_EFFECT_BITE) - if(user.is_mouth_covered(FALSE, TRUE)) - to_chat(user, "You can't bite with your mouth covered!") - return FALSE - user.do_attack_animation(target, ATTACK_EFFECT_BITE) - else - user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) + if(atk_effect == ATTACK_EFFECT_BITE) + if(user.is_mouth_covered(mask_only = TRUE)) + to_chat(user, "You can't [atk_verb] with your mouth covered!") + return FALSE + user.do_attack_animation(target, atk_effect) var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh) @@ -1371,7 +1365,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases if(user.dna.species.punchdamagelow) - if(atk_verb == ATTACK_EFFECT_KICK || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER)) //kicks never miss (provided your species deals more than 0 damage) + if(atk_effect == ATTACK_EFFECT_KICK || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER)) //kicks never miss (provided your species deals more than 0 damage) miss_chance = 0 else miss_chance = min((user.dna.species.punchdamagehigh/user.dna.species.punchdamagelow) + user.getStaminaLoss() + (user.getBruteLoss()*0.5), 100) //old base chance for a miss + various damage. capped at 100 to prevent weirdness in prob() @@ -1399,7 +1393,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(user.limb_destroyer) target.dismembering_strike(user, affecting.body_zone) - if(atk_verb == ATTACK_EFFECT_KICK)//kicks deal 1.5x raw damage + if(atk_effect == ATTACK_EFFECT_KICK)//kicks deal 1.5x raw damage target.apply_damage(damage*1.5, user.dna.species.attack_type, affecting, armor_block) log_combat(user, target, "kicked") else//other attacks deal full raw damage + 1.5x in stamina damage diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index f39f4d597d7..db6de6ec344 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -195,6 +195,7 @@ meat = /obj/item/stack/ore/iron info_text = "As a Plasteel Golem, you are slower, but harder to stun, and hit very hard when punching. You also magnetically attach to surfaces and so don't float without gravity and cannot have positions swapped with other beings." attack_verb = "smash" + attack_effect = ATTACK_EFFECT_SMASH attack_sound = 'sound/effects/meteorimpact.ogg' //hits pretty hard prefix = "Plasteel" special_names = null diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 287ccd5bfb0..ac81decc785 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -15,6 +15,7 @@ payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT attack_verb = "slash" + attack_effect = ATTACK_EFFECT_CLAW attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' meat = /obj/item/food/meat/slab/human/mutant/lizard diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm index 483f24aba4b..6328bc60452 100644 --- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm @@ -3,6 +3,7 @@ id = "monkey" say_mod = "chimpers" attack_verb = "bite" + attack_effect = ATTACK_EFFECT_BITE attack_sound = 'sound/weapons/bite.ogg' miss_sound = 'sound/weapons/bite.ogg' mutant_organs = list(/obj/item/organ/tail/monkey) @@ -91,8 +92,8 @@ /datum/species/monkey/handle_mutations_and_radiation(mob/living/carbon/human/H) . = ..() - if(H.radiation > RAD_MOB_MUTATE * 2 && prob(50)) - H.gorillize() + if(H.radiation > RAD_MOB_MUTATE * 2 && prob(50)) + H.gorillize() return /datum/species/monkey/check_roundstart_eligible() diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 98e7925b9ee..fbe069be61f 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -7,6 +7,7 @@ inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG mutant_bodyparts = list("moth_wings" = "Plain", "moth_antennae" = "Plain", "moth_markings" = "None") attack_verb = "slash" + attack_effect = ATTACK_EFFECT_CLAW attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' meat = /obj/item/food/meat/slab/human/mutant/moth diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index c00bbe4424c..c0ef45e5f89 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -6,6 +6,7 @@ species_traits = list(MUTCOLORS,EYECOLOR, HAS_FLESH, HAS_BONE) inherent_factions = list("plants", "vines") attack_verb = "slash" + attack_effect = ATTACK_EFFECT_CLAW attack_sound = 'sound/weapons/slice.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' burnmod = 1.25 diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index e8c2bfa6706..7e4372f6222 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -6,6 +6,7 @@ species_traits = list(MUTCOLORS, NO_UNDERWEAR, HAS_FLESH, HAS_BONE) inherent_traits = list(TRAIT_ADVANCEDTOOLUSER, TRAIT_NOSLIPALL) attack_verb = "slap" + attack_effect = ATTACK_EFFECT_DISARM say_mod = "slurs" coldmod = 0.5 //snails only come out when its cold and wet burnmod = 2 diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm index da8ae965821..a216fdd7a1e 100644 --- a/code/modules/mob/living/carbon/human/species_types/synths.dm +++ b/code/modules/mob/living/carbon/human/species_types/synths.dm @@ -60,6 +60,7 @@ species_traits |= S.species_traits inherent_traits |= S.inherent_traits attack_verb = S.attack_verb + attack_effect = S.attack_effect attack_sound = S.attack_sound miss_sound = S.miss_sound meat = S.meat @@ -78,6 +79,7 @@ species_traits = initial_species_traits.Copy() inherent_traits = initial_inherent_traits.Copy() attack_verb = initial(attack_verb) + attack_effect = initial(attack_verb) attack_sound = initial(attack_sound) miss_sound = initial(miss_sound) mutant_bodyparts = list() diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index 164fbc0ab51..c4872482ba3 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -172,7 +172,9 @@ /mob/living/simple_animal/do_attack_animation(atom/A, visual_effect_icon, used_item, no_effect) if(!no_effect && !visual_effect_icon && melee_damage_upper) - if(melee_damage_upper < 10) + if(attack_vis_effect && !iswallturf(A)) // override the standard visual effect. + visual_effect_icon = attack_vis_effect + else if(melee_damage_upper < 10) visual_effect_icon = ATTACK_EFFECT_PUNCH else visual_effect_icon = ATTACK_EFFECT_SMASH diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 18d80a3f914..26d3e6e1391 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -204,6 +204,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) runetype = /datum/action/innate/cult/create_rune/tele playstyle_string = "You are a Wraith. Though relatively fragile, you are fast, deadly, can phase through walls, and your attacks will lower the cooldown on phasing." @@ -378,6 +379,7 @@ attack_verb_continuous = "butchers" attack_verb_simple = "butcher" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/area_conversion, /obj/effect/proc_holder/spell/targeted/forcewall/cult) playstyle_string = "You are a Harvester. You are incapable of directly killing humans, but your attacks will remove their limbs: \ diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 822b81af410..cf46602df94 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -41,6 +41,11 @@ held_state = "cat2" pet_bonus = TRUE pet_bonus_emote = "purrs!" + ///In the case 'melee_damage_upper' is somehow raised above 0 + attack_verb_continuous = "claws" + attack_verb_simple = "claw" + attack_sound = 'sound/weapons/slash.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW footstep_type = FOOTSTEP_MOB_CLAW diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 17109552a44..1f16bab40ef 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -23,6 +23,11 @@ var/obj/item/inventory_head var/obj/item/inventory_mask gold_core_spawnable = FRIENDLY_SPAWN + ///In the case 'melee_damage_upper' is somehow raised above 0 + attack_verb_continuous = "snips" + attack_verb_simple = "snip" + attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE /mob/living/simple_animal/crab/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 17f939f03a4..39eb901dc29 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -21,6 +21,11 @@ pet_bonus_emote = "woofs happily!" ai_controller = /datum/ai_controller/dog stop_automated_movement = TRUE + ///In the case 'melee_damage_upper' is somehow raised above 0 + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE footstep_type = FOOTSTEP_MOB_CLAW 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 21e05bec577..5621b103517 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -25,6 +25,7 @@ attack_verb_continuous = "kicks" attack_verb_simple = "kick" attack_sound = 'sound/weapons/punch1.ogg' + attack_vis_effect = ATTACK_EFFECT_KICK health = 40 maxHealth = 40 minbodytemp = 180 @@ -138,6 +139,7 @@ attack_verb_continuous = "kicks" attack_verb_simple = "kick" attack_sound = 'sound/weapons/punch1.ogg' + attack_vis_effect = ATTACK_EFFECT_KICK health = 50 maxHealth = 50 var/obj/item/udder/udder = null diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm index 44da7fc0a85..4447691d1eb 100644 --- a/code/modules/mob/living/simple_animal/friendly/fox.dm +++ b/code/modules/mob/living/simple_animal/friendly/fox.dm @@ -25,6 +25,11 @@ held_state = "fox" pet_bonus = TRUE pet_bonus_emote = "pants and yaps happily!" + ///In the case 'melee_damage_upper' is somehow raised above 0 + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE footstep_type = FOOTSTEP_MOB_CLAW diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm index b906de69f70..116d201de08 100644 --- a/code/modules/mob/living/simple_animal/friendly/sloth.dm +++ b/code/modules/mob/living/simple_animal/friendly/sloth.dm @@ -27,6 +27,11 @@ held_state = "sloth" pet_bonus = TRUE pet_bonus_emote = "slowly smiles!" + ///In the case 'melee_damage_upper' is somehow raised above 0 + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE footstep_type = FOOTSTEP_MOB_CLAW diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index ad4ca315d65..64e0bf77d13 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -21,6 +21,8 @@ maxHealth = 20 attack_verb_continuous = "bites" attack_verb_simple = "bite" + attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE melee_damage_lower = 5 melee_damage_upper = 6 response_help_continuous = "pets" diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 87f1dc68113..15c0dc2bf1f 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -125,6 +125,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians attack_verb_continuous = "bites" attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE recolorentiresprite = TRUE if(!recolorentiresprite) //we want this to proc before stand logs in, so the overlay isn't gone for some reason cooloverlay = mutable_appearance(icon, theme) diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm index 9292dfd5037..7584661ecc0 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm @@ -5,6 +5,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) playstyle_string = "As an assassin type you do medium damage and have no damage resistance, but can enter stealth, massively increasing the damage of your next attack and causing it to ignore armor. Stealth is broken when you attack or take damage." magic_fluff_string = "..And draw the Space Ninja, a lethal, invisible assassin." diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 200d76e76c3..7b4e66962b8 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -22,6 +22,7 @@ bubble_icon = "alien" combat_mode = TRUE attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) faction = list(ROLE_ALIEN) status_flags = CANPUSH diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index 7090e92a068..a6b35304fe1 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -33,6 +33,7 @@ attack_verb_continuous = "claws" attack_verb_simple = "claw" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW friendly_verb_continuous = "bear hugs" friendly_verb_simple = "bear hug" @@ -142,6 +143,8 @@ deathmessage = "loses its false life and collapses!" butcher_results = list(/obj/item/food/butter = 6, /obj/item/food/meat/slab = 3, /obj/item/organ/brain = 1, /obj/item/organ/heart = 1) attack_sound = 'sound/weapons/slap.ogg' + attack_vis_effect = ATTACK_EFFECT_DISARM + attack_verb_simple = "slap" attack_verb_continuous = "slaps" /mob/living/simple_animal/hostile/bear/butter/add_cell_sample() diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index 833065b70cd..56e8a186aa9 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -34,6 +34,7 @@ attack_verb_continuous = "bites" attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE speak_emote = list("gnashes") //Space carp aren't affected by cold. diff --git a/code/modules/mob/living/simple_animal/hostile/cockroach.dm b/code/modules/mob/living/simple_animal/hostile/cockroach.dm index bd9c0c0485f..66b3f64d74c 100644 --- a/code/modules/mob/living/simple_animal/hostile/cockroach.dm +++ b/code/modules/mob/living/simple_animal/hostile/cockroach.dm @@ -87,6 +87,7 @@ obj_damage = 20 gold_core_spawnable = HOSTILE_SPAWN attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH faction = list("hostile") sharpness = SHARP_POINTY squish_chance = 0 // manual squish if relevant diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index fc529963798..d30c82a2fbe 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -67,6 +67,7 @@ attack_verb_continuous = "bites" attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE unique_name = 1 gold_core_spawnable = HOSTILE_SPAWN lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index ceb0b120e01..bc26e6ae35a 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -26,6 +26,7 @@ attack_verb_continuous = "pecks" attack_verb_simple = "peck" attack_sound = "goose" + attack_vis_effect = ATTACK_EFFECT_BITE speak_emote = list("honks") faction = list("neutral") attack_same = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index ae36d792ee0..82a77e40e88 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -14,6 +14,7 @@ attack_verb_continuous = "chomps" attack_verb_simple = "chomp" attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE faction = list("creature") robust_searching = 1 stat_attack = DEAD diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 97fc8a72256..644ec6e8a90 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -19,6 +19,7 @@ attack_verb_continuous = "claws" attack_verb_simple = "claw" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW projectilesound = 'sound/weapons/gun/pistol/shot.ogg' projectiletype = /obj/projectile/hivebotbullet faction = list("hivebot") diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm index 4ea56112b57..406a2762139 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm @@ -20,6 +20,7 @@ aggro_vision_range = 9 speak_emote = list("chitters") attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH ranged_cooldown_time = 60 projectiletype = /obj/projectile/mega_arachnid projectilesound = 'sound/weapons/pierce.ogg' diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm index 88fb58836ca..8a539812eb6 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm @@ -28,6 +28,7 @@ robust_searching = TRUE stat_attack = HARD_CRIT attack_sound = 'sound/weapons/rapierhit.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH deathsound = 'sound/voice/mook_death.ogg' aggro_vision_range = 15 //A little more aggressive once in combat to balance out their really low HP var/attack_state = MOOK_ATTACK_NEUTRAL diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm index abbb7f6d4c1..161e51918fa 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm @@ -17,6 +17,7 @@ I'd rather there be something than the clockwork ruin be entirely empty though s attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH weather_immunities = list("snow") speak_emote = list("roars") armour_penetration = 40 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 71f0198833c..4b3794c9461 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -42,6 +42,7 @@ attack_verb_continuous = "chomps" attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE icon = 'icons/mob/lavaland/64x64megafauna.dmi' icon_state = "dragon" icon_living = "dragon" diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index e20ed2a3a96..3bf5cc2901a 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -28,6 +28,7 @@ attack_verb_continuous = "chomps" attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE speak_emote = list("echoes") armour_penetration = 50 melee_damage_lower = 25 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index 8ab74e1f840..95ee2fd1c91 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -24,6 +24,7 @@ Difficulty: Hard attack_verb_continuous = "claws" attack_verb_simple = "claw" attack_sound = 'sound/magic/demon_attack1.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW weather_immunities = list("snow") speak_emote = list("roars") armour_penetration = 40 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index 7cbff030d51..ea0cc8e3c34 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -28,6 +28,7 @@ attack_verb_simple = "bite into" speak_emote = list("chitters") attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE aggro_vision_range = 9 turns_per_move = 5 gold_core_spawnable = HOSTILE_SPAWN @@ -109,6 +110,7 @@ combat_mode = TRUE speak_emote = list("telepathically cries") attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = null // doesn't bite unlike the parent type. stat_attack = HARD_CRIT is_flying_animal = TRUE robust_searching = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm index 6f0e8349699..c13e31ea16f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm @@ -18,6 +18,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/effects/curseattack.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH throw_message = "passes through the smokey body of" obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm index 6c563e0276b..9b0d649eabb 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm @@ -32,6 +32,7 @@ attack_verb_continuous = "slashes its arms at" attack_verb_simple = "slash your arms at" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH throw_message = "doesn't affect the sturdiness of" speed = 1 move_to_delay = 3 @@ -249,6 +250,7 @@ attack_verb_continuous = "bites at" attack_verb_simple = "bite at" attack_sound = 'sound/effects/curse1.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE throw_message = "simply misses" speed = 0 move_to_delay = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 5719ae251e3..cfd8e153849 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -81,6 +81,7 @@ attack_verb_simple = "slash" speak_emote = list("telepathically cries") attack_sound = 'sound/weapons/pierce.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH throw_message = "falls right through the strange body of the" obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE @@ -179,6 +180,7 @@ melee_damage_upper = 12 attack_verb_continuous = "bites" attack_verb_simple = "bite" + attack_vis_effect = ATTACK_EFFECT_BITE speak_emote = list("echoes") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "is shrugged off by" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm index e820ec2e38e..d7e3af186aa 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm @@ -26,6 +26,7 @@ attack_verb_continuous = "slices" attack_verb_simple = "slice" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH vision_range = 9 aggro_vision_range = 9 move_force = MOVE_FORCE_VERY_STRONG diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm index 917de76645b..42b0d75dea4 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm @@ -23,6 +23,7 @@ attack_verb_continuous = "chomps" attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE ranged_message = "breathes fire at" vision_range = 9 aggro_vision_range = 9 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm index 0ca32a1a687..a6f78ac2e5d 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm @@ -24,6 +24,7 @@ attack_verb_continuous = "snips" attack_verb_simple = "snip" attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE //the closest we have to a crustacean pinching attack effect rn. weather_immunities = list("snow") vision_range = 5 aggro_vision_range = 7 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm index abfb3c732e7..5f95457b445 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm @@ -20,6 +20,7 @@ attack_verb_continuous = "claws" attack_verb_simple = "claw" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW vision_range = 2 // don't aggro unless you basically antagonize it, though they will kill you worse than a goliath will aggro_vision_range = 9 move_force = MOVE_FORCE_VERY_STRONG diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm index 200ccd67781..db92c29c377 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm @@ -23,6 +23,7 @@ attack_verb_continuous = "bites" attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE vision_range = 7 aggro_vision_range = 7 move_force = MOVE_FORCE_WEAK diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 7fe0f5179eb..7fc82e643d2 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -23,6 +23,7 @@ attack_verb_continuous = "chomps" attack_verb_simple = "chomp" attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE faction = list("mushroom") environment_smash = ENVIRONMENT_SMASH_NONE stat_attack = DEAD diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 63bfbdb7759..8ba8f999a51 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -12,6 +12,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH // I always thought they bit. Guess I was wrong. faction = list("nether") speak_emote = list("screams") gold_core_spawnable = HOSTILE_SPAWN diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index 9a5b54afd02..85ac4c1b1ee 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -40,6 +40,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/blade1.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH var/obj/effect/light_emitter/red_energy_sword/sord footstep_type = FOOTSTEP_MOB_SHOE diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm index af00294a58a..6d8e9e128b5 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -22,7 +22,8 @@ melee_damage_upper = 15 attack_verb_continuous = "slashes" attack_verb_simple = "slash" - attack_sound = 'sound/weapons/punch1.ogg' + attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW unique_name = TRUE faction = list("rat") ///The spell that the rat uses to generate miasma @@ -96,7 +97,7 @@ if (do_mob(src, target, 2 SECONDS, interaction_key = "regalrat")) target.reagents.add_reagent(/datum/reagent/rat_spit,rand(1,3),no_react = TRUE) to_chat(src, "You finish licking [target].") - else + else SEND_SIGNAL(target, COMSIG_RAT_INTERACT, src) /** @@ -320,7 +321,7 @@ if(HAS_TRAIT(L, TRAIT_AGEUSIA)) return to_chat(L, "This food has a funny taste!") - + /datum/reagent/rat_spit/overdose_start(mob/living/M) ..() var/mob/living/carbon/victim = M @@ -328,7 +329,7 @@ to_chat(victim, "With this last sip, you feel your body convulsing horribly from the contents you've ingested. As you contemplate your actions, you sense an awakened kinship with rat-kind and their newly risen leader!") victim.faction |= "rat" victim.vomit() - metabolization_rate = 10 * REAGENTS_METABOLISM + metabolization_rate = 10 * REAGENTS_METABOLISM /datum/reagent/rat_spit/on_mob_life(mob/living/carbon/C) if(prob(15)) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index 51f89bd48b6..5138cc7e258 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -24,6 +24,7 @@ pass_flags = PASSTABLE faction = list("hostile") attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE mob_size = MOB_SIZE_TINY diff --git a/code/modules/mob/living/simple_animal/hostile/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/skeleton.dm index 3b97bfec436..b58a0832344 100644 --- a/code/modules/mob/living/simple_animal/hostile/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/skeleton.dm @@ -23,6 +23,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/hallucinations/growl1.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 5 robust_searching = 1 @@ -98,9 +99,6 @@ melee_damage_lower = 15 melee_damage_upper = 20 light_color = LIGHT_COLOR_PURPLE - attack_verb_continuous = "slashes" - attack_verb_simple = "slash" - attack_sound = 'sound/hallucinations/growl1.ogg' deathmessage = "collapses into a pile of bones, their suit dissolving among the plasma!" loot = list(/obj/effect/decal/remains/plasma) @@ -117,6 +115,7 @@ attack_verb_continuous = "blasts" attack_verb_simple = "blast" attack_sound = 'sound/weapons/sonic_jackhammer.ogg' + attack_vis_effect = null // jackhammer moment loot = list(/obj/effect/decal/remains/plasma, /obj/item/pickaxe/drill/jackhammer) /mob/living/simple_animal/hostile/skeleton/plasmaminer/Initialize() diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index 9a395f6e19d..e2af6a61ed5 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -35,6 +35,7 @@ attack_verb_continuous = "chomps" attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE deathsound = 'sound/magic/demon_dies.ogg' icon = 'icons/mob/spacedragon.dmi' icon_state = "spacedragon" diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index c1ee0aed3d9..99212de7829 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -27,6 +27,7 @@ attack_verb_continuous = "claws" attack_verb_simple = "claw" attack_sound = 'sound/hallucinations/growl1.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index c2c5355f91a..83d81f90394 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -81,6 +81,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH status_flags = 0 var/projectile_deflect_chance = 0 @@ -302,6 +303,7 @@ attack_verb_continuous = "cuts" attack_verb_simple = "cut" attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH faction = list(ROLE_SYNDICATE) atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 785605ed5fd..a72f186f97e 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -29,6 +29,7 @@ attack_verb_continuous = "bites" attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE speak_emote = list("pines") emote_taunt = list("growls") taunt_chance = 20 diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index 5b784580c5a..ee7306c12f8 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -28,6 +28,7 @@ attack_verb_continuous = "chomps" attack_verb_simple = "chomp" attack_sound = 'sound/weapons/punch1.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE throw_message = "is avoided by the" aggro_vision_range = 9 mob_size = MOB_SIZE_SMALL diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index 4c98cd4cdde..f9e5e9c579d 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -15,6 +15,7 @@ attack_verb_continuous = "bites" attack_verb_simple = "bite" attack_sound = 'sound/hallucinations/growl1.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE combat_mode = TRUE atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 72c26d57390..e9a4bf38e77 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -60,6 +60,7 @@ combat_mode = TRUE //parrots now start "aggressive" since only player parrots will nuzzle. attack_verb_continuous = "chomps" attack_verb_simple = "chomp" + attack_vis_effect = ATTACK_EFFECT_BITE friendly_verb_continuous = "grooms" friendly_verb_simple = "groom" mob_size = MOB_SIZE_SMALL diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 4c812707534..cb09c094e9f 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -88,7 +88,10 @@ var/attack_verb_continuous = "attacks" ///Attacking verb in present simple tense. var/attack_verb_simple = "attack" - var/attack_sound = null + /// Sound played when the critter attacks. + var/attack_sound + /// Override for the visual attack effect shown on 'do_attack_animation()'. + var/attack_vis_effect ///Attacking, but without damage, verb in present continuous tense. var/friendly_verb_continuous = "nuzzles" ///Attacking, but without damage, verb in present simple tense. diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 0a947c671bf..683cc361aed 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ