Department and Round Goals (#7369)

* Baseline work for Department Goals. Implements round-end stats, based in 3 categories of roughly-more-interesting to less interesting.

* Active Goal Separation.

* Map.

* Actually does the second half of this in this PR instead of a different one.
This commit is contained in:
Mechoid
2020-12-11 16:16:47 -08:00
committed by GitHub
parent d200fd5d63
commit 2018d76cae
15 changed files with 186 additions and 3 deletions

View File

@@ -43,6 +43,7 @@
/obj/item/weapon/reagent_containers/food/drinks/proc/open(mob/user)
playsound(src,"canopen", rand(10,50), 1)
GLOB.cans_opened_roundstat++
to_chat(user, "<span class='notice'>You open [src] with an audible pop!</span>")
flags |= OPENCONTAINER

View File

@@ -16,10 +16,10 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/Initialize(var/mapload, var/planttype)
. = ..()
if(!dried_type)
dried_type = type
pixel_x = rand(-5.0, 5)
pixel_y = rand(-5.0, 5)
@@ -293,6 +293,7 @@
if(seed.get_trait(TRAIT_SPREAD) > 0)
to_chat(user, "<span class='notice'>You plant the [src.name].</span>")
new /obj/machinery/portable_atmospherics/hydroponics/soil/invisible(get_turf(user),src.seed)
GLOB.seed_planted_shift_roundstat++
qdel(src)
return

View File

@@ -196,6 +196,8 @@
qdel(S)
GLOB.seed_planted_shift_roundstat++
check_health()
update_icon()

View File

@@ -554,6 +554,8 @@ turf/simulated/mineral/floor/light_corner
for (var/i = 1 to mineral.result_amount - mined_ore)
DropMineral()
GLOB.rocks_drilled_roundstat++
//destroyed artifacts have weird, unpleasant effects
//make sure to destroy them before changing the turf though
if(artifact_find && artifact_fail)

View File

@@ -227,6 +227,7 @@
return
var/S = pick(footstep_sounds)
GLOB.step_taken_shift_roundstat++
if(!S) return
// Play every 20 steps while walking, for the sneak

View File

@@ -840,6 +840,8 @@ Note that amputating the affected organ does in fact remove the infection from t
if(disintegrate == DROPLIMB_EDGE && nonsolid)
disintegrate = DROPLIMB_BLUNT //splut
GLOB.lost_limbs_shift_roundstat++
switch(disintegrate)
if(DROPLIMB_EDGE)
if(!clean)

View File

@@ -31,7 +31,7 @@
// find the attached trunk (if present) and init gas resvr.
/obj/machinery/disposal/Initialize()
. = ..()
trunk = locate() in loc
if(!trunk)
mode = 0
@@ -481,6 +481,7 @@
playsound(src, 'sound/machines/disposalflush.ogg', 50, 0, 0)
last_sound = world.time
sleep(5) // wait for animation to finish
GLOB.disposals_flush_shift_roundstat++
H.init(src, air_contents) // copy the contents of disposer to holder

View File

@@ -103,6 +103,8 @@
doors_closing = 0 // The doors weren't open, so they are done closing
GLOB.turbo_lift_floors_moved_roundstat++
var/area/turbolift/origin = locate(current_floor.area_ref)
if(target_floor == current_floor)