Stealth/invisibility tweaks.

This commit is contained in:
Segrain
2013-07-09 05:06:29 +03:00
parent 965b0c419e
commit c5a1a69b5b
3 changed files with 17 additions and 15 deletions

View File

@@ -869,25 +869,27 @@ ________________________________________________________________________________
if(s_active)
cancel_stealth()
else
spawn(0)
anim(U.loc,U,'icons/mob/mob.dmi',,"cloak",,U.dir)
anim(U.loc,U,'icons/mob/mob.dmi',,"cloak",,U.dir)
s_active=!s_active
U.update_icons() //update their icons
icon_state = U.gender==FEMALE ? "s-ninjasf" : "s-ninjas"
U.regenerate_icons() //update their icons
U << "\blue You are now invisible to normal detection."
for(var/mob/O in oviewers(U))
O.show_message("[U.name] vanishes into thin air!",1)
U.invisibility = INVISIBILITY_OBSERVER
return
/obj/item/clothing/suit/space/space_ninja/proc/cancel_stealth()
var/mob/living/carbon/human/U = affecting
if(s_active)
spawn(0)
anim(U.loc,U,'icons/mob/mob.dmi',,"uncloak",,U.dir)
anim(U.loc,U,'icons/mob/mob.dmi',,"uncloak",,U.dir)
s_active=!s_active
U.update_icons() //update their icons
U << "\blue You are now visible."
U.invisibility = 0
for(var/mob/O in oviewers(U))
O.show_message("[U.name] appears from thin air!",1)
icon_state = U.gender==FEMALE ? "s-ninjanf" : "s-ninjan"
U.regenerate_icons() //update their icons
return 1
return 0

View File

@@ -143,14 +143,11 @@ Please contact me on #coderbus IRC. ~Carn x
overlays += I
else
var/stealth = 0
if(istype(wear_suit, /obj/item/clothing/suit/space/space_ninja) && wear_suit:s_active)
stealth = 1
else
//cloaking devices. //TODO: get rid of this :<
for(var/obj/item/weapon/cloaking_device/S in list(l_hand,r_hand,belt,l_store,r_store))
if(S.active)
stealth = 1
break
//cloaking devices. //TODO: get rid of this :<
for(var/obj/item/weapon/cloaking_device/S in list(l_hand,r_hand,belt,l_store,r_store))
if(S.active)
stealth = 1
break
if(stealth)
icon = 'icons/mob/human.dmi'
icon_state = "body_cloaked"

View File

@@ -9,6 +9,8 @@
var/image/holder
var/turf/T = get_turf_or_move(src.loc)
for(var/mob/living/carbon/human/perp in view(T))
if(src.see_invisible < perp.invisibility)
continue
var/perpname = "wot"
holder = perp.hud_list[ID_HUD]
if(perp.wear_id)
@@ -51,7 +53,8 @@
var/image/holder
var/turf/T = get_turf_or_move(src.loc)
for(var/mob/living/carbon/human/patient in view(T))
if(src.see_invisible < patient.invisibility)
continue
var/foundVirus = 0
for(var/datum/disease/D in patient.viruses)
if(!D.hidden[SCANNER])