mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
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:
@@ -40,7 +40,7 @@
|
||||
range = -1
|
||||
include_user = 1
|
||||
|
||||
mutations = 136
|
||||
mutations = LASER | HULK
|
||||
duration = 300
|
||||
|
||||
/obj/proc_holder/spell/targeted/inflict_handler/disintegrate
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user