diff --git a/code/modules/mob/living/simple_animal/hostile/goose_vr.dm b/code/modules/mob/living/simple_animal/hostile/goose_vr.dm new file mode 100644 index 00000000000..080c6fac924 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/goose_vr.dm @@ -0,0 +1,11 @@ +/mob/living/simple_animal/hostile/goose + //Space geese aren't affected by atmos. + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 \ No newline at end of file diff --git a/code/modules/rogueminer_vr/controller.dm b/code/modules/rogueminer_vr/controller.dm index ff1b4810d90..3a4e7305c6b 100644 --- a/code/modules/rogueminer_vr/controller.dm +++ b/code/modules/rogueminer_vr/controller.dm @@ -147,7 +147,7 @@ var/datum/controller/rogue/rm_controller = new() ZM_target = pick(clean_zones) if(ZM_target) - world.log << "RM(stats): SCORING [ready_zones.len] zones." //DEBUG code for playtest stats gathering. + world.log << "RM(stats): SCORING [ready_zones.len] zones (if unscored)." //DEBUG code for playtest stats gathering. for(var/datum/rogue/zonemaster/ZM_toscore in ready_zones) //Score all the zones first. if(ZM_toscore.scored) continue ZM_toscore.score_zone() @@ -155,7 +155,7 @@ var/datum/controller/rogue/rm_controller = new() else rm_controller.dbg("RMC(pnz): I was asked for a new zone but there's no space.") - if(clean_zones.len <= 0) //Need to clean the oldest one, too. + if(clean_zones.len <= 1) //Need to clean the oldest one, too. rm_controller.dbg("RMC(pnz): Cleaning up oldest zone.") spawn(0) //Detatch it so we can return the new zone for now. var/datum/rogue/zonemaster/ZM_oldest = get_oldest_zone() diff --git a/code/modules/rogueminer_vr/zonemaster.dm b/code/modules/rogueminer_vr/zonemaster.dm index e7a12681eae..0f3b39b37a4 100644 --- a/code/modules/rogueminer_vr/zonemaster.dm +++ b/code/modules/rogueminer_vr/zonemaster.dm @@ -329,11 +329,9 @@ /////////////////////////////// ///// Zone Cleaning /////////// /////////////////////////////// -/datum/rogue/zonemaster/proc/score_zone(var/bonus = 0) - if(clean || !ready) - return - +/datum/rogue/zonemaster/proc/score_zone(var/bonus = 10) rm_controller.dbg("ZM(sz): Scoring zone with area [myarea].") + scored = 1 var/tally = bonus //Ore-bearing rocks that were mined @@ -369,8 +367,14 @@ //Overall 'destroy' proc (marks as unready) /datum/rogue/zonemaster/proc/clean_zone(var/delay = 1) rm_controller.dbg("ZM(cz): Cleaning zone with area [myarea].") + world.log << "RM(stats): CLEAN start [myarea] at [world.time] prepared at [prepared_at]." //DEBUG code for playtest stats gathering. rm_controller.unmark_ready(src) + //Cut these lists so qdel can dereference the things properly + mineral_rocks.Cut() + spawned_mobs.Cut() + rockspawns.Cut() + mobspawns.Cut() var/ignored = list( /obj/asteroid_spawner, @@ -380,8 +384,6 @@ /obj/effect/step_trigger/teleporter/random/rogue/fourbyfour/ontop, /obj/effect/step_trigger/teleporter/random/rogue/fourbyfour/onbottom) - var/deleted = 0 - for(var/atom/I in myarea.contents) if(I.type == /turf/space) I.overlays.Cut() @@ -389,33 +391,23 @@ else if(I.type in ignored) continue qdel(I) - deleted++ - if(delay) - sleep(delay) + sleep(delay) //A deletion so nice that I give it twice for(var/atom/I in myarea.contents) if(I.type in ignored) continue qdel(I) - deleted++ - if(delay) - sleep(delay) - - rm_controller.dbg("ZM(cz): Deleted [deleted] atoms in [myarea].") - - mineral_rocks.Cut() - spawned_mobs.Cut() - rockspawns.Cut() - mobspawns.Cut() - rm_controller.dbg("ZM(cz): Cleaned up lists.") - - world.log << "RM(stats): CLEAN [myarea] at [world.time] prepared at [prepared_at]." //DEBUG code for playtest stats gathering. + sleep(delay) + //Clean up vars scored = 0 original_mobs = 0 prepared_at = 0 - rm_controller.dbg("ZM(cz): Finished cleaning up zone.") + + world.log << "RM(stats): CLEAN done [myarea] at [world.time]." //DEBUG code for playtest stats gathering. + + rm_controller.dbg("ZM(cz): Finished cleaning up zone area [myarea].") rm_controller.mark_clean(src) return myarea diff --git a/vorestation.dme b/vorestation.dme index 48e69f5f858..3abdb2418d2 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1791,6 +1791,7 @@ #include "code\modules\mob\living\simple_animal\hostile\faithless.dm" #include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" #include "code\modules\mob\living\simple_animal\hostile\goose.dm" +#include "code\modules\mob\living\simple_animal\hostile\goose_vr.dm" #include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" #include "code\modules\mob\living\simple_animal\hostile\hostile.dm" #include "code\modules\mob\living\simple_animal\hostile\pirate.dm"