From d88cc00a2f1a9711723554388655342c3c16f445 Mon Sep 17 00:00:00 2001 From: phil235 Date: Sat, 13 Sep 2014 00:46:57 +0200 Subject: [PATCH 1/2] Fixing some message and sound. --- code/game/objects/items/weapons/storage/boxes.dm | 3 ++- code/game/objects/items/weapons/storage/briefcase.dm | 2 ++ code/game/objects/items/weapons/storage/secure.dm | 2 ++ code/game/objects/structures/grille.dm | 3 ++- code/modules/mob/living/simple_animal/simple_animal.dm | 5 +++++ 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 4507b1e0bb5..593ec84ab25 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -33,6 +33,7 @@ if(!foldable) return if(contents.len) + user << "You can't fold it with items still inside." return if(!ispath(foldable)) return @@ -537,4 +538,4 @@ new /obj/item/clothing/tie/armband/deputy(src) new /obj/item/clothing/tie/armband/deputy(src) new /obj/item/clothing/tie/armband/deputy(src) - new /obj/item/clothing/tie/armband/deputy(src) + new /obj/item/clothing/tie/armband/deputy(src) diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index 94ce4c9fb7b..93a6fdc2679 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -4,11 +4,13 @@ icon_state = "briefcase" flags = CONDUCT force = 8.0 + hitsound = "swing_hit" throw_speed = 2 throw_range = 4 w_class = 4.0 max_w_class = 3 max_combined_w_class = 21 + attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") /obj/item/weapon/storage/briefcase/New() ..() diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 7db2d68d5de..212a52cbf18 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -153,11 +153,13 @@ item_state = "sec-case" desc = "A large briefcase with a digital locking system." force = 8.0 + hitsound = "swing_hit" throw_speed = 2 throw_range = 4 w_class = 4.0 max_w_class = 3 max_combined_w_class = 21 + attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") /obj/item/weapon/storage/secure/briefcase/New() ..() diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index df18f1b114e..2fa08108831 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -172,12 +172,13 @@ playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) health -= W.force * 0.1 else if(!shock(user, 70)) - playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) switch(W.damtype) if("fire") health -= W.force + playsound(loc, 'sound/items/welder.ogg', 80, 1) if("brute") health -= W.force * 0.1 + playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) healthcheck() ..() return diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 722d7507f12..6c0a54009ed 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -276,6 +276,7 @@ if("help") if (health > 0) visible_message(" [M] [response_help] [src].") + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if("grab") if (M == src || anchored) @@ -292,10 +293,12 @@ LAssailant = M visible_message("[M] has grabbed [src] passively!") + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if("harm", "disarm") adjustBruteLoss(harm_intent_damage) visible_message("[M] [response_harm] [src]!") + playsound(loc, "punch", 25, 1, -1) return @@ -326,6 +329,7 @@ var/damage = rand(15, 30) visible_message("[M] has slashed at [src]!", \ "[M] has slashed at [src]!") + playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) adjustBruteLoss(damage) return @@ -407,6 +411,7 @@ adjustBruteLoss(damage) visible_message("[src] has been attacked with [O] by [user]!",\ "[src] has been attacked with [O] by [user]!") + playsound(loc, O.hitsound, 25, 1, -1) else visible_message("[O] bounces harmlessly off of [src].",\ "[O] bounces harmlessly off of [src].") From 24686b524838a1b7495528f5dd6c11f3770c6cc7 Mon Sep 17 00:00:00 2001 From: phil235 Date: Sat, 13 Sep 2014 17:41:47 +0200 Subject: [PATCH 2/2] Fixes many messages/sounds or lack thereof for different mobs. ( Nothing when Attack w/ item on dead animal No varied attack verb for the above. Item attack on alive SA/syndicate/melee: no sound No Punchsound on alive and dead SA. goat attack on SA/human/alien/monkey : no sound attack_hand and Item attack on dying mouse: nothing is_muzzled() fix in slime.dm and humanoid.dm and larva.dm and humanattac?kpaw.dm (put a muzzle on self, immune to monkey bites!) monkey attack on animal: can't attack alive! monkey (821) has attacked the grey baby slime (477)! (needs bite and sound) monkey can't attack_paw alien/slime/animal with health below 0. attack_animal on larva has no sound. monkey bite on human: no sound Larva on Humanoid/slime. can't monkeybite a wounded alien. larva needs to be attackable by humanoid/slime/hand/item/monkey/SA Monkey cant bite dead/unconscious monkey Larva bite has no sound. can't bite anyone but animals ) --- code/_onclick/item_attack.dm | 2 +- .../objects/items/weapons/storage/boxes.dm | 2 +- code/game/objects/structures/grille.dm | 5 +- .../living/carbon/alien/humanoid/humanoid.dm | 34 +++++++-- .../mob/living/carbon/alien/larva/larva.dm | 24 +++--- code/modules/mob/living/carbon/human/human.dm | 21 ++++++ .../living/carbon/human/human_attackpaw.dm | 3 +- .../mob/living/carbon/monkey/monkey.dm | 32 ++++++-- code/modules/mob/living/carbon/slime/slime.dm | 70 ++++++++++------- .../simple_animal/friendly/farm_animals.dm | 1 + .../living/simple_animal/hostile/syndicate.dm | 1 + .../mob/living/simple_animal/simple_animal.dm | 75 ++++++++++++------- 12 files changed, 191 insertions(+), 79 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 5eccb4b2435..3bd7e96ee4c 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -60,7 +60,7 @@ obj/item/proc/get_clamped_volume() user.lastattacked = M M.lastattacker = user - add_logs(user, M, "attacked", object=src.name, addition="(INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])") + add_logs(user, M, "attacked", object=src.name, addition="(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])") //spawn(1800) // this wont work right // M.lastattacker = null diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 593ec84ab25..b85693e867f 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -33,7 +33,7 @@ if(!foldable) return if(contents.len) - user << "You can't fold it with items still inside." + user << "You can't fold this box with items still inside." return if(!ispath(foldable)) return diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 2fa08108831..05d2baedd22 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -173,12 +173,13 @@ health -= W.force * 0.1 else if(!shock(user, 70)) switch(W.damtype) - if("fire") + if(BURN) health -= W.force playsound(loc, 'sound/items/welder.ogg', 80, 1) - if("brute") + if(BRUTE) health -= W.force * 0.1 playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) + healthcheck() ..() return diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 2c29857b305..ac4ac556d85 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -116,12 +116,12 @@ if ("help") help_shake_act(M) else - if (is_muzzled()) + if (M.is_muzzled()) return - if (health > 0) - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - visible_message("[M.name] bites [src]!", \ - "[M.name] bites [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + visible_message("[M.name] bites [src]!", \ + "[M.name] bites [src]!") + if (health > -100) adjustBruteLoss(rand(1, 3)) updatehealth() return @@ -134,7 +134,7 @@ if(M.Victim) return // can't attack while eating! - if (health > -100) + if (stat > -100) visible_message("The [M.name] glomps [src]!", \ "The [M.name] glomps [src]!") @@ -309,6 +309,28 @@ In all, this is a lot like the monkey code. /N return +/mob/living/carbon/alien/humanoid/attack_larva(mob/living/carbon/alien/larva/L as mob) + + switch(L.a_intent) + if("help") + visible_message("[L] rubs its head against [src].") + + + else + if (health > 0) + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + var/damage = rand(1, 3) + visible_message("[L.name] bites [src]!!", \ + "[L.name] bites [src]!!") + + adjustBruteLoss(damage) + updatehealth() + else + L << "[name] is too injured for that." + return + + + /mob/living/carbon/alien/humanoid/restrained() if (handcuffed) return 1 diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 997fa314919..892a68b5344 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -117,6 +117,8 @@ if(M.melee_damage_upper == 0) M.emote("[M.friendly] [src]") else + if(M.attack_sound) + playsound(loc, M.attack_sound, 50, 1, 1) visible_message("[M] [M.attacktext] [src]!", \ "[M] [M.attacktext] [src]!") var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) @@ -142,12 +144,12 @@ if ("help") help_shake_act(M) else - if (is_muzzled()) + if (M.is_muzzled()) return - if (health > 0) - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - visible_message("[M.name] bites [src]!", \ - "[M.name] bites [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + visible_message("[M.name] bites [src]!", \ + "[M.name] bites [src]!") + if (health > -100) adjustBruteLoss(rand(1, 3)) updatehealth() return @@ -158,13 +160,12 @@ M << "You cannot attack people before the game has started." return - if(M.Victim) return // can't attack while eating! - - if (health > -100) + if(M.Victim) + return // can't attack while eating! + if (stat != DEAD) visible_message("The [M.name] glomps [src]!", \ "The [M.name] glomps [src]!") - var/damage = rand(1, 3) if(M.is_adult) @@ -172,9 +173,8 @@ else damage = rand(5, 35) + adjustBruteLoss(damage) - - updatehealth() return @@ -259,7 +259,7 @@ else if (health > 0) playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - var/damage = rand(1, 3) + var/damage = 1 visible_message("[M.name] bites [src]!", \ "[M.name] bites [src]!") adjustBruteLoss(damage) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 382c9d007b1..1aee52ca967 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -237,6 +237,27 @@ if(armor >= 2) return +/mob/living/carbon/human/attack_larva(mob/living/carbon/alien/larva/L as mob) + + switch(L.a_intent) + if("help") + visible_message("[L] rubs its head against [src].") + + + else + + var/damage = rand(1, 3) + visible_message("[L] bites [src]!", \ + "[L] bites [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + + if(stat != DEAD) + L.amount_grown = min(L.amount_grown + damage, L.max_grown) + var/obj/item/organ/limb/affecting = get_organ(ran_zone(L.zone_sel.selecting)) + var/armor_block = run_armor_check(affecting, "melee") + apply_damage(damage, BRUTE, affecting, armor_block) + + /mob/living/carbon/human/attack_slime(mob/living/carbon/slime/M as mob) if(M.Victim) return // can't attack while eating! diff --git a/code/modules/mob/living/carbon/human/human_attackpaw.dm b/code/modules/mob/living/carbon/human/human_attackpaw.dm index 17d1e721587..95eaeb61ec3 100644 --- a/code/modules/mob/living/carbon/human/human_attackpaw.dm +++ b/code/modules/mob/living/carbon/human/human_attackpaw.dm @@ -3,11 +3,12 @@ if (M.a_intent == "help") help_shake_act(M) else - if (is_muzzled()) + if (M.is_muzzled()) return visible_message("[M.name] bites [src]!", \ "[M.name] bites [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) var/damage = rand(1, 3) var/dam_zone = pick("chest", "l_hand", "r_hand", "l_leg", "r_leg") diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 9655a2cc602..54ac2c99ec8 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -74,14 +74,15 @@ if (M.a_intent == "help") help_shake_act(M) else - if (M.a_intent == "harm" && !is_muzzled()) - if ((prob(75) && health > 0)) + if (M.a_intent == "harm" && !M.is_muzzled()) + if (prob(75)) playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) visible_message("[M.name] bites [name]!", \ "[M.name] bites [name]!") var/damage = rand(1, 5) - adjustBruteLoss(damage) - health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() + if (health > -100) + adjustBruteLoss(damage) + health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() for(var/datum/disease/D in M.viruses) contract_disease(D,1,0) else @@ -89,6 +90,24 @@ "[M.name] has attempted to bite [name]!") return +/mob/living/carbon/monkey/attack_larva(mob/living/carbon/alien/larva/L as mob) + + switch(L.a_intent) + if("help") + visible_message("[L] rubs its head against [src].") + + + else + + var/damage = rand(1, 3) + visible_message("[L] bites [src]!", \ + "[L] bites [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + + if(stat != DEAD) + L.amount_grown = min(L.amount_grown + damage, L.max_grown) + adjustBruteLoss(damage) + /mob/living/carbon/monkey/attack_hand(mob/living/carbon/human/M as mob) if (!ticker) M << "You cannot attack people before the game has started." @@ -181,8 +200,9 @@ else visible_message("[M] has slashed [name]!", \ "[M] has slashed [name]!") - adjustBruteLoss(damage) - updatehealth() + if (stat != DEAD) + adjustBruteLoss(damage) + updatehealth() else playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) visible_message("[M] has attempted to lunge at [name]!", \ diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm index ed218c49862..3d1a66a3702 100644 --- a/code/modules/mob/living/carbon/slime/slime.dm +++ b/code/modules/mob/living/carbon/slime/slime.dm @@ -246,20 +246,16 @@ if (Victim) return // can't attack while eating! + visible_message(" The [M.name] has glomped [src]!", \ + " The [M.name] has glomped [src]!") + var/damage = rand(1, 3) + attacked += 5 + if(M.is_adult) + damage = rand(1, 6) + else + damage = rand(1, 3) if (health > -100) - - visible_message(" The [M.name] has glomped [src]!", \ - " The [M.name] has glomped [src]!") - var/damage = rand(1, 3) - attacked += 5 - - if(M.is_adult) - damage = rand(1, 6) - else - damage = rand(1, 3) - adjustBruteLoss(damage) - updatehealth() return @@ -279,7 +275,7 @@ /mob/living/carbon/slime/attack_paw(mob/living/carbon/monkey/M as mob) if(!(istype(M, /mob/living/carbon/monkey))) - return // Fix for aliens receiving double messages when attacking other aliens. + return // Fix for aliens receiving double messages when attacking slimes. if (!ticker) M << "You cannot attack people before the game has started." @@ -296,17 +292,38 @@ if ("help") help_shake_act(M) else - if (is_muzzled()) + if (M.is_muzzled()) return - if (health > 0) - attacked += 10 - //playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - visible_message("[M.name] has attacked [src]!", \ - "[M.name] has attacked [src]!") + + attacked += 10 + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + visible_message("[M.name] bites [src]!", \ + "[M.name] bites [src]!") + if (health > -100) adjustBruteLoss(rand(1, 3)) updatehealth() return +/mob/living/carbon/slime/attack_larva(mob/living/carbon/alien/larva/L as mob) + + switch(L.a_intent) + + if("help") + visible_message("[L] rubs its head against [src].") + + + else + + attacked += 10 + visible_message("[L] bites [src]!", \ + "[L] bites [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + + if(stat != DEAD) + var/damage = rand(1, 3) + L.amount_grown = min(L.amount_grown + damage, L.max_grown) + adjustBruteLoss(damage) + /mob/living/carbon/slime/attack_hand(mob/living/carbon/human/M as mob) if (!ticker) @@ -416,8 +433,9 @@ visible_message("[M] has punched [src]!", \ "[M] has punched [src]!") - adjustBruteLoss(damage) - updatehealth() + if (health > -100) + adjustBruteLoss(damage) + updatehealth() else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) visible_message("[M] has attempted to punch [src]!") @@ -446,13 +464,15 @@ var/damage = rand(15, 30) if (damage >= 25) damage = rand(20, 40) - visible_message("[M] has attacked [name]!", \ - "[M] has attacked [name]!") + visible_message("[M] has slashed [name]!", \ + "[M] has slashed [name]!") else visible_message("[M] has wounded [name]!", \ ")[M] has wounded [name]!") - adjustBruteLoss(damage) - updatehealth() + + if (health > -100) + adjustBruteLoss(damage) + updatehealth() else playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) visible_message("[M] has attempted to lunge at [name]!", \ 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 36be2f583d4..f45daf9abd3 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -20,6 +20,7 @@ faction = list("neutral") attack_same = 1 attacktext = "kicks" + attack_sound = 'sound/weapons/punch1.ogg' health = 40 melee_damage_lower = 1 melee_damage_upper = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 8e1ff31edca..5b74257c67c 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -67,6 +67,7 @@ visible_message("[src] has been attacked with [O] by [user]!") else visible_message("[src] blocks [O] with its shield!") + playsound(loc, O.hitsound, 25, 1, -1) else usr << "This weapon is ineffective, it does no damage." visible_message("[user] gently taps [src] with [O].") diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 6c0a54009ed..aec7c377b98 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -296,12 +296,34 @@ playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if("harm", "disarm") - adjustBruteLoss(harm_intent_damage) visible_message("[M] [response_harm] [src]!") playsound(loc, "punch", 25, 1, -1) + adjustBruteLoss(harm_intent_damage) return +/mob/living/simple_animal/attack_paw(mob/living/carbon/monkey/M as mob) + if(!(istype(M, /mob/living/carbon/monkey))) + return // Fix for aliens receiving double messages when attacking simple animals. + + ..() + + switch(M.a_intent) + + if ("help") + if (health > 0) + visible_message(" [M] [response_help] [src].") + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + else + if (M.is_muzzled()) + return + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + visible_message("[M.name] bites [src]!", \ + "[M.name] bites [src]!") + if (health > -100) + adjustBruteLoss(rand(1, 3)) + return + /mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/M as mob) switch(M.a_intent) @@ -346,6 +368,7 @@ var/damage = rand(5, 10) visible_message("[L] bites [src]!", \ "[L] bites [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) if(stat != DEAD) L.amount_grown = min(L.amount_grown + damage, L.max_grown) @@ -359,17 +382,18 @@ if(M.Victim) return // can't attack while eating! - visible_message("[M.name] glomps [src]!", \ - "[M.name] glomps [src]!") + if (health > 0) + visible_message("[M.name] glomps [src]!", \ + "[M.name] glomps [src]!") - var/damage = rand(1, 3) + var/damage = rand(1, 3) - if(M.is_adult) - damage = rand(20, 40) - else - damage = rand(5, 35) + if(M.is_adult) + damage = rand(20, 40) + else + damage = rand(5, 35) - adjustBruteLoss(damage) + adjustBruteLoss(damage) return @@ -398,26 +422,27 @@ else user << " [src] is dead, medical items won't bring it back to life." return - else if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead. + if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead. if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch)) harvest() - else - user.changeNext_move(CLICK_CD_MELEE) - if(O.force) - if(O.force >= force_threshold) - var/damage = O.force - if (O.damtype == STAMINA) - damage = 0 - adjustBruteLoss(damage) - visible_message("[src] has been attacked with [O] by [user]!",\ - "[src] has been attacked with [O] by [user]!") - playsound(loc, O.hitsound, 25, 1, -1) - else - visible_message("[O] bounces harmlessly off of [src].",\ - "[O] bounces harmlessly off of [src].") + + user.changeNext_move(CLICK_CD_MELEE) + var/damage = 0 + if(O.force) + if(O.force >= force_threshold) + damage = O.force + if (O.damtype == STAMINA) + damage = 0 + visible_message("[src] has been [O.attack_verb.len ? "[pick(O.attack_verb)]": "attacked"] with [O] by [user]!",\ + "[src] has been attacked with [O] by [user]!") else - user.visible_message("[user] gently taps [src] with [O].",\ + visible_message("[O] bounces harmlessly off of [src].",\ + "[O] bounces harmlessly off of [src].") + playsound(loc, O.hitsound, 50, 1, -1) + else + user.visible_message("[user] gently taps [src] with [O].",\ "This weapon is ineffective, it does no damage.") + adjustBruteLoss(damage) /mob/living/simple_animal/movement_delay() var/tally = 0 //Incase I need to add stuff other than "speed" later