mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-09 00:01:52 +01:00
0937264f1e
* Add files via upload * Rename space_dragon.dm to code/modules/events/space_dragon.dm * Adds Space Dragon * Adds Space Dragon Event * Remove Copied File * Put antagonist definition in proper location for space dragon * Update space_dragon.dm * Removed passive health regen from space dragon * Updated Weight and Earliness for Space Dragon * Added Objective to Space Dragon, Updated Starting Blurb * Cleaned Up the Objective Determiner * Actually fix the space dragon objectives * Fix the objective display for the space dragon's target * Updated Space Dragon Intro Blurb * Updated Centcom Message When Space Dragon Spawns * Updated Space Dragon's description with new lore * Clean Up Space Dragon's OnFire() * Add Space Dragon Sprites * Sprite in wrong location * Properly adds Space Dragon Sprites * Adds Space Dragon Tiny Sprite to be Carp * Space Dragon Uses New Sprites, Tiny Form Updated * Increased Time Til' Dragon Spawn * Drake's Tail Sweep Now Uses Prebuilt Spell Thanks to Cobblestone for the head's up on this.
46 lines
1.5 KiB
Plaintext
46 lines
1.5 KiB
Plaintext
/datum/round_event_control/space_dragon
|
|
name = "Spawn Space Dragon"
|
|
typepath = /datum/round_event/ghost_role/space_dragon
|
|
max_occurrences = 1
|
|
weight = 8
|
|
earliest_start = 70 MINUTES
|
|
min_players = 20
|
|
|
|
/datum/round_event/ghost_role/space_dragon
|
|
minimum_required = 1
|
|
role_name = "Space Dragon"
|
|
fakeable = FALSE
|
|
|
|
/datum/round_event/ghost_role/space_dragon/announce(fake)
|
|
priority_announce("It appears a lifeform with magical traces is approaching [station_name()], please stand-by.", "Lifesign Alert")
|
|
|
|
|
|
/datum/round_event/ghost_role/space_dragon/spawn_role()
|
|
var/list/candidates = get_candidates(ROLE_ALIEN, null, ROLE_ALIEN)
|
|
if(!candidates.len)
|
|
return NOT_ENOUGH_PLAYERS
|
|
|
|
var/mob/dead/selected = pick(candidates)
|
|
|
|
var/datum/mind/player_mind = new /datum/mind(selected.key)
|
|
player_mind.active = TRUE
|
|
|
|
var/list/spawn_locs = list()
|
|
for(var/obj/effect/landmark/carpspawn/C in GLOB.landmarks_list)
|
|
spawn_locs += (C.loc)
|
|
if(!spawn_locs.len)
|
|
message_admins("No valid spawn locations found, aborting...")
|
|
return MAP_ERROR
|
|
|
|
var/mob/living/simple_animal/hostile/megafauna/dragon/space_dragon/S = new ((pick(spawn_locs)))
|
|
player_mind.transfer_to(S)
|
|
player_mind.assigned_role = "Space Dragon"
|
|
player_mind.special_role = "Space Dragon"
|
|
player_mind.add_antag_datum(/datum/antagonist/space_dragon)
|
|
playsound(S, 'sound/magic/ethereal_exit.ogg', 50, 1, -1)
|
|
message_admins("[ADMIN_LOOKUPFLW(S)] has been made into a Space Dragon by an event.")
|
|
log_game("[key_name(S)] was spawned as a Space Dragon by an event.")
|
|
spawned_mobs += S
|
|
return SUCCESSFUL_SPAWN
|
|
|