Nymph and Scannerbed fixes (#1388)

Fixes #977 
Fixes #1380 

Fixes an unreported issue with carbon attack procs that made diona nymphs (and i guess xenomorphs and slimes too) immune to melee attacks.

Nymphs no longer gain light energy while ventcrawling. The inside of a pipe is treated as total darkness.
Nymph max health reduced by 15%. I don't want to nerf them too much.

Fixes several runtime errors in life procs, where it tried to set client vars without checking for a client. I ran into them when shooting a nymph
This commit is contained in:
NanakoAC
2017-01-04 01:40:21 +00:00
committed by skull132
parent 8c1ad1a6ae
commit 402c0b14cf
8 changed files with 52 additions and 10 deletions

View File

@@ -30,6 +30,7 @@
var/list/sampled_DNA
var/list/language_progress
var/obj/item/clothing/head/hat
maxHealth = 85
/mob/living/carbon/alien/diona/ex_act(severity)
if (life_tick < 4)

View File

@@ -93,6 +93,8 @@
return 1
/mob/living/carbon/alien/handle_regular_hud_updates()
if (!..())
return//Returns if no client
if (stat == 2 || (XRAY in src.mutations))
sight |= SEE_TURFS
@@ -128,8 +130,7 @@
else
healths.icon_state = "health7"
if (client)
client.screen.Remove(global_hud.blurry,global_hud.druggy,global_hud.vimpaired)
client.screen.Remove(global_hud.blurry,global_hud.druggy,global_hud.vimpaired)
if ((blind && stat != 2))
if ((blinded))

View File

@@ -1,9 +1,9 @@
//Called when the mob is hit with an item in combat.
/mob/living/carbon/resolve_item_attack(obj/item/I, mob/living/user, var/effective_force, var/hit_zone)
/mob/living/carbon/resolve_item_attack(obj/item/I, mob/living/user, var/hit_zone)
if(check_attack_throat(I, user))
return null
..()
return ..()
/mob/living/carbon/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/hit_zone)
if(!effective_force || blocked >= 2)

View File

@@ -450,6 +450,9 @@ if (flashlight_active)
var/light_amount = DIONA_MAX_LIGHT //how much light there is in the place, affects receiving nutrition and healing
var/light_factor = 1//used for if a gestalt's response node is damaged. it will feed more slowly
if (is_ventcrawling)
return -1.5//no light inside pipes
if (DS.light_organ)
if (DS.light_organ.is_broken())
light_factor = 0.55