Simple animal balance fixes:

- Reduced the speed of most simple animals to 4, so now you can get away if you're fast and they don't shoot you
- Added a mechanic that determines how likely a hostile animal is to smash in a window, and made this chance very low for carp
- Simple animals will no longer attack people in crit
This commit is contained in:
cib
2013-02-10 22:56:40 +01:00
parent aa753a7f3c
commit 104d21e9e2
11 changed files with 18 additions and 10 deletions
@@ -13,7 +13,7 @@
response_help = "pets the"
response_disarm = "gently pushes aside the"
response_harm = "hits the"
speed = -1
speed = 4
maxHealth = 25
health = 25
@@ -34,6 +34,8 @@
max_n2 = 0
minbodytemp = 0
break_stuff_probability = 2
faction = "carp"
/mob/living/simple_animal/hostile/carp/Process_Spacemove(var/check_drift = 0)
@@ -13,3 +13,4 @@
attacktext = "chomps"
attack_sound = 'sound/weapons/bite.ogg'
faction = "creature"
speed = 4
@@ -28,6 +28,7 @@
min_n2 = 0
max_n2 = 0
minbodytemp = 0
speed = 4
faction = "faithless"
@@ -33,6 +33,7 @@
var/busy = 0
pass_flags = PASSTABLE
move_to_delay = 6
speed = 3
//nursemaids - these create webs and eggs
/mob/living/simple_animal/hostile/giant_spider/nurse
@@ -26,6 +26,7 @@
min_n2 = 0
max_n2 = 0
minbodytemp = 0
speed = 4
/mob/living/simple_animal/hostile/hivebot/range
name = "Hivebot"
@@ -10,6 +10,7 @@
var/casingtype
var/move_to_delay = 2 //delay for the automated movement.
var/list/friends = list()
var/break_stuff_probability = 10
stop_automated_movement_when_pulled = 0
/mob/living/simple_animal/hostile/proc/FindTarget()
@@ -170,7 +171,8 @@
return
/mob/living/simple_animal/hostile/proc/DestroySurroundings()
for(var/dir in cardinal) // North, South, East, West
var/obj/structure/obstacle = locate(/obj/structure, get_step(src, dir))
if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille))
obstacle.attack_animal(src)
if(prob(break_stuff_probability))
for(var/dir in cardinal) // North, South, East, West
var/obj/structure/obstacle = locate(/obj/structure, get_step(src, dir))
if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille))
obstacle.attack_animal(src)
@@ -13,7 +13,7 @@
response_help = "touches the"
response_disarm = "pushes the"
response_harm = "hits the"
speed = -1
speed = 4
maxHealth = 250
health = 250
@@ -9,7 +9,7 @@
response_help = "pushes the"
response_disarm = "shoves"
response_harm = "hits the"
speed = -1
speed = 4
stop_automated_movement_when_pulled = 0
maxHealth = 100
health = 100
@@ -10,7 +10,7 @@
response_help = "pokes the"
response_disarm = "shoves the"
response_harm = "hits the"
speed = -1
speed = 4
stop_automated_movement_when_pulled = 0
maxHealth = 100
health = 100
@@ -10,7 +10,7 @@
response_help = "pokes the"
response_disarm = "shoves the"
response_harm = "hits the"
speed = -1
speed = 4
stop_automated_movement_when_pulled = 0
maxHealth = 100
health = 100
@@ -444,7 +444,7 @@
/mob/living/simple_animal/proc/SA_attackable(target_mob)
if (isliving(target_mob))
var/mob/living/L = target_mob
if(!L.stat)
if(!L.stat || L.health <= 0)
return (0)
if (istype(target_mob,/obj/mecha))
var/obj/mecha/M = target_mob