Merge pull request #3124 from Ergovisavi/mineral_economy

Minerals rates, Mineral costs, Mineral amounts, Mining stuff, etc.
This commit is contained in:
Razharas
2014-04-17 19:25:07 -07:00
29 changed files with 2599 additions and 2574 deletions
+32 -29
View File
@@ -1,29 +1,32 @@
#define MIDNIGHT_ROLLOVER 864000 //number of deciseconds in a day
//Security levels
#define SEC_LEVEL_GREEN 0
#define SEC_LEVEL_BLUE 1
#define SEC_LEVEL_RED 2
#define SEC_LEVEL_DELTA 3
//some arbitrary defines to be used by self-pruning global lists. (see master_controller)
#define PROCESS_KILL 26 //Used to trigger removal from a processing list
#define MANIFEST_ERROR_NAME 1
#define MANIFEST_ERROR_COUNT 2
#define MANIFEST_ERROR_ITEM 4
#define TRANSITIONEDGE 7 //Distance from edge to move to another z-level
//HUD styles. Please ensure HUD_VERSIONS is the same as the maximum index. Index order defines how they are cycled in F12.
#define HUD_STYLE_STANDARD 1
#define HUD_STYLE_REDUCED 2
#define HUD_STYLE_NOHUD 3
#define HUD_VERSIONS 3 //used in show_hud()
//1 = standard hud
//2 = reduced hud (just hands and intent switcher)
//3 = no hud (for screenshots)
#define MIDNIGHT_ROLLOVER 864000 //number of deciseconds in a day
//Security levels
#define SEC_LEVEL_GREEN 0
#define SEC_LEVEL_BLUE 1
#define SEC_LEVEL_RED 2
#define SEC_LEVEL_DELTA 3
//some arbitrary defines to be used by self-pruning global lists. (see master_controller)
#define PROCESS_KILL 26 //Used to trigger removal from a processing list
#define MANIFEST_ERROR_NAME 1
#define MANIFEST_ERROR_COUNT 2
#define MANIFEST_ERROR_ITEM 4
#define TRANSITIONEDGE 7 //Distance from edge to move to another z-level
//HUD styles. Please ensure HUD_VERSIONS is the same as the maximum index. Index order defines how they are cycled in F12.
#define HUD_STYLE_STANDARD 1
#define HUD_STYLE_REDUCED 2
#define HUD_STYLE_NOHUD 3
#define HUD_VERSIONS 3 //used in show_hud()
//1 = standard hud
//2 = reduced hud (just hands and intent switcher)
//3 = no hud (for screenshots)
#define MINERAL_MATERIAL_AMOUNT 2000
//The amount of materials you get from a sheet of mineral like iron/diamond/glass etc
+4 -4
View File
@@ -133,12 +133,12 @@ var/global/list/autolathe_recipes_hidden = list( \
if (panel_open)
if(istype(O, /obj/item/weapon/crowbar))
if(m_amount >= 3750)
if(m_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc)
G.amount = round(m_amount / 3750)
if(g_amount >= 3750)
G.amount = round(m_amount / MINERAL_MATERIAL_AMOUNT)
if(g_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
G.amount = round(g_amount / 3750)
G.amount = round(g_amount / MINERAL_MATERIAL_AMOUNT)
default_deconstruction_crowbar(O)
return 1
else
@@ -6,8 +6,8 @@
w_class = 2
anchored = 0
m_amt = 700
g_amt = 300
m_amt = 400
g_amt = 250
// Motion, EMP-Proof, X-Ray
var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/plasma, /obj/item/device/analyzer)
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -90,37 +90,37 @@ Please wait until completion...</TT><BR>
if (1)
build_type = "/obj/item/robot_parts/l_arm"
build_time = 200
build_cost = 25000
build_cost = 10000
if (2)
build_type = "/obj/item/robot_parts/r_arm"
build_time = 200
build_cost = 25000
build_cost = 10000
if (3)
build_type = "/obj/item/robot_parts/l_leg"
build_time = 200
build_cost = 25000
build_cost = 10000
if (4)
build_type = "/obj/item/robot_parts/r_leg"
build_time = 200
build_cost = 25000
build_cost = 10000
if (5)
build_type = "/obj/item/robot_parts/chest"
build_time = 350
build_cost = 50000
build_cost = 40000
if (6)
build_type = "/obj/item/robot_parts/head"
build_time = 350
build_cost = 50000
build_cost = 5000
if (7)
build_type = "/obj/item/robot_parts/robot_suit"
build_time = 600
build_cost = 75000
build_cost = 15000
var/building = text2path(build_type)
if (!isnull(building))
+37 -24
View File
@@ -695,10 +695,10 @@
return 0
var/result = 0
var/obj/item/stack/sheet/res = new type(src)
var/total_amount = round(resources[mat_string]/res.perunit)
res.amount = min(total_amount,amount)
var/total_amount = round(resources[mat_string]/MINERAL_MATERIAL_AMOUNT)
res.amount = min(total_amount,res.max_amount)
if(res.amount>0)
resources[mat_string] -= res.amount*res.perunit
resources[mat_string] -= res.amount*MINERAL_MATERIAL_AMOUNT
res.Move(src.loc)
result = res.amount
else
@@ -713,34 +713,48 @@
if(exchange_parts(user, W))
return
default_deconstruction_crowbar(W)
if (panel_open)
if(panel_open)
if(istype(W, /obj/item/weapon/crowbar))
if(src.resources["metal"] >= 3750)
while(src.resources["metal"] >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc)
G.amount = round(src.resources["metal"] / G.perunit)
if(src.resources["glass"] >= 3750)
var/sheet_conversion = round(src.resources["metal"] / MINERAL_MATERIAL_AMOUNT)
G.amount = min(sheet_conversion, G.max_amount)
src.resources["metal"] -= (G.amount * MINERAL_MATERIAL_AMOUNT)
while(src.resources["glass"] >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
G.amount = round(src.resources["glass"] / G.perunit)
if(src.resources["plasma"] >= 2000)
var/sheet_conversion = round(src.resources["glass"] / MINERAL_MATERIAL_AMOUNT)
G.amount = min(sheet_conversion, G.max_amount)
src.resources["glass"] -= (G.amount * MINERAL_MATERIAL_AMOUNT)
while(src.resources["plasma"] >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/plasma/G = new /obj/item/stack/sheet/mineral/plasma(src.loc)
G.amount = round(src.resources["plasma"] / G.perunit)
if(src.resources["silver"] >= 2000)
var/sheet_conversion = round(src.resources["plasma"] / MINERAL_MATERIAL_AMOUNT)
G.amount = min(sheet_conversion, G.max_amount)
src.resources["plasma"] -= (G.amount * MINERAL_MATERIAL_AMOUNT)
while(src.resources["silver"] >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver(src.loc)
G.amount = round(src.resources["silver"] / G.perunit)
if(src.resources["gold"] >= 2000)
var/sheet_conversion = round(src.resources["silver"] / MINERAL_MATERIAL_AMOUNT)
G.amount = min(sheet_conversion, G.max_amount)
src.resources["silver"] -= (G.amount * MINERAL_MATERIAL_AMOUNT)
while(src.resources["gold"] >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(src.loc)
G.amount = round(src.resources["gold"] / G.perunit)
if(src.resources["uranium"] >= 2000)
var/sheet_conversion = round(src.resources["gold"] / MINERAL_MATERIAL_AMOUNT)
G.amount = min(sheet_conversion, G.max_amount)
src.resources["gold"] -= (G.amount * MINERAL_MATERIAL_AMOUNT)
while(src.resources["uranium"] >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(src.loc)
G.amount = round(src.resources["uranium"] / G.perunit)
if(src.resources["diamond"] >= 2000)
var/sheet_conversion = round(src.resources["uranium"] / MINERAL_MATERIAL_AMOUNT)
G.amount = min(sheet_conversion, G.max_amount)
src.resources["uranium"] -= (G.amount * MINERAL_MATERIAL_AMOUNT)
while(src.resources["diamond"] >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc)
G.amount = round(src.resources["diamond"] / G.perunit)
if(src.resources["bananium"] >= 2000)
var/sheet_conversion = round(src.resources["diamond"] / MINERAL_MATERIAL_AMOUNT)
G.amount = min(sheet_conversion, G.max_amount)
src.resources["diamond"] -= (G.amount * MINERAL_MATERIAL_AMOUNT)
while(src.resources["bananium"] >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/clown/G = new /obj/item/stack/sheet/mineral/clown(src.loc)
G.amount = round(src.resources["bananium"] / G.perunit)
var/sheet_conversion = round(src.resources["bananium"] / MINERAL_MATERIAL_AMOUNT)
G.amount = min(sheet_conversion, G.max_amount)
src.resources["bananium"] -= (G.amount * MINERAL_MATERIAL_AMOUNT)
default_deconstruction_crowbar(W)
return 1
else
@@ -776,12 +790,11 @@
return
var/obj/item/stack/sheet/stack = W
var/sname = "[stack.name]"
var/amnt = stack.perunit
if(src.resources[material] < res_max_amount)
var/count = 0
src.overlays += "fab-load-[material]"//loading animation is now an overlay based on material type. No more spontaneous conversion of all ores to metal. -vey
while(src.resources[material] < res_max_amount && stack && stack.amount > 0)
src.resources[material] += amnt
src.resources[material] += MINERAL_MATERIAL_AMOUNT
stack.use(1)
count++
sleep(10)
+29 -33
View File
@@ -42,7 +42,7 @@
icon_state = "ripley_harness"
origin_tech = "programming=2;materials=2;biotech=2;engineering=2"
construction_time = 200
construction_cost = list("metal"=40000,"glass"=15000)
construction_cost = list("metal"=20000,"glass"=7500)
/obj/item/mecha_parts/part/ripley_left_arm
name = "\improper Ripley left arm"
@@ -50,7 +50,7 @@
icon_state = "ripley_l_arm"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 150
construction_cost = list("metal"=25000)
construction_cost = list("metal"=15000)
/obj/item/mecha_parts/part/ripley_right_arm
name = "\improper Ripley right arm"
@@ -58,7 +58,7 @@
icon_state = "ripley_r_arm"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 150
construction_cost = list("metal"=25000)
construction_cost = list("metal"=15000)
/obj/item/mecha_parts/part/ripley_left_leg
name = "\improper Ripley left leg"
@@ -66,7 +66,7 @@
icon_state = "ripley_l_leg"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 150
construction_cost = list("metal"=30000)
construction_cost = list("metal"=15000)
/obj/item/mecha_parts/part/ripley_right_leg
name = "\improper Ripley right leg"
@@ -74,14 +74,12 @@
icon_state = "ripley_r_leg"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 150
construction_cost = list("metal"=30000)
construction_cost = list("metal"=15000)
///////// Gygax
/obj/item/mecha_parts/chassis/gygax
name = "\improper Gygax chassis"
construction_cost = list("metal"=25000)
New()
..()
construct = new /datum/construction/mecha/gygax_chassis(src)
@@ -92,7 +90,7 @@
icon_state = "gygax_harness"
origin_tech = "programming=2;materials=2;biotech=3;engineering=3"
construction_time = 300
construction_cost = list("metal"=50000,"glass"=20000)
construction_cost = list("metal"=20000,"glass"=10000,"diamond"=2000)
/obj/item/mecha_parts/part/gygax_head
name = "\improper Gygax head"
@@ -100,7 +98,7 @@
icon_state = "gygax_head"
origin_tech = "programming=2;materials=2;magnets=3;engineering=3"
construction_time = 200
construction_cost = list("metal"=20000,"glass"=10000)
construction_cost = list("metal"=10000,"glass"=5000, "diamond"=2000)
/obj/item/mecha_parts/part/gygax_left_arm
name = "\improper Gygax left arm"
@@ -108,7 +106,7 @@
icon_state = "gygax_l_arm"
origin_tech = "programming=2;materials=2;engineering=3"
construction_time = 200
construction_cost = list("metal"=30000)
construction_cost = list("metal"=15000, "diamond"=1000)
/obj/item/mecha_parts/part/gygax_right_arm
name = "\improper Gygax right arm"
@@ -116,7 +114,7 @@
icon_state = "gygax_r_arm"
origin_tech = "programming=2;materials=2;engineering=3"
construction_time = 200
construction_cost = list("metal"=30000)
construction_cost = list("metal"=15000, "diamond"=1000)
/obj/item/mecha_parts/part/gygax_left_leg
name = "\improper Gygax left leg"
@@ -124,7 +122,7 @@
icon_state = "gygax_l_leg"
origin_tech = "programming=2;materials=2;engineering=3"
construction_time = 200
construction_cost = list("metal"=35000)
construction_cost = list("metal"=15000, "diamond"=2000)
/obj/item/mecha_parts/part/gygax_right_leg
name = "\improper Gygax right leg"
@@ -132,7 +130,7 @@
icon_state = "gygax_r_leg"
origin_tech = "programming=2;materials=2;engineering=3"
construction_time = 200
construction_cost = list("metal"=35000)
construction_cost = list("metal"=15000, "diamond"=2000)
/obj/item/mecha_parts/part/gygax_armour
gender = PLURAL
@@ -141,7 +139,7 @@
icon_state = "gygax_armour"
origin_tech = "materials=6;combat=4;engineering=5"
construction_time = 600
construction_cost = list("metal"=50000,"diamond"=10000)
construction_cost = list("metal"=25000,"diamond"=10000)
//////////// Durand
@@ -160,7 +158,7 @@
icon_state = "durand_harness"
origin_tech = "programming=2;materials=3;biotech=3;engineering=3"
construction_time = 300
construction_cost = list("metal"=55000,"glass"=20000,"silver"=10000)
construction_cost = list("metal"=25000,"glass"=10000,"silver"=10000)
/obj/item/mecha_parts/part/durand_head
name = "\improper Durand head"
@@ -168,7 +166,7 @@
icon_state = "durand_head"
origin_tech = "programming=2;materials=3;magnets=3;engineering=3"
construction_time = 200
construction_cost = list("metal"=25000,"glass"=10000,"silver"=3000)
construction_cost = list("metal"=10000,"glass"=15000,"silver"=2000)
/obj/item/mecha_parts/part/durand_left_arm
name = "\improper Durand left arm"
@@ -176,7 +174,7 @@
icon_state = "durand_l_arm"
origin_tech = "programming=2;materials=3;engineering=3"
construction_time = 200
construction_cost = list("metal"=35000,"silver"=3000)
construction_cost = list("metal"=10000,"silver"=4000)
/obj/item/mecha_parts/part/durand_right_arm
name = "\improper Durand right arm"
@@ -184,7 +182,7 @@
icon_state = "durand_r_arm"
origin_tech = "programming=2;materials=3;engineering=3"
construction_time = 200
construction_cost = list("metal"=35000,"silver"=3000)
construction_cost = list("metal"=10000,"silver"=4000)
/obj/item/mecha_parts/part/durand_left_leg
name = "\improper Durand left leg"
@@ -192,7 +190,7 @@
icon_state = "durand_l_leg"
origin_tech = "programming=2;materials=3;engineering=3"
construction_time = 200
construction_cost = list("metal"=40000,"silver"=3000)
construction_cost = list("metal"=15000,"silver"=4000)
/obj/item/mecha_parts/part/durand_right_leg
name = "\improper Durand right leg"
@@ -200,7 +198,7 @@
icon_state = "durand_r_leg"
origin_tech = "programming=2;materials=3;engineering=3"
construction_time = 200
construction_cost = list("metal"=40000,"silver"=3000)
construction_cost = list("metal"=15000,"silver"=4000)
/obj/item/mecha_parts/part/durand_armour
gender = PLURAL
@@ -209,9 +207,7 @@
icon_state = "durand_armour"
origin_tech = "materials=5;combat=4;engineering=5"
construction_time = 600
construction_cost = list("metal"=50000,"uranium"=10000)
construction_cost = list("metal"=50000,"uranium"=30000)
////////// Firefighter
@@ -257,28 +253,28 @@
desc = "A torso part of H.O.N.K. Contains chuckle unit, bananium core and honk support systems."
icon_state = "honker_harness"
construction_time = 300
construction_cost = list("metal"=35000,"glass"=10000,"bananium"=10000)
construction_cost = list("metal"=20000,"glass"=10000,"bananium"=10000)
/obj/item/mecha_parts/part/honker_head
name = "\improper H.O.N.K head"
desc = "A H.O.N.K head. Appears to lack a face plate."
icon_state = "honker_head"
construction_time = 200
construction_cost = list("metal"=15000,"glass"=5000,"bananium"=5000)
construction_cost = list("metal"=10000,"glass"=5000,"bananium"=5000)
/obj/item/mecha_parts/part/honker_left_arm
name = "\improper H.O.N.K left arm"
desc = "A H.O.N.K left arm. With unique sockets that accept odd weaponry designed by clown scientists."
icon_state = "honker_l_arm"
construction_time = 200
construction_cost = list("metal"=20000,"bananium"=5000)
construction_cost = list("metal"=15000,"bananium"=5000)
/obj/item/mecha_parts/part/honker_right_arm
name = "\improper H.O.N.K right arm"
desc = "A H.O.N.K right arm. With unique sockets that accept odd weaponry designed by clown scientists."
icon_state = "honker_r_arm"
construction_time = 200
construction_cost = list("metal"=20000,"bananium"=5000)
construction_cost = list("metal"=15000,"bananium"=5000)
/obj/item/mecha_parts/part/honker_left_leg
name = "\improper H.O.N.K left leg"
@@ -362,7 +358,7 @@
desc = "An Odysseus head. Contains an integrated medical HUD scanner."
icon_state = "odysseus_head"
construction_time = 100
construction_cost = list("metal"=2000,"glass"=10000)
construction_cost = list("metal"=6000,"glass"=10000)
origin_tech = "programming=3;materials=2"
/obj/item/mecha_parts/part/odysseus_torso
@@ -371,7 +367,7 @@
icon_state = "odysseus_torso"
origin_tech = "programming=2;materials=2;biotech=2;engineering=2"
construction_time = 180
construction_cost = list("metal"=25000)
construction_cost = list("metal"=12000)
/obj/item/mecha_parts/part/odysseus_left_arm
name = "\improper Odysseus left arm"
@@ -379,7 +375,7 @@
icon_state = "odysseus_l_arm"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 120
construction_cost = list("metal"=10000)
construction_cost = list("metal"=6000)
/obj/item/mecha_parts/part/odysseus_right_arm
name = "\improper Odysseus right arm"
@@ -387,7 +383,7 @@
icon_state = "odysseus_r_arm"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 120
construction_cost = list("metal"=10000)
construction_cost = list("metal"=6000)
/obj/item/mecha_parts/part/odysseus_left_leg
name = "\improper Odysseus left leg"
@@ -395,7 +391,7 @@
icon_state = "odysseus_l_leg"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 130
construction_cost = list("metal"=15000)
construction_cost = list("metal"=7000)
/obj/item/mecha_parts/part/odysseus_right_leg
name = "\improper Odysseus right leg"
@@ -403,7 +399,7 @@
icon_state = "odysseus_r_leg"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 130
construction_cost = list("metal"=15000)
construction_cost = list("metal"=7000)
/*/obj/item/mecha_parts/part/odysseus_armour
name="Odysseus Carapace"
+6 -6
View File
@@ -13,28 +13,28 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "l_arm"
construction_time = 200
construction_cost = list("metal"=18000)
construction_cost = list("metal"=10000)
/obj/item/robot_parts/r_arm
name = "cyborg right arm"
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "r_arm"
construction_time = 200
construction_cost = list("metal"=18000)
construction_cost = list("metal"=10000)
/obj/item/robot_parts/l_leg
name = "cyborg left leg"
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "l_leg"
construction_time = 200
construction_cost = list("metal"=15000)
construction_cost = list("metal"=10000)
/obj/item/robot_parts/r_leg
name = "cyborg right leg"
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "r_leg"
construction_time = 200
construction_cost = list("metal"=15000)
construction_cost = list("metal"=10000)
/obj/item/robot_parts/chest
name = "cyborg torso"
@@ -50,7 +50,7 @@
desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals."
icon_state = "head"
construction_time = 350
construction_cost = list("metal"=25000)
construction_cost = list("metal"=5000)
var/obj/item/device/flash/flash1 = null
var/obj/item/device/flash/flash2 = null
@@ -59,7 +59,7 @@
desc = "A complex metal backbone with standard limb sockets and pseudomuscle anchors."
icon_state = "robo_suit"
construction_time = 500
construction_cost = list("metal"=50000)
construction_cost = list("metal"=15000)
var/obj/item/robot_parts/l_arm/l_arm = null
var/obj/item/robot_parts/r_arm/r_arm = null
var/obj/item/robot_parts/l_leg/l_leg = null
+1 -1
View File
@@ -9,7 +9,7 @@
throwforce = 10.0
throw_speed = 3
throw_range = 7
m_amt = 1875
m_amt = 1000
max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
hitsound = 'sound/weapons/grenadelaunch.ogg'
@@ -13,7 +13,7 @@
desc = "HOLY SHEET! That is a lot of glass."
singular_name = "glass sheet"
icon_state = "sheet-glass"
g_amt = 3750
g_amt = MINERAL_MATERIAL_AMOUNT
origin_tech = "materials=1"
@@ -120,8 +120,8 @@
desc = "Glass which seems to have rods or something stuck in them."
singular_name = "reinforced glass sheet"
icon_state = "sheet-rglass"
g_amt = 3750
m_amt = 1875
g_amt = MINERAL_MATERIAL_AMOUNT
m_amt = 1000
origin_tech = "materials=2"
/obj/item/stack/sheet/rglass/cyborg
@@ -246,7 +246,7 @@
force = 5.0
throwforce = 10.0
item_state = "shard-glass"
g_amt = 3750
g_amt = MINERAL_MATERIAL_AMOUNT
attack_verb = list("stabbed", "slashed", "sliced", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -56,7 +56,6 @@ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
w_class = 3.0
throw_range = 3
origin_tech = "materials=6"
perunit = 3750
sheettype = "diamond"
var/global/list/datum/stack_recipe/diamond_recipes = list ( \
@@ -82,7 +81,6 @@ var/global/list/datum/stack_recipe/diamond_recipes = list ( \
throw_speed = 1
throw_range = 3
origin_tech = "materials=5"
perunit = 2000
sheettype = "uranium"
var/global/list/datum/stack_recipe/uranium_recipes = list ( \
@@ -108,7 +106,6 @@ var/global/list/datum/stack_recipe/uranium_recipes = list ( \
throw_speed = 1
throw_range = 3
origin_tech = "plasmatech=2;materials=2"
perunit = 2000
sheettype = "plasma"
var/global/list/datum/stack_recipe/plasma_recipes = list ( \
@@ -134,7 +131,6 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \
throw_speed = 1
throw_range = 3
origin_tech = "materials=4"
perunit = 2000
sheettype = "gold"
var/global/list/datum/stack_recipe/gold_recipes = list ( \
@@ -160,7 +156,6 @@ var/global/list/datum/stack_recipe/gold_recipes = list ( \
throw_speed = 1
throw_range = 3
origin_tech = "materials=3"
perunit = 2000
sheettype = "silver"
var/global/list/datum/stack_recipe/silver_recipes = list ( \
@@ -186,7 +181,6 @@ var/global/list/datum/stack_recipe/silver_recipes = list ( \
throw_speed = 1
throw_range = 3
origin_tech = "materials=4"
perunit = 2000
sheettype = "clown"
/obj/item/stack/sheet/mineral/clown/New(var/loc, var/amount=null)
@@ -210,7 +204,6 @@ var/global/list/datum/stack_recipe/silver_recipes = list ( \
throw_speed = 1
throw_range = 3
origin_tech = "materials=5"
perunit = 1000
/*
* Adamantine
@@ -225,7 +218,6 @@ var/global/list/datum/stack_recipe/silver_recipes = list ( \
throw_speed = 1
throw_range = 3
origin_tech = "materials=4"
perunit = 2000
/*
* Mythril
@@ -239,5 +231,4 @@ var/global/list/datum/stack_recipe/silver_recipes = list ( \
w_class = 3.0
throw_speed = 1
throw_range = 3
origin_tech = "materials=4"
perunit = 2000
origin_tech = "materials=4"
@@ -1,147 +1,147 @@
/* Diffrent misc types of sheets
* Contains:
* Metal
* Plasteel
* Wood
* Cloth
* Cardboard
*/
/*
* Metal
*/
var/global/list/datum/stack_recipe/metal_recipes = list ( \
new/datum/stack_recipe("stool", /obj/structure/stool, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("chair", /obj/structure/stool/bed/chair, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("swivel chair", /obj/structure/stool/bed/chair/office/dark, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("comfy chair", /obj/structure/stool/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("bed", /obj/structure/stool/bed, 2, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts, 2), \
new/datum/stack_recipe("rack parts", /obj/item/weapon/rack_parts), \
new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("floor tile", /obj/item/stack/tile/plasteel, 1, 4, 20), \
new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60), \
null, \
new/datum/stack_recipe("computer frame", /obj/structure/computerframe, 5, time = 25, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("machine frame", /obj/machinery/constructable_frame/machine_frame, 5, time = 25, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade), \
new/datum/stack_recipe("light fixture frame", /obj/item/light_fixture_frame, 2), \
new/datum/stack_recipe("small light fixture frame", /obj/item/light_fixture_frame/small, 1), \
null, \
new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2), \
new/datum/stack_recipe("air alarm frame", /obj/item/alarm_frame, 2), \
new/datum/stack_recipe("fire alarm frame", /obj/item/firealarm_frame, 2), \
null, \
new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1), \
)
/obj/item/stack/sheet/metal
name = "metal"
desc = "Sheets made out of metal."
singular_name = "metal sheet"
icon_state = "sheet-metal"
m_amt = 3750
throwforce = 10.0
flags = CONDUCT
origin_tech = "materials=1"
/obj/item/stack/sheet/metal/cyborg
m_amt = 0
/obj/item/stack/sheet/metal/New(var/loc, var/amount=null)
recipes = metal_recipes
return ..()
/*
* Plasteel
*/
var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1), \
)
/obj/item/stack/sheet/plasteel
name = "plasteel"
singular_name = "plasteel sheet"
desc = "This sheet is an alloy of iron and plasma."
icon_state = "sheet-plasteel"
item_state = "sheet-metal"
m_amt = 7500
throwforce = 10.0
flags = CONDUCT
origin_tech = "materials=2"
/obj/item/stack/sheet/plasteel/New(var/loc, var/amount=null)
recipes = plasteel_recipes
return ..()
/*
* Wood
*/
var/global/list/datum/stack_recipe/wood_recipes = list ( \
new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1), \
new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20), \
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/wood, 2), \
new/datum/stack_recipe("wooden chair", /obj/structure/stool/bed/chair/wood/normal, 3, time = 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 15, one_per_turf = 1, on_floor = 1), \
)
/obj/item/stack/sheet/mineral/wood
name = "wooden plank"
desc = "One can only guess that this is a bunch of wood."
singular_name = "wood plank"
icon_state = "sheet-wood"
icon = 'icons/obj/items.dmi'
origin_tech = "materials=1;biotech=1"
sheettype = "wood"
/obj/item/stack/sheet/mineral/wood/New(var/loc, var/amount=null)
recipes = wood_recipes
return ..()
/*
* Cloth
*/
/obj/item/stack/sheet/cloth
name = "cloth"
desc = "This roll of cloth is made from only the finest chemicals and bunny rabbits."
singular_name = "cloth roll"
icon_state = "sheet-cloth"
origin_tech = "materials=2"
/*
* Cardboard
*/
var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
new/datum/stack_recipe("box", /obj/item/weapon/storage/box), \
new/datum/stack_recipe("light tubes", /obj/item/weapon/storage/box/lights/tubes), \
new/datum/stack_recipe("light bulbs", /obj/item/weapon/storage/box/lights/bulbs), \
new/datum/stack_recipe("mouse traps", /obj/item/weapon/storage/box/mousetraps), \
new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \
new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \
new/datum/stack_recipe("pizza box", /obj/item/pizzabox), \
new/datum/stack_recipe("folder", /obj/item/weapon/folder), \
)
/obj/item/stack/sheet/cardboard //BubbleWrap
name = "cardboard"
desc = "Large sheets of card, like boxes folded flat."
singular_name = "cardboard sheet"
icon_state = "sheet-card"
origin_tech = "materials=1"
/obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null)
recipes = cardboard_recipes
/* Diffrent misc types of sheets
* Contains:
* Metal
* Plasteel
* Wood
* Cloth
* Cardboard
*/
/*
* Metal
*/
var/global/list/datum/stack_recipe/metal_recipes = list ( \
new/datum/stack_recipe("stool", /obj/structure/stool, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("chair", /obj/structure/stool/bed/chair, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("swivel chair", /obj/structure/stool/bed/chair/office/dark, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("comfy chair", /obj/structure/stool/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("bed", /obj/structure/stool/bed, 2, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts, 2), \
new/datum/stack_recipe("rack parts", /obj/item/weapon/rack_parts), \
new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("floor tile", /obj/item/stack/tile/plasteel, 1, 4, 20), \
new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60), \
null, \
new/datum/stack_recipe("computer frame", /obj/structure/computerframe, 5, time = 25, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("machine frame", /obj/machinery/constructable_frame/machine_frame, 5, time = 25, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade), \
new/datum/stack_recipe("light fixture frame", /obj/item/light_fixture_frame, 2), \
new/datum/stack_recipe("small light fixture frame", /obj/item/light_fixture_frame/small, 1), \
null, \
new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2), \
new/datum/stack_recipe("air alarm frame", /obj/item/alarm_frame, 2), \
new/datum/stack_recipe("fire alarm frame", /obj/item/firealarm_frame, 2), \
null, \
new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1), \
)
/obj/item/stack/sheet/metal
name = "metal"
desc = "Sheets made out of metal."
singular_name = "metal sheet"
icon_state = "sheet-metal"
m_amt = MINERAL_MATERIAL_AMOUNT
throwforce = 10.0
flags = CONDUCT
origin_tech = "materials=1"
/obj/item/stack/sheet/metal/cyborg
m_amt = 0
/obj/item/stack/sheet/metal/New(var/loc, var/amount=null)
recipes = metal_recipes
return ..()
/*
* Plasteel
*/
var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1), \
)
/obj/item/stack/sheet/plasteel
name = "plasteel"
singular_name = "plasteel sheet"
desc = "This sheet is an alloy of iron and plasma."
icon_state = "sheet-plasteel"
item_state = "sheet-metal"
m_amt = 6000
throwforce = 10.0
flags = CONDUCT
origin_tech = "materials=2"
/obj/item/stack/sheet/plasteel/New(var/loc, var/amount=null)
recipes = plasteel_recipes
return ..()
/*
* Wood
*/
var/global/list/datum/stack_recipe/wood_recipes = list ( \
new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1), \
new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20), \
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/wood, 2), \
new/datum/stack_recipe("wooden chair", /obj/structure/stool/bed/chair/wood/normal, 3, time = 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 15, one_per_turf = 1, on_floor = 1), \
)
/obj/item/stack/sheet/mineral/wood
name = "wooden plank"
desc = "One can only guess that this is a bunch of wood."
singular_name = "wood plank"
icon_state = "sheet-wood"
icon = 'icons/obj/items.dmi'
origin_tech = "materials=1;biotech=1"
sheettype = "wood"
/obj/item/stack/sheet/mineral/wood/New(var/loc, var/amount=null)
recipes = wood_recipes
return ..()
/*
* Cloth
*/
/obj/item/stack/sheet/cloth
name = "cloth"
desc = "This roll of cloth is made from only the finest chemicals and bunny rabbits."
singular_name = "cloth roll"
icon_state = "sheet-cloth"
origin_tech = "materials=2"
/*
* Cardboard
*/
var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
new/datum/stack_recipe("box", /obj/item/weapon/storage/box), \
new/datum/stack_recipe("light tubes", /obj/item/weapon/storage/box/lights/tubes), \
new/datum/stack_recipe("light bulbs", /obj/item/weapon/storage/box/lights/bulbs), \
new/datum/stack_recipe("mouse traps", /obj/item/weapon/storage/box/mousetraps), \
new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \
new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \
new/datum/stack_recipe("pizza box", /obj/item/pizzabox), \
new/datum/stack_recipe("folder", /obj/item/weapon/folder), \
)
/obj/item/stack/sheet/cardboard //BubbleWrap
name = "cardboard"
desc = "Large sheets of card, like boxes folded flat."
singular_name = "cardboard sheet"
icon_state = "sheet-card"
origin_tech = "materials=1"
/obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null)
recipes = cardboard_recipes
return ..()
@@ -7,7 +7,7 @@
throw_speed = 1
throw_range = 3
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed")
var/perunit = 3750
var/perunit = MINERAL_MATERIAL_AMOUNT
var/sheettype = null //this is used for girders in the creation of walls/false walls
+3 -3
View File
@@ -18,7 +18,7 @@ RCD
throw_speed = 3
throw_range = 5
w_class = 3.0
m_amt = 50000
m_amt = 30000
origin_tech = "engineering=4;materials=2"
var/datum/effect/effect/system/spark_spread/spark_system
var/matter = 0
@@ -260,5 +260,5 @@ RCD
density = 0
anchored = 0.0
origin_tech = "materials=2"
m_amt = 30000
g_amt = 15000
m_amt = 16000
g_amt = 8000
@@ -79,7 +79,7 @@
/obj/structure/stool/bed/proc/buckle_mob(mob/M as mob, mob/user as mob)
if (!ticker)
user << "You can't buckle anyone in before the game starts."
if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || user.lying || user.stat || M.buckled || istype(user, /mob/living/silicon/pai) )
if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || user.lying || user.stat || M.buckled || istype(user, /mob/living/silicon/pai) || M.anchored)
return
if (istype(M, /mob/living/carbon/slime))
+2 -2
View File
@@ -3,8 +3,8 @@
desc = "Used to remotely activate devices."
icon_state = "signaller"
item_state = "signaler"
m_amt = 1000
g_amt = 200
m_amt = 400
g_amt = 120
origin_tech = "magnets=1"
wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE
+2 -2
View File
@@ -17,8 +17,8 @@
icon_state = "welding"
flags = HEADCOVERSEYES | HEADCOVERSMOUTH
item_state = "welding"
m_amt = 3000
g_amt = 1000
m_amt = 1750
g_amt = 400
// var/up = 0
flash_protect = 2
tint = 2
File diff suppressed because it is too large Load Diff
+6 -12
View File
@@ -11,7 +11,7 @@
blocks_air = 1
temperature = TCMB
var/mineralName = ""
var/mineralAmt = 0
var/mineralAmt = 3
var/spread = 0 //will the seam spread?
var/spreadChance = 0 //the percentual chance of an ore spreading to the neighbouring tiles
var/last_act = 0
@@ -109,7 +109,7 @@
/turf/simulated/mineral/random/high_chance
icon_state = "rock_highchance"
mineralChance = 25
mineralSpawnChanceList = list("Uranium" = 10, "Iron" = 30, "Diamond" = 2, "Gold" = 10, "Silver" = 10, "Plasma" = 10)
mineralSpawnChanceList = list("Uranium" = 35, "Diamond" = 10, "Gold" = 35, "Silver" = 35, "Plasma" = 35, "Iron" = 50)
/turf/simulated/mineral/random/high_chance/New()
icon_state = "rock"
@@ -127,8 +127,7 @@
/turf/simulated/mineral/uranium
name = "Uranium deposit"
mineralName = "Uranium"
mineralAmt = 5
spreadChance = 0
spreadChance = 5
spread = 1
hidden = 1
scan_state = "rock_Uranium"
@@ -137,7 +136,6 @@
name = "Iron deposit"
icon_state = "rock_Iron"
mineralName = "Iron"
mineralAmt = 5
spreadChance = 20
spread = 1
hidden = 0
@@ -145,7 +143,6 @@
/turf/simulated/mineral/diamond
name = "Diamond deposit"
mineralName = "Diamond"
mineralAmt = 5
spreadChance = 0
spread = 1
hidden = 1
@@ -154,8 +151,7 @@
/turf/simulated/mineral/gold
name = "Gold deposit"
mineralName = "Gold"
mineralAmt = 5
spreadChance = 0
spreadChance = 5
spread = 1
hidden = 1
scan_state = "rock_Gold"
@@ -163,8 +159,7 @@
/turf/simulated/mineral/silver
name = "Silver deposit"
mineralName = "Silver"
mineralAmt = 5
spreadChance = 0
spreadChance = 5
spread = 1
hidden = 1
scan_state = "rock_Silver"
@@ -173,8 +168,7 @@
name = "Plasma deposit"
icon_state = "rock_Plasma"
mineralName = "Plasma"
mineralAmt = 5
spreadChance = 0
spreadChance = 5
spread = 1
hidden = 1
scan_state = "rock_Plasma"
+6 -6
View File
@@ -21,7 +21,7 @@
name = "Uranium ore"
icon_state = "Uranium ore"
origin_tech = "materials=5"
points = 20
points = 18
refined_type = /obj/item/stack/sheet/mineral/uranium
/obj/item/weapon/ore/iron
@@ -52,7 +52,7 @@
name = "Plasma ore"
icon_state = "Plasma ore"
origin_tech = "materials=2"
points = 40
points = 36
refined_type = /obj/item/stack/sheet/mineral/plasma
/obj/item/weapon/ore/plasma/attackby(obj/item/I as obj, mob/user as mob)
@@ -68,28 +68,28 @@
name = "Silver ore"
icon_state = "Silver ore"
origin_tech = "materials=3"
points = 20
points = 18
refined_type = /obj/item/stack/sheet/mineral/silver
/obj/item/weapon/ore/gold
name = "Gold ore"
icon_state = "Gold ore"
origin_tech = "materials=4"
points = 20
points = 18
refined_type = /obj/item/stack/sheet/mineral/gold
/obj/item/weapon/ore/diamond
name = "Diamond ore"
icon_state = "Diamond ore"
origin_tech = "materials=6"
points = 40
points = 36
refined_type = /obj/item/stack/sheet/mineral/diamond
/obj/item/weapon/ore/clown
name = "Bananium ore"
icon_state = "Clown ore"
origin_tech = "materials=4"
points = 30
points = 27
refined_type = /obj/item/stack/sheet/mineral/clown
/obj/item/weapon/ore/slag
-1
View File
@@ -279,7 +279,6 @@
ExtinguishMob()
fire_stacks = 0
suiciding = 0
buckled = initial(src.buckled)
if(iscarbon(src))
var/mob/living/carbon/C = src
C.handcuffed = initial(C.handcuffed)
@@ -1,422 +1,433 @@
/mob/living/simple_animal/hostile/asteroid/
vision_range = 2
min_oxy = 0
max_oxy = 0
min_tox = 0
max_tox = 0
min_co2 = 0
max_co2 = 0
min_n2 = 0
max_n2 = 0
unsuitable_atoms_damage = 15
faction = "mining"
environment_smash = 2
minbodytemp = 0
heat_damage_per_tick = 20
response_help = "pokes"
response_disarm = "shoves"
response_harm = "strikes"
status_flags = 0
a_intent = "harm"
var/throw_message = "bounces off of"
var/icon_aggro = null // for swapping to when we get aggressive
/mob/living/simple_animal/hostile/asteroid/Aggro()
..()
icon_state = icon_aggro
/mob/living/simple_animal/hostile/asteroid/LoseAggro()
..()
icon_state = icon_living
/mob/living/simple_animal/hostile/asteroid/bullet_act(var/obj/item/projectile/P)//Reduces damage from most projectiles to curb off-screen kills
if(!stat)
Aggro()
if(P.damage < 30)
P.damage = (P.damage / 3)
visible_message("<span class='danger'>[P] has a reduced effect on [src]!</span>")
..()
/mob/living/simple_animal/hostile/asteroid/hitby(atom/movable/AM)//No floor tiling them to death, wiseguy
if(istype(AM, /obj/item))
var/obj/item/T = AM
if(!stat)
Aggro()
if(T.throwforce <= 20)
visible_message("<span class='notice'>The [T.name] [src.throw_message] [src.name]!</span>")
return
..()
/mob/living/simple_animal/hostile/asteroid/basilisk
name = "basilisk"
desc = "A territorial beast, covered in a thick shell that absorbs energy. Its stare causes victims to freeze from the inside."
icon = 'icons/mob/animal.dmi'
icon_state = "Basilisk"
icon_living = "Basilisk"
icon_aggro = "Basilisk_alert"
icon_dead = "Basilisk_dead"
icon_gib = "syndicate_gib"
move_to_delay = 20
projectiletype = /obj/item/projectile/temp/basilisk
projectilesound = 'sound/weapons/pierce.ogg'
ranged = 1
ranged_message = "stares"
ranged_cooldown_cap = 20
throw_message = "does nothing against the hard shell of"
vision_range = 2
speed = 3
maxHealth = 200
health = 200
harm_intent_damage = 5
melee_damage_lower = 12
melee_damage_upper = 12
attacktext = "bites into"
a_intent = "harm"
attack_sound = 'sound/weapons/bladeslice.ogg'
ranged_cooldown_cap = 4
aggro_vision_range = 9
idle_vision_range = 2
/obj/item/projectile/temp/basilisk
name = "freezing blast"
icon_state = "ice_2"
damage = 0
damage_type = BURN
nodamage = 1
flag = "energy"
temperature = 50
/mob/living/simple_animal/hostile/asteroid/basilisk/GiveTarget(var/new_target)
target = new_target
if(target != null)
Aggro()
stance = HOSTILE_STANCE_ATTACK
if(isliving(target))
var/mob/living/L = target
if(L.bodytemperature > 261)
L.bodytemperature = 261
visible_message("<span class='danger'>The [src.name]'s stare chills [L.name] to the bone!</span>")
return
/mob/living/simple_animal/hostile/asteroid/basilisk/ex_act(severity)
switch(severity)
if(1.0)
gib()
if(2.0)
adjustBruteLoss(140)
if(3.0)
adjustBruteLoss(110)
/mob/living/simple_animal/hostile/asteroid/basilisk/Die()
var/counter
for(counter=0, counter<2, counter++)
var/obj/item/weapon/ore/diamond/D = new /obj/item/weapon/ore/diamond(src.loc)
D.layer = 4.1
..()
/mob/living/simple_animal/hostile/asteroid/goldgrub
name = "goldgrub"
desc = "A worm that grows fat from eating everything in its sight. Seems to enjoy precious metals and other shiny things, hence the name."
icon = 'icons/mob/animal.dmi'
icon_state = "Goldgrub"
icon_living = "Goldgrub"
icon_aggro = "Goldgrub_alert"
icon_dead = "Goldgrub_dead"
icon_gib = "syndicate_gib"
vision_range = 2
aggro_vision_range = 9
idle_vision_range = 2
move_to_delay = 5
friendly = "harmlessly rolls into"
maxHealth = 45
health = 45
harm_intent_damage = 5
melee_damage_lower = 0
melee_damage_upper = 0
attacktext = "barrels into"
a_intent = "help"
throw_message = "sinks in slowly, before being pushed out of "
status_flags = CANPUSH
search_objects = 1
wanted_objects = list(/obj/item/weapon/ore/diamond, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/silver,
/obj/item/weapon/ore/uranium)
var/list/ore_types_eaten = list()
var/alerted = 0
var/ore_eaten = 1
var/chase_time = 100
/mob/living/simple_animal/hostile/asteroid/goldgrub/GiveTarget(var/new_target)
target = new_target
if(target != null)
if(istype(target, /obj/item/weapon/ore))
visible_message("<span class='notice'>The [src.name] looks at [target.name] with hungry eyes.</span>")
stance = HOSTILE_STANCE_ATTACK
return
if(isliving(target))
Aggro()
stance = HOSTILE_STANCE_ATTACK
visible_message("<span class='danger'>The [src.name] tries to flee from [target.name]!</span>")
retreat_distance = 10
minimum_distance = 10
Burrow()
return
return
/mob/living/simple_animal/hostile/asteroid/goldgrub/AttackingTarget()
if(istype(target, /obj/item/weapon/ore))
EatOre(target)
return
..()
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/EatOre(var/atom/targeted_ore)
for(var/obj/item/weapon/ore/O in targeted_ore.loc)
ore_eaten++
if(!(O.type in ore_types_eaten))
ore_types_eaten += O.type
qdel(O)
if(ore_eaten > 5)//Limit the scope of the reward you can get, or else things might get silly
ore_eaten = 5
visible_message("<span class='notice'>The ore was swallowed whole!</span>")
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Burrow()//Begin the chase to kill the goldgrub in time
if(!alerted)
alerted = 1
spawn(chase_time)
if(alerted)
visible_message("<span class='danger'>The [src.name] buries into the ground, vanishing from sight!</span>")
qdel(src)
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Reward()
if(!ore_eaten || ore_types_eaten.len == 0)
return
visible_message("<span class='danger'>[src] spits up the contents of its stomach before dying!</span>")
var/counter
for(var/R in ore_types_eaten)
for(counter=0, counter < ore_eaten, counter++)
new R(src.loc)
ore_types_eaten.Cut()
ore_eaten = 0
/mob/living/simple_animal/hostile/asteroid/goldgrub/bullet_act(var/obj/item/projectile/P)
visible_message("<span class='danger'>The [P.name] was repelled by [src.name]'s girth!</span>")
return
/mob/living/simple_animal/hostile/asteroid/goldgrub/Die()
alerted = 0
Reward()
..()
/mob/living/simple_animal/hostile/asteroid/goldgrub/adjustBruteLoss(var/damage)
idle_vision_range = 9
..()
/mob/living/simple_animal/hostile/asteroid/hivelord
name = "hivelord"
desc = "A truly alien creature, it is a mass of unknown organic material, constantly fluctuating. When attacking, pieces of it split off and attack in tandem with the original."
icon = 'icons/mob/animal.dmi'
icon_state = "Hivelord"
icon_living = "Hivelord"
icon_aggro = "Hivelord_alert"
icon_dead = "Hivelord_dead"
icon_gib = "syndicate_gib"
mouse_opacity = 2
move_to_delay = 14
ranged = 1
vision_range = 5
aggro_vision_range = 9
idle_vision_range = 5
speed = 3
maxHealth = 75
health = 75
harm_intent_damage = 5
melee_damage_lower = 0
melee_damage_upper = 0
attacktext = "lashes out at"
throw_message = "falls right through the strange body of the"
ranged_cooldown = 0
ranged_cooldown_cap = 0
environment_smash = 0
retreat_distance = 3
minimum_distance = 3
pass_flags = PASSTABLE
/mob/living/simple_animal/hostile/asteroid/hivelord/OpenFire(var/the_target)
var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/A = new /mob/living/simple_animal/hostile/asteroid/hivelordbrood(src.loc)
A.GiveTarget(target)
A.friends = friends
A.faction = faction
return
/mob/living/simple_animal/hostile/asteroid/hivelord/AttackingTarget()
OpenFire()
/mob/living/simple_animal/hostile/asteroid/hivelord/Die()
new /obj/item/asteroid/hivelord_core(src.loc)
mouse_opacity = 1
..()
/obj/item/asteroid/hivelord_core
name = "hivelord remains"
desc = "All that remains of a hivelord, it seems to be what allows it to break pieces of itself off without being hurt... its healing properties will soon become inert if not used quickly. Try not to think about what you're eating."
icon = 'icons/obj/food.dmi'
icon_state = "boiledrorocore"
var/inert = 0
/obj/item/asteroid/hivelord_core/New()
spawn(1200)
inert = 1
desc = "The remains of a hivelord that have become useless, having been left alone too long after being harvested."
/obj/item/asteroid/hivelord_core/attack(mob/living/M as mob, mob/living/user as mob)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(inert)
user << "<span class='notice'>[src] have become inert, its healing properties are no more.</span>"
return
else
if(H.stat == DEAD)
user << "<span class='notice'>[src] are useless on the dead.</span>"
return
if(H != user)
H.visible_message("<span class='notice'>[user] forces [H] to eat [src]... they quickly regenerate all injuries!</span>")
else
user << "<span class='notice'>You chomp into [src], barely managing to hold it down, but feel amazingly refreshed in mere moments.</span>"
playsound(src.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
H.revive()
qdel(src)
..()
/mob/living/simple_animal/hostile/asteroid/hivelordbrood
name = "hivelord brood"
desc = "A fragment of the original Hivelord, rallying behind its original. One isn't much of a threat, but..."
icon = 'icons/mob/animal.dmi'
icon_state = "Hivelordbrood"
icon_living = "Hivelordbrood"
icon_aggro = "Hivelordbrood"
icon_dead = "Hivelordbrood"
icon_gib = "syndicate_gib"
mouse_opacity = 2
move_to_delay = 1
friendly = "buzzes near"
vision_range = 10
speed = 3
maxHealth = 1
health = 1
harm_intent_damage = 5
melee_damage_lower = 2
melee_damage_upper = 2
attacktext = "slashes"
throw_message = "falls right through the strange body of the"
environment_smash = 0
pass_flags = PASSTABLE
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/New()
..()
spawn(100)
qdel(src)
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Die()
qdel(src)
/mob/living/simple_animal/hostile/asteroid/goliath
name = "goliath"
desc = "A massive beast that uses long tentacles to ensare its prey, threatening them is not advised under any conditions."
icon = 'icons/mob/animal.dmi'
icon_state = "Goliath"
icon_living = "Goliath"
icon_aggro = "Goliath_alert"
icon_dead = "Goliath_dead"
icon_gib = "syndicate_gib"
attack_sound = 'sound/weapons/punch4.ogg'
mouse_opacity = 2
move_to_delay = 40
ranged = 1
ranged_cooldown_cap = 8
friendly = "wails at"
vision_range = 4
speed = 3
maxHealth = 300
health = 300
harm_intent_damage = 0
melee_damage_lower = 25
melee_damage_upper = 25
attacktext = "pulverizes"
throw_message = "does nothing to the rocky hide of the"
aggro_vision_range = 9
idle_vision_range = 5
/mob/living/simple_animal/hostile/asteroid/goliath/OpenFire()
visible_message("<span class='warning'>The [src.name] digs its tentacles under [target.name]!</span>")
var/tturf = get_turf(target)
new /obj/effect/goliath_tentacle/original(tturf)
ranged_cooldown = ranged_cooldown_cap
return
/mob/living/simple_animal/hostile/asteroid/goliath/adjustBruteLoss(var/damage)
ranged_cooldown--
..()
/obj/effect/goliath_tentacle/
name = "Goliath tentacle"
icon = 'icons/mob/animal.dmi'
icon_state = "Goliath_tentacle"
/obj/effect/goliath_tentacle/New()
var/turftype = get_turf(src)
if(istype(turftype, /turf/simulated/mineral))
var/turf/simulated/mineral/M = turftype
M.gets_drilled()
spawn(20)
Trip()
/obj/effect/goliath_tentacle/original
/obj/effect/goliath_tentacle/original/New()
var/list/directions = cardinal.Copy()
var/counter
for(counter = 1, counter <= 3, counter++)
var/spawndir = pick(directions)
directions -= spawndir
var/turf/T = get_step(src,spawndir)
new /obj/effect/goliath_tentacle(T)
..()
/obj/effect/goliath_tentacle/proc/Trip()
for(var/mob/living/M in src.loc)
M.Weaken(5)
visible_message("<span class='warning'>The [src.name] knocks [M.name] down!</span>")
qdel(src)
/obj/effect/goliath_tentacle/Crossed(AM as mob|obj)
if(isliving(AM))
Trip()
return
..()
/mob/living/simple_animal/hostile/asteroid/goliath/Die()
var/obj/item/asteroid/goliath_hide/G = new /obj/item/asteroid/goliath_hide(src.loc)
G.layer = 4.1
..()
/obj/item/asteroid/goliath_hide
name = "goliath hide plates"
desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna."
icon = 'icons/obj/items.dmi'
icon_state = "goliath_hide"
w_class = 3
layer = 4
/obj/item/asteroid/goliath_hide/afterattack(atom/target, mob/user, proximity_flag)
if(proximity_flag)
if(istype(target, /obj/item/clothing/suit/space/rig/mining) || istype(target, /obj/item/clothing/head/helmet/space/rig/mining))
var/obj/item/clothing/C = target
var/current_armor = C.armor
if(current_armor.["melee"] < 90)
current_armor.["melee"] = min(current_armor.["melee"] + 10, 90)
user << "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>"
qdel(src)
else
user << "<span class='info'>You can't improve [C] any further.</span>"
return
/mob/living/simple_animal/hostile/asteroid/
vision_range = 2
min_oxy = 0
max_oxy = 0
min_tox = 0
max_tox = 0
min_co2 = 0
max_co2 = 0
min_n2 = 0
max_n2 = 0
unsuitable_atoms_damage = 15
faction = "mining"
environment_smash = 2
minbodytemp = 0
heat_damage_per_tick = 20
response_help = "pokes"
response_disarm = "shoves"
response_harm = "strikes"
status_flags = 0
a_intent = "harm"
var/throw_message = "bounces off of"
var/icon_aggro = null // for swapping to when we get aggressive
/mob/living/simple_animal/hostile/asteroid/Aggro()
..()
icon_state = icon_aggro
/mob/living/simple_animal/hostile/asteroid/LoseAggro()
..()
icon_state = icon_living
/mob/living/simple_animal/hostile/asteroid/bullet_act(var/obj/item/projectile/P)//Reduces damage from most projectiles to curb off-screen kills
if(!stat)
Aggro()
if(P.damage < 30 && P.damage_type != BRUTE)
P.damage = (P.damage / 3)
visible_message("<span class='danger'>[P] has a reduced effect on [src]!</span>")
..()
/mob/living/simple_animal/hostile/asteroid/hitby(atom/movable/AM)//No floor tiling them to death, wiseguy
if(istype(AM, /obj/item))
var/obj/item/T = AM
if(!stat)
Aggro()
if(T.throwforce <= 20)
visible_message("<span class='notice'>The [T.name] [src.throw_message] [src.name]!</span>")
return
..()
/mob/living/simple_animal/hostile/asteroid/basilisk
name = "basilisk"
desc = "A territorial beast, covered in a thick shell that absorbs energy. Its stare causes victims to freeze from the inside."
icon = 'icons/mob/animal.dmi'
icon_state = "Basilisk"
icon_living = "Basilisk"
icon_aggro = "Basilisk_alert"
icon_dead = "Basilisk_dead"
icon_gib = "syndicate_gib"
move_to_delay = 20
projectiletype = /obj/item/projectile/temp/basilisk
projectilesound = 'sound/weapons/pierce.ogg'
ranged = 1
ranged_message = "stares"
ranged_cooldown_cap = 20
throw_message = "does nothing against the hard shell of"
vision_range = 2
speed = 3
maxHealth = 200
health = 200
harm_intent_damage = 5
melee_damage_lower = 12
melee_damage_upper = 12
attacktext = "bites into"
a_intent = "harm"
attack_sound = 'sound/weapons/bladeslice.ogg'
ranged_cooldown_cap = 4
aggro_vision_range = 9
idle_vision_range = 2
turns_per_move = 5
/obj/item/projectile/temp/basilisk
name = "freezing blast"
icon_state = "ice_2"
damage = 0
damage_type = BURN
nodamage = 1
flag = "energy"
temperature = 50
/mob/living/simple_animal/hostile/asteroid/basilisk/GiveTarget(var/new_target)
target = new_target
if(target != null)
Aggro()
stance = HOSTILE_STANCE_ATTACK
if(isliving(target))
var/mob/living/L = target
if(L.bodytemperature > 261)
L.bodytemperature = 261
visible_message("<span class='danger'>The [src.name]'s stare chills [L.name] to the bone!</span>")
return
/mob/living/simple_animal/hostile/asteroid/basilisk/ex_act(severity)
switch(severity)
if(1.0)
gib()
if(2.0)
adjustBruteLoss(140)
if(3.0)
adjustBruteLoss(110)
/mob/living/simple_animal/hostile/asteroid/basilisk/Die()
var/counter
for(counter=0, counter<2, counter++)
var/obj/item/weapon/ore/diamond/D = new /obj/item/weapon/ore/diamond(src.loc)
D.layer = 4.1
..()
/mob/living/simple_animal/hostile/asteroid/goldgrub
name = "goldgrub"
desc = "A worm that grows fat from eating everything in its sight. Seems to enjoy precious metals and other shiny things, hence the name."
icon = 'icons/mob/animal.dmi'
icon_state = "Goldgrub"
icon_living = "Goldgrub"
icon_aggro = "Goldgrub_alert"
icon_dead = "Goldgrub_dead"
icon_gib = "syndicate_gib"
vision_range = 2
aggro_vision_range = 9
idle_vision_range = 2
move_to_delay = 5
friendly = "harmlessly rolls into"
maxHealth = 45
health = 45
harm_intent_damage = 5
melee_damage_lower = 0
melee_damage_upper = 0
attacktext = "barrels into"
a_intent = "help"
throw_message = "sinks in slowly, before being pushed out of "
status_flags = CANPUSH
search_objects = 1
wanted_objects = list(/obj/item/weapon/ore/diamond, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/silver,
/obj/item/weapon/ore/uranium)
var/list/ore_types_eaten = list()
var/alerted = 0
var/ore_eaten = 1
var/chase_time = 100
/mob/living/simple_animal/hostile/asteroid/goldgrub/GiveTarget(var/new_target)
target = new_target
if(target != null)
if(istype(target, /obj/item/weapon/ore))
visible_message("<span class='notice'>The [src.name] looks at [target.name] with hungry eyes.</span>")
stance = HOSTILE_STANCE_ATTACK
return
if(isliving(target))
Aggro()
stance = HOSTILE_STANCE_ATTACK
visible_message("<span class='danger'>The [src.name] tries to flee from [target.name]!</span>")
retreat_distance = 10
minimum_distance = 10
Burrow()
return
return
/mob/living/simple_animal/hostile/asteroid/goldgrub/AttackingTarget()
if(istype(target, /obj/item/weapon/ore))
EatOre(target)
return
..()
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/EatOre(var/atom/targeted_ore)
for(var/obj/item/weapon/ore/O in targeted_ore.loc)
ore_eaten++
if(!(O.type in ore_types_eaten))
ore_types_eaten += O.type
qdel(O)
if(ore_eaten > 5)//Limit the scope of the reward you can get, or else things might get silly
ore_eaten = 5
visible_message("<span class='notice'>The ore was swallowed whole!</span>")
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Burrow()//Begin the chase to kill the goldgrub in time
if(!alerted)
alerted = 1
spawn(chase_time)
if(alerted)
visible_message("<span class='danger'>The [src.name] buries into the ground, vanishing from sight!</span>")
qdel(src)
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Reward()
if(!ore_eaten || ore_types_eaten.len == 0)
return
visible_message("<span class='danger'>[src] spits up the contents of its stomach before dying!</span>")
var/counter
for(var/R in ore_types_eaten)
for(counter=0, counter < ore_eaten, counter++)
new R(src.loc)
ore_types_eaten.Cut()
ore_eaten = 0
/mob/living/simple_animal/hostile/asteroid/goldgrub/bullet_act(var/obj/item/projectile/P)
visible_message("<span class='danger'>The [P.name] was repelled by [src.name]'s girth!</span>")
return
/mob/living/simple_animal/hostile/asteroid/goldgrub/Die()
alerted = 0
Reward()
..()
/mob/living/simple_animal/hostile/asteroid/goldgrub/adjustBruteLoss(var/damage)
idle_vision_range = 9
..()
/mob/living/simple_animal/hostile/asteroid/hivelord
name = "hivelord"
desc = "A truly alien creature, it is a mass of unknown organic material, constantly fluctuating. When attacking, pieces of it split off and attack in tandem with the original."
icon = 'icons/mob/animal.dmi'
icon_state = "Hivelord"
icon_living = "Hivelord"
icon_aggro = "Hivelord_alert"
icon_dead = "Hivelord_dead"
icon_gib = "syndicate_gib"
mouse_opacity = 2
move_to_delay = 14
ranged = 1
vision_range = 5
aggro_vision_range = 9
idle_vision_range = 5
speed = 3
maxHealth = 75
health = 75
harm_intent_damage = 5
melee_damage_lower = 0
melee_damage_upper = 0
attacktext = "lashes out at"
throw_message = "falls right through the strange body of the"
ranged_cooldown = 0
ranged_cooldown_cap = 0
environment_smash = 0
retreat_distance = 3
minimum_distance = 3
pass_flags = PASSTABLE
/mob/living/simple_animal/hostile/asteroid/hivelord/OpenFire(var/the_target)
var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/A = new /mob/living/simple_animal/hostile/asteroid/hivelordbrood(src.loc)
A.GiveTarget(target)
A.friends = friends
A.faction = faction
return
/mob/living/simple_animal/hostile/asteroid/hivelord/AttackingTarget()
OpenFire()
/mob/living/simple_animal/hostile/asteroid/hivelord/Die()
new /obj/item/asteroid/hivelord_core(src.loc)
mouse_opacity = 1
..()
/obj/item/asteroid/hivelord_core
name = "hivelord remains"
desc = "All that remains of a hivelord, it seems to be what allows it to break pieces of itself off without being hurt... its healing properties will soon become inert if not used quickly. Try not to think about what you're eating."
icon = 'icons/obj/food.dmi'
icon_state = "boiledrorocore"
var/inert = 0
/obj/item/asteroid/hivelord_core/New()
spawn(1200)
inert = 1
desc = "The remains of a hivelord that have become useless, having been left alone too long after being harvested."
/obj/item/asteroid/hivelord_core/attack(mob/living/M as mob, mob/living/user as mob)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(inert)
user << "<span class='notice'>[src] have become inert, its healing properties are no more.</span>"
return
else
if(H.stat == DEAD)
user << "<span class='notice'>[src] are useless on the dead.</span>"
return
if(H != user)
H.visible_message("<span class='notice'>[user] forces [H] to eat [src]... they quickly regenerate all injuries!</span>")
else
user << "<span class='notice'>You chomp into [src], barely managing to hold it down, but feel amazingly refreshed in mere moments.</span>"
playsound(src.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
H.revive()
qdel(src)
..()
/mob/living/simple_animal/hostile/asteroid/hivelordbrood
name = "hivelord brood"
desc = "A fragment of the original Hivelord, rallying behind its original. One isn't much of a threat, but..."
icon = 'icons/mob/animal.dmi'
icon_state = "Hivelordbrood"
icon_living = "Hivelordbrood"
icon_aggro = "Hivelordbrood"
icon_dead = "Hivelordbrood"
icon_gib = "syndicate_gib"
mouse_opacity = 2
move_to_delay = 1
friendly = "buzzes near"
vision_range = 10
speed = 3
maxHealth = 1
health = 1
harm_intent_damage = 5
melee_damage_lower = 2
melee_damage_upper = 2
attacktext = "slashes"
throw_message = "falls right through the strange body of the"
environment_smash = 0
pass_flags = PASSTABLE
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/New()
..()
spawn(100)
qdel(src)
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Die()
qdel(src)
/mob/living/simple_animal/hostile/asteroid/goliath
name = "goliath"
desc = "A massive beast that uses long tentacles to ensare its prey, threatening them is not advised under any conditions."
icon = 'icons/mob/animal.dmi'
icon_state = "Goliath"
icon_living = "Goliath"
icon_aggro = "Goliath_alert"
icon_dead = "Goliath_dead"
icon_gib = "syndicate_gib"
attack_sound = 'sound/weapons/punch4.ogg'
mouse_opacity = 2
move_to_delay = 40
ranged = 1
ranged_cooldown_cap = 8
friendly = "wails at"
vision_range = 4
speed = 3
maxHealth = 300
health = 300
harm_intent_damage = 0
melee_damage_lower = 25
melee_damage_upper = 25
attacktext = "pulverizes"
throw_message = "does nothing to the rocky hide of the"
aggro_vision_range = 9
idle_vision_range = 5
anchored = 1 //Stays anchored until death as to be unpullable
/mob/living/simple_animal/hostile/asteroid/goliath/revive()
anchored = 1
..()
/mob/living/simple_animal/hostile/asteroid/goliath/Die()
anchored = 0
..()
/mob/living/simple_animal/hostile/asteroid/goliath/OpenFire()
var/tturf = get_turf(target)
if(get_dist(src, target) <= 7)//Screen range check, so you can't get tentacle'd offscreen
visible_message("<span class='warning'>The [src.name] digs its tentacles under [target.name]!</span>")
new /obj/effect/goliath_tentacle/original(tturf)
ranged_cooldown = ranged_cooldown_cap
return
/mob/living/simple_animal/hostile/asteroid/goliath/adjustBruteLoss(var/damage)
ranged_cooldown--
..()
/obj/effect/goliath_tentacle/
name = "Goliath tentacle"
icon = 'icons/mob/animal.dmi'
icon_state = "Goliath_tentacle"
/obj/effect/goliath_tentacle/New()
var/turftype = get_turf(src)
if(istype(turftype, /turf/simulated/mineral))
var/turf/simulated/mineral/M = turftype
M.gets_drilled()
spawn(20)
Trip()
/obj/effect/goliath_tentacle/original
/obj/effect/goliath_tentacle/original/New()
var/list/directions = cardinal.Copy()
var/counter
for(counter = 1, counter <= 3, counter++)
var/spawndir = pick(directions)
directions -= spawndir
var/turf/T = get_step(src,spawndir)
new /obj/effect/goliath_tentacle(T)
..()
/obj/effect/goliath_tentacle/proc/Trip()
for(var/mob/living/M in src.loc)
M.Weaken(5)
visible_message("<span class='warning'>The [src.name] knocks [M.name] down!</span>")
qdel(src)
/obj/effect/goliath_tentacle/Crossed(AM as mob|obj)
if(isliving(AM))
Trip()
return
..()
/mob/living/simple_animal/hostile/asteroid/goliath/Die()
var/obj/item/asteroid/goliath_hide/G = new /obj/item/asteroid/goliath_hide(src.loc)
G.layer = 4.1
..()
/obj/item/asteroid/goliath_hide
name = "goliath hide plates"
desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna."
icon = 'icons/obj/items.dmi'
icon_state = "goliath_hide"
w_class = 3
layer = 4
/obj/item/asteroid/goliath_hide/afterattack(atom/target, mob/user, proximity_flag)
if(proximity_flag)
if(istype(target, /obj/item/clothing/suit/space/rig/mining) || istype(target, /obj/item/clothing/head/helmet/space/rig/mining))
var/obj/item/clothing/C = target
var/current_armor = C.armor
if(current_armor.["melee"] < 80)
current_armor.["melee"] = min(current_armor.["melee"] + 10, 80)
user << "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>"
qdel(src)
else
user << "<span class='info'>You can't improve [C] any further.</span>"
return
+1 -1
View File
@@ -662,10 +662,10 @@ var/list/slot_equipment_priority = list( \
canmove = 1
if(buckled)
lying = 90 * bed
anchored = buckled
else
if((ko || resting) && !lying)
fall(ko)
anchored = buckled
canmove = !(ko || resting || stunned || buckled)
density = !lying
update_transform()
+1 -1
View File
@@ -44,7 +44,7 @@
flags = CONDUCT
slot_flags = SLOT_BELT
item_state = "syringe_kit"
m_amt = 50000
m_amt = 30000
throwforce = 2
w_class = 1.0
throw_speed = 3
@@ -56,7 +56,7 @@
icon_state = "blshell"
caliber = "shotgun"
projectile_type = /obj/item/projectile/bullet
m_amt = 12500
m_amt = 4000
/obj/item/ammo_casing/shotgun/buckshot
@@ -73,7 +73,7 @@
desc = "A weak beanbag shell."
icon_state = "bshell"
projectile_type = /obj/item/projectile/bullet/weakbullet
m_amt = 500
m_amt = 250
/obj/item/ammo_casing/shotgun/stunshell
@@ -81,7 +81,7 @@
desc = "A stunning shell."
icon_state = "stunshell"
projectile_type = /obj/item/projectile/bullet/stunshot
m_amt = 2500
m_amt = 200
/obj/item/ammo_casing/shotgun/incendiary
@@ -89,7 +89,6 @@
desc = "An incendiary shell"
icon_state = "ishell"
projectile_type = /obj/item/projectile/bullet/incendiary/shell
m_amt = 12500
/obj/item/ammo_casing/shotgun/dart
@@ -97,7 +96,6 @@
desc = "A dart for use in shotguns. Can be injected with up to 30 units of any chemical."
icon_state = "cshell"
projectile_type = /obj/item/projectile/bullet/dart
m_amt = 12500
/obj/item/ammo_casing/shotgun/dart/New()
..()
@@ -145,7 +145,7 @@
name = "large beaker"
desc = "A large beaker. Can hold up to 100 units."
icon_state = "beakerlarge"
g_amt = 5000
g_amt = 2500
volume = 100
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,50,100)
+115 -115
View File
@@ -8,15 +8,15 @@
For the materials datum, it assumes you need reagents unless specified otherwise. To designate a material that isn't a reagent,
you use one of the material IDs below. These are NOT ids in the usual sense (they aren't defined in the object or part of a datum),
they are simply references used as part of a "has materials?" type proc. They all start with a $ to denote that they aren't reagents.
The currently supporting non-reagent materials:
- $metal (/obj/item/stack/metal). One sheet = 3750 units.
- $glass (/obj/item/stack/glass). One sheet = 3750 units.
- $plasma (/obj/item/stack/plasma). One sheet = 3750 units.
- $silver (/obj/item/stack/silver). One sheet = 3750 units.
- $gold (/obj/item/stack/gold). One sheet = 3750 units.
- $uranium (/obj/item/stack/uranium). One sheet = 3750 units.
- $diamond (/obj/item/stack/diamond). One sheet = 3750 units.
- $clown (/obj/item/stack/clown). One sheet = 3750 units. ("Bananium")
The currently supporting non-reagent materials. All material amounts are set as the define MINERAL_MATERIAL_AMOUNT, which defaults to 2000
- $metal (/obj/item/stack/metal).
- $glass (/obj/item/stack/glass).
- $plasma (/obj/item/stack/plasma).
- $silver (/obj/item/stack/silver).
- $gold (/obj/item/stack/gold).
- $uranium (/obj/item/stack/uranium).
- $diamond (/obj/item/stack/diamond).
- $clown (/obj/item/stack/clown).
(Insert new ones here)
Don't add new keyword/IDs if they are made from an existing one (such as rods which are made from metal). Only add raw materials.
@@ -72,7 +72,7 @@ datum/design/seccamera
id = "seccamera"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/security
datum/design/aicore
@@ -81,7 +81,7 @@ datum/design/aicore
id = "aicore"
req_tech = list("programming" = 4, "biotech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/aicore
datum/design/aiupload
@@ -90,7 +90,7 @@ datum/design/aiupload
id = "aiupload"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/aiupload
datum/design/borgupload
@@ -99,7 +99,7 @@ datum/design/borgupload
id = "borgupload"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/borgupload
datum/design/med_data
@@ -108,7 +108,7 @@ datum/design/med_data
id = "med_data"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/med_data
datum/design/operating
@@ -117,7 +117,7 @@ datum/design/operating
id = "operating"
req_tech = list("programming" = 2, "biotech" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/operating
datum/design/pandemic
@@ -126,7 +126,7 @@ datum/design/pandemic
id = "pandemic"
req_tech = list("programming" = 2, "biotech" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/pandemic
datum/design/scan_console
@@ -135,7 +135,7 @@ datum/design/scan_console
id = "scan_console"
req_tech = list("programming" = 2, "biotech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/scan_consolenew
datum/design/comconsole
@@ -144,7 +144,7 @@ datum/design/comconsole
id = "comconsole"
req_tech = list("programming" = 2, "magnets" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/communications
datum/design/idcardconsole
@@ -153,7 +153,7 @@ datum/design/idcardconsole
id = "idcardconsole"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/card
datum/design/crewconsole
@@ -162,7 +162,7 @@ datum/design/crewconsole
id = "crewconsole"
req_tech = list("programming" = 3, "magnets" = 2, "biotech" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/crew
datum/design/teleconsole
@@ -171,7 +171,7 @@ datum/design/teleconsole
id = "teleconsole"
req_tech = list("programming" = 3, "bluespace" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/teleporter
datum/design/secdata
@@ -180,7 +180,7 @@ datum/design/secdata
id = "secdata"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/secure_data
datum/design/atmosalerts
@@ -189,7 +189,7 @@ datum/design/atmosalerts
id = "atmosalerts"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/atmos_alert
datum/design/air_management
@@ -198,7 +198,7 @@ datum/design/air_management
id = "air_management"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/air_management
datum/design/robocontrol
@@ -207,7 +207,7 @@ datum/design/robocontrol
id = "robocontrol"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/robotics
datum/design/clonecontrol
@@ -216,7 +216,7 @@ datum/design/clonecontrol
id = "clonecontrol"
req_tech = list("programming" = 3, "biotech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/cloning
datum/design/clonepod
@@ -225,7 +225,7 @@ datum/design/clonepod
id = "clonepod"
req_tech = list("programming" = 3, "biotech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/clonepod
datum/design/clonescanner
@@ -234,7 +234,7 @@ datum/design/clonescanner
id = "clonescanner"
req_tech = list("programming" = 3, "biotech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/clonescanner
datum/design/arcadebattle
@@ -243,7 +243,7 @@ datum/design/arcadebattle
id = "arcademachine"
req_tech = list("programming" = 1)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/arcade/battle
datum/design/orion_trail
@@ -252,7 +252,7 @@ datum/design/orion_trail
id = "arcademachine"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/arcade/orion_trail
datum/design/powermonitor
@@ -261,7 +261,7 @@ datum/design/powermonitor
id = "powermonitor"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/powermonitor
datum/design/solarcontrol
@@ -270,7 +270,7 @@ datum/design/solarcontrol
id = "solarcontrol"
req_tech = list("programming" = 2, "powerstorage" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/solar_control
datum/design/prisonmanage
@@ -279,7 +279,7 @@ datum/design/prisonmanage
id = "prisonmanage"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/prisoner
datum/design/mechacontrol
@@ -288,7 +288,7 @@ datum/design/mechacontrol
id = "mechacontrol"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha_control
datum/design/mechapower
@@ -297,7 +297,7 @@ datum/design/mechapower
id = "mechapower"
req_tech = list("programming" = 2, "powerstorage" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mech_bay_power_console
datum/design/rdconsole
@@ -306,7 +306,7 @@ datum/design/rdconsole
id = "rdconsole"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/rdconsole
datum/design/ordercomp
@@ -315,7 +315,7 @@ datum/design/ordercomp
id = "ordercomp"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/ordercomp
datum/design/supplycomp
@@ -324,7 +324,7 @@ datum/design/supplycomp
id = "supplycomp"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/supplycomp
datum/design/mining
@@ -333,7 +333,7 @@ datum/design/mining
id = "mining"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mining
datum/design/comm_monitor
@@ -342,7 +342,7 @@ datum/design/comm_monitor
id = "comm_monitor"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/comm_monitor
datum/design/comm_server
@@ -351,7 +351,7 @@ datum/design/comm_server
id = "comm_server"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/comm_server
datum/design/message_monitor
@@ -360,7 +360,7 @@ datum/design/message_monitor
id = "message_monitor"
req_tech = list("programming" = 5)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/message_monitor
datum/design/comm_traffic
@@ -369,7 +369,7 @@ datum/design/comm_traffic
id = "comm_traffic"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/comm_traffic
datum/design/telesci_console
@@ -378,7 +378,7 @@ datum/design/telesci_console
id = "telesci_console"
req_tech = list("programming" = 3, "bluespace" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telesci_console
datum/design/aifixer
@@ -387,7 +387,7 @@ datum/design/aifixer
id = "aifixer"
req_tech = list("programming" = 3, "biotech" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/aifixer
///////////////////////////////////
@@ -399,7 +399,7 @@ datum/design/safeguard_module
id = "safeguard_module"
req_tech = list("programming" = 3, "materials" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$gold" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100)
build_path = /obj/item/weapon/aiModule/supplied/safeguard
datum/design/onehuman_module
@@ -408,7 +408,7 @@ datum/design/onehuman_module
id = "onehuman_module"
req_tech = list("programming" = 4, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100)
build_path = /obj/item/weapon/aiModule/zeroth/oneHuman
datum/design/protectstation_module
@@ -417,7 +417,7 @@ datum/design/protectstation_module
id = "protectstation_module"
req_tech = list("programming" = 3, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$gold" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100)
build_path = /obj/item/weapon/aiModule/supplied/protectStation
/*datum/design/notele_module
@@ -426,7 +426,7 @@ datum/design/protectstation_module
id = "notele_module"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$gold" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100)
build_path = /obj/item/weapon/aiModule/teleporterOffline"*/
datum/design/quarantine_module
@@ -435,7 +435,7 @@ datum/design/quarantine_module
id = "quarantine_module"
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$gold" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100)
build_path = /obj/item/weapon/aiModule/supplied/quarantine
datum/design/oxygen_module
@@ -444,7 +444,7 @@ datum/design/oxygen_module
id = "oxygen_module"
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$gold" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100)
build_path = /obj/item/weapon/aiModule/supplied/oxygen
datum/design/freeform_module
@@ -453,7 +453,7 @@ datum/design/freeform_module
id = "freeform_module"
req_tech = list("programming" = 4, "materials" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$gold" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100)
build_path = /obj/item/weapon/aiModule/supplied/freeform
datum/design/reset_module
@@ -462,7 +462,7 @@ datum/design/reset_module
id = "reset_module"
req_tech = list("programming" = 3, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$gold" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100)
build_path = /obj/item/weapon/aiModule/reset
datum/design/purge_module
@@ -471,7 +471,7 @@ datum/design/purge_module
id = "purge_module"
req_tech = list("programming" = 4, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100)
build_path = /obj/item/weapon/aiModule/reset/purge
datum/design/freeformcore_module
@@ -480,7 +480,7 @@ datum/design/freeformcore_module
id = "freeformcore_module"
req_tech = list("programming" = 4, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100)
build_path = /obj/item/weapon/aiModule/core/freeformcore
datum/design/asimov
@@ -489,7 +489,7 @@ datum/design/asimov
id = "asimov_module"
req_tech = list("programming" = 3, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100)
build_path = /obj/item/weapon/aiModule/core/full/asimov
datum/design/paladin_module
@@ -498,7 +498,7 @@ datum/design/paladin_module
id = "paladin_module"
req_tech = list("programming" = 4, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100)
build_path = /obj/item/weapon/aiModule/core/full/paladin
datum/design/tyrant_module
@@ -507,7 +507,7 @@ datum/design/tyrant_module
id = "tyrant_module"
req_tech = list("programming" = 4, "syndicate" = 2, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100)
build_path = /obj/item/weapon/aiModule/core/full/tyrant
datum/design/corporate_module
@@ -516,7 +516,7 @@ datum/design/corporate_module
id = "corporate_module"
req_tech = list("programming" = 4, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100)
build_path = /obj/item/weapon/aiModule/core/full/corp
datum/design/custom_module
@@ -525,7 +525,7 @@ datum/design/custom_module
id = "custom_module"
req_tech = list("programming" = 4, "materials" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100)
materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100)
build_path = /obj/item/weapon/aiModule/core/full/custom
@@ -538,7 +538,7 @@ datum/design/subspace_receiver
id = "s-receiver"
req_tech = list("programming" = 2, "engineering" = 2, "bluespace" = 1)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telecomms/receiver
datum/design/telecomms_bus
@@ -547,7 +547,7 @@ datum/design/telecomms_bus
id = "s-bus"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telecomms/bus
datum/design/telecomms_hub
@@ -556,7 +556,7 @@ datum/design/telecomms_hub
id = "s-hub"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telecomms/hub
datum/design/telecomms_relay
@@ -565,7 +565,7 @@ datum/design/telecomms_relay
id = "s-relay"
req_tech = list("programming" = 2, "engineering" = 2, "bluespace" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telecomms/relay
datum/design/telecomms_processor
@@ -574,7 +574,7 @@ datum/design/telecomms_processor
id = "s-processor"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telecomms/processor
datum/design/telecomms_server
@@ -583,7 +583,7 @@ datum/design/telecomms_server
id = "s-server"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telecomms/server
datum/design/subspace_broadcaster
@@ -592,7 +592,7 @@ datum/design/subspace_broadcaster
id = "s-broadcaster"
req_tech = list("programming" = 2, "engineering" = 2, "bluespace" = 1)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telecomms/broadcaster
///////////////////////////////////
@@ -627,7 +627,7 @@ datum/design/ripley_main
id = "ripley_main"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/ripley/main
datum/design/ripley_peri
@@ -636,7 +636,7 @@ datum/design/ripley_peri
id = "ripley_peri"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/ripley/peripherals
datum/design/odysseus_main
@@ -645,7 +645,7 @@ datum/design/odysseus_main
id = "odysseus_main"
req_tech = list("programming" = 3,"biotech" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/odysseus/main
datum/design/odysseus_peri
@@ -654,7 +654,7 @@ datum/design/odysseus_peri
id = "odysseus_peri"
req_tech = list("programming" = 3,"biotech" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/odysseus/peripherals
datum/design/gygax_main
@@ -663,7 +663,7 @@ datum/design/gygax_main
id = "gygax_main"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/gygax/main
datum/design/gygax_peri
@@ -672,7 +672,7 @@ datum/design/gygax_peri
id = "gygax_peri"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/gygax/peripherals
datum/design/gygax_targ
@@ -681,7 +681,7 @@ datum/design/gygax_targ
id = "gygax_targ"
req_tech = list("programming" = 4, "combat" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/gygax/targeting
datum/design/durand_main
@@ -690,7 +690,7 @@ datum/design/durand_main
id = "durand_main"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/durand/main
datum/design/durand_peri
@@ -699,7 +699,7 @@ datum/design/durand_peri
id = "durand_peri"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/durand/peripherals
datum/design/durand_targ
@@ -708,7 +708,7 @@ datum/design/durand_targ
id = "durand_targ"
req_tech = list("programming" = 4, "combat" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/durand/targeting
datum/design/honker_main
@@ -717,7 +717,7 @@ datum/design/honker_main
id = "honker_main"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/honker/main
datum/design/honker_peri
@@ -726,7 +726,7 @@ datum/design/honker_peri
id = "honker_peri"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/honker/peripherals
datum/design/honker_targ
@@ -735,7 +735,7 @@ datum/design/honker_targ
id = "honker_targ"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/honker/targeting
////////////////////////////////////////
@@ -941,7 +941,7 @@ datum/design/tech_disk
datum/design/RPED
name = "Rapid Part Exchange Device"
desc = "Special mechanical module made to store, sort, and apply standart machine parts."
desc = "Special mechanical module made to store, sort, and apply standard machine parts."
id = "rped"
req_tech = list("engineering" = 3,
"materials" = 3)
@@ -1228,7 +1228,7 @@ datum/design/smes
id = "smes"
req_tech = list("programming" = 4, "power" = 5, "engineering" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/smes
datum/design/turbine_computer
@@ -1237,7 +1237,7 @@ datum/design/turbine_computer
id = "power_turbine_console"
req_tech = list("programming" = 4, "power" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/turbine_computer
datum/design/power_compressor
@@ -1246,7 +1246,7 @@ datum/design/power_compressor
id = "power_compressor"
req_tech = list("programming" = 4, "power" = 5, "engineering" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/power_compressor
datum/design/power_turbine
@@ -1255,7 +1255,7 @@ datum/design/power_turbine
id = "power_turbine"
req_tech = list("programming" = 4, "power" = 4, "engineering" = 5)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/power_turbine
datum/design/teleport_station
@@ -1264,7 +1264,7 @@ datum/design/teleport_station
id = "tele_station"
req_tech = list("programming" = 4, "bluespace" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/teleporter_station
datum/design/teleport_hub
@@ -1273,7 +1273,7 @@ datum/design/teleport_hub
id = "tele_hub"
req_tech = list("programming" = 3, "bluespace" = 5, "materials" = 4, "engineering" = 5)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/teleporter_hub
datum/design/telepad
@@ -1282,7 +1282,7 @@ datum/design/telepad
id = "telepad"
req_tech = list("programming" = 4, "bluespace" = 4, "materials" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/telesci_pad
datum/design/sleeper
@@ -1291,7 +1291,7 @@ datum/design/sleeper
id = "sleeper"
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/sleeper
datum/design/cryotube
@@ -1300,7 +1300,7 @@ datum/design/cryotube
id = "cryotube"
req_tech = list("programming" = 4, "biotech" = 3, "engineering" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/cryo_tube
datum/design/thermomachine
@@ -1309,7 +1309,7 @@ datum/design/thermomachine
id = "thermomachine"
req_tech = list("programming" = 3, "plasmatech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/thermomachine
datum/design/biogenerator
@@ -1318,7 +1318,7 @@ datum/design/biogenerator
id = "biogenerator"
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/biogenerator
datum/design/hydroponics
@@ -1327,7 +1327,7 @@ datum/design/hydroponics
id = "hydro_tray"
req_tech = list("programming" = 1, "biotech" = 1)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/hydroponics
datum/design/microwave
@@ -1336,7 +1336,7 @@ datum/design/microwave
id = "microwave"
req_tech = list("programming" = 1)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/microwave
datum/design/chem_dispenser
@@ -1345,7 +1345,7 @@ datum/design/chem_dispenser
id = "chem_dispenser"
req_tech = list("programming" = 4, "biotech" = 3, "engineering" = 4, "materials" = 4, "plasmatech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/chem_dispenser
datum/design/destructive_analyzer
@@ -1354,7 +1354,7 @@ datum/design/destructive_analyzer
id = "destructive_analyzer"
req_tech = list("programming" = 2, "magnets" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/destructive_analyzer
datum/design/protolathe
@@ -1363,7 +1363,7 @@ datum/design/protolathe
id = "protolathe"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/protolathe
datum/design/circuit_imprinter
@@ -1372,7 +1372,7 @@ datum/design/circuit_imprinter
id = "circuit_imprinter"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/circuit_imprinter
datum/design/autolathe
@@ -1381,7 +1381,7 @@ datum/design/autolathe
id = "autolathe"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/autolathe
datum/design/rdservercontrol
@@ -1390,7 +1390,7 @@ datum/design/rdservercontrol
id = "rdservercontrol"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/rdservercontrol
datum/design/rdserver
@@ -1399,7 +1399,7 @@ datum/design/rdserver
id = "rdserver"
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/rdserver
datum/design/mechfab
@@ -1408,7 +1408,7 @@ datum/design/mechfab
id = "mechfab"
req_tech = list("programming" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mechfab
@@ -1418,7 +1418,7 @@ datum/design/cyborgrecharger
id = "cyborgrecharger"
req_tech = list("powerstorage" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/cyborgrecharger
datum/design/mech_recharger
@@ -1427,7 +1427,7 @@ datum/design/mech_recharger
id = "mech_recharger"
req_tech = list("programming" = 3, "powerstorage" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mech_recharger
datum/design/vendor
@@ -1436,7 +1436,7 @@ datum/design/vendor
id = "vendor"
req_tech = list("programming" = 1)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/vendor
@@ -1451,7 +1451,7 @@ datum/design/pacman
req_tech = list("programming" = 3, "plasmatech" = 3, "powerstorage" = 3, "engineering" = 3)
build_type = IMPRINTER
reliability = 79
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/pacman
datum/design/superpacman
@@ -1461,7 +1461,7 @@ datum/design/superpacman
req_tech = list("programming" = 3, "powerstorage" = 4, "engineering" = 4)
build_type = IMPRINTER
reliability = 76
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/pacman/super
datum/design/mrspacman
@@ -1471,7 +1471,7 @@ datum/design/mrspacman
req_tech = list("programming" = 3, "powerstorage" = 5, "engineering" = 5)
build_type = IMPRINTER
reliability = 74
materials = list("$glass" = 2000, "sacid" = 20)
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/pacman/mrs
@@ -1564,7 +1564,7 @@ datum/design/nuclear_gun
id = "nuclear_gun"
req_tech = list("combat" = 3, "materials" = 5, "powerstorage" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1000, "$uranium" = 500)
materials = list("$metal" = 5000, "$glass" = 1000, "$uranium" = 2000)
reliability = 76
build_path = /obj/item/weapon/gun/energy/gun/nuclear
locked = 1
@@ -1585,7 +1585,7 @@ datum/design/lasercannon
id = "lasercannon"
req_tech = list("combat" = 4, "materials" = 3, "powerstorage" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 10000, "$glass" = 1000, "$diamond" = 2000)
materials = list("$metal" = 10000, "$glass" = 2000, "$diamond" = 2000)
build_path = /obj/item/weapon/gun/energy/lasercannon
locked = 1
@@ -1692,7 +1692,7 @@ datum/design/ammo_9mm
id = "ammo_9mm"
req_tech = list("combat" = 4, "materials" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 3750, "$silver" = 100)
materials = list("$metal" = 2000)
build_path = /obj/item/ammo_box/c9mm
datum/design/mag_smg
@@ -1701,7 +1701,7 @@ datum/design/mag_smg
id = "mag_smg"
req_tech = list("combat" = 4, "materials" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 3750, "$silver" = 100)
materials = list("$metal" = 2000)
build_path = /obj/item/ammo_box/magazine/msmg9mm
datum/design/stunshell
@@ -1710,7 +1710,7 @@ datum/design/stunshell
id = "stunshell"
req_tech = list("combat" = 3, "materials" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 4000)
materials = list("$metal" = 200)
build_path = /obj/item/ammo_casing/shotgun/stunshell
/////////////////////////////////////////
@@ -1875,7 +1875,7 @@ datum/design/welding_mask
id = "weldingmask"
req_tech = list("materials" = 2, "engineering" = 2)
build_type = PROTOLATHE
materials = list("$metal" = 4000, "$glass" = 2000)
materials = list("$metal" = 4000, "$glass" = 1000)
build_path = /obj/item/clothing/mask/gas/welding
datum/design/mesons
@@ -1904,7 +1904,7 @@ datum/design/night_vision_goggles
build_type = PROTOLATHE
materials = list("$metal" = 100, "$glass" = 100, "$uranium" = 1000)
build_path = /obj/item/clothing/glasses/night
datum/design/magboots
name = "Magnetic Boots"
desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle."
+21 -21
View File
@@ -51,8 +51,8 @@ Note: Must be placed west/left of and R&D console to function.
max_material_storage = T * 75000
T = 0
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
T += M.rating
efficiency_coeff = T-1
T += (M.rating/3)
efficiency_coeff = max(T, 1)
/obj/machinery/r_n_d/protolathe/proc/check_mat(datum/design/being_built, var/M)
switch(M)
@@ -92,31 +92,31 @@ Note: Must be placed west/left of and R&D console to function.
if(istype(O, /obj/item/weapon/crowbar))
for(var/obj/item/weapon/reagent_containers/glass/G in component_parts)
reagents.trans_to(G, G.reagents.maximum_volume)
if(m_amount >= 3750)
if(m_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc)
G.amount = round(m_amount / G.perunit)
if(g_amount >= 3750)
if(g_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
G.amount = round(g_amount / G.perunit)
if(plasma_amount >= 2000)
if(plasma_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/plasma/G = new /obj/item/stack/sheet/mineral/plasma(src.loc)
G.amount = round(plasma_amount / G.perunit)
if(silver_amount >= 2000)
if(silver_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver(src.loc)
G.amount = round(silver_amount / G.perunit)
if(gold_amount >= 2000)
if(gold_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(src.loc)
G.amount = round(gold_amount / G.perunit)
if(uranium_amount >= 2000)
if(uranium_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(src.loc)
G.amount = round(uranium_amount / G.perunit)
if(diamond_amount >= 2000)
if(diamond_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc)
G.amount = round(diamond_amount / G.perunit)
if(clown_amount >= 2000)
if(clown_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/clown/G = new /obj/item/stack/sheet/mineral/clown(src.loc)
G.amount = round(clown_amount / G.perunit)
if(adamantine_amount >= 2000)
if(adamantine_amount >= MINERAL_MATERIAL_AMOUNT)
var/obj/item/stack/sheet/mineral/adamantine/G = new /obj/item/stack/sheet/mineral/adamantine(src.loc)
G.amount = round(adamantine_amount / G.perunit)
default_deconstruction_crowbar(O)
@@ -156,27 +156,27 @@ Note: Must be placed west/left of and R&D console to function.
icon_state = "protolathe"
busy = 1
use_power(max(1000, (3750*amount/10)))
use_power(max(1000, (MINERAL_MATERIAL_AMOUNT*amount/10)))
user << "<span class='notice'>You add [amount] sheets to the [src.name].</span>"
icon_state = "protolathe"
if(istype(stack, /obj/item/stack/sheet/metal))
m_amount += amount * 3750
m_amount += amount * MINERAL_MATERIAL_AMOUNT
else if(istype(stack, /obj/item/stack/sheet/glass))
g_amount += amount * 3750
g_amount += amount * MINERAL_MATERIAL_AMOUNT
else if(istype(stack, /obj/item/stack/sheet/mineral/gold))
gold_amount += amount * 2000
gold_amount += amount * MINERAL_MATERIAL_AMOUNT
else if(istype(stack, /obj/item/stack/sheet/mineral/silver))
silver_amount += amount * 2000
silver_amount += amount * MINERAL_MATERIAL_AMOUNT
else if(istype(stack, /obj/item/stack/sheet/mineral/plasma))
plasma_amount += amount * 2000
plasma_amount += amount * MINERAL_MATERIAL_AMOUNT
else if(istype(stack, /obj/item/stack/sheet/mineral/uranium))
uranium_amount += amount * 2000
uranium_amount += amount * MINERAL_MATERIAL_AMOUNT
else if(istype(stack, /obj/item/stack/sheet/mineral/diamond))
diamond_amount += amount * 2000
diamond_amount += amount * MINERAL_MATERIAL_AMOUNT
else if(istype(stack, /obj/item/stack/sheet/mineral/clown))
clown_amount += amount * 2000
clown_amount += amount * MINERAL_MATERIAL_AMOUNT
else if(istype(stack, /obj/item/stack/sheet/mineral/adamantine))
adamantine_amount += amount * 2000
adamantine_amount += amount * MINERAL_MATERIAL_AMOUNT
stack.use(amount)
busy = 0
src.updateUsrDialog()
+10 -10
View File
@@ -3,8 +3,8 @@
desc = "Retracts stuff."
icon = 'icons/obj/surgery.dmi'
icon_state = "retractor"
m_amt = 10000
g_amt = 5000
m_amt = 6000
g_amt = 3000
flags = CONDUCT
w_class = 1.0
origin_tech = "materials=1;biotech=1"
@@ -28,8 +28,8 @@
desc = "This stops bleeding."
icon = 'icons/obj/surgery.dmi'
icon_state = "cautery"
m_amt = 5000
g_amt = 2500
m_amt = 2500
g_amt = 750
flags = CONDUCT
w_class = 1.0
origin_tech = "materials=1;biotech=1"
@@ -42,8 +42,8 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "drill"
hitsound = 'sound/weapons/circsawhit.ogg'
m_amt = 15000
g_amt = 10000
m_amt = 10000
g_amt = 6000
flags = CONDUCT
force = 15.0
w_class = 3.0
@@ -67,8 +67,8 @@
throwforce = 5.0
throw_speed = 3
throw_range = 5
m_amt = 10000
g_amt = 5000
m_amt = 4000
g_amt = 1000
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -93,8 +93,8 @@
throwforce = 9.0
throw_speed = 2
throw_range = 5
m_amt = 20000
g_amt = 10000
m_amt = 10000
g_amt = 6000
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "slashed", "sawed", "cut")