Fixes #117, Fixes #118, Fixes #667 (#668)

This commit is contained in:
NanakoAC
2016-08-03 20:33:06 +01:00
committed by skull132
parent d38e6d164f
commit 3979c813ca
4 changed files with 80 additions and 17 deletions

View File

@@ -23,30 +23,53 @@
step_towards(src, target) step_towards(src, target)
var/turf/T = get_turf(src) var/turf/T = get_turf(src)
if(T && reagents) if(T && reagents)
reagents.touch_turf(T)
var/mob/M if (wet_things(T))
for(var/atom/A in T)
if(!ismob(A) && A.simulated) // Mobs are handled differently
reagents.touch(A)
else if(ismob(A) && !M)
M = A
if(M)
reagents.splash(M, reagents.total_volume)
break break
if(T == get_turf(target)) if(T == get_turf(target))
break break
sleep(delay) sleep(delay)
sleep(10) sleep(10)
qdel(src) qdel(src)
//Wets everything in the tile
//A return value of 1 means that the wetting should stop. Either the water ran out or some error ocurred
/obj/effect/effect/water/proc/wet_things(var/turf/T)
if (!reagents || reagents.total_volume <= 0)
return 1
reagents.touch_turf(T)
var/list/mobshere = list()
for (var/mob/living/L in T)
mobshere.Add(L)
for (var/atom/B in T)
if (!ismob(B))
reagents.touch(B)
if (mobshere.len)
var/portion = 1 / mobshere.len
var/total = reagents.total_volume
for (var/mob/living/L in mobshere)
reagents.splash(L, total * portion)
return 1
return 0
/obj/effect/effect/water/Move(turf/newloc) /obj/effect/effect/water/Move(turf/newloc)
if(newloc.density) if(newloc.density)
return 0 return 0
. = ..() . = ..()
/obj/effect/effect/water/Bump(atom/A) /obj/effect/effect/water/Bump(atom/A)
if(reagents) var/turf/T = get_turf(A)
reagents.touch(A) wet_things(T)
return ..() return ..()
//Used by spraybottles. //Used by spraybottles.

View File

@@ -404,8 +404,9 @@
if(job && IsJobAvailable(job.title)) if(job && IsJobAvailable(job.title))
var/active = 0 var/active = 0
// Only players with the job assigned and AFK for less than 10 minutes count as active // Only players with the job assigned and AFK for less than 10 minutes count as active
for(var/mob/M in player_list) if(M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 * 60 * 10) for(var/mob/M in player_list) //Added isliving check here, so it won't check ghosts and qualify them as active
active++ if(isliving(M) && M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 * 60 * 10)
active++
dat += "<a href='byond://?src=\ref[src];SelectedJob=[job.title]'>[job.title] ([job.current_positions]) (Active: [active])</a><br>" dat += "<a href='byond://?src=\ref[src];SelectedJob=[job.title]'>[job.title] ([job.current_positions]) (Active: [active])</a><br>"
dat += "</center>" dat += "</center>"

View File

@@ -313,8 +313,10 @@
//No animations will be performed by this proc. //No animations will be performed by this proc.
/proc/electrocute_mob(mob/living/carbon/M as mob, var/power_source, var/obj/source, var/siemens_coeff = 1.0) /proc/electrocute_mob(mob/living/carbon/M as mob, var/power_source, var/obj/source, var/siemens_coeff = 1.0)
if(istype(M.loc,/obj/mecha)) return 0 //feckin mechs are dumb if(istype(M.loc,/obj/mecha)) return 0 //feckin mechs are dumb
var/mob/living/carbon/human/H = M //20/1/16 Insulation (vaurca) var/mob/living/carbon/human/H = null
if(H.species.name == "Vaurca") return 0 if (ishuman(M))
H = M //20/1/16 Insulation (vaurca)
if(H.species.name == "Vaurca") return 0
var/area/source_area var/area/source_area
if(istype(power_source,/area)) if(istype(power_source,/area))
source_area = power_source source_area = power_source
@@ -344,8 +346,7 @@
//If following checks determine user is protected we won't alarm for long. //If following checks determine user is protected we won't alarm for long.
if(PN) if(PN)
PN.trigger_warning(5) PN.trigger_warning(5)
if(istype(M,/mob/living/carbon/human)) if(H)
//var/mob/living/carbon/human/H = M
if(H.species.siemens_coefficient == 0) if(H.species.siemens_coefficient == 0)
return return
if(H.gloves) if(H.gloves)

View File

@@ -0,0 +1,38 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Nanako
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- bugfix: "Spraying water will now wet all mobs in the tile, dividing reagents amongst them. This fixes some issues where slimes would be unsprayable."