Merge pull request #11979 from PsiOmegaDelta/160113-Changelog

Tweaks and changelog.
This commit is contained in:
GinjaNinja32
2016-01-14 08:19:19 +00:00
9 changed files with 84 additions and 35 deletions
+31 -7
View File
@@ -18,7 +18,9 @@
try
if(world.time > scheduled_task.trigger_time)
unschedule(scheduled_task)
scheduled_task.pre_process()
scheduled_task.process()
scheduled_task.post_process()
catch(var/exception/e)
catchException(e, last_object)
SCHECK
@@ -40,26 +42,30 @@
* Helpers *
**********/
/proc/schedule_task_in(var/in_time, var/procedure, var/list/arguments = list())
schedule_task(world.time + in_time, procedure, arguments)
return schedule_task(world.time + in_time, procedure, arguments)
/proc/schedule_task_with_source_in(var/in_time, var/source, var/procedure, var/list/arguments = list())
schedule_task_with_source(world.time + in_time, source, procedure, arguments)
return schedule_task_with_source(world.time + in_time, source, procedure, arguments)
/proc/schedule_task(var/trigger_time, var/procedure, var/list/arguments)
var/datum/scheduled_task/st = new/datum/scheduled_task(trigger_time, procedure, arguments, /proc/destroy_scheduled_task, list())
scheduler.schedule(st)
return st
/proc/schedule_task_with_source(var/trigger_time, var/source, var/procedure, var/list/arguments)
var/datum/scheduled_task/st = new/datum/scheduled_task/source(trigger_time, source, procedure, arguments, /proc/destroy_scheduled_task, list())
scheduler.schedule(st)
return st
/proc/schedule_repeating_task(var/trigger_time, var/repeat_interval, var/procedure, var/list/arguments)
var/datum/scheduled_task/st = new/datum/scheduled_task(trigger_time, procedure, arguments, /proc/repeat_scheduled_task, list(repeat_interval))
scheduler.schedule(st)
return st
/proc/schedule_repeating_task_with_source(var/trigger_time, var/repeat_interval, var/source, var/procedure, var/list/arguments)
var/datum/scheduled_task/st = new/datum/scheduled_task/source(trigger_time, source, procedure, arguments, /proc/repeat_scheduled_task, list(repeat_interval))
scheduler.schedule(st)
return st
/*************
* Task Datum *
@@ -70,6 +76,7 @@
var/list/arguments
var/task_after_process
var/list/task_after_process_args
var/datum/observ/triggered
/datum/scheduled_task/New(var/trigger_time, var/procedure, var/list/arguments, var/proc/task_after_process, var/list/task_after_process_args)
..()
@@ -87,13 +94,31 @@
task_after_process_args.Cut()
return ..()
/datum/scheduled_task/proc/process()
call(procedure)(arglist(arguments))
after_process()
/datum/scheduled_task/init_observers()
. = ..()
if(.)
triggered = new()
/datum/scheduled_task/proc/after_process()
/datum/scheduled_task/destroy_observers()
. = ..()
if(.)
qdel(triggered)
triggered = null
/datum/scheduled_task/proc/pre_process()
triggered.raise_event(list(src))
/datum/scheduled_task/proc/process()
if(procedure)
call(procedure)(arglist(arguments))
/datum/scheduled_task/proc/post_process()
call(task_after_process)(arglist(task_after_process_args))
// Resets the trigger time, has no effect if the task has already triggered
/datum/scheduled_task/proc/trigger_task_in(var/trigger_in)
src.trigger_time = world.time + trigger_in
/datum/scheduled_task/source
var/datum/source
@@ -108,7 +133,6 @@
/datum/scheduled_task/source/process()
call(source, procedure)(arglist(arguments))
after_process()
/datum/scheduled_task/source/proc/source_destroyed()
qdel(src)
+3 -2
View File
@@ -44,6 +44,7 @@
/datum/proc/init_observers()
destruction = new()
return TRUE
/datum/proc/destroy_observers()
if(!destruction)
@@ -56,8 +57,8 @@
// This ensures that observer handlers don't create their own observer handlers, which create their own handlers, which create...
/datum/observ/init_observers()
return
return FALSE
// And this ensures that observer handlers don't attempt to notify others about their own death while being unable to.
/datum/observ/destroy_observers()
return
return FALSE
+31 -13
View File
@@ -14,24 +14,37 @@
var/max_fire_temperature_sustained = 0 //The max temperature of the fire which it was subjected to
var/dirt = 0
var/datum/scheduled_task/unwet_task
// This is not great.
/turf/simulated/proc/wet_floor(var/wet_val = 1)
spawn(0)
if(wet_val <= wet)
return
if(wet_val < wet)
return
if(!wet)
wet = wet_val
if(wet_overlay)
overlays -= wet_overlay
wet_overlay = null
wet_overlay = image('icons/effects/water.dmi',src,"wet_floor")
overlays += wet_overlay
sleep(800)
if(wet >= 2)
return
wet = 0
if(wet_overlay)
overlays -= wet_overlay
wet_overlay = null
if(unwet_task)
unwet_task.trigger_task_in(8 SECONDS)
else
unwet_task = schedule_task_in(8 SECONDS)
unwet_task.triggered.register(src, /turf/simulated/proc/task_unwet_floor)
/turf/simulated/proc/task_unwet_floor(var/triggered_task)
if(triggered_task == unwet_task)
unwet_task = null
unwet_floor(TRUE)
/turf/simulated/proc/unwet_floor(var/check_very_wet)
if(check_very_wet && wet >= 2)
return
wet = 0
if(wet_overlay)
overlays -= wet_overlay
wet_overlay = null
/turf/simulated/clean_blood()
for(var/obj/effect/decal/cleanable/blood/B in contents)
@@ -44,6 +57,11 @@
holy = 1
levelupdate()
/turf/simulated/Destroy()
qdel(unwet_task)
unwet_task = null
return ..()
/turf/simulated/proc/initialize()
return
+1 -1
View File
@@ -69,7 +69,7 @@ obj/item/weapon/board/attackby(obj/item/I as obj, mob/user as mob)
/obj/item/weapon/board/interact(mob/user as mob)
if(user.incapacitated(INCAPACITATION_DISABLED) || (!isAI(user) && !user.Adjacent(src))) //can't see if you arent conscious. If you are not an AI you can't see it unless you are next to it, either.
if(user.is_physically_disabled() || (!isAI(user) && !user.Adjacent(src))) //can't see if you arent conscious. If you are not an AI you can't see it unless you are next to it, either.
user << browse(null, "window=boardgame")
user.unset_machine()
return
+2 -2
View File
@@ -25,10 +25,10 @@ var/global/datum/global_init/init = new ()
qdel(src) //we're done
/datum/global_init/init_observers()
return
return FALSE
/datum/global_init/destroy_observers()
return
return FALSE
/world
mob = /mob/new_player
+10
View File
@@ -56,6 +56,16 @@
-->
<div class="commit sansserif">
<h2 class="date">13 January 2016</h2>
<h3 class="author">Datraen updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Objects can now be yanked out of synthetics.</li>
</ul>
<h3 class="author">Techhead updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Added a new random event: Shipping Error - A random crate is mistakenly shipped to the station.</li>
</ul>
<h2 class="date">08 January 2016</h2>
<h3 class="author">Chinsky updated:</h3>
<ul class="changes bgimages16">
+6
View File
@@ -2478,3 +2478,9 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
RavingManiac:
- rscadd: Storage in backpacks, boxes and other containers is now capacity-based.
Some containers like belts remain slot-based.
2016-01-13:
Datraen:
- bugfix: Objects can now be yanked out of synthetics.
Techhead:
- rscadd: 'Added a new random event: Shipping Error - A random crate is mistakenly
shipped to the station.'
-4
View File
@@ -1,4 +0,0 @@
author: Datraen
delete-after: True
changes:
- bugfix: "Objects can now be yanked out of synthetics."
@@ -1,6 +0,0 @@
author: Techhead
delete-after: True
changes:
- rscadd: "Added a new random event: Shipping Error - A random crate is mistakenly shipped to the station."