Revenant Fixes (#11001)

Fixed the revenant gamemode assigning roundstart humans as revenants.
    Fixed all revenants spawning at the radiators.
This commit is contained in:
Geeves
2021-01-17 11:17:27 +02:00
committed by GitHub
parent c1db8d9e48
commit fc1b34468f
6 changed files with 31 additions and 17 deletions
+14 -13
View File
@@ -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
+2 -1
View File
@@ -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")
+5 -3
View File
@@ -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")