From 424c9a016140167b557ba94e99bbf21368f7765c Mon Sep 17 00:00:00 2001 From: Whitellama Date: Sat, 22 Jun 2013 00:19:32 -0700 Subject: [PATCH] Space Ninja Gamemode Implementation --- code/game/gamemodes/events/space_ninja.dm | 15 +++++--------- code/game/gamemodes/ninja/ninja.dm | 25 ++++++++++++++++------- code/global.dm | 1 - 3 files changed, 23 insertions(+), 18 deletions(-) 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 )