xenoarch
@@ -2,8 +2,22 @@
|
||||
name = "calorite"
|
||||
sheet_type = /obj/item/stack/sheet/mineral/calorite
|
||||
|
||||
/turf/closed/mineral/calorite //GS13
|
||||
mineralType = /obj/item/stack/ore/calorite
|
||||
|
||||
/obj/item/stack/ore/calorite //GS13
|
||||
name = "calorite ore"
|
||||
icon = 'GainStation13/icons/obj/mining.dmi'
|
||||
icon_state = "calorite ore"
|
||||
item_state = "calorite ore"
|
||||
singular_name = "Calorite ore chunk"
|
||||
points = 40
|
||||
custom_materials = list(/datum/material/calorite=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/mineral/calorite
|
||||
|
||||
/obj/item/stack/sheet/mineral/calorite
|
||||
name = "calorite"
|
||||
icon = 'GainStation13/icons/obj/stack_objects.dmi'
|
||||
icon_state = "sheet-calorite"
|
||||
item_state = "sheet-calorite"
|
||||
singular_name = "calorite sheet"
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/obj/item/ancientartifact
|
||||
name = "Admin Debug. Parent Artifact"
|
||||
desc = "You shouldn't have this."
|
||||
icon = 'GainStation13/code/xenoarch/fossil_and_artifact.dmi'
|
||||
|
||||
/obj/item/ancientartifact/Initialize()
|
||||
..()
|
||||
|
||||
//
|
||||
|
||||
/datum/export/artifacts
|
||||
cost = 2000 //Big cash
|
||||
unit_name = "useless artifact"
|
||||
export_types = list(/obj/item/ancientartifact/useless)
|
||||
|
||||
/datum/export/artifacts
|
||||
cost = 4000 //Big cash
|
||||
unit_name = "fossil artifact"
|
||||
export_types = list(/obj/item/ancientartifact/faunafossil,/obj/item/ancientartifact/florafossil)
|
||||
|
||||
//
|
||||
|
||||
/obj/item/ancientartifact/useless
|
||||
name = "nonfunctional artifact"
|
||||
desc = "This artifact is nonfunctional... perhaps it can be researched or sold."
|
||||
|
||||
/obj/item/ancientartifact/useless/Initialize()
|
||||
icon_state = pick(list("urn","statuette","instrument","unknown1","unknown2","unknown3"))
|
||||
..()
|
||||
|
||||
/obj/item/ancientartifact/useless/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W,/obj/item/xenoarch/help/research))
|
||||
if(!do_after(user,100,target=src))
|
||||
to_chat(user,"You must stand still to analyze.")
|
||||
return
|
||||
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = 2000))
|
||||
to_chat(user,"You successfully researched the artifact. You have gained 2000 research points.")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/ancientartifact/faunafossil
|
||||
name = "fauna fossil"
|
||||
desc = "This is a fossil of an animal... seems dead."
|
||||
|
||||
/obj/item/ancientartifact/faunafossil/Initialize()
|
||||
icon_state = pick(list("bone1","bone2","bone3","bone4","bone5","bone6"))
|
||||
..()
|
||||
|
||||
/obj/item/ancientartifact/faunafossil/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W,/obj/item/xenoarch/help/research))
|
||||
if(!do_after(user,100,target=src))
|
||||
to_chat(user,"You must stand still to analyze.")
|
||||
return
|
||||
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = 4000))
|
||||
to_chat(user,"You successfully researched the artifact. You have gained 4000 research points.")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/ancientartifact/florafossil
|
||||
name = "flora fossil"
|
||||
desc = "This is a fossil of a plant... seems dead."
|
||||
|
||||
/obj/item/ancientartifact/florafossil/Initialize()
|
||||
icon_state = pick(list("plant1","plant2","plant3","plant4","plant5","plant6"))
|
||||
..()
|
||||
|
||||
/obj/item/ancientartifact/florafossil/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W,/obj/item/xenoarch/help/research))
|
||||
if(!do_after(user,100,target=src))
|
||||
to_chat(user,"You must stand still to analyze.")
|
||||
return
|
||||
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = 4000))
|
||||
to_chat(user,"You successfully researched the artifact. You have gained 4000 research points.")
|
||||
qdel(src)
|
||||
if(istype(W,/obj/item/xenoarch/help/plant))
|
||||
if(!do_after(user,50,target=src))
|
||||
to_chat(user,"You need to stand still to extract the seeds.")
|
||||
return
|
||||
var/seed = pick(list( /obj/item/seeds/amauri,
|
||||
/obj/item/seeds/gelthi,
|
||||
/obj/item/seeds/jurlmah,
|
||||
/obj/item/seeds/nofruit,
|
||||
/obj/item/seeds/shand,
|
||||
/obj/item/seeds/surik,
|
||||
/obj/item/seeds/telriis,
|
||||
/obj/item/seeds/thaadra,
|
||||
/obj/item/seeds/vale,
|
||||
/obj/item/seeds/vaporsac,
|
||||
/obj/item/seeds/lipoplant, //GS13
|
||||
/obj/item/seeds/cherry/bomb,
|
||||
/obj/item/seeds/gatfruit,
|
||||
/obj/item/seeds/kudzu,
|
||||
/obj/item/seeds/firelemon,
|
||||
/obj/item/seeds/random
|
||||
))
|
||||
|
||||
new seed(get_turf(user))
|
||||
user.put_in_active_hand(seed)
|
||||
qdel(src)
|
||||
@@ -0,0 +1,70 @@
|
||||
GLOBAL_LIST_INIT(bas_artifact,list( /obj/item/kitchen/fork=1,
|
||||
/obj/item/kitchen/knife=1,
|
||||
/obj/item/toy/gun=1,
|
||||
/obj/item/toy/sword=1,
|
||||
/obj/item/toy/cards/deck=1,
|
||||
/obj/item/shield/riot/roman/fake=1,
|
||||
/obj/item/trash/plate=1,
|
||||
/obj/item/extendohand=1,
|
||||
/obj/item/toy/plush/random=1,
|
||||
/obj/item/ancientartifact/useless=11
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(adv_artifact,list( /obj/item/shield/riot/roman=1,
|
||||
/obj/item/shield/riot/tower=1,
|
||||
/obj/item/toy/figure/miner=1,
|
||||
/obj/item/stack/telecrystal=1,
|
||||
/obj/item/sharpener=1,
|
||||
/obj/item/switchblade=1,
|
||||
/obj/item/laser_pointer=1,
|
||||
/obj/item/instrument/piano_synth=1,
|
||||
/obj/item/megaphone=1,
|
||||
/obj/item/storage/backpack/satchel/bone=1,
|
||||
/obj/item/clothing/accessory/talisman=1,
|
||||
/obj/item/clothing/accessory/skullcodpiece=1,
|
||||
/obj/item/clothing/gloves/bracer=1,
|
||||
/obj/item/clothing/suit/hooded/cloak/goliath=1,
|
||||
/obj/item/kitchen/knife/ritual=1,
|
||||
/obj/item/clockwork/slab=1,
|
||||
/obj/item/gun/ballistic/shotgun/boltaction=1,
|
||||
/obj/item/reagent_containers/pill/floorpill=1,
|
||||
/obj/item/survivalcapsule/luxury=1,
|
||||
/obj/item/slime_extract/grey=1,
|
||||
/obj/item/ancientartifact/useless=5,
|
||||
/obj/item/ancientartifact/faunafossil=10,
|
||||
/obj/item/ancientartifact/florafossil=10
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(ult_artifact,list( /obj/item/nuke_core/supermatter_sliver=1,
|
||||
/obj/item/guardiancreator=1,
|
||||
/obj/item/flashlight/emp=1,
|
||||
/obj/item/encryptionkey/binary=1,
|
||||
/obj/item/gun/medbeam=1,
|
||||
/obj/item/storage/box/syndie_kit/chameleon=1,
|
||||
/obj/item/clothing/glasses/phantomthief/syndicate=1,
|
||||
/obj/item/organ/brain/alien=1,
|
||||
/obj/item/organ/alien/plasmavessel/large/queen=1,
|
||||
/obj/item/organ/alien/plasmavessel/small=1,
|
||||
/obj/item/grenade/clusterbuster/cleaner=1,
|
||||
/obj/item/clothing/gloves/combat=1,
|
||||
/obj/item/storage/toolbox/syndicate=1,
|
||||
/obj/item/storage/toolbox/brass/prefilled/ratvar=1,
|
||||
/obj/item/stack/sheet/mineral/abductor=1,
|
||||
/obj/item/dice/d20/fate/one_use=1,
|
||||
/obj/item/clothing/suit/hooded/cloak/drake=1,
|
||||
/obj/item/crowbar/abductor=1,
|
||||
/obj/item/screwdriver/abductor=1,
|
||||
/obj/item/weldingtool/abductor=1,
|
||||
/obj/item/wirecutters/abductor=1,
|
||||
/obj/item/wrench/abductor=1,
|
||||
/obj/item/multitool/abductor=1,
|
||||
/obj/item/scalpel/alien=1,
|
||||
/obj/item/hemostat/alien=1,
|
||||
/obj/item/retractor/alien=1,
|
||||
/obj/item/circular_saw/alien=1,
|
||||
/obj/item/surgicaldrill/alien=1,
|
||||
/obj/item/cautery/alien=1,
|
||||
/obj/item/compressionkit=1,
|
||||
/obj/item/disk/design_disk/golem_shell=1,
|
||||
/obj/item/disk/tech_disk/illegal=1
|
||||
))
|
||||
|
After Width: | Height: | Size: 9.3 KiB |
@@ -0,0 +1,112 @@
|
||||
/obj/item/strangerock
|
||||
icon = 'GainStation13/code/xenoarch/fossil_and_artifact.dmi'
|
||||
name = "strange rock"
|
||||
desc = "This is a strange rock, it appears to have a relic encased."
|
||||
icon_state = "strange"
|
||||
item_state = "strange"
|
||||
|
||||
var/chosenitem = null
|
||||
var/itemsafedepth = null
|
||||
var/itembasedepth = null
|
||||
var/itemactualdepth = null
|
||||
var/dugdepth = null
|
||||
|
||||
var/tryagain = null
|
||||
|
||||
/obj/item/strangerock/Initialize()
|
||||
icon_state = pick("strange","strange0","strange1","strange2","strange3")
|
||||
var/randomnumber = rand(1,100)
|
||||
switch(randomnumber)
|
||||
if(1 to 69)
|
||||
chosenitem = pickweight(GLOB.bas_artifact)
|
||||
itembasedepth = rand(30,40)
|
||||
itemsafedepth = rand(3,6)
|
||||
itemactualdepth = rand(itembasedepth - itemsafedepth,itembasedepth)
|
||||
if(70 to 99)
|
||||
chosenitem = pickweight(GLOB.adv_artifact)
|
||||
itembasedepth = rand(40,60)
|
||||
itemsafedepth = rand(6,12)
|
||||
itemactualdepth = rand(itembasedepth - itemsafedepth,itembasedepth)
|
||||
if(100)
|
||||
chosenitem = pickweight(GLOB.ult_artifact)
|
||||
itembasedepth = rand(70,100)
|
||||
itemsafedepth = rand(12,14)
|
||||
itemactualdepth = rand(itembasedepth - itemsafedepth,itembasedepth)
|
||||
..()
|
||||
|
||||
/obj/item/strangerock/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W,/obj/item/xenoarch/clean/hammer))
|
||||
if(tryagain)
|
||||
to_chat(user,"You are already mining this.")
|
||||
return
|
||||
tryagain = TRUE
|
||||
var/obj/item/xenoarch/clean/hammer/HM = W
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
if(!do_after(user,HM.cleanspeed,target = src))
|
||||
to_chat(user,"You must stand still to clean.")
|
||||
tryagain = FALSE
|
||||
return
|
||||
dugdepth += HM.cleandepth
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
if(dugdepth > itemactualdepth)
|
||||
to_chat(user,"The strange rock crumbles, destroying anything that could have been recovered.")
|
||||
qdel(src)
|
||||
return
|
||||
tryagain = FALSE
|
||||
if(istype(W,/obj/item/xenoarch/clean/brush))
|
||||
if(tryagain)
|
||||
to_chat(user,"You are already mining this.")
|
||||
return
|
||||
tryagain = TRUE
|
||||
var/obj/item/xenoarch/clean/brush/HM = W
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
if(!do_after(user,HM.brushspeed,target = src))
|
||||
to_chat(user,"You must stand still to clean.")
|
||||
tryagain = FALSE
|
||||
return
|
||||
if(dugdepth < itemactualdepth)
|
||||
dugdepth++
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
to_chat(user,"You brush away 1cm of debris.")
|
||||
tryagain = FALSE
|
||||
return
|
||||
if(dugdepth > itemactualdepth)
|
||||
to_chat(user,"You somehow managed to destroy a strange rock with a brush... good job?")
|
||||
qdel(src)
|
||||
return
|
||||
if(dugdepth == itemactualdepth)
|
||||
new chosenitem(get_turf(src))
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
to_chat(user,"You uncover an artifact!")
|
||||
qdel(src)
|
||||
return
|
||||
if(istype(W,/obj/item/xenoarch/help/scanner))
|
||||
var/obj/item/xenoarch/help/scanner/HM = W
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
if(!do_after(user,30,target = src))
|
||||
to_chat(user,"You must stand still to scan.")
|
||||
return
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
to_chat(user,"Base Depth: [itembasedepth] centimeters.")
|
||||
to_chat(user,"Safe Depth: [itemsafedepth] centimeters.")
|
||||
if(istype(W,/obj/item/xenoarch/help/scanneradv))
|
||||
var/obj/item/xenoarch/help/scanneradv/HM = W
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
if(!do_after(user,10,target = src))
|
||||
to_chat(user,"You must stand still to scan.")
|
||||
return
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
to_chat(user,"Item Depth: [itemactualdepth] centimeters.")
|
||||
if(istype(W,/obj/item/xenoarch/help/measuring))
|
||||
var/obj/item/xenoarch/help/measuring/HM = W
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
if(!do_after(user,10,target = src))
|
||||
to_chat(user,"You must stand still to measure.")
|
||||
return
|
||||
if(!dugdepth)
|
||||
to_chat(user,"This rock has not been touched.")
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
return
|
||||
to_chat(user,"Current depth dug: [dugdepth] centimeters.")
|
||||
playsound(loc, HM.usesound, 50, 1, -1)
|
||||
//
|
||||
@@ -0,0 +1,580 @@
|
||||
/obj/item/xenoarch
|
||||
name = "Parent Xenoarch"
|
||||
desc = "Debug. Parent Clean"
|
||||
icon = 'GainStation13/code/xenoarch/tools.dmi'
|
||||
|
||||
/obj/item/xenoarch/Initialize()
|
||||
..()
|
||||
|
||||
/obj/item/xenoarch/clean/hammer
|
||||
name = "Parent hammer"
|
||||
desc = "Debug. Parent Hammer."
|
||||
var/cleandepth = 15
|
||||
var/cleanspeed = 15
|
||||
usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg')
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/cm1
|
||||
name = "mining hammer cm1"
|
||||
desc = "removes 1cm of material."
|
||||
icon_state = "pick1"
|
||||
cleandepth = 1
|
||||
cleanspeed = 5
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/cm2
|
||||
name = "mining hammer cm2"
|
||||
desc = "removes 2cm of material."
|
||||
icon_state = "pick2"
|
||||
cleandepth = 2
|
||||
cleanspeed = 10
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/cm3
|
||||
name = "mining hammer cm3"
|
||||
desc = "removes 3cm of material."
|
||||
icon_state = "pick3"
|
||||
cleandepth = 3
|
||||
cleanspeed = 15
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/cm4
|
||||
name = "mining hammer cm4"
|
||||
desc = "removes 4cm of material."
|
||||
icon_state = "pick4"
|
||||
cleandepth = 4
|
||||
cleanspeed = 20
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/cm5
|
||||
name = "mining hammer cm5"
|
||||
desc = "removes 5cm of material."
|
||||
icon_state = "pick5"
|
||||
cleandepth = 5
|
||||
cleanspeed = 25
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/cm6
|
||||
name = "mining hammer cm6"
|
||||
desc = "removes 6cm of material."
|
||||
icon_state = "pick6"
|
||||
cleandepth = 6
|
||||
cleanspeed = 30
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/cm15
|
||||
name = "mining hammer cm15"
|
||||
desc = "removes 15cm of material."
|
||||
icon_state = "pick_hand"
|
||||
cleandepth = 15
|
||||
cleanspeed = 75
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/advanced
|
||||
name = "advanced hammer"
|
||||
desc = "Removes a custom amount of debris."
|
||||
icon_state = "advpick"
|
||||
cleandepth = 30
|
||||
cleanspeed = 30
|
||||
usesound = 'sound/weapons/drill.ogg'
|
||||
|
||||
/obj/item/xenoarch/clean/hammer/advanced/attack_self(mob/living/carbon/user)
|
||||
var/depthchoice = input(user, "What depth would you like to mine with? (1-30)", "Change Dig Depth") as null|num
|
||||
if(depthchoice && (depthchoice > 0 && depthchoice <= 30))
|
||||
cleandepth = depthchoice
|
||||
cleanspeed = depthchoice
|
||||
desc = "Removes a custom amount of debris. It will dig [cleandepth] centimeters."
|
||||
to_chat(user, "<span class='notice'>You set the dig depth of the hammer to [cleandepth] centimeters.</span>")
|
||||
//
|
||||
|
||||
/obj/item/xenoarch/clean/brush
|
||||
name = "mining brush"
|
||||
desc = "cleans off the remaining debris."
|
||||
icon_state = "pick_brush"
|
||||
var/brushspeed = 100
|
||||
usesound = 'sound/items/towelwipe.ogg'
|
||||
|
||||
/obj/item/xenoarch/clean/brush/basic
|
||||
brushspeed = 50
|
||||
|
||||
/obj/item/xenoarch/clean/brush/adv
|
||||
name = "advanced mining brush"
|
||||
icon_state = "advbrush"
|
||||
brushspeed = 10
|
||||
|
||||
//
|
||||
|
||||
/obj/item/xenoarch/help/scanner
|
||||
name = "mining scanner"
|
||||
desc = "Inaccurately scans a rock's depths."
|
||||
icon_state = "scanner"
|
||||
usesound = 'sound/machines/chime.ogg'
|
||||
|
||||
/obj/item/xenoarch/help/scanneradv
|
||||
name = "advanced mining scanner"
|
||||
desc = "Accurately scans a rock's depths."
|
||||
icon_state = "adv_scanner"
|
||||
usesound = 'sound/machines/chime.ogg'
|
||||
|
||||
/obj/item/xenoarch/help/measuring
|
||||
name = "measuring tape"
|
||||
desc = "Measures how far a rock has been dug into."
|
||||
icon_state = "measuring"
|
||||
usesound = 'sound/items/poster_ripped.ogg'
|
||||
|
||||
/obj/item/xenoarch/help/research
|
||||
name = "research analyzer"
|
||||
desc = "Deconstructs artifacts for research."
|
||||
icon_state = "researchscanner"
|
||||
usesound = 'sound/weapons/resonator_blast.ogg'
|
||||
|
||||
/obj/item/xenoarch/help/plant
|
||||
name = "fossil seed extractor"
|
||||
desc = "Takes flora fossils and extracts the prehistoric seeds."
|
||||
icon_state = "plantscanner"
|
||||
usesound = 'sound/weapons/resonator_blast.ogg'
|
||||
|
||||
// Eventually, make it work on afterattack(atom/target, mob/user , proximity)
|
||||
// I dont want to take more time currently though.
|
||||
// Would have to create a list and then check if the item is in the list.
|
||||
|
||||
/obj/item/xenoarch/help/cargo
|
||||
name = "dimensional cargo scanner"
|
||||
desc = "teleports items to be sold."
|
||||
icon_state = "cargoscanner"
|
||||
usesound = 'sound/weapons/resonator_blast.ogg'
|
||||
|
||||
/obj/item/xenoarch/help/cargo/afterattack(atom/target, mob/user , proximity)
|
||||
if(!proximity)
|
||||
return
|
||||
var/export_categories = EXPORT_CARGO
|
||||
if(!istype(target,/obj/item))
|
||||
return
|
||||
var/datum/export_report/ex = new
|
||||
if(!do_after(user,300,target=target))
|
||||
to_chat(user,"You need to stand still to export items.")
|
||||
return
|
||||
export_item_and_contents(target, export_categories , dry_run = FALSE, external_report = ex)
|
||||
for(var/datum/export/E in ex.total_amount)
|
||||
var/export_text = E.total_printout(ex)
|
||||
if(!export_text)
|
||||
continue
|
||||
|
||||
var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR)
|
||||
if(D)
|
||||
D.adjust_money(ex.total_value[E])
|
||||
|
||||
to_chat(user,"You sell the [target].")
|
||||
|
||||
|
||||
|
||||
// Storage: Belt and Locker and Bag
|
||||
|
||||
/obj/item/storage/bag/strangerock
|
||||
name = "strange rock bag"
|
||||
desc = "A bag for strange rocks."
|
||||
icon = 'GainStation13/code/xenoarch/tools.dmi'
|
||||
icon_state = "rockbag"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
resistance_flags = FLAMMABLE
|
||||
var/mob/listeningTo
|
||||
var/range = null
|
||||
|
||||
var/spam_protection = FALSE //If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it
|
||||
|
||||
/obj/item/storage/bag/strangerock/ComponentInitialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_w_class = WEIGHT_CLASS_GIGANTIC
|
||||
STR.allow_quick_empty = TRUE
|
||||
STR.max_combined_w_class = 200
|
||||
STR.max_items = 10
|
||||
STR.display_numerical_stacking = FALSE
|
||||
STR.can_hold = typecacheof(list(/obj/item/strangerock))
|
||||
|
||||
|
||||
/obj/item/storage/bag/strangerock/equipped(mob/user)
|
||||
. = ..()
|
||||
if(listeningTo == user)
|
||||
return
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/Pickup_rocks)
|
||||
listeningTo = user
|
||||
|
||||
/obj/item/storage/bag/strangerock/dropped(mob/user)
|
||||
. = ..()
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED)
|
||||
listeningTo = null
|
||||
|
||||
/obj/item/storage/bag/strangerock/proc/Pickup_rocks(mob/living/user)
|
||||
var/show_message = FALSE
|
||||
var/turf/tile = user.loc
|
||||
if (!isturf(tile))
|
||||
return
|
||||
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
if(STR)
|
||||
for(var/A in tile)
|
||||
if (!is_type_in_typecache(A, STR.can_hold))
|
||||
continue
|
||||
else if(SEND_SIGNAL(src, COMSIG_TRY_STORAGE_INSERT, A, user, TRUE))
|
||||
show_message = TRUE
|
||||
else
|
||||
if(!spam_protection)
|
||||
to_chat(user, "<span class='warning'>Your [name] is full and can't hold any more!</span>")
|
||||
spam_protection = TRUE
|
||||
continue
|
||||
if(show_message)
|
||||
playsound(user, "rustle", 50, TRUE)
|
||||
user.visible_message("<span class='notice'>[user] scoops up the rocks beneath [user.p_them()].</span>", \
|
||||
"<span class='notice'>You scoop up the rocks beneath you with your [name].</span>")
|
||||
spam_protection = FALSE
|
||||
|
||||
/obj/item/storage/bag/strangerockadv
|
||||
name = "bluespace strange rock bag"
|
||||
desc = "A bag for strange rocks."
|
||||
icon = 'GainStation13/code/xenoarch/tools.dmi'
|
||||
icon_state = "rockbagadv"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
var/mob/listeningTo
|
||||
var/range = null
|
||||
|
||||
var/spam_protection = FALSE //If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it
|
||||
|
||||
/obj/item/storage/bag/strangerockadv/ComponentInitialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_w_class = WEIGHT_CLASS_GIGANTIC
|
||||
STR.allow_quick_empty = TRUE
|
||||
STR.max_combined_w_class = 1000
|
||||
STR.max_items = 50
|
||||
STR.display_numerical_stacking = FALSE
|
||||
STR.can_hold = typecacheof(list(/obj/item/strangerock))
|
||||
|
||||
/obj/item/storage/bag/strangerockadv/equipped(mob/user)
|
||||
. = ..()
|
||||
if(listeningTo == user)
|
||||
return
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/Pickup_rocks)
|
||||
listeningTo = user
|
||||
|
||||
/obj/item/storage/bag/strangerockadv/dropped(mob/user)
|
||||
. = ..()
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED)
|
||||
listeningTo = null
|
||||
|
||||
/obj/item/storage/bag/strangerockadv/proc/Pickup_rocks(mob/living/user)
|
||||
var/show_message = FALSE
|
||||
var/turf/tile = user.loc
|
||||
if (!isturf(tile))
|
||||
return
|
||||
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
if(STR)
|
||||
for(var/A in tile)
|
||||
if (!is_type_in_typecache(A, STR.can_hold))
|
||||
continue
|
||||
else if(SEND_SIGNAL(src, COMSIG_TRY_STORAGE_INSERT, A, user, TRUE))
|
||||
show_message = TRUE
|
||||
else
|
||||
if(!spam_protection)
|
||||
to_chat(user, "<span class='warning'>Your [name] is full and can't hold any more!</span>")
|
||||
spam_protection = TRUE
|
||||
continue
|
||||
if(show_message)
|
||||
playsound(user, "rustle", 50, TRUE)
|
||||
user.visible_message("<span class='notice'>[user] scoops up the rocks beneath [user.p_them()].</span>", \
|
||||
"<span class='notice'>You scoop up the rocks beneath you with your [name].</span>")
|
||||
spam_protection = FALSE
|
||||
|
||||
//
|
||||
|
||||
/obj/item/storage/belt/xenoarch
|
||||
name = "xenoarchaeologist belt"
|
||||
desc = "used to store your tools for xenoarchaeology."
|
||||
icon = 'GainStation13/code/xenoarch/tools.dmi'
|
||||
icon_state = "miningbelt"
|
||||
|
||||
/obj/item/storage/belt/xenoarch/ComponentInitialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
var/static/list/can_hold = typecacheof(list(
|
||||
/obj/item/xenoarch/help,
|
||||
/obj/item/xenoarch/clean,
|
||||
/obj/item/t_scanner/adv_mining_scanner,
|
||||
/obj/item/gps
|
||||
))
|
||||
STR.can_hold = can_hold
|
||||
STR.max_items = 12
|
||||
STR.max_w_class = WEIGHT_CLASS_BULKY
|
||||
STR.max_combined_w_class = 200
|
||||
|
||||
/obj/item/storage/belt/xenoarch/full/PopulateContents()
|
||||
new /obj/item/xenoarch/help/measuring(src)
|
||||
new /obj/item/xenoarch/help/scanner(src)
|
||||
new /obj/item/xenoarch/clean/brush/basic(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm15(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm6(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm5(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm4(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm3(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm2(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm1(src)
|
||||
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
|
||||
new /obj/item/gps(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/xenoarch
|
||||
name = "xenoarchaeologist wardrobe"
|
||||
icon_state = "science"
|
||||
icon_door = "science"
|
||||
|
||||
/obj/structure/closet/wardrobe/xenoarch/PopulateContents()
|
||||
new /obj/item/xenoarch/help/measuring(src)
|
||||
new /obj/item/xenoarch/help/scanner(src)
|
||||
new /obj/item/xenoarch/clean/brush/basic(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm15(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm6(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm5(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm4(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm3(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm2(src)
|
||||
new /obj/item/xenoarch/clean/hammer/cm1(src)
|
||||
new /obj/item/pickaxe(src)
|
||||
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
|
||||
new /obj/item/gps(src)
|
||||
new /obj/item/storage/belt/xenoarch(src)
|
||||
new /obj/item/storage/bag/strangerock(src)
|
||||
return
|
||||
|
||||
//
|
||||
|
||||
//Research WEB
|
||||
|
||||
/datum/techweb_node/xenoarchtools
|
||||
id = "xenoarchtools"
|
||||
display_name = "Xenoarchaeology Tools"
|
||||
description = "Xenoarchaeology tools that are used for xenoarchaeology, who knew."
|
||||
prereq_ids = list("base")
|
||||
design_ids = list("hammercm1","hammercm2","hammercm3","hammercm4","hammercm5","hammercm6","hammercm15","hammerbrush","xenoscanner","xenomeasure","xenobelt","xenorockback")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 750)
|
||||
|
||||
/datum/techweb_node/portxenoarch
|
||||
id = "portxenoarch"
|
||||
display_name = "Portable Xenoarchaeology Tools"
|
||||
description = "Tools for extracting seeds, and for getting some research points."
|
||||
prereq_ids = list("xenoarchtools")
|
||||
design_ids = list("xenoresearch","xenoplant")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
||||
|
||||
/datum/techweb_node/advportcargo
|
||||
id = "advportcargo"
|
||||
display_name = "Advanced Cargo Technology"
|
||||
description = "A tool for selling stuff not through a shuttle. Careful with its use."
|
||||
prereq_ids = list("portxenoarch")
|
||||
design_ids = list("advcargoscanner")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
|
||||
/datum/techweb_node/advxenoarch
|
||||
id = "advxenoarch"
|
||||
display_name = "Advanced Xenoarchaeology Tools"
|
||||
description = "Tools that can make your excavation and recovering of artifacts easier."
|
||||
prereq_ids = list("xenoarchtools")
|
||||
design_ids = list("advxenoscanner","hammercmadv","hammerbrushadv","xenorockbackadv")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
|
||||
|
||||
//Research DESIGNS
|
||||
|
||||
/datum/design/hammercm1
|
||||
name = "Hammer cm1"
|
||||
desc = "A hammer that destroys 1 cm of debris."
|
||||
id = "hammercm1"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/clean/hammer/cm1
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/hammercm2
|
||||
name = "Hammer cm2"
|
||||
desc = "A hammer that destroys 2 cm of debris."
|
||||
id = "hammercm2"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/clean/hammer/cm2
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/hammercm3
|
||||
name = "Hammer cm3"
|
||||
desc = "A hammer that destroys 3 cm of debris."
|
||||
id = "hammercm3"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/clean/hammer/cm3
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/hammercm4
|
||||
name = "Hammer cm4"
|
||||
desc = "A hammer that destroys 4 cm of debris."
|
||||
id = "hammercm4"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/clean/hammer/cm4
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/hammercm5
|
||||
name = "Hammer cm5"
|
||||
desc = "A hammer that destroys 5 cm of debris."
|
||||
id = "hammercm5"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/clean/hammer/cm5
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/hammercm6
|
||||
name = "Hammer cm6"
|
||||
desc = "A hammer that destroys 6 cm of debris."
|
||||
id = "hammercm6"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/clean/hammer/cm6
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/hammercm15
|
||||
name = "Hammer cm15"
|
||||
desc = "A hammer that destroys 15 cm of debris."
|
||||
id = "hammercm15"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/clean/hammer/cm15
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/hammercmadv
|
||||
name = "Advanced Hammer"
|
||||
desc = "A hammer that destroys up to 30 cm of debris."
|
||||
id = "hammercmadv"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 1500)
|
||||
build_path = /obj/item/xenoarch/clean/hammer/advanced
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/cleanbrush
|
||||
name = "Brush"
|
||||
desc = "A brush that cleans debris."
|
||||
id = "hammerbrush"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/clean/brush/basic
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/cleanbrushadv
|
||||
name = "Advanced Brush"
|
||||
desc = "A brush that cleans debris."
|
||||
id = "hammerbrushadv"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 1500)
|
||||
build_path = /obj/item/xenoarch/clean/brush/adv
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
// Designs for tools
|
||||
|
||||
/datum/design/xenoscanner
|
||||
name = "Mining Scanner"
|
||||
desc = "A tool that scans depths of rocks."
|
||||
id = "xenoscanner"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/help/scanner
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/advxenoscanner
|
||||
name = "Advanced Mining Scanner"
|
||||
desc = "A tool that scans depths of rocks."
|
||||
id = "advxenoscanner"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 1500)
|
||||
build_path = /obj/item/xenoarch/help/scanneradv
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/xenomeasure
|
||||
name = "Measuring Tape"
|
||||
desc = "A tool to measure the dug depth of rocks."
|
||||
id = "xenomeasure"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
build_path = /obj/item/xenoarch/help/measuring
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/xenoresearch
|
||||
name = "Research Scanner"
|
||||
desc = "A tool used to get research points from artifacts."
|
||||
id = "xenoresearch"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 1000)
|
||||
build_path = /obj/item/xenoarch/help/research
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/xenoplant
|
||||
name = "Fossil Seed Extractor"
|
||||
desc = "A tool to extract the seeds from prehistoric fossils."
|
||||
id = "xenoplant"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 1000)
|
||||
build_path = /obj/item/xenoarch/help/plant
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/advcargoscanner
|
||||
name = "Cargo Scanner"
|
||||
desc = "A tool used to sell items, virtually."
|
||||
id = "advcargoscanner"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 1000, MAT_BLUESPACE = 1000)
|
||||
build_path = /obj/item/xenoarch/help/cargo
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO
|
||||
|
||||
/datum/design/xenobelt
|
||||
name = "Xenoarchaeology Belt"
|
||||
desc = "A belt used to store some xenoarch tools."
|
||||
id = "xenobelt"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 2000)
|
||||
build_path = /obj/item/storage/belt/xenoarch
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/xenorockback
|
||||
name = "Xenoarchaeology Strange Rock Bag"
|
||||
desc = "A bag used to store 10 strange rocks."
|
||||
id = "xenorockback"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 2000)
|
||||
build_path = /obj/item/storage/bag/strangerock
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/xenorockbackadv
|
||||
name = "Xenoarchaeology Bluespace Strange Rock Bag"
|
||||
desc = "A bluespace bag used to store 50 strange rocks."
|
||||
id = "xenorockbackadv"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_BLUESPACE = 1000)
|
||||
build_path = /obj/item/storage/bag/strangerockadv
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/obj/item/paper/fluff/stations/lavaland/xenoarch
|
||||
name = "xenoarchaeology notice"
|
||||
info = "<b><i>XENOARCHAEOLOGY GUIDE</i></b><br><br>So you want to figure out xenoarchaeology? Well, it's easy to learn and can be 'fun' to pick up!<br><br>First, make sure you mine some rocks and find those weird, strange rocks that are occasionally found.<br>Then, bring them back safely to the facility, or somewhere... ANYWHERE really. Just be cautious of onlookers!<br>Next, take your depth scanner and scan the sucker.<br><br>It'll have a base depth and a safe depth. These depths are important:<br><br>1) Base depth is the deepest the relic can be within the rock.<br>2) Safe depth is the depth from the base depth that is the earliest it will appear FROM the base depth.<br><br>Essentially, take the base depth and subtract the safe depth from it. Mine to this point and start to brush brush brush!<br>For example: You get a rock that has a base depth of 30 and a safe depth of 10. How deep should you mine?<br><br>You should mine to 20, and then start brushing away. Eventually you'll get the relic!<br><br>Hopefully this helps! If not well... I don't know what to tell you.<br><br>Peace!<br><i><b>Kobe Ivanov</b></i>,<br>P-A Xenoarchaeologist"
|
||||
|
After Width: | Height: | Size: 8.7 KiB |
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/amauri
|
||||
name = "pack of amauri seeds"
|
||||
desc = "These seeds grow into amauri plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "amauri"
|
||||
species = "amauri"
|
||||
plantname = "Amauri Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/amauri
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "amauri-stage"
|
||||
growthstages = 3
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/mutationtoxin/shadow = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/amauri
|
||||
seed = /obj/item/seeds/amauri
|
||||
name = "amauri"
|
||||
desc = "It's a little piece of amauri."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "amauri"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/mutationtoxin/shadow = 0.1)
|
||||
tastes = list("shadow" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/gelthi
|
||||
name = "pack of gelthi seeds"
|
||||
desc = "These seeds grow into gelthi plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "gelthi"
|
||||
species = "gelthi"
|
||||
plantname = "Gelthi Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/gelthi
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "gelthi-stage"
|
||||
growthstages = 3
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/gold = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/gelthi
|
||||
seed = /obj/item/seeds/gelthi
|
||||
name = "gelthi"
|
||||
desc = "It's a little piece of gelthi."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "gelthi"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/gold = 0.1)
|
||||
tastes = list("gold" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/jurlmah
|
||||
name = "pack of jurlmah seeds"
|
||||
desc = "These seeds grow into jurlmah plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "jurlmah"
|
||||
species = "jurlmah"
|
||||
plantname = "Jurlmah Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/jurlmah
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "jurlmah-stage"
|
||||
growthstages = 5
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/medicine/cryoxadone = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/jurlmah
|
||||
seed = /obj/item/seeds/jurlmah
|
||||
name = "jurlmah"
|
||||
desc = "It's a little piece of jurlmah."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "jurlmah"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/medicine/cryoxadone = 0.1)
|
||||
tastes = list("cold" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/nofruit
|
||||
name = "pack of nofruit seeds"
|
||||
desc = "These seeds grow into nofruit plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "nofruit"
|
||||
species = "nofruit"
|
||||
plantname = "Nofruit Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/nofruit
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "nofruit-stage"
|
||||
growthstages = 4
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/consumable/nothing = 0.1, /datum/reagent/consumable/laughter = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/nofruit
|
||||
seed = /obj/item/seeds/nofruit
|
||||
name = "nofruit"
|
||||
desc = "It's a little piece of nofruit."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "nofruit"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/consumable/nothing = 0.1, /datum/reagent/consumable/laughter = 0.1)
|
||||
tastes = list("entertainment" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/shand
|
||||
name = "pack of shand seeds"
|
||||
desc = "These seeds grow into shand plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "shand"
|
||||
species = "shand"
|
||||
plantname = "Shand Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/shand
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "shand-stage"
|
||||
growthstages = 3
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/pax = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/shand
|
||||
seed = /obj/item/seeds/shand
|
||||
name = "shand"
|
||||
desc = "It's a little piece of shand."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "shand"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/pax = 0.1)
|
||||
tastes = list("peace" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/surik
|
||||
name = "pack of surik seeds"
|
||||
desc = "These seeds grow into surik plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "surik"
|
||||
species = "surik"
|
||||
plantname = "Surik Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/surik
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "surik-stage"
|
||||
growthstages = 4
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/consumable/frostoil = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/surik
|
||||
seed = /obj/item/seeds/surik
|
||||
name = "surik"
|
||||
desc = "It's a little piece of surik."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "surik"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/consumable/frostoil = 0.1)
|
||||
tastes = list("snow" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/telriis
|
||||
name = "pack of telriis seeds"
|
||||
desc = "These seeds grow into telriis plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "telriis"
|
||||
species = "telriis"
|
||||
plantname = "Telriis Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/telriis
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "telriis-stage"
|
||||
growthstages = 4
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/mutationtoxin/pod = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/telriis
|
||||
seed = /obj/item/seeds/telriis
|
||||
name = "telriis"
|
||||
desc = "It's a little piece of telriis."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "telriis"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/mutationtoxin/pod = 0.1)
|
||||
tastes = list("plant" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/thaadra
|
||||
name = "pack of thaadra seeds"
|
||||
desc = "These seeds grow into thaadra plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "thaadra"
|
||||
species = "thaadra"
|
||||
plantname = "Thaadra Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/thaadra
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "thaadra-stage"
|
||||
growthstages = 4
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/silver = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/thaadra
|
||||
seed = /obj/item/seeds/thaadra
|
||||
name = "thaadra"
|
||||
desc = "It's a little piece of thaadra."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "thaadra"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/silver = 0.1)
|
||||
tastes = list("silver" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/vale
|
||||
name = "pack of vale seeds"
|
||||
desc = "These seeds grow into vale plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "vale"
|
||||
species = "vale"
|
||||
plantname = "Vale Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/vale
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "vale-stage"
|
||||
growthstages = 4
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/slime_toxin = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/vale
|
||||
seed = /obj/item/seeds/vale
|
||||
name = "vale"
|
||||
desc = "It's a little piece of vale."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "vale"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/slime_toxin = 0.1)
|
||||
tastes = list("slime" = 1)
|
||||
@@ -0,0 +1,28 @@
|
||||
/obj/item/seeds/vaporsac
|
||||
name = "pack of vaporsac seeds"
|
||||
desc = "These seeds grow into vaporsac plants."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/seeds.dmi'
|
||||
icon_state = "vaporsac"
|
||||
species = "vaporsac"
|
||||
plantname = "Vaporsac Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/vaporsac
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
yield = 5
|
||||
growing_icon = 'GainStation13/code/xenoarch/xenobotany/icons/growing.dmi'
|
||||
icon_grow = "vaporsac-stage"
|
||||
growthstages = 3
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list(/datum/reagent/nitrous_oxide = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/vaporsac
|
||||
seed = /obj/item/seeds/vaporsac
|
||||
name = "vaporsac"
|
||||
desc = "It's a little piece of vaporsac."
|
||||
icon = 'GainStation13/code/xenoarch/xenobotany/icons/harvests.dmi'
|
||||
icon_state = "vaporsac"
|
||||
filling_color = "#FF4500"
|
||||
bitesize = 100
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/nitrous_oxide = 0.1)
|
||||
tastes = list("sleep" = 1)
|
||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 44 KiB |
@@ -18,7 +18,7 @@
|
||||
var/obj/item/toy/plush/partner
|
||||
var/obj/item/toy/plush/plush_child
|
||||
var/obj/item/toy/plush/paternal_parent //who initiated creation
|
||||
var/obj/item/toy/plush/maternal_parent //who owns, see love()
|
||||
var/obj/item/toy/plush/maternal_parent //who owns, see love()a
|
||||
var/static/list/breeding_blacklist = typecacheof(/obj/item/toy/plush/carpplushie/dehy_carp) // you cannot have sexual relations with this plush
|
||||
var/list/scorned = list() //who the plush hates
|
||||
var/list/scorned_by = list() //who hates the plush, to remove external references on Destroy()
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
mineralChance = 25
|
||||
mineralSpawnChanceList = list(
|
||||
/obj/item/stack/ore/uranium = 35, /obj/item/stack/ore/diamond = 30, /obj/item/stack/ore/gold = 45, /obj/item/stack/ore/titanium = 45,
|
||||
/obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 20)
|
||||
/obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 20, /obj/item/stack/ore/calorite = 20,) //GS13 EDIT
|
||||
|
||||
/turf/closed/mineral/random/high_chance/volcanic
|
||||
environment_type = "basalt"
|
||||
@@ -235,7 +235,7 @@
|
||||
defer_change = TRUE
|
||||
mineralSpawnChanceList = list(
|
||||
/obj/item/stack/ore/uranium = 35, /obj/item/stack/ore/diamond = 30, /obj/item/stack/ore/gold = 45, /obj/item/stack/ore/titanium = 45,
|
||||
/obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal)
|
||||
/obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 20, /obj/item/stack/ore/calorite = 20,) //GS13 EDIT
|
||||
|
||||
/turf/closed/mineral/random/low_chance
|
||||
icon_state = "rock_lowchance"
|
||||
@@ -243,7 +243,7 @@
|
||||
mineralSpawnChanceList = list(
|
||||
/obj/item/stack/ore/uranium = 2, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 4, /obj/item/stack/ore/titanium = 4,
|
||||
/obj/item/stack/ore/silver = 6, /obj/item/stack/ore/plasma = 15, /obj/item/stack/ore/iron = 40,
|
||||
/turf/closed/mineral/gibtonite = 2, /obj/item/stack/ore/bluespace_crystal = 1)
|
||||
/turf/closed/mineral/gibtonite = 2, /obj/item/stack/ore/bluespace_crystal = 1, /obj/item/strangerock = 3, /obj/item/stack/ore/calorite = 1,) //GS13 EDIT
|
||||
|
||||
/turf/closed/mineral/random/volcanic
|
||||
environment_type = "basalt"
|
||||
@@ -256,7 +256,7 @@
|
||||
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)
|
||||
/turf/closed/mineral/gibtonite/volcanic = 4, /obj/item/stack/ore/bluespace_crystal = 1, /obj/item/strangerock = 3, /obj/item/stack/ore/calorite = 1,) //GS13 EDIT
|
||||
|
||||
/turf/closed/mineral/random/snow
|
||||
name = "snowy mountainside"
|
||||
@@ -285,7 +285,7 @@
|
||||
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/ice/icemoon = 4, /obj/item/stack/ore/bluespace_crystal = 1)
|
||||
/turf/closed/mineral/gibtonite/ice/icemoon = 4, /obj/item/stack/ore/bluespace_crystal = 1, /obj/item/strangerock = 3, /obj/item/stack/ore/calorite = 1,) //GS13 EDIT
|
||||
|
||||
/turf/closed/mineral/random/snow/underground
|
||||
baseturfs = /turf/open/floor/plating/asteroid/snow/icemoon
|
||||
@@ -294,12 +294,12 @@
|
||||
mineralSpawnChanceList = list(
|
||||
/obj/item/stack/ore/uranium = 10, /obj/item/stack/ore/diamond = 4, /obj/item/stack/ore/gold = 20, /obj/item/stack/ore/titanium = 22,
|
||||
/obj/item/stack/ore/silver = 24, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 20, /obj/item/stack/ore/bananium = 1,
|
||||
/turf/closed/mineral/gibtonite/ice/icemoon = 8, /obj/item/stack/ore/bluespace_crystal = 2)
|
||||
/turf/closed/mineral/gibtonite/ice/icemoon = 8, /obj/item/stack/ore/bluespace_crystal = 2, /obj/item/strangerock = 6, /obj/item/stack/ore/calorite = 2,) //GS13 EDIT
|
||||
|
||||
/turf/closed/mineral/random/snow/high_chance
|
||||
mineralSpawnChanceList = list(
|
||||
/obj/item/stack/ore/uranium = 35, /obj/item/stack/ore/diamond = 30, /obj/item/stack/ore/gold = 45, /obj/item/stack/ore/titanium = 45,
|
||||
/obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 20)
|
||||
/obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 20, /obj/item/stack/ore/calorite = 20,) //GS13 EDIT
|
||||
|
||||
/turf/closed/mineral/random/labormineral
|
||||
icon_state = "rock_labor"
|
||||
|
||||
@@ -4002,6 +4002,20 @@
|
||||
#include "GainStation13\code\obj\weapons\fatoray.dm"
|
||||
#include "GainStation13\code\obj\weapons\feeder_ebow.dm"
|
||||
#include "GainStation13\code\structures\trapped_items.dm"
|
||||
#include "GainStation13\code\xenoarch\artifact.dm"
|
||||
#include "GainStation13\code\xenoarch\artifact_list.dm"
|
||||
#include "GainStation13\code\xenoarch\strange_rock.dm"
|
||||
#include "GainStation13\code\xenoarch\tools.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\amauri.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\gelthi.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\jurlmah.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\nofruit.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\shand.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\surik.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\telriis.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\thaadra.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\vale.dm"
|
||||
#include "GainStation13\code\xenoarch\xenobotany\grown\vaporsac.dm"
|
||||
#include "GainStation13\icons\obj\vairous_weapons.dm"
|
||||
#include "hyperstation\code\modules\clothing\sizeaccessories.dm"
|
||||
#include "hyperstation\code\modules\resize\resize_action.dm"
|
||||
|
||||