Aliens can now shape membranes.

AIs now see runes as blood.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2305 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
uporotiy
2011-10-01 16:36:23 +00:00
parent 995fb5f788
commit a71691759c
8 changed files with 55 additions and 18 deletions
+1 -1
View File
@@ -40,7 +40,7 @@
range = -1
include_user = 1
mutations = 136
mutations = LASER | HULK
duration = 300
/obj/proc_holder/spell/targeted/inflict_handler/disintegrate
+8
View File
@@ -92,6 +92,14 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
// self other technology - Communication rune //was other hear blood
// join hide technology - stun rune. Rune color: bright pink.
New()
..()
for(var/mob/living/silicon/ai/AI in world)
if(AI.client)
var/image/blood = image('blood.dmi', loc = src, icon_state = "floor[rand(1,7)]")
blood.override = 1
AI.client.images += blood
examine()
if(!iscultist(usr))
usr << "A strange collection of symbols drawn in blood."
+13 -1
View File
@@ -31,7 +31,19 @@
opacity = 1
anchored = 1
var/health = 50
var/mob/living/affecting = null
//var/mob/living/affecting = null
wall
name = "resin wall"
desc = "Purple slime solidified into a wall."
icon_state = "resinwall" //same as resin, but consistency ho!
membrane
name = "resin membrane"
desc = "Purple slime just thin enough to let light pass through."
icon_state = "resinmembrane"
opacity = 0
health = 20
/obj/alien/weeds
name = "weeds"
+13 -13
View File
@@ -3,7 +3,7 @@
/obj/alien/resin/proc/healthcheck()
if(health <=0)
density = 0
if(affecting)
/* if(affecting)
var/mob/living/carbon/M = affecting
contents.Remove(affecting)
if(ishuman(M))
@@ -13,7 +13,7 @@
M.loc = loc
M.paralysis += 10
for(var/mob/O in viewers(src, 3))
O.show_message(text("A body appeared from the dead resin!"), 1, text("You hear faint moaning somewhere about you."), 2)
O.show_message(text("A body appeared from the dead resin!"), 1, text("You hear faint moaning somewhere about you."), 2)*/
del(src)
return
@@ -64,10 +64,10 @@
/obj/alien/resin/attack_hand()
if ((usr.mutations & HULK))
usr << text("\blue You easily destroy the resin wall.")
usr << text("\blue You easily destroy the [name].")
for(var/mob/O in oviewers(src))
O.show_message(text("\red [] destroys the resin wall!", usr), 1)
health-=50
O.show_message(text("\red [] destroys the [name]!", usr), 1)
health = 0
healthcheck()
return
@@ -77,20 +77,20 @@
/obj/alien/resin/attack_alien()
if (islarva(usr))//Safety check for larva. /N
return
usr << text("\green You claw at the resin wall.")
usr << text("\green You claw at the [name].")
for(var/mob/O in oviewers(src))
O.show_message(text("\red [] claws at the resin!", usr), 1)
playsound(loc, 'attackblob.ogg', 100, 1)
health -= rand(10, 20)
if(health <= 0)
usr << text("\green You slice the resin wall to pieces.")
usr << text("\green You slice the [name] to pieces.")
for(var/mob/O in oviewers(src))
O.show_message(text("\red [] slices the resin wall apart!", usr), 1)
O.show_message(text("\red [] slices the [name] apart!", usr), 1)
healthcheck()
return
/obj/alien/resin/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
/*if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
if(isalien(user)&&(ishuman(G.affecting)||ismonkey(G.affecting)))
//Only aliens can stick humans and monkeys into resin walls. Also, the wall must not have a person inside already.
@@ -109,7 +109,7 @@
process()
else
user << "\red This wall is already occupied."
return
return */
var/aforce = W.force
health = max(0, health - aforce)
@@ -118,8 +118,8 @@
..()
return
/obj/alien/resin/process()
if(affecting)
/obj/alien/resin/process() //Buggy and irrelevant now that you're able to just make nice little infection chambers - Urist
/*if(affecting)
var/mob/living/carbon/M = affecting
var/check = 0
if(ishuman(affecting))//So they do not suicide and kill the babby.
@@ -156,7 +156,7 @@
O.show_message(text("A body appeared from the dead resin!"), 1, text("You hear faint moaning somewhere about you."), 2)
else
for(var/mob/O in viewers(src, 3))
O.show_message(text("\red An alien larva bursts from the resin wall!"), 1, text("\red You hear a high, alien screech nearby!"), 2)
O.show_message(text("\red An alien larva bursts from the resin wall!"), 1, text("\red You hear a high, alien screech nearby!"), 2)*/
return
/obj/alien/resin/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
@@ -35,14 +35,19 @@
return
/mob/living/carbon/alien/humanoid/drone/verb/resinwall() // -- TLE
set name = "Shape Resin Wall (100)"
set name = "Shape Resin (100)"
set desc = "Produce a wall of resin that blocks entry and line of sight"
set category = "Alien"
if(powerc(100))
toxloss -= 100
src << "\green You begin to shape a wall of resin."
var/choice = input("Choose what you wish to shape.","Resin building") as anything in list("resin wall","resin membrane") //would do it through typesof but then the player choice would have the type path and we don't want the internal workings to be exposed ICly - Urist
src << "\green You shape a [choice]."
for(var/mob/O in viewers(src, null))
O.show_message(text("\red <B>[src] vomits up a thick purple substance and begins to shape it!</B>"), 1)
new /obj/alien/resin(loc)
switch(choice)
if("resin wall")
new /obj/alien/resin/wall(loc)
if("resin membrane")
new /obj/alien/resin/membrane(loc)
return
+7
View File
@@ -62,6 +62,13 @@
if(src.mind)
ticker.mode.remove_revolutionary(src.mind)
if(client)
for(var/obj/rune/rune in world)
var/image/blood = image('blood.dmi', loc = rune, icon_state = "floor[rand(1,7)]")
blood.override = 1
client.images += blood
return
+5
View File
@@ -45,4 +45,9 @@
if(ticker.mode.name == "cult")
if (src.mind in ticker.mode:cult)
ticker.mode:update_cult_icons_added(src.mind)
if(isAI(src))
for(var/obj/rune/rune in world)
var/image/blood = image('blood.dmi', loc = rune, icon_state = "floor[rand(1,7)]")
blood.override = 1
client.images += blood
..()