FIX ALL THE THINGS!

This commit is contained in:
Aurorablade
2015-11-21 21:01:36 -05:00
parent b41eb74288
commit d038dfeede
7 changed files with 48 additions and 10 deletions
@@ -16,6 +16,7 @@
for (var/mob/M in viewers(T))
M.show_message("\red The data cable rapidly retracts back into its spool.", 3, "\red You hear a click and the sound of wire spooling rapidly.", 2)
qdel(src.cable)
cable = null
/mob/living/silicon/pai/updatehealth()
if(status_flags & GODMODE)
+5 -1
View File
@@ -6,7 +6,7 @@
robot_talk_understand = 0
emote_type = 2 // pAIs emotes are heard, not seen, so they can be seen through a container (eg. person)
small = 1
pass_flags = 1
pass_flags = PASSTABLE
density = 0
holder_type = /obj/item/weapon/holder/pai
var/network = "SS13"
@@ -512,6 +512,10 @@
src << "<span class='warning'>You are far too small to pull anything!</span>"
return
/mob/living/silicon/pai/update_canmove()
. = ..()
density = 0 //this is reset every canmove update otherwise
/mob/living/silicon/pai/examine(mob/user)
..(user)
@@ -70,6 +70,8 @@
ventcrawler = 2
ranged = 1
ranged_cooldown_cap = 2
universal_speak = 0
universal_understand = 0
projectilesound = 'sound/weapons/taser2.ogg'
AIStatus = AI_OFF
var/resources = 0 //Resource points, generated by consuming metal/glass
@@ -35,6 +35,8 @@
var/essence_min = 1 //The minimum amount of essence a revenant can have; by default, it never drops below one
var/essence_accumulated = 0 //How much essence the revenant has stolen
var/revealed = 0 //If the revenant can take damage from normal sources.
var/unreveal_time = 0 //How long the revenant is revealed for, is about 2 seconds times this var.
var/unstun_time = 0 //How long the revenant is stunned for, is about 2 seconds times this var.
var/inhibited = 0 //If the revenant's abilities are blocked by a chaplain's power.
var/essence_drained = 0 //How much essence the revenant has drained.
var/draining = 0 //If the revenant is draining someone.
@@ -49,8 +51,18 @@
if(essence > essence_regen_cap)
essence = essence_regen_cap
maxHealth = essence * 3
if(unreveal_time && world.time >= unreveal_time)
unreveal_time = 0
revealed = 0
invisibility = INVISIBILITY_OBSERVER
src << "<span class='revenboldnotice'>You are once more concealed.</span>"
if(unstun_time && world.time >= unstun_time)
unstun_time = 0
notransform = 0
src << "<span class='revenboldnotice'>You can move again!</span>"
if(!revealed)
health = maxHealth //Heals to full when not revealed
update_spooky_icon()
/mob/living/simple_animal/revenant/ex_act(severity)
return 1 //Immune to the effects of explosions.
@@ -263,11 +275,12 @@
return
revealed = 1
invisibility = 0
src << "<span class='warning'>You have been revealed.</span>"
spawn(time)
revealed = 0
invisibility = INVISIBILITY_OBSERVER
src << "<span class='notice'>You are once more concealed.</span>"
if(!unreveal_time)
src << "<span class='revennotice'>You have been revealed!</span>"
unreveal_time = world.time + time
else
src << "<span class='revenboldnotice'>You have been revealed!</span>"
unreveal_time = unreveal_time + time
/mob/living/simple_animal/revenant/proc/stun(time)
if(!src)
@@ -275,10 +288,25 @@
if(time <= 0)
return
notransform = 1
src << "<span class='warning'>You cannot move!</span>"
spawn(time)
notransform = 0
src << "<span class='notice'>You can move again!</span>"
if(!unstun_time)
src << "<span class='revennotice'>You cannot move!</span>"
unstun_time = world.time + time
else
src << "<span class='revenboldnotice'>You cannot move!</span>"
unstun_time = unstun_time + time
update_spooky_icon()
/mob/living/simple_animal/revenant/proc/update_spooky_icon()
if(unreveal_time)
if(draining)
icon_state = "revenant_draining"
return
if(unstun_time)
icon_state = "revenant_stun"
return
icon_state = "revenant_revealed"
return
icon_state = "revenant_idle"
/datum/objective/revenant
var/targetAmount = 100