Merge pull request #10376 from Perakp/simpleAnimalEmoteSpam

Fixes hostile animal emote spam
This commit is contained in:
phil235
2015-07-07 20:22:31 +02:00
14 changed files with 42 additions and 67 deletions
@@ -3,10 +3,11 @@
real_name = "Construct"
desc = ""
speak_emote = list("hisses")
emote_hear = list("wails","screeches")
emote_hear = list("wails.","screeches.")
response_help = "thinks better of touching"
response_disarm = "flails at"
response_harm = "punches"
speak_chance = 1
icon = 'icons/mob/mob.dmi'
speed = 0
a_intent = "harm"
@@ -5,11 +5,9 @@
icon_living = "butterfly"
icon_dead = "butterfly_dead"
turns_per_move = 1
emote_see = list("flutters")
response_help = "shoos"
response_disarm = "brushes aside"
response_harm = "squashes"
speak_chance = 0
maxHealth = 2
health = 2
harm_intent_damage = 1
@@ -6,8 +6,8 @@
icon_living = "crab"
icon_dead = "crab_dead"
speak_emote = list("clicks")
emote_hear = list("clicks")
emote_see = list("clacks")
emote_hear = list("clicks.")
emote_see = list("clacks.")
speak_chance = 1
turns_per_move = 5
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab = 1)
@@ -7,8 +7,8 @@
icon_dead = "goat_dead"
speak = list("EHEHEHEHEH","eh?")
speak_emote = list("brays")
emote_hear = list("brays")
emote_see = list("shakes its head", "stamps a foot", "glares around")
emote_hear = list("brays.")
emote_see = list("shakes its head.", "stamps a foot.", "glares around.")
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
@@ -92,8 +92,8 @@
icon_gib = "cow_gib"
speak = list("moo?","moo","MOOOOOO")
speak_emote = list("moos","moos hauntingly")
emote_hear = list("brays")
emote_see = list("shakes its head")
emote_hear = list("brays.")
emote_see = list("shakes its head.")
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
@@ -154,8 +154,8 @@
icon_gib = "chick_gib"
speak = list("Cherp.","Cherp?","Chirrup.","Cheep!")
speak_emote = list("cheeps")
emote_hear = list("cheeps")
emote_see = list("pecks at the ground","flaps its tiny wings")
emote_hear = list("cheeps.")
emote_see = list("pecks at the ground.","flaps its tiny wings.")
density = 0
speak_chance = 2
turns_per_move = 2
@@ -196,8 +196,8 @@ var/global/chicken_count = 0
icon_dead = "chicken_dead"
speak = list("Cluck!","BWAAAAARK BWAK BWAK BWAK!","Bwaak bwak.")
speak_emote = list("clucks","croons")
emote_hear = list("clucks")
emote_see = list("pecks at the ground","flaps its wings viciously")
emote_hear = list("clucks.")
emote_see = list("pecks at the ground.","flaps its wings viciously.")
density = 0
speak_chance = 2
turns_per_move = 3
@@ -8,8 +8,8 @@
icon_dead = "fox_dead"
speak = list("Ack-Ack","Ack-Ack-Ack-Ackawoooo","Geckers","Awoo","Tchoff")
speak_emote = list("geckers", "barks")
emote_hear = list("howls","barks")
emote_see = list("shakes its head", "shivers")
emote_hear = list("howls.","barks.")
emote_see = list("shakes its head.", "shivers.")
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
@@ -6,8 +6,8 @@
icon_dead = "mouse_gray_dead"
speak = list("Squeek!","SQUEEK!","Squeek?")
speak_emote = list("squeeks")
emote_hear = list("squeeks")
emote_see = list("runs in a circle", "shakes")
emote_hear = list("squeeks.")
emote_see = list("runs in a circle.", "shakes.")
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
@@ -8,9 +8,10 @@
icon_gib = "bear_gib"
speak = list("RAWR!","Rawr!","GRR!","Growl!")
speak_emote = list("growls", "roars")
emote_hear = list("rawrs","grumbles","grawls")
emote_see = list("stares ferociously", "stomps")
emote_hear = list("rawrs.","grumbles.","grawls.")
emote_taunt = list("stares ferociously", "stomps")
speak_chance = 1
taunt_chance = 25
turns_per_move = 5
see_in_dark = 6
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/bear = 5)
@@ -49,14 +50,6 @@
/mob/living/simple_animal/hostile/bear/Process_Spacemove(var/movement_dir = 0)
return 1 //No drifting in space for space bears!
/mob/living/simple_animal/hostile/bear/FindTarget()
. = ..()
if(.)
emote("me", 1, "stares alertly at [.]")
/mob/living/simple_animal/hostile/bear/LoseTarget()
..(5)
@@ -11,6 +11,8 @@
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "hits"
emote_taunt = list("gnashes")
taunt_chance = 30
speed = 0
maxHealth = 25
health = 25
@@ -33,11 +35,6 @@
/mob/living/simple_animal/hostile/carp/Process_Spacemove(var/movement_dir = 0)
return 1 //No drifting in space for space carp! //original comments do not steal
/mob/living/simple_animal/hostile/carp/FindTarget()
. = ..()
if(.)
emote("me", 1, "gnashes at [.]!")
/mob/living/simple_animal/hostile/carp/AttackingTarget()
..()
if(ishuman(target))
@@ -9,6 +9,8 @@
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "hits"
emote_taunt = list("glares")
taunt_chance = 25
maxHealth = 45
health = 45
speak_emote = list("telepathically cries")
@@ -23,11 +25,6 @@
faction = list("spooky")
/mob/living/simple_animal/hostile/carp/eyeball/FindTarget()
. = ..()
if(.)
emote("me", 1, "glares at [.]")
/mob/living/simple_animal/hostile/carp/eyeball/death()
..(1)
ghostize()
@@ -9,6 +9,8 @@
response_help = "passes through"
response_disarm = "shoves"
response_harm = "hits"
emote_taunt = list("wails")
taunt_chance = 25
speed = 0
maxHealth = 80
health = 80
@@ -28,11 +30,6 @@
/mob/living/simple_animal/hostile/faithless/Process_Spacemove(var/movement_dir = 0)
return 1
/mob/living/simple_animal/hostile/faithless/FindTarget()
. = ..()
if(.)
emote("me", 1, "wails at [.]!")
/mob/living/simple_animal/hostile/faithless/AttackingTarget()
..()
if(iscarbon(target))
@@ -11,6 +11,8 @@
var/casingtype
var/move_to_delay = 3 //delay for the automated movement.
var/list/friends = list()
var/list/emote_taunt = list()
var/taunt_chance = 0
var/ranged_message = "fires" //Fluff text for ranged mobs
var/ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
@@ -180,7 +182,7 @@
else
if(FindHidden())
return
LostTarget()
LoseTarget()
/mob/living/simple_animal/hostile/proc/Goto(var/target, var/delay, var/minimum_distance)
walk_to(src, target, minimum_distance, delay)
@@ -205,7 +207,7 @@
LoseTarget()
return 0
if(!(target in ListTargets()))
LostTarget()
LoseTarget()
return 0
if(isturf(loc) && target.Adjacent(src))
AttackingTarget()
@@ -216,10 +218,15 @@
/mob/living/simple_animal/hostile/proc/Aggro()
vision_range = aggro_vision_range
if(target && emote_taunt.len && prob(taunt_chance))
emote("me", 1, "[pick(emote_taunt)] at [target].")
taunt_chance = max(taunt_chance-7,2)
/mob/living/simple_animal/hostile/proc/LoseAggro()
stop_automated_movement = 0
vision_range = idle_vision_range
taunt_chance = initial(taunt_chance)
/mob/living/simple_animal/hostile/proc/LoseTarget()
stance = HOSTILE_STANCE_IDLE
@@ -227,11 +234,6 @@
walk(src, 0)
LoseAggro()
/mob/living/simple_animal/hostile/proc/LostTarget()
stance = HOSTILE_STANCE_IDLE
walk(src, 0)
LoseAggro()
//////////////END HOSTILE MOB TARGETTING AND AGGRESSION////////////
/mob/living/simple_animal/hostile/death(gibbed)
@@ -349,4 +351,4 @@
/mob/living/simple_animal/hostile/proc/AIShouldSleep()
. = !(AIShouldWake())
if(. && stance != HOSTILE_STANCE_IDLE) //This proc was called before LoseTarget().
LostTarget()
LoseTarget()
@@ -21,8 +21,9 @@
melee_damage_upper = 12
attacktext = "attacks"
attack_sound = 'sound/weapons/punch1.ogg'
var/Attackemote = "growls at"
emote_taunt = list("growls")
speak_emote = list("creaks")
taunt_chance = 30
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
@@ -30,11 +31,6 @@
faction = list("mimic")
move_to_delay = 9
/mob/living/simple_animal/hostile/mimic/FindTarget()
. = ..()
if(.)
emote("me", 1, "[Attackemote] [.].")
/mob/living/simple_animal/hostile/mimic/death()
..(1)
visible_message("[src] stops moving!")
@@ -99,10 +95,6 @@
..()
icon_state = initial(icon_state)
/mob/living/simple_animal/hostile/mimic/crate/LostTarget()
..()
icon_state = initial(icon_state)
/mob/living/simple_animal/hostile/mimic/crate/death()
var/obj/structure/closet/crate/C = new(get_turf(src))
@@ -247,7 +239,7 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
projectiletype = /obj/item/projectile/magic/
projectilesound = 'sound/items/bikehorn.ogg'
casingtype = null
Attackemote = "aims menacingly at"
emote_see = list("aims menacingly")
var/obj/item/weapon/gun/TrueGun = null
var/obj/item/weapon/gun/magic/Zapstick = list()
var/obj/item/weapon/gun/projectile/Pewgun = list()
@@ -24,6 +24,8 @@
attacktext = "bites"
attack_sound = 'sound/weapons/bite.ogg'
speak_emote = list("pines")
emote_taunt = list("growls")
taunt_chance = 20
//Space carp aren't affected by atmos.
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)
@@ -32,11 +34,6 @@
faction = list("hostile")
var/drop_type = /obj/item/stack/sheet/mineral/wood
/mob/living/simple_animal/hostile/tree/FindTarget()
. = ..()
if(.)
emote("me", 1, "growls at [.].")
/mob/living/simple_animal/hostile/tree/AttackingTarget()
..()
if(iscarbon(target))
@@ -8,10 +8,11 @@
maxHealth = 50
health = 50
speak_emote = list("hisses")
emote_hear = list("wails","screeches")
emote_hear = list("wails.","screeches.")
response_help = "puts their hand through"
response_disarm = "flails at"
response_harm = "punches"
speak_chance = 1
melee_damage_lower = 5
melee_damage_upper = 15
attacktext = "drains the life from"