mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 00:21:11 +01:00
Revenant Fixes (#11001)
Fixed the revenant gamemode assigning roundstart humans as revenants.
Fixed all revenants spawning at the radiators.
This commit is contained in:
+14
-13
@@ -20,19 +20,20 @@
|
||||
#define BE_PAI "BE_PAI"
|
||||
|
||||
// Antagonist datum flags.
|
||||
#define ANTAG_OVERRIDE_JOB 0x1 // Assigned job is set to MODE when spawning.
|
||||
#define ANTAG_OVERRIDE_MOB 0x2 // Mob is recreated from datum mob_type var when spawning.
|
||||
#define ANTAG_CLEAR_EQUIPMENT 0x4 // All preexisting equipment is purged.
|
||||
#define ANTAG_CHOOSE_NAME 0x8 // Antagonists are prompted to enter a name.
|
||||
#define ANTAG_IMPLANT_IMMUNE 0x10 // Cannot be loyalty implanted.
|
||||
#define ANTAG_SUSPICIOUS 0x20 // Shows up on roundstart report.
|
||||
#define ANTAG_HAS_LEADER 0x40 // Generates a leader antagonist.
|
||||
#define ANTAG_HAS_NUKE 0x80 // Will spawn a nuke at supplied location.
|
||||
#define ANTAG_RANDSPAWN 0x100 // Potentially randomly spawns due to events.
|
||||
#define ANTAG_VOTABLE 0x200 // Can be voted as an additional antagonist before roundstart.
|
||||
#define ANTAG_SET_APPEARANCE 0x400 // Causes antagonists to use an appearance modifier on spawn.
|
||||
#define ANTAG_RANDOM_EXCEPTED 0x800 // If a game mode randomly selects antag types, antag types with this flag should be excluded.
|
||||
#define ANTAG_NO_FLAVORTEXT 0x1000 // To prevent flavor text from being scrubbed from crewmember intruders
|
||||
#define ANTAG_OVERRIDE_JOB 0x1 // Assigned job is set to MODE when spawning.
|
||||
#define ANTAG_OVERRIDE_MOB 0x2 // Mob is recreated from datum mob_type var when spawning.
|
||||
#define ANTAG_CLEAR_EQUIPMENT 0x4 // All preexisting equipment is purged.
|
||||
#define ANTAG_CHOOSE_NAME 0x8 // Antagonists are prompted to enter a name.
|
||||
#define ANTAG_IMPLANT_IMMUNE 0x10 // Cannot be loyalty implanted.
|
||||
#define ANTAG_SUSPICIOUS 0x20 // Shows up on roundstart report.
|
||||
#define ANTAG_HAS_LEADER 0x40 // Generates a leader antagonist.
|
||||
#define ANTAG_HAS_NUKE 0x80 // Will spawn a nuke at supplied location.
|
||||
#define ANTAG_RANDSPAWN 0x100 // Potentially randomly spawns due to events.
|
||||
#define ANTAG_VOTABLE 0x200 // Can be voted as an additional antagonist before roundstart.
|
||||
#define ANTAG_SET_APPEARANCE 0x400 // Causes antagonists to use an appearance modifier on spawn.
|
||||
#define ANTAG_RANDOM_EXCEPTED 0x800 // If a game mode randomly selects antag types, antag types with this flag should be excluded.
|
||||
#define ANTAG_NO_FLAVORTEXT 0x1000 // To prevent flavor text from being scrubbed from crewmember intruders
|
||||
#define ANTAG_NO_ROUNDSTART_SPAWN 0x2000 // Prevents the antag from spawning at roundstart
|
||||
|
||||
// Mode/antag template macros.
|
||||
#define MODE_BORER "borer"
|
||||
|
||||
@@ -6,6 +6,7 @@ var/datum/antagonist/revenant/revenants = null
|
||||
role_text_plural = "Revenants"
|
||||
welcome_text = "A creature borne of bluespace, you are here to wreak havoc and put an end to bluespace experimentation, one station at a time."
|
||||
antaghud_indicator = "hudrevenant"
|
||||
flags = ANTAG_NO_ROUNDSTART_SPAWN
|
||||
initial_spawn_req = 0
|
||||
initial_spawn_target = 0
|
||||
hard_cap = 12
|
||||
|
||||
@@ -284,7 +284,8 @@ var/global/list/additional_antag_types = list()
|
||||
for(var/datum/antagonist/antag in antag_templates)
|
||||
if(!(antag.flags & ANTAG_OVERRIDE_JOB))
|
||||
antag.attempt_spawn() //select antags to be spawned
|
||||
antag.finalize_spawn() //actually spawn antags
|
||||
if(!(antag.flags & ANTAG_NO_ROUNDSTART_SPAWN))
|
||||
antag.finalize_spawn() //actually spawn antags
|
||||
|
||||
if(emergency_shuttle && auto_recall_shuttle)
|
||||
emergency_shuttle.auto_recall = 1
|
||||
|
||||
@@ -44,6 +44,8 @@
|
||||
var/is_global_banned = jobban_isbanned(preference_mob(), "Antagonist")
|
||||
for(var/antag_type in all_antag_types)
|
||||
var/datum/antagonist/antag = all_antag_types[antag_type]
|
||||
if(antag.flags & ANTAG_NO_ROUNDSTART_SPAWN)
|
||||
continue
|
||||
dat += "<tr><td>[antag.role_text]: </td><td>"
|
||||
var/ban_reason = jobban_isbanned(preference_mob(), antag.bantype)
|
||||
if(ban_reason == "AGE WHITELISTED")
|
||||
|
||||
@@ -126,11 +126,13 @@
|
||||
if(T) //If we have a spawnpoint, return it
|
||||
return T
|
||||
if(!isnull(landmark_name))
|
||||
var/obj/effect/landmark/L
|
||||
var/list/possible_landmarks = list()
|
||||
for(var/obj/effect/landmark/landmark in landmarks_list)
|
||||
if(landmark.name == landmark_name)
|
||||
L = landmark
|
||||
return get_turf(L)
|
||||
possible_landmarks += landmark
|
||||
if(length(possible_landmarks))
|
||||
var/obj/effect/landmark/L = pick(possible_landmarks)
|
||||
return get_turf(L)
|
||||
|
||||
log_debug("Ghostspawner: Spawner [short_name] has neither spawnpoints nor landmarks or a matching spawnpoint/landmark could not be found")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user