mapping stuff (I am not even done yet)
@@ -43,7 +43,7 @@
|
||||
Additionally, you are only able to get 900 credits from a person.\
|
||||
<br><br>\
|
||||
You are able to use the console and pad to send victims back to the station after you are done with them. Avoid sending them anywhere dangerous or obvious unless you want to risk the ire of GATO. "
|
||||
|
||||
|
||||
// calorite research facility
|
||||
|
||||
/obj/item/paper/fluff/ruins/calorite_facility/note1
|
||||
@@ -153,6 +153,7 @@
|
||||
//fastfood
|
||||
/obj/item/paper/fluff/ruins/fastfood/general_info
|
||||
name = "Welcome to GATO!"
|
||||
icon = 'GainStation13/icons/obj/library.dmi'
|
||||
info = "We are glad to have you be a part of our galaxy-wide GATO franchise locations! As a restaurant worker / manager, you are a part of the GATO Corp and for security purposes, you may be treated as a part of the General Station 13's crew. Make sure to keep your restaurant clean and well-stocked. Good luck!"
|
||||
|
||||
|
||||
@@ -160,6 +161,7 @@
|
||||
|
||||
/obj/item/book/manual/gato_spacelaw
|
||||
name = "GATO Space Law"
|
||||
icon = 'GainStation13/icons/obj/library.dmi'
|
||||
desc = "A set of GATO-Station guidelines for keeping law and order on their space stations."
|
||||
icon_state = "bookSpaceLaw"
|
||||
author = "GATO PMC"
|
||||
@@ -480,6 +482,7 @@
|
||||
//gato pamphlets
|
||||
/obj/item/book/lorebooks/welcome_to_gato
|
||||
name = "Welcome to GATO Industrial Concern!"
|
||||
icon = 'GainStation13/icons/obj/library.dmi'
|
||||
icon_state = "bookwelcometogato"
|
||||
desc = "A book stamped with GATO's feline logo. It serves the purpose of introducing employees to their current accommodations"
|
||||
author = "A. Tenebrae"
|
||||
|
||||
@@ -48,3 +48,14 @@
|
||||
barefootstep = FOOTSTEP_WATER
|
||||
clawfootstep = FOOTSTEP_WATER
|
||||
heavyfootstep = FOOTSTEP_WATER
|
||||
|
||||
/turf/open/floor/carpet/gato //GS13
|
||||
icon = 'GainStation13/icons/turf/carpet_gato.dmi'
|
||||
floor_tile = /obj/item/stack/tile/carpet/gato
|
||||
canSmoothWith = list(/turf/open/floor/carpet/gato)
|
||||
|
||||
/obj/item/stack/tile/carpet/gato //GS13
|
||||
icon = 'GainStation13/icons/obj/tiles.dmi'
|
||||
name = "gato-themed carpet"
|
||||
icon_state = "tile-carpet-gato"
|
||||
turf_type = /turf/open/floor/carpet/gato
|
||||
|
||||
@@ -42,6 +42,7 @@ GLOBAL_LIST_INIT(calorite_recipes, list ( \
|
||||
name = "Calorite tile"
|
||||
singular_name = "Calorite floor tile"
|
||||
desc = "A tile made out of calorite. Bwoomph."
|
||||
icon = 'GainStation13/icons/obj/tiles.dmi'
|
||||
icon_state = "tile_calorite"
|
||||
turf_type = /turf/open/floor/mineral/calorite
|
||||
mineralType = "calorite"
|
||||
@@ -70,6 +71,7 @@ GLOBAL_LIST_INIT(calorite_recipes, list ( \
|
||||
|
||||
/turf/open/floor/mineral/calorite
|
||||
name = "Calorite floor"
|
||||
icon = 'GainStation13/icons/turf/floors.dmi'
|
||||
icon_state = "calorite"
|
||||
floor_tile = /obj/item/stack/tile/mineral/calorite
|
||||
icons = list("calorite","calorite_dam")
|
||||
@@ -111,6 +113,7 @@ GLOBAL_LIST_INIT(calorite_recipes, list ( \
|
||||
|
||||
|
||||
/obj/structure/statue/calorite
|
||||
icon = 'GainStation13/icons/obj/statue.dmi'
|
||||
max_integrity = 400
|
||||
custom_materials = list(/datum/material/calorite=MINERAL_MATERIAL_AMOUNT*5)
|
||||
|
||||
@@ -172,3 +175,70 @@ GLOBAL_LIST_INIT(calorite_recipes, list ( \
|
||||
|
||||
/obj/structure/statue/calorite/fatty/attack_paw(mob/living/carbon/M)
|
||||
statue_fatten(M)
|
||||
|
||||
|
||||
/turf/closed/wall/mineral/calorite //GS13
|
||||
name = "calorite wall"
|
||||
desc = "A wall with calorite plating. Burp."
|
||||
icon = 'GainStation13/icons/turf/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/proc/fatten()
|
||||
if(!active)
|
||||
if(world.time > last_event+15)
|
||||
active = 1
|
||||
for(var/mob/living/carbon/human/M in orange(3,src))
|
||||
M.adjust_fatness(30, FATTENING_TYPE_ITEM)
|
||||
last_event = world.time
|
||||
active = null
|
||||
return
|
||||
return
|
||||
|
||||
/turf/closed/wall/mineral/calorite/Bumped(atom/movable/AM)
|
||||
fatten()
|
||||
..()
|
||||
|
||||
/turf/closed/wall/mineral/calorite/attackby(obj/item/W, mob/user, params)
|
||||
fatten()
|
||||
return ..()
|
||||
|
||||
/turf/closed/wall/mineral/calorite/attack_hand(mob/user)
|
||||
fatten()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/falsewall/calorite //GS13
|
||||
name = "calorite wall"
|
||||
desc = "A wall with calorite plating. Burp."
|
||||
icon = 'GainStation13/icons/turf/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)
|
||||
var/active = null
|
||||
var/last_event = 0
|
||||
|
||||
/obj/structure/falsewall/calorite/proc/fatten()
|
||||
if(!active)
|
||||
if(world.time > last_event+15)
|
||||
active = 1
|
||||
for(var/mob/living/carbon/human/M in orange(3,src))
|
||||
M.adjust_fatness(30, FATTENING_TYPE_ITEM)
|
||||
last_event = world.time
|
||||
active = null
|
||||
return
|
||||
return
|
||||
|
||||
/obj/structure/falsewall/calorite/Bumped(atom/movable/AM)
|
||||
fatten()
|
||||
..()
|
||||
|
||||
/obj/structure/falsewall/calorite/attackby(obj/item/W, mob/user, params)
|
||||
fatten()
|
||||
return ..()
|
||||
|
||||
/obj/structure/falsewall/calorite/attack_hand(mob/user)
|
||||
fatten()
|
||||
. = ..()
|
||||
|
||||
|
||||
@@ -31,3 +31,122 @@
|
||||
/area/ruin/space/has_grav/feedersden
|
||||
name = "Unknown Outpost"
|
||||
has_gravity = TRUE
|
||||
|
||||
/area/xenoarch
|
||||
icon = 'GainStation13/icons/turf/areas.dmi'
|
||||
icon_state = "xenogen"
|
||||
has_gravity = STANDARD_GRAVITY
|
||||
|
||||
/area/xenoarch/arch
|
||||
name = "Xenoarchaeology"
|
||||
icon_state = "xenoarch"
|
||||
|
||||
/area/xenoarch/bot
|
||||
name = "Xenoarchaeology Botany"
|
||||
icon_state = "xenobot"
|
||||
|
||||
/area/xenoarch/eng
|
||||
name = "Xenoarchaeology Engineering"
|
||||
icon_state = "xenoeng"
|
||||
|
||||
/area/xenoarch/gen
|
||||
name = "Xenoarchaeology Living Quarters"
|
||||
icon_state = "xenogen"
|
||||
|
||||
/area/xenoarch/sec
|
||||
name = "Xenoarchaeology Security"
|
||||
icon_state = "xenosec"
|
||||
|
||||
/area/xenoarch/med
|
||||
name = "Xenoarchaeology Medical"
|
||||
icon_state = "xenomed"
|
||||
|
||||
/area/xenoarch/nothinghere
|
||||
name = "Nothing Here"
|
||||
icon_state = "yellow"
|
||||
ambientsounds = SPOOKY
|
||||
|
||||
|
||||
/area/lavaland/demone
|
||||
icon = 'GainStation13/icons/turf/areas.dmi'
|
||||
|
||||
/area/lavaland/demone/tele
|
||||
name= "Demone Teleporter Room"
|
||||
icon_state= "demonetp"
|
||||
|
||||
|
||||
/area/lavaland/demone/living
|
||||
name= "Demone Living Area"
|
||||
icon_state= "demoneliving"
|
||||
|
||||
/area/lavaland/demone/kitchen
|
||||
name= "Demone Mining Kitchen"
|
||||
icon_state= "demonekitchen"
|
||||
|
||||
/area/lavaland/demone/minestorage
|
||||
name= "Demone Mining Storage"
|
||||
icon_state= "demonestorage"
|
||||
|
||||
/area/lavaland/demone/factoryoffice
|
||||
name= "Factory CEO Office"
|
||||
icon_state= "demonceo"
|
||||
|
||||
/area/lavaland/demone/lobby
|
||||
name= "Factory Lobby"
|
||||
icon_state= "demonelobby"
|
||||
|
||||
/area/lavaland/demone/reception
|
||||
name= "Factory Reception"
|
||||
icon_state= "demonereception"
|
||||
|
||||
/area/lavaland/demone/factorystorage
|
||||
name= "Factory Storage"
|
||||
icon_state= "factorystorage"
|
||||
|
||||
/area/lavaland/demone/factory
|
||||
name= "Factory"
|
||||
icon_state= "demonefactory"
|
||||
|
||||
/area/lavaland/demone/factorygen
|
||||
name= "Factory Generator Room"
|
||||
icon_state= "demonegen"
|
||||
|
||||
/area/lavaland/demone/villagesilo
|
||||
name= "Demone Village Silo"
|
||||
icon_state= "demonesilo"
|
||||
|
||||
/area/lavaland/demone/villagepsu
|
||||
name= "Village Generator Room"
|
||||
icon_state= "demonevilpsu"
|
||||
|
||||
/area/lavaland/demone/demonevillage
|
||||
name= "Village "
|
||||
icon_state= "demonevillage"
|
||||
|
||||
|
||||
/obj/structure/sign/logo/donutsign1
|
||||
name = "Hella Nice Sign"
|
||||
desc = "Made from the hottest planet itself!"
|
||||
icon_state = "donut_signBL"
|
||||
|
||||
/obj/structure/sign/logo/donutsign2
|
||||
name = "Hella Nice Sign"
|
||||
desc = "Made from the hottest planet itself!"
|
||||
icon_state = "donut_signBR"
|
||||
|
||||
|
||||
/obj/structure/sign/logo/donutsign3
|
||||
name = "Hella Nice Sign"
|
||||
desc = "Made from the hottest planet itself!"
|
||||
icon_state = "donut_signTL"
|
||||
|
||||
/obj/structure/sign/logo/donutsign4
|
||||
name = "Hella Nice Sign"
|
||||
desc = "Made from the hottest planet itself!"
|
||||
icon_state = "donut_signTR"
|
||||
|
||||
|
||||
/obj/structure/sign/carts
|
||||
name = "CARTS"
|
||||
desc = "You are entering a motorized cart area."
|
||||
icon_state = "carts"
|
||||
|
||||
@@ -53,3 +53,10 @@
|
||||
id = /datum/reagent/consumable/milkshake_chocolate
|
||||
results = list(/datum/reagent/consumable/milkshake_chocolate = 3)
|
||||
required_reagents = list(/datum/reagent/consumable/milk/chocolate_milk = 1, /datum/reagent/consumable/cream = 1, /datum/reagent/consumable/coco = 1)
|
||||
|
||||
/obj/structure/reagent_dispensers/keg/lipoifier //gs13
|
||||
name = "keg of lipoifier"
|
||||
desc = "Good luck downing that and not getting beached."
|
||||
icon_state = "orangekeg"
|
||||
reagent_id = /datum/reagent/consumable/lipoifier
|
||||
tank_volume = 300
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
/obj/structure/chair/foldingchair
|
||||
name = "folding chair"
|
||||
desc = "A collapsible folding chair."
|
||||
icon = 'GainStation13/icons/obj/chairs.dmi'
|
||||
icon_state = "chair_fold"
|
||||
color = "#ffffff"
|
||||
item_chair = ""
|
||||
|
||||
/obj/structure/chair/mountchair
|
||||
name = "mounted chair"
|
||||
desc = "A chair mounted to the floor, this aint going anywhere!"
|
||||
icon = 'GainStation13/icons/obj/chairs.dmi'
|
||||
icon_state = "mounted_chair"
|
||||
color = "#ffffff"
|
||||
item_chair = ""
|
||||
|
||||
/obj/structure/chair/sofachair
|
||||
name = "sofa chair"
|
||||
desc = "A leather sofa chair."
|
||||
icon = 'GainStation13/icons/obj/chairs.dmi'
|
||||
icon_state = "sofachair"
|
||||
color = "#ffffff"
|
||||
item_chair = ""
|
||||
var/mutable_appearance/armrest
|
||||
|
||||
/obj/structure/chair/sofachair/proc/GetArmrest()
|
||||
return mutable_appearance('GainStation13/icons/obj/chairs.dmi', "sofachair_armrest")
|
||||
|
||||
/obj/structure/chair/sofachair/Destroy()
|
||||
QDEL_NULL(armrest)
|
||||
return ..()
|
||||
|
||||
/obj/structure/chair/sofachair/post_buckle_mob(mob/living/M)
|
||||
. = ..()
|
||||
update_armrest()
|
||||
|
||||
/obj/structure/chair/sofachair/proc/update_armrest()
|
||||
if(has_buckled_mobs())
|
||||
add_overlay(armrest)
|
||||
else
|
||||
cut_overlay(armrest)
|
||||
|
||||
/obj/structure/chair/sofachair/post_unbuckle_mob()
|
||||
. = ..()
|
||||
update_armrest()
|
||||
|
||||
/obj/structure/chair/sofachair/Initialize()
|
||||
|
||||
armrest = GetArmrest()
|
||||
armrest.layer = ABOVE_MOB_LAYER
|
||||
return ..()
|
||||
|
||||
/obj/structure/rack/shelf
|
||||
name = "shelving"
|
||||
desc = "Some nice metal shelves."
|
||||
icon = 'hyperstation/icons/obj/objects.dmi'
|
||||
icon_state = "shelf"
|
||||
@@ -0,0 +1,116 @@
|
||||
/obj/structure/trash_pile
|
||||
name = "trash pile"
|
||||
desc = "A pile of trash, perhaps something of use can be found?"
|
||||
icon = 'GainStation13/icons/obj/trash_piles.dmi'
|
||||
icon_state = "randompile"
|
||||
|
||||
anchored = TRUE
|
||||
density = FALSE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
|
||||
var/hide_person_time = 30
|
||||
var/hide_item_time = 15
|
||||
|
||||
var/list/used_players = list()
|
||||
|
||||
var/busy = FALSE
|
||||
|
||||
/obj/structure/trash_pile/Initialize()
|
||||
. = ..()
|
||||
icon_state = "pile[rand(1,11)]"
|
||||
|
||||
/obj/structure/trash_pile/Destroy()
|
||||
for(var/atom/movable/AM in src)
|
||||
AM.forceMove(src.loc)
|
||||
. = ..()
|
||||
|
||||
/obj/structure/trash_pile/attack_hand(mob/user)
|
||||
if(busy)
|
||||
return
|
||||
busy = TRUE
|
||||
var/turf/T = get_turf(src)
|
||||
if(contents.len) //There's something hidden
|
||||
var/atom/A = contents[contents.len] //Get the most recent hidden thing
|
||||
if(istype(A, /mob/living))
|
||||
var/mob/living/M = A
|
||||
to_chat(user,"<span class='notice'>You found someone in the trash!</span>")
|
||||
eject_mob(M)
|
||||
busy = FALSE
|
||||
else if (istype(A, /obj/item))
|
||||
var/obj/item/I = A
|
||||
to_chat(user,"<span class='notice'>You found something!</span>")
|
||||
I.forceMove(src.loc)
|
||||
busy = FALSE
|
||||
else
|
||||
if(user in used_players)
|
||||
to_chat(user, "<span class='notice'>You already have looted [src].</span>")
|
||||
busy = FALSE
|
||||
return
|
||||
if(!do_after(user, rand(2 SECONDS, 4 SECONDS), FALSE, src))
|
||||
busy = FALSE
|
||||
return
|
||||
for(var/i=0, i<rand(1,4), i++)
|
||||
var/itemtype = pickweight(GLOB.maintenance_loot)
|
||||
new itemtype(T)
|
||||
used_players += user
|
||||
busy = FALSE
|
||||
|
||||
/obj/structure/trash_pile/proc/can_hide_item(obj/item/I)
|
||||
if(contents.len > 10)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/structure/trash_pile/attackby(obj/item/I, mob/user, params)
|
||||
if(user.a_intent == INTENT_HELP)
|
||||
if(can_hide_item(I))
|
||||
to_chat(user,"<span class='notice'>You begin to stealthily hide [I] in the [src].</span>")
|
||||
if(do_mob(user, user, hide_item_time))
|
||||
if(src.loc)
|
||||
if(user.transferItemToLoc(I, src))
|
||||
to_chat(user,"<span class='notice'>You hide [I] in the trash.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [I] is stuck to your hand, you cannot put it in the trash!</span>")
|
||||
else
|
||||
to_chat(user,"<span class='warning'>The [src] is way too full to fit [I].</span>")
|
||||
return
|
||||
|
||||
. = ..()
|
||||
|
||||
/obj/structure/trash_pile/MouseDrop_T(atom/movable/O, mob/user)
|
||||
if(user == O && iscarbon(O))
|
||||
dive_in_pile(user)
|
||||
return
|
||||
. = ..()
|
||||
|
||||
/obj/structure/trash_pile/proc/eject_mob(var/mob/living/M)
|
||||
M.forceMove(src.loc)
|
||||
to_chat(M,"<span class='warning'>You've been found!</span>")
|
||||
playsound(M.loc, 'sound/machines/chime.ogg', 50, FALSE, -5)
|
||||
M.do_alert_animation(M)
|
||||
|
||||
/obj/structure/trash_pile/proc/do_dive(mob/user)
|
||||
if(contents.len)
|
||||
for(var/mob/M in contents)
|
||||
to_chat(user,"<span class='warning'>There's someone in the trash already!</span>")
|
||||
eject_mob(M)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/structure/trash_pile/proc/dive_in_pile(mob/user)
|
||||
user.visible_message("<span class='warning'>[user] starts diving into [src].</span>", \
|
||||
"<span class='notice'>You start diving into [src]...</span>")
|
||||
var/adjusted_dive_time = hide_person_time
|
||||
if(user.restrained()) //hiding takes twice as long when restrained.
|
||||
adjusted_dive_time *= 2
|
||||
|
||||
if(do_mob(user, user, adjusted_dive_time))
|
||||
if(src.loc) //Checking if structure has been destroyed
|
||||
if(do_dive(user))
|
||||
to_chat(user,"<span class='notice'>You hide in the trashpile.</span>")
|
||||
user.forceMove(src)
|
||||
|
||||
/obj/structure/trash_pile/container_resist(mob/user)
|
||||
user.forceMove(src.loc)
|
||||
|
||||
/obj/structure/trash_pile/relaymove(mob/user)
|
||||
container_resist(user)
|
||||
@@ -110,3 +110,9 @@
|
||||
to_chat(user,"Current depth dug: [dugdepth] centimeters.")
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
//
|
||||
/turf/closed/mineral/random/volcanic/strangerock
|
||||
mineralChance = 10
|
||||
mineralSpawnChanceList = list(
|
||||
/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/titanium = 11,
|
||||
/obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40,
|
||||
/turf/closed/mineral/gibtonite/volcanic = 4, /obj/item/stack/ore/bluespace_crystal = 1, /obj/item/strangerock = 15, /obj/item/stack/ore/calorite = 1,) //GS13 EDIT
|
||||
|
||||
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1,38 @@
|
||||
|
||||
/obj/structure/bed/double //GS13
|
||||
name = "double bed"
|
||||
desc = "This is used to lie in, sleep in or strap on. Now extra-sized, for extra snuggling experience!"
|
||||
icon_state = "double_bed"
|
||||
icon = 'GainStation13/icons/obj/objects.dmi'
|
||||
|
||||
/obj/item/bedsheet/gato //GS13
|
||||
name = "GATO Bedsheet"
|
||||
desc = "Extra padding, for extra comfiness."
|
||||
icon_state = "sheetgato"
|
||||
item_state = "black"
|
||||
dream_messages = list("GATO", "capitalism", "meow",)
|
||||
icon = 'GainStation13/icons/obj/bedsheets.dmi'
|
||||
|
||||
/obj/item/bedsheet/double_gato //GS13
|
||||
name = "Double GATO Bedsheet"
|
||||
desc = "Extra padding, for extra comfiness. Mega sized, for mega cuddles."
|
||||
icon_state = "doublesheet_gato"
|
||||
item_state = "black"
|
||||
dream_messages = list("GATO", "capitalism", "meow",)
|
||||
icon = 'GainStation13/icons/obj/bedsheets.dmi'
|
||||
|
||||
/obj/item/bedsheet/double_red //GS13
|
||||
name = "Double Red Bedsheet"
|
||||
desc = "Mega sized, for mega cuddles."
|
||||
icon_state = "doublesheet_red"
|
||||
item_state = "red"
|
||||
dream_messages = list("red", "mega",)
|
||||
icon = 'GainStation13/icons/obj/bedsheets.dmi'
|
||||
|
||||
/obj/item/bedsheet/double_blue //GS13
|
||||
name = "Double Blue Bedsheet"
|
||||
desc = "Mega sized, for mega cuddles."
|
||||
icon_state = "doublesheet_blue"
|
||||
item_state = "blue"
|
||||
dream_messages = list("blue", "mega",)
|
||||
icon = 'GainStation13/icons/obj/bedsheets.dmi'
|
||||
@@ -0,0 +1,171 @@
|
||||
/obj/structure/flora/shadowtree
|
||||
name = "Shadow tree"
|
||||
desc = "A native lavaland tree, with a remarkable purple color."
|
||||
max_integrity = 80
|
||||
density = TRUE
|
||||
pixel_x = -16
|
||||
layer = FLY_LAYER
|
||||
var/log_amount = 10
|
||||
|
||||
/obj/structure/flora/shadowtree/attackby(obj/item/W, mob/user, params)
|
||||
if(log_amount && (!(flags_1 & NODECONSTRUCT_1)))
|
||||
if(W.sharpness && W.force > 0)
|
||||
if(W.hitsound)
|
||||
playsound(get_turf(src), W.hitsound, 100, 0, 0)
|
||||
user.visible_message("<span class='notice'>[user] begins to cut down [src] with [W].</span>","<span class='notice'>You begin to cut down [src] with [W].</span>", "You hear the sound of sawing.")
|
||||
if(do_after(user, 1000/W.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard.
|
||||
user.visible_message("<span class='notice'>[user] fells [src] with the [W].</span>","<span class='notice'>You fell [src] with the [W].</span>", "You hear the sound of a tree falling.")
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
|
||||
for(var/i=1 to log_amount)
|
||||
new /obj/item/grown/log(get_turf(src))
|
||||
|
||||
var/obj/structure/shadowtree/shadowtreestump/S = new(loc)
|
||||
S.name = "[name] stump"
|
||||
|
||||
qdel(src)
|
||||
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/shadowtree/shadowtreestump
|
||||
name = "Shadow tree stump"
|
||||
desc = "Hidden in the shadowns."
|
||||
icon = 'GainStation13/icons/obj/flora/shadowtree.dmi'
|
||||
icon_state = "shadowtree_stump"
|
||||
density = FALSE
|
||||
pixel_x = -16
|
||||
|
||||
/obj/structure/flora/shadowtree/shadowtreee
|
||||
name = "Shadow tree"
|
||||
desc = "A native Lavaland tree, with a remarkable purple color."
|
||||
icon = 'GainStation13/icons/obj/flora/shadowtree.dmi'
|
||||
icon_state = "shadowtree_1"
|
||||
var/list/icon_states = list("shadowtree_1", "shadowtree_2")
|
||||
|
||||
/obj/structure/flora/shadowtree/shadowtreee/Initialize()
|
||||
. = ..()
|
||||
|
||||
if(islist(icon_states && icon_states.len))
|
||||
icon_state = pick(icon_states)
|
||||
|
||||
//
|
||||
/obj/structure/flora/plasmatree
|
||||
name = "Plasma tree"
|
||||
desc = "A tree that has absorved plasma from the ground, making its wood strong like metal."
|
||||
max_integrity = 100
|
||||
density = TRUE
|
||||
pixel_x = -16
|
||||
layer = FLY_LAYER
|
||||
var/log_amount = 10
|
||||
|
||||
/obj/structure/flora/plasmatree/attackby(obj/item/W, mob/user, params)
|
||||
if(log_amount && (!(flags_1 & NODECONSTRUCT_1)))
|
||||
if(W.sharpness && W.force > 0)
|
||||
if(W.hitsound)
|
||||
playsound(get_turf(src), W.hitsound, 100, 0, 0)
|
||||
user.visible_message("<span class='notice'>[user] begins to cut down [src] with [W].</span>","<span class='notice'>You begin to cut down [src] with [W].</span>", "You hear the sound of sawing.")
|
||||
if(do_after(user, 1000/W.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard.
|
||||
user.visible_message("<span class='notice'>[user] fells [src] with the [W].</span>","<span class='notice'>You fell [src] with the [W].</span>", "You hear the sound of a tree falling.")
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
|
||||
for(var/i=1 to log_amount)
|
||||
new /obj/item/grown/log(get_turf(src))
|
||||
|
||||
var/obj/structure/plasmatree/plasmatreestump/S = new(loc)
|
||||
S.name = "[name] stump"
|
||||
|
||||
qdel(src)
|
||||
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/plasmatree/plasmatreestump
|
||||
name = "Plasma tree stump"
|
||||
desc = "Pointy and sharp."
|
||||
icon = 'GainStation13/icons/obj/flora/plasmatree.dmi'
|
||||
icon_state = "plasmatree_stump"
|
||||
density = FALSE
|
||||
pixel_x = -16
|
||||
|
||||
/obj/structure/flora/plasmatree/plasmatreee
|
||||
name = "Plasma tree"
|
||||
desc = "A tree that has absorved plasma from the ground, making its wood strong like metal."
|
||||
icon = 'GainStation13/icons/obj/flora/plasmatree.dmi'
|
||||
icon_state = "plasmatree_1"
|
||||
var/list/icon_states = list("plasmatree_1", "plasmatree_2")
|
||||
|
||||
/obj/structure/flora/plasmatree/plasmatreee/Initialize()
|
||||
. = ..()
|
||||
|
||||
if(islist(icon_states && icon_states.len))
|
||||
icon_state = pick(icon_states)
|
||||
|
||||
|
||||
/obj/structure/flora/crystal
|
||||
name = "crystal"
|
||||
desc = "You shouldnt see this!"
|
||||
gender = PLURAL //trans rights
|
||||
max_integrity = 30
|
||||
|
||||
/obj/structure/flora/crystal/small
|
||||
name = "small crystals"
|
||||
icon = 'GainStation13/icons/obj/flora/layeniasmall.dmi'
|
||||
light_range = 2
|
||||
light_power = 0.25
|
||||
light_color = LIGHT_COLOR_BLUE
|
||||
|
||||
//Small crystal clusters
|
||||
/obj/structure/flora/crystal/small/pile
|
||||
name = "small crystals"
|
||||
desc = "A pile of small crystals"
|
||||
icon_state = "crystals"
|
||||
|
||||
/obj/structure/flora/crystal/small/pile/Initialize()
|
||||
if(icon_state == "crystals")
|
||||
icon_state = "crystals[rand(1, 4)]"
|
||||
. = ..()
|
||||
|
||||
//Small crystal growths
|
||||
/obj/structure/flora/crystal/small/growth
|
||||
name = "small crystals"
|
||||
desc = "A growth of small crystals"
|
||||
icon_state = "crystalgrowth"
|
||||
|
||||
/obj/structure/flora/crystal/small/growth/Initialize()
|
||||
if(icon_state == "crystalgrowth")
|
||||
icon_state = "crystalgrowth[rand(1, 4)]"
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/crystal/medium
|
||||
name = "medium crystals"
|
||||
icon = 'GainStation13/icons/obj/flora/layeniamedium.dmi'
|
||||
pixel_x = -16
|
||||
pixel_y = -3
|
||||
layer = ABOVE_ALL_MOB_LAYER
|
||||
light_range = 4
|
||||
light_power = 0.75
|
||||
light_color = LIGHT_COLOR_BLUE
|
||||
|
||||
//Medium crystal growths
|
||||
/obj/structure/flora/crystal/medium/growth
|
||||
name = "medium crystals"
|
||||
desc = "A growth of medium crystals"
|
||||
icon_state = "crystalgrowth"
|
||||
|
||||
/obj/structure/flora/crystal/medium/growth/Initialize()
|
||||
if(icon_state == "crystalgrowth")
|
||||
icon_state = "crystalgrowth[rand(1, 3)]"
|
||||
. = ..()
|
||||
|
||||
//lavaland grass
|
||||
/obj/structure/flora/redgrass
|
||||
name = "tall grass"
|
||||
desc = "A patch of overgrown red grass."
|
||||
icon = 'GainStation13/icons/obj/lavaland/redgrass.dmi'
|
||||
gender = PLURAL //"this is grass" not "this is a grass"
|
||||
|
||||
/obj/structure/flora/redgrass/redg
|
||||
icon_state = "tallgrass1bb"
|
||||
|
||||
/obj/structure/flora/redgrass/redg/Initialize()
|
||||
icon_state = "tallgrass[rand(1, 4)]bb"
|
||||
. = ..()
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 338 KiB |
@@ -131,3 +131,13 @@ require only minor tweaks.
|
||||
//Random z-levels name defines.
|
||||
#define AWAY_MISSION_NAME "Away Mission"
|
||||
#define VIRT_REALITY_NAME "Virtual Reality"
|
||||
|
||||
#define ZTRAITS_LAVALAND_UNDERRGOUND list(\
|
||||
ZTRAIT_LAVA_UNDERGROUND = TRUE, \
|
||||
ZTRAIT_BOMBCAP_MULTIPLIER = 2, \
|
||||
ZTRAIT_UP = 1, \
|
||||
ZTRAIT_BASETURF = /turf/open/lava/smooth/lava_land_surface)
|
||||
|
||||
#define ZTRAITS_DINER list(ZTRAIT_DINER = TRUE, ZTRAIT_BOMBCAP_MULTIPLIER = 0.5)
|
||||
|
||||
#define ZTRAITS_FASTFOOD list(ZTRAIT_FASTFOOD = TRUE, ZTRAIT_BOMBCAP_MULTIPLIER = 0.5) //GS13
|
||||
|
||||
@@ -311,6 +311,8 @@ SUBSYSTEM_DEF(mapping)
|
||||
// load mining
|
||||
if(config.minetype == "lavaland")
|
||||
LoadGroup(FailedZs, "Lavaland", "map_files/Mining", "Lavaland.dmm", default_traits = ZTRAITS_LAVALAND)
|
||||
LoadGroup(FailedZs, "Lavaland_Lower", "map_files/Mining", "Lavaland_Lower.dmm", default_traits = ZTRAITS_LAVALAND_UNDERRGOUND)
|
||||
LoadGroup(FailedZs, "Lavaland_Demone", "map_files/Mining", "Lavaland_Demone.dmm", default_traits = ZTRAITS_LAVALAND_UNDERRGOUND)
|
||||
else if (!isnull(config.minetype) && config.minetype != "none")
|
||||
INIT_ANNOUNCE("WARNING: An unknown minetype '[config.minetype]' was set! This is being ignored! Update the maploader code!")
|
||||
#endif
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/obj/effect/turf_decal
|
||||
icon = 'icons/turf/decals.dmi'
|
||||
icon = 'GainStation13/icons/obj/decals.dmi' //GS13 OVERWRITE ORIGINAL ICON - 'icons/turf/decals.dmi'
|
||||
icon_state = "warningline"
|
||||
layer = TURF_DECAL_LAYER
|
||||
plane = ABOVE_WALL_PLANE
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
/obj/effect/particle_effect/ion_trails,
|
||||
/obj/effect/dummy/phased_mob,
|
||||
/obj/effect/immovablerod,
|
||||
/obj/effect/crystalline_reentry
|
||||
)) //Gotta make sure certain things can phase through it otherwise the railings also block them.
|
||||
|
||||
/obj/structure/railing/CanPass(atom/movable/mover, turf/target)
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
glass_icon_state = "whiskeycolaglass"
|
||||
glass_name = "glass of Pilk"
|
||||
glass_desc = "Why would you do this to yourself?"
|
||||
hydration = 3
|
||||
|
||||
/datum/reagent/consumable/pilk/on_mob_life(mob/living/carbon/M)
|
||||
M.drowsyness = max(0,M.drowsyness-3)
|
||||
|
||||
@@ -21,5 +21,5 @@
|
||||
armour_penetration = 80
|
||||
flags_1 = CONDUCT_1
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
sharpness = IS_SHARP_ACCURATE
|
||||
sharpness = SHARP_EDGED
|
||||
attack_verb = list("slashed", "cut")
|
||||
|
||||
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 340 KiB After Width: | Height: | Size: 340 KiB |
@@ -4001,7 +4001,9 @@
|
||||
#include "GainStation13\code\obj\weapons\fatbeam.dm"
|
||||
#include "GainStation13\code\obj\weapons\fatoray.dm"
|
||||
#include "GainStation13\code\obj\weapons\feeder_ebow.dm"
|
||||
#include "GainStation13\code\structures\chair.dm"
|
||||
#include "GainStation13\code\structures\trapped_items.dm"
|
||||
#include "GainStation13\code\structures\trash_piles.dm"
|
||||
#include "GainStation13\code\xenoarch\artifact.dm"
|
||||
#include "GainStation13\code\xenoarch\artifact_list.dm"
|
||||
#include "GainStation13\code\xenoarch\strange_rock.dm"
|
||||
@@ -4017,11 +4019,22 @@
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\vale.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\vaporsac.dm"
|
||||
#include "GainStation13\icons\obj\vairous_weapons.dm"
|
||||
#include "GainStation13\icons\obj\structure\beds.dm"
|
||||
#include "GainStation13\icons\obj\structure\flora.dm"
|
||||
#include "hyperstation\code\game\objects\railings.dm"
|
||||
#include "hyperstation\code\game\objects\structures\bench.dm"
|
||||
#include "hyperstation\code\game\objects\structures\sauna_oven.dm"
|
||||
#include "hyperstation\code\modules\clothing\sizeaccessories.dm"
|
||||
#include "hyperstation\code\modules\food_and_drinks\recipes\drinks_recipes.dm"
|
||||
#include "hyperstation\code\modules\reagents\chemistry\reagents\drink_reagents.dm"
|
||||
#include "hyperstation\code\modules\resize\resize_action.dm"
|
||||
#include "hyperstation\code\modules\resize\resizing.dm"
|
||||
#include "hyperstation\code\modules\resize\sizechems.dm"
|
||||
#include "hyperstation\code\modules\resize\sizegun.dm"
|
||||
#include "hyperstation\code\modules\surgery\organs\augments_arms.dm"
|
||||
#include "hyperstation\code\obj\ashtray.dm"
|
||||
#include "hyperstation\code\obj\decal.dm"
|
||||
#include "hyperstation\code\obj\sizeitems.dm"
|
||||
#include "interface\interface.dm"
|
||||
#include "interface\menu.dm"
|
||||
#include "interface\stylesheet.dm"
|
||||
|
||||