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. //Here we pick a location and spawn the ninja.
var/list/spawn_list = list() if(ninjastart.len == 0)
for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "ninjaspawn")
spawn_list.Add(L)
if(!spawn_list.len)
for(var/obj/effect/landmark/L in landmarks_list) for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "carpspawn") if(L.name == "carpspawn")
spawn_list.Add(L) ninjastart.Add(L)
var/ninja_key = null var/ninja_key = null
var/mob/candidate_mob 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 ninja_selection_active = 0
//The ninja will be created on the right spawn point or at late join. //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.key = ninja_key
new_ninja.wear_suit:randomize_param()//Give them a random set of suit parameters. 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. 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//=======// //=======//NINJA CREATION PROCS//=======//
/proc/create_space_ninja(var/loc/spawnpoint) /proc/create_space_ninja(obj/spawn_point)
var/mob/living/carbon/human/new_ninja = new(spawnpoint) var/mob/living/carbon/human/new_ninja = new(spawn_point.loc)
var/ninja_title = pick(ninja_titles) var/ninja_title = pick(ninja_titles)
var/ninja_name = pick(ninja_names) var/ninja_name = pick(ninja_names)
new_ninja.gender = pick(MALE, FEMALE) new_ninja.gender = pick(MALE, FEMALE)

View File

@@ -4,8 +4,8 @@
/datum/game_mode/ninja /datum/game_mode/ninja
name = "ninja" name = "ninja"
config_tag = "ninja" config_tag = "ninja"
required_players = 2 required_players = 1 //CHANGE DEBUG
required_players_secret = 10 required_players_secret = 1 //CHANGE DEBUG
required_enemies = 1 required_enemies = 1
recommended_enemies = 1 recommended_enemies = 1
@@ -30,12 +30,23 @@
for(var/obj/effect/landmark/L in landmarks_list) for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "carpspawn") if(L.name == "carpspawn")
ninjastart.Add(L) ninjastart.Add(L)
if(ninjastart.len == 0) if(ninjastart.len == 0 && latejoin.len > 0)
ninja.current << "<B>\red Still no spawneable locations could be found. Aborting.</B>" ninja.current << "<B>\red Still no spawneable locations could be found. Defaulting to latejoin.</B>"
return 0 return 1
else if (ninjastart.len == 0)
ninja.current << "<B>\red Still no spawneable locations could be found. Aborting.</B>"
return 0
return 1 return 1
/datum/game_mode/ninja/pre_setup() /datum/game_mode/ninja/pre_setup()
ninja.current.loc = pick(ninjastart) for(var/datum/mind/ninja in ninjas)
ninja.current = create_space_ninja(pick(ninjastart)) 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 return 1

View File

@@ -133,7 +133,6 @@ var/list/tdomeadmin = list()
var/list/prisonsecuritywarp = list() //prison security goes to these var/list/prisonsecuritywarp = list() //prison security goes to these
var/list/prisonwarped = list() //list of players already warped var/list/prisonwarped = list() //list of players already warped
var/list/blobstart = list() var/list/blobstart = list()
var/list/carpspawn = list()
var/list/ninjastart = list() var/list/ninjastart = list()
// list/traitors = list() //traitor list // list/traitors = list() //traitor list
var/list/cardinal = list( NORTH, SOUTH, EAST, WEST ) var/list/cardinal = list( NORTH, SOUTH, EAST, WEST )