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.
|
//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)
|
||||||
|
|||||||
@@ -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. Defaulting to latejoin.</B>"
|
||||||
|
return 1
|
||||||
|
else if (ninjastart.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. Aborting.</B>"
|
||||||
return 0
|
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
|
||||||
@@ -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 )
|
||||||
|
|||||||
Reference in New Issue
Block a user