mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Added new diona icons, added heat to alien life(), added fire indicator.
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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)]"
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user