mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 05:23:22 +01:00
Revenant Gamemode (#10851)
Added a new wave defense gamemode, Revenants, wherein the station crew have to defend themselves from an endless wave of humanoid bluespace creatures. Ported the icon from Baystation, it's their blueforged, but I tweaked the mob's alpha values a tad. Baystation12/Baystation12#21669
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
var/datum/antagonist/revenant/revenants = null
|
||||
|
||||
/datum/antagonist/revenant
|
||||
id = MODE_REVENANT
|
||||
role_text = "Revenant"
|
||||
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"
|
||||
initial_spawn_req = 0
|
||||
initial_spawn_target = 0
|
||||
hard_cap = 12
|
||||
hard_cap_round = 12
|
||||
|
||||
/datum/antagonist/revenant/New()
|
||||
..()
|
||||
|
||||
revenants = src
|
||||
@@ -1,13 +1,13 @@
|
||||
var/datum/antagonist/bluespace_golem/bluespace_golems = null
|
||||
var/datum/antagonist/wizard_golem/wizard_golems = null
|
||||
|
||||
/datum/antagonist/bluespace_golem
|
||||
/datum/antagonist/wizard_golem
|
||||
id = MODE_GOLEM
|
||||
role_text = "Golem"
|
||||
role_text_plural = "Golems"
|
||||
welcome_text = "You are a golem summoned by a powerful mage. Serve your master, and assist them in completing their goals at any cost."
|
||||
antaghud_indicator = "hudmagineer"
|
||||
|
||||
/datum/antagonist/bluespace_golem/New()
|
||||
/datum/antagonist/wizard_golem/New()
|
||||
..()
|
||||
|
||||
bluespace_golems = src
|
||||
wizard_golems = src
|
||||
@@ -0,0 +1,23 @@
|
||||
/datum/game_mode/revenants
|
||||
name = "Revenants"
|
||||
config_tag = "revenants"
|
||||
required_players = 10
|
||||
required_enemies = 0
|
||||
round_autoantag = TRUE
|
||||
min_autotraitor_delay = 3 MINUTES
|
||||
max_autotraitor_delay = 6 MINUTES
|
||||
antag_scaling_coeff = 4 // four people can handle one revenant pretty easily
|
||||
round_description = "A bluespace tear has opened up in the space around us, who knows what could invade?"
|
||||
extended_round_description = "This a wave defense gamemode. The crew all have to work together to repel an endless horde of bluespace horrors."
|
||||
antag_tags = list(MODE_REVENANT)
|
||||
|
||||
/datum/game_mode/revenants/process_autoantag()
|
||||
var/datum/ghostspawner/revenant/R = SSghostroles.get_spawner(MODE_REVENANT)
|
||||
var/datum/antagonist/A = all_antag_types[MODE_REVENANT]
|
||||
A.update_current_antag_max()
|
||||
var/previous_count = R.max_count
|
||||
R.max_count = min(R.max_count + 1, A.cur_max)
|
||||
if(R.max_count > previous_count)
|
||||
say_dead_direct("A slot for a Revenant as opened up!<br>Spawn in as it by using the ghost spawner menu in the ghost tab, and try to be good!")
|
||||
if(!R.enabled)
|
||||
R.enable()
|
||||
@@ -58,13 +58,13 @@
|
||||
user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
|
||||
user.see_invisible = SEE_INVISIBLE_LEVEL_TWO
|
||||
to_chat(user, "<span class='notice'>The walls suddenly disappear.</span>")
|
||||
user.set_species(SPECIES_SHADOW)
|
||||
user.set_species(SPECIES_REVENANT)
|
||||
user.mind.special_role = "Avatar of the Wish Granter"
|
||||
if("I want to be rich")
|
||||
to_chat(user, "<B>Your wish is granted, but at a terrible cost...</B>")
|
||||
to_chat(user, "The Wish Granter punishes you for your greediness, claiming your soul and warping your body to match the darkness in your heart.")
|
||||
new /obj/structure/closet/syndicate/resources/everything(loc)
|
||||
user.set_species(SPECIES_SHADOW)
|
||||
user.set_species(SPECIES_REVENANT)
|
||||
user.mind.special_role = "Avatar of the Wish Granter"
|
||||
if("I want immortality")
|
||||
to_chat(user, "<B>Your wish is granted, but at a terrible cost...</B>")
|
||||
|
||||
Reference in New Issue
Block a user