Doors now check for critter access.

Cleaned up the objectives a bit and made a new "kill" one for rev.
Cleaned up implants and implanters a bit.
Cleaned up the prisoner computer a bit.
Sec Huds can be placed on security helmets (Still needs a sprite)
The beachball now has in hand sprites (Kor)

Cult:
Heads other than the Captain and HoS are now able to start as or be converted to a cultist.
Loyalty implants will block conversion but will not unconvert cultists.

Rev:
Station Heads or Head Revs who leave z1 will count as dead so long as they are off of the z level.
Loyalty implants will block conversion and will unconvert revs upon injection.
Once a mind has been unconverted it may not be reconverted

New items:
Loyalty implants, small implant that prevents reving/cult
The Captain, Warden, Officers, and Detective all start with one already implanted
Loyalty Implanter machine on the prison station that implants loyalty implants and may regen implants after a cooldown.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2049 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-08-26 07:41:37 +00:00
parent 256cdd37d2
commit c9bb9c2e5f
40 changed files with 9892 additions and 9469 deletions

View File

@@ -10,7 +10,7 @@
alive = 1
health = 10
max_health = 10
list/access_list = list()//accesses go here
//AI things
task = "thinking"
//Attacks at will
@@ -19,8 +19,8 @@
defensive = 0
//Will randomly move about
wanderer = 1
//Will open doors it bumps
opensdoors = 1
//Will open doors it bumps ignoring access
opensdoors = 0
//Internal tracking ignore
frustration = 0

View File

@@ -87,13 +87,12 @@
Bump(M as mob|obj)//TODO: Add access levels here
spawn(0)
if ((istype(M, /obj/machinery/door)))
var/obj/machinery/door/D = M
if (src.opensdoors)
D.open()
if((istype(M, /obj/machinery/door)))
if(src.opensdoors)
M:open()
src.frustration = 0
else src.frustration ++
else if ((istype(M, /mob/living/)) && (!src.anchored))
else src.frustration ++
if((istype(M, /mob/living/)) && (!src.anchored))
src.loc = M:loc
src.frustration = 0
return
@@ -127,9 +126,9 @@
for(var/obj/critter/C in view(src.seekrange,src))
if(istype(C, /obj/critter) && !src.atkcritter) continue
if(istype(C, /obj/mecha) && !src.atkmech) continue
if(C.health < 0) continue
if(C.health <= 0) continue
if(istype(C, /obj/critter) && src.atkcritter)
if(istype(C, src.type) && !src.atksame) continue
if((istype(C, src.type) && !src.atksame) || (C == src)) continue
src.attack = 1
if(istype(C, /obj/mecha) && src.atkmech) src.attack = 1
if(src.attack)

View File

@@ -31,7 +31,6 @@
aggressive = 0
defensive = 1
wanderer = 1
opensdoors = 0
atkcarbon = 1
atksilicon = 0
attacktext = "bites"
@@ -49,7 +48,6 @@
aggressive = 1
defensive = 0
wanderer = 1
opensdoors = 1
atkcarbon = 1
atksilicon = 1
firevuln = 2
@@ -73,7 +71,6 @@
aggressive = 0
defensive = 0
wanderer = 1
opensdoors = 0
atkcarbon = 0
atksilicon = 0
firevuln = 2
@@ -101,7 +98,6 @@
aggressive = 1
defensive = 1
wanderer = 1
opensdoors = 1
atkcarbon = 1
atksilicon = 1
atkcritter = 1
@@ -127,6 +123,7 @@
max_health = 50
melee_damage_lower = 10
melee_damage_upper = 20
// opensdoors = 1 would give all access dono if want
/obj/critter/walkingmushroom
name = "Walking Mushroom"
@@ -137,7 +134,6 @@
aggressive = 0
defensive = 0
wanderer = 1
opensdoors = 0
atkcarbon = 0
atksilicon = 0
firevuln = 2

View File

@@ -74,9 +74,9 @@
for(var/obj/critter/C in view(src.seekrange,src))
if(istype(C, /obj/critter) && !src.atkcritter) continue
if(istype(C, /obj/mecha) && !src.atkmech) continue
if(C.health < 0) continue
if(C.health <= 0) continue
if(istype(C, /obj/critter) && src.atkcritter)
if(istype(C, /obj/critter/hivebot) && !src.atksame) continue
if((istype(C, /obj/critter/hivebot) && !src.atksame) || (C == src)) continue
src.attack = 1
if(istype(C, /obj/mecha) && src.atkmech) src.attack = 1
if(src.attack)
@@ -203,6 +203,7 @@
if(auto_spawn)
spawn(spawn_delay)
turn_on = 1
auto_spawn = 0
warpbots()
@@ -224,11 +225,12 @@
process()
if(health < (max_health/2))
turn_on = 1
if(turn_on)
if((health < (max_health/2)) && (!turn_on))
if(prob(2))//Might be a bit low, will mess with it likely
turn_on = 1
if(turn_on == 1)
warpbots()
turn_on = 0
turn_on = 2
..()
/obj/critter/hivebot/tele/massive