mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Space Ninja Gamemode Implementation
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
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
|
||||
@@ -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 )
|
||||
|
||||
Reference in New Issue
Block a user