diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 4edcce491f..0941a03c0e 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -3807,7 +3807,8 @@ movement_type = 1; name = "Sergeant Araneus"; real_name = "Sergeant Araneus"; - response_help = "pets"; + response_help_continuous = "pets"; + response_help_simple = "pet"; turns_per_move = 10 }, /turf/open/floor/carpet, diff --git a/code/datums/elements/wuv.dm b/code/datums/elements/wuv.dm index fffb90c681..6476a204cf 100644 --- a/code/datums/elements/wuv.dm +++ b/code/datums/elements/wuv.dm @@ -41,7 +41,7 @@ return //we want to delay the effect to be displayed after the mob is petted, not before. switch(user.a_intent) - if(INTENT_HARM, INTENT_DISARM) + if(INTENT_HARM) addtimer(CALLBACK(src, .proc/kick_the_dog, source, user), 1) if(INTENT_HELP) addtimer(CALLBACK(src, .proc/pet_the_dog, source, user), 1) diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index 53768fe9a9..1fe7f74dec 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -77,7 +77,7 @@ /obj/mecha/attack_animal(mob/living/simple_animal/user) mecha_log_message("Attack by simple animal. Attacker - [user].", color="red") if(!user.melee_damage_upper && !user.obj_damage) - user.emote("custom", message = "[user.friendly] [src].") + user.emote("custom", message = "[user.friendly_verb_continuous] [src].") return 0 else var/play_soundeffect = 1 diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 87afd8e421..e64b7d8f8d 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -112,7 +112,7 @@ /obj/attack_animal(mob/living/simple_animal/M) if(!M.melee_damage_upper && !M.obj_damage) - M.emote("custom", message = "[M.friendly] [src].") + M.emote("custom", message = "[M.friendly_verb_continuous] [src].") return 0 else var/play_soundeffect = 1 diff --git a/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm b/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm index fbdeea6b84..91fb538ca3 100644 --- a/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm +++ b/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm @@ -86,7 +86,8 @@ melee_damage_upper = 4 obj_damage = 20 environment_smash = ENVIRONMENT_SMASH_STRUCTURES - attacktext = "hits" + attack_verb_continuous = "hits" + attack_verb_simple = "hit" attack_sound = 'sound/weapons/genhit1.ogg' movement_type = FLYING del_on_death = 1 @@ -205,7 +206,8 @@ melee_damage_lower = 20 melee_damage_upper = 20 obj_damage = 60 - attacktext = "slams" + attack_verb_continuous = "slams" + attack_verb_simple = "slam" attack_sound = 'sound/effects/blobattack.ogg' verb_say = "gurgles" verb_ask = "demands" @@ -284,11 +286,11 @@ if(overmind) //if we have an overmind, we're doing chemical reactions instead of pure damage melee_damage_lower = 4 melee_damage_upper = 4 - attacktext = overmind.blobstrain.blobbernaut_message + attack_verb_continuous = overmind.blobstrain.blobbernaut_message else melee_damage_lower = initial(melee_damage_lower) melee_damage_upper = initial(melee_damage_upper) - attacktext = initial(attacktext) + attack_verb_continuous = initial(attack_verb_continuous) /mob/living/simple_animal/hostile/blob/blobbernaut/death(gibbed) ..(gibbed) diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm index f43f2814d8..dd37f3727c 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm @@ -17,7 +17,8 @@ obj_damage = 40 melee_damage_lower = 12 melee_damage_upper = 12 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' weather_immunities = list("lava") movement_type = FLYING @@ -68,14 +69,16 @@ maxHealth = 300 melee_damage_upper = 25 melee_damage_lower = 25 - attacktext = "devastates" + attack_verb_continuous = "devastates" + attack_verb_simple = "devastate" speed = -1 obj_damage = 100 max_shield_health = INFINITY else if(GLOB.ratvar_approaches) //Hefty health bonus and slight attack damage increase melee_damage_upper = 15 melee_damage_lower = 15 - attacktext = "carves" + attack_verb_continuous = "carves" + attack_verb_simple = "carve" obj_damage = 50 max_shield_health = 4 diff --git a/code/modules/antagonists/devil/imp/imp.dm b/code/modules/antagonists/devil/imp/imp.dm index 1539bc384b..7a6850bfa1 100644 --- a/code/modules/antagonists/devil/imp/imp.dm +++ b/code/modules/antagonists/devil/imp/imp.dm @@ -7,9 +7,12 @@ desc = "A large, menacing creature covered in armored black scales." speak_emote = list("cackles") emote_hear = list("cackles","screeches") - response_help = "thinks better of touching" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "thinks better of touching" + response_help_simple = "think better of touching" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" icon = 'icons/mob/mob.dmi' icon_state = "imp" icon_living = "imp" @@ -23,7 +26,8 @@ minbodytemp = 250 //Weak to cold maxbodytemp = INFINITY faction = list("hell") - attacktext = "wildly tears into" + attack_verb_continuous = "wildly tears into" + attack_verb_simple = "wildly tear into" maxHealth = 200 health = 200 healable = 0 diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index ad2eb4792a..e91feda006 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -28,7 +28,8 @@ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE vision_range = 1 // Only attack when target is close wander = FALSE - attacktext = "glomps" + attack_verb_continuous = "glomps" + attack_verb_simple = "glomp" attack_sound = 'sound/effects/blobattack.ogg' butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2) diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 5ee673dddc..e06e8691b3 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -31,16 +31,20 @@ see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - response_help = "passes through" - response_disarm = "swings through" - response_harm = "punches through" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "swings through" + response_disarm_simple = "swing through" + response_harm_continuous = "punches through" + response_harm_simple = "punch through" unsuitable_atmos_damage = 0 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) //I don't know how you'd apply those, but revenants no-sell them anyway. 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 maxbodytemp = INFINITY harm_intent_damage = 0 - friendly = "touches" + friendly_verb_continuous = "touches" + friendly_verb_simple = "touch" status_flags = 0 wander = FALSE density = FALSE diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index 5d409a7fb9..6b063559dc 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -6,9 +6,12 @@ desc = "A large, menacing creature covered in armored black scales." speak_emote = list("gurgles") emote_hear = list("wails","screeches") - response_help = "thinks better of touching" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "thinks better of touching" + response_help_simple = "think better of touching" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" icon = 'icons/mob/mob.dmi' icon_state = "daemon" icon_living = "daemon" @@ -24,7 +27,8 @@ minbodytemp = 0 maxbodytemp = INFINITY faction = list("slaughter") - attacktext = "wildly tears into" + attack_verb_continuous = "wildly tears into" + attack_verb_simple = "wildly tear into" maxHealth = 200 health = 200 healable = 0 @@ -116,8 +120,10 @@ desc = "A large, adorable creature covered in armor with pink bows." speak_emote = list("giggles","titters","chuckles") emote_hear = list("guffaws","laughs") - response_help = "hugs" - attacktext = "wildly tickles" + response_help_continuous = "hugs" + response_help_simple = "hug" + attack_verb_continuous = "wildly tickles" + attack_verb_simple = "wildly tickle" attack_sound = 'sound/items/bikehorn.ogg' feast_sound = 'sound/spookoween/scary_horn2.ogg' diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index c1f493ac52..d0e36394ab 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -84,9 +84,11 @@ hud_possible = list(ANTAG_HUD, DIAG_STAT_HUD, DIAG_HUD) obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - attacktext = "shocks" + attack_verb_continuous = "shocks" + attack_verb_simple = "shock" attack_sound = 'sound/effects/empulse.ogg' - friendly = "pinches" + friendly_verb_continuous = "pinches" + friendly_verb_simple = "pinch" speed = 0 faction = list("swarmer") AIStatus = AI_OFF diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index 1b4ebd6c1a..be2db06346 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -2,9 +2,12 @@ name = "gondola" real_name = "gondola" desc = "The silent walker. This one seems to be part of a delivery agency." - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" faction = list("gondola") turns_per_move = 10 icon = 'icons/mob/gondolapod.dmi' diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index 7f6d48e731..107282b642 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -38,8 +38,10 @@ health = 25 density = FALSE speech_span = "spooky" - friendly = "pets" - response_help = "chats with" + friendly_verb_continuous = "pets" + friendly_verb_simple = "pet" + response_help_continuous = "chats with" + response_help_simple = "chat with" light_range = 3 light_color = "#ff9842" var/last_poof diff --git a/code/modules/holodeck/mobs.dm b/code/modules/holodeck/mobs.dm index adac4ea7b2..121989bf1e 100644 --- a/code/modules/holodeck/mobs.dm +++ b/code/modules/holodeck/mobs.dm @@ -15,6 +15,9 @@ speak_chance = 1 turns_per_move = 2 butcher_results = list() - response_help = "pets" - response_disarm = "pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "pushes aside" + response_disarm_simple = "push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 0c8aef51a8..fb37dcbca0 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -24,7 +24,8 @@ environment_smash = ENVIRONMENT_SMASH_NONE check_friendly_fire = TRUE stop_automated_movement_when_pulled = TRUE - attacktext = "drills" + attack_verb_continuous = "drills" + attack_verb_simple = "drill" attack_sound = 'sound/weapons/circsawhit.ogg' sentience_type = SENTIENCE_MINEBOT speak_emote = list("states") diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index bf9854e0b4..442bcf8027 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -140,7 +140,8 @@ Des: Removes all infected images from the alien. /mob/living/carbon/alien/proc/alien_evolve(mob/living/carbon/alien/new_xeno) to_chat(src, "You begin to evolve!") - visible_message("[src] begins to twist and contort!") + visible_message("[src] begins to twist and contort!", + "You begin to twist and contort!") new_xeno.setDir(dir) if(!alien_name_regex.Find(name)) new_xeno.name = name diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index cdb8aff2c6..00ce3a320a 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -27,13 +27,16 @@ In all, this is a lot like the monkey code. /N AdjustUnconscious(-60, FALSE) AdjustSleeping(-100, FALSE) update_mobility() - visible_message("[M.name] nuzzles [src] trying to wake [p_them()] up!") + visible_message("[M.name] nuzzles [src] trying to wake [p_them()] up!", + "[M.name] nuzzles you trying to wake you up!", target = M, + target_message = "You nuzzle [src] trying to wake [p_them()] up!") if(INTENT_DISARM, INTENT_HARM) if(health > 0) M.do_attack_animation(src, ATTACK_EFFECT_BITE) playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) visible_message("[M.name] bites [src]!", \ - "[M.name] bites [src]!", null, COMBAT_MESSAGE_RANGE) + "[M.name] bites [src]!", null, COMBAT_MESSAGE_RANGE, null, M, + "You bite [src]!") adjustBruteLoss(1) log_combat(M, src, "attacked") updatehealth() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index de582c8ec2..39179346f1 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -253,7 +253,8 @@ var/obj/item/ITEM = get_item_by_slot(slot) if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.clothing_flags & ALLOWINTERNALS)) visible_message("[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].", \ - "[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].") + "[usr] tries to [internal ? "close" : "open"] the valve on your [ITEM.name].", \ + target = usr, target_message = "You try to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].") if(do_mob(usr, src, POCKET_STRIP_DELAY)) if(internal) internal = null @@ -264,7 +265,8 @@ update_internals_hud_icon(1) visible_message("[usr] [internal ? "opens" : "closes"] the valve on [src]'s [ITEM.name].", \ - "[usr] [internal ? "opens" : "closes"] the valve on [src]'s [ITEM.name].") + "[usr] [internal ? "opens" : "closes"] the valve on your [ITEM.name].", \ + target = usr, target_message = "You [internal ? "opens" : "closes"] the valve on [src]'s [ITEM.name].") /mob/living/carbon/fall(forced) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index b422ee5745..94589b3a4a 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -185,7 +185,8 @@ M.powerlevel = 0 visible_message("The [M.name] has shocked [src]!", \ - "The [M.name] has shocked [src]!") + "The [M.name] has shocked you!", target = M, + target_message = "You have shocked [src]!") do_sparks(5, TRUE, src) var/power = M.powerlevel + rand(0,3) @@ -286,12 +287,14 @@ to_chat(M, "You need to unbuckle [src] first to do that!") return M.visible_message("[M] shakes [src] trying to get [p_them()] up!", \ - "You shake [src] trying to get [p_them()] up!") + "You shake [src] trying to get [p_them()] up!", target = src, + target_message = "[M] shakes you trying to get you up!") else if(M.zone_selected == BODY_ZONE_PRECISE_MOUTH) // I ADDED BOOP-EH-DEH-NOSEH - Jon M.visible_message( \ "[M] boops [src]'s nose.", \ - "You boop [src] on the nose.", ) + "You boop [src] on the nose.", target = src, + target_message = "[M] boops your nose.") playsound(src, 'sound/items/Nose_boop.ogg', 50, 0) else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD) @@ -300,7 +303,8 @@ S = dna.species M.visible_message("[M] gives [src] a pat on the head to make [p_them()] feel better!", \ - "You give [src] a pat on the head to make [p_them()] feel better!") + "You give [src] a pat on the head to make [p_them()] feel better!", target = src, + target_message = "[M] gives you a pat on the head to make you feel better!") SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) friendly_check = TRUE if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail()) @@ -313,11 +317,13 @@ else if(check_zone(M.zone_selected) == BODY_ZONE_R_ARM || check_zone(M.zone_selected) == BODY_ZONE_L_ARM) M.visible_message( \ "[M] shakes [src]'s hand.", \ - "You shake [src]'s hand.", ) + "You shake [src]'s hand.", target = src, + target_message = "[M] shakes your hand.") else M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \ - "You hug [src] to make [p_them()] feel better!") + "You hug [src] to make [p_them()] feel better!", target = src,\ + target_message = "[M] hugs you to make you feel better!") SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/hug) friendly_check = TRUE diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index 60fa395319..4cf82bb0b4 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -25,7 +25,8 @@ if(M in stomach_contents) stomach_contents.Remove(M) M.forceMove(Tsec) - visible_message("[M] bursts out of [src]!") + M.visible_message("[M] bursts out of [src]!", + "You burst out of [src]!") ..() /mob/living/carbon/spill_organs(no_brain, no_organs, no_bodyparts) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 5ba0675bc1..3a2d0535e6 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -102,11 +102,15 @@ . = ..(user, TRUE) if(.) return - var/hulk_verb = pick("smash","pummel") + var/hulk_verb_continous = "smashes" + var/hulk_verb_simple = "smash" + if(prob(50)) + hulk_verb_continous = "pummels" + hulk_verb_simple = "pummel" playsound(loc, user.dna.species.attack_sound, 25, 1, -1) - var/message = "[user] has [hulk_verb]ed [src]!" - visible_message("[message]", \ - "[message]") + visible_message("[user] [hulk_verb_continous] [src]!", \ + "[user] [hulk_verb_continous] you!", null, COMBAT_MESSAGE_RANGE, null, user, + "You [hulk_verb_simple] [src]!") adjustBruteLoss(15) return 1 @@ -130,14 +134,16 @@ var/obj/item/I = get_active_held_item() if(I && dropItemToGround(I)) playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) - visible_message("[M] disarmed [src]!", \ - "[M] disarmed [src]!") + visible_message("[M] has disarmed [src]!", \ + "[M] has disarmed you!", null, COMBAT_MESSAGE_RANGE, null, M, + "You have disarmed [src]!") else if(!M.client || prob(5)) // only natural monkeys get to stun reliably, (they only do it occasionaly) playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) DefaultCombatKnockdown(100) log_combat(M, src, "tackled") visible_message("[M] has tackled down [src]!", \ - "[M] has tackled down [src]!") + "[M] has tackled you down!", null, COMBAT_MESSAGE_RANGE, null, M, + "You have tackled [src] down!") if(M.limb_destroyer) dismembering_strike(M, affecting.body_zone) @@ -159,7 +165,8 @@ if(!damage) playsound(loc, 'sound/weapons/slashmiss.ogg', 50, 1, -1) visible_message("[M] has lunged at [src]!", \ - "[M] has lunged at [src]!") + "[M] has lunged at you!", target = M, \ + target_message = "You have lunged at [src]!") return 0 var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.zone_selected)) if(!affecting) @@ -168,7 +175,8 @@ playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) visible_message("[M] has slashed at [src]!", \ - "[M] has slashed at [src]!") + "[M] has slashed at you!", target = M, \ + target_message = "You have slashed at [src]!") log_combat(M, src, "attacked") if(!dismembering_strike(M, M.zone_selected)) //Dismemberment successful return 1 @@ -178,14 +186,16 @@ var/obj/item/I = get_active_held_item() if(I && dropItemToGround(I)) playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) - visible_message("[M] disarmed [src]!", \ - "[M] disarmed [src]!") + visible_message("[M] has disarmed [src]!", \ + "[M] has disarmed you!", target = M, \ + target_message = "You have disarmed [src]!") else playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) DefaultCombatKnockdown(M.meleeKnockdownPower) log_combat(M, src, "tackled") visible_message("[M] has tackled down [src]!", \ - "[M] has tackled down [src]!") + "[M] has tackled you down!", target = M, \ + target_message = "You have tackled down [src]!") /mob/living/carbon/human/attack_larva(mob/living/carbon/alien/larva/L) . = ..() @@ -268,7 +278,8 @@ updatehealth() visible_message("[M.name] has hit [src]!", \ - "[M.name] has hit [src]!", null, COMBAT_MESSAGE_RANGE) + "[M.name] has hit you!", null, COMBAT_MESSAGE_RANGE, target = M, + target_message = "You have hit [src]!") log_combat(M.occupant, src, "attacked", M, "(INTENT: [uppertext(M.occupant.a_intent)]) (DAMTYPE: [uppertext(M.damtype)])") else diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 2712f34ce7..f2f62fc2d9 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1422,7 +1422,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) /datum/species/proc/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(target.check_martial_melee_block()) - target.visible_message("[target] blocks [user]'s grab attempt!") + target.visible_message("[target] blocks [user]'s grab attempt!", target = user, \ + target_message = "[target] blocks your grab attempt!") return 0 if(attacker_style && attacker_style.grab_act(user,target)) return 1 @@ -1438,7 +1439,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) to_chat(user, "You're too exhausted.") //CITADEL CHANGE - ditto return FALSE //CITADEL CHANGE - ditto if(target.check_martial_melee_block()) - target.visible_message("[target] blocks [user]'s attack!") + target.visible_message("[target] blocks [user]'s attack!", target = user, \ + target_message = "[target] blocks your attack!") return FALSE if(HAS_TRAIT(user, TRAIT_PUGILIST))//CITADEL CHANGE - makes punching cause staminaloss but funny martial artist types get a discount @@ -1493,8 +1495,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1) target.visible_message("[user]'s [atk_verb] misses [target]!", \ - "You avoid [user]'s [atk_verb]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your [atk_verb] misses [target]!") + "You avoid [user]'s [atk_verb]!", "You hear a swoosh!", null, COMBAT_MESSAGE_RANGE, null, \ + user, "Your [atk_verb] misses [target]!") log_combat(user, target, "attempted to punch") return FALSE @@ -1503,8 +1505,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) playsound(target.loc, user.dna.species.attack_sound, 25, 1, -1) - target.visible_message("[user] has [atk_verb]ed [target]!", \ - "[user] has [atk_verb]ed [target]!", null, COMBAT_MESSAGE_RANGE) + target.visible_message("[user] [atk_verb]s [target]!", \ + "[user] [atk_verb]s you!", null, COMBAT_MESSAGE_RANGE, null, \ + user, "You [atk_verb] [target]!") target.lastattacker = user.real_name target.lastattackerckey = user.ckey @@ -1526,8 +1529,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if((punchedstam > 50) && prob(punchedstam*0.5)) //If our punch victim has been hit above the threshold, and they have more than 50 stamina damage, roll for stun, probability of 1% per 2 stamina damage target.visible_message("[user] knocks [target] down!", \ - "You're knocked down by [user]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You knock [target] down!") + "You're knocked down by [user]!", + "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, null, + user, "You knock [target] down!") var/knockdown_duration = 40 + (punchedstam + (punchedbrute*0.5))*0.8 - armor_block target.DefaultCombatKnockdown(knockdown_duration) @@ -1559,7 +1563,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/target_aiming_for_groin = target.zone_selected == "groin" if(target.check_martial_melee_block()) //END EDIT - target.visible_message("[target] blocks [user]'s disarm attempt!") + target.visible_message("[target] blocks [user]'s disarm attempt!", target = user, \ + target_message = "[target] blocks your disarm attempt!") return FALSE if(IS_STAMCRIT(user)) to_chat(user, "You're too exhausted!") @@ -1569,10 +1574,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1) target.visible_message(\ - "\The [user] slaps \the [target] in the face!",\ - "You [user == target ? "slap yourself" : "are slapped by \the [target]"] in the face! ",\ - "You hear a slap." - ) + "\The [user] slaps [user == target ? "[user.p_them()]self" : "\the [target]"] in the face!",\ + "[user] slaps you in the face! ",\ + "You hear a slap.", target = user, target_message = "You slap [user == target ? "yourself" : "\the [target]"] in the face! ") user.do_attack_animation(target, ATTACK_EFFECT_FACE_SLAP) user.adjustStaminaLossBuffered(3) if (!HAS_TRAIT(target, TRAIT_PERMABONER)) @@ -1591,10 +1595,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) stop_wagging_tail(target) playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1) target.visible_message(\ - "\The [user] slaps \the [target]'s ass!",\ - "You slap [user == target ? "slap your" : "are slapped by \the [target]'s in the"] ass!",\ - "You hear a slap." - ) + "\The [user] slaps [user == target ? "[user.p_their()] own" : "\the [target]'s"] ass!",\ + "[user] slaps your ass! ",\ + "You hear a slap.", target = user, target_message = "You slap [user == target ? "your own" : "\the [target]'s"] ass! ") + return FALSE else @@ -1613,21 +1617,14 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) //var/randomized_zone = ran_zone(user.zone_selected) CIT CHANGE - comments out to prevent compiling errors SEND_SIGNAL(target, COMSIG_HUMAN_DISARM_HIT, user, user.zone_selected) if(target.pulling == user) - target.visible_message("[user] wrestles out of [target]'s grip!") + target.visible_message("[user] wrestles out of [target]'s grip!", \ + "[user] wrestles out of your grip!", target = user, \ + target_message = "You wrestle out of [target]'s grip!") target.stop_pulling() playsound(target, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) log_combat(user, target, "disarmed out of grab from") return - //var/obj/item/bodypart/affecting = target.get_bodypart(randomized_zone) CIT CHANGE - comments this out to prevent compile errors due to the below commented out bit var/randn = rand(1, 100) - /*if(randn <= 25) CITADEL CHANGE - moves disarm push attempts to right click - playsound(target, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - target.visible_message("[user] has pushed [target]!", - "[user] has pushed [target]!", null, COMBAT_MESSAGE_RANGE) - target.apply_effect(40, EFFECT_KNOCKDOWN, target.run_armor_check(affecting, "melee", "Your armor prevents your fall!", "Your armor softens your fall!")) - target.forcesay(GLOB.hit_appends) - log_combat(user, target, "pushed over") - return*/ if(!(target.combat_flags & COMBAT_FLAG_COMBAT_ACTIVE)) // CITADEL CHANGE randn += -10 //CITADEL CHANGE - being out of combat mode makes it easier for you to get disarmed if(!CHECK_MOBILITY(user, MOBILITY_STAND)) //CITADEL CHANGE @@ -1644,13 +1641,16 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(randn <= 35)//CIT CHANGE - changes this back to a 35% chance to accomodate for the above being commented out in favor of right-click pushing var/obj/item/I = null if(target.pulling) - target.visible_message("[user] has broken [target]'s grip on [target.pulling]!") + target.visible_message("[user] has broken [target]'s grip on [target.pulling]!", \ + "[user] has broken your grip on [target.pulling]!", target = user, \ + target_message = "You have broken [target]'s grip on [target.pulling]!") target.stop_pulling() else I = target.get_active_held_item() if(target.dropItemToGround(I)) target.visible_message("[user] has disarmed [target]!", \ - "[user] has disarmed [target]!", null, COMBAT_MESSAGE_RANGE) + "[user] has disarmed you!", null, COMBAT_MESSAGE_RANGE, null, \ + user, "You have disarmed [target]!") else I = null playsound(target, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) @@ -1660,7 +1660,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) playsound(target, 'sound/weapons/punchmiss.ogg', 25, 1, -1) target.visible_message("[user] attempted to disarm [target]!", \ - "[user] attemped to disarm [target]!", null, COMBAT_MESSAGE_RANGE) + "[user] attemped to disarm [target]!", null, COMBAT_MESSAGE_RANGE, null, \ + user, "You attempted to disarm [target]!") log_combat(user, target, "attempted to disarm") @@ -1748,7 +1749,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 20) if(H.stat == CONSCIOUS) H.visible_message("[H] has been knocked senseless!", \ - "[H] has been knocked senseless!") + "You have been knocked senseless!") H.confused = max(H.confused, 20) H.adjust_blurriness(10) if(prob(10)) @@ -1806,7 +1807,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) attacker_style = M.mind.martial_art if((M != H) && M.a_intent != INTENT_HELP && (H.mob_run_block(M, 0, "[M]", ATTACK_TYPE_UNARMED, 0, M, M.zone_selected, null) & BLOCK_SUCCESS)) log_combat(M, H, "attempted to touch") - H.visible_message("[M] attempted to touch [H]!") + H.visible_message("[M] attempted to touch [H]!", \ + "[M] attempted to touch you!", target = M, \ + target_message = "You attempted to touch [H]!") return TRUE switch(M.a_intent) if(INTENT_HELP) @@ -1843,7 +1846,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) to_chat(user, "You're too exhausted.") return FALSE if(target.check_martial_melee_block()) - target.visible_message("[target] blocks [user]'s shoving attempt!") + target.visible_message("[target] blocks [user]'s shoving attempt!", \ + "You block [user]'s shoving attempt!", target = user, \ + target_message = "[target] blocks your shoving attempt!") return FALSE if(attacker_style && attacker_style.disarm_act(user,target)) return TRUE @@ -1889,18 +1894,21 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if((directional_blocked || !(target_collateral_human || target_shove_turf.shove_act(target, user))) && !targetatrest) target.DefaultCombatKnockdown(SHOVE_KNOCKDOWN_SOLID) target.visible_message("[user.name] shoves [target.name], knocking them down!", - "You are shoved by [user.name] and knocked down!", null, COMBAT_MESSAGE_RANGE) + "[user.name] shoves you, knocking you down!", null, COMBAT_MESSAGE_RANGE, null, + user, "You shove [target.name], knocking them down!") log_combat(user, target, "shoved", "knocking them down") else if(target_collateral_human && !targetatrest) target.DefaultCombatKnockdown(SHOVE_KNOCKDOWN_HUMAN) target_collateral_human.DefaultCombatKnockdown(SHOVE_KNOCKDOWN_COLLATERAL) target.visible_message("[user.name] shoves [target.name] into [target_collateral_human.name]!", - "You are shoved by [user.name] into [target_collateral_human.name]!", null, COMBAT_MESSAGE_RANGE) + "[user.name] shoves you into [target_collateral_human.name]!", null, COMBAT_MESSAGE_RANGE, null, + user, "You shove [target.name] into [target_collateral_human.name]!") append_message += ", into [target_collateral_human.name]" else target.visible_message("[user.name] shoves [target.name]!", - "You are shoved by [user.name]!", null, COMBAT_MESSAGE_RANGE) + "[user.name] shoves you!", null, COMBAT_MESSAGE_RANGE, null, + user, "You shove [target.name]!") var/obj/item/target_held_item = target.get_active_held_item() if(!is_type_in_typecache(target_held_item, GLOB.shove_disarming_types)) target_held_item = null diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 3c75e71c5a..502ebcbe5d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -42,7 +42,8 @@ return ..() /mob/living/proc/ZImpactDamage(turf/T, levels) - visible_message("[src] crashes into [T] with a sickening noise!") + visible_message("[src] crashes into [T] with a sickening noise!", \ + "You crash into [T] with a sickening noise!") adjustBruteLoss((levels * 5) ** 1.5) DefaultCombatKnockdown(levels * 50) @@ -120,7 +121,9 @@ to_chat(src, "You're too exhausted to crawl under [L].") return TRUE ENABLE_BITFIELD(combat_flags, COMBAT_FLAG_ATTEMPTING_CRAWL) - visible_message("[src] is attempting to crawl under [L].", "You are now attempting to crawl under [L].") + visible_message("[src] is attempting to crawl under [L].", + "You are now attempting to crawl under [L].", + target = L, target_message = "[src] is attempting to crawl under you.") if(!do_after(src, CRAWLUNDER_DELAY, target = src) || CHECK_MOBILITY(src, MOBILITY_STAND)) DISABLE_BITFIELD(combat_flags, COMBAT_FLAG_ATTEMPTING_CRAWL) return TRUE @@ -272,7 +275,9 @@ if(AM.pulledby) if(!supress_message) - visible_message("[src] has pulled [AM] from [AM.pulledby]'s grip.") + AM.pulledby.visible_message("[src] has pulled [AM] from [AM.pulledby]'s grip.", + "[src] has pulled [AM] from your grip.", target = src, + target_message = "You have pulled [AM] from [AM.pulledby]'s grip.") log_combat(AM, AM.pulledby, "pulled from", src) AM.pulledby.stop_pulling() //an object can't be pulled by two mobs at once. @@ -287,7 +292,9 @@ log_combat(src, M, "grabbed", addition="passive grab") if(!supress_message && !(iscarbon(AM) && HAS_TRAIT(src, TRAIT_STRONG_GRABBER))) - visible_message("[src] has grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by their hands":" passively"]!") //Cit change - And they thought ERP was bad. + visible_message("[src] has grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", + "You have grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", target = M, + target_message = "[src] has grabbed you[(zone_selected == "l_arm" || zone_selected == "r_arm")? " by your hands":" passively"]!") if(!iscarbon(src)) M.LAssailant = null else @@ -752,12 +759,16 @@ . = ..() if(pulledby.grab_state > GRAB_PASSIVE) if(CHECK_MOBILITY(src, MOBILITY_RESIST) && prob(30/pulledby.grab_state)) - visible_message("[src] has broken free of [pulledby]'s grip!") + pulledby.visible_message("[src] has broken free of [pulledby]'s grip!", + "[src] has broken free of your grip!", target = src, + target_message = "You have broken free of [pulledby]'s grip!") pulledby.stop_pulling() return TRUE else if(moving_resist && client) //we resisted by trying to move // this is a horrible system and whoever thought using client instead of mob is okay is not an okay person client.move_delay = world.time + 20 - visible_message("[src] resists against [pulledby]'s grip!") + pulledby.visible_message("[src] resists against [pulledby]'s grip!", + "[src] resists against your grip!", target = src, + target_message = "You resist against [pulledby]'s grip!") else pulledby.stop_pulling() return TRUE @@ -822,7 +833,8 @@ strip_silence = g.strip_silence if (!strip_silence) who.visible_message("[src] tries to remove [who]'s [what.name].", \ - "[src] tries to remove [who]'s [what.name].") + "[src] tries to remove your [what.name].", target = src, + target_message = "You try to remove [who]'s [what.name].") what.add_fingerprint(src) else to_chat(src,"You try to remove [who]'s [what.name].") @@ -870,7 +882,9 @@ to_chat(src, "\The [what.name] doesn't fit in that place!") return - visible_message("[src] tries to put [what] on [who].") + who.visible_message("[src] tries to put [what] on [who].", + "[src] tries to put [what] on you.", target = src, + target_message = "You try to put [what] on [who].") if(do_mob(src, who, what.equip_delay_other)) if(what && Adjacent(who) && what.mob_can_equip(who, src, final_where, TRUE, TRUE)) if(temporarilyRemoveItemFromInventory(what)) @@ -1054,7 +1068,7 @@ /mob/living/proc/IgniteMob() if(fire_stacks > 0 && !on_fire) on_fire = 1 - src.visible_message("[src] catches fire!", \ + visible_message("[src] catches fire!", \ "You're set on fire!") new/obj/effect/dummy/lighting_obj/moblight/fire(src) throw_alert("fire", /obj/screen/alert/fire) diff --git a/code/modules/mob/living/living_block.dm b/code/modules/mob/living/living_block.dm index 8156f83dbd..817863f257 100644 --- a/code/modules/mob/living/living_block.dm +++ b/code/modules/mob/living/living_block.dm @@ -85,7 +85,8 @@ if(. & BLOCK_SUCCESS) return if(prob(final_block_chance)) - owner.visible_message("[owner] blocks [attack_text] with [src]!") + owner.visible_message("[owner] blocks [attack_text] with [src]!", + "You block [attack_text] with [src]!") return . | BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL return . | BLOCK_NONE diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 623afaabda..17eb51b154 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -43,21 +43,21 @@ P.setAngle(SIMPLIFY_DEGREES(P.Angle + rand(120, 240))) if(!silent) visible_message("[P] gets deflected by [src]!", \ - "[P] gets deflected by [src]!") + "You deflect [P]!") if(REDIRECT_METHOD_REFLECT) P.setAngle(SIMPLIFY_DEGREES(P.Angle + 180)) if(!silent) visible_message("[P] gets reflected by [src]!", \ - "[P] gets reflected by [src]!") + "You reflect [P]!") if(REDIRECT_METHOD_PASSTHROUGH) if(!silent) visible_message("[P] passes through [src]!", \ - "[P] passes through [src]!") + "[P] passes through you!") return if(REDIRECT_METHOD_RETURN_TO_SENDER) if(!silent) visible_message("[src] deflects [P] back at their attacker!", \ - "[src] deflects [P] back at their attacker!") + "You deflect [P] back at your attacker!") if(P.firer) P.setAngle(Get_Angle(src, P.firer)) else @@ -141,7 +141,7 @@ playsound(loc, 'sound/weapons/throwtap.ogg', 1, volume, -1)//...play throwtap.ogg. if(!blocked) visible_message("[src] has been hit by [I].", \ - "[src] has been hit by [I].") + "You have been hit by [I].") var/armor = run_armor_check(impacting_zone, "melee", "Your armor has protected your [parse_zone(impacting_zone)].", "Your armor has softened hit to your [parse_zone(impacting_zone)].",I.armour_penetration) apply_damage(I.throwforce, dtype, impacting_zone, armor) if(I.thrownby) @@ -175,12 +175,15 @@ return updatehealth() visible_message("[M.name] has hit [src]!", \ - "[M.name] has hit [src]!", null, COMBAT_MESSAGE_RANGE) + "[M.name] has hit you!", null, COMBAT_MESSAGE_RANGE, null, + M.occupant, "You hit [src] with your [M.name]!") log_combat(M.occupant, src, "attacked", M, "(INTENT: [uppertext(M.occupant.a_intent)]) (DAMTYPE: [uppertext(M.damtype)])") else step_away(src,M) log_combat(M.occupant, src, "pushed", M) - visible_message("[M] pushes [src] out of the way.", null, null, 5) + visible_message("[M] pushes [src] out of the way.", \ + "[M] pushes you out of the way.", null, COMBAT_MESSAGE_RANGE, null, + M.occupant, "You push [src] out of the way with your [M.name].") /mob/living/fire_act() adjust_fire_stacks(3) @@ -224,7 +227,8 @@ var/old_grab_state = user.grab_state var/grab_upgrade_time = instant ? 0 : 30 visible_message("[user] starts to tighten [user.p_their()] grip on [src]!", \ - "[user] starts to tighten [user.p_their()] grip on you!") + "[user] starts to tighten [user.p_their()] grip on you!", target = user, + target_message = "You start to tighten your grip on [src]!") switch(user.grab_state) if(GRAB_AGGRESSIVE) log_combat(user, src, "attempted to neck grab", addition="neck grab") @@ -242,25 +246,29 @@ var/add_log = "" if(HAS_TRAIT(user, TRAIT_PACIFISM)) visible_message("[user] has firmly gripped [src]!", - "[user] has firmly gripped you!") + "[user] has firmly gripped you!", target = user, + target_message = "You have firmly gripped [src]!") add_log = " (pacifist)" else visible_message("[user] has grabbed [src] aggressively!", \ - "[user] has grabbed you aggressively!") + "[user] has grabbed you aggressively!", target = user, \ + target_message = "You have grabbed [src] aggressively!") update_mobility() stop_pulling() log_combat(user, src, "grabbed", addition="aggressive grab[add_log]") if(GRAB_NECK) log_combat(user, src, "grabbed", addition="neck grab") visible_message("[user] has grabbed [src] by the neck!",\ - "[user] has grabbed you by the neck!") + "[user] has grabbed you by the neck!", target = user, \ + target_message = "You have grabbed [src] by the neck!") update_mobility() //we fall down if(!buckled && !density) Move(user.loc) if(GRAB_KILL) log_combat(user, src, "strangled", addition="kill grab") visible_message("[user] is strangling [src]!", \ - "[user] is strangling you!") + "[user] is strangling you!", target = user, \ + target_message = "You are strangling [src]!") update_mobility() //we fall down if(!buckled && !density) Move(user.loc) @@ -272,7 +280,9 @@ SEND_SIGNAL(src, COMSIG_MOB_ATTACK_HAND, user) if((user != src) && user.a_intent != INTENT_HELP && (mob_run_block(user, 0, user.name, ATTACK_TYPE_UNARMED | ATTACK_TYPE_MELEE, null, user, check_zone(user.zone_selected), null) & BLOCK_SUCCESS)) log_combat(user, src, "attempted to touch") - visible_message("[user] attempted to touch [src]!") + visible_message("[user] attempted to touch [src]!", + "[user] attempted to touch you!", target = user, + target_message = "You attempted to touch [src]!") return TRUE /mob/living/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE) @@ -310,13 +320,16 @@ log_combat(M, src, "attacked") M.do_attack_animation(src) visible_message("The [M.name] glomps [src]!", \ - "The [M.name] glomps [src]!", null, COMBAT_MESSAGE_RANGE) + "The [M.name] glomps [src]!", null, COMBAT_MESSAGE_RANGE, null, + M, "You glomp [src]!") return TRUE /mob/living/attack_animal(mob/living/simple_animal/M) M.face_atom(src) if(M.melee_damage_upper == 0) - M.visible_message("\The [M] [M.friendly] [src]!") + M.visible_message("\The [M] [M.friendly_verb_continuous] [src]!", + "You [M.friendly_verb_simple] [src]!", target = src, + target_message = "\The [M] [M.friendly_verb_continuous] you!") return FALSE else if(HAS_TRAIT(M, TRAIT_PACIFISM)) @@ -327,8 +340,9 @@ if(M.attack_sound) playsound(loc, M.attack_sound, 50, 1, 1) M.do_attack_animation(src) - visible_message("\The [M] [M.attacktext] [src]!", \ - "\The [M] [M.attacktext] [src]!", null, COMBAT_MESSAGE_RANGE) + visible_message("\The [M] [M.attack_verb_continuous] [src]!", \ + "\The [M] [M.attack_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, null, + M, "You [M.attack_verb_simple] [src]!") log_combat(M, src, "attacked") return TRUE @@ -347,17 +361,21 @@ log_combat(M, src, "attacked") playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) visible_message("[M.name] bites [src]!", \ - "[M.name] bites [src]!", null, COMBAT_MESSAGE_RANGE) + "[M.name] bites you!", null, COMBAT_MESSAGE_RANGE, null, + M, "You bite [src]!") return TRUE else visible_message("[M.name] has attempted to bite [src]!", \ - "[M.name] has attempted to bite [src]!", null, COMBAT_MESSAGE_RANGE) + "[M.name] has attempted to bite [src]!", null, COMBAT_MESSAGE_RANGE, null, + M, "You have attempted to bite [src]!") return FALSE /mob/living/attack_larva(mob/living/carbon/alien/larva/L) switch(L.a_intent) if(INTENT_HELP) - visible_message("[L.name] rubs its head against [src].") + visible_message("[L.name] rubs its head against [src].", + "[L.name] rubs its head against you.", target = L, \ + target_message = "You rub your head against [src].") return FALSE else @@ -370,21 +388,26 @@ if(prob(90)) log_combat(L, src, "attacked") visible_message("[L.name] bites [src]!", \ - "[L.name] bites [src]!", null, COMBAT_MESSAGE_RANGE) + "[L.name] bites you!", null, COMBAT_MESSAGE_RANGE, null, L, \ + "You bite [src]!") playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) return TRUE else visible_message("[L.name] has attempted to bite [src]!", \ - "[L.name] has attempted to bite [src]!", null, COMBAT_MESSAGE_RANGE) + "[L.name] has attempted to bite you!", null, COMBAT_MESSAGE_RANGE, null, L, \ + "You have attempted to bite [src]!") /mob/living/attack_alien(mob/living/carbon/alien/humanoid/M) if((M != src) && M.a_intent != INTENT_HELP && (mob_run_block(M, 0, "the [M.name]", ATTACK_TYPE_MELEE | ATTACK_TYPE_UNARMED, 0, M, check_zone(M.zone_selected), null) & BLOCK_SUCCESS)) - visible_message("[M] attempted to touch [src]!") + visible_message("[M] attempted to touch [src]!", + "[M] attempted to touch you!") return FALSE switch(M.a_intent) if (INTENT_HELP) if(!isalien(src)) //I know it's ugly, but the alien vs alien attack_alien behaviour is a bit different. - visible_message("[M] caresses [src] with its scythe like arm.") + visible_message("[M] caresses [src] with its scythe like arm.", + "[M] caresses you with its scythe like arm.", target = M, + target_message = "You caress [src] with your scythe like arm.") return FALSE if (INTENT_GRAB) grabbedby(M) diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm index ba162ecf2c..dcb7ac66c9 100644 --- a/code/modules/mob/living/silicon/pai/pai_defense.dm +++ b/code/modules/mob/living/silicon/pai/pai_defense.dm @@ -32,22 +32,28 @@ /mob/living/silicon/pai/attack_hand(mob/living/carbon/human/user) switch(user.a_intent) if(INTENT_HELP) - visible_message("[user] gently pats [src] on the head, eliciting an off-putting buzzing from its holographic field.") + visible_message("[user] gently pats [src] on the head, eliciting an off-putting buzzing from its holographic field.", + "[user] gently pats you on the head, eliciting an off-putting buzzing from your holographic field.", target = user, + target_message = "You gently pat [src] on the head, eliciting an off-putting buzzing from its holographic field.") if(INTENT_DISARM) - visible_message("[user] boops [src] on the head!") + visible_message("[user] boops [src] on the head!", + "[user] boops you on the head!", target = user, + target_message = "You boop [src] on the head!") if(INTENT_HARM) user.do_attack_animation(src) if (user.name == master) visible_message("Responding to its master's touch, [src] disengages its holochassis emitter, rapidly losing coherence.") - spawn(10) - fold_in() - if(user.put_in_hands(card)) - user.visible_message("[user] promptly scoops up [user.p_their()] pAI's card.") + fold_in() + if(user.put_in_hands(card)) + user.visible_message("[user] promptly scoops up [user.p_their()] pAI's card.", + "You promptly scoops up your pAI's card.") else if(HAS_TRAIT(user, TRAIT_PACIFISM)) to_chat(user, "You don't want to hurt [src]!") return - visible_message("[user] stomps on [src]!.") + visible_message("[user] stomps on [src]!.", + "[user] stomps on you!.", target = user, + target_message = "You stomp on [src]!.") take_holo_damage(2) else grabbedby(user) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 5750543a92..e337618e4b 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -32,15 +32,17 @@ var/obj/item/I = get_active_held_item() if(I) uneq_active() - visible_message("[M] disarmed [src]!", \ - "[M] has disabled [src]'s active module!", null, COMBAT_MESSAGE_RANGE) + visible_message("[M] has disarmed [src]!", \ + "[M] has disabled your active module!", null, COMBAT_MESSAGE_RANGE, null, M, + "You have disarmed [src]!") log_combat(M, src, "disarmed", "[I ? " removing \the [I]" : ""]") else Paralyze(40) step(src,get_dir(M,src)) log_combat(M, src, "pushed") visible_message("[M] has forced back [src]!", \ - "[M] has forced back [src]!", null, COMBAT_MESSAGE_RANGE) + "[M] has forced you back!", null, COMBAT_MESSAGE_RANGE, null, M, + "You have forced back [src]!") playsound(loc, 'sound/weapons/pierce.ogg', 50, 1, -1) /mob/living/silicon/robot/attack_slime(mob/living/simple_animal/slime/M) diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index 94ce1e42fc..cd50ffbae6 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -17,7 +17,8 @@ log_combat(M, src, "attacked") playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) visible_message("[M] has slashed at [src]!", \ - "[M] has slashed at [src]!") + "[M] has slashed at you!", target = M, \ + target_message = "You have slashed at [src]!") if(prob(8)) flash_act(affect_silicon = 1) log_combat(M, src, "attacked") @@ -25,8 +26,9 @@ updatehealth() else playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - visible_message("[M] took a swipe at [src]!", \ - "[M] took a swipe at [src]!") + visible_message("[M] take a swipe at [src]!", \ + "[M] take a swipe at you!", target = M, \ + target_message = "You take a swipe at [src]!") /mob/living/silicon/attack_animal(mob/living/simple_animal/M) . = ..() @@ -36,7 +38,8 @@ for(var/mob/living/N in buckled_mobs) N.DefaultCombatKnockdown(20) unbuckle_mob(N) - N.visible_message("[N] is knocked off of [src] by [M]!") + N.visible_message("[N] is knocked off of [src] by [M]!", + "You are knocked off of [src] by [M]!") switch(M.melee_damage_type) if(BRUTE) adjustBruteLoss(damage) @@ -62,7 +65,8 @@ adjustBruteLoss(rand(10, 15)) playsound(loc, "punch", 25, 1, -1) visible_message("[user] has punched [src]!", \ - "[user] has punched [src]!") + "[user] has punched you!", target = user, \ + target_message = "You have punched [src]!") return TRUE return FALSE @@ -73,14 +77,16 @@ switch(M.a_intent) if (INTENT_HELP) M.visible_message("[M] pets [src].", \ - "You pet [src].") + "You pet [src].", target = src, + target_message = "[M] pets you.") if(INTENT_GRAB) grabbedby(M) else M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) playsound(src.loc, 'sound/effects/bang.ogg', 10, 1) visible_message("[M] punches [src], but doesn't leave a dent.", \ - "[M] punches [src], but doesn't leave a dent.", null, COMBAT_MESSAGE_RANGE) + "[M] punches you, but doesn't leave a dent.", null, COMBAT_MESSAGE_RANGE, null, M, + "You punch [src], but don't leave a dent.") /mob/living/silicon/attack_drone(mob/living/simple_animal/drone/M) if(M.a_intent == INTENT_HARM) @@ -109,7 +115,8 @@ if(prob(severity*50)) unbuckle_mob(M) M.DefaultCombatKnockdown(40) - M.visible_message("[M] is thrown off of [src]!") + M.visible_message("[M] is thrown off of [src]!", + "You are thrown off of [src]!") flash_act(affect_silicon = 1) /mob/living/silicon/bullet_act(obj/item/projectile/P, def_zone) @@ -127,13 +134,15 @@ adjustBruteLoss(P.damage) if(prob(P.damage*1.5)) for(var/mob/living/M in buckled_mobs) - M.visible_message("[M] is knocked off of [src]!") + M.visible_message("[M] is knocked off of [src]!", + "You are knocked off of [src]!") unbuckle_mob(M) M.DefaultCombatKnockdown(40) if(P.stun || P.knockdown) for(var/mob/living/M in buckled_mobs) unbuckle_mob(M) - M.visible_message("[M] is knocked off of [src] by the [P]!") + M.visible_message("[M] is knocked off of [src] by the [P]!", + "You are knocked off of [src] by the [P]!") P.on_hit(src) return BULLET_ACT_HIT diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index fe18d48718..1e56e91ae1 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -7,7 +7,9 @@ switch(M.a_intent) if(INTENT_HELP) if (health > 0) - visible_message("[M] [response_help] [src].") + visible_message("[M] [response_help_continuous] [src].", \ + "[M] [response_help_continuous] you.", null, null, null, + M, "You [response_help_simple] [src].") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(INTENT_GRAB) @@ -16,13 +18,22 @@ else grabbedby(M) - if(INTENT_HARM, INTENT_DISARM) + if(INTENT_DISARM) + M.do_attack_animation(src, ATTACK_EFFECT_DISARM) + visible_message("[M] [response_disarm_continuous] [src]!",\ + "[M] [response_disarm_continuous] you!", null, COMBAT_MESSAGE_RANGE, null, \ + M, "You [response_disarm_simple] [src]!") + playsound(src, 'sound/weapons/thudswoosh.ogg', 25, 1) + log_combat(M, src, "disarmed") + + if(INTENT_HARM) if(HAS_TRAIT(M, TRAIT_PACIFISM)) to_chat(M, "You don't want to hurt [src]!") return M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) - visible_message("[M] [response_harm] [src]!",\ - "[M] [response_harm] [src]!", null, COMBAT_MESSAGE_RANGE) + visible_message("[M] [response_harm_continuous] [src]!",\ + "[M] [response_harm_continuous] you!", null, COMBAT_MESSAGE_RANGE, null, \ + M, "You [response_harm_simple] [src]!") playsound(loc, attacked_sound, 25, 1, -1) attack_threshold_check(harm_intent_damage) log_combat(M, src, "attacked") @@ -35,8 +46,9 @@ if(.) return playsound(loc, "punch", 25, 1, -1) - visible_message("[user] has punched [src]!", \ - "[user] has punched [src]!", null, COMBAT_MESSAGE_RANGE) + visible_message("[user] punches [src]!", \ + "[user] punches you!", null, COMBAT_MESSAGE_RANGE, null, \ + user, "You punch [src]!") adjustBruteLoss(15) return TRUE @@ -48,7 +60,9 @@ return 1 if (M.a_intent == INTENT_HELP) if (health > 0) - visible_message("[M.name] [response_help] [src].") + visible_message("[M.name] [response_help_continuous] [src].", \ + "[M.name] [response_help_continuous] you.", \ + target = M, target_message = "You [response_help_simple] [src].") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) /mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/M) @@ -57,12 +71,14 @@ return if(M.a_intent == INTENT_DISARM) playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) - visible_message("[M] [response_disarm] [name]!", \ - "[M] [response_disarm] [name]!", null, COMBAT_MESSAGE_RANGE) + visible_message("[M] [response_disarm_continuous] [name]!", \ + "[M] [response_disarm_continuous] [name]!", null, COMBAT_MESSAGE_RANGE, null, \ + M, "You [response_disarm_simple] [name]!") log_combat(M, src, "disarmed") else visible_message("[M] has slashed at [src]!", \ - "[M] has slashed at [src]!", null, COMBAT_MESSAGE_RANGE) + "[M] has slashed at [src]!", null, COMBAT_MESSAGE_RANGE, null, \ + M, "[M] has slashed at [src]!") playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) attack_threshold_check(M.meleeSlashSAPower) log_combat(M, src, "attacked") @@ -102,7 +118,7 @@ temp_damage *= damage_coeff[damagetype] if(temp_damage >= 0 && temp_damage <= force_threshold) - visible_message("[src] looks unharmed.") + visible_message("[src] looks unharmed!") return FALSE else apply_damage(damage, damagetype, null, getarmor(null, armorcheck)) diff --git a/code/modules/mob/living/simple_animal/astral.dm b/code/modules/mob/living/simple_animal/astral.dm index 8e10376265..48203b24b9 100644 --- a/code/modules/mob/living/simple_animal/astral.dm +++ b/code/modules/mob/living/simple_animal/astral.dm @@ -6,10 +6,14 @@ icon_living = "ghost" mob_biotypes = MOB_SPIRIT has_field_of_vision = FALSE //we are a spoopy ghost - attacktext = "raises the hairs on the neck of" - response_harm = "disrupts the concentration of" - response_disarm = "wafts" - friendly = "communes with" + attack_verb_continuous = "raises the hair on the neck of" + attack_verb_simple = "raise the hair on the neck of" + response_harm_continuous = "disrupts the concentration of" + response_harm_simple = "disrupt the concentration of" + response_disarm_continuous = "wafts" + response_disarm_simple = "waft" + friendly_verb_continuous = "communes with" + friendly_verb_simple = "commute with" loot = null maxHealth = 10 health = 10 @@ -19,7 +23,6 @@ deathmessage = "disappears as if it was never really there to begin with" incorporeal_move = 1 alpha = 50 - attacktext = "touches the mind of" speak_emote = list("echos") movement_type = FLYING var/pseudo_death = FALSE @@ -33,7 +36,6 @@ /mob/living/simple_animal/astral/death() icon_state = "shade_dead" Stun(1000) - friendly = "deads at" pseudo_death = TRUE incorporeal_move = 0 to_chat(src, "Your astral projection is interrupted and your mind is sent back to your body with a shock!") diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 674cc722d8..354bc9ed0f 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -5,9 +5,12 @@ gender = NEUTER mob_biotypes = NONE speak_emote = list("hisses") - response_help = "thinks better of touching" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "thinks better of touching" + response_help_simple = "think better of touching" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" threat = 1 speak_chance = 1 icon = 'icons/mob/mob.dmi' @@ -122,12 +125,14 @@ threat = 3 maxHealth = 150 health = 150 - response_harm = "harmlessly punches" + response_harm_continuous = "harmlessly punches" + response_harm_simple = "harmlessly punch" harm_intent_damage = 0 obj_damage = 90 melee_damage_lower = 25 melee_damage_upper = 25 - attacktext = "smashes their armored gauntlet into" + attack_verb_continuous = "smashes their armored gauntlet into" + attack_verb_simple = "smash your armored gauntlet into" speed = 2.5 environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch3.ogg' @@ -188,7 +193,8 @@ melee_damage_lower = 20 melee_damage_upper = 20 retreat_distance = 2 //AI wraiths will move in and out of combat - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) runetype = /datum/action/innate/cult/create_rune/tele @@ -232,14 +238,16 @@ icon_living = "artificer" maxHealth = 50 health = 50 - response_harm = "viciously beats" + response_harm_continuous = "viciously beats" + response_harm_simple = "viciously beat" harm_intent_damage = 5 obj_damage = 60 melee_damage_lower = 5 melee_damage_upper = 5 retreat_distance = 10 minimum_distance = 10 //AI artificers will flee like fuck - attacktext = "rams" + attack_verb_continuous = "rams" + attack_verb_simple = "ram" environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch2.ogg' construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, @@ -319,7 +327,8 @@ sight = SEE_MOBS melee_damage_lower = 15 melee_damage_upper = 20 - attacktext = "butchers" + attack_verb_continuous = "butchers" + attack_verb_simple = "butcher" attack_sound = 'sound/weapons/bladeslice.ogg' construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/area_conversion, /obj/effect/proc_holder/spell/targeted/forcewall/cult) diff --git a/code/modules/mob/living/simple_animal/friendly/bumbles.dm b/code/modules/mob/living/simple_animal/friendly/bumbles.dm index 1a78a47031..2d236a4327 100644 --- a/code/modules/mob/living/simple_animal/friendly/bumbles.dm +++ b/code/modules/mob/living/simple_animal/friendly/bumbles.dm @@ -5,14 +5,18 @@ icon_living = "bumbles" icon_dead = "bumbles_dead" turns_per_move = 1 - response_help = "pets" - response_disarm = "brushes aside" - response_harm = "squashes" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "brushes aside" + response_help_simple = "brush aside" + response_harm_continuous = "squashes" + response_harm_simple = "squash" speak_emote = list("buzzes") maxHealth = 100 health = 100 harm_intent_damage = 1 - friendly = "bzzs" + friendly_verb_continuous = "bzzs" + friendly_verb_simple = "bzz" density = FALSE movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index 80fba5a9a4..bf4f45e283 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -5,14 +5,18 @@ icon_living = "butterfly" icon_dead = "butterfly_dead" turns_per_move = 1 - response_help = "shoos" - response_disarm = "brushes aside" - response_harm = "squashes" + response_help_continuous = "shoos" + response_help_simple = "shoo" + response_disarm_continuous = "brushes aside" + response_disarm_simple = "brush aside" + response_harm_continuous = "squashes" + response_harm_simple = "squash" speak_emote = list("flutters") maxHealth = 2 health = 2 harm_intent_damage = 1 - friendly = "nudges" + friendly_verb_continuous = "nudges" + friendly_verb_simple = "nudge" density = FALSE movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index c91863a167..5f7ff198e2 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -24,9 +24,12 @@ animal_species = /mob/living/simple_animal/pet/cat childtype = list(/mob/living/simple_animal/pet/cat/kitten) butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2, /obj/item/organ/ears/cat = 1, /obj/item/organ/tail/cat = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" var/turns_since_scan = 0 var/mob/living/simple_animal/mouse/movement_target gold_core_spawnable = FRIENDLY_SPAWN @@ -245,7 +248,8 @@ harm_intent_damage = 10 butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/reagent_containers/food/snacks/cakeslice/birthday = 3, \ /obj/item/reagent_containers/food/snacks/meat/slab = 2) - response_harm = "takes a bite out of" + response_harm_continuous = "takes a bite out of" + response_harm_simple = "take a bite out of" attacked_sound = 'sound/items/eatfood.ogg' deathmessage = "loses its false life and collapses!" death_sound = "bodyfall" @@ -306,7 +310,6 @@ if (pseudo_death == TRUE) //secret cat chem icon_state = "custom_cat_dead" Stun(1000) - friendly = "deads at" return else ..() diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/simple_animal/friendly/cockroach.dm index 95aa86aaab..9a34f2c176 100644 --- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/cockroach.dm @@ -14,9 +14,12 @@ pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BUG - response_help = "pokes" - response_disarm = "shoos" - response_harm = "splats" + response_help_continuous = "pokes" + response_help_simple = "poke" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "splats" + response_harm_simple = "splat" speak_emote = list("chitters") density = FALSE ventcrawler = VENTCRAWLER_ALWAYS diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index cce5edc513..d86362c974 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -12,11 +12,15 @@ speak_chance = 1 turns_per_move = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/rawcrab = 4) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "stomps" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "stomps" + response_harm_continuous = "stomp" stop_automated_movement = 1 - friendly = "pinches" + friendly_verb_continuous = "pinches" + friendly_verb_simple = "pinch" ventcrawler = VENTCRAWLER_ALWAYS var/obj/item/inventory_head var/obj/item/inventory_mask @@ -41,9 +45,6 @@ real_name = "Coffee" desc = "It's Coffee, the other pet!" gender = FEMALE - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "stomps" gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/crab/evil @@ -53,9 +54,10 @@ icon_state = "evilcrab" icon_living = "evilcrab" icon_dead = "evilcrab_dead" - response_help = "pokes" - response_disarm = "shoves" - response_harm = "stomps" + response_help_continuous = "pokes" + response_help_simple = "poke" + response_disarm_continuous = "shoves" + response_disarm_simple = "shove" gold_core_spawnable = HOSTILE_SPAWN /mob/living/simple_animal/crab/kreb @@ -65,9 +67,6 @@ icon_state = "kreb" icon_living = "kreb" icon_dead = "kreb_dead" - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "stomps" gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/crab/evil/kreb diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 8db462b384..57a4ecc5c9 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -2,9 +2,12 @@ /mob/living/simple_animal/pet/dog mob_biotypes = MOB_ORGANIC|MOB_BEAST - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" speak = list("YAP", "Woof!", "Bark!", "AUUUUUU") speak_emote = list("barks", "woofs") emote_hear = list("barks!", "woofs!", "yaps.","pants.") @@ -332,9 +335,6 @@ desc = "It's the HoP's beloved corgi." var/turns_since_scan = 0 var/obj/movement_target - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" gold_core_spawnable = NO_SPAWN unique_pet = TRUE var/age = 0 @@ -604,9 +604,6 @@ icon_state = "lisa" icon_living = "lisa" icon_dead = "lisa_dead" - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" var/turns_since_scan = 0 var/puppies = 0 held_icon = "lisa" 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 298806edc9..59fa94a1fa 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -13,13 +13,17 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 4) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" faction = list("neutral") mob_biotypes = MOB_ORGANIC|MOB_BEAST attack_same = 1 - attacktext = "kicks" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" attack_sound = 'sound/weapons/punch1.ogg' health = 40 maxHealth = 40 @@ -121,10 +125,14 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 6) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - attacktext = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" attack_sound = 'sound/weapons/punch1.ogg' health = 50 maxHealth = 50 @@ -198,10 +206,14 @@ speak_chance = 2 turns_per_move = 2 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/chicken = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - attacktext = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" health = 3 maxHealth = 3 ventcrawler = VENTCRAWLER_ALWAYS @@ -249,10 +261,14 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/chicken = 2) var/egg_type = /obj/item/reagent_containers/food/snacks/egg var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - attacktext = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" health = 15 maxHealth = 15 ventcrawler = VENTCRAWLER_ALWAYS @@ -342,10 +358,14 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3) var/egg_type = /obj/item/reagent_containers/food/snacks/egg/kiwiEgg var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - attacktext = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" health = 25 maxHealth = 25 ventcrawler = VENTCRAWLER_ALWAYS @@ -420,10 +440,14 @@ speak_chance = 2 turns_per_move = 2 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - attacktext = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" health = 10 maxHealth = 10 ventcrawler = VENTCRAWLER_ALWAYS diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm index de24bf5463..4e4fd7ccfc 100644 --- a/code/modules/mob/living/simple_animal/friendly/fox.dm +++ b/code/modules/mob/living/simple_animal/friendly/fox.dm @@ -14,9 +14,12 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" gold_core_spawnable = FRIENDLY_SPAWN footstep_type = FOOTSTEP_MOB_CLAW diff --git a/code/modules/mob/living/simple_animal/friendly/gondola.dm b/code/modules/mob/living/simple_animal/friendly/gondola.dm index 04d53e7d05..0cfea3548b 100644 --- a/code/modules/mob/living/simple_animal/friendly/gondola.dm +++ b/code/modules/mob/living/simple_animal/friendly/gondola.dm @@ -9,9 +9,12 @@ name = "gondola" real_name = "gondola" desc = "Gondola is the silent walker. Having no hands he embodies the Taoist principle of wu-wei (non-action) while his smiling facial expression shows his utter and complete acceptance of the world as it is. Its hide is extremely valuable." - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" faction = list("gondola") turns_per_move = 10 icon = 'icons/mob/gondolas.dmi' diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index 9ae46f29e5..b9ff99b677 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -8,12 +8,16 @@ health = 5 maxHealth = 5 faction = list("Lizard") - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" melee_damage_lower = 1 melee_damage_upper = 2 - response_help = "pets" - response_disarm = "shoos" - response_harm = "stomps on" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" ventcrawler = VENTCRAWLER_ALWAYS density = FALSE pass_flags = PASSTABLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 7f83bb9f9b..50d1e44d2a 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -15,9 +15,12 @@ maxHealth = 5 health = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "splats" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "splats" + response_harm_simple = "splat" density = FALSE ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE | PASSGRILLE | PASSMOB @@ -103,9 +106,6 @@ GLOBAL_VAR(tom_existed) /mob/living/simple_animal/mouse/brown/Tom name = "Tom" desc = "Jerry the cat is not amused." - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "splats" gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/mouse/brown/Tom/Initialize() diff --git a/code/modules/mob/living/simple_animal/friendly/panda.dm b/code/modules/mob/living/simple_animal/friendly/panda.dm index 6bb78730f7..7e523fea83 100644 --- a/code/modules/mob/living/simple_animal/friendly/panda.dm +++ b/code/modules/mob/living/simple_animal/friendly/panda.dm @@ -13,8 +13,11 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" gold_core_spawnable = FRIENDLY_SPAWN footstep_type = FOOTSTEP_MOB_CLAW diff --git a/code/modules/mob/living/simple_animal/friendly/penguin.dm b/code/modules/mob/living/simple_animal/friendly/penguin.dm index 45f3c72d9e..f92f4184b7 100644 --- a/code/modules/mob/living/simple_animal/friendly/penguin.dm +++ b/code/modules/mob/living/simple_animal/friendly/penguin.dm @@ -1,9 +1,12 @@ //Penguins /mob/living/simple_animal/pet/penguin - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" speak = list("Gah Gah!", "NOOT NOOT!", "NOOT!", "Noot", "noot", "Prah!", "Grah!") speak_emote = list("squawks", "gakkers") emote_hear = list("squawk!", "gakkers!", "noots.","NOOTS!") diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm index 25d16a4d3a..83fe42a7a4 100644 --- a/code/modules/mob/living/simple_animal/friendly/sloth.dm +++ b/code/modules/mob/living/simple_animal/friendly/sloth.dm @@ -11,9 +11,12 @@ speak_chance = 1 turns_per_move = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" mob_biotypes = MOB_ORGANIC|MOB_BEAST gold_core_spawnable = FRIENDLY_SPAWN melee_damage_lower = 18 diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index 7f75888649..4d20b927a6 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -19,12 +19,16 @@ speak_emote = list("hisses") health = 20 maxHealth = 20 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" melee_damage_lower = 5 melee_damage_upper = 6 - response_help = "pets" - response_disarm = "shoos" - response_harm = "steps on" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "steps on" + response_harm_simple = "step on" faction = list("hostile") ventcrawler = VENTCRAWLER_ALWAYS density = FALSE diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index d2794a3a78..9d94992747 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -13,9 +13,12 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians gender = NEUTER mob_biotypes = NONE bubble_icon = "guardian" - response_help = "passes through" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" icon = 'icons/mob/guardian.dmi' icon_state = "magicbase" icon_living = "magicbase" @@ -29,7 +32,8 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians 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 maxbodytemp = INFINITY - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" maxHealth = INFINITY //The spirit itself is invincible health = INFINITY healable = FALSE //don't brusepack the guardian @@ -109,7 +113,8 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians icon_dead = "holocarp" speak_emote = list("gnashes") desc = "A mysterious fish that stands by its charge, ever vigilant." - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' recolorentiresprite = TRUE if(!recolorentiresprite) //we want this to proc before stand logs in, so the overlay isnt gone for some reason 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 e507a4c831..e82d6cd16a 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm @@ -1,6 +1,7 @@ //Assassin /mob/living/simple_animal/hostile/guardian/assassin - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' 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." diff --git a/code/modules/mob/living/simple_animal/guardian/types/fire.dm b/code/modules/mob/living/simple_animal/guardian/types/fire.dm index 718bfd71af..97003a53e2 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/fire.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/fire.dm @@ -4,7 +4,8 @@ melee_damage_lower = 10 melee_damage_upper = 10 attack_sound = 'sound/items/welder.ogg' - attacktext = "ignites" + attack_verb_continuous = "ignites" + attack_verb_simple = "ignite" melee_damage_type = BURN damage_coeff = list(BRUTE = 0.7, BURN = 0.1, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) playstyle_string = "As a chaos type, you take 30% damage reduction to all but burn, which you are almost immune to. You will ignite any enemy you bump into. in addition, your melee attacks will cause human targets to see everyone as you." diff --git a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm index 7b7651822a..a1552f6648 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm @@ -6,7 +6,8 @@ /mob/living/simple_animal/hostile/guardian/beam melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "shocks" + attack_verb_continuous = "shocks" + attack_verb_simple = "shock" melee_damage_type = BURN attack_sound = 'sound/machines/defib_zap.ogg' damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index 539ee9081b..1746936ba3 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -8,7 +8,8 @@ /mob/living/simple_animal/hostile/guardian/ranged a_intent = INTENT_HELP - friendly = "quietly assesses" + friendly_verb_continuous = "quietly assesses" + friendly_verb_simple = "quietly assess" melee_damage_lower = 10 melee_damage_upper = 10 damage_coeff = list(BRUTE = 0.9, BURN = 0.9, TOX = 0.9, CLONE = 0.9, STAMINA = 0, OXY = 0.9) diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm index 7b519e1ca1..21460b5c6b 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/support.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm @@ -1,7 +1,8 @@ //Healer /mob/living/simple_animal/hostile/guardian/healer a_intent = INTENT_HARM - friendly = "heals" + friendly_verb_continuous = "heals" + friendly_verb_simple = "heal" damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) playstyle_string = "As a support type, you have 30% damage reduction and may toggle your basic attacks to a healing mode. In addition, Alt-Clicking on an adjacent object or mob will warp them to your bluespace beacon after a short delay." magic_fluff_string = "..And draw the CMO, a potent force of life... and death." diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 0007eae1dc..7120ab6d0a 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -8,9 +8,12 @@ icon_gib = "syndicate_gib" gender = FEMALE threat = 1 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" + response_help_continuous = "pokes" + response_help_simple = "poke" + response_disarm_continuous = "shoves" + response_disarm_simple = "shove" + response_harm_continuous = "hits" + response_harm_simple = "hit" speed = 0 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/xeno = 4, /obj/item/stack/sheet/animalhide/xeno = 1) @@ -20,7 +23,8 @@ obj_damage = 60 melee_damage_lower = 25 melee_damage_upper = 25 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" speak_emote = list("hisses") bubble_icon = "alien" a_intent = INTENT_HARM @@ -165,7 +169,8 @@ melee_damage_upper = 0 threat = -1 a_intent = INTENT_HELP - friendly = "caresses" + friendly_verb_continuous = "caresses" + friendly_verb_simple = "caress" obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE gold_core_spawnable = HOSTILE_SPAWN diff --git a/code/modules/mob/living/simple_animal/hostile/banana_spider.dm b/code/modules/mob/living/simple_animal/hostile/banana_spider.dm index 66c42e6c0e..259c0bc721 100644 --- a/code/modules/mob/living/simple_animal/hostile/banana_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/banana_spider.dm @@ -13,9 +13,12 @@ maxbodytemp = INFINITY pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY - response_help = "pokes" - response_disarm = "shoos" - response_harm = "splats" + response_help_continuous = "pokes" + response_help_simple = "poke" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "splats" + response_harm_simple = "plat" speak_emote = list("chitters") mouse_opacity = 2 density = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index 2f12420060..0e864a1e37 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -17,9 +17,12 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/bear = 5, /obj/item/clothing/head/bearpelt = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" maxHealth = 60 health = 60 spacewalk = TRUE @@ -28,9 +31,11 @@ obj_damage = 60 melee_damage_lower = 20 melee_damage_upper = 30 - attacktext = "claws" + attack_verb_continuous = "claws" + attack_verb_simple = "claw" attack_sound = 'sound/weapons/bladeslice.ogg' - friendly = "bear hugs" + friendly_verb_continuous = "bear hugs" + friendly_verb_simple = "bear hug" //Space bears aren't affected by cold. 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) @@ -111,12 +116,14 @@ mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Seve melee_damage_lower = 1 melee_damage_upper = 1 armour_penetration = 0 - response_harm = "takes a bite out of" + response_harm_continuous = "takes a bite out of" + response_harm_simple = "take a bite out of" attacked_sound = 'sound/items/eatfood.ogg' deathmessage = "loses its false life and collapses!" butcher_results = list(/obj/item/reagent_containers/food/snacks/butter = 6, /obj/item/reagent_containers/food/snacks/meat/slab = 3, /obj/item/organ/brain = 1, /obj/item/organ/heart = 1) attack_sound = 'sound/weapons/slap.ogg' - attacktext = "slaps" + attack_verb_continuous = "slaps" + attack_verb_simple = "slap" /mob/living/simple_animal/hostile/bear/butter/Life() //Heals butter bear really fast when he takes damage. if(stat) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index f5454933c8..5f3d4f11c1 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -23,10 +23,14 @@ turns_per_move = 0 melee_damage_lower = 1 melee_damage_upper = 1 - attacktext = "stings" - response_help = "shoos" - response_disarm = "swats away" - response_harm = "squashes" + attack_verb_continuous = "stings" + attack_verb_simple = "sting" + response_help_continuous = "shoos" + response_help_simple = "shoo" + response_disarm_continuous = "swats away" + response_disarm_simple = "swat away" + response_harm_continuous = "squashes" + response_harm_simple = "squash" maxHealth = 10 health = 10 spacewalk = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index ced56f0705..a56a8dcc29 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -12,9 +12,10 @@ speak_chance = 0 turns_per_move = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 2) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" emote_taunt = list("gnashes") taunt_chance = 30 speed = 0 @@ -25,7 +26,8 @@ obj_damage = 50 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("gnashes") //Space carp aren't affected by cold. diff --git a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm index 4e3375caf7..d85f75cbbd 100644 --- a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm +++ b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm @@ -8,9 +8,6 @@ icon_gib = "syndicate_gib" speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 stat_attack = UNCONSCIOUS robust_searching = 1 @@ -19,7 +16,8 @@ harm_intent_damage = 5 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "slashes at" + attack_verb_continuous = "slashes at" + attack_verb_simple = "slash at" attack_sound = 'sound/weapons/circsawhit.ogg' a_intent = INTENT_HARM mob_biotypes = MOB_ORGANIC|MOB_HUMANOID diff --git a/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm b/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm index fc11817be4..48266e3e76 100644 --- a/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm @@ -17,7 +17,8 @@ obj_damage = 20 melee_damage_lower = 5 melee_damage_upper = 5 - attacktext = "staves" + attack_verb_continuous = "staves" + attack_verb_simple = "stave" a_intent = INTENT_HARM speak_emote = list("chants") attack_sound = 'sound/weapons/bladeslice.ogg' diff --git a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm index 19d4dad6e8..75e8c55236 100644 --- a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm +++ b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm @@ -8,9 +8,10 @@ icon_gib = "" gender = NEUTER mob_biotypes = MOB_ORGANIC - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" emote_taunt = list("glares") taunt_chance = 25 maxHealth = 45 @@ -21,7 +22,8 @@ obj_damage = 60 melee_damage_lower = 20 melee_damage_upper = 25 - attacktext = "blinks at" + attack_verb_continuous = "blinks at" + attack_verb_simple = "blink at" attack_sound = 'sound/weapons/pierce.ogg' movement_type = FLYING diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index 1df4e2f67f..4f8d2fef6c 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -9,9 +9,12 @@ gender = MALE speak_chance = 0 turns_per_move = 5 - response_help = "passes through" - response_disarm = "shoves" - response_harm = "hits" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "shoves" + response_disarm_simple = "shove" + response_harm_continuous = "hits" + response_harm_simple = "hit" emote_taunt = list("wails") taunt_chance = 25 speed = 0 @@ -26,7 +29,8 @@ obj_damage = 50 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "grips" + attack_verb_continuous = "grips" + attack_verb_simple = "grip" attack_sound = 'sound/hallucinations/growl1.ogg' speak_emote = list("growls") 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 6bd2ac0925..a253ecfd96 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -30,9 +30,12 @@ turns_per_move = 5 see_in_dark = 10 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/spider = 2, /obj/item/reagent_containers/food/snacks/spiderleg = 8) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" maxHealth = 200 health = 200 obj_damage = 60 @@ -43,7 +46,8 @@ pass_flags = PASSTABLE move_to_delay = 6 ventcrawler = VENTCRAWLER_ALWAYS - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' unique_name = 1 gold_core_spawnable = HOSTILE_SPAWN diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index db232c20c4..1dcb13aa9b 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -10,9 +10,12 @@ speak_chance = 0 turns_per_move = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" emote_taunt = list("hisses") taunt_chance = 30 speed = 0 @@ -21,7 +24,8 @@ harm_intent_damage = 5 melee_damage_lower = 5 melee_damage_upper = 5 - attacktext = "pecks" + attack_verb_continuous = "pecks" + attack_verb_simple = "peck" attack_sound = "goose" speak_emote = list("honks") faction = list("neutral") diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm index da9f96df55..f48eef083b 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -16,16 +16,20 @@ health = 220 loot = list(/obj/effect/gibspawner/generic) butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/gorilla = 4) - response_help = "prods" - response_disarm = "challenges" - response_harm = "thumps" + response_help_continuous = "prods" + response_help_simple = "prod" + response_disarm_continuous = "challenges" + response_disarm_simple = "challenge" + response_harm_continuous = "thumps" + response_harm_simple = "thump" speed = 1 melee_damage_lower = 15 melee_damage_upper = 18 damage_coeff = list(BRUTE = 1, BURN = 1.5, TOX = 1.5, CLONE = 0, STAMINA = 0, OXY = 1.5) obj_damage = 20 environment_smash = ENVIRONMENT_SMASH_WALLS - attacktext = "pummels" + attack_verb_continuous = "pummels" + attack_verb_simple = "pummel" attack_sound = 'sound/weapons/punch1.ogg' dextrous = TRUE held_items = list(null, null) diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 9d64b76198..501534237a 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -12,7 +12,8 @@ maxHealth = 50 melee_damage_lower = 5 melee_damage_upper = 5 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/weapons/bite.ogg' faction = list("creature") robust_searching = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index d9dbc94fae..b627bf67c2 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -16,7 +16,8 @@ healable = 0 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "saw" + attack_verb_continuous = "saw" + attack_verb_simple = "saw" attack_sound = 'sound/weapons/bladeslice.ogg' projectilesound = 'sound/weapons/gunshot.ogg' projectiletype = /obj/item/projectile/hivebotbullet diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.dm b/code/modules/mob/living/simple_animal/hostile/illusion.dm index 6936a18cb9..cab87010ef 100644 --- a/code/modules/mob/living/simple_animal/hostile/illusion.dm +++ b/code/modules/mob/living/simple_animal/hostile/illusion.dm @@ -10,7 +10,8 @@ melee_damage_lower = 5 melee_damage_upper = 5 a_intent = INTENT_HARM - attacktext = "gores" + attack_verb_continuous = "gores" + attack_verb_simple = "gore" maxHealth = 100 health = 100 speed = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm index c337344c90..c2b553aad7 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm @@ -7,9 +7,8 @@ environment_smash = ENVIRONMENT_SMASH_WALLS minbodytemp = 0 maxbodytemp = 450 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "strikes" + response_harm_continuous = "strikes" + response_harm_simple = "strike" status_flags = NONE a_intent = INTENT_HARM see_in_dark = 4 diff --git a/code/modules/mob/living/simple_animal/hostile/killertomato.dm b/code/modules/mob/living/simple_animal/hostile/killertomato.dm index e418cc4ab0..9cb65d7c30 100644 --- a/code/modules/mob/living/simple_animal/hostile/killertomato.dm +++ b/code/modules/mob/living/simple_animal/hostile/killertomato.dm @@ -12,12 +12,16 @@ health = 30 see_in_dark = 3 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/killertomato = 2) - response_help = "prods" - response_disarm = "pushes aside" - response_harm = "smacks" + response_help_continuous = "prods" + response_help_simple = "prod" + response_disarm_continuous = "pushes aside" + response_disarm_simple = "push aside" + response_harm_continuous = "smacks" + response_harm_simple = "smack" melee_damage_lower = 8 melee_damage_upper = 12 - attacktext = "slams" + attack_verb_continuous = "slams" + attack_verb_simple = "slam" attack_sound = 'sound/weapons/punch1.ogg' ventcrawler = VENTCRAWLER_ALWAYS faction = list("plants") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 766c38b306..fe6c2290c4 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -29,12 +29,14 @@ Difficulty: Hard threat = 35 health = 2500 maxHealth = 2500 - attacktext = "rends" + attack_verb_continuous = "rends" + attack_verb_simple = "rend" attack_sound = 'sound/magic/demon_attack1.ogg' icon_state = "bubblegum" icon_living = "bubblegum" icon_dead = "" - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" icon = 'icons/mob/lavaland/96x96megafauna.dmi' speak_emote = list("gurgles") armour_penetration = 40 @@ -227,7 +229,8 @@ Difficulty: Hard icon_state = "bloodbrood" icon_living = "bloodbrood" icon_aggro = "bloodbrood" - attacktext = "pierces" + attack_verb_continuous = "pierces" + attack_verb_simple = "pierce" color = "#C80000" density = FALSE faction = list("mining", "boss") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 73fb9d4e48..be3552822f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -27,12 +27,14 @@ Difficulty: Very Hard threat = 40 health = 2500 maxHealth = 2500 - attacktext = "judges" + attack_verb_continuous = "judges" + attack_verb_simple = "judge" attack_sound = 'sound/magic/clockwork/ratvar_attack.ogg' icon_state = "eva" icon_living = "eva" icon_dead = "dragon_dead" - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" icon = 'icons/mob/lavaland/96x96megafauna.dmi' speak_emote = list("roars") armour_penetration = 40 @@ -606,14 +608,18 @@ Difficulty: Very Hard icon_dead = "butterfly_dead" threat = -0.7 turns_per_move = 1 - response_help = "waves away" - response_disarm = "brushes aside" - response_harm = "disrupts" + response_help_continuous = "waves away" + response_help_simple = "wave away" + response_disarm_continuous = "brushes aside" + response_disarm_simple = "brush aside" + response_harm_continuous = "disrupts" + response_harm_simple = "disrupt" speak_emote = list("oscillates") maxHealth = 2 health = 2 harm_intent_damage = 1 - friendly = "mends" + friendly_verb_continuous = "mends" + friendly_verb_simple = "mend" density = FALSE movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index 3d106021de..88e33ed91a 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -10,7 +10,8 @@ Difficulty: Extremely Hard icon_state = "demonic_miner" icon_living = "demonic_miner" icon = 'icons/mob/icemoon/icemoon_monsters.dmi' - attacktext = "pummels" + attack_verb_continuous = "pummels" + attack_verb_simple = "pummel" attack_sound = 'sound/weapons/sonic_jackhammer.ogg' mob_biotypes = MOB_ORGANIC|MOB_HUMANOID light_color = "#E4C7C5" 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 cae5e32344..062a4c9a43 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -37,13 +37,15 @@ Difficulty: Medium health = 2500 maxHealth = 2500 spacewalk = TRUE - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' icon = 'icons/mob/lavaland/64x64megafauna.dmi' icon_state = "dragon" icon_living = "dragon" icon_dead = "dragon_dead" - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" speak_emote = list("roars") armour_penetration = 40 melee_damage_lower = 40 @@ -81,7 +83,7 @@ Difficulty: Medium return FALSE return ..() -/mob/living/simple_animal/hostile/megafauna/dragon/visible_message(message, self_message, blind_message, vision_distance = DEFAULT_MESSAGE_RANGE, list/ignored_mobs) +/mob/living/simple_animal/hostile/megafauna/dragon/visible_message(message, self_message, blind_message, vision_distance = DEFAULT_MESSAGE_RANGE, list/ignored_mobs, mob/target, target_message) if(swooping & SWOOP_INVULNERABLE) //to suppress attack messages without overriding every single proc that could send a message saying we got hit return return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 477c2ce3aa..4ade831f95 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -40,11 +40,13 @@ Difficulty: Normal threat = 30 health = 2500 maxHealth = 2500 - attacktext = "clubs" + attack_verb_continuous = "clubs" + attack_verb_simple = "club" attack_sound = 'sound/weapons/sonic_jackhammer.ogg' icon_state = "hierophant" icon_living = "hierophant" - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" icon = 'icons/mob/lavaland/hierophant_new.dmi' faction = list("boss") //asteroid mobs? get that shit out of my beautiful square house speak_emote = list("preaches") 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 62a09dff65..4da8a90b23 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -26,7 +26,8 @@ Difficulty: Medium icon_living = "legion" desc = "One of many." icon = 'icons/mob/lavaland/legion.dmi' - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' speak_emote = list("echoes") armour_penetration = 50 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 5ed163ae7e..ed189f052d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -11,7 +11,8 @@ Difficulty: Hard icon_living = "wendigo" icon_dead = "wendigo_dead" icon = 'icons/mob/icemoon/64x64megafauna.dmi' - attacktext = "claws" + attack_verb_continuous = "claws" + attack_verb_simple = "claw" attack_sound = 'sound/magic/demon_attack1.ogg' weather_immunities = list("snow") speak_emote = list("roars") diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 138d7f155e..5afe109550 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -5,9 +5,12 @@ icon_state = "crate" icon_living = "crate" - response_help = "touches" - response_disarm = "pushes" - response_harm = "hits" + response_help_continuous = "touches" + response_help_simple = "touch" + response_disarm_continuous = "pushes" + response_disarm_simple = "push" + response_harm_continuous = "hits" + response_harm_simple = "hit" speed = 0 maxHealth = 250 health = 250 @@ -18,7 +21,8 @@ harm_intent_damage = 5 melee_damage_lower = 8 melee_damage_upper = 12 - attacktext = "attacks" + attack_verb_continuous = "attacks" + attack_verb_simple = "attack" attack_sound = 'sound/weapons/punch1.ogg' emote_taunt = list("growls") speak_emote = list("creaks") @@ -34,7 +38,8 @@ // 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" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" speak_emote = list("clatters") stop_automated_movement = 1 wander = 0 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 2810bf6c17..b69a4b69cf 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 @@ -25,7 +25,8 @@ obj_damage = 60 melee_damage_lower = 12 melee_damage_upper = 12 - attacktext = "bites into" + attack_verb_continuous = "bites into" + attack_verb_simple = "bite into" a_intent = INTENT_HARM speak_emote = list("chitters") attack_sound = 'sound/weapons/bladeslice.ogg' @@ -72,7 +73,8 @@ throw_message = "bounces harmlessly off of" melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "impales" + attack_verb_continuous = "impales" + attack_verb_simple = "impale" a_intent = INTENT_HARM speak_emote = list("telepathically cries") attack_sound = 'sound/weapons/bladeslice.ogg' 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 652840f7e3..116082d571 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 @@ -16,7 +16,8 @@ melee_damage_lower = 10 melee_damage_upper = 10 melee_damage_type = BURN - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/effects/curseattack.ogg' throw_message = "passes through the smokey body of" obj_damage = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index 68a0e81cc7..e662f4e525 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -31,9 +31,8 @@ melee_damage_lower = 30 melee_damage_upper = 30 armour_penetration = 30 - attacktext = "beats down on" - /*attack_verb_continuous = "beats down on" - attack_verb_simple = "beat down on"*/ + attack_verb_continuous = "beats down on" + attack_verb_simple = "beat down on" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "does nothing to the rocky hide of the" speed = 2 @@ -172,9 +171,8 @@ health = 30 melee_damage_lower = 5 melee_damage_upper = 5 - attacktext = "bashes against" - /*attack_verb_continuous = "bashes against" - attack_verb_simple = "bash against"*/ + attack_verb_continuous = "bashes against" + attack_verb_simple = "bash against" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "does nothing to the rocky hide of the" speed = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm index 884e3bb989..106cb20efc 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm @@ -29,9 +29,8 @@ health = 800 melee_damage_lower = 20 melee_damage_upper = 20 - attacktext = "preaches to" - /*attack_verb_continuous = "preaches to" - attack_verb_simple = "preach to"*/ + attack_verb_continuous = "preaches to" + attack_verb_simple = "preach to" attack_sound = 'sound/magic/clockwork/ratvar_attack.ogg' throw_message = "doesn't affect the purity of" speed = 4 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 c9011c5f5f..c2faa002bc 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 @@ -29,9 +29,8 @@ health = 800 melee_damage_lower = 30 melee_damage_upper = 30 - attacktext = "slashes its arms at" - /*attack_verb_continuous = "slashes its arms at" - attack_verb_simple = "slash your arms at"*/ + attack_verb_continuous = "slashes its arms at" + attack_verb_simple = "slash your arms at" attack_sound = 'sound/weapons/bladeslice.ogg' throw_message = "doesn't affect the sturdiness of" speed = 1 @@ -227,9 +226,8 @@ health = 80 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "bites at" - /*attack_verb_continuous = "bites at" - attack_verb_simple = "bite at"*/ + attack_verb_continuous = "bites at" + attack_verb_simple = "bite at" attack_sound = 'sound/effects/curse1.ogg' throw_message = "simply misses" speed = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index 3276965fa2..ebbf032859 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -29,9 +29,8 @@ health = 800 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "smashes into the side of" - /*attack_verb_continuous = "smashes into the side of" - attack_verb_simple = "smash into the side of"*/ + attack_verb_continuous = "smashes into the side of" + attack_verb_simple = "smash into the side of" attack_sound = 'sound/weapons/sonic_jackhammer.ogg' throw_message = "merely dinks off of the" speed = 4 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index c43e9a7461..4a3497055a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -13,14 +13,16 @@ vision_range = 2 aggro_vision_range = 9 move_to_delay = 5 - friendly = "harmlessly rolls into" + friendly_verb_continuous = "harmlessly rolls into" + friendly_verb_simple = "harmlessly roll into" maxHealth = 45 health = 45 gold_core_spawnable = HOSTILE_SPAWN harm_intent_damage = 5 melee_damage_lower = 0 melee_damage_upper = 0 - attacktext = "barrels into" + attack_verb_continuous = "barrels into" + attack_verb_simple = "barrel into" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HELP speak_emote = list("screeches") diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index 24faa32c3b..a61f1924c8 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -14,7 +14,8 @@ move_to_delay = 10 ranged = 1 ranged_cooldown_time = 60 - friendly = "wails at" + friendly_verb_continuous = "wails at" + friendly_verb_simple = "wail at" speak_emote = list("bellows") speed = 3 maxHealth = 300 @@ -23,7 +24,8 @@ obj_damage = 100 melee_damage_lower = 18 melee_damage_upper = 18 - attacktext = "pulverizes" + attack_verb_continuous = "pulverizes" + attack_verb_simple = "pulverize" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "does nothing to the rocky hide of the" vision_range = 4 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index 39b66fbdc2..c9e650531c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -18,10 +18,14 @@ obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE move_to_delay = 15 - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "squishes" - friendly = "pinches" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "squishes" + response_harm_simple = "squish" + friendly_verb_continuous = "pinches" + friendly_verb_simple = "pinch" a_intent = INTENT_HELP ventcrawler = VENTCRAWLER_ALWAYS gold_core_spawnable = FRIENDLY_SPAWN 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 e4362711b3..d21e39ef54 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 @@ -20,7 +20,8 @@ harm_intent_damage = 5 melee_damage_lower = 0 melee_damage_upper = 0 - attacktext = "lashes out at" + attack_verb_continuous = "lashes out at" + attack_verb_simple = "lash out at" speak_emote = list("telepathically cries") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "falls right through the strange body of the" @@ -67,7 +68,8 @@ icon_gib = "syndicate_gib" mouse_opacity = MOUSE_OPACITY_OPAQUE move_to_delay = 1 - friendly = "buzzes near" + friendly_verb_continuous = "buzzes near" + friendly_verb_simple = "buzz near" vision_range = 10 speed = 3 maxHealth = 1 @@ -76,7 +78,8 @@ harm_intent_damage = 5 melee_damage_lower = 2 melee_damage_upper = 2 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" speak_emote = list("telepathically cries") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "falls right through the strange body of the" @@ -107,7 +110,8 @@ obj_damage = 60 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "lashes out at" + attack_verb_continuous = "lashes out at" + attack_verb_simple = "lash out at" speak_emote = list("echoes") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "bounces harmlessly off of" @@ -173,14 +177,16 @@ icon_aggro = "legion_head" icon_dead = "legion_head" icon_gib = "syndicate_gib" - friendly = "buzzes near" + friendly_verb_continuous = "buzzes near" + friendly_verb_simple = "buzz near" vision_range = 10 maxHealth = 1 health = 5 harm_intent_damage = 5 melee_damage_lower = 12 melee_damage_upper = 12 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "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 88ee27fcc9..66241e3d75 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 @@ -23,7 +23,8 @@ obj_damage = 40 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "slices" + attack_verb_continuous = "slices" + attack_verb_simple = "slice" attack_sound = 'sound/weapons/bladeslice.ogg' vision_range = 7 aggro_vision_range = 7 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 c8d5cf4b73..b62fb4a665 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 @@ -7,7 +7,8 @@ icon_dead = "ice_whelp_dead" mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_ICON - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" speak_emote = list("roars") speed = 30 move_to_delay = 30 @@ -19,7 +20,8 @@ armour_penetration = 20 melee_damage_lower = 20 melee_damage_upper = 20 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' vision_range = 9 aggro_vision_range = 9 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index 6ad869afe6..c3e4f24c43 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -8,9 +8,8 @@ environment_smash = ENVIRONMENT_SMASH_WALLS minbodytemp = 0 maxbodytemp = INFINITY - response_help = "pokes" - response_disarm = "shoves" - response_harm = "strikes" + response_harm_continuous = "strikes" + response_harm_simple = "strike" status_flags = 0 a_intent = INTENT_HARM var/crusher_loot 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 0576d0ecfe..ac2ce37d3f 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 @@ -7,7 +7,8 @@ icon_dead = "polarbear_dead" mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_ICON - friendly = "growls at" + friendly_verb_continuous = "growls at" + friendly_verb_simple = "growl at" speak_emote = list("growls") speed = 12 move_to_delay = 12 @@ -16,7 +17,8 @@ obj_damage = 40 melee_damage_lower = 25 melee_damage_upper = 25 - attacktext = "claws" + attack_verb_continuous = "claws" + attack_verb_simple = "claw" attack_sound = 'sound/weapons/bladeslice.ogg' 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 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 9f17421691..013a75be75 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 @@ -7,7 +7,8 @@ icon_dead = "whitewolf_dead" mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_ICON - friendly = "howls at" + friendly_verb_continuous = "howls at" + friendly_verb_simple = "howl at" speak_emote = list("howls") speed = 5 move_to_delay = 5 @@ -19,7 +20,8 @@ rapid_melee = 2 // every second attack dodging = TRUE dodge_prob = 50 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' vision_range = 7 aggro_vision_range = 7 diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index d023cf0dd8..1b13200729 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -9,15 +9,19 @@ maxHealth = 10 health = 10 butcher_results = list(/obj/item/reagent_containers/food/snacks/hugemushroomslice = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "whacks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "whacks" + response_harm_simple = "whack" harm_intent_damage = 5 obj_damage = 0 melee_damage_lower = 1 melee_damage_upper = 1 attack_same = 2 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/weapons/bite.ogg' faction = list("mushroom") environment_smash = ENVIRONMENT_SMASH_NONE diff --git a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm index b664f1ad93..8653c40cea 100644 --- a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm @@ -9,9 +9,6 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 12 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 stat_attack = UNCONSCIOUS robust_searching = 1 @@ -20,7 +17,8 @@ harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 15 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 1c8b171738..ca5d047326 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -11,7 +11,8 @@ melee_damage_lower = 25 melee_damage_upper = 50 threat = 2 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' faction = list("creature") speak_emote = list("screams") @@ -27,7 +28,8 @@ icon_state = "mi-go" icon_living = "mi-go" icon_dead = "mi-go-dead" - attacktext = "lacerates" + attack_verb_continuous = "lacerates" + attack_verb_simple = "lacerate" speed = -0.5 var/static/list/migo_sounds deathmessage = "wails as its form turns into a pulpy mush." @@ -63,7 +65,8 @@ maxHealth = 100 melee_damage_lower = 5 melee_damage_upper = 10 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" deathmessage = "falls apart into a fine dust." /obj/structure/spawner/nether diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index 119d6383ef..0544ddc676 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -8,9 +8,8 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 turns_per_move = 5 - response_help = "pushes" - response_disarm = "shoves" - response_harm = "hits" + response_help_continuous = "pushes" + response_help_simple = "push" threat = 3 speed = 0 maxHealth = 115 @@ -19,7 +18,8 @@ harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) @@ -39,7 +39,8 @@ melee_damage_lower = 30 melee_damage_upper = 30 armour_penetration = 35 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/blade1.ogg' var/obj/effect/light_emitter/red_energy_sword/sord 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 cc17759cc6..9045ccef51 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -7,9 +7,12 @@ icon_gib = "bat_dead" turns_per_move = 1 blood_volume = 250 - response_help = "brushes aside" - response_disarm = "flails at" - response_harm = "hits" + response_help_continuous = "brushes aside" + response_help_simple = "brush aside" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "hits" + response_harm_simple = "hit" mob_biotypes = MOB_ORGANIC|MOB_BEAST speak_chance = 0 maxHealth = 15 @@ -19,7 +22,8 @@ harm_intent_damage = 6 melee_damage_lower = 6 melee_damage_upper = 5 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1) pass_flags = PASSTABLE faction = list("hostile") @@ -47,5 +51,6 @@ icon_gib = "secbat_dead" desc = "A fruit bat with a tiny little security hat who is ready to inject cuteness into any security operation." emote_see = list("is ready to law down the law.", "flaps about with an air of authority.") - response_help = "respects the authority of" + response_help_continuous = "respects the authority of" + response_help_simple = "respect the authority of" gold_core_spawnable = FRIENDLY_SPAWN 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 bc9c3fb22d..35f2817028 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -8,8 +8,10 @@ icon_gib = "clown_gib" mob_biotypes = MOB_ORGANIC|MOB_HUMANOID turns_per_move = 5 - response_disarm = "gently pushes aside" - response_harm = "robusts" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "robusts" + response_harm_simple = "robust" speak = list("HONK", "Honk!", "Welcome to clown planet!") emote_see = list("honks", "squeaks") speak_chance = 1 @@ -70,8 +72,10 @@ icon_state = "lube" icon_living = "lube" turns_per_move = 1 - response_help = "dips a finger into" - response_disarm = "gently scoops and pours aside" + response_help_continuous = "dips a finger into" + response_help_simple = "dip a finger into" + response_disarm_continuous = "gently scoops and pours aside" + response_disarm_simple = "gently scoop and pour aside" emote_see = list("bubbles", "oozes") loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/particle_effect/foam) @@ -84,8 +88,10 @@ desc = "A fusion of clown and banana DNA birthed from a botany experiment gone wrong." icon_state = "banana tree" icon_living = "banana tree" - response_disarm = "peels" - response_harm = "peels" + response_disarm_continuous = "peels" + response_disarm_simple = "peel" + response_harm_continuous = "peels" + response_harm_simple = "peel" turns_per_move = 1 speak = list("HONK", "Honk!", "YA-HONK!!!") emote_see = list("honks", "bites into the banana", "plucks a banana off its head", "photosynthesizes") @@ -105,7 +111,8 @@ harm_intent_damage = 1 melee_damage_lower = 1 melee_damage_upper = 1 - attacktext = "cheers up" + attack_verb_continuous = "cheers up" + attack_verb_simple = "cheer up" loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap, /obj/item/seeds/banana/bluespace) banana_type = /obj/item/grown/bananapeel attack_reagent = /datum/reagent/consumable/laughter @@ -115,9 +122,12 @@ desc = "A being forged out of the pure essence of pranking, cursed into existence by a cruel maker." icon_state = "fleshclown" icon_living = "fleshclown" - response_help = "reluctantly pokes" - response_disarm = "sinks his hands into the spongy flesh of" - response_harm = "cleanses the world of" + response_help_continuous = "reluctantly pokes" + response_help_simple = "reluctantly poke" + response_disarm_continuous = "sinks his hands into the spongy flesh of" + response_disarm_simple = "sink your hands into the spongy flesh of" + response_harm_continuous = "cleanses the world of" + response_harm_simple = "cleanse the world of" speak = list("HONK", "Honk!", "I didn't ask for this", "I feel constant and horrible pain", "YA-HONK!!!", "this body is a merciless and unforgiving prison", "I was born out of mirthful pranking but I live in suffering") emote_see = list("honks", "sweats", "jiggles", "contemplates its existence") speak_chance = 5 @@ -127,7 +137,8 @@ health = 140 speed = -5 melee_damage_upper = 15 - attacktext = "limply slaps" + attack_verb_continuous = "limply slaps" + attack_verb_simple = "limply slap" obj_damage = 5 loot = list(/obj/item/clothing/suit/hooded/bloated_human, /obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) @@ -138,9 +149,12 @@ icon_living = "long face" move_resist = INFINITY turns_per_move = 10 - response_help = "tries to awkwardly hug" - response_disarm = "pushes the unwieldy frame of" - response_harm = "tries to shut up" + response_help_continuous = "tries to awkwardly hug" + response_help_simple = "try to awkwardly hug" + response_disarm_continuous = "pushes the unwieldy frame of" + response_disarm_simple = "push the unwieldy frame of" + response_harm_continuous = "tries to shut up" + response_harm_simple = "try to shut up" speak = list("YA-HONK!!!") emote_see = list("honks", "squeaks") speak_chance = 60 @@ -150,7 +164,8 @@ speed = 10 harm_intent_damage = 5 melee_damage_lower = 5 - attacktext = "YA-HONKs" + attack_verb_continuous = "YA-HONKs" + attack_verb_simple = "YA-HONK" loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) /mob/living/simple_animal/hostile/retaliate/clown/clownhulk @@ -159,9 +174,12 @@ icon_state = "honkhulk" icon_living = "honkhulk" move_resist = INFINITY - response_help = "tries desperately to appease" - response_disarm = "foolishly pushes" - response_harm = "angers" + response_help_continuous = "tries desperately to appease" + response_help_simple = "tries desperately to appease" + response_disarm_continuous = "foolishly pushes" + response_disarm_simple = "foolishly push" + response_harm_continuous = "angers" + response_harm_simple = "anger" speak = list("HONK", "Honk!", "HAUAUANK!!!", "GUUURRRRAAAHHH!!!") emote_see = list("honks", "sweats", "grunts") speak_chance = 5 @@ -172,7 +190,8 @@ harm_intent_damage = 15 melee_damage_lower = 15 melee_damage_upper = 20 - attacktext = "pummels" + attack_verb_continuous = "pummels" + attack_verb_simple = "pummel" obj_damage = 30 environment_smash = ENVIRONMENT_SMASH_WALLS loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) @@ -182,16 +201,20 @@ desc = "A real lunkhead who somehow gets all the girls." icon_state = "chlown" icon_living = "chlown" - response_help = "submits to" - response_disarm = "tries to assert dominance over" - response_harm = "makes a weak beta attack at" + response_help_continuous = "submits to" + response_help_simple = "submit to" + response_disarm_continuous = "tries to assert dominance over" + response_disarm_simple = "try to assert dominance over" + response_harm_continuous = "makes a weak beta attack at" + response_harm_simple = "make a weak beta attack at" speak = list("HONK", "Honk!", "Bruh", "cheeaaaahhh?") emote_see = list("asserts his dominance", "emasculates everyone implicitly") maxHealth = 500 health = 500 speed = -2 armour_penetration = 20 - attacktext = "steals the girlfriend of" + attack_verb_continuous = "steals the girlfriend of" + attack_verb_simple = "steal the girlfriend of" attack_sound = 'sound/items/airhorn2.ogg' loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/particle_effect/foam, /obj/item/soap) @@ -200,8 +223,10 @@ desc = "A slender wiry figure of alchemical origin." icon_state = "honkmunculus" icon_living = "honkmunculus" - response_help = "skeptically pokes" - response_disarm = "pushes the unwieldy frame of" + response_help_continuous = "skeptically pokes" + response_help_simple = "skeptically poke" + response_disarm_continuous = "pushes the unwieldy frame of" + response_disarm_simple = "push the unwieldy frame of" speak = list("honk") emote_see = list("squirms", "writhes") speak_chance = 1 @@ -211,7 +236,8 @@ harm_intent_damage = 5 melee_damage_lower = 5 melee_damage_upper = 10 - attacktext = "ferociously mauls" + attack_verb_continuous = "ferociously mauls" + attack_verb_simple = "ferociously maul" environment_smash = ENVIRONMENT_SMASH_NONE loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap) attack_reagent = /datum/reagent/peaceborg_confuse @@ -221,8 +247,10 @@ desc = "An ancient being born of arcane honking." icon_state = "destroyer" icon_living = "destroyer" - response_disarm = "bounces off of" - response_harm = "bounces off of" + response_disarm_continuous = "bounces off of" + response_disarm_simple = "bounce off of" + response_harm_continuous = "bounces off of" + response_harm_simple = "bounce off ot" speak = list("HONK!!!", "The Honkmother is merciful, so I must act out her wrath.", "parce mihi ad beatus honkmother placet mihi ut peccata committere,", "DIE!!!") maxHealth = 400 health = 400 @@ -232,7 +260,8 @@ melee_damage_upper = 40 armour_penetration = 30 stat_attack = UNCONSCIOUS - attacktext = "acts out divine vengeance on" + attack_verb_continuous = "acts out divine vengeance on" + attack_verb_simple = "act out divine vengeance on" obj_damage = 50 environment_smash = ENVIRONMENT_SMASH_RWALLS loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/particle_effect/foam, /obj/item/soap) @@ -244,9 +273,12 @@ icon_living = "mutant" move_resist = INFINITY turns_per_move = 10 - response_help = "reluctantly sinks a finger into" - response_disarm = "squishes into" - response_harm = "squishes into" + response_help_continuous = "reluctantly sinks a finger into" + response_help_simple = "reluctantly sink a finger into" + response_disarm_continuous = "squishes into" + response_disarm_simple = "squish into" + response_harm_continuous = "squishes into" + response_harm_simple = "squish into" speak = list("aaaaaahhhhuuhhhuhhhaaaaa", "AAAaaauuuaaAAAaauuhhh", "huuuuuh... hhhhuuuooooonnnnkk", "HuaUAAAnKKKK") emote_see = list("squirms", "writhes", "pulsates", "froths", "oozes") speak_chance = 10 @@ -257,7 +289,8 @@ harm_intent_damage = 10 melee_damage_lower = 10 melee_damage_upper = 20 - attacktext = "awkwardly flails at" + attack_verb_continuous = "awkwardly flails at" + attack_verb_simple = "awkwardly flail at" loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human) /mob/living/simple_animal/hostile/retaliate/clown/mutant/blob @@ -270,6 +303,7 @@ health = 130 mob_size = MOB_SIZE_LARGE speed = 20 - attacktext = "bounces off of" + attack_verb_continuous = "bounces off of" + attack_verb_simple = "bounce off of" loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human) attack_reagent = /datum/reagent/toxin/mindbreaker diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index ef51d8621b..8424a0a576 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -13,10 +13,14 @@ health = 15 melee_damage_lower = 5 melee_damage_upper = 5 - attacktext = "bites" - response_help = "pets" - response_disarm = "pokes" - response_harm = "splats" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "pokes" + response_disarm_simple = "poke" + response_harm_continuous = "splats" + response_harm_simple = "splat" density = FALSE ventcrawler = VENTCRAWLER_ALWAYS faction = list("hostile") diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm index 7d1f08201f..2c94739180 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm @@ -7,9 +7,12 @@ mob_biotypes = MOB_SPIRIT speak_chance = 0 turns_per_move = 5 - response_help = "passes through" - response_disarm = "shoves" - response_harm = "hits" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "shoves" + response_disarm_simple = "shove" + response_harm_continuous = "hits" + response_harm_simple = "hit" a_intent = INTENT_HARM healable = 0 speed = 0 @@ -20,7 +23,8 @@ melee_damage_upper = 15 del_on_death = 1 emote_see = list("weeps silently", "groans", "mumbles") - attacktext = "grips" + attack_verb_continuous = "grips" + attack_verb_simple = "grip" attack_sound = 'sound/hallucinations/growl1.ogg' speak_emote = list("weeps") deathmessage = "wails, disintegrating into a pile of ectoplasm!" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index 085a1855d2..ebeb2d28ec 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -8,9 +8,12 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID gender = MALE turns_per_move = 5 - response_help = "pokes" - response_disarm = "gently pushes aside" - response_harm = "punches" + response_help_continuous = "pokes" + response_help_simple = "poke" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "punches" + response_harm_simple = "punch" a_intent = INTENT_HARM maxHealth = 100 health = 100 @@ -18,7 +21,8 @@ harm_intent_damage = 8 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "hits" + attack_verb_continuous = "hits" + attack_verb_simple = "hit" attack_sound = 'sound/weapons/punch1.ogg' obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE @@ -35,9 +39,12 @@ icon_dead = null icon_gib = "syndicate_gib" turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" + response_help_continuous = "pokes" + response_help_simple = "poke" + response_disarm_continuous = "shoves" + response_disarm_simple = "shove" + response_harm_continuous = "hits" + response_harm_simple = "hit" speed = 0 stat_attack = UNCONSCIOUS robust_searching = 1 @@ -47,7 +54,8 @@ harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 15 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' faction = list("nanotrasenprivate") a_intent = INTENT_HARM diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index 47b1409816..f7a46658c4 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -9,9 +9,6 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 threat = 1 maxHealth = 100 @@ -19,7 +16,8 @@ harm_intent_damage = 5 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/russian, diff --git a/code/modules/mob/living/simple_animal/hostile/sharks.dm b/code/modules/mob/living/simple_animal/hostile/sharks.dm index 4008334a57..1263a23d26 100644 --- a/code/modules/mob/living/simple_animal/hostile/sharks.dm +++ b/code/modules/mob/living/simple_animal/hostile/sharks.dm @@ -12,9 +12,12 @@ speak_chance = 0 turns_per_move = 3 butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 3) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" speed = 0 threat = 1 maxHealth = 75 @@ -22,7 +25,8 @@ harm_intent_damage = 18 melee_damage_lower = 18 melee_damage_upper = 18 - attacktext = "maims" + attack_verb_continuous = "maims" + attack_verb_simple = "maim" attack_sound = 'sound/weapons/bite.ogg' gold_core_spawnable = 1 //Space shark aren't affected by cold. @@ -82,7 +86,8 @@ harm_intent_damage = 0 melee_damage_lower = 0 melee_damage_upper = 0 - attacktext = "violently hugs" + attack_verb_continuous = "violently hugs" + attack_verb_simple = "violently hug" vision_range = 0 /mob/living/simple_animal/hostile/shark/kawaii/death() diff --git a/code/modules/mob/living/simple_animal/hostile/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/skeleton.dm index 630d93c070..f3138a773c 100644 --- a/code/modules/mob/living/simple_animal/hostile/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/skeleton.dm @@ -22,7 +22,8 @@ minbodytemp = 0 maxbodytemp = 1500 healable = 0 //they're skeletons how would bruise packs help them?? - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/hallucinations/growl1.ogg' 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 = 10 @@ -104,7 +105,8 @@ melee_damage_lower = 15 melee_damage_upper = 20 light_color = LIGHT_COLOR_PURPLE - attacktext = "slashes" + 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) @@ -120,7 +122,8 @@ harm_intent_damage = 15 melee_damage_lower = 20 melee_damage_upper = 25 - attacktext = "blasts" + attack_verb_continuous = "blasts" + attack_verb_simple = "blast" attack_sound = 'sound/weapons/sonic_jackhammer.ogg' loot = list(/obj/effect/decal/remains/plasma, /obj/item/pickaxe/drill/jackhammer) diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 734fc5c853..23304a2ef3 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -11,9 +11,10 @@ a_intent = INTENT_HARM mob_biotypes = MOB_HUMANOID threat = 3 - response_help = "touches" - response_disarm = "pushes" - + response_help_continuous = "touches" + response_help_simple = "touch" + response_disarm_continuous = "pushes" + response_disarm_simple = "push" speed = -1 maxHealth = 50000 health = 50000 @@ -24,7 +25,8 @@ obj_damage = 100 melee_damage_lower = 68 melee_damage_upper = 83 - attacktext = "claws" + attack_verb_continuous = "claws" + attack_verb_simple = "claw" attack_sound = 'sound/hallucinations/growl1.ogg' 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) diff --git a/code/modules/mob/living/simple_animal/hostile/stickman.dm b/code/modules/mob/living/simple_animal/hostile/stickman.dm index 24bf5e9ea9..2edcc4021a 100644 --- a/code/modules/mob/living/simple_animal/hostile/stickman.dm +++ b/code/modules/mob/living/simple_animal/hostile/stickman.dm @@ -10,9 +10,6 @@ gender = MALE speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 blood_volume = 0 stat_attack = UNCONSCIOUS @@ -24,7 +21,8 @@ obj_damage = 0 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 530bedf5cb..9a362b680d 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -25,9 +25,6 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" threat = 1 speed = 0 stat_attack = UNCONSCIOUS @@ -37,7 +34,8 @@ harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) @@ -82,7 +80,8 @@ icon_state = "syndicate_knife" icon_living = "syndicate_knife" loot = list(/obj/effect/gibspawner/human) - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' status_flags = 0 @@ -113,7 +112,8 @@ melee_damage_upper = 30 icon_state = "syndicate_sword" icon_living = "syndicate_sword" - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/blade1.ogg' armour_penetration = 35 light_color = LIGHT_COLOR_RED @@ -292,7 +292,8 @@ melee_damage_upper = 15 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - attacktext = "cuts" + attack_verb_continuous = "cuts" + attack_verb_simple = "cut" attack_sound = 'sound/weapons/bladeslice.ogg' 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) diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index bc932666f6..3aa3c9e566 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -10,9 +10,12 @@ threat = 1 speak_chance = 0 turns_per_move = 5 - response_help = "brushes" - response_disarm = "pushes" - response_harm = "hits" + response_help_continuous = "brushes" + response_help_simple = "brush" + response_disarm_continuous = "pushes" + response_disarm_simple = "push" + response_harm_continuous = "hits" + response_harm_simple = "hit" speed = 1 maxHealth = 250 health = 250 @@ -23,7 +26,8 @@ harm_intent_damage = 5 melee_damage_lower = 8 melee_damage_upper = 12 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("pines") emote_taunt = list("growls") diff --git a/code/modules/mob/living/simple_animal/hostile/wizard.dm b/code/modules/mob/living/simple_animal/hostile/wizard.dm index ed144bd963..57fb6f829d 100644 --- a/code/modules/mob/living/simple_animal/hostile/wizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/wizard.dm @@ -8,9 +8,6 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 turns_per_move = 3 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" threat = 3 speed = 0 maxHealth = 100 @@ -18,7 +15,8 @@ harm_intent_damage = 5 melee_damage_lower = 5 melee_damage_upper = 5 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) 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 8878f17893..5c881a7b0d 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -12,7 +12,8 @@ mouse_opacity = MOUSE_OPACITY_ICON move_to_delay = 5 threat = 1 - friendly = "floats near" + friendly_verb_continuous = "floats near" + friendly_verb_simple = "float near" speak_emote = list("puffs") vision_range = 5 speed = 0 @@ -23,7 +24,8 @@ obj_damage = 0 melee_damage_lower = 0 melee_damage_upper = 0 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "is avoided by the" vision_range = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index 503f5c121e..6e4cbac022 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -13,7 +13,8 @@ harm_intent_damage = 5 melee_damage_lower = 21 melee_damage_upper = 21 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/hallucinations/growl1.ogg' a_intent = INTENT_HARM 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) @@ -73,7 +74,8 @@ harm_intent_damage = 5 melee_damage_lower = 21 melee_damage_upper = 21 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/hallucinations/growl1.ogg' a_intent = INTENT_HARM 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) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 9ad9a121ca..e8d6411c01 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -50,13 +50,18 @@ melee_damage_upper = 10 melee_damage_lower = 5 - response_help = "pets" - response_disarm = "gently moves aside" - response_harm = "swats" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently moves aside" + response_disarm_simple = "gently move aside" + response_harm_continuous = "swats" + response_harm_simple = "swat" stop_automated_movement = 1 a_intent = INTENT_HARM //parrots now start "aggressive" since only player parrots will nuzzle. - attacktext = "chomps" - friendly = "grooms" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" + friendly_verb_continuous = "grooms" + friendly_verb_simple = "groom" mob_size = MOB_SIZE_SMALL movement_type = FLYING gold_core_spawnable = FRIENDLY_SPAWN @@ -575,7 +580,12 @@ parrot_state = PARROT_WANDER return - attacktext = pick("claws at", "chomps") + if(prob(50)) + attack_verb_continuous = "claws at" + attack_verb_simple = "claw_at" + else + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" L.attack_animal(src)//Time for the hurt to begin! //Otherwise, fly towards the mob! else diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index 1d22313edd..75182b85e5 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -13,13 +13,17 @@ healable = 0 speak_emote = list("hisses") emote_hear = list("wails.","screeches.") - response_help = "puts their hand through" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "puts their hand through" + response_help_simple = "put your hand through" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" speak_chance = 1 melee_damage_lower = 5 melee_damage_upper = 12 - attacktext = "metaphysically strikes" + attack_verb_continuous = "metaphysically strikes" + attack_verb_simple = "metaphysically strike" minbodytemp = 0 maxbodytemp = INFINITY 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) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index e066120cf6..3491fd2f95 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -4,93 +4,138 @@ health = 20 maxHealth = 20 gender = PLURAL //placeholder - blood_volume = 550 //How much blud it has for bloodsucking + ///How much blud it has for bloodsucking + blood_volume = 550 status_flags = CANPUSH var/icon_living = "" - var/icon_dead = "" //icon when the animal is dead. Don't use animated icons for this. - var/icon_gib = null //We only try to show a gibbing animation if this exists. + ///icon when the animal is dead. Don't use animated icons for this. + var/icon_dead = "" + ///We only try to show a gibbing animation if this exists. + var/icon_gib = null var/list/speak = list() - var/list/speak_emote = list()// Emotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable. + ///Emotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable. + var/list/speak_emote = list() var/speak_chance = 0 - var/list/emote_hear = list() //Hearable emotes - var/list/emote_see = list() //Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps + ///Hearable emotes + var/list/emote_hear = list() + ///Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps. + var/list/emote_see = list() var/turns_per_move = 1 var/turns_since_move = 0 - var/stop_automated_movement = 0 //Use this to temporarely stop random movement or to if you write special movement code for animals. - var/wander = 1 // Does the mob wander around when idle? - var/stop_automated_movement_when_pulled = 1 //When set to 1 this stops the animal from moving when someone is pulling it. + ///Use this to temporarely stop random movement or to if you write special movement code for animals. + var/stop_automated_movement = 0 + ///Does the mob wander around when idle? + var/wander = 1 + ///When set to 1 this stops the animal from moving when someone is pulling it. + var/stop_automated_movement_when_pulled = 1 - //Interaction - var/response_help = "pokes" - var/response_disarm = "shoves" - var/response_harm = "hits" + ///When someone interacts with the simple animal. + ///Help-intent verb in present continuous tense. + var/response_help_continuous = "pokes" + ///Help-intent verb in present simple tense. + var/response_help_simple = "poke" + ///Disarm-intent verb in present continuous tense. + var/response_disarm_continuous = "shoves" + ///Disarm-intent verb in present simple tense. + var/response_disarm_simple = "shove" + ///Harm-intent verb in present continuous tense. + var/response_harm_continuous = "hits" + ///Harm-intent verb in present simple tense. + var/response_harm_simple = "hit" var/harm_intent_damage = 3 - var/force_threshold = 0 //Minimum force required to deal any damage + ///Minimum force required to deal any damage. + var/force_threshold = 0 - //Temperature effect + ///Temperature effect. var/minbodytemp = 250 var/maxbodytemp = 350 - //Healable by medical stacks? Defaults to yes. + ///Healable by medical stacks? Defaults to yes. var/healable = 1 - //Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage + ///Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage var/list/atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) //Leaving something at 0 means it's off - has no maximum - var/unsuitable_atmos_damage = 2 //This damage is taken when atmos doesn't fit all the requirements above + ///This damage is taken when atmos doesn't fit all the requirements above. + var/unsuitable_atmos_damage = 2 - //LETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly + ///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/obj_damage = 0 //how much damage this simple animal does to objects, if any - var/armour_penetration = 0 //How much armour they ignore, as a flat reduction from the targets armour value - var/melee_damage_type = BRUTE //Damage type of a simple mob's melee attack, should it do damage. - var/list/damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) // 1 for full damage , 0 for none , -1 for 1:1 heal from that source - var/attacktext = "attacks" + ///How much damage this simple animal does to objects, if any. + var/obj_damage = 0 + ///How much armour they ignore, as a flat reduction from the targets armour value. + var/armour_penetration = 0 + ///Damage type of a simple mob's melee attack, should it do damage. + var/melee_damage_type = BRUTE + /// 1 for full damage , 0 for none , -1 for 1:1 heal from that source. + var/list/damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) + ///Attacking verb in present continuous tense. + var/attack_verb_continuous = "attacks" + ///Attacking verb in present simple tense. + var/attack_verb_simple = "attack" var/attack_sound = null - var/friendly = "nuzzles" //If the mob does no damage with it's attack - var/environment_smash = ENVIRONMENT_SMASH_NONE //Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls + ///Attacking, but without damage, verb in present continuous tense. + var/friendly_verb_continuous = "nuzzles" + ///Attacking, but without damage, verb in present simple tense. + var/friendly_verb_simple = "nuzzle" + ///Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls. + var/environment_smash = ENVIRONMENT_SMASH_NONE - var/speed = 1 //LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster + ///LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster. + var/speed = 1 - //Hot simple_animal baby making vars + ///Hot simple_animal baby making vars. var/list/childtype = null var/next_scan_time = 0 - var/animal_species //Sorry, no spider+corgi buttbabies. + ///Sorry, no spider+corgi buttbabies. + var/animal_species - //simple_animal access - var/obj/item/card/id/access_card = null //innate access uses an internal ID card - var/buffed = 0 //In the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to 1, so we have something to check against - var/gold_core_spawnable = NO_SPAWN //If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood + ///Innate access uses an internal ID card. + var/obj/item/card/id/access_card = null + ///In the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to TRUE, so we have something to check against. + var/buffed = FALSE + ///If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood. + var/gold_core_spawnable = NO_SPAWN var/datum/component/spawner/nest - var/sentience_type = SENTIENCE_ORGANIC // Sentience type, for slime potions + ///Sentience type, for slime potions. + var/sentience_type = SENTIENCE_ORGANIC - var/list/loot = list() //list of things spawned at mob's loc when it dies - var/del_on_death = 0 //causes mob to be deleted on death, useful for mobs that spawn lootable corpses + ///list of things spawned at mob's loc when it dies. + var/list/loot = list() + ///causes mob to be deleted on death, useful for mobs that spawn lootable corpses. + var/del_on_death = FALSE var/deathmessage = "" - var/death_sound = null //The sound played on death + ///The sound played on death. + var/death_sound = null var/allow_movement_on_non_turfs = FALSE - var/attacked_sound = "punch" //Played when someone punches the creature + ///Played when someone punches the creature. + var/attacked_sound = "punch" - var/dextrous = FALSE //If the creature has, and can use, hands + ///If the creature has, and can use, hands. + var/dextrous = FALSE var/dextrous_hud_type = /datum/hud/dextrous - var/AIStatus = AI_ON //The Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players) - var/can_have_ai = TRUE //once we have become sentient, we can never go back + ///The Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players). + var/AIStatus = AI_ON + ///once we have become sentient, we can never go back. + var/can_have_ai = TRUE - var/shouldwakeup = FALSE //convenience var for forcibly waking up an idling AI on next check. + ///convenience var for forcibly waking up an idling AI on next check. + var/shouldwakeup = FALSE - //domestication + ///Domestication. var/tame = 0 - var/my_z // I don't want to confuse this with client registered_z + ///I don't want to confuse this with client registered_z. + var/my_z ///What kind of footstep this mob should have. Null if it shouldn't have any. var/footstep_type diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 092792e7fd..0ef5cabc91 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -12,9 +12,12 @@ harm_intent_damage = 5 icon_living = "grey baby slime" icon_dead = "grey baby slime dead" - response_help = "pets" - response_disarm = "shoos" - response_harm = "stomps on" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" emote_see = list("jiggles", "bounces in place") speak_emote = list("blorbles") bubble_icon = "slime" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 21da67070f..0f92ce7c33 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -125,8 +125,10 @@ * * blind_message (optional) is what blind people will hear e.g. "You hear something!" * * vision_distance (optional) define how many tiles away the message can be seen. * * ignored_mobs (optional) doesn't show any message to any given mob in the list. + * * target (optional) is the other mob involved with the visible message. For example, the attacker in many combat messages. + * * target_message (optional) is what the target mob will see e.g. "[src] does something to you!" */ -/atom/proc/visible_message(message, self_message, blind_message, vision_distance = DEFAULT_MESSAGE_RANGE, list/ignored_mobs) +/atom/proc/visible_message(message, self_message, blind_message, vision_distance = DEFAULT_MESSAGE_RANGE, list/ignored_mobs, mob/target, target_message) var/turf/T = get_turf(src) if(!T) return @@ -136,7 +138,19 @@ if(!islist(ignored_mobs)) ignored_mobs = list(ignored_mobs) hearers -= ignored_mobs - if(self_message) + + if(target_message && target && istype(target) && target.client) + hearers -= target + //This entire if/else chain could be in two lines but isn't for readibilties sake. + var/msg = target_message + if(target.see_invisible[S] unwisely [murder] [src], and [S.p_their()] body burns brilliantly before flashing into ash!", \ - "You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops.", \ + "[S] unwisely [S.attack_verb_continuous] [src], and [S.p_their()] body burns brilliantly before flashing into ash!", \ + "You unwisely [S.attack_verb_simple] [src], and your vision glows brightly as your body crumbles to dust. Oops.", \ "simple animal attack") /obj/machinery/power/supermatter_crystal/attack_robot(mob/user) diff --git a/code/modules/ruins/spaceruin_code/clericsden.dm b/code/modules/ruins/spaceruin_code/clericsden.dm index 67e071b274..7d1fda6740 100644 --- a/code/modules/ruins/spaceruin_code/clericsden.dm +++ b/code/modules/ruins/spaceruin_code/clericsden.dm @@ -27,7 +27,8 @@ melee_damage_lower = 8 melee_damage_upper = 10 retreat_distance = 4 //AI proteons will rapidly move in and out of combat to avoid conflict, but will still target and follow you. - attacktext = "pinches" + attack_verb_continuous = "pinches" + attack_verb_simple = "pinch" environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch2.ogg' playstyle_string = "You are a Proteon. Your abilities in combat are outmatched by most combat constructs, but you are still fast and nimble. Run metal and supplies, and cooperate with your fellow cultists."