Added new diona icons, added heat to alien life(), added fire indicator.

This commit is contained in:
Zuhayr
2014-10-01 22:21:34 +09:30
parent cc21a1b405
commit 3fd8b64f86
7 changed files with 37 additions and 14 deletions

View File

@@ -949,7 +949,9 @@
#include "code\modules\mob\living\carbon\alien\diona\life.dm"
#include "code\modules\mob\living\carbon\alien\diona\progression.dm"
#include "code\modules\mob\living\carbon\alien\diona\say_understands.dm"
#include "code\modules\mob\living\carbon\alien\diona\update_icons.dm"
#include "code\modules\mob\living\carbon\alien\larva\larva.dm"
#include "code\modules\mob\living\carbon\alien\larva\life.dm"
#include "code\modules\mob\living\carbon\alien\larva\progression.dm"
#include "code\modules\mob\living\carbon\brain\brain.dm"
#include "code\modules\mob\living\carbon\brain\brain_item.dm"

View File

@@ -35,6 +35,12 @@
mymob.flash.screen_loc = "1,1 to 15,15"
mymob.flash.layer = 17
mymob.fire = new /obj/screen()
mymob.fire.icon = 'icons/mob/screen1_alien.dmi'
mymob.fire.icon_state = "fire0"
mymob.fire.name = "fire"
mymob.fire.screen_loc = ui_fire
mymob.client.screen = null
mymob.client.screen += list( mymob.healths, mymob.blind, mymob.flash) //, mymob.rest, mymob.sleep, mymob.mach )
mymob.client.screen += list( mymob.healths, mymob.blind, mymob.flash, mymob.fire) //, mymob.rest, mymob.sleep, mymob.mach )
mymob.client.screen += src.adding + src.other

View File

@@ -0,0 +1,8 @@
/mob/living/carbon/alien/diona/update_icons()
if(stat == DEAD)
icon_state = "[initial(icon_state)]_dead"
else if(lying || resting || stunned)
icon_state = "[initial(icon_state)]_sleep"
else
icon_state = "[initial(icon_state)]"

View File

@@ -1,12 +1,10 @@
//Larvae regenerate health and nutrition from plasma and alien weeds.
/mob/living/carbon/alien/larva/handle_environment()
/mob/living/carbon/alien/larva/handle_environment(var/datum/gas_mixture/environment)
var/turf/T = loc
if(!T) return
var/datum/gas_mixture/environment = T.return_air()
if(!environment) return
if(environment.gas["phoron"] > 0 || locate(/obj/effect/alien/weeds) in T.contents)
var/turf/T = get_turf(src)
if(environment.gas["phoron"] > 0 || (T && locate(/obj/effect/alien/weeds) in T.contents))
update_progression()
adjustBruteLoss(-1)
adjustFireLoss(-1)

View File

@@ -22,7 +22,8 @@
blinded = null
handle_environment()
if(loc)
handle_environment(loc.return_air())
//Status updates, death etc.
handle_regular_status_updates()
@@ -36,6 +37,7 @@
return // Nothing yet. Maybe check it out at a later date.
/mob/living/carbon/alien/proc/handle_mutations_and_radiation()
// Currently both Dionaea and larvae like to eat radiation, so I'm defining the
// rad absorbtion here. This will need to be changed if other baby aliens are added.
@@ -85,7 +87,6 @@
if(halloss > 0)
adjustHalLoss(-3)
//CONSCIOUS
else
stat = CONSCIOUS
if(halloss > 0)
@@ -109,6 +110,8 @@
ear_deaf = max(ear_deaf-1, 0)
ear_damage = max(ear_damage-0.05, 0)
update_icons()
return 1
/mob/living/carbon/alien/proc/handle_regular_hud_updates()
@@ -174,7 +177,15 @@
return 1
/mob/living/carbon/alien/proc/handle_environment(datum/gas_mixture/environment)
// At the moment, neither of the alien species breathe or suffer from pressure.
// TODO: Implement heat and phoron exposure checks.
return
/mob/living/carbon/alien/proc/handle_environment(var/datum/gas_mixture/environment)
// Both alien subtypes survive in vaccum and suffer in high temperatures,
// so I'll just define this once, for both (see radiation comment above)
if(!environment) return
if(environment.temperature > (T0C+66))
adjustFireLoss((environment.temperature - (T0C+66))/5) // Might be too high, check in testing.
if (fire) fire.icon_state = "fire2"
if(prob(20))
src << "\red You feel a searing heat!"
else
if (fire) fire.icon_state = "fire0"

View File

@@ -12,8 +12,6 @@
if(stat == DEAD)
icon_state = "[initial(icon_state)][state]_dead"
else if (handcuffed || legcuffed)
icon_state = "[initial(icon_state)][state]_cuff"
else if (stunned)
icon_state = "[initial(icon_state)][state]_stun"
else if(lying || resting)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 92 KiB