Revert "Revert "Human nightvision""

This reverts commit c0ef5e59f7.

Conflicts:
	code/_onclick/hud/ghost.dm
	code/_onclick/hud/other_mobs.dm
	code/_onclick/hud/plane_master.dm
	code/modules/lighting/lighting_system.dm
	config/config.txt
This commit is contained in:
MrPerson
2017-03-12 19:04:20 -07:00
parent 49a854a607
commit 589b4ce8ae
11 changed files with 70 additions and 47 deletions

View File

@@ -18,7 +18,7 @@
screen.severity = severity
screens[category] = screen
if(client && stat != DEAD)
if(client && screen.should_show_to(src))
client.screen += screen
return screen
@@ -52,9 +52,14 @@
client.screen -= screens[category]
/mob/proc/reload_fullscreen()
if(client && stat != DEAD) //dead mob do not see any of the fullscreen overlays that he has.
if(client)
var/obj/screen/fullscreen/screen
for(var/category in screens)
client.screen |= screens[category]
screen = screens[category]
if(screen.should_show_to(src))
client.screen |= screen
else
client.screen -= screen
/obj/screen/fullscreen
icon = 'icons/mob/screen_full.dmi'
@@ -64,6 +69,12 @@
plane = FULLSCREEN_PLANE
mouse_opacity = 0
var/severity = 0
var/show_when_dead = FALSE
/obj/screen/fullscreen/proc/should_show_to(mob/mymob)
if(!show_when_dead && mymob.stat == DEAD)
return FALSE
return TRUE
/obj/screen/fullscreen/Destroy()
severity = 0
@@ -125,4 +136,31 @@
color = "#ff0000"
/obj/screen/fullscreen/color_vision/blue
color = "#0000ff"
color = "#0000ff"
/obj/screen/fullscreen/lighting_backdrop
icon = 'icons/mob/screen_gen.dmi'
icon_state = "flash"
transform = matrix(200, 0, 0, 0, 200, 0)
plane = LIGHTING_PLANE
blend_mode = BLEND_OVERLAY
show_when_dead = TRUE
//Provides darkness to the back of the lighting plane
/obj/screen/fullscreen/lighting_backdrop/lit
invisibility = INVISIBILITY_LIGHTING
layer = BACKGROUND_LAYER+21
color = "#000"
show_when_dead = TRUE
//Provides whiteness in case you don't see lights so everything is still visible
/obj/screen/fullscreen/lighting_backdrop/unlit
layer = BACKGROUND_LAYER+20
show_when_dead = TRUE
/obj/screen/fullscreen/see_through_darkness
icon_state = "nightvision"
plane = LIGHTING_PLANE
layer = LIGHTING_LAYER
blend_mode = BLEND_ADD
show_when_dead = TRUE

View File

@@ -46,11 +46,6 @@
/datum/hud/ghost/New(mob/owner, ui_style = 'icons/mob/screen_midnight.dmi')
..()
var/mob/dead/observer/G = mymob
if(!G.client.prefs.ghost_hud)
mymob.client.screen = null
return
var/obj/screen/using
using = new /obj/screen/ghost/jumptomob()
@@ -73,13 +68,11 @@
using.screen_loc = ui_ghost_pai
static_inventory += using
/datum/hud/ghost/show_hud()
var/mob/dead/observer/G = mymob
for(var/thing in plane_masters)
mymob.client.screen += plane_masters[thing]
create_parallax()
if(G.client.prefs.ghost_hud)
/datum/hud/ghost/show_hud(version = 0, mob/viewmob)
..()
if(!mymob.client.prefs.ghost_hud)
mymob.client.screen -= static_inventory
else
mymob.client.screen += static_inventory
/mob/dead/observer/create_mob_hud()

View File

@@ -66,6 +66,7 @@
for(var/mytype in subtypesof(/obj/screen/plane_master))
var/obj/screen/plane_master/instance = new mytype()
plane_masters["[instance.plane]"] = instance
instance.backdrop(mymob)
/datum/hud/Destroy()
if(mymob.hud_used == src)
@@ -216,7 +217,7 @@
..()
hidden_inventory_update(viewmob)
/datum/hud/robot/show_hud(version = 0)
/datum/hud/robot/show_hud(version = 0, mob/viewmob)
..()
update_robot_modules_display()

View File

@@ -87,6 +87,8 @@
/datum/hud/human/New(mob/living/carbon/human/owner, ui_style = 'icons/mob/screen_midnight.dmi')
..()
owner.overlay_fullscreen("see_through_darkness", /obj/screen/fullscreen/see_through_darkness)
var/obj/screen/using
var/obj/screen/inventory/inv_box

View File

@@ -28,3 +28,7 @@
plane = LIGHTING_PLANE
blend_mode = BLEND_MULTIPLY
mouse_opacity = 0
/obj/screen/plane_master/lighting/backdrop(mob/mymob)
mymob.overlay_fullscreen("lighting_backdrop_lit", /obj/screen/fullscreen/lighting_backdrop/lit)
mymob.overlay_fullscreen("lighting_backdrop_unlit", /obj/screen/fullscreen/lighting_backdrop/unlit)

View File

@@ -328,15 +328,11 @@ var/list/teleportlocs = list()
icon_state = "party"
else
icon_state = "blue-red"
invisibility = INVISIBILITY_LIGHTING
else
// new lighting behaviour with obj lights
icon_state = null
invisibility = INVISIBILITY_MAXIMUM
/area/space/updateicon()
icon_state = null
invisibility = INVISIBILITY_MAXIMUM
/*
#define EQUIP 1

View File

@@ -22,4 +22,12 @@
name = "mobl"
var/master = null
var/list/container = list( )
var/list/container = list( )
//Makes a tile fully lit no matter what
/obj/effect/fullbright
icon = 'icons/effects/alphacolors.dmi'
icon_state = "white"
plane = LIGHTING_PLANE
layer = LIGHTING_LAYER
blend_mode = BLEND_ADD

View File

@@ -8,7 +8,7 @@
var/emp_damage = 0//Handles a type of MMI damage
var/datum/dna/stored/stored_dna // dna var for brain. Used to store dna, brain dna is not considered like actual dna, brain.has_dna() returns FALSE.
stat = DEAD //we start dead by default
see_invisible = SEE_INVISIBLE_MINIMUM
see_invisible = SEE_INVISIBLE_LIVING
/mob/living/brain/New(loc)
..()

View File

@@ -65,7 +65,7 @@
SetSleeping(0, 0)
blind_eyes(1)
reset_perspective(null)
hide_fullscreens()
reload_fullscreen()
update_action_buttons_icon()
update_damage_hud()
update_health_hud()

View File

@@ -301,26 +301,7 @@ ANNOUNCE_ADMIN_LOGOUT
## This allows you to configure the minimum required client version, as well as a warning version, and message for both.
## These trigger for any version below (non-inclusive) the given version, so 510 triggers on 509 or lower.
## These messages will be followed by one stating the clients current version and the required version for clarity.
#CLIENT_WARN_VERSION 510
#CLIENT_WARN_MESSAGE Byond is really close to releasing 510 beta as the stable release, please take this time to try it out. Reports are that the client preforms better then the version you are using, and also handles network lag better. Shortly after it's release we will end up using 510 client features and you will be forced to update.
#CLIENT_ERROR_VERSION 509
#CLIENT_ERROR_MESSAGE Your version of byond is not supported. Please upgrade.
## TOPIC RATE LIMITING
## This allows you to limit how many topic calls (clicking on a interface window) the client can do in any given game second and/or game minute.
## Admins are exempt from these limits.
## Hitting the minute limit notifies admins.
## Set to 0 or comment out to disable.
SECOND_TOPIC_LIMIT 10
MINUTE_TOPIC_LIMIT 100
##Error handling related options
## The "cooldown" time for each occurence of an unique error
#ERROR_COOLDOWN 600
## How many occurences before the next will silence them
#ERROR_LIMIT 90
## How long an unique error will be silenced for
#ERROR_SILENCE_TIME 6000
##How long to wait between messaging admins about occurences of an unique error
#ERROR_MSG_DELAY 50
#CLIENT_WARN_VERSION 511
#CLIENT_WARN_MESSAGE Byond is really close to releasing 511 beta as the stable release, please take this time to try it out. You can set the framerate your client runs at, which makes the game feel very different and cool. Shortly after its release we will end up using 511 client features and you will be forced to update.
CLIENT_ERROR_VERSION 510
CLIENT_ERROR_MESSAGE Your version of byond is not supported. Please upgrade.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB