mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 08:29:57 +01:00
Adds more mixed gamemodes and make them votable (#2420)
-allow voting for most mixed gamemodes, with exception of bughunt and infection -adds crossfire(merc and heister), also adds a raider frequency to don't mix them with mercs -adds siege(rev and merc) -adds visitors(ninja and wizard)
This commit is contained in:
@@ -9,6 +9,7 @@ var/const/ERT_FREQ = 1345
|
||||
var/const/AI_FREQ = 1343
|
||||
var/const/DTH_FREQ = 1341
|
||||
var/const/SYND_FREQ = 1213
|
||||
var/const/RAID_FREQ = 1277
|
||||
var/const/ENT_FREQ = 1461 //entertainment frequency. This is not a diona exclusive frequency.
|
||||
|
||||
// department channels
|
||||
@@ -34,6 +35,7 @@ var/list/radiochannels = list(
|
||||
"Response Team" = ERT_FREQ,
|
||||
"Special Ops" = DTH_FREQ,
|
||||
"Mercenary" = SYND_FREQ,
|
||||
"Raider" = RAID_FREQ,
|
||||
"Supply" = SUP_FREQ,
|
||||
"Service" = SRV_FREQ,
|
||||
"AI Private" = AI_FREQ,
|
||||
@@ -46,7 +48,7 @@ var/list/radiochannels = list(
|
||||
var/list/CENT_FREQS = list(ERT_FREQ, DTH_FREQ)
|
||||
|
||||
// Antag channels, i.e. Syndicate
|
||||
var/list/ANTAG_FREQS = list(SYND_FREQ)
|
||||
var/list/ANTAG_FREQS = list(SYND_FREQ, RAID_FREQ)
|
||||
|
||||
//Department channels, arranged lexically
|
||||
var/list/DEPT_FREQS = list(AI_FREQ, COMM_FREQ, ENG_FREQ, MED_FREQ, SEC_FREQ, SCI_FREQ, SRV_FREQ, SUP_FREQ, ENT_FREQ)
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
var/list/msg_security = list()
|
||||
var/list/msg_deathsquad = list()
|
||||
var/list/msg_syndicate = list()
|
||||
var/list/msg_raider = list()
|
||||
var/list/msg_cargo = list()
|
||||
var/list/msg_service = list()
|
||||
|
||||
|
||||
@@ -44,10 +44,14 @@
|
||||
/datum/antagonist/proc/create_radio(var/freq, var/mob/living/carbon/human/player)
|
||||
var/obj/item/device/radio/R
|
||||
|
||||
if(freq == SYND_FREQ)
|
||||
R = new/obj/item/device/radio/headset/syndicate(player)
|
||||
else
|
||||
R = new/obj/item/device/radio/headset(player)
|
||||
switch(freq)
|
||||
if(SYND_FREQ)
|
||||
R = new/obj/item/device/radio/headset/syndicate(player)
|
||||
if(RAID_FREQ)
|
||||
R = new/obj/item/device/radio/headset/raider(player)
|
||||
else
|
||||
R = new/obj/item/device/radio/headset(player)
|
||||
R.set_frequency(freq)
|
||||
|
||||
R.set_frequency(freq)
|
||||
player.equip_to_slot_or_del(R, slot_l_ear)
|
||||
|
||||
@@ -243,7 +243,7 @@ var/datum/antagonist/raider/raiders
|
||||
W.handle_item_insertion(id)
|
||||
player.equip_to_slot_or_del(W, slot_wear_id)
|
||||
spawn_money(rand(50,150)*10,W)
|
||||
create_radio(SYND_FREQ, player)
|
||||
create_radio(RAID_FREQ, player)
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
/datum/game_mode/conflux
|
||||
name = "conflux"
|
||||
name = "Conflux"
|
||||
round_description = "A space wizard and a cult have invaded the station!"
|
||||
extended_round_description = "Cultists and wizards spawn during this round."
|
||||
config_tag = "conflux"
|
||||
required_players = 15
|
||||
required_enemies = 5
|
||||
end_on_antag_death = 1
|
||||
end_on_antag_death = 0
|
||||
antag_tags = list(MODE_WIZARD, MODE_CULTIST)
|
||||
require_all_templates = 1
|
||||
votable = 0
|
||||
@@ -0,0 +1,12 @@
|
||||
/datum/game_mode/crossfire
|
||||
name = "Crossfire"
|
||||
round_description = "Mercenaries and raiders are approaching the station."
|
||||
extended_round_description = "NanoTrasen's wealth and success created several enemies over the years \
|
||||
and many seek to undermine them using illegal ways. Their crown jewel research stations are not safe from those \
|
||||
malicious activities."
|
||||
config_tag = "crossfire"
|
||||
required_players = 25
|
||||
required_enemies = 8
|
||||
end_on_antag_death = 0
|
||||
antag_tags = list(MODE_RAIDER, MODE_MERCENARY)
|
||||
require_all_templates = 1
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/game_mode/infestation
|
||||
name = "infestation"
|
||||
name = "Infestation"
|
||||
round_description = "There's something in the walls!"
|
||||
extended_round_description = "Two alien antagonists (Xenomorphs, Cortical Borers or Changelings) may spawn during this round."
|
||||
config_tag = "infestation"
|
||||
@@ -13,4 +13,4 @@
|
||||
/datum/game_mode/infestation/create_antagonists()
|
||||
// Two of the three.
|
||||
antag_tags -= pick(antag_tags)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
/datum/game_mode/intrigue
|
||||
name = "Intrigue"
|
||||
round_description = "Crewmembers are contacted by external elements while an outsider infiltrates the station."
|
||||
extended_round_description = "Traitors and a ninja spawn during this round."
|
||||
config_tag = "intrigue"
|
||||
required_players = 15
|
||||
required_enemies = 4
|
||||
end_on_antag_death = 0
|
||||
antag_tags = list(MODE_NINJA, MODE_TRAITOR)
|
||||
require_all_templates = 1
|
||||
@@ -1,11 +1,11 @@
|
||||
/datum/game_mode/paranoia
|
||||
name = "paranoia"
|
||||
round_description = "The AI has malfunctioned, and subversive elements infest the crew..."
|
||||
extended_round_description = "Rampant AIs, renegades and changelings spawn in this mode."
|
||||
name = "Paranoia"
|
||||
round_description = "The AI has malfunctioned, and subversive elements infest the crew."
|
||||
extended_round_description = "Rampant AIs, traitors and changelings spawn in this mode."
|
||||
config_tag = "paranoia"
|
||||
required_players = 2
|
||||
required_enemies = 1
|
||||
required_players = 15
|
||||
required_enemies = 5
|
||||
end_on_antag_death = 1
|
||||
require_all_templates = 1
|
||||
votable = 0
|
||||
antag_tags = list(MODE_MALFUNCTION, MODE_RENEGADE, MODE_CHANGELING)
|
||||
votable = 1
|
||||
antag_tags = list(MODE_MALFUNCTION, MODE_TRAITOR, MODE_CHANGELING)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
/datum/game_mode/siege
|
||||
name = "Siege"
|
||||
config_tag = "siege"
|
||||
round_description = "Some crewmembers are attempting to start a revolution while a mercenary strike force is approaching the station!"
|
||||
extended_round_description = "Getting stuck between a rock and a hard place, maybe the nice visitors can help with your internal security problem?"
|
||||
required_players = 20
|
||||
required_enemies = 7
|
||||
end_on_antag_death = 0
|
||||
antag_tags = list(MODE_REVOLUTIONARY, MODE_LOYALIST, MODE_MERCENARY)
|
||||
require_all_templates = 1
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/game_mode/traitorling
|
||||
name = "traitorling"
|
||||
name = "Traitorling"
|
||||
round_description = "There are traitors and alien changelings on the station. Do not let the changelings succeed!"
|
||||
extended_round_description = "Traitors and changelings both spawn during this mode."
|
||||
config_tag = "traitorling"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/game_mode/uprising
|
||||
name = "uprising"
|
||||
name = "Uprising"
|
||||
config_tag = "uprising"
|
||||
round_description = "Some crewmembers are attempting to start a revolution while a cult plots in the shadows!"
|
||||
extended_round_description = "Cultists and revolutionaries spawn in this round."
|
||||
@@ -8,4 +8,4 @@
|
||||
end_on_antag_death = 1
|
||||
antag_tags = list(MODE_REVOLUTIONARY, MODE_LOYALIST, MODE_CULTIST)
|
||||
require_all_templates = 1
|
||||
votable = 0
|
||||
votable = 1
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
/datum/game_mode/visitors
|
||||
name = "Visitors"
|
||||
round_description = "A space wizard and a ninja have invaded the station!"
|
||||
extended_round_description = "A ninja and wizard spawn during this round."
|
||||
config_tag = "visitors"
|
||||
required_players = 15
|
||||
required_enemies = 2
|
||||
end_on_antag_death = 0
|
||||
antag_tags = list(MODE_WIZARD, MODE_NINJA)
|
||||
require_all_templates = 1
|
||||
@@ -1,11 +1,13 @@
|
||||
/datum/game_mode/vampire
|
||||
name = "Vampire"
|
||||
round_description = "There are Vampires from Space Transylvania on the station, keep your blood close and neck safe!"
|
||||
extended_round_description = "Life always finds a way. However, life can sometimes take a more disturbing route. Humanity's extensive knowledge of xeno-biological specimens has made them confident and arrogant. Yet something slipped past their eyes. Something dangerous. Something alive. Most frightening of all, however, is that this something is someone. An unknown alien specimen has incorporated itself into the crew of the NSS Exodus. No one knows where it came from. No one knows who it is or what it wants. One thing is for certain though... there is never just one of them. Good luck."
|
||||
round_description = "There are vampires on the station, keep your blood close and neck safe!"
|
||||
extended_round_description = "And He said, \"What have you done? Hark! Your brother's blood cries out to Me from the earth. \
|
||||
And now, you are cursed even more than the ground, which opened its mouth to take your brother's blood from your hand. \
|
||||
When you till the soil, it will not continue to give its strength to you; you shall be a wanderer and an exile in the land.\""
|
||||
config_tag = "vampire"
|
||||
required_players = 2
|
||||
required_enemies = 1
|
||||
end_on_antag_death = 1
|
||||
end_on_antag_death = 0
|
||||
antag_scaling_coeff = 8
|
||||
antag_tags = list(MODE_VAMPIRE)
|
||||
|
||||
|
||||
@@ -378,6 +378,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
SSfeedback.msg_deathsquad += blackbox_msg
|
||||
if(SYND_FREQ)
|
||||
SSfeedback.msg_syndicate += blackbox_msg
|
||||
if(RAID_FREQ)
|
||||
SSfeedback.msg_raider += blackbox_msg
|
||||
if(SUP_FREQ)
|
||||
SSfeedback.msg_cargo += blackbox_msg
|
||||
if(SRV_FREQ)
|
||||
@@ -562,6 +564,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
SSfeedback.msg_deathsquad += blackbox_msg
|
||||
if(SYND_FREQ)
|
||||
SSfeedback.msg_syndicate += blackbox_msg
|
||||
if(RAID_FREQ)
|
||||
SSfeedback.msg_raider += blackbox_msg
|
||||
if(SUP_FREQ)
|
||||
SSfeedback.msg_cargo += blackbox_msg
|
||||
if(SRV_FREQ)
|
||||
|
||||
@@ -21,6 +21,12 @@
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
syndie = 1//Signifies that it de-crypts Syndicate transmissions
|
||||
|
||||
/obj/item/device/encryptionkey/raider
|
||||
icon_state = "cypherkey"
|
||||
channels = list("Raider" = 1)
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
syndie = 1
|
||||
|
||||
/obj/item/device/encryptionkey/binary
|
||||
icon_state = "cypherkey"
|
||||
translate_binary = 1
|
||||
|
||||
@@ -79,6 +79,11 @@
|
||||
syndie = 1
|
||||
ks1type = /obj/item/device/encryptionkey/syndicate
|
||||
|
||||
/obj/item/device/radio/headset/raider
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
syndie = 1
|
||||
ks1type = /obj/item/device/encryptionkey/raider
|
||||
|
||||
/obj/item/device/radio/headset/binary
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
ks1type = /obj/item/device/encryptionkey/binary
|
||||
|
||||
@@ -77,6 +77,17 @@
|
||||
. = ..()
|
||||
internal_channels[num2text(SYND_FREQ)] = list(access_syndicate)
|
||||
|
||||
/obj/item/device/radio/intercom/raider
|
||||
name = "illicit intercom"
|
||||
desc = "Pirate radio, but not in the usual sense of the word."
|
||||
frequency = RAID_FREQ
|
||||
subspace_transmission = 1
|
||||
syndie = 1
|
||||
|
||||
/obj/item/device/radio/intercom/syndicate/Initialize()
|
||||
. = ..()
|
||||
internal_channels[num2text(RAID_FREQ)] = list(access_syndicate)
|
||||
|
||||
/obj/item/device/radio/intercom/Destroy()
|
||||
QDEL_NULL(power_interface)
|
||||
return ..()
|
||||
|
||||
@@ -11,6 +11,7 @@ var/list/department_radio_keys = list(
|
||||
":s" = "Security", ".s" = "Security",
|
||||
":w" = "whisper", ".w" = "whisper",
|
||||
":t" = "Mercenary", ".t" = "Mercenary",
|
||||
":x" = "Raider", ".x" = "Raider",
|
||||
":u" = "Supply", ".u" = "Supply",
|
||||
":v" = "Service", ".v" = "Service",
|
||||
":p" = "AI Private", ".p" = "AI Private",
|
||||
@@ -27,6 +28,7 @@ var/list/department_radio_keys = list(
|
||||
":S" = "Security", ".S" = "Security",
|
||||
":W" = "whisper", ".W" = "whisper",
|
||||
":T" = "Mercenary", ".T" = "Mercenary",
|
||||
":X" = "Raider", ".X" = "Raider",
|
||||
":U" = "Supply", ".U" = "Supply",
|
||||
":V" = "Service", ".V" = "Service",
|
||||
":P" = "AI Private", ".P" = "AI Private",
|
||||
|
||||
Reference in New Issue
Block a user