Base features for Precursotech and Anomalotech Expansion

This commit is contained in:
Neerti
2019-04-13 22:44:52 -04:00
committed by VirgoBot
parent 072e79f78d
commit fc7c6f38b4
43 changed files with 1141 additions and 103 deletions
@@ -190,3 +190,7 @@
recipes += new/datum/stack_recipe("alien wood floor tile", /obj/item/stack/tile/wood/sif, 1, 4, 20)
recipes -= new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20)
recipes -= new/datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1)
/material/supermatter/generate_recipes()
recipes = list()
recipes += new/datum/stack_recipe("supermatter shard", /obj/machinery/power/supermatter/shard, 30 , one_per_turf = 1, time = 600, on_floor = 1)
+95 -1
View File
@@ -214,7 +214,101 @@
no_variants = FALSE
/obj/item/stack/material/durasteel/hull
name = "MAT_DURASTEELHULL"
name = MAT_DURASTEELHULL
/obj/item/stack/material/titanium
name = MAT_TITANIUM
icon_state = "sheet-silver"
item_state = "sheet-silver"
default_type = MAT_TITANIUM
no_variants = FALSE
/obj/item/stack/material/titanium/hull
name = MAT_TITANIUMHULL
default_type = MAT_TITANIUMHULL
// Particle Smasher and Exotic material.
/obj/item/stack/material/verdantium
name = MAT_VERDANTIUM
icon_state = "sheet-wavy"
item_state = "mhydrogen"
default_type = MAT_VERDANTIUM
no_variants = FALSE
apply_colour = TRUE
/obj/item/stack/material/morphium
name = MAT_MORPHIUM
icon_state = "sheet-wavy"
item_state = "mhydrogen"
default_type = MAT_MORPHIUM
no_variants = FALSE
apply_colour = TRUE
/obj/item/stack/material/morphium/hull
name = MAT_MORPHIUMHULL
default_type = MAT_MORPHIUMHULL
/obj/item/stack/material/valhollide
name = MAT_VALHOLLIDE
icon_state = "sheet-gem"
item_state = "diamond"
default_type = MAT_VALHOLLIDE
no_variants = FALSE
apply_colour = TRUE
// Forged in the equivalent of Hell, one piece at a time.
/obj/item/stack/material/supermatter
name = MAT_SUPERMATTER
icon_state = "sheet-super"
item_state = "diamond"
default_type = MAT_SUPERMATTER
apply_colour = TRUE
/obj/item/stack/material/supermatter/proc/update_mass() // Due to how dangerous they can be, the item will get heavier and larger the more are in the stack.
slowdown = amount / 10
w_class = min(5, round(amount / 10) + 1)
throw_range = round(amount / 7) + 1
/obj/item/stack/material/supermatter/use(var/used)
. = ..()
update_mass()
return
/obj/item/stack/material/supermatter/attack_hand(mob/user)
update_mass()
radiation_repository.radiate(src, 5 + amount)
var/mob/living/M = user
if(!istype(M))
return
var/burn_user = TRUE
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = user
var/obj/item/clothing/gloves/G = H.gloves
if(istype(G) && ((G.flags & THICKMATERIAL && prob(70)) || istype(G, /obj/item/clothing/gloves/gauntlets)))
burn_user = FALSE
if(burn_user)
H.visible_message("<span class='danger'>\The [src] flashes as it scorches [H]'s hands!</span>")
H.apply_damage(amount / 2 + 5, BURN, "r_hand", used_weapon="Supermatter Chunk")
H.apply_damage(amount / 2 + 5, BURN, "l_hand", used_weapon="Supermatter Chunk")
H.drop_from_inventory(src, get_turf(H))
return
if(istype(user, /mob/living/silicon/robot))
burn_user = FALSE
if(burn_user)
M.apply_damage(amount, BURN, null, used_weapon="Supermatter Chunk")
/obj/item/stack/material/supermatter/ex_act(severity) // An incredibly hard to manufacture material, SM chunks are unstable by their 'stabilized' nature.
if(prob((4 / severity) * 20))
radiation_repository.radiate(get_turf(src), amount * 4)
explosion(get_turf(src),round(amount / 12) , round(amount / 6), round(amount / 3), round(amount / 25))
qdel(src)
return
radiation_repository.radiate(get_turf(src), amount * 2)
..()
/obj/item/stack/material/wood
name = "wooden plank"
+81 -5
View File
@@ -105,6 +105,8 @@ var/list/name_to_material
var/opacity = 1 // Is the material transparent? 0.5< makes transparent walls/doors.
var/reflectivity = 0 // How reflective to light is the material? Currently used for laser reflection and defense.
var/explosion_resistance = 5 // Only used by walls currently.
var/negation = 0 // Objects that respect this will randomly absorb impacts with this var as the percent chance.
var/spatial_instability = 0 // Objects that have trouble staying in the same physical space by sheer laws of nature have this. Percent for respecting items to cause teleportation.
var/conductive = 1 // Objects with this var add CONDUCTS to flags on spawn.
var/conductivity = null // How conductive the material is. Iron acts as the baseline, at 10.
var/list/composite_material // If set, object matter var will be a list containing these values.
@@ -293,6 +295,8 @@ var/list/name_to_material
/material/supermatter
name = "supermatter"
icon_colour = "#FFFF00"
stack_type = /obj/item/stack/material/supermatter
shard_type = SHARD_SHARD
radioactivity = 20
stack_type = null
luminescence = 3
@@ -304,6 +308,7 @@ var/list/name_to_material
sheet_singular_name = "crystal"
sheet_plural_name = "crystals"
is_fusion_fuel = 1
stack_origin_tech = list(TECH_MATERIAL = 8, TECH_PHORON = 5, TECH_BLUESPACE = 4)
/material/phoron
name = "phoron"
@@ -354,11 +359,14 @@ var/list/name_to_material
name = "marble"
icon_colour = "#AAAAAA"
weight = 26
<<<<<<< HEAD
hardness = 30 //VOREStation Edit - Please.
=======
hardness = 70
>>>>>>> 4ff3ee1... Merge pull request #6023 from Mechoid/Precursotech_Baseline
integrity = 201 //hack to stop kitchen benches being flippable, todo: refactor into weight system
stack_type = /obj/item/stack/material/marble
/material/steel
name = DEFAULT_WALL_MATERIAL
stack_type = /obj/item/stack/material/steel
@@ -455,8 +463,8 @@ var/list/name_to_material
reflectivity = 0.9
/material/plasteel/titanium
name = "titanium"
stack_type = null
name = MAT_TITANIUM
stack_type = /obj/item/stack/material/titanium
conductivity = 2.38
icon_base = "metal"
door_icon_base = "metal"
@@ -465,7 +473,7 @@ var/list/name_to_material
/material/plasteel/titanium/hull
name = MAT_TITANIUMHULL
stack_type = null
stack_type = /obj/item/stack/material/titanium/hull
icon_base = "hull"
icon_reinf = "reinf_mesh"
@@ -686,7 +694,7 @@ var/list/name_to_material
sheet_plural_name = "ingots"
/material/lead
name = "lead"
name = MAT_LEAD
stack_type = /obj/item/stack/material/lead
icon_colour = "#273956"
weight = 23 // Lead is a bit more dense than silver IRL, and silver has 22 ingame.
@@ -695,6 +703,74 @@ var/list/name_to_material
sheet_plural_name = "ingots"
radiation_resistance = 25 // Lead is Special and so gets to block more radiation than it normally would with just weight, totalling in 48 protection.
// Particle Smasher and other exotic materials.
/material/verdantium
name = MAT_VERDANTIUM
stack_type = /obj/item/stack/material/verdantium
icon_base = "metal"
door_icon_base = "metal"
icon_reinf = "reinf_metal"
icon_colour = "#4FE95A"
integrity = 80
protectiveness = 15
weight = 15
hardness = 30
shard_type = SHARD_SHARD
negation = 15
conductivity = 60
reflectivity = 0.3
radiation_resistance = 5
stack_origin_tech = list(TECH_MATERIAL = 6, TECH_POWER = 5, TECH_BIO = 4)
sheet_singular_name = "sheet"
sheet_plural_name = "sheets"
/material/morphium
name = MAT_MORPHIUM
stack_type = /obj/item/stack/material/morphium
icon_base = "metal"
door_icon_base = "metal"
icon_colour = "#37115A"
icon_reinf = "reinf_metal"
protectiveness = 60
integrity = 300
conductivity = 1.5
hardness = 90
shard_type = SHARD_SHARD
weight = 30
negation = 25
explosion_resistance = 85
reflectivity = 0.2
radiation_resistance = 10
stack_origin_tech = list(TECH_MATERIAL = 8, TECH_ILLEGAL = 1, TECH_PHORON = 4, TECH_BLUESPACE = 4, TECH_ARCANE = 1)
/material/morphium/hull
name = MAT_MORPHIUMHULL
stack_type = /obj/item/stack/material/morphium/hull
icon_base = "hull"
icon_reinf = "reinf_mesh"
/material/valhollide
name = MAT_VALHOLLIDE
stack_type = /obj/item/stack/material/valhollide
icon_base = "stone"
door_icon_base = "stone"
icon_reinf = "reinf_mesh"
icon_colour = "##FFF3B2"
protectiveness = 30
integrity = 240
weight = 30
hardness = 45
negation = 2
conductivity = 5
reflectivity = 0.5
radiation_resistance = 20
spatial_instability = 30
stack_origin_tech = list(TECH_MATERIAL = 7, TECH_PHORON = 5, TECH_BLUESPACE = 5)
sheet_singular_name = "gem"
sheet_plural_name = "gems"
// Adminspawn only, do not let anyone get this.
/material/alienalloy
name = "alienalloy"