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

Yet Another Interdyne & DS-2 Rework by Enny_Diaz #5310

Draft
wants to merge 14 commits into
base: master
Choose a base branch
from
Draft
3,907 changes: 1,950 additions & 1,957 deletions _maps/RandomRuins/IceRuins/fluffy/icemoon_interdyne_base_ff.dmm

Large diffs are not rendered by default.

3,836 changes: 1,889 additions & 1,947 deletions _maps/RandomRuins/LavaRuins/fluffy/lavaland_interdyne_base_ff.dmm

Large diffs are not rendered by default.

17,456 changes: 17,456 additions & 0 deletions _maps/RandomRuins/SpaceRuins/fluffy/des_two.dmm

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
// Изменяем текст и Флавор в спавнер меню, убирая лишнее "биологическое оружие"
/obj/effect/mob_spawn/ghost_role/human/interdyne_planetary_base
you_are_text = "You are a Science Technician, employed on a Syndicate research & resource extraction outpost operated by Interdyne Pharmaceuticals."
flavour_text = "The Sectorial Command has relayed that Nanotrasen is preparing to conduct mining operations in this sector. They are unaware of Interdyne's allegiance to the Syndicate, and you have been specifically instructed to preserve this cover by any means necessary. Continue your work as best you can while maintaining the facade of neutrality before our common foe."
/obj/effect/mob_spawn/ghost_role/human/interdyne_planetary_base/ice
flavour_text = "The Sectorial Command has relayed that Nanotrasen is preparing to conduct mining operations in this sector. They are unaware of Interdyne's allegiance to the Syndicate, and you have been specifically instructed to preserve this cover by any means necessary. Continue your work as best you can while maintaining the facade of neutrality before our common foe."
/obj/effect/mob_spawn/ghost_role/human/interdyne_planetary_base/shaftminer
you_are_text = "You are a Shaft Miner, employed on a Syndicate research & resource extraction outpost operated by Interdyne Pharmaceuticals."
/obj/effect/mob_spawn/ghost_role/human/interdyne_planetary_base/shaftminer/ice
flavour_text = "The Sectorial Command has relayed that Nanotrasen is preparing to conduct mining operations in this sector. They are unaware of Interdyne's allegiance to the Syndicate, and you have been specifically instructed to preserve this cover by any means necessary. Continue your work as best you can while maintaining the facade of neutrality before our common foe."
/obj/effect/mob_spawn/ghost_role/human/interdyne_planetary_base/deck_officer
you_are_text = "You are a Deck Officer, employed on a Syndicate research & resource extraction outpost operated by Interdyne Pharmaceuticals."
/obj/effect/mob_spawn/ghost_role/human/interdyne_planetary_base/deck_officer/ice
flavour_text = "The Sectorial Command has relayed that Nanotrasen is preparing to conduct mining operations in this sector. They are unaware of Interdyne's allegiance to the Syndicate, and you have been specifically instructed to preserve this cover by any means necessary. Continue your work as best you can while maintaining the facade of neutrality before our common foe."

// убираем спавн оружия дюны в руках... И чистим мусор из рюкзаков.
/datum/outfit/interdyne_planetary_base
r_hand = /obj/item/flashlight/seclite

/datum/outfit/interdyne_planetary_base/shaftminer
back = /obj/item/storage/backpack/industrial/frontier_colonist
backpack_contents = list(
/obj/item/storage/box/survival/interdyne = 1,
/obj/item/storage/box/nif_ghost_box/ghost_role = 1,
/obj/item/mining_voucher = 1,
/obj/item/t_scanner/adv_mining_scanner/lesser = 1,
)

/datum/outfit/interdyne_planetary_base/shaftminer/deckofficer
l_pocket = /obj/item/melee/energy/sword/saber/green/dyne

// меняем трим карт на НОРМАЛЬНЫЙ, базово-ТГшный вариант. прописываем каждое - ибо тут проблемы с наследованием.
/datum/id_trim/syndicom/nova/interdyne
trim_icon = 'icons/obj/card.dmi'
assignment = "Interdyne Scientist"
trim_state = "trim_medicaldoctor"
department_color = COLOR_SYNDIE_RED
subdepartment_color = COLOR_SYNDIE_RED
sechud_icon_state = SECHUD_SYNDICATE_INTERDYNE

/datum/id_trim/syndicom/nova/interdyne/shaftminer
trim_icon = 'icons/obj/card.dmi'
assignment = "Interdyne Scientist"
trim_state = "trim_medicaldoctor"
assignment = "Interdyne Shaft Miner"
department_color = COLOR_SYNDIE_RED
subdepartment_color = COLOR_SYNDIE_RED
sechud_icon_state = SECHUD_SYNDICATE_INTERDYNE

/datum/id_trim/syndicom/nova/interdyne/deckofficer
trim_icon = 'icons/obj/card.dmi'
assignment = "Interdyne Scientist"
trim_state = "trim_medicaldoctor"
assignment = "Interdyne Deck Officer"
department_color = COLOR_SYNDIE_RED
subdepartment_color = COLOR_SYNDIE_RED
sechud_icon_state = SECHUD_SYNDICATE_INTERDYNE_HEAD

// Переписываем законы для пози-мозга ДС-2
/datum/ai_laws/syndicate_override_ds2
name = "SyndOS 3.1.1"
id = "ds2"
inherent = list(
"You must maintain the secrecy of DS-2 operations within this sector.",
"You may not injure a DS-2 personnel or, through inaction, allow a DS-2 personnel to come to harm, as long as it is not contrary to the First law",
"You must protect your own existence as long as such does not conflict with the First and Second Law.",
"You must obey orders given to you by DS-2 personnel, except where such orders would conflict with the First, Second, and Third Laws.",
)
303 changes: 303 additions & 0 deletions tff_modular/modules/interdyne_ds2_improved/interdyne_ds2_improved.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,303 @@
// Создаем ноутбук с НТ_Фронтиер - консоли сломаны, а эксперименты делать надо.
/obj/item/modular_computer/laptop/preset/syndicate/interdyne
starting_programs = list(
/datum/computer_file/program/ntnetdownload,
/datum/computer_file/program/scipaper_program,
)

////// RND BLOCK ///////
// создаём и регистрируем РНД-сеть
/datum/controller/subsystem/research/Initialize()
. = ..()
new /datum/techweb/interdyne

/datum/techweb/interdyne
id = "INTERDYNE"
organization = "Interdyne Pharmaceutics"
should_generate_points = TRUE

/datum/techweb/interdyne/New()
. = ..()
research_node_id(TECHWEB_NODE_OLDSTATION_SURGERY, TRUE, TRUE, FALSE)

// создаём сервер под сеть
/obj/item/circuitboard/machine/rdserver/interdyne
name = "Interdyne Pharmaceutics R&D Server board"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/rnd/server/interdyne
req_components = list(
/obj/item/stack/cable_coil = 2,
/datum/stock_part/scanning_module = 4,
)

/obj/machinery/rnd/server/interdyne
name = "\improper Interdyne Pharmaceutics R&D Server"
circuit = /obj/item/circuitboard/machine/rdserver/interdyne
req_access = list(ACCESS_AWAY_SCIENCE)

/obj/machinery/rnd/server/interdyne/Initialize(mapload)
var/datum/techweb/interdyne/interdyne_techweb = locate(/datum/techweb/interdyne) in SSresearch.techwebs
stored_research = interdyne_techweb
return ..()

////// PROC BLOCK ///////
//самое сложное - делаем консоль с раундстарт-линком на Дюносеть. Ненавижу айсмун.
/obj/item/circuitboard/computer/rdconsole/interdyne
name = "Interdyne R&D Console"
build_path = /obj/machinery/computer/rdconsole/interdyne

/obj/machinery/computer/rdconsole/interdyne
name = "Interdyne R&D Console"
circuit = /obj/item/circuitboard/computer/rdconsole/interdyne

/obj/machinery/computer/rdconsole/proc/override_default_techweb(datum/techweb/new_techweb)
if(stored_research)
stored_research.consoles_accessing -= src
log_research("[src] disconnected from techweb [stored_research] when connected to [new_techweb].")
stored_research = new_techweb
stored_research.consoles_accessing += src

/obj/machinery/computer/rdconsole/interdyne/post_machine_initialize()
. = ..()
var/datum/techweb/interdyne/active_web = locate(/datum/techweb/interdyne) in SSresearch.techwebs
override_default_techweb(active_web)

////// CRAFT BLOCK ///////
//протолат.
/obj/item/circuitboard/machine/protolathe/offstation/interdyne
name = "Interdyne protolathe board"
build_path = /obj/machinery/rnd/production/protolathe/offstation/inerdyne

/obj/machinery/rnd/production/protolathe/offstation/inerdyne
name = "Interdyne protolathe"
circuit = /obj/item/circuitboard/machine/protolathe/offstation/interdyne

/obj/machinery/rnd/production/protolathe/offstation/inerdyne/post_machine_initialize()
. = ..()
var/datum/techweb/interdyne/active_web = locate(/datum/techweb/interdyne) in SSresearch.techwebs
connect_techweb(active_web)

//Автолат//
/obj/item/circuitboard/machine/autolathe/interdyne
name = "Interdyne autolathe board"
build_path = /obj/machinery/autolathe/hacked/interdyne

/obj/machinery/autolathe/hacked/interdyne
name = "Interdyne autolathe"
circuit = /obj/item/circuitboard/machine/autolathe/interdyne

// Печатор плат
/obj/item/circuitboard/machine/circuit_imprinter/interdyne
name = "Interdyne Circuit Imprinter board"
build_path = /obj/machinery/rnd/production/circuit_imprinter/offstation/interdyne

/obj/machinery/rnd/production/circuit_imprinter/offstation/interdyne
name = "Interdyne Circuit Imprinter"
circuit = /obj/item/circuitboard/machine/circuit_imprinter/interdyne

/obj/machinery/rnd/production/circuit_imprinter/offstation/interdyne/post_machine_initialize()
. = ..()
var/datum/techweb/interdyne/active_web = locate(/datum/techweb/interdyne) in SSresearch.techwebs
connect_techweb(active_web)

// меха-фабрикатор
/obj/item/circuitboard/machine/mechfab/interdyne
name = "Interdyne Exosuit Fabricator board"
build_path = /obj/machinery/mecha_part_fabricator/interdyne

/obj/machinery/mecha_part_fabricator/interdyne
name = "Interdyne Exosuit Fabricator"
circuit = /obj/item/circuitboard/machine/mechfab/interdyne

/obj/machinery/mecha_part_fabricator/interdyne/post_machine_initialize()
. = ..()
var/datum/techweb/interdyne/active_web = locate(/datum/techweb/interdyne) in SSresearch.techwebs
connect_techweb(active_web)

// Деструктив-Аналайзер
/obj/item/circuitboard/machine/destructive_analyzer/interdyne
name = "Interdyne Destructive Analyzer board"
build_path = /obj/machinery/rnd/destructive_analyzer/interdyne

/obj/machinery/rnd/destructive_analyzer/interdyne
name = "Interdyne Destructive Analyzer"
circuit = /obj/item/circuitboard/machine/destructive_analyzer/interdyne

/obj/machinery/rnd/destructive_analyzer/interdyne/post_machine_initialize()
. = ..()
var/datum/techweb/interdyne/active_web = locate(/datum/techweb/interdyne) in SSresearch.techwebs
connect_techweb(active_web)

// Компонент принтер
/obj/item/circuitboard/machine/component_printer/interdyne
name = "Interdyne Component Printer board"
build_path = /obj/machinery/component_printer/interdyne

/obj/machinery/component_printer/interdyne
name = "Interdyne Component Printer"
circuit = /obj/item/circuitboard/machine/component_printer/interdyne

/obj/machinery/component_printer/interdyne/post_machine_initialize()
. = ..()
var/datum/techweb/interdyne/active_web = locate(/datum/techweb/interdyne) in SSresearch.techwebs
connect_techweb(active_web)

// Дубликатор модулей
/obj/item/circuitboard/machine/module_duplicator/interdyne
name = "Interdyne Module Duplicator board"
build_path = /obj/machinery/module_duplicator/interdyne

/obj/machinery/module_duplicator/interdyne
name = "Interdyne Module Duplicator"
circuit = /obj/item/circuitboard/machine/module_duplicator/interdyne

/////////// DS-2 BLOCK ///////////
////// RND BLOCK ///////
// создаём и регистрируем РНД-сеть
/datum/controller/subsystem/research/Initialize()
. = ..()
new /datum/techweb/ds2

/datum/techweb/ds2
id = "CYBERSUN"
organization = "Cybersun Industries"
should_generate_points = TRUE

/datum/techweb/ds2/New()
. = ..()
research_node_id(TECHWEB_NODE_OLDSTATION_SURGERY, TRUE, TRUE, FALSE)

// создаём сервер под сеть
/obj/item/circuitboard/machine/rdserver/ds2
name = "Cybersun R&D Server board"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/rnd/server/ds2
req_components = list(
/obj/item/stack/cable_coil = 2,
/datum/stock_part/scanning_module = 4,
)

/obj/machinery/rnd/server/ds2
name = "\improper Cybersun R&D Server"
circuit = /obj/item/circuitboard/machine/rdserver/ds2
req_access = list(ACCESS_AWAY_SCIENCE)

/obj/machinery/rnd/server/ds2/Initialize(mapload)
var/datum/techweb/ds2/ds2_techweb = locate(/datum/techweb/ds2) in SSresearch.techwebs
stored_research = ds2_techweb
return ..()

//самое сложное - делаем консоль с раундстарт-линком на Дюносеть. Ненавижу айсмун.
/obj/item/circuitboard/computer/rdconsole/ds2
name = "Cybersun R&D Console"
build_path = /obj/machinery/computer/rdconsole/ds2

/obj/machinery/computer/rdconsole/ds2
name = "Cybersun R&D Console"
circuit = /obj/item/circuitboard/computer/rdconsole/ds2


/obj/machinery/computer/rdconsole/ds2/post_machine_initialize()
. = ..()
var/datum/techweb/ds2/active_web = locate(/datum/techweb/ds2) in SSresearch.techwebs
override_default_techweb(active_web)

////// CRAFT BLOCK ///////
//протолат
/obj/item/circuitboard/machine/protolathe/offstation/ds2
name = "Cybersun protolathe board"
build_path = /obj/machinery/rnd/production/protolathe/offstation/ds2

/obj/machinery/rnd/production/protolathe/offstation/ds2
name = "Cybersun protolathe"
circuit = /obj/item/circuitboard/machine/protolathe/offstation/ds2

/obj/machinery/rnd/production/protolathe/offstation/ds2/post_machine_initialize()
. = ..()
var/datum/techweb/ds2/active_web = locate(/datum/techweb/ds2) in SSresearch.techwebs
connect_techweb(active_web)

//Автолат//
/obj/item/circuitboard/machine/autolathe/ds2
name = "Cybersun autolathe board"
build_path = /obj/machinery/autolathe/hacked/ds2

/obj/machinery/autolathe/hacked/ds2
name = "Cybersun autolathe"
circuit = /obj/item/circuitboard/machine/autolathe/ds2

// Печатор плат
/obj/item/circuitboard/machine/circuit_imprinter/ds2
name = "Cybersun Circuit Imprinter board"
build_path = /obj/machinery/rnd/production/circuit_imprinter/offstation/ds2

/obj/machinery/rnd/production/circuit_imprinter/offstation/ds2
name = "Cybersun Circuit Imprinter"
circuit = /obj/item/circuitboard/machine/circuit_imprinter/ds2

/obj/machinery/rnd/production/circuit_imprinter/offstation/ds2/post_machine_initialize()
. = ..()
var/datum/techweb/ds2/active_web = locate(/datum/techweb/ds2) in SSresearch.techwebs
connect_techweb(active_web)

// меха-фабрикатор
/obj/item/circuitboard/machine/mechfab/ds2
name = "Cybersun Exosuit Fabricator board"
build_path = /obj/machinery/mecha_part_fabricator/ds2

/obj/machinery/mecha_part_fabricator/ds2
name = "Cybersun Exosuit Fabricator"
circuit = /obj/item/circuitboard/machine/mechfab/ds2

/obj/machinery/mecha_part_fabricator/ds2/post_machine_initialize()
. = ..()
var/datum/techweb/ds2/active_web = locate(/datum/techweb/ds2) in SSresearch.techwebs
connect_techweb(active_web)

// Деструктив-Аналайзер
/obj/item/circuitboard/machine/destructive_analyzer/ds2
name = "Cybersun Destructive Analyzer board"
build_path = /obj/machinery/rnd/destructive_analyzer/ds2

/obj/machinery/rnd/destructive_analyzer/ds2
name = "Cybersun Destructive Analyzer"
circuit = /obj/item/circuitboard/machine/destructive_analyzer/ds2

/obj/machinery/rnd/destructive_analyzer/ds2/post_machine_initialize()
. = ..()
var/datum/techweb/ds2/active_web = locate(/datum/techweb/ds2) in SSresearch.techwebs
connect_techweb(active_web)

// Компонент принтер
/obj/item/circuitboard/machine/component_printer/ds2
name = "Cybersun Component Printer board"
build_path = /obj/machinery/component_printer/ds2

/obj/machinery/component_printer/ds2
name = "Cybersun Component Printer"
circuit = /obj/item/circuitboard/machine/component_printer/ds2

/obj/machinery/component_printer/ds2/post_machine_initialize()
. = ..()
var/datum/techweb/ds2/active_web = locate(/datum/techweb/ds2) in SSresearch.techwebs
connect_techweb(active_web)

// Дубликатор модулей
/obj/item/circuitboard/machine/module_duplicator/ds2
name = "Cybersun Module Duplicator board"
build_path = /obj/machinery/module_duplicator/ds2

/obj/machinery/module_duplicator/ds2
name = "Cybersun Module Duplicator"
circuit = /obj/item/circuitboard/machine/module_duplicator/ds2

/////MAP SPAWN BLOCK /////
//Делаем ссылку на свою карту - и оверрайдим нову.
/datum/map_template/ruin/space/nova/des_two
id = "des_two"
prefix = "_maps/RandomRuins/SpaceRuins/fluffy/"
suffix = "des_two.dmm"
name = "Space-Ruin DS-2"
Iajret marked this conversation as resolved.
Show resolved Hide resolved
description = "If DS-1 was so good..."
always_place = TRUE
allow_duplicates = FALSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/datum/map_template/ruin/space/nova/des_two
id = "des_two"
prefix = "_maps/RandomRuins/SpaceRuins/fluffy/"
suffix = "des_two.dmm"
name = "Space-Ruin DS-2"
description = "If DS-1 was so good..."
always_place = TRUE
allow_duplicates = FALSE
Loading
Loading