From eb14dd203ef60164ca3c7941bc3e45dbdae1ce1b Mon Sep 17 00:00:00 2001 From: Sonoida Date: Wed, 18 Jan 2023 13:20:59 +0100 Subject: [PATCH] Calorite is finished! It seems to be working well. It's still missing a detail or two, but now it's properly functional, mineable and usable! Future plans include unique coin, statue, more area effects, unique reagent and being used in crafting recipes. --- code/game/objects/structures/false_walls.dm | 16 ++++++++-------- code/game/turfs/simulated/minerals.dm | 10 +++++----- .../turfs/simulated/wall/mineral_walls.dm | 14 +++++++------- code/modules/mining/ores_coins.dm | 4 ++-- icons/effects/ore_visuals.dmi | Bin 23454 -> 28887 bytes 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 2a1b3767..d4912b47 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -263,14 +263,14 @@ walltype = /turf/closed/wall/mineral/bananium canSmoothWith = list(/obj/structure/falsewall/bananium, /turf/closed/wall/mineral/bananium) -// /obj/structure/falsewall/calorite //GS13 -// name = "calorite wall" -// desc = "A wall with calorite plating. Burp." -// icon = 'icons/turf/walls/calorite_wall.dmi' -// icon_state = "calorite" -// mineral = /obj/item/stack/sheet/mineral/calorite -// walltype = /turf/closed/wall/mineral/calorite -// canSmoothWith = list(/obj/structure/falsewall/calorite, /turf/closed/wall/mineral/calorite) +/obj/structure/falsewall/calorite //GS13 + name = "calorite wall" + desc = "A wall with calorite plating. Burp." + icon = 'icons/turf/walls/calorite_wall.dmi' + icon_state = "calorite" + mineral = /obj/item/stack/sheet/mineral/calorite + walltype = /turf/closed/wall/mineral/calorite + canSmoothWith = list(/obj/structure/falsewall/calorite, /turf/closed/wall/mineral/calorite) /obj/structure/falsewall/sandstone diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 3fef3e79..69f21035 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -133,7 +133,7 @@ /turf/closed/mineral/random var/list/mineralSpawnChanceList = list(/turf/closed/mineral/uranium = 5, /turf/closed/mineral/diamond = 1, /turf/closed/mineral/gold = 10, /turf/closed/mineral/silver = 12, /turf/closed/mineral/plasma = 20, /turf/closed/mineral/iron = 40, /turf/closed/mineral/titanium = 11, - /turf/closed/mineral/gibtonite = 4, /turf/open/floor/plating/asteroid/airless/cave = 2, /turf/closed/mineral/bscrystal = 1) + /turf/closed/mineral/gibtonite = 4, /turf/open/floor/plating/asteroid/airless/cave = 2, /turf/closed/mineral/bscrystal = 1, /turf/closed/mineral/calorite = 1) //Currently, Adamantine won't spawn as it has no uses. -Durandan var/mineralChance = 13 var/display_icon_state = "rock" @@ -163,7 +163,7 @@ icon_state = "rock_highchance" mineralChance = 25 mineralSpawnChanceList = list( - /turf/closed/mineral/uranium = 35, /turf/closed/mineral/diamond = 30, /turf/closed/mineral/gold = 45, /turf/closed/mineral/titanium = 45, + /turf/closed/mineral/uranium = 35, /turf/closed/mineral/diamond = 30, /turf/closed/mineral/calorite = 30, /turf/closed/mineral/gold = 45, /turf/closed/mineral/titanium = 45, /turf/closed/mineral/silver = 50, /turf/closed/mineral/plasma = 50, /turf/closed/mineral/bscrystal = 20) /turf/closed/mineral/random/high_chance/volcanic @@ -184,7 +184,7 @@ mineralSpawnChanceList = list( /turf/closed/mineral/uranium = 2, /turf/closed/mineral/diamond = 1, /turf/closed/mineral/gold = 4, /turf/closed/mineral/titanium = 4, /turf/closed/mineral/silver = 6, /turf/closed/mineral/plasma = 15, /turf/closed/mineral/iron = 40, - /turf/closed/mineral/gibtonite = 2, /turf/closed/mineral/bscrystal = 1) + /turf/closed/mineral/gibtonite = 2, /turf/closed/mineral/bscrystal = 1, /turf/closed/mineral/calorite = 1) /turf/closed/mineral/random/volcanic @@ -198,7 +198,7 @@ mineralSpawnChanceList = list( /turf/closed/mineral/uranium/volcanic = 5, /turf/closed/mineral/diamond/volcanic = 1, /turf/closed/mineral/gold/volcanic = 10, /turf/closed/mineral/titanium/volcanic = 11, /turf/closed/mineral/silver/volcanic = 12, /turf/closed/mineral/plasma/volcanic = 20, /turf/closed/mineral/iron/volcanic = 40, - /turf/closed/mineral/gibtonite/volcanic = 4, /turf/open/floor/plating/asteroid/airless/cave/volcanic = 1, /turf/closed/mineral/bscrystal/volcanic = 1) + /turf/closed/mineral/gibtonite/volcanic = 4, /turf/open/floor/plating/asteroid/airless/cave/volcanic = 1, /turf/closed/mineral/bscrystal/volcanic = 1, /turf/closed/mineral/calorite = 1) /turf/closed/mineral/random/labormineral @@ -360,7 +360,7 @@ mineralAmt = 3 spreadChance = 1 spread = 0 - scan_state = "rock_calorite" + scan_state = "rock_Calorite" /turf/closed/mineral/bscrystal mineralType = /obj/item/stack/ore/bluespace_crystal diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm index afb673e5..4fa82191 100644 --- a/code/game/turfs/simulated/wall/mineral_walls.dm +++ b/code/game/turfs/simulated/wall/mineral_walls.dm @@ -42,13 +42,13 @@ sheet_type = /obj/item/stack/sheet/mineral/bananium canSmoothWith = list(/turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium) -// /turf/closed/wall/mineral/calorite //GS13 -// name = "calorite wall" -// desc = "A wall with calorite plating. Burp." -// icon = 'icons/turf/walls/calorite_wall.dmi' -// icon_state = "calorite" -// sheet_type = /obj/item/stack/sheet/mineral/calorite -// canSmoothWith = list(/turf/closed/wall/mineral/calorite, /obj/structure/falsewall/calorite) +/turf/closed/wall/mineral/calorite //GS13 + name = "calorite wall" + desc = "A wall with calorite plating. Burp." + icon = 'icons/turf/walls/calorite_wall.dmi' + icon_state = "calorite" + sheet_type = /obj/item/stack/sheet/mineral/calorite + canSmoothWith = list(/turf/closed/wall/mineral/calorite, /obj/structure/falsewall/calorite) /turf/closed/wall/mineral/sandstone name = "sandstone wall" diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 831075da..f7057b0c 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -181,8 +181,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/calorite //GS13 name = "calorite ore" - icon_state = "Calorite ore" - item_state = "Calorite ore" + icon_state = "calorite ore" + item_state = "calorite ore" singular_name = "Calorite ore chunk" points = 40 materials = list(MAT_CALORITE=MINERAL_MATERIAL_AMOUNT) diff --git a/icons/effects/ore_visuals.dmi b/icons/effects/ore_visuals.dmi index c9e3a38ddd25e102b0cc2ce42d24ce76901deae3..29baf9d3a04be3a15663210756b1da4c4351bb2f 100644 GIT binary patch literal 28887 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 delta 6561 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