diff --git a/code/modules/mining/mine_outcrops.dm b/code/modules/mining/mine_outcrops.dm index a1c2c675ff7..7fa750ea445 100644 --- a/code/modules/mining/mine_outcrops.dm +++ b/code/modules/mining/mine_outcrops.dm @@ -13,9 +13,24 @@ /obj/structure/outcrop/Initialize() . = ..() + + var/flip = 1 + if(prob(50)) + flip = -1 + + adjust_scale(round(rand(8,12) / 10, 0.1) * flip, round(rand(8,12) / 10, 0.1)) + if(prob(1)) add_overlay("[initial(icon_state)]-egg") +/obj/structure/outcrop/marble + name = "rugged outcrop" + desc = "A rugged rocky outcrop." + icon_state = "outcrop-marble" + mindrop = 5 + upperdrop = 15 + outcropdrop = /obj/item/ore/marble + /obj/structure/outcrop/diamond name = "shiny outcrop" desc = "A shiny rocky outcrop." @@ -32,6 +47,22 @@ upperdrop = 8 outcropdrop = /obj/item/ore/phoron +/obj/structure/outcrop/hydrogen + name = "smooth outcrop" + desc = "A smooth rocky outcrop." + icon_state = "outcrop-hydrogen" + mindrop = 1 + upperdrop = 3 + outcropdrop = /obj/item/ore/hydrogen + +/obj/structure/outcrop/magmellite + name = "smooth outcrop" + desc = "A smooth rocky outcrop." + icon_state = "outcrop-magmellite" + mindrop = 1 + upperdrop = 3 + outcropdrop = /obj/item/ore/magmellite + /obj/structure/outcrop/iron name = "rugged outcrop" desc = "A rugged rocky outcrop." @@ -40,6 +71,30 @@ upperdrop = 20 outcropdrop = /obj/item/ore/iron +/obj/structure/outcrop/bauxite + name = "rugged outcrop" + desc = "A rugged rocky outcrop." + icon_state = "outcrop-bauxite" + mindrop = 5 + upperdrop = 10 + outcropdrop = /obj/item/ore/bauxite + +/obj/structure/outcrop/copper + name = "rugged outcrop" + desc = "A rugged rocky outcrop." + icon_state = "outcrop-copper" + mindrop = 6 + upperdrop = 12 + outcropdrop = /obj/item/ore/copper + +/obj/structure/outcrop/tin + name = "rugged outcrop" + desc = "A rugged rocky outcrop." + icon_state = "outcrop-tin" + mindrop = 3 + upperdrop = 8 + outcropdrop = /obj/item/ore/tin + /obj/structure/outcrop/coal name = "rugged outcrop" desc = "A rugged rocky outcrop." @@ -88,6 +143,30 @@ upperdrop = 8 outcropdrop = /obj/item/ore/uranium +/obj/structure/outcrop/quartz + name = "spiky outcrop" + desc = "A spiky rocky outcrop." + icon_state = "outcrop-quartz" + mindrop = 6 + upperdrop = 12 + outcropdrop = /obj/item/ore/quartz + +/obj/structure/outcrop/rutile + name = "hollow outcrop" + desc = "A hollow rocky outcrop." + icon_state = "outcrop-rutile" + mindrop = 2 + upperdrop = 5 + outcropdrop = /obj/item/ore/rutile + +/obj/structure/outcrop/verdantium + name = "hollow outcrop" + desc = "A hollow rocky outcrop." + icon_state = "outcrop-verdantium" + mindrop = 3 + upperdrop = 6 + outcropdrop = /obj/item/ore/verdantium + /obj/structure/outcrop/attackby(obj/item/W as obj, mob/user as mob) if (istype(W, /obj/item/pickaxe)) to_chat(user, "[user] begins to hack away at \the [src].") @@ -112,6 +191,12 @@ prob(50);/obj/structure/outcrop/gold, prob(30);/obj/structure/outcrop/uranium, prob(30);/obj/structure/outcrop/phoron, + prob(20);/obj/structure/outcrop/bauxite, + prob(20);/obj/structure/outcrop/copper, prob(7);/obj/structure/outcrop/diamond, + prob(3);/obj/structure/outcrop/hydrogen, + prob(1);/obj/structure/outcrop/magmellite, prob(15);/obj/structure/outcrop/platinum, - prob(15);/obj/structure/outcrop/lead) \ No newline at end of file + prob(15);/obj/structure/outcrop/rutile, + prob(15);/obj/structure/outcrop/lead, + prob(10);/obj/structure/outcrop/verdantium) diff --git a/code/modules/projectiles/projectile/arc.dm b/code/modules/projectiles/projectile/arc.dm index 08cba6222bb..cf31a447bff 100644 --- a/code/modules/projectiles/projectile/arc.dm +++ b/code/modules/projectiles/projectile/arc.dm @@ -201,3 +201,45 @@ acid = new(T) acid.reagents.add_reagent("stomacid", 5) acid.update_icon() + +/obj/item/projectile/arc/moltenchunk + name = "molten chunk" + icon_state = "fireball2" + damage = 20 + damage_type = SEARING + armor_penetration = 5 + fire_sound = 'sound/weapons/towelwhip.ogg' + + var/obj/Ore = /obj/item/ore + + var/min_count = 2 + var/max_count = 5 + +/obj/item/projectile/arc/moltenchunk/on_impact(turf/T) + for(var/mob/living/L in T) + attack_mob(L) + + if(Ore) + var/spawncount = rand(min_count,max_count) + if(spawncount > 1) + visible_message(SPAN_WARNING("\The [src] shatters on impact, sending [initial(Ore.name)] fragments everywhere!")) + for(var/I = 1; I < spawncount; I++) + var/obj/OreChunk = new Ore(T) + OreChunk = new Ore(T) + OreChunk.throw_at_random(TRUE, 3, 1) + + else + visible_message(SPAN_WARNING("\The [src] crumples on impact, leaving \a [initial(Ore.name)] behind!")) + new Ore(T) + +/obj/item/projectile/arc/moltenchunk/Initialize(var/atom/newloc, var/orepath) + . = ..(newloc) + + if(orepath) + Ore = orepath + +/obj/item/projectile/arc/moltenchunk/outcrop + Ore = /obj/structure/outcrop + +/obj/item/projectile/arc/moltenchunk/outcrop/gold + Ore = /obj/structure/outcrop/gold diff --git a/icons/obj/outcrop.dmi b/icons/obj/outcrop.dmi index eacb7bc4fee..b7f2a586644 100644 Binary files a/icons/obj/outcrop.dmi and b/icons/obj/outcrop.dmi differ diff --git a/polaris.dme b/polaris.dme index 5b098bede75..096c7feb694 100644 --- a/polaris.dme +++ b/polaris.dme @@ -3332,7 +3332,7 @@ #include "code\ZAS\Zone.dm" #include "interface\interface.dm" #include "interface\skin.dmf" -#include "maps\cynosure\cynosure.dm" +#include "maps\example\example.dm" #include "maps\submaps\_helpers.dm" #include "maps\submaps\poi_landmark.dm" #include "maps\submaps\engine_submaps\engine_areas.dm"