mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-03 14:03:25 +00:00
Merge branch 'master' of https://github.com/Zuhayr/Baystation12
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#define ARTIFACT_SPAWN_CHANCE 20
|
||||
|
||||
/datum/controller/game_controller/var/list/artifact_spawning_turfs = list()
|
||||
/var/global/list/artifact_spawn = list() // Runtime fix for geometry loading before controller is instantiated.
|
||||
|
||||
/turf/simulated/mineral //wall piece
|
||||
name = "Rock"
|
||||
@@ -129,7 +130,7 @@
|
||||
//dont create artifact machinery in animal or plant digsites, or if we already have one
|
||||
if(!artifact_find && digsite != 1 && digsite != 2 && prob(ARTIFACT_SPAWN_CHANCE))
|
||||
artifact_find = new()
|
||||
master_controller.artifact_spawning_turfs.Add(src)
|
||||
artifact_spawn.Add(src)
|
||||
|
||||
if(!src.geological_data)
|
||||
src.geological_data = new/datum/geosample(src)
|
||||
|
||||
@@ -126,14 +126,15 @@
|
||||
artifact_distance = rand()
|
||||
artifact_id = container.artifact_find.artifact_id
|
||||
else
|
||||
for(var/turf/simulated/mineral/T in master_controller.artifact_spawning_turfs)
|
||||
if(T.artifact_find)
|
||||
var/cur_dist = get_dist(container, T) * 2
|
||||
if( (artifact_distance < 0 || cur_dist < artifact_distance) && cur_dist <= T.artifact_find.artifact_detect_range )
|
||||
artifact_distance = cur_dist + rand() * 2 - 1
|
||||
artifact_id = T.artifact_find.artifact_id
|
||||
else
|
||||
master_controller.artifact_spawning_turfs.Remove(T)
|
||||
if(master_controller) //Sanity check due to runtimes ~Z
|
||||
for(var/turf/simulated/mineral/T in master_controller.artifact_spawning_turfs)
|
||||
if(T.artifact_find)
|
||||
var/cur_dist = get_dist(container, T) * 2
|
||||
if( (artifact_distance < 0 || cur_dist < artifact_distance) && cur_dist <= T.artifact_find.artifact_detect_range )
|
||||
artifact_distance = cur_dist + rand() * 2 - 1
|
||||
artifact_id = T.artifact_find.artifact_id
|
||||
else
|
||||
master_controller.artifact_spawning_turfs.Remove(T)
|
||||
|
||||
/*
|
||||
#undef FIND_PLANT
|
||||
|
||||
@@ -36,13 +36,14 @@
|
||||
last_scan_time = world.time
|
||||
nearest_artifact_distance = -1
|
||||
var/turf/cur_turf = get_turf(src)
|
||||
for(var/turf/simulated/mineral/T in master_controller.artifact_spawning_turfs)
|
||||
if(T.artifact_find)
|
||||
if(T.z == cur_turf.z)
|
||||
var/cur_dist = get_dist(cur_turf, T) * 2
|
||||
if( (nearest_artifact_distance < 0 || cur_dist < nearest_artifact_distance) && cur_dist <= T.artifact_find.artifact_detect_range )
|
||||
nearest_artifact_distance = cur_dist + rand() * 2 - 1
|
||||
nearest_artifact_id = T.artifact_find.artifact_id
|
||||
else
|
||||
master_controller.artifact_spawning_turfs.Remove(T)
|
||||
if(master_controller) //Sanity check due to runtimes ~Z
|
||||
for(var/turf/simulated/mineral/T in master_controller.artifact_spawning_turfs)
|
||||
if(T.artifact_find)
|
||||
if(T.z == cur_turf.z)
|
||||
var/cur_dist = get_dist(cur_turf, T) * 2
|
||||
if( (nearest_artifact_distance < 0 || cur_dist < nearest_artifact_distance) && cur_dist <= T.artifact_find.artifact_detect_range )
|
||||
nearest_artifact_distance = cur_dist + rand() * 2 - 1
|
||||
nearest_artifact_id = T.artifact_find.artifact_id
|
||||
else
|
||||
master_controller.artifact_spawning_turfs.Remove(T)
|
||||
cur_turf.visible_message("<span class='info'>[src] clicks.</span>")
|
||||
|
||||
Reference in New Issue
Block a user