Space Ninja Gamemode Implementation

This commit is contained in:
Whitellama
2013-06-22 00:19:32 -07:00
parent d23b758006
commit 424c9a0161
3 changed files with 23 additions and 18 deletions

View File

@@ -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)

View File

@@ -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 << "<B>\red Still no spawneable locations could be found. Aborting.</B>"
return 0
if(ninjastart.len == 0 && latejoin.len > 0)
ninja.current << "<B>\red Still no spawneable locations could be found. Defaulting to latejoin.</B>"
return 1
else if (ninjastart.len == 0)
ninja.current << "<B>\red Still no spawneable locations could be found. Aborting.</B>"
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

View File

@@ -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 )