Files
Bubberstation/code/modules/awaymissions/mission_code/Cabin.dm
phil235 19cda8f56b Reorganizes the area folder to be more readable (multiple files instead of a big one with a million areas defined, moving areas that were defined outside the folder back into the folder).
Fixes issue with area power alerts, related to many space ruins using the same area and thus having multiple apcs in the same area with some wanting the area to be powered and some unpowered, leading to the area's power state constantly switching (area/procpoweralert() becoming the second most costly proc on the profile).
I fixed it by giving to many space ruins their own area (mostly those who have an APC).

Making a global list var "teleportbeacons" so we don't have to use "in world" to fing all tracking beacons used by teleporters.
2016-10-17 21:19:31 +02:00

117 lines
2.8 KiB
Plaintext

/obj/structure/firepit
name = "firepit"
desc = "warm and toasty"
icon = 'icons/obj/fireplace.dmi'
icon_state = "firepit-active"
density = 0
var/active = 1
/obj/structure/firepit/initialize()
..()
toggleFirepit()
/obj/structure/firepit/attack_hand(mob/living/user)
if(active)
active = 0
toggleFirepit()
else
..()
/obj/structure/firepit/attackby(obj/item/W,mob/living/user,params)
if(!active)
var/msg = W.ignition_effect(src, user)
if(msg)
active = TRUE
visible_message(msg)
toggleFirepit()
else
return ..()
else
W.fire_act()
/obj/structure/firepit/proc/toggleFirepit()
if(active)
SetLuminosity(8)
icon_state = "firepit-active"
else
SetLuminosity(0)
icon_state = "firepit"
/obj/structure/firepit/extinguish()
if(active)
active = FALSE
toggleFirepit()
/obj/structure/firepit/fire_act(exposed_temperature, exposed_volume)
if(!active)
active = TRUE
toggleFirepit()
//other Cabin Stuff//
/obj/machinery/recycler/lumbermill
name = "lumbermill saw"
desc = "Faster then the cartoons!"
emagged = 2 //Always gibs people
item_recycle_sound = 'sound/weapons/chainsawhit.ogg'
/obj/machinery/recycler/lumbermill/recycle_item(obj/item/weapon/grown/log/L)
if(!istype(L))
return
else
var/potency = L.seed.potency
..()
new L.plank_type(src.loc, 1 + round(potency / 25))
/mob/living/simple_animal/chicken/rabbit/normal
icon_state = "b_rabbit"
icon_living = "b_rabbit"
icon_dead = "b_rabbit_dead"
icon_prefix = "b_rabbit"
minbodytemp = 0
eggsleft = 0
egg_type = null
speak = list()
/*Cabin's forest*/
/datum/mapGenerator/snowy
modules = list(/datum/mapGeneratorModule/snow/pineTrees, \
/datum/mapGeneratorModule/snow/deadTrees, \
/datum/mapGeneratorModule/snow/randBushes, \
/datum/mapGeneratorModule/snow/randIceRocks, \
/datum/mapGeneratorModule/snow/bunnies)
/datum/mapGeneratorModule/snow/checkPlaceAtom(turf/T)
if(istype(T,/turf/open/floor/plating/asteroid/snow))
return ..(T)
return 0
/datum/mapGeneratorModule/snow/pineTrees
spawnableAtoms = list(/obj/structure/flora/tree/pine = 30)
/datum/mapGeneratorModule/snow/deadTrees
spawnableAtoms = list(/obj/structure/flora/tree/dead = 10)
/datum/mapGeneratorModule/snow/randBushes
spawnableAtoms = list()
/datum/mapGeneratorModule/snow/randBushes/New()
..()
spawnableAtoms = typesof(/obj/structure/flora/ausbushes)
for(var/i in spawnableAtoms)
spawnableAtoms[i] = 1
/datum/mapGeneratorModule/snow/bunnies
//spawnableAtoms = list(/mob/living/simple_animal/chicken/rabbit/normal = 0.1)
spawnableAtoms = list(/mob/living/simple_animal/chicken/rabbit = 0.5)
/datum/mapGeneratorModule/snow/randIceRocks
spawnableAtoms = list(/obj/structure/flora/rock/icy = 5, /obj/structure/flora/rock/pile/icy = 5)
/obj/effect/landmark/mapGenerator/snowy
mapGeneratorType = /datum/mapGenerator/snowy