mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Added more goodies to the RD office.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@147 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -40,7 +40,7 @@
|
||||
var/alive = 1 //1 alive, 0 dead
|
||||
var/health = 25
|
||||
var/maxhealth = 25
|
||||
|
||||
var/lamarr = 0
|
||||
flags = 258.0
|
||||
|
||||
|
||||
@@ -64,6 +64,8 @@
|
||||
usr << text("\red <B>the alien looks fresh, just out of the egg</B>")
|
||||
else
|
||||
usr << text("\red <B>the alien looks pretty beat up</B>")
|
||||
if (lamarr)
|
||||
usr << text("\red <B>it looks like the proboscis has been removed</B>")
|
||||
return
|
||||
|
||||
|
||||
@@ -228,17 +230,21 @@
|
||||
if(can_see(src,target,viewrange))
|
||||
if(distance <= 1)
|
||||
for(var/mob/O in viewers(world.view,src))
|
||||
O.show_message("\red <B>[src.target] has been leapt on by the alien!</B>", 1, "\red You hear someone fall", 2)
|
||||
target:bruteloss += 10
|
||||
target:paralysis = max(target:paralysis, 10)
|
||||
O.show_message("\red <B>[src.target] has been leapt on by [lamarr ? src.name : "the alien"]!</B>", 1, "\red You hear someone fall", 2)
|
||||
if (!lamarr)
|
||||
target:bruteloss += 10
|
||||
target:paralysis = max(target:paralysis, 10)
|
||||
src.loc = target.loc
|
||||
|
||||
if(!target.alien_egg_flag && ( ishuman(target) || ismonkey(target) ) )
|
||||
target.alien_egg_flag = 1
|
||||
var/mob/trg = target
|
||||
src.death()
|
||||
trg.contract_disease(new /datum/disease/alien_embryo, 1)
|
||||
return
|
||||
if (!lamarr)
|
||||
target.alien_egg_flag = 1
|
||||
var/mob/trg = target
|
||||
src.death()
|
||||
trg.contract_disease(new /datum/disease/alien_embryo, 1)
|
||||
return
|
||||
else
|
||||
sleep(50)
|
||||
else
|
||||
set_null()
|
||||
spawn(cycle_pause) src.process()
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
/obj/lamarr
|
||||
name = "Lab Cage"
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "labcage1"
|
||||
desc = "A glass lab container for storing interesting creatures."
|
||||
density = 1
|
||||
anchored = 1
|
||||
var/health = 30
|
||||
var/occupied = 1
|
||||
var/destroyed = 0
|
||||
|
||||
/obj/lamarr/ex_act(severity)
|
||||
switch(severity)
|
||||
if (1)
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
if (occupied)
|
||||
var/obj/alien/facehugger/A = new /obj/alien/facehugger( src.loc )
|
||||
A.lamarr = 1
|
||||
A.name = "Lamarr"
|
||||
occupied = 0
|
||||
del(src)
|
||||
if (2)
|
||||
if (prob(50))
|
||||
src.health -= 15
|
||||
src.healthcheck()
|
||||
if (3)
|
||||
if (prob(50))
|
||||
src.health -= 5
|
||||
src.healthcheck()
|
||||
|
||||
/obj/lamarr/bullet_act(flag)
|
||||
|
||||
if (flag == PROJECTILE_BULLET)
|
||||
src.health -= 10
|
||||
src.healthcheck()
|
||||
return
|
||||
if (flag != PROJECTILE_LASER) //lasers aren't particularly good at breaking glass
|
||||
src.health -= 2
|
||||
src.healthcheck()
|
||||
return
|
||||
else
|
||||
src.health -= 5
|
||||
src.healthcheck()
|
||||
return
|
||||
|
||||
|
||||
/obj/lamarr/blob_act()
|
||||
if (prob(50))
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
if (occupied)
|
||||
var/obj/alien/facehugger/A = new /obj/alien/facehugger( src.loc )
|
||||
A.lamarr = 1
|
||||
A.name = "Lamarr"
|
||||
occupied = 0
|
||||
del(src)
|
||||
|
||||
|
||||
/obj/lamarr/meteorhit(obj/O as obj)
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/alien/facehugger/A = new /obj/alien/facehugger( src.loc )
|
||||
A.lamarr = 1
|
||||
A.name = "Lamarr"
|
||||
del(src)
|
||||
|
||||
|
||||
/obj/lamarr/proc/healthcheck()
|
||||
if (src.health <= 0)
|
||||
if (!( src.destroyed ))
|
||||
src.density = 0
|
||||
src.destroyed = 1
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
playsound(src, "shatter", 70, 1)
|
||||
var/obj/alien/facehugger/A = new /obj/alien/facehugger( src.loc )
|
||||
A.lamarr = 1
|
||||
A.name = "Lamarr"
|
||||
occupied = 0
|
||||
update_icon()
|
||||
else
|
||||
playsound(src.loc, 'Glasshit.ogg', 75, 1)
|
||||
return
|
||||
|
||||
/obj/lamarr/proc/update_icon()
|
||||
if(src.destroyed)
|
||||
src.icon_state = "labcageb[src.occupied]"
|
||||
else
|
||||
src.icon_state = "labcage[src.occupied]"
|
||||
return
|
||||
|
||||
|
||||
/obj/lamarr/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
src.health -= W.force
|
||||
src.healthcheck()
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/lamarr/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/lamarr/attack_hand(mob/user as mob)
|
||||
if (src.destroyed)
|
||||
return
|
||||
else
|
||||
usr << text("\blue You kick the lab cage.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] kicks the lab cage.", usr)
|
||||
src.health -= 2
|
||||
healthcheck()
|
||||
return
|
||||
Reference in New Issue
Block a user