diff --git a/baystation12.dme b/baystation12.dme
index 87a6be7b3a3..8fcfc748ea1 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -5,50 +5,6 @@
// END_INTERNALS
// BEGIN_FILE_DIR
#define FILE_DIR .
-#define FILE_DIR "code"
-#define FILE_DIR "code/TriDimension"
-#define FILE_DIR "code/WorkInProgress"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter"
-#define FILE_DIR "code/WorkInProgress/Susan"
-#define FILE_DIR "html"
-#define FILE_DIR "icons"
-#define FILE_DIR "icons/48x48"
-#define FILE_DIR "icons/effects"
-#define FILE_DIR "icons/mecha"
-#define FILE_DIR "icons/misc"
-#define FILE_DIR "icons/mob"
-#define FILE_DIR "icons/mob/human_races"
-#define FILE_DIR "icons/obj"
-#define FILE_DIR "icons/obj/assemblies"
-#define FILE_DIR "icons/obj/atmospherics"
-#define FILE_DIR "icons/obj/clothing"
-#define FILE_DIR "icons/obj/doors"
-#define FILE_DIR "icons/obj/flora"
-#define FILE_DIR "icons/obj/machines"
-#define FILE_DIR "icons/obj/pipes"
-#define FILE_DIR "icons/pda_icons"
-#define FILE_DIR "icons/spideros_icons"
-#define FILE_DIR "icons/Testing"
-#define FILE_DIR "icons/turf"
-#define FILE_DIR "icons/vending_icons"
-#define FILE_DIR "sound"
-#define FILE_DIR "sound/AI"
-#define FILE_DIR "sound/ambience"
-#define FILE_DIR "sound/effects"
-#define FILE_DIR "sound/effects/wind"
-#define FILE_DIR "sound/hallucinations"
-#define FILE_DIR "sound/items"
-#define FILE_DIR "sound/machines"
-#define FILE_DIR "sound/mecha"
-#define FILE_DIR "sound/misc"
-#define FILE_DIR "sound/music"
-#define FILE_DIR "sound/piano"
-#define FILE_DIR "sound/violin"
-#define FILE_DIR "sound/voice"
-#define FILE_DIR "sound/weapons"
// END_FILE_DIR
// BEGIN_PREFERENCES
@@ -1142,13 +1098,13 @@
#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm"
#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm"
#include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm"
-#include "code\modules\research\xenoarchaeology\tools\bunsen_burner.dm"
#include "code\modules\research\xenoarchaeology\tools\anomaly_suit.dm"
+#include "code\modules\research\xenoarchaeology\tools\bunsen_burner.dm"
#include "code\modules\research\xenoarchaeology\tools\tools.dm"
#include "code\modules\research\xenoarchaeology\tools\tools_coresampler.dm"
#include "code\modules\research\xenoarchaeology\tools\tools_depthscanner.dm"
-#include "code\modules\research\xenoarchaeology\tools\tools_pickaxe.dm"
#include "code\modules\research\xenoarchaeology\tools\tools_locater.dm"
+#include "code\modules\research\xenoarchaeology\tools\tools_pickaxe.dm"
#include "code\modules\research\xenoarchaeology\unknown\unknown.dm"
#include "code\modules\research\xenoarchaeology\unknown\unknown_analysis.dm"
#include "code\modules\research\xenoarchaeology\unknown\unknown_db.dm"
diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm
index 02f270d767d..c21601d0230 100644
--- a/code/game/objects/items/weapons/kitchen.dm
+++ b/code/game/objects/items/weapons/kitchen.dm
@@ -34,7 +34,7 @@
/*
* Spoons
*/
- /obj/item/weapon/kitchen/utensil/spoon
+/obj/item/weapon/kitchen/utensil/spoon
name = "spoon"
desc = "SPOON!"
icon_state = "spoon"
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index f4ad059a428..40319b0d1a7 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -128,6 +128,8 @@
//dont create artifact machinery in animal or plant digsites, or if we already have one
if(!artifact_find && digsite != 1 && digsite != 2 && prob(ARTIFACT_SPAWN_CHANCE))
artifact_find = new()
+ //world << "[artifact_find.artifact_find_type] [src.x], [src.y], [src.z]"
+ artifact_spawning_turfs.Add(src)
if(!src.geological_data)
src.geological_data = new/datum/geosample(src)
diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm
index a31ec91852b..61b6fec727c 100644
--- a/code/modules/research/xenoarchaeology/finds/finds.dm
+++ b/code/modules/research/xenoarchaeology/finds/finds.dm
@@ -87,7 +87,7 @@
if(new_item_type)
find_type = new_item_type
else
- find_type = get_random_find_type(0)
+ find_type = rand(1,34) //update this when you add new find types
var/item_type = "object"
icon_state = "unknown[rand(1,4)]"
@@ -97,6 +97,7 @@
var/apply_material_decorations = 1
var/apply_image_decorations = 0
var/material_descriptor = ""
+ var/apply_prefix = 1
if(prob(40))
material_descriptor = pick("rusted ","dusty ","archaic ","fragile ")
source_material = pick("cordite","quadrinium","steel","titanium","aluminium","ferritic-alloy","plasteel","duranium")
@@ -116,7 +117,7 @@
new_item.icon_state = "bowl"
apply_image_decorations = 1
if(prob(20))
- additional_desc = "There appear to be [pick("dark","faintly glowing","pungent")] [pick("red","purple","green","blue")] stains inside."
+ additional_desc = "There appear to be [pick("dark","faintly glowing","pungent","bright")] [pick("red","purple","green","blue")] stains inside."
if(2)
item_type = "urn"
new_item = new /obj/item/weapon/reagent_containers/glass(src.loc)
@@ -167,20 +168,22 @@
chance += 10
item_type = new_item.name
+ apply_prefix = 0
apply_material_decorations = 0
apply_image_decorations = 1
if(8)
- item_type = "chained loops"
+ item_type = "handcuffs"
new_item = new /obj/item/weapon/handcuffs(src.loc)
additional_desc = "[pick("They appear to be for securing two things together","Looks kinky","Doesn't seem like a children's toy")]."
if(9)
item_type = "[pick("wicked","evil","byzantine","dangerous")] looking [pick("device","contraption","thing","trap")]"
+ apply_prefix = 0
new_item = new /obj/item/weapon/legcuffs/beartrap(src.loc)
additional_desc = "[pick("It looks like it could take a limb off",\
"Could be some kind of animal trap",\
"There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along part of it")]."
if(10)
- item_type = "small [pick("cylinder","tank","chamber")]"
+ item_type = "[pick("cylinder","tank","chamber")]"
new_item = new /obj/item/weapon/lighter(src.loc)
additional_desc = "There is a tiny device attached."
if(prob(30))
@@ -203,7 +206,7 @@
icon_state = pick("oxygen","oxygen_fr","oxygen_f","plasma","anesthetic")
additional_desc = "It [pick("gloops","sloshes")] slightly when you shake it."
if(13)
- item_type = "strange tool"
+ item_type = "tool"
if(prob(25))
new_item = new /obj/item/weapon/wrench(src.loc)
else if(prob(25))
@@ -239,12 +242,16 @@
if(prob(30))
apply_image_decorations = 1
if(16)
- if(prob(33))
+ apply_prefix = 0
+ if(prob(25))
item_type = "smooth green crystal"
icon_state = "Green lump"
- else if(prob(50))
+ else if(prob(33))
item_type = "irregular purple crystal"
icon_state = "Phazon"
+ else if(prob(50))
+ item_type = "rough red crystal"
+ icon_state = "changerock"
else
item_type = "smooth red crystal"
icon_state = "ore"
@@ -255,6 +262,7 @@
apply_image_decorations = 1
if(17)
//cultblade
+ apply_prefix = 0
new_item = new /obj/item/weapon/melee/cultblade(src.loc)
apply_material_decorations = 0
apply_image_decorations = 0
@@ -265,10 +273,12 @@
new_item.icon = 'xenoarchaeology.dmi'
new_item.desc = ""
if(19)
+ apply_prefix = 0
new_item = new /obj/item/weapon/claymore(src.loc)
name = new_item.name
if(20)
//arcane clothing
+ apply_prefix = 0
var/list/possible_spawns = list(/obj/item/clothing/head/culthood,
/obj/item/clothing/head/magus,
/obj/item/clothing/head/culthood/alt,
@@ -278,16 +288,20 @@
new_item = new new_type(src.loc)
if(21)
//soulstone
+ apply_prefix = 0
new_item = new /obj/item/device/soulstone(src.loc)
+ item_type = new_item.name
apply_material_decorations = 0
if(22)
if(prob(50))
new_item = new /obj/item/weapon/shard(src.loc)
else
new_item = new /obj/item/weapon/shard/plasma(src.loc)
+ apply_prefix = 0
apply_image_decorations = 0
apply_material_decorations = 0
if(23)
+ apply_prefix = 0
new_item = new /obj/item/stack/rods(src.loc)
apply_image_decorations = 0
apply_material_decorations = 0
@@ -300,6 +314,7 @@
new_item = new new_type(src.loc)
apply_material_decorations = 0
if(25)
+ apply_prefix = 0
new_item = new /obj/item/weapon/katana(src.loc)
name = new_item.name
if(26)
@@ -326,7 +341,7 @@
else
new_gun.power_supply.charge = 0
- name = "unknown weapon"
+ name = "gun"
if(27)
//revolver
var/obj/item/weapon/gun/projectile/new_gun = new /obj/item/weapon/gun/projectile(src.loc)
@@ -358,7 +373,7 @@
new_gun.loaded.Remove(I)
I.loc = null
- name = "unknown weapon"
+ name = "gun"
if(28)
//completely unknown alien device
if(prob(50))
@@ -366,9 +381,13 @@
if(29)
//fossil bone/skull
new_item = new /obj/item/weapon/fossil/base(src.loc)
+ apply_prefix = 0
+ apply_image_decorations = 0
+ apply_material_decorations = 0
if(30)
//fossil shell
new_item = new /obj/item/weapon/fossil/shell(src.loc)
+ apply_prefix = 0
apply_image_decorations = 0
apply_material_decorations = 0
if(prob(10))
@@ -378,8 +397,10 @@
new_item = new /obj/item/weapon/fossil/plant(src.loc)
apply_image_decorations = 0
apply_material_decorations = 0
+ apply_prefix = 0
if(32)
//humanoid remains
+ apply_prefix = 0
name = "humanoid [pick("remains","skeleton")]"
icon = 'blood.dmi'
icon_state = "remains"
@@ -394,6 +415,7 @@
apply_material_decorations = 0
if(33)
//robot remains
+ apply_prefix = 0
name = "[pick("mechanical","robotic","cyborg")] [pick("remains","chassis","debris")]"
icon = 'blood.dmi'
icon_state = "remainsrobot"
@@ -408,6 +430,7 @@
apply_material_decorations = 0
if(34)
//xenos remains
+ apply_prefix = 0
name = "alien [pick("remains","skeleton")]"
icon = 'blood.dmi'
icon_state = "remainsxeno"
@@ -463,7 +486,11 @@
desc += " "
desc += engravings
- name = "[item_type]"
+ if(apply_prefix)
+ name = "[pick("Strange","Ancient","Alien","")] [item_type]"
+ else
+ name = item_type
+
if(desc)
desc += " "
desc += additional_desc
@@ -472,7 +499,7 @@
//icon and icon_state should have already been set
if(new_item)
- new_item.name = "[pick("Strange","Ancient","Alien","")] [new_item.name]"
+ new_item.name = name
new_item.desc = src.desc
if(talkative)
diff --git a/code/modules/research/xenoarchaeology/finds/finds_defines.dm b/code/modules/research/xenoarchaeology/finds/finds_defines.dm
index 9583cb74ad9..dd5aa34dd25 100644
--- a/code/modules/research/xenoarchaeology/finds/finds_defines.dm
+++ b/code/modules/research/xenoarchaeology/finds/finds_defines.dm
@@ -30,6 +30,10 @@
#define ARCHAEO_FOSSIL 29
#define ARCHAEO_SHELL 30
#define ARCHAEO_PLANT 31
+#define ARCHAEO_REMAINS_HUMANOID 32
+#define ARCHAEO_REMAINS_ROBOT 33
+#define ARCHAEO_REMAINS_XENO 34
+#define MAX_ARCHAEO 34
//eggs
//droppings
//footprints
@@ -37,29 +41,6 @@
//DNA sampling from fossils, or a new archaeo type specifically for it?
-#define ARTIFACT_REMAINS_HUMANOID 1
-#define ARTIFACT_REMAINS_ROBOT 2
-#define ARTIFACT_REMAINS_XENO 3
-#define ARTIFACT_MACHINERY 4
-#define ARTIFACT_OCCULT 5
-#define ARTIFACT_SYNDBEACON 6
-
-//?
-#define ARTIFACT_HEAL 4
-#define ARTIFACT_BIODAM 5
-#define ARTIFACT_POWERCHARGE 6
-#define ARTIFACT_POWERDRAIN 7
-#define ARTIFACT_EMP 8
-#define ARTIFACT_PLANTGROW 9
-#define ARTIFACT_WEAKEN 10
-#define ARTIFACT_SLEEPY 11
-#define ARTIFACT_TELEPORT 12
-#define ARTIFACT_ROBOHURT 13
-#define ARTIFACT_ROBOHEAL 14
-#define ARTIFACT_DNASWITCH 15
-//#define ARTIFACT_
-//#define ARTIFACT_
-
//descending order of likeliness to spawn
#define DIGSITE_GARDEN 1
#define DIGSITE_ANIMAL 2
@@ -126,8 +107,16 @@
return "beryllium"
if(ARCHAEO_FOSSIL)
return "carbon"
+ if(ARCHAEO_SHELL)
+ return "carbon"
if(ARCHAEO_PLANT)
return "carbon"
+ if(ARCHAEO_REMAINS_HUMANOID)
+ return "carbon"
+ if(ARCHAEO_REMAINS_ROBOT)
+ return "carbon"
+ if(ARCHAEO_REMAINS_XENO)
+ return "carbon"
return "chlorine"
//see /turf/simulated/mineral/New() in code/modules/mining/mine_turfs.dm
diff --git a/code/modules/research/xenoarchaeology/geosample.dm b/code/modules/research/xenoarchaeology/geosample.dm
index cd02736b3fd..9ad8a15b8d4 100644
--- a/code/modules/research/xenoarchaeology/geosample.dm
+++ b/code/modules/research/xenoarchaeology/geosample.dm
@@ -161,7 +161,7 @@ var/list/artifact_spawning_turfs = list()
return
if(container.artifact_find)
- artifact_distance = rand(-100,100) / 100
+ artifact_distance = rand()
artifact_id = container.artifact_find.artifact_id
else
for(var/turf/simulated/mineral/holder in artifact_spawning_turfs)
@@ -169,7 +169,7 @@ var/list/artifact_spawning_turfs = list()
var/dist = get_dist(container, holder)
if(dist < holder.artifact_find.artifact_detect_range && dist < src.artifact_distance)
src.artifact_distance = dist
- src.artifact_id = holder.artifact_find
+ src.artifact_id = holder.artifact_find.artifact_id
else
artifact_spawning_turfs.Remove(holder)
diff --git a/code/modules/research/xenoarchaeology/suspension_generator.dm b/code/modules/research/xenoarchaeology/suspension_generator.dm
index b24080df2ff..690431a8366 100644
--- a/code/modules/research/xenoarchaeology/suspension_generator.dm
+++ b/code/modules/research/xenoarchaeology/suspension_generator.dm
@@ -89,6 +89,7 @@
dat += "[field_type=="aluminium"?"":"" ]Aluminium transmitted field
"
dat += "[field_type=="silicon"?"":"" ]Silicon wafer conduction
"
dat += "[field_type=="calcium"?"":"" ]Calcium binary deoxidiser
"
+ dat += "[field_type=="chlorine"?"":"" ]Chlorine alkalising field
"
else
dat += "
"
dat += "
"
@@ -257,6 +258,9 @@
if("aluminium")
success = 1
//
+ if("chlorine")
+ success = 1
+ //
if("silicon")
success = 1
for(var/mob/living/silicon/R in T)
diff --git a/code/modules/research/xenoarchaeology/tools/tools.dm b/code/modules/research/xenoarchaeology/tools/tools.dm
index c36a7b16710..03b3f136fd4 100644
--- a/code/modules/research/xenoarchaeology/tools/tools.dm
+++ b/code/modules/research/xenoarchaeology/tools/tools.dm
@@ -11,7 +11,7 @@
/obj/item/device/gps/attack_self(var/mob/user as mob)
var/turf/T = get_turf(src)
- user << "\blue \icon[src] [src] flashes [10 * T.x + rand(0,9)]:[10 * T.y + rand(0,9)]:[10 * T.z + rand(0,9)]."
+ user << "\blue \icon[src] [src] flashes [10 * T.x].[rand(0,9)]:[10 * T.y].[rand(0,9)]:[10 * T.z].[rand(0,9)]."
/obj/item/device/measuring_tape
name = "measuring tape"
diff --git a/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm b/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm
index 11bde6d4b0f..e060fc44ae7 100644
--- a/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm
+++ b/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm
@@ -51,8 +51,8 @@
var/datum/geosample/geo_data
if(istype(item_to_sample, /turf/simulated/mineral))
var/turf/simulated/mineral/T = item_to_sample
+ T.geological_data.UpdateNearbyArtifactInfo(T)
geo_data = T.geological_data
- geo_data.UpdateNearbyArtifactInfo(T)
else if(istype(item_to_sample, /obj/item/weapon/ore))
var/obj/item/weapon/ore/O = item_to_sample
geo_data = O.geological_data
diff --git a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm
index 3a714bca916..c146f9fd445 100644
--- a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm
+++ b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm
@@ -56,7 +56,7 @@
if(B.artifact_find)
//create a new scanlog entry
var/datum/depth_scan/D = new()
- D.coords = "[10 * B.x + rand(0,9)]:[10 * B.y + rand(0,9)]:[10 * B.z + rand(0,9)]"
+ D.coords = "[10 * B.x].[rand(0,9)]:[10 * B.y].[rand(0,9)]:[10 * B.z].[rand(0,9)]"
D.time = worldtime2text()
D.record_index = positive_locations.len + 1
diff --git a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm
index 7a11c1213a9..f87dfcbc245 100644
--- a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm
+++ b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm
@@ -4,8 +4,8 @@
/obj/item/weapon/pickaxe/brush
name = "brush"
- //icon_state = "brush"
- //item_state = "minipick"
+ icon_state = "pick_brush"
+ item_state = "syringe_0"
digspeed = 50
desc = "Thick metallic wires for clearing away dust and loose scree (1 centimetre excavation depth)."
excavation_amount = 0.5
@@ -15,7 +15,7 @@
/obj/item/weapon/pickaxe/one_pick
name = "1/6 pick"
//icon_state = "excavation"
- //item_state = "minipick"
+ item_state = "syringe_0"
digspeed = 50
desc = "A miniature excavation tool for precise digging (2 centimetre excavation depth)."
excavation_amount = 1
@@ -25,7 +25,7 @@
/obj/item/weapon/pickaxe/two_pick
name = "1/3 pick"
//icon_state = "excavation"
- //item_state = "minipick"
+ item_state = "syringe_0"
digspeed = 50
desc = "A miniature excavation tool for precise digging (4 centimetre excavation depth)."
excavation_amount = 2
@@ -35,7 +35,7 @@
/obj/item/weapon/pickaxe/three_pick
name = "1/2 pick"
//icon_state = "excavation"
- //item_state = "minipick"
+ item_state = "syringe_0"
digspeed = 50
desc = "A miniature excavation tool for precise digging (6 centimetre excavation depth)."
excavation_amount = 3
@@ -45,7 +45,7 @@
/obj/item/weapon/pickaxe/four_pick
name = "2/3 pick"
//icon_state = "excavation"
- //item_state = "minipick"
+ item_state = "syringe_0"
digspeed = 50
desc = "A miniature excavation tool for precise digging (8 centimetre excavation depth)."
excavation_amount = 4
@@ -55,7 +55,7 @@
/obj/item/weapon/pickaxe/five_pick
name = "5/6 pick"
//icon_state = "excavation"
- //item_state = "minipick"
+ item_state = "syringe_0"
digspeed = 50
desc = "A miniature excavation tool for precise digging (10 centimetre excavation depth)."
excavation_amount = 5
@@ -65,7 +65,7 @@
/obj/item/weapon/pickaxe/six_pick
name = "1/1 pick"
//icon_state = "excavation"
- //item_state = "minipick"
+ item_state = "syringe_0"
digspeed = 50
desc = "A miniature excavation tool for precise digging (12 centimetre excavation depth)."
excavation_amount = 6
@@ -75,7 +75,7 @@
/obj/item/weapon/pickaxe/hand
name = "hand pickaxe"
//icon_state = "excavation"
- //item_state = "minipick"
+ item_state = "syringe_0"
digspeed = 50
desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)."
excavation_amount = 15
diff --git a/icons/obj/xenoarchaeology.dmi b/icons/obj/xenoarchaeology.dmi
index 88aeb802d8d..57b2d876d33 100644
Binary files a/icons/obj/xenoarchaeology.dmi and b/icons/obj/xenoarchaeology.dmi differ