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."