mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Map and Animal fixes!
Simple_animal fixes: - Mice now properly get added to the mob list. - Simple animals no longer use emotes if they have a client attached. - Bears no longer run their AI stuff if they have a client attached. This means that admins can now use the 'Animalize' button to turn players into mice and bears! Map fixes: - That window near arrival shuttle is back where it is supposed to be. - Nuke op shuttle has red floors again. - Holodeck's beach program once again has a beach. - The beach once again is a beach. - Re-added plating in the centcomm control room (where A.L.I.C.E. is.) Changelog updated. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4583 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -52,6 +52,9 @@
|
||||
|
||||
/mob/living/simple_animal/bear/Life()
|
||||
..()
|
||||
|
||||
if(client) return //Player controlled bears shouldnt be processing AI stuff
|
||||
|
||||
if(stat)
|
||||
walk(src,0)//Stops the movement
|
||||
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
/mob/living/simple_animal
|
||||
name = "animal"
|
||||
icon = 'icons/mob/animal.dmi'
|
||||
health = 20
|
||||
maxHealth = 20
|
||||
|
||||
var/icon_living = ""
|
||||
var/icon_dead = ""
|
||||
var/icon_gib = null //We only try to show a gibbing animation if this exists.
|
||||
maxHealth = 20
|
||||
|
||||
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.
|
||||
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
|
||||
health = 20
|
||||
|
||||
var/turns_per_move = 1
|
||||
var/turns_since_move = 0
|
||||
universal_speak = 1
|
||||
@@ -82,40 +85,8 @@
|
||||
if(health > maxHealth)
|
||||
health = maxHealth
|
||||
|
||||
/*
|
||||
// Stun/Weaken
|
||||
|
||||
if (paralysis || stunned || weakened) //Stunned etc.
|
||||
if (stunned > 0)
|
||||
AdjustStunned(-1)
|
||||
stat = 0
|
||||
if (weakened > 0)
|
||||
AdjustWeakened(-1)
|
||||
lying = 1
|
||||
stat = 0
|
||||
if (paralysis > 0)
|
||||
AdjustParalysis(-1)
|
||||
blinded = 1
|
||||
lying = 1
|
||||
stat = 1
|
||||
var/h = hand
|
||||
hand = 0
|
||||
drop_item()
|
||||
hand = 1
|
||||
drop_item()
|
||||
hand = h
|
||||
|
||||
else //Not stunned.
|
||||
lying = 0
|
||||
stat = 0
|
||||
|
||||
if(paralysis || stunned || weakened || buckled)
|
||||
canmove = 0
|
||||
else
|
||||
canmove = 1
|
||||
*/
|
||||
//Movement
|
||||
if(!ckey && !stop_automated_movement)
|
||||
if(!client && !stop_automated_movement)
|
||||
if(isturf(src.loc) && !resting && !buckled && canmove) //This is so it only moves if it's not inside a closet, gentics machine, etc.
|
||||
turns_since_move++
|
||||
if(turns_since_move >= turns_per_move)
|
||||
@@ -123,14 +94,8 @@
|
||||
Move(get_step(src,pick(cardinal)))
|
||||
turns_since_move = 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Speaking
|
||||
if(speak_chance)
|
||||
if(!client && speak_chance)
|
||||
if(rand(0,200) < speak_chance)
|
||||
if(speak && speak.len)
|
||||
if((emote_hear && emote_hear.len) || (emote_see && emote_see.len))
|
||||
|
||||
@@ -20,33 +20,14 @@
|
||||
density = 0
|
||||
var/color //brown, gray and white, leave blank for random
|
||||
|
||||
/mob/living/simple_animal/mouse/white
|
||||
color = "white"
|
||||
icon_state = "mouse_white"
|
||||
|
||||
/mob/living/simple_animal/mouse/gray
|
||||
color = "gray"
|
||||
icon_state = "mouse_gray"
|
||||
|
||||
/mob/living/simple_animal/mouse/brown
|
||||
color = "brown"
|
||||
icon_state = "mouse_brown"
|
||||
|
||||
/mob/living/simple_animal/mouse/New()
|
||||
..()
|
||||
if(!color)
|
||||
color = pick( list("brown","gray","white") )
|
||||
icon_state = "mouse_[color]"
|
||||
icon_living = "mouse_[color]"
|
||||
icon_dead = "mouse_[color]_dead"
|
||||
|
||||
//TOM IS ALIVE! SQUEEEEEEEE~K :)
|
||||
/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"
|
||||
|
||||
|
||||
/mob/living/simple_animal/mouse/proc/splat()
|
||||
src.health = 0
|
||||
@@ -61,4 +42,28 @@
|
||||
var/mob/M = AM
|
||||
M << "\blue \icon[src] Squeek!"
|
||||
M << 'sound/effects/mousesqueek.ogg'
|
||||
..()
|
||||
..()
|
||||
|
||||
/*
|
||||
* Mouse types
|
||||
*/
|
||||
|
||||
/mob/living/simple_animal/mouse/white
|
||||
color = "white"
|
||||
icon_state = "mouse_white"
|
||||
|
||||
/mob/living/simple_animal/mouse/gray
|
||||
color = "gray"
|
||||
icon_state = "mouse_gray"
|
||||
|
||||
/mob/living/simple_animal/mouse/brown
|
||||
color = "brown"
|
||||
icon_state = "mouse_brown"
|
||||
|
||||
//TOM IS ALIVE! SQUEEEEEEEE~K :)
|
||||
/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"
|
||||
@@ -331,19 +331,19 @@
|
||||
if(!MP || !ispath(MP, /mob/living/simple_animal))
|
||||
return 1
|
||||
|
||||
//It is impossible to pull up the player panel for mice
|
||||
if(ispath(MP, /mob/living/simple_animal/mouse))
|
||||
return 1
|
||||
//It is impossible to pull up the player panel for mice (Fixed! - Nodrak)
|
||||
// if(ispath(MP, /mob/living/simple_animal/mouse))
|
||||
// return 1
|
||||
|
||||
//Bears will auto-attack mobs, even if they're player controlled
|
||||
if(ispath(MP, /mob/living/simple_animal/bear))
|
||||
return 1
|
||||
//Bears will auto-attack mobs, even if they're player controlled (Fixed! - Nodrak)
|
||||
// if(ispath(MP, /mob/living/simple_animal/bear))
|
||||
// return 1
|
||||
|
||||
//Parrots are unfinished, they have no sprite, movement, ect...
|
||||
else if(ispath(MP, /mob/living/simple_animal/parrot))
|
||||
return 1
|
||||
|
||||
//Very buggy, they seem to just spawn additional space worms everywhere and eating your own tail results in new worms spawning.
|
||||
//Unfinished. Very buggy, they seem to just spawn additional space worms everywhere and eating your own tail results in new worms spawning.
|
||||
else if(ispath(MP, /mob/living/simple_animal/space_worm))
|
||||
return 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user