diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm
index 55012d30e2..da85edd412 100644
--- a/code/game/gamemodes/events/space_ninja.dm
+++ b/code/game/gamemodes/events/space_ninja.dm
@@ -140,15 +140,10 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
*/
//Here we pick a location and spawn the ninja.
- var/list/spawn_list = list()
- for(var/obj/effect/landmark/L in landmarks_list)
- if(L.name == "ninjaspawn")
- spawn_list.Add(L)
-
- if(!spawn_list.len)
+ if(ninjastart.len == 0)
for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "carpspawn")
- spawn_list.Add(L)
+ ninjastart.Add(L)
var/ninja_key = null
var/mob/candidate_mob
@@ -211,7 +206,7 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
ninja_selection_active = 0
//The ninja will be created on the right spawn point or at late join.
- var/mob/living/carbon/human/new_ninja = create_space_ninja(pick(ninjastart))
+ var/mob/living/carbon/human/new_ninja = create_space_ninja(pick(ninjastart.len ? ninjastart : latejoin))
new_ninja.key = ninja_key
new_ninja.wear_suit:randomize_param()//Give them a random set of suit parameters.
new_ninja.internal = new_ninja.s_store //So the poor ninja has something to breath when they spawn in spess.
@@ -491,8 +486,8 @@ As such, it's hard-coded for now. No reason for it not to be, really.
//=======//NINJA CREATION PROCS//=======//
-/proc/create_space_ninja(var/loc/spawnpoint)
- var/mob/living/carbon/human/new_ninja = new(spawnpoint)
+/proc/create_space_ninja(obj/spawn_point)
+ var/mob/living/carbon/human/new_ninja = new(spawn_point.loc)
var/ninja_title = pick(ninja_titles)
var/ninja_name = pick(ninja_names)
new_ninja.gender = pick(MALE, FEMALE)
diff --git a/code/game/gamemodes/ninja/ninja.dm b/code/game/gamemodes/ninja/ninja.dm
index 1f5e7e5c9f..6f9994a8e0 100644
--- a/code/game/gamemodes/ninja/ninja.dm
+++ b/code/game/gamemodes/ninja/ninja.dm
@@ -4,8 +4,8 @@
/datum/game_mode/ninja
name = "ninja"
config_tag = "ninja"
- required_players = 2
- required_players_secret = 10
+ required_players = 1 //CHANGE DEBUG
+ required_players_secret = 1 //CHANGE DEBUG
required_enemies = 1
recommended_enemies = 1
@@ -30,12 +30,23 @@
for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "carpspawn")
ninjastart.Add(L)
- if(ninjastart.len == 0)
- ninja.current << "\red Still no spawneable locations could be found. Aborting."
- return 0
+ if(ninjastart.len == 0 && latejoin.len > 0)
+ ninja.current << "\red Still no spawneable locations could be found. Defaulting to latejoin."
+ return 1
+ else if (ninjastart.len == 0)
+ ninja.current << "\red Still no spawneable locations could be found. Aborting."
+ return 0
return 1
/datum/game_mode/ninja/pre_setup()
- ninja.current.loc = pick(ninjastart)
- ninja.current = create_space_ninja(pick(ninjastart))
+ for(var/datum/mind/ninja in ninjas)
+ ninja.current = create_space_ninja(pick(ninjastart.len ? ninjastart : latejoin))
+ ninja.current.ckey = ninja.key
+ return 1
+
+/datum/game_mode/ninja/post_setup()
+ for(var/datum/mind/ninja in ninjas)
+ ninja.current.internal = ninja.current.s_store
+ ninja.current.internals.icon_state = "internal1"
+ ninja.current.wear_suit:randomize_param()
return 1
\ No newline at end of file
diff --git a/code/global.dm b/code/global.dm
index d656197df8..348cc8702f 100644
--- a/code/global.dm
+++ b/code/global.dm
@@ -133,7 +133,6 @@ var/list/tdomeadmin = list()
var/list/prisonsecuritywarp = list() //prison security goes to these
var/list/prisonwarped = list() //list of players already warped
var/list/blobstart = list()
-var/list/carpspawn = list()
var/list/ninjastart = list()
// list/traitors = list() //traitor list
var/list/cardinal = list( NORTH, SOUTH, EAST, WEST )