mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-28 18:11:16 +00:00
* Automatic changelog compile [ci skip] * Automatic changelog compile [ci skip] * Revert "Automatic changelog compile [ci skip]" This reverts commit 48a63defa644ec9826ee5eb1736e5158d2a636d4. * Revert "Automatic changelog compile [ci skip]" This reverts commit cb68f4988edd9d841c4203eecee2067a49ce75c5. * Revert "Revert "Automatic changelog compile [ci skip]"" This reverts commit e6e1f1ef53ee6611c334efcae6ca7c102edaf351. * Revert "Revert "Automatic changelog compile [ci skip]"" This reverts commit 1782210527b9819772c0781122bec35b7979bf7d. * Update changelog.html * Automatic changelog compile [ci skip] * Automatic changelog compile [ci skip] * Move suit_initialization into better location * Clean up cost check * Clean up net using * Clean up Ninja Star * Clean Up Ninja Stealth * Clean Up Sword Recall * Move the event file * Re-Merge the Changes * Get your ninja code out of my human.dm * Move the event into events folder and clean it up * Can the old space ninja antagonist file * Roll in the shiny new bad boy * Get rid of actions/ninja.dm and move its info into respective ability files * Update one_click_antag with new ninja * Move proc out of ninja code into proper location * Update the dme properly this time * Update code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm Co-authored-by: Fikou <piotrbryla@onet.pl> * Update code/modules/ninja/suit/gloves.dm Co-authored-by: Fikou <piotrbryla@onet.pl> * Update the antagonist file * Update ninjaDrainAct * Re-Add MGS Voice Lines * Up the Katana Damage Back Up to 30 * Attempting a Risky Manuever * Adjusting some numbers to fit the delta time PR * Fix Var Names and do a return ..() * Remove Unused Defines, Update qdels to QDEL_NULLs * Update code/modules/antagonists/space_ninja/space_ninja.dm Co-authored-by: Rohesie <rohesie@gmail.com> * Update code/modules/antagonists/space_ninja/space_ninja.dm Co-authored-by: Rohesie <rohesie@gmail.com> * Update code/modules/events/space_ninja.dm Co-authored-by: Rohesie <rohesie@gmail.com> * Update code/modules/ninja/energy_katana.dm Co-authored-by: Rohesie <rohesie@gmail.com> * Update code/modules/ninja/ninja_explosive.dm Co-authored-by: Rohesie <rohesie@gmail.com> * Update code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm Co-authored-by: Rohesie <rohesie@gmail.com> * Remove Unnecessary Condition Checks * I'll show you what A stands for! * Turn some things into defines * Remove is_ninja() * Gives the SN roles on Antag Gain, not on event spawn * Clean up mind/key code to be efficient and modern * Have Deactivated Suit Gloves use default black sprite * Add the new clothing sprites * Add new inventory sprites for alternate sprites * Get Rid of These Again * Re-add suit changes * Implement all the suggestions for the antag file * And then everything else * Updating the Weight for purpose of testmerge * Balance Updates * Update the Objective Definitions * Remove Now Unreachable Cyborg Interaction Code * Get That Shit Out of My Forest * Re-Add Cowl Wearing Sprite * Re-Add Cowl Inventory Sprite * Adapt to the new thing?.thing changes * Re-add New Katana Inhand Sprites * Re-Add glove's shock but have it do knockdown instead * Get rid of the these stupid changelog changes * Update sounds * Re-add New Mask Sprite * Re-update katana inventory sprite * Revert Event Weight * Update code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com> * Re-Add Dynamic Ninja * Revert Changelog thing * Update Mob Sprites * Add files via upload Co-authored-by: Changelogs <action@github.com> Co-authored-by: Fikou <piotrbryla@onet.pl> Co-authored-by: Rohesie <rohesie@gmail.com> Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
52 lines
1.8 KiB
Plaintext
52 lines
1.8 KiB
Plaintext
/datum/round_event_control/space_ninja
|
|
name = "Spawn Space Ninja"
|
|
typepath = /datum/round_event/ghost_role/space_ninja
|
|
max_occurrences = 1
|
|
weight = 10
|
|
earliest_start = 20 MINUTES
|
|
min_players = 20
|
|
|
|
/datum/round_event/ghost_role/space_ninja
|
|
minimum_required = 1
|
|
role_name = "Space Ninja"
|
|
|
|
/datum/round_event/ghost_role/space_ninja/spawn_role()
|
|
var/list/spawn_locs = list()
|
|
for(var/obj/effect/landmark/carpspawn/carp_spawn in GLOB.landmarks_list)
|
|
if(!isturf(carp_spawn.loc))
|
|
stack_trace("Carp spawn found not on a turf: [carp_spawn.type] on [isnull(carp_spawn.loc) ? "null" : carp_spawn.loc.type]")
|
|
continue
|
|
spawn_locs += carp_spawn.loc
|
|
if(!spawn_locs.len)
|
|
message_admins("No valid spawn locations found, aborting...")
|
|
return MAP_ERROR
|
|
|
|
//selecting a candidate player
|
|
var/list/candidates = get_candidates(ROLE_NINJA, null, ROLE_NINJA)
|
|
if(!candidates.len)
|
|
return NOT_ENOUGH_PLAYERS
|
|
|
|
var/mob/dead/selected_candidate = pick(candidates)
|
|
var/key = selected_candidate.key
|
|
|
|
//spawn the ninja and assign the candidate
|
|
var/mob/living/carbon/human/ninja = create_space_ninja(pick(spawn_locs))
|
|
ninja.key = key
|
|
ninja.mind.add_antag_datum(/datum/antagonist/ninja)
|
|
spawned_mobs += ninja
|
|
message_admins("[ADMIN_LOOKUPFLW(ninja)] has been made into a space ninja by an event.")
|
|
log_game("[key_name(ninja)] was spawned as a ninja by an event.")
|
|
|
|
return SUCCESSFUL_SPAWN
|
|
|
|
|
|
//=======//NINJA CREATION PROCS//=======//
|
|
|
|
/proc/create_space_ninja(spawn_loc)
|
|
var/mob/living/carbon/human/new_ninja = new(spawn_loc)
|
|
var/datum/preferences/random_human_options = new()//Randomize appearance for the ninja.
|
|
random_human_options.real_name = "[pick(GLOB.ninja_titles)] [pick(GLOB.ninja_names)]"
|
|
random_human_options.copy_to(new_ninja)
|
|
new_ninja.dna.update_dna_identity()
|
|
return new_ninja
|