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:
johnsonmt88@gmail.com
2012-08-29 22:59:53 +00:00
parent 867b21c7ce
commit 74fcce34d9
15 changed files with 3078 additions and 3035 deletions

View File

@@ -126,26 +126,6 @@
color="white"
icon = 'icons/obj/power_cond_white.dmi'
/obj/effect/manifest
name = "manifest"
icon = 'icons/mob/screen1.dmi'
icon_state = "x"
unacidable = 1//Just to be sure.
/obj/effect/overlay
name = "overlay"
unacidable = 1
var/i_attached//Added for possible image attachments to objects. For hallucinations and the like.
/obj/effect/overlay/beam//Not actually a projectile, just an effect.
name="beam"
icon='icons/effects/beam.dmi'
icon_state="b_beam"
var/tmp/atom/BeamSource
New()
..()
spawn(10) del src
/obj/effect/projection
name = "Projection"
@@ -158,12 +138,6 @@
var/moving = null
var/list/parts = list( )
/obj/effect/landmark/start
name = "start"
icon = 'icons/mob/screen1.dmi'
icon_state = "x"
anchored = 1.0
/obj/effect/showcase
name = "Showcase"
icon = 'icons/obj/stationobjs.dmi'

View File

@@ -0,0 +1,12 @@
/obj/effect/landmark
name = "landmark"
icon = 'icons/mob/screen1.dmi'
icon_state = "x2"
anchored = 1.0
unacidable = 1
/obj/effect/landmark/start
name = "start"
icon = 'icons/mob/screen1.dmi'
icon_state = "x"
anchored = 1.0

View File

@@ -1,4 +1,8 @@
/obj/effect/manifest
name = "manifest"
icon = 'icons/mob/screen1.dmi'
icon_state = "x"
unacidable = 1//Just to be sure.
/obj/effect/manifest/New()

View File

@@ -0,0 +1,33 @@
/obj/effect/overlay
name = "overlay"
unacidable = 1
var/i_attached//Added for possible image attachments to objects. For hallucinations and the like.
/obj/effect/overlay/beam//Not actually a projectile, just an effect.
name="beam"
icon='icons/effects/beam.dmi'
icon_state="b_beam"
var/tmp/atom/BeamSource
New()
..()
spawn(10) del src
/obj/effect/overlay/water
name = "water"
icon = 'icons/misc/beach.dmi'
icon_state = "water2"
/obj/effect/overlay/palmtree_r
name = "Palm tree"
icon = 'icons/misc/beach2.dmi'
icon_state = "palm1"
/obj/effect/overlay/palmtree_l
name = "Palm tree"
icon = 'icons/misc/beach2.dmi'
icon_state = "palm2"
/obj/effect/overlay/coconut
name = "Coconuts"
icon = 'icons/misc/beach.dmi'
icon_state = "coconuts"

View File

@@ -0,0 +1,34 @@
/turf/simulated/beach
name = "Beach"
icon = 'icons/misc/beach.dmi'
/turf/simulated/beach/sand
name = "Sand"
icon_state = "sand"
/turf/simulated/beach/coastline
name = "Coastline"
icon = 'icons/misc/beach2.dmi'
icon_state = "sandwater"
/turf/simulated/beach/water
name = "Water"
icon_state = "water"
/turf/simulated/floor/grass
name = "Grass patch"
icon_state = "grass1"
floor_tile = new/obj/item/stack/tile/grass
New()
floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well.
icon_state = "grass[pick("1","2","3","4")]"
..()
spawn(4)
if(src)
update_icon()
for(var/direction in cardinal)
if(istype(get_step(src,direction),/turf/simulated/floor))
var/turf/simulated/floor/FF = get_step(src,direction)
FF.update_icon() //so siding get updated properly

View File

@@ -1119,22 +1119,7 @@ var/list/wood_icons = list("wood","wood-broken")
update_icon()
name = n
/turf/simulated/floor/grass
name = "Grass patch"
icon_state = "grass1"
floor_tile = new/obj/item/stack/tile/grass
New()
floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well.
icon_state = "grass[pick("1","2","3","4")]"
..()
spawn(4)
if(src)
update_icon()
for(var/direction in cardinal)
if(istype(get_step(src,direction),/turf/simulated/floor))
var/turf/simulated/floor/FF = get_step(src,direction)
FF.update_icon() //so siding get updated properly
/turf/simulated/floor/wood
name = "floor"

View File

@@ -0,0 +1,16 @@
/turf/unsimulated/beach
name = "Beach"
icon = 'icons/misc/beach.dmi'
/turf/unsimulated/beach/sand
name = "Sand"
icon_state = "sand"
/turf/unsimulated/beach/coastline
name = "Coastline"
icon = 'icons/misc/beach2.dmi'
icon_state = "sandwater"
/turf/unsimulated/beach/water
name = "Water"
icon_state = "water"

View File

@@ -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

View File

@@ -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))

View File

@@ -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
@@ -62,3 +43,27 @@
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"

View File

@@ -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

View File

@@ -48,6 +48,17 @@ Stuff which is in development and not yet visible to players or just code relate
should be listed in the changelog upon commit tho. Thanks. -->
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
<div class="commit sansserif">
<h2 class="date">29 August 2012</h2>
<h3 class="author">Nodrak updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Mice now work with the admin player panel. Admins can now turn players into mice with the 'Animalize' button in the player panel!</li>
<li class="bugfix">Space bear AI no longer runs when a player is controlling it. Admins can now turn players into space bears with the 'Animalize' button in the player panel!</li>
<li class="bugfix">The holodeck beach program once again has a beach.</li>
<li class="bugfix">The nuke op shuttle floor was pressure-washed a few days ago. We have since re-painted it with nanotrasen blood. Sorry for any confusion.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">28 August 2012</h2>
<h3 class="author">Giacom updated:</h3>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -83,6 +83,8 @@
#define FILE_DIR "code/game/objects/structures/crates_lockers/closets/secure"
#define FILE_DIR "code/game/objects/structures/stool_bed_chair_nest"
#define FILE_DIR "code/game/turfs"
#define FILE_DIR "code/game/turfs/simulated"
#define FILE_DIR "code/game/turfs/unsimulated"
#define FILE_DIR "code/game/vehicles"
#define FILE_DIR "code/game/vehicles/airtight"
#define FILE_DIR "code/game/verbs"
@@ -597,6 +599,7 @@
#include "code\game\objects\effects\landmarks.dm"
#include "code\game\objects\effects\manifest.dm"
#include "code\game\objects\effects\mines.dm"
#include "code\game\objects\effects\overlays.dm"
#include "code\game\objects\effects\portals.dm"
#include "code\game\objects\effects\signs.dm"
#include "code\game\objects\effects\decals\blood.dm"
@@ -770,6 +773,8 @@
#include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm"
#include "code\game\objects\structures\stool_bed_chair_nest\stools.dm"
#include "code\game\turfs\turf.dm"
#include "code\game\turfs\simulated\beach.dm"
#include "code\game\turfs\unsimulated\beach.dm"
#include "code\game\vehicles\vehicle.dm"
#include "code\game\vehicles\airtight\airtight.dm"
#include "code\game\vehicles\airtight\land.dm"