Merge pull request #6329 from uraniummeltdown/mineral

Mineral Floors
This commit is contained in:
Crazy Lemon
2017-02-07 19:33:24 -08:00
committed by GitHub
9 changed files with 309 additions and 71 deletions
@@ -3,6 +3,7 @@
gender = PLURAL
singular_name = "wired glass floor tile"
desc = "A glass tile, which is wired, somehow."
icon = 'icons/obj/tiles.dmi'
icon_state = "glass_wire"
w_class = 3
force = 3.0
@@ -12,9 +12,6 @@ Mineral Sheets
- Tranqillite
- Enriched Uranium
- Platinum
- Metallic Hydrogen
- Tritium
- Osmium
*/
var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
@@ -24,23 +21,34 @@ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
var/global/list/datum/stack_recipe/silver_recipes = list ( \
new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("silver tile", /obj/item/stack/tile/mineral/silver, 1, 4, 20), \
)
var/global/list/datum/stack_recipe/diamond_recipes = list ( \
new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("diamond tile", /obj/item/stack/tile/mineral/diamond, 1, 4, 20), \
)
var/global/list/datum/stack_recipe/uranium_recipes = list ( \
new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("uranium tile", /obj/item/stack/tile/mineral/uranium, 1, 4, 20), \
)
var/global/list/datum/stack_recipe/gold_recipes = list ( \
new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("gold tile", /obj/item/stack/tile/mineral/gold, 1, 4, 20), \
null, \
new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/crown, 5), \
)
var/global/list/datum/stack_recipe/plasma_recipes = list ( \
new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("plasma tile", /obj/item/stack/tile/mineral/plasma, 1, 4, 20), \
)
var/global/list/datum/stack_recipe/plastic_recipes = list ( \
@@ -61,13 +69,24 @@ var/global/list/datum/stack_recipe/plastic_recipes = list ( \
)
var/global/list/datum/stack_recipe/bananium_recipes = list ( \
new/datum/stack_recipe("bananium tile", /obj/item/stack/tile/mineral/bananium, 1, 4, 20), \
null, \
new/datum/stack_recipe("bananium computer frame", /obj/structure/computerframe/HONKputer, 50, time = 25, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("bananium grenade casing", /obj/item/weapon/grenade/bananade/casing, 4, on_floor = 1), \
)
var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
new/datum/stack_recipe("silent tile", /obj/item/stack/tile/silent, 1, 4, 20), \
new/datum/stack_recipe("invisible wall", /obj/structure/barricade/mime, 5, one_per_turf = 1, on_floor = 1, time = 50), \
null, \
new/datum/stack_recipe("silent tile", /obj/item/stack/tile/mineral/tranquillite, 1, 4, 20), \
)
var/global/list/datum/stack_recipe/abductor_recipes = list ( \
new/datum/stack_recipe("alien bed", /obj/structure/stool/bed/abductor, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("alien locker", /obj/structure/closet/abductor, 1, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("alien table frame", /obj/structure/abductor_tableframe, 1, time = 15, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20), \
)
/obj/item/stack/sheet/mineral
@@ -100,11 +119,11 @@ var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
/obj/item/stack/sheet/mineral/diamond
name = "diamond"
icon_state = "sheet-diamond"
singular_name = "diamond"
origin_tech = "materials=6"
sheettype = "diamond"
materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT)
/obj/item/stack/sheet/mineral/diamond/New()
..()
recipes = diamond_recipes
@@ -112,6 +131,7 @@ var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
/obj/item/stack/sheet/mineral/uranium
name = "uranium"
icon_state = "sheet-uranium"
singular_name = "uranium sheet"
origin_tech = "materials=5"
sheettype = "uranium"
materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT)
@@ -123,6 +143,7 @@ var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
/obj/item/stack/sheet/mineral/plasma
name = "solid plasma"
icon_state = "sheet-plasma"
singular_name = "plasma sheet"
origin_tech = "plasmatech=2;materials=2"
sheettype = "plasma"
materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT)
@@ -161,6 +182,7 @@ var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
/obj/item/stack/sheet/mineral/gold
name = "gold"
icon_state = "sheet-gold"
singular_name = "gold bar"
origin_tech = "materials=4"
sheettype = "gold"
materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT)
@@ -172,6 +194,7 @@ var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
/obj/item/stack/sheet/mineral/silver
name = "silver"
icon_state = "sheet-silver"
singular_name = "silver bar"
origin_tech = "materials=3"
sheettype = "silver"
materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT)
@@ -183,23 +206,24 @@ var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
/obj/item/stack/sheet/mineral/bananium
name = "bananium"
icon_state = "sheet-clown"
singular_name = "bananium sheet"
origin_tech = "materials=4"
sheettype = "bananium"
materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT)
/obj/item/stack/sheet/mineral/bananium/New(var/loc, var/amount=null)
/obj/item/stack/sheet/mineral/bananium/New(loc, amount=null)
..()
recipes = bananium_recipes
/obj/item/stack/sheet/mineral/tranquillite
name = "tranquillite"
singular_name = "beret"
icon_state = "sheet-mime"
singular_name = "beret"
origin_tech = "materials=4"
sheettype = "tranquillite"
materials = list(MAT_TRANQUILLITE=MINERAL_MATERIAL_AMOUNT)
/obj/item/stack/sheet/mineral/tranquillite/New(var/loc, var/amount=null)
/obj/item/stack/sheet/mineral/tranquillite/New(loc, amount=null)
..()
recipes = tranquillite_recipes
@@ -209,9 +233,7 @@ var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
origin_tech = "materials=6"
materials = list(MAT_URANIUM=3000)
/*
* Alien Alloy
*/
//Alien Alloy
/obj/item/stack/sheet/mineral/abductor
name = "alien alloy"
icon = 'icons/obj/abductor.dmi'
@@ -225,14 +247,6 @@ var/global/list/datum/stack_recipe/tranquillite_recipes = list ( \
origin_tech = "materials=6;abductor=1"
sheettype = "abductor"
var/global/list/datum/stack_recipe/abductor_recipes = list ( \
new/datum/stack_recipe("alien bed", /obj/structure/stool/bed/abductor, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("alien locker", /obj/structure/closet/abductor, 1, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("alien table frame", /obj/structure/abductor_tableframe, 1, time = 15, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20), \
)
/obj/item/stack/sheet/mineral/abductor/New(var/loc, var/amount=null)
/obj/item/stack/sheet/mineral/abductor/New(loc, amount=null)
recipes = abductor_recipes
..()
@@ -1,3 +1,68 @@
/obj/item/stack/tile/mineral/plasma
name = "plasma tile"
singular_name = "plasma floor tile"
desc = "A tile made out of highly flammable plasma. This can only end well."
icon_state = "tile_plasma"
origin_tech = "plasmatech=1"
turf_type = /turf/simulated/floor/mineral/plasma
mineralType = "plasma"
materials = list(MAT_PLASMA=500)
/obj/item/stack/tile/mineral/uranium
name = "uranium tile"
singular_name = "uranium floor tile"
desc = "A tile made out of uranium. You feel a bit woozy."
icon_state = "tile_uranium"
turf_type = /turf/simulated/floor/mineral/uranium
mineralType = "uranium"
materials = list(MAT_URANIUM=500)
/obj/item/stack/tile/mineral/gold
name = "gold tile"
singular_name = "gold floor tile"
desc = "A tile made out of gold, the swag seems strong here."
icon_state = "tile_gold"
turf_type = /turf/simulated/floor/mineral/gold
mineralType = "gold"
materials = list(MAT_GOLD=500)
/obj/item/stack/tile/mineral/silver
name = "silver tile"
singular_name = "silver floor tile"
desc = "A tile made out of silver, the light shining from it is blinding."
icon_state = "tile_silver"
turf_type = /turf/simulated/floor/mineral/silver
mineralType = "silver"
materials = list(MAT_SILVER=500)
/obj/item/stack/tile/mineral/diamond
name = "diamond tile"
singular_name = "diamond floor tile"
desc = "A tile made out of diamond. Wow, just, wow."
icon_state = "tile_diamond"
origin_tech = "materials=2"
turf_type = /turf/simulated/floor/mineral/diamond
mineralType = "diamond"
materials = list(MAT_DIAMOND=500)
/obj/item/stack/tile/mineral/bananium
name = "bananium tile"
singular_name = "bananium floor tile"
desc = "A tile made out of bananium, HOOOOOOOOONK!"
icon_state = "tile_bananium"
turf_type = /turf/simulated/floor/mineral/bananium
mineralType = "bananium"
materials = list(MAT_BANANIUM=500)
/obj/item/stack/tile/mineral/tranquillite
name = "silent tile"
singular_name = "silent floor tile"
desc = "A tile made out of tranquillite, SHHHHHHHHH!"
icon_state = "tile_tranquillite"
turf_type = /turf/simulated/floor/mineral/tranquillite
mineralType = "tranquillite"
materials = list(MAT_TRANQUILLITE=500)
/obj/item/stack/tile/mineral/abductor
name = "alien floor tile"
singular_name = "alien floor tile"
@@ -1,19 +1,8 @@
/* Different misc types of tiles
* Contains:
* Grass
* Wood
* Carpet
* Plasteel
* Light
* Fakespace
* High-traction
\\ If you don't update the contains list, I'm going to shank you
*/
/obj/item/stack/tile
name = "broken tile"
singular_name = "broken tile"
desc = "A broken tile. This should not exist."
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/tiles.dmi'
icon_state = "tile"
item_state = "tile"
w_class = 3
@@ -23,12 +12,64 @@
throw_range = 20
max_amount = 60
flags = CONDUCT
origin_tech = "materials=1"
var/turf_type = null
var/mineralType = null
/*
* Grass
*/
/obj/item/stack/tile/New(loc, amount)
..()
pixel_x = rand(-3, 3)
pixel_y = rand(-3, 3) //randomize a little
/obj/item/stack/tile/attackby(obj/item/W, mob/user, params)
if(iswelder(W))
var/obj/item/weapon/weldingtool/WT = W
if(is_hot(W) && !mineralType)
to_chat(user, "<span class='warning'>You can not reform this!</span>")
return
if(get_amount() < 4)
to_chat(user, "<span class='warning'>You need at least four tiles to do this!</span>")
return
if(WT.remove_fuel(0,user))
if(mineralType == "plasma")
atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, 5)
user.visible_message("<span class='warning'>[user.name] sets the plasma tiles on fire!</span>", \
"<span class='warning'>You set the plasma tiles on fire!</span>")
qdel(src)
return
if (mineralType == "metal")
var/obj/item/stack/sheet/metal/new_item = new(user.loc)
user.visible_message("[user.name] shaped [src] into metal with the welding tool.", \
"<span class='notice'>You shaped [src] into metal with the welding tool.</span>", \
"<span class='italics'>You hear welding.</span>")
var/obj/item/stack/rods/R = src
src = null
var/replace = (user.get_inactive_hand()==R)
R.use(4)
if(!R && replace)
user.put_in_hands(new_item)
else
var/sheet_type = text2path("/obj/item/stack/sheet/mineral/[mineralType]")
var/obj/item/stack/sheet/mineral/new_item = new sheet_type(user.loc)
user.visible_message("[user.name] shaped [src] into a sheet with the welding tool.", \
"<span class='notice'>You shaped [src] into a sheet with the welding tool.</span>", \
"<span class='italics'>You hear welding.</span>")
var/obj/item/stack/rods/R = src
src = null
var/replace = (user.get_inactive_hand()==R)
R.use(4)
if (!R && replace)
user.put_in_hands(new_item)
else
return ..()
//Grass
/obj/item/stack/tile/grass
name = "grass tiles"
gender = PLURAL
@@ -39,21 +80,18 @@
turf_type = /turf/simulated/floor/grass
burn_state = FLAMMABLE
/*
* Wood
*/
//Wood
/obj/item/stack/tile/wood
name = "wood floor tiles"
gender = PLURAL
singular_name = "wood floor tile"
desc = "an easy to fit wood floor tile"
icon_state = "tile-wood"
origin_tech = "biotech=1"
turf_type = /turf/simulated/floor/wood
burn_state = FLAMMABLE
/*
* Carpets
*/
//Carpets
/obj/item/stack/tile/carpet
name = "carpet"
singular_name = "carpet"
@@ -62,9 +100,7 @@
turf_type = /turf/simulated/floor/carpet
burn_state = FLAMMABLE
/*
* Plasteel
*/
//Plasteel
/obj/item/stack/tile/plasteel
name = "floor tiles"
gender = PLURAL
@@ -80,9 +116,7 @@
turf_type = /turf/simulated/floor/plasteel
mineralType = "metal"
/*
* Light
*/
//Light
/obj/item/stack/tile/light
name = "light tiles"
gender = PLURAL
@@ -94,9 +128,7 @@
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed")
turf_type = /turf/simulated/floor/light
/*
* Fakespace
*/
//Fakespace
/obj/item/stack/tile/fakespace
name = "astral carpet"
singular_name = "astral carpet"
@@ -120,16 +152,6 @@
/obj/item/stack/tile/noslip/loaded
amount = 20
/obj/item/stack/tile/silent
name = "silent tile"
singular_name = "silent floor tile"
desc = "A tile made out of tranquillite, SHHHHHHHHH!"
icon_state = "tile-silent"
origin_tech = "materials=1"
turf_type = /turf/simulated/floor/silent
mineralType = "tranquillite"
materials = list(MAT_TRANQUILLITE=500)
//Pod floor
/obj/item/stack/tile/pod
name = "pod floor tile"
+147 -4
View File
@@ -1,10 +1,18 @@
/* In this file:
*
* Plasma floor
* Gold floor
* Silver floor
* Bananium floor
* Diamond floor
* Uranium floor
*/
/turf/simulated/floor/mineral
name = "mineral floor"
icon_state = ""
var/list/icons = list()
/turf/simulated/floor/mineral/New()
..()
broken_states = list("[initial(icon_state)]_dam")
@@ -13,9 +21,145 @@
if(!..())
return 0
if(!broken && !burnt)
if( !(icon_state in icons) )
if(!(icon_state in icons))
icon_state = initial(icon_state)
//PLASMA
/turf/simulated/floor/mineral/plasma
name = "plasma floor"
icon_state = "plasma"
floor_tile = /obj/item/stack/tile/mineral/plasma
icons = list("plasma","plasma_dam")
/turf/simulated/floor/mineral/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
PlasmaBurn()
/turf/simulated/floor/mineral/plasma/attackby(obj/item/weapon/W, mob/user, params)
if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
message_admins("Plasma flooring was ignited by [key_name_admin(user)](<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>) (<A HREF='?_src_=holder;adminplayerobservefollow=\ref[user]'>FLW</A>) in ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)",0,1)
log_game("Plasma flooring was ignited by [key_name(user)] in ([x],[y],[z])")
ignite(is_hot(W))
return
..()
/turf/simulated/floor/mineral/plasma/proc/PlasmaBurn()
make_plating()
atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, 20)
/turf/simulated/floor/mineral/plasma/proc/ignite(exposed_temperature)
if(exposed_temperature > 300)
PlasmaBurn()
//GOLD
/turf/simulated/floor/mineral/gold
name = "gold floor"
icon_state = "gold"
floor_tile = /obj/item/stack/tile/mineral/gold
icons = list("gold","gold_dam")
//SILVER
/turf/simulated/floor/mineral/silver
name = "silver floor"
icon_state = "silver"
floor_tile = /obj/item/stack/tile/mineral/silver
icons = list("silver","silver_dam")
//BANANIUM
/turf/simulated/floor/mineral/bananium
name = "bananium floor"
icon_state = "bananium"
floor_tile = /obj/item/stack/tile/mineral/bananium
icons = list("bananium","bananium_dam")
var/spam_flag = 0
/turf/simulated/floor/mineral/bananium/Entered(mob/AM)
.=..()
if(!.)
if(istype(AM))
squeek()
/turf/simulated/floor/mineral/bananium/attackby(obj/item/weapon/W, mob/user, params)
.=..()
if(!.)
honk()
/turf/simulated/floor/mineral/bananium/attack_hand(mob/user)
.=..()
if(!.)
honk()
/turf/simulated/floor/mineral/bananium/proc/honk()
if(!spam_flag)
spam_flag = 1
playsound(src, 'sound/items/bikehorn.ogg', 50, 1)
spawn(20)
spam_flag = 0
/turf/simulated/floor/mineral/bananium/proc/squeek()
if(!spam_flag)
spam_flag = 1
playsound(src, "clownstep", 50, 1)
spawn(10)
spam_flag = 0
/turf/simulated/floor/mineral/bananium/airless
oxygen = 0.01
nitrogen = 0.01
temperature = TCMB
//TRANQUILLITE
/turf/simulated/floor/mineral/tranquillite
name = "silent floor"
icon_state = "tranquillite"
floor_tile = /obj/item/stack/tile/mineral/tranquillite
shoe_running_volume = 0
shoe_walking_volume = 0
//DIAMOND
/turf/simulated/floor/mineral/diamond
name = "diamond floor"
icon_state = "diamond"
floor_tile = /obj/item/stack/tile/mineral/diamond
icons = list("diamond","diamond_dam")
//URANIUM
/turf/simulated/floor/mineral/uranium
name = "uranium floor"
icon_state = "uranium"
floor_tile = /obj/item/stack/tile/mineral/uranium
icons = list("uranium","uranium_dam")
var/last_event = 0
var/active = null
/turf/simulated/floor/mineral/uranium/Entered(mob/AM)
.=..()
if(!.)
if(istype(AM))
radiate()
/turf/simulated/floor/mineral/uranium/attackby(obj/item/weapon/W, mob/user, params)
.=..()
if(!.)
radiate()
/turf/simulated/floor/mineral/uranium/attack_hand(mob/user)
.=..()
if(!.)
radiate()
/turf/simulated/floor/mineral/uranium/proc/radiate()
if(!active)
if(world.time > last_event+15)
active = 1
for(var/mob/living/L in range(3,src))
L.apply_effect(1,IRRADIATE,0)
for(var/turf/simulated/floor/mineral/uranium/T in orange(1,src))
T.radiate()
last_event = world.time
active = 0
return
// ALIEN ALLOY
/turf/simulated/floor/mineral/abductor
name = "alien floor"
@@ -36,7 +180,6 @@
/turf/simulated/floor/mineral/abductor/make_plating()
return ChangeTurf(/turf/simulated/floor/plating/abductor2)
/turf/simulated/floor/plating/abductor2
name = "alien plating"
icon_state = "alienplating"
@@ -66,10 +66,3 @@
/turf/simulated/floor/noslip/MakeSlippery()
return
/turf/simulated/floor/silent
name = "silent floor"
icon_state = "silent"
floor_tile = /obj/item/stack/tile/silent
shoe_running_volume = 0
shoe_walking_volume = 0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 KiB

After

Width:  |  Height:  |  Size: 413 KiB