[MIRROR] [READY] RND TECHWEBS + DEPARTMENTAL LATHES (#4014)
* [READY] RND TECHWEBS + DEPARTMENTAL LATHES * resetting all the maps because we can worry about them later. * Regexing * I'm fucked * Fixes * . * maps * bleh * ree * fixes
This commit is contained in:
committed by
kevinz000
parent
b5600cb91c
commit
cc0b768c72
@@ -15,13 +15,13 @@
|
||||
var/efficiency = 0
|
||||
var/productivity = 0
|
||||
var/max_items = 40
|
||||
var/datum/research/files
|
||||
var/datum/techweb/stored_research
|
||||
var/list/show_categories = list("Food", "Botany Chemicals", "Leather and Cloth")
|
||||
var/list/timesFiveCategories = list("Food", "Botany Chemicals")
|
||||
|
||||
/obj/machinery/biogenerator/Initialize()
|
||||
. = ..()
|
||||
files = new /datum/research/biogenerator(src)
|
||||
stored_research = new /datum/techweb/specialized/autounlocking/biogenerator
|
||||
create_reagents(1000)
|
||||
|
||||
/obj/machinery/biogenerator/Destroy()
|
||||
@@ -124,7 +124,7 @@
|
||||
to_chat(user, "<span class='info'>You empty the plant bag into the biogenerator, filling it to its capacity.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='info'>You fill the biogenerator to its capacity.</span>")
|
||||
return 1 //no afterattack
|
||||
return TRUE //no afterattack
|
||||
|
||||
else if(istype(O, /obj/item/reagent_containers/food/snacks/grown))
|
||||
var/i = 0
|
||||
@@ -135,7 +135,7 @@
|
||||
else
|
||||
if(user.transferItemToLoc(O, src))
|
||||
to_chat(user, "<span class='info'>You put [O.name] in [src.name]</span>")
|
||||
return 1 //no afterattack
|
||||
return TRUE //no afterattack
|
||||
else if (istype(O, /obj/item/disk/design_disk))
|
||||
user.visible_message("[user] begins to load \the [O] in \the [src]...",
|
||||
"You begin to load a design from \the [O]...",
|
||||
@@ -145,9 +145,9 @@
|
||||
if(do_after(user, 10, target = src))
|
||||
for(var/B in D.blueprints)
|
||||
if(B)
|
||||
files.AddDesign2Known(B)
|
||||
stored_research.add_design(B)
|
||||
processing = FALSE
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You cannot put this in [src.name]!</span>")
|
||||
|
||||
@@ -176,8 +176,8 @@
|
||||
var/categories = show_categories.Copy()
|
||||
for(var/V in categories)
|
||||
categories[V] = list()
|
||||
for(var/V in files.known_designs)
|
||||
var/datum/design/D = files.known_designs[V]
|
||||
for(var/V in stored_research.researched_designs)
|
||||
var/datum/design/D = stored_research.researched_designs[V]
|
||||
for(var/C in categories)
|
||||
if(C in D.category)
|
||||
categories[C] += D
|
||||
@@ -237,16 +237,16 @@
|
||||
|
||||
/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = 1)
|
||||
if(materials.len != 1 || materials[1] != MAT_BIOMASS)
|
||||
return 0
|
||||
return FALSE
|
||||
if (materials[MAT_BIOMASS]*multiplier/efficiency > points)
|
||||
menustat = "nopoints"
|
||||
return 0
|
||||
return FALSE
|
||||
else
|
||||
if(remove_points)
|
||||
points -= materials[MAT_BIOMASS]*multiplier/efficiency
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/biogenerator/proc/check_container_volume(list/reagents, multiplier = 1)
|
||||
var/sum_reagents = 0
|
||||
@@ -256,19 +256,19 @@
|
||||
|
||||
if(beaker.reagents.total_volume + sum_reagents > beaker.reagents.maximum_volume)
|
||||
menustat = "nobeakerspace"
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/biogenerator/proc/create_product(datum/design/D, amount)
|
||||
if(!beaker || !loc)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(ispath(D.build_path, /obj/item/stack))
|
||||
if(!check_container_volume(D.make_reagents, amount))
|
||||
return 0
|
||||
return FALSE
|
||||
if(!check_cost(D.materials, amount))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/obj/item/stack/product = new D.build_path(loc)
|
||||
product.amount = amount
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
// Saves us from having to define each stupid grown's dried_type as itself.
|
||||
// If you don't want a plant to be driable (watermelons) set this to null in the time definition.
|
||||
resistance_flags = FLAMMABLE
|
||||
origin_tech = "biotech=1"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/Initialize(mapload, obj/item/seeds/new_seed)
|
||||
. = ..()
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
seed = /obj/item/seeds/ambrosia
|
||||
name = "ambrosia vulgaris branch"
|
||||
desc = "This is a plant containing various healing chemicals."
|
||||
origin_tech = "biotech=2"
|
||||
|
||||
// Ambrosia Deus
|
||||
/obj/item/seeds/ambrosia/deus
|
||||
@@ -50,7 +49,6 @@
|
||||
desc = "Eating this makes you feel immortal!"
|
||||
icon_state = "ambrosiadeus"
|
||||
filling_color = "#008B8B"
|
||||
origin_tech = "biotech=4;materials=3"
|
||||
|
||||
//Ambrosia Gaia
|
||||
/obj/item/seeds/ambrosia/gaia
|
||||
@@ -72,6 +70,5 @@
|
||||
desc = "Eating this <i>makes</i> you immortal."
|
||||
icon_state = "ambrosia_gaia"
|
||||
filling_color = rgb(255, 175, 0)
|
||||
origin_tech = "biotech=6;materials=5"
|
||||
light_range = 3
|
||||
seed = /obj/item/seeds/ambrosia/gaia
|
||||
|
||||
@@ -56,4 +56,3 @@
|
||||
desc = "Emblazoned upon the apple is the word 'Kallisti'."
|
||||
icon_state = "goldapple"
|
||||
filling_color = "#FFD700"
|
||||
origin_tech = "biotech=4;materials=5"
|
||||
|
||||
@@ -107,7 +107,6 @@
|
||||
item_state = "bluespace_peel"
|
||||
trash = /obj/item/grown/bananapeel/bluespace
|
||||
filling_color = "#0000FF"
|
||||
origin_tech = "biotech=3;bluespace=5"
|
||||
|
||||
/obj/item/grown/bananapeel/bluespace
|
||||
seed = /obj/item/seeds/banana/bluespace
|
||||
|
||||
@@ -90,7 +90,6 @@
|
||||
desc = "Nutritious!"
|
||||
icon_state = "glowberrypile"
|
||||
filling_color = "#7CFC00"
|
||||
origin_tech = "plasmatech=6"
|
||||
foodtype = FRUIT
|
||||
|
||||
// Cherries
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
icon_state = "icepepper"
|
||||
filling_color = "#0000CD"
|
||||
bitesize_mod = 2
|
||||
origin_tech = "biotech=4"
|
||||
foodtype = VEGETABLES
|
||||
|
||||
// Ghost Chili
|
||||
@@ -76,7 +75,6 @@
|
||||
var/mob/living/carbon/human/held_mob
|
||||
filling_color = "#F8F8FF"
|
||||
bitesize_mod = 4
|
||||
origin_tech = "biotech=4;magnets=5"
|
||||
foodtype = VEGETABLES
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/ghost_chili/attack_hand(mob/user)
|
||||
|
||||
@@ -108,7 +108,6 @@
|
||||
name = "gatfruit"
|
||||
desc = "It smells like burning."
|
||||
icon_state = "gatfruit"
|
||||
origin_tech = "combat=6"
|
||||
trash = /obj/item/gun/ballistic/revolver
|
||||
bitesize_mod = 2
|
||||
foodtype = FRUIT
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.1, "nutriment" = 0, "amanitin" = 0.2)
|
||||
rarity = 30
|
||||
origin_tech = "biotech=5"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/mushroom/angel
|
||||
seed = /obj/item/seeds/angel
|
||||
@@ -163,7 +162,6 @@
|
||||
desc = "<I>Plumus Locomotus</I>: The beginning of the great walk."
|
||||
icon_state = "walkingmushroom"
|
||||
filling_color = "#9370DB"
|
||||
origin_tech = "biotech=4;programming=5"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user)
|
||||
if(isspaceturf(user.loc))
|
||||
@@ -233,7 +231,6 @@
|
||||
icon_state = "glowshroom"
|
||||
filling_color = "#00FA9A"
|
||||
var/effect_path = /obj/structure/glowshroom
|
||||
origin_tech = "biotech=4;plasmatech=6"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user)
|
||||
if(isspaceturf(user.loc))
|
||||
@@ -280,7 +277,6 @@
|
||||
icon_state = "glowcap"
|
||||
filling_color = "#00FA9A"
|
||||
effect_path = /obj/structure/glowshroom/glowcap
|
||||
origin_tech = "biotech=4;powerstorage=6;plasmatech=4"
|
||||
|
||||
|
||||
//Shadowshroom
|
||||
@@ -304,7 +300,6 @@
|
||||
desc = "<I>Mycena Umbra</I>: This species of mushroom emits shadow instead of light."
|
||||
icon_state = "shadowshroom"
|
||||
effect_path = /obj/structure/glowshroom/shadowshroom
|
||||
origin_tech = "biotech=4;plasmatech=4;magnets=4"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom/attack_self(mob/user)
|
||||
. = ..()
|
||||
|
||||
@@ -42,7 +42,6 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "combat=3"
|
||||
attack_verb = list("stung")
|
||||
|
||||
/obj/item/grown/nettle/suicide_act(mob/user)
|
||||
@@ -92,7 +91,6 @@
|
||||
icon_state = "deathnettle"
|
||||
force = 30
|
||||
throwforce = 15
|
||||
origin_tech = "combat=5"
|
||||
|
||||
/obj/item/grown/nettle/death/add_juice()
|
||||
..()
|
||||
|
||||
@@ -43,9 +43,9 @@
|
||||
icon_state = "bloodtomato"
|
||||
splat_type = /obj/effect/gibspawner/generic
|
||||
filling_color = "#FF0000"
|
||||
origin_tech = "biotech=5"
|
||||
foodtype = VEGETABLES | GROSS
|
||||
|
||||
|
||||
// Blue Tomato
|
||||
/obj/item/seeds/tomato/blue
|
||||
name = "pack of blue-tomato seeds"
|
||||
@@ -89,7 +89,6 @@
|
||||
name = "bluespace tomato"
|
||||
desc = "So lubricated, you might slip through space-time."
|
||||
icon_state = "bluespacetomato"
|
||||
origin_tech = "biotech=4;bluespace=5"
|
||||
|
||||
|
||||
// Killer Tomato
|
||||
@@ -116,7 +115,6 @@
|
||||
icon_state = "killertomato"
|
||||
var/awakening = 0
|
||||
filling_color = "#FF0000"
|
||||
origin_tech = "biotech=4;combat=5"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/tomato/killer/attack(mob/M, mob/user, def_zone)
|
||||
if(awakening)
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
|
||||
var/plank_type = /obj/item/stack/sheet/mineral/wood
|
||||
var/plank_name = "wooden planks"
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "magnets=2;biotech=2"
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=20)
|
||||
|
||||
// *************************************
|
||||
@@ -72,7 +71,6 @@
|
||||
item_state = "cultivator"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
|
||||
origin_tech = "engineering=2;biotech=2"
|
||||
flags_1 = CONDUCT_1
|
||||
force = 5
|
||||
throwforce = 7
|
||||
@@ -96,7 +94,6 @@
|
||||
throw_speed = 3
|
||||
throw_range = 4
|
||||
materials = list(MAT_METAL = 15000)
|
||||
origin_tech = "materials=2;combat=2"
|
||||
attack_verb = list("chopped", "torn", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
@@ -120,7 +117,6 @@
|
||||
flags_1 = CONDUCT_1
|
||||
armour_penetration = 20
|
||||
slot_flags = SLOT_BACK
|
||||
origin_tech = "materials=3;combat=2"
|
||||
attack_verb = list("chopped", "sliced", "cut", "reaped")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
var/swiping = FALSE
|
||||
|
||||
@@ -137,7 +137,6 @@
|
||||
/datum/plant_gene/trait
|
||||
var/rate = 0.05
|
||||
var/examine_line = ""
|
||||
var/list/origin_tech = null
|
||||
var/trait_id // must be set and equal for any two traits of the same type
|
||||
|
||||
/datum/plant_gene/trait/Copy()
|
||||
@@ -157,19 +156,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/plant_gene/trait/proc/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
|
||||
if(!origin_tech) // This ugly code segment adds RnD tech levels to resulting plants.
|
||||
return
|
||||
|
||||
if(G.origin_tech)
|
||||
var/list/tech = params2list(G.origin_tech)
|
||||
for(var/t in origin_tech)
|
||||
if(t in tech)
|
||||
tech[t] = max(text2num(tech[t]), origin_tech[t])
|
||||
else
|
||||
tech[t] = origin_tech[t]
|
||||
G.origin_tech = list2params(tech)
|
||||
else
|
||||
G.origin_tech = list2params(origin_tech)
|
||||
return
|
||||
|
||||
/datum/plant_gene/trait/proc/on_consume(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target)
|
||||
return
|
||||
@@ -195,7 +182,6 @@
|
||||
// For code, see grown.dm
|
||||
name = "Liquid Contents"
|
||||
examine_line = "<span class='info'>It has a lot of liquid contents inside.</span>"
|
||||
origin_tech = list("biotech" = 5)
|
||||
|
||||
/datum/plant_gene/trait/slip
|
||||
// Makes plant slippery, unless it has a grown-type trash. Then the trash gets slippery.
|
||||
@@ -229,7 +215,6 @@
|
||||
// Multiplies max charge by (rate*1000) when used in potato power cells.
|
||||
name = "Electrical Activity"
|
||||
rate = 0.2
|
||||
origin_tech = list("powerstorage" = 5)
|
||||
|
||||
/datum/plant_gene/trait/cell_charge/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C)
|
||||
var/power = G.seed.potency*rate
|
||||
@@ -304,7 +289,6 @@
|
||||
// Teleport radius is calculated as max(round(potency*rate), 1)
|
||||
name = "Bluespace Activity"
|
||||
rate = 0.1
|
||||
origin_tech = list("bluespace" = 5)
|
||||
|
||||
/datum/plant_gene/trait/teleport/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
|
||||
if(isliving(target))
|
||||
|
||||
Reference in New Issue
Block a user