diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_crystal.dm b/code/modules/research/xenoarchaeology/artifact/artifact_crystal.dm
index 9d8273027a7..30902c35cbf 100644
--- a/code/modules/research/xenoarchaeology/artifact/artifact_crystal.dm
+++ b/code/modules/research/xenoarchaeology/artifact/artifact_crystal.dm
@@ -1,14 +1,13 @@
/obj/structure/crystal
name = "large crystal"
- icon = 'icons/obj/mining.dmi'
+ icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "crystal"
density = 1
/obj/structure/crystal/New()
..()
-
- icon_state = pick("crystal","crystal2")
+ icon_state = "crystal[rand(1, 3)]"
desc = pick(\
"It shines faintly as it catches the light.",\
diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_gigadrill.dm b/code/modules/research/xenoarchaeology/artifact/artifact_gigadrill.dm
index ab481586449..7f95b8b6aeb 100644
--- a/code/modules/research/xenoarchaeology/artifact/artifact_gigadrill.dm
+++ b/code/modules/research/xenoarchaeology/artifact/artifact_gigadrill.dm
@@ -17,7 +17,7 @@
to_chat(user, "You press a button and [src] slowly spins down.")
else
active = 1
- icon_state = "gigadrill_mov"
+ icon_state = "gigadrill_active"
to_chat(user, "You press a button and [src] shudders to life.")
/obj/machinery/giga_drill/Collide(atom/A)
diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm
index 444127972e5..2c8fa676fa1 100644
--- a/code/modules/research/xenoarchaeology/finds/finds.dm
+++ b/code/modules/research/xenoarchaeology/finds/finds.dm
@@ -24,7 +24,7 @@
//have all strange rocks be cleared away using welders for now
/obj/item/ore/strangerock
- name = "Strange rock"
+ name = "strange rock"
desc = "Seems to have some unusal strata evident throughout it."
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "strange"
@@ -355,12 +355,12 @@
new_gun.desc = "This is an antique energy weapon, you're not sure if it will fire or not."
//5% chance to explode when first fired
- //10% chance to have an unchargeable cell
+ //5% chance to have an unchargeable cell
//15% chance to gain a random amount of starting energy, otherwise start with an empty cell
if(new_gun.power_supply)
if(prob(5))
new_gun.power_supply.rigged = 1
- if(prob(10))
+ if(prob(5))
new_gun.power_supply.maxcharge = 0
if(prob(15))
new_gun.power_supply.charge = rand(0, new_gun.power_supply.maxcharge)
diff --git a/code/modules/research/xenoarchaeology/finds/finds_fossils.dm b/code/modules/research/xenoarchaeology/finds/finds_fossils.dm
index cc548b8e00e..c966a1ea9a8 100644
--- a/code/modules/research/xenoarchaeology/finds/finds_fossils.dm
+++ b/code/modules/research/xenoarchaeology/finds/finds_fossils.dm
@@ -3,9 +3,9 @@
// fossils
/obj/item/fossil
- name = "Fossil"
+ name = "fossil"
icon = 'icons/obj/xenoarchaeology.dmi'
- icon_state = "bone"
+ icon_state = "bone1"
desc = "It's a fossil."
var/animal = 1
@@ -20,19 +20,27 @@
qdel(src)
/obj/item/fossil/bone
- name = "Fossilised bone"
- icon_state = "bone"
+ name = "fossilised bone"
desc = "It's a fossilised bone."
+/obj/item/fossil/bone/New()
+ icon_state = "bone[rand(1, 3)]"
+
/obj/item/fossil/skull
- name = "Fossilised skull"
+ name = "fossilised skull"
icon_state = "skull"
- desc = "It's a fossilised skull."
+ desc = "It's a foss1ilised skull."
+
+/obj/item/fossil/skull/New()
+ icon_state = "skull[rand(1, 3)]"
/obj/item/fossil/skull/horned
- icon_state = "hskull"
+ icon_state = "horned_skull1"
desc = "It's a fossilised, horned skull."
+/obj/item/fossil/skull/horned/New()
+ icon_state = "horned_skull[rand(1, 2)]"
+
/obj/item/fossil/skull/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/fossil/bone))
var/obj/o = new /obj/skeleton(get_turf(src))
@@ -54,7 +62,7 @@
var/plaque_contents = "Unnamed alien creature"
/obj/skeleton/New()
- src.breq = rand(6)+3
+ src.breq = rand(3)+3
src.desc = "An incomplete skeleton, looks like it could use [src.breq-src.bnum] more bones."
/obj/skeleton/attackby(obj/item/W as obj, mob/user as mob)
@@ -90,12 +98,15 @@
//shells and plants do not make skeletons
/obj/item/fossil/shell
- name = "Fossilised shell"
+ name = "fossilised shell"
icon_state = "shell"
desc = "It's a fossilised shell."
+/obj/item/fossil/shell/New()
+ icon_state = "shell[rand(1, 2)]"
+
/obj/item/fossil/plant
- name = "Fossilised plant"
+ name = "fossilised plant"
icon_state = "plant1"
desc = "It's fossilised plant remains."
animal = 0
diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm
index 9ce93178bf4..f601f54f0f6 100644
--- a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm
+++ b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm
@@ -1,8 +1,8 @@
/obj/machinery/artifact_harvester
name = "exotic particle harvester"
- icon = 'icons/obj/virology.dmi'
- icon_state = "incubator" //incubator_on
+ icon = 'icons/obj/xenoarchaeology.dmi'
+ icon_state = "harvester"
anchored = 1
density = 1
idle_power_usage = 50
diff --git a/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm b/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm
index 878ae0e859a..38a29218c83 100644
--- a/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm
+++ b/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm
@@ -5,8 +5,8 @@
anchored = 1
density = 1
flags = OPENCONTAINER
- icon = 'icons/obj/virology.dmi'
- icon_state = "analyser"
+ icon = 'icons/obj/xenoarchaeology.dmi'
+ icon_state = "spectrometer"
idle_power_usage = 20
active_power_usage = 300
diff --git a/code/modules/research/xenoarchaeology/tools/tools.dm b/code/modules/research/xenoarchaeology/tools/tools.dm
index 528d66da5b3..25bbb2d6468 100644
--- a/code/modules/research/xenoarchaeology/tools/tools.dm
+++ b/code/modules/research/xenoarchaeology/tools/tools.dm
@@ -26,8 +26,8 @@
/obj/item/storage/bag/fossils
name = "fossil satchel"
desc = "Transports delicate fossils in suspension so they don't break during transit."
- icon = 'icons/obj/mining.dmi'
- icon_state = "satchel"
+ icon = 'icons/obj/xenoarchaeology.dmi'
+ icon_state = "fossil_satchel"
slot_flags = SLOT_BELT | SLOT_POCKET
w_class = ITEMSIZE_NORMAL
max_storage_space = 100
diff --git a/html/changelogs/xenoarchicon.yml b/html/changelogs/xenoarchicon.yml
new file mode 100644
index 00000000000..b03fad02221
--- /dev/null
+++ b/html/changelogs/xenoarchicon.yml
@@ -0,0 +1,8 @@
+author: listerla
+
+delete-after: True
+
+changes:
+ - imageadd: "Ported Xenoarchaeology artifact and machinery sprites from Tau Ceti Station."
+ - tweak: "Building skeletons from fossils is now easier."
+ - tweak: "Xenoarchaeologists should find fewer dud energy guns."
\ No newline at end of file
diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi
index fada7ac133b..2b4976a44b3 100644
Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ
diff --git a/icons/obj/xenoarchaeology.dmi b/icons/obj/xenoarchaeology.dmi
index d7acb8e5a42..27f6d778225 100644
Binary files a/icons/obj/xenoarchaeology.dmi and b/icons/obj/xenoarchaeology.dmi differ