/**********************Mineral deposits**************************/ /turf/simulated/mineral //wall piece name = "Rock" icon = 'icons/turf/walls.dmi' icon_state = "rock" oxygen = 0 nitrogen = 0 opacity = 1 density = 1 blocks_air = 1 temperature = TCMB var/mineralName = "" var/mineralAmt = 0 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 /turf/simulated/mineral/Del() return /turf/simulated/mineral/ex_act(severity) switch(severity) if(3.0) return if(2.0) if (prob(70)) src.mineralAmt -= 1 //some of the stuff gets blown up src.gets_drilled() if(1.0) src.mineralAmt -= 2 //some of the stuff gets blown up src.gets_drilled() return /turf/simulated/mineral/New() spawn(1) var/turf/T if((istype(get_step(src, NORTH), /turf/simulated/floor)) || (istype(get_step(src, NORTH), /turf/space)) || (istype(get_step(src, NORTH), /turf/simulated/shuttle/floor))) T = get_step(src, NORTH) if (T) T.overlays += image('icons/turf/walls.dmi', "rock_side_s") if((istype(get_step(src, SOUTH), /turf/simulated/floor)) || (istype(get_step(src, SOUTH), /turf/space)) || (istype(get_step(src, SOUTH), /turf/simulated/shuttle/floor))) T = get_step(src, SOUTH) if (T) T.overlays += image('icons/turf/walls.dmi', "rock_side_n", layer=6) if((istype(get_step(src, EAST), /turf/simulated/floor)) || (istype(get_step(src, EAST), /turf/space)) || (istype(get_step(src, EAST), /turf/simulated/shuttle/floor))) T = get_step(src, EAST) if (T) T.overlays += image('icons/turf/walls.dmi', "rock_side_w", layer=6) if((istype(get_step(src, WEST), /turf/simulated/floor)) || (istype(get_step(src, WEST), /turf/space)) || (istype(get_step(src, WEST), /turf/simulated/shuttle/floor))) T = get_step(src, WEST) if (T) T.overlays += image('icons/turf/walls.dmi', "rock_side_e", layer=6) if (mineralName && mineralAmt && spread && spreadChance) if(prob(spreadChance)) if(istype(get_step(src, SOUTH), /turf/simulated/mineral/random)) new src.type(get_step(src, SOUTH)) if(prob(spreadChance)) if(istype(get_step(src, NORTH), /turf/simulated/mineral/random)) new src.type(get_step(src, NORTH)) if(prob(spreadChance)) if(istype(get_step(src, WEST), /turf/simulated/mineral/random)) new src.type(get_step(src, WEST)) if(prob(spreadChance)) if(istype(get_step(src, EAST), /turf/simulated/mineral/random)) new src.type(get_step(src, EAST)) return /turf/simulated/mineral/random name = "Mineral deposit" var/mineralAmtList = list("Uranium" = 5, "Iron" = 5, "Diamond" = 5, "Gold" = 5, "Silver" = 5, "Plasma" = 5/*, "Adamantine" = 5*/) var/mineralSpawnChanceList = list("Uranium" = 5, "Iron" = 50, "Diamond" = 1, "Gold" = 5, "Silver" = 5, "Plasma" = 25/*, "Adamantine" =5*/)//Currently, Adamantine won't spawn as it has no uses. -Durandan var/mineralChance = 10 //means 10% chance of this plot changing to a mineral deposit /turf/simulated/mineral/random/New() ..() if (prob(mineralChance)) var/mName = pickweight(mineralSpawnChanceList) //temp mineral name if (mName) var/turf/simulated/mineral/M switch(mName) if("Uranium") M = new/turf/simulated/mineral/uranium(src) if("Iron") M = new/turf/simulated/mineral/iron(src) if("Diamond") M = new/turf/simulated/mineral/diamond(src) if("Gold") M = new/turf/simulated/mineral/gold(src) if("Silver") M = new/turf/simulated/mineral/silver(src) if("Plasma") M = new/turf/simulated/mineral/plasma(src) /*if("Adamantine") M = new/turf/simulated/mineral/adamantine(src)*/ if(M) src = M M.levelupdate() return /turf/simulated/mineral/random/high_chance mineralChance = 25 mineralSpawnChanceList = list("Uranium" = 10, "Iron" = 30, "Diamond" = 2, "Gold" = 10, "Silver" = 10, "Plasma" = 25) /turf/simulated/mineral/random/Del() return /turf/simulated/mineral/uranium name = "Uranium deposit" icon_state = "rock_Uranium" mineralName = "Uranium" mineralAmt = 5 spreadChance = 10 spread = 1 /turf/simulated/mineral/iron name = "Iron deposit" icon_state = "rock_Iron" mineralName = "Iron" mineralAmt = 5 spreadChance = 25 spread = 1 /turf/simulated/mineral/diamond name = "Diamond deposit" icon_state = "rock_Diamond" mineralName = "Diamond" mineralAmt = 5 spreadChance = 10 spread = 1 /turf/simulated/mineral/gold name = "Gold deposit" icon_state = "rock_Gold" mineralName = "Gold" mineralAmt = 5 spreadChance = 10 spread = 1 /turf/simulated/mineral/silver name = "Silver deposit" icon_state = "rock_Silver" mineralName = "Silver" mineralAmt = 5 spreadChance = 10 spread = 1 /turf/simulated/mineral/plasma name = "Plasma deposit" icon_state = "rock_Plasma" mineralName = "Plasma" mineralAmt = 5 spreadChance = 25 spread = 1 /turf/simulated/mineral/clown name = "Bananium deposit" icon_state = "rock_Clown" mineralName = "Clown" mineralAmt = 3 spreadChance = 0 spread = 0 /turf/simulated/mineral/ReplaceWithFloor() if(!icon_old) icon_old = icon_state var/turf/simulated/floor/plating/airless/asteroid/W var/old_dir = dir for(var/direction in cardinal) for(var/obj/effect/glowshroom/shroom in get_step(src,direction)) if(!shroom.floor) //shrooms drop to the floor shroom.floor = 1 shroom.icon_state = "glowshroomf" shroom.pixel_x = 0 shroom.pixel_y = 0 W = new /turf/simulated/floor/plating/airless/asteroid( locate(src.x, src.y, src.z) ) W.dir = old_dir W.fullUpdateMineralOverlays() /* W.icon_old = old_icon if(old_icon) W.icon_state = old_icon */ W.opacity = 1 W.sd_SetOpacity(0) W.sd_LumReset() W.levelupdate() return W /turf/simulated/mineral/attackby(obj/item/weapon/W as obj, mob/user as mob) if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") usr << "\red You don't have the dexterity to do this!" return if (istype(W, /obj/item/weapon/pickaxe)) var/turf/T = user.loc if (!( istype(T, /turf) )) return /* if (istype(W, /obj/item/weapon/pickaxe/radius)) var/turf/T = user.loc if (!( istype(T, /turf) )) return */ //Watch your tabbing, microwave. --NEO if(last_act+W:digspeed > world.time)//prevents message spam return last_act = world.time user << "\red You start picking." playsound(user, 'Genhit.ogg', 20, 1) if(do_after(user,W:digspeed)) user << "\blue You finish cutting into the rock." gets_drilled() else return attack_hand(user) return /turf/simulated/mineral/proc/gets_drilled() if ((src.mineralName != "") && (src.mineralAmt > 0) && (src.mineralAmt < 11)) var/i for (i=0;i