Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SEMI-MODULAR] The CyberSun Shall Rise! #967

Closed
4,126 changes: 4,126 additions & 0 deletions _maps/RandomRuins/SpaceRuins/forgottenship_splurt.dmm

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions code/__SPLURTCODE/DEFINES/role_prefrences.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

//Values for antag preferences, event roles, etc. unified here



//These are synced with the Database, if you change the values of the defines
//then you MUST update the database!
#define ROLE_SYNDICATE_CYBERSUN "Cybersun Space Syndicate" //Ghost role syndi from Forgottenship ruin
#define ROLE_SYNDICATE_CYBERSUN_CAPTAIN "Cybersun Space Syndicate Captain" //Forgottenship captain syndie
5 changes: 5 additions & 0 deletions code/__SPLURTCODE/DEFINES/syndiecomms.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#define RADIO_CHANNEL_CYBERSUN "Cybersun"
#define RADIO_KEY_CYBERSUN "q"
#define RADIO_TOKEN_CYBERSUN ":q"

#define FREQ_CYBERSUN 1211
2 changes: 2 additions & 0 deletions code/game/communications.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ GLOBAL_LIST_INIT(radiochannels, list(
RADIO_CHANNEL_ENGINEERING = FREQ_ENGINEERING,
RADIO_CHANNEL_SECURITY = FREQ_SECURITY,
RADIO_CHANNEL_CENTCOM = FREQ_CENTCOM,
RADIO_CHANNEL_CYBERSUN = FREQ_CYBERSUN, //SPLURT EDIT ADDITION - MAPPING
RADIO_CHANNEL_SYNDICATE = FREQ_SYNDICATE,
RADIO_CHANNEL_SUPPLY = FREQ_SUPPLY,
RADIO_CHANNEL_SERVICE = FREQ_SERVICE,
Expand All @@ -115,6 +116,7 @@ GLOBAL_LIST_INIT(reverseradiochannels, list(
"[FREQ_ENGINEERING]" = RADIO_CHANNEL_ENGINEERING,
"[FREQ_SECURITY]" = RADIO_CHANNEL_SECURITY,
"[FREQ_CENTCOM]" = RADIO_CHANNEL_CENTCOM,
"[FREQ_CYBERSUN]" = RADIO_CHANNEL_CYBERSUN, //SPLURT EDIT ADDITION - MAPPING
"[FREQ_SYNDICATE]" = RADIO_CHANNEL_SYNDICATE,
"[FREQ_SUPPLY]" = RADIO_CHANNEL_SUPPLY,
"[FREQ_SERVICE]" = RADIO_CHANNEL_SERVICE,
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
RADIO_CHANNEL_SUPPLY = RADIO_TOKEN_SUPPLY,
RADIO_CHANNEL_SERVICE = RADIO_TOKEN_SERVICE,
RADIO_CHANNEL_HOTEL = RADIO_TOKEN_HOTEL, //SPLURT EDIT ADDITION
RADIO_CHANNEL_CYBERSUN = RADIO_TOKEN_CYBERSUN, //SPLURT EDIT ADDITION
MODE_BINARY = MODE_TOKEN_BINARY,
RADIO_CHANNEL_AI_PRIVATE = RADIO_TOKEN_AI_PRIVATE
))
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/radio/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@
var/datum/signal/subspace/vocal/signal = new(src, freq, speaker, language, message, spans)

// Independent radios, on the CentCom frequency, reach all independent radios
if (independent && (freq == FREQ_CENTCOM || freq == FREQ_CTF_RED || freq == FREQ_CTF_BLUE || freq == FREQ_HOTEL)) //SPLURT EDIT ADDITION
if (independent && (freq == FREQ_CENTCOM || freq == FREQ_CTF_RED || freq == FREQ_CTF_BLUE || freq == FREQ_HOTEL || freq == FREQ_CYBERSUN)) //SPLURT EDIT ADDITION
signal.data["compression"] = 0
signal.transmission_method = TRANSMISSION_SUPERSPACE
signal.levels = list(0) // reaches all Z-levels
Expand Down
1 change: 1 addition & 0 deletions code/game/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ GLOBAL_LIST_INIT(freqtospan, list(
"[FREQ_AI_PRIVATE]" = "aiprivradio",
"[FREQ_SYNDICATE]" = "syndradio",
"[FREQ_CENTCOM]" = "centcomradio",
"[FREQ_CYBERSUN]" = "syndradio", //SPLURT EDIT ADDITION - MAPPING
"[FREQ_CTF_RED]" = "redteamradio",
"[FREQ_CTF_BLUE]" = "blueteamradio"
))
Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
RADIO_KEY_SYNDICATE = RADIO_CHANNEL_SYNDICATE,
RADIO_KEY_CENTCOM = RADIO_CHANNEL_CENTCOM,
RADIO_KEY_HOTEL = RADIO_CHANNEL_HOTEL, //SPLURT EDIT ADDITION
RADIO_KEY_CYBERSUN = RADIO_CHANNEL_CYBERSUN, //SPLURT EDIT ADDITION - MAPPING

// Admin
MODE_KEY_ADMIN = MODE_ADMIN,
Expand Down
17 changes: 9 additions & 8 deletions code/modules/mob/living/simple_animal/hostile/nanotrasen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
icon_dead = null
icon_gib = "syndicate_gib"
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
speak_chance = 12
speak_chance = 0
turns_per_move = 5
speed = 0
stat_attack = UNCONSCIOUS
Expand All @@ -24,15 +24,20 @@
loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier)
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
unsuitable_atmos_damage = 15
faction = list("nanotrasenprivate")
faction = list(ROLE_DEATHSQUAD)
check_friendly_fire = TRUE
status_flags = CANPUSH
speak = list("Stop resisting!", "I AM THE LAW!", "Face the wrath of the golden bolt!", "Stop breaking the law, asshole!")
del_on_death = TRUE
dodging = TRUE
search_objects = 1

footstep_type = FOOTSTEP_MOB_SHOE

/mob/living/simple_animal/hostile/nanotrasen/screaming
icon_state = "nanotrasen"
icon_living = "nanotrasen"

/mob/living/simple_animal/hostile/nanotrasen/Aggro()
/mob/living/simple_animal/hostile/nanotrasen/screaming/Aggro()
..()
summon_backup(15)
say("411 in progress, requesting backup!")
Expand All @@ -46,8 +51,6 @@
minimum_distance = 5
casingtype = /obj/item/ammo_casing/c45
projectilesound = 'sound/weapons/gunshot.ogg'
loot = list(/obj/item/gun/ballistic/automatic/pistol/m1911,
/obj/effect/mob_spawn/human/corpse/nanotrasensoldier)


/mob/living/simple_animal/hostile/nanotrasen/ranged/smg
Expand All @@ -56,5 +59,3 @@
rapid = 3
casingtype = /obj/item/ammo_casing/c46x30mm
projectilesound = 'sound/weapons/gunshot_smg.ogg'
loot = list(/obj/item/gun/ballistic/automatic/wt550,
/obj/effect/mob_spawn/human/corpse/nanotrasensoldier)
10 changes: 10 additions & 0 deletions code/modules/uplink/uplink_items/uplink_clothing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,16 @@
cost = 8
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS) //you can't buy it in nuke, because the elite hardsuit costs the same while being better

/datum/uplink_item/suits/hardsuit/cybersun
name = "Cybersun Hardsuit"
desc = "A long forgotten hardsuit made by Cybersun industries. \
Offers ROBUST protection against laser-based weapons, while still giving somewhat good chances \
to survive assault from a toolbox or shotgun. \
Not to mention, it doesn't slow you down and contains an integrated jetpack that runs on standard tanks. \
Systems in this hardsuit make it really hard to take it off from you."
item = /obj/item/clothing/suit/space/hardsuit/cybersun
cost = 14
MysteryMan21333 marked this conversation as resolved.
Show resolved Hide resolved

/datum/uplink_item/suits/hardsuit/elite
name = "Elite Syndicate Hardsuit"
desc = "An upgraded, elite version of the Syndicate hardsuit. It features fireproofing, and also \
Expand Down
3 changes: 2 additions & 1 deletion config/spaceRuinBlacklist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,5 @@
#_maps/RandomRuins/SpaceRuins/spacehermit.dmm
#_maps/RandomRuins/SpaceRuins/advancedlab.dmm
#_maps/RandomRuins/SpaceRuins/spacediner.dmm
#_maps/RandomRuins/SpaceRuins/skelter.dmm
#_maps/RandomRuins/SpaceRuins/skelter.dmm
#_maps/RandomRuins/SpaceRuins/forgottenship_splurt.dmm
Binary file modified icons/mob/clothing/head.dmi
MysteryMan21333 marked this conversation as resolved.
Show resolved Hide resolved
Binary file not shown.
Binary file added icons/mob/clothing/simple_human.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/suit.dmi
Binary file not shown.
Binary file modified icons/mob/simple_human.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/hats.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/suits.dmi
Binary file not shown.
25 changes: 16 additions & 9 deletions modular_splurt/code/datums/ruins/space.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,29 @@

//Own stuff
/datum/map_template/ruin/space/radiostation
prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
id = "radiostation"
suffix = "radiostation.dmm"
name = "NT Radio Station"
description = "A mobile NT Radio Station ship."
id = "radiostation"
prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
suffix = "radiostation.dmm"

/datum/map_template/ruin/space/syndielistenspace
prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
id = "syndielistenspace"
suffix = "syndielistenspace.dmm"
name = "Syndicate Listening Outpost"
description = "A syndicate listening outpost cleverly disguised as an asteroid"
id = "syndielistenspace"
prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
suffix = "syndielistenspace.dmm"

/datum/map_template/ruin/space/spacehotelsplurt
prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
id = "spacehotelsplurt"
suffix = "spacehotelsplurt.dmm"
name = "Twin Spires Hotel and Club"
description = "A Nanotrasen-partnered interstellar hotel and stripclub"
id = "spacehotelsplurt"
prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
suffix = "spacehotelsplurt.dmm"

/datum/map_template/ruin/space/forgottenship
name = "CSBC-12"
description = "Cybersun would like to remind it's employees that any battle cruiser will be apropriately maintained, as will it's crew."
id = "forgottenship"
prefix = "_maps/RandomRuins/SpaceRuins/"
suffix = "forgottenship_splurt.dmm"
5 changes: 5 additions & 0 deletions modular_splurt/code/game/area/areas/ruins/space.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@
icon_state = "yellow"
has_gravity = STANDARD_GRAVITY

//Cybersun, Forgotten Ship
/area/ruin/space/has_grav/cybersun
name = "Cybersun"
icon_state = "spacecontent1"

/obj/effect/mob_spawn/human/space/syndicate/special(mob/living/new_spawn)
new_spawn.grant_language(/datum/language/codespeak, TRUE, TRUE, LANGUAGE_MIND)

Expand Down
20 changes: 20 additions & 0 deletions modular_splurt/code/game/objects/items/cards_ids.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,23 @@
name = "Manager ID"
assignment = "Hotel Manager"
access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_AWAY_ENGINE, ACCESS_AWAY_SEC, ACCESS_AWAY_GENERIC1)

/obj/item/card/id/syndicate_command/crew_id
name = "syndicate ID card"
id_type_name = "syndicate ID card"
desc = "An ID straight from the Syndicate."
registered_name = "Syndicate"
assignment = "Syndicate Operative"
icon_state = "syndie"
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS)
uses_overlays = FALSE

/obj/item/card/id/syndicate_command/captain_id
name = "syndicate captain ID card"
id_type_name = "syndicate captain ID card"
desc = "An ID straight from the Syndicate."
registered_name = "Syndicate"
assignment = "Syndicate Ship Captain"
icon_state = "syndie"
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS)
uses_overlays = FALSE
89 changes: 89 additions & 0 deletions modular_splurt/code/game/objects/structures/ghost_role_spawners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,92 @@
head = /obj/item/clothing/head/beret/black
id = /obj/item/card/id/away/hotel/splurt/manager
ears = /obj/item/radio/headset/headset_srv/hotel/manager

//OUTFITS//
/datum/outfit/syndicatespace/syndicrew
ears = /obj/item/radio/headset/cybersun

/datum/outfit/syndicatespace/syndicaptain
ears = /obj/item/radio/headset/cybersun/captain

//ITEMS//

/obj/item/radio/headset/cybersun
keyslot = new /obj/item/encryptionkey/headset_cybersun

/obj/item/radio/headset/cybersun/captain
name = "cybersun captain bowman headset"
desc = "The headset of the boss."
command = TRUE

//Forgotten syndicate ship

/obj/effect/mob_spawn/human/syndicatespace
name = "Syndicate Ship Crew Member"
roundstart = FALSE
death = FALSE
show_flavour = FALSE
icon = 'icons/obj/machines/sleeper.dmi'
icon_state = "sleeper_s"
short_desc = "You are a syndicate operative on old ship, stuck in hostile space."
flavour_text = "Your ship docks after a long time somewhere in hostile space, reporting a malfunction. You are stuck here, with Nanotrasen station nearby. Fix the ship, find a way to power it and follow your captain's orders."
important_info = "Obey orders given by your captain. DO NOT let the ship fall into enemy hands."
outfit = /datum/outfit/syndicatespace/syndicrew
assignedrole = ROLE_SYNDICATE_CYBERSUN

/datum/outfit/syndicatespace/syndicrew/post_equip(mob/living/carbon/human/H)
H.faction |= ROLE_SYNDICATE

/obj/effect/mob_spawn/human/syndicatespace/special(mob/living/new_spawn)
new_spawn.grant_language(/datum/language/codespeak, TRUE, TRUE, LANGUAGE_MIND)
var/policy = get_policy(assignedrole)
if(policy)
to_chat(new_spawn, "<span class='bold'>[policy]</span>")

/obj/effect/mob_spawn/human/syndicatespace/captain
name = "Syndicate Ship Captain"
short_desc = "You are the captain of an old ship, stuck in hostile space."
flavour_text = "Your ship docks after a long time somewhere in hostile space, reporting a malfunction. You are stuck here, with Nanotrasen station nearby. Command your crew and turn your ship into the most protected fortress."
important_info = "Protect the ship and secret documents in your backpack with your own life."
outfit = /datum/outfit/syndicatespace/syndicaptain
assignedrole = ROLE_SYNDICATE_CYBERSUN_CAPTAIN

/datum/outfit/syndicatespace/syndicaptain/post_equip(mob/living/carbon/human/H)
H.faction |= ROLE_SYNDICATE

/obj/effect/mob_spawn/human/syndicatespace/captain/Destroy()
new/obj/structure/fluff/empty_sleeper/syndicate/captain(get_turf(src))
return ..()
/datum/outfit/syndicatespace/syndicrew
name = "Syndicate Ship Crew Member"
uniform = /obj/item/clothing/under/syndicate/combat
glasses = /obj/item/clothing/glasses/night
mask = /obj/item/clothing/mask/gas/syndicate
ears = /obj/item/radio/headset/syndicate/alt
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
back = /obj/item/storage/backpack
l_pocket = /obj/item/gun/ballistic/automatic/pistol/modular
r_pocket = /obj/item/kitchen/knife/combat/survival
belt = /obj/item/storage/belt/military/assault
id = /obj/item/card/id/syndicate_command/crew_id
backpack_contents = list(/obj/item/paper/fluff/ruins/forgottenship/password)
implants = list(/obj/item/implant/weapons_auth)

/datum/outfit/syndicatespace/syndicaptain
name = "Syndicate Ship Captain"
uniform = /obj/item/clothing/under/syndicate/combat
suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate
glasses = /obj/item/clothing/glasses/night
mask = /obj/item/clothing/mask/gas/syndicate
head = /obj/item/clothing/head/HoS/beret/syndicate
ears = /obj/item/radio/headset/syndicate/alt/leader
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
back = /obj/item/storage/backpack
l_pocket = /obj/item/gun/ballistic/automatic/pistol/APS
r_pocket = /obj/item/kitchen/knife/combat/survival
belt = /obj/item/storage/belt/military/assault
id = /obj/item/card/id/syndicate_command/captain_id
backpack_contents = list(/obj/item/documents/syndicate/red, /obj/item/paper/fluff/ruins/forgottenship/password)
implants = list(/obj/item/implant/weapons_auth)
29 changes: 29 additions & 0 deletions modular_splurt/code/modules/mob/living/simple_animal/corpse.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
//Meant for simple animals to drop lootable human bodies.

//If someone can do this in a neater way, be my guest-Kor

//This has to be separate from the Away Mission corpses, because New() doesn't work for those, and initialize() doesn't work for these.

//To do: Allow corpses to appear mangled, bloody, etc. Allow customizing the bodies appearance (they're all bald and white right now).

//List of different corpse types

/obj/effect/mob_spawn/human/corpse/nanotrasenassaultsoldier
name = "Nanotrasen Private Security Officer"
id_job = "Nanotrasen Assault Force"
id_access = "Security Officer"
outfit = /datum/outfit/nanotrasenassaultsoldiercorpse
hair_style = "Bald"
facial_hair_style = "Shaved"

/datum/outfit/nanotrasenassaultsoldiercorpse
name = "NT Assault Officer Corpse"
uniform = /obj/item/clothing/under/syndicate
suit = /obj/item/clothing/suit/armor/vest
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
ears = /obj/item/radio/headset
mask = /obj/item/clothing/mask/gas/sechailer/swat
head = /obj/item/clothing/head/helmet/swat/nanotrasen
back = /obj/item/storage/backpack/security
id = /obj/item/card/id
Loading