diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 0983a19881..d47740f370 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -71,8 +71,8 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_SENTIENCE, ROLE_GANG = /datum/game_mode/gang, ROLE_HERETIC = /datum/game_mode/heretics, - ROLE_SPACE_DRAGON, - ROLE_BLOODSUCKER = /datum/game_mode/bloodsucker + ROLE_BLOODSUCKER = /datum/game_mode/bloodsucker, + ROLE_SPACE_DRAGON //ROLE_MONSTERHUNTER Disabled for now )) diff --git a/code/modules/antagonists/space_dragon/space_dragon.dm b/code/modules/antagonists/space_dragon/space_dragon.dm index 330cb2a62a..d77e86e1ec 100644 --- a/code/modules/antagonists/space_dragon/space_dragon.dm +++ b/code/modules/antagonists/space_dragon/space_dragon.dm @@ -14,7 +14,6 @@ Today, we will snuff out one of those lights.") to_chat(owner, "You have five minutes to find a safe location to place down the first rift. If you take longer than five minutes to place a rift, you will be returned from whence you came.") owner.announce_objectives() - owner.announce_objectives() SEND_SOUND(owner.current, sound('sound/magic/demon_attack1.ogg')) /datum/antagonist/space_dragon/proc/forge_objectives() diff --git a/code/modules/events/space_dragon.dm b/code/modules/events/space_dragon.dm index 58e0dbdc58..7b242f1dfe 100644 --- a/code/modules/events/space_dragon.dm +++ b/code/modules/events/space_dragon.dm @@ -12,7 +12,6 @@ /datum/round_event/ghost_role/space_dragon/announce(fake) priority_announce("A large organic energy flux has been recorded near of [station_name()], please stand-by.", "Lifesign Alert") - /datum/round_event/ghost_role/space_dragon/spawn_role() var/list/spawn_locs = list() @@ -25,11 +24,11 @@ message_admins("No valid spawn locations found, aborting...") return MAP_ERROR - var/list/candidates = get_candidates(ROLE_SPACE_DRAGON, ROLE_SPACE_DRAGON) + var/list/candidates = get_candidates(ROLE_SPACE_DRAGON, null, ROLE_SPACE_DRAGON) if(!candidates.len) return NOT_ENOUGH_PLAYERS - var/mob/dead/selected = pick(candidates) + var/mob/dead/selected = pick_n_take(candidates) var/datum/mind/player_mind = new /datum/mind(selected.key) player_mind.active = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index b25c2db052..15e04e0953 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -495,7 +495,7 @@ to_chat(S, "Your death has left you unable to summon rifts!") return var/area/A = get_area(S) - if(!(A.area_flags & VALID_TERRITORY)) + if(!(A.area_flags & (VALID_TERRITORY | BLOBS_ALLOWED))) to_chat(S, "You can't summon a rift here! Try summoning somewhere secure within the station!") return for(var/obj/structure/carp_rift/rift in S.rift_list) diff --git a/sound/creatures/space_dragon_roar.ogg b/sound/creatures/space_dragon_roar.ogg index 67ea7a6759..f7f4503b89 100644 Binary files a/sound/creatures/space_dragon_roar.ogg and b/sound/creatures/space_dragon_roar.ogg differ