diff --git a/code/__DEFINES/research.dm b/code/__DEFINES/research.dm index f7660d2293b..30ed0d4ad50 100644 --- a/code/__DEFINES/research.dm +++ b/code/__DEFINES/research.dm @@ -53,7 +53,9 @@ #define CELL_LINE_TABLE_COW "cell_line_cow_table" #define CELL_LINE_TABLE_MOONICORN "cell_line_moonicorn_table" #define CELL_LINE_TABLE_GELATINOUS "cell_line_gelatinous_table" +#define CELL_LINE_TABLE_GLOCKROACH "cell_line_glockroach_table" #define CELL_LINE_TABLE_GRAPE "cell_line_grape_table" +#define CELL_LINE_TABLE_HAUBEROACH "cell_line_hauberoach_table" #define CELL_LINE_TABLE_MEGACARP "cell_line_megacarp_table" #define CELL_LINE_TABLE_MOUSE "cell_line_mouse_table" #define CELL_LINE_TABLE_PINE "cell_line_pine_table" diff --git a/code/_globalvars/lists/xenobiology.dm b/code/_globalvars/lists/xenobiology.dm index 83d738fdab3..ee2a7724b21 100644 --- a/code/_globalvars/lists/xenobiology.dm +++ b/code/_globalvars/lists/xenobiology.dm @@ -19,6 +19,8 @@ GLOBAL_LIST_INIT_TYPED(cell_line_tables, /list, list( /datum/micro_organism/cell_line/megacarp = 1, /datum/micro_organism/cell_line/slime = 2, /datum/micro_organism/cell_line/snake = 1, + /datum/micro_organism/cell_line/glockroach = 1, + /datum/micro_organism/cell_line/hauberoach = 1, ), CELL_LINE_TABLE_BLOB = list( @@ -48,7 +50,9 @@ GLOBAL_LIST_INIT_TYPED(cell_line_tables, /list, list( CELL_LINE_TABLE_COW = list(/datum/micro_organism/cell_line/cow = 1), CELL_LINE_TABLE_MOONICORN = list(/datum/micro_organism/cell_line/moonicorn = 1), CELL_LINE_TABLE_GELATINOUS = list(/datum/micro_organism/cell_line/gelatinous_cube = 1), + CELL_LINE_TABLE_GLOCKROACH = list(/datum/micro_organism/cell_line/glockroach = 1), CELL_LINE_TABLE_GRAPE = list(/datum/micro_organism/cell_line/sholean_grapes = 1), + CELL_LINE_TABLE_HAUBEROACH = list(/datum/micro_organism/cell_line/hauberoach = 1), CELL_LINE_TABLE_MEGACARP = list(/datum/micro_organism/cell_line/megacarp = 1), CELL_LINE_TABLE_MOUSE = list(/datum/micro_organism/cell_line/mouse = 1), CELL_LINE_TABLE_PINE = list(/datum/micro_organism/cell_line/pine = 1), diff --git a/code/modules/mob/living/basic/vermin/cockroach.dm b/code/modules/mob/living/basic/vermin/cockroach.dm index 89579d8bd92..512cd1dd1a8 100644 --- a/code/modules/mob/living/basic/vermin/cockroach.dm +++ b/code/modules/mob/living/basic/vermin/cockroach.dm @@ -27,10 +27,12 @@ ai_controller = /datum/ai_controller/basic_controller/cockroach + var/cockroach_cell_line = CELL_LINE_TABLE_COCKROACH + /mob/living/basic/cockroach/Initialize(mapload) . = ..() AddElement(/datum/element/death_drops, list(/obj/effect/decal/cleanable/insectguts)) - AddElement(/datum/element/swabable, CELL_LINE_TABLE_COCKROACH, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 7) + AddElement(/datum/element/swabable, cockroach_cell_line, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 7) AddElement(/datum/element/basic_body_temp_sensitive, 270, INFINITY) AddComponent(/datum/component/squashable, squash_chance = 50, squash_damage = 1) ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) @@ -77,6 +79,7 @@ gold_core_spawnable = HOSTILE_SPAWN faction = list("hostile") ai_controller = /datum/ai_controller/basic_controller/cockroach/glockroach + cockroach_cell_line = CELL_LINE_TABLE_GLOCKROACH /mob/living/basic/cockroach/glockroach/Initialize(mapload) . = ..() @@ -111,6 +114,7 @@ faction = list("hostile") sharpness = SHARP_POINTY ai_controller = /datum/ai_controller/basic_controller/cockroach/hauberoach + cockroach_cell_line = CELL_LINE_TABLE_HAUBEROACH /mob/living/basic/cockroach/hauberoach/Initialize(mapload) . = ..() diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm index 79081869b75..1c2da8d5ac7 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm @@ -358,6 +358,48 @@ virus_suspectibility = 0 resulting_atoms = list(/mob/living/basic/cockroach = 5) +/datum/micro_organism/cell_line/glockroach + desc = "Gattodeoid anthropod cells" + required_reagents = list( + /datum/reagent/consumable/nutriment/protein, + /datum/reagent/drug/maint/powder, + /datum/reagent/iron) + + supplementary_reagents = list( + /datum/reagent/gunpowder = 6, + /datum/reagent/drug/maint/tar = 4, + /datum/reagent/yuck = 2, + /datum/reagent/growthserum = 2) + + suppressive_reagents = list( + /datum/reagent/toxin/pestkiller = -2, + /datum/reagent/consumable/coffee = -3, //a quick google search said roaches don't like coffee grounds, and I needed a different suppressive reagent + /datum/reagent/consumable/ethanol/bug_spray = -4) + + virus_suspectibility = 0 + resulting_atoms = list(/mob/living/basic/cockroach/glockroach = 2) + +/datum/micro_organism/cell_line/hauberoach + desc = "Hattodeoid anthropod cells" + required_reagents = list( + /datum/reagent/consumable/nutriment/protein, + /datum/reagent/consumable/ethanol/beer, + /datum/reagent/iron) + + supplementary_reagents = list( + /datum/reagent/gunpowder = 6, + /datum/reagent/medicine/pen_acid = 4, //Prussian Blue is an antidote for radioactive thallium poisoning, among other things. The pickelhaube was worn by Prussian/German officers. You can tell I'm running out of ideas here. + /datum/reagent/yuck = 2, + /datum/reagent/blood = 2) + + suppressive_reagents = list( + /datum/reagent/toxin/pestkiller = -2, + /datum/reagent/consumable/coffee = -3, + /datum/reagent/consumable/ethanol/cognac = -4) + + virus_suspectibility = 0 + resulting_atoms = list(/mob/living/basic/cockroach/hauberoach = 2) + /datum/micro_organism/cell_line/pine desc = "Coniferous plant cells" required_reagents = list(