Wilderness Optimization

-Re enables the wilderness, with the temple and a rather poor crash
site.
-Updates the Lazy Mob spawner with some more optimizations, and a few
uses.
-Leaves a version of the crashsite with the original items and the new
system, I wasnt able to make it work without butchering it, and since I
am not that good of a mapper, I opted to leave it on the hands of people
that know what they are doing to improve the original, and making it
work, while leaving one that works.
-Changed the path of the teleports just to fuck up with Ketrai :)

Note to admins: Since this introduces 8 new z levels, all of which have
a check to generate or not a tree (think roughly a bit less than 100k
tiles checking for those), game init for objects went from 32 seconds to
71 seconds, so expect a rougher start on update.
Note to Ace: Does this counts as my Gateway Contest map? :P

additional notes: If performance takes a severe hit, init could be
severely reduced by reducing the trees chance to 2, or even placing
trees by hand on the maps.
This commit is contained in:
OrbisAnima
2017-12-17 23:35:00 -03:00
parent 860e833fd9
commit 0f8793a910
10 changed files with 1365 additions and 1154 deletions
+65 -11
View File
@@ -113,34 +113,88 @@ It also makes it so a ghost wont know where all the goodies/mobs are.
/obj/structure/mob_spawner/scanner
name ="Lazy Mob Spawner"
var/range = 3
/obj/structure/mob_spawner/New()
..()
processing_objects.Add(src)
last_spawn = world.time
var/range = 10 //range in tiles from the spawner to detect moving stuff
/obj/structure/mob_spawner/scanner/process()
if(!can_spawn())
return
if(world.time > last_spawn + spawn_delay)
var/turf/mainloc = get_turf(src)
for(var/mob/living/A in range(range,mainloc))
if (A.move_speed < 12)
if ((A.faction != mob_faction) && (A.move_speed < 12))
var/chosen_mob = choose_spawn()
if(chosen_mob)
do_spawn(chosen_mob)
return
//////////////
// Spawners //
/////////////
/obj/structure/mob_spawner/scanner/corgi
name = "Corgi Lazy Spawner"
desc = "This is a proof of concept, not sure why you would use this one"
spawn_delay = 1 MINUTE
spawn_delay = 3 MINUTES
mob_faction = "Corgi"
spawn_types = list(
/mob/living/simple_animal/corgi = 75,
/mob/living/simple_animal/corgi/puppy = 50
)
simultaneous_spawns = 5
range = 3
range = 7
destructible = 1
health = 200
total_spawns = 10
total_spawns = 100
/obj/structure/mob_spawner/scanner/wild_animals
name = "Wilderness Lazy Spawner"
spawn_delay = 10 MINUTES
range = 10
simultaneous_spawns = 1
mob_faction = "wild animal"
total_spawns = -1
destructible = 0
anchored = 1
invisibility = 101
spawn_types = list(
/mob/living/simple_animal/retaliate/gaslamp = 20,
/mob/living/simple_animal/otie/feral = 10,
/mob/living/simple_animal/hostile/dino/virgo3b = 5,
/mob/living/simple_animal/hostile/dragon/virgo3b = 1
)
/obj/structure/mob_spawner/scanner/xenos
name = "Xenomorph Egg"
spawn_delay = 10 MINUTES
range = 10
simultaneous_spawns = 1
mob_faction = "xeno"
total_spawns = -1
destructible = 1
health = 50
anchored = 1
icon = 'icons/mob/actions.dmi'
icon_state = "alien_egg"
spawn_types = list(
/mob/living/simple_animal/hostile/alien/drone = 20,
/mob/living/simple_animal/hostile/alien = 10,
/mob/living/simple_animal/hostile/alien/sentinel = 5,
/mob/living/simple_animal/hostile/alien/queen = 1
)
/obj/structure/mob_spawner/scanner/xenos/royal
name = "Royal Xenomorph Egg"
spawn_delay = 10 MINUTES
range = 10
simultaneous_spawns = 1
mob_faction = "xeno"
total_spawns = 1
destructible = 1
health = 50
anchored = 1
icon = 'icons/mob/actions.dmi'
icon_state = "alien_egg"
spawn_types = list(
/mob/living/simple_animal/hostile/alien/queen = 5,
/mob/living/simple_animal/hostile/alien/queen/large = 1
)