diff --git a/code/game/objects/effects/decals/Cleanable/aliens.dm b/code/game/objects/effects/decals/Cleanable/aliens.dm
index 1df3acb2b7..69914cef07 100644
--- a/code/game/objects/effects/decals/Cleanable/aliens.dm
+++ b/code/game/objects/effects/decals/Cleanable/aliens.dm
@@ -4,6 +4,12 @@
icon = 'icons/effects/blood.dmi'
basecolor = "#05EE05"
+/obj/effect/decal/cleanable/blood/skathari
+ name = "skathari blood"
+ desc = "The unmistakable green ichor of a Skathari invader."
+ icon = 'icons/effects/blood.dmi'
+ basecolor = "#96C24A"
+
/obj/effect/decal/cleanable/blood/gibs/xeno
name = "xeno gibs"
desc = "Gnarly..."
diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
index 9c883f3d80..d383acd0b7 100644
--- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm
+++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
@@ -24,6 +24,10 @@
icon_state = "smoke"
duration = 50
+/obj/effect/temp_visual/bluespace_tear
+ icon_state = "bs_rift"
+ duration = 4
+
/obj/effect/temp_visual/impact_effect
icon_state = "impact_bullet"
plane = PLANE_LIGHTING_ABOVE // So they're visible even in a shootout in maint.
@@ -69,4 +73,4 @@
/obj/effect/temp_visual/impact_effect/ion
icon_state = "shieldsparkles"
- duration = 6
\ No newline at end of file
+ duration = 6
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 2f690a93f5..af6c9b31b8 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -154,10 +154,10 @@ var/global/floorIsLava = 0
Rudimentary transformation:
These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.
Observer |
\[ Xenos: Larva
- Drone
- Hunter
- Sentinel
- Queen \] |
+ Worker
+ Soldier
+ Gurdian
+ Queen \] |
\[ Crew: Human
Unathi
Tajaran
@@ -1626,8 +1626,8 @@ var/global/floorIsLava = 0
for(var/client/C in admins)
if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights)
to_chat(C, "FAX LOG:[key_name_admin(src.owner)] has sent a fax message to [destination.department] (VIEW)")
-
- var/plaintext_title = P.sender ? "replied to [key_name(P.sender)]'s fax" : "sent a fax message to [destination.department]"
+
+ var/plaintext_title = P.sender ? "replied to [key_name(P.sender)]'s fax" : "sent a fax message to [destination.department]"
var/fax_text = paper_html_to_plaintext(P.info)
log_game(plaintext_title)
log_game(fax_text)
diff --git a/code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm b/code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm
index a8af34137a..277e55a5bb 100644
--- a/code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm
+++ b/code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm
@@ -1,5 +1,5 @@
/datum/admin_secret_item/random_event/trigger_xenomorph_infestation
- name = "Trigger a Xenomorph Infestation"
+ name = "Trigger a Skathari Incursion"
/datum/admin_secret_item/random_event/trigger_xenomorph_infestation/execute(var/mob/user)
. = ..()
diff --git a/code/modules/antagonist/alien/xenomorph.dm b/code/modules/antagonist/alien/xenomorph.dm
index 493a5ed40c..86cc06516a 100644
--- a/code/modules/antagonist/alien/xenomorph.dm
+++ b/code/modules/antagonist/alien/xenomorph.dm
@@ -3,8 +3,8 @@ var/datum/antagonist/xenos/xenomorphs
/datum/antagonist/xenos
id = MODE_XENOMORPH
role_type = BE_ALIEN
- role_text = "Xenomorph"
- role_text_plural = "Xenomorphs"
+ role_text = "Skathari"
+ role_text_plural = "Skathari"
mob_path = /mob/living/carbon/alien/larva
bantype = "Xenomorph"
flags = ANTAG_OVERRIDE_MOB | ANTAG_RANDSPAWN | ANTAG_OVERRIDE_JOB | ANTAG_VOTABLE
diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm
index 1d73c4640c..fb142f91f2 100644
--- a/code/modules/mob/language/outsider.dm
+++ b/code/modules/mob/language/outsider.dm
@@ -86,22 +86,22 @@
flags = RESTRICTED | HIVEMIND
/datum/language/xenocommon
- name = "Xenomorph"
+ name = "Skathari"
colour = "alien"
- desc = "The common tongue of the xenomorphs."
- speech_verb = "hisses"
- ask_verb = "hisses"
- exclaim_verb = "hisses"
+ desc = "The inscrutable clicking of the Skathari."
+ speech_verb = "clicks"
+ ask_verb = "clicks"
+ exclaim_verb = "clicks"
key = "u"
flags = RESTRICTED
- syllables = list("sss","sSs","SSS")
+ syllables = list("ksk","Kks","Krk")
/datum/language/xenos
name = "Hivemind"
- desc = "Xenomorphs have the strange ability to commune over a psychic hivemind."
- speech_verb = "hisses"
- ask_verb = "hisses"
- exclaim_verb = "hisses"
+ desc = "Skathari have the strange ability to communicate by subtle signals transmitted via bluespace."
+ speech_verb = "clicks"
+ ask_verb = "clicks"
+ exclaim_verb = "clicks"
colour = "alien"
key = "a"
flags = RESTRICTED | HIVEMIND
diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index d75a5a69b9..96ebb9b262 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -1,5 +1,5 @@
/mob/living/carbon/alien
- name = "alien"
+ name = "skathari"
desc = "What IS that?"
icon = 'icons/mob/alien.dmi'
icon_state = "alien"
@@ -55,10 +55,10 @@
/mob/living/carbon/alien/get_default_language()
if(default_language)
return default_language
- return GLOB.all_languages["Xenomorph"]
+ return GLOB.all_languages["Skathari"]
/mob/living/carbon/alien/say_quote(var/message, var/datum/language/speaking = null)
- var/verb = "hisses"
+ var/verb = "clicks"
var/ending = copytext(message, length(message))
if(speaking && (speaking.name != "Galactic Common")) //this is so adminbooze xenos speaking common have their custom verbs,
@@ -67,6 +67,6 @@
if(ending == "!")
verb = "roars"
else if(ending == "?")
- verb = "hisses curiously"
+ verb = "clicks curiously"
return verb
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index e39f66c479..39bdbfb886 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -1,6 +1,6 @@
/mob/living/carbon/alien/larva
- name = "alien larva"
- real_name = "alien larva"
+ name = "skathari larva"
+ real_name = "skathari larva"
adult_form = /mob/living/carbon/human
speak_emote = list("hisses")
icon_state = "larva"
@@ -11,5 +11,5 @@
/mob/living/carbon/alien/larva/Initialize()
. = ..()
- add_language("Xenomorph") //Bonus language.
+ add_language("Skathari") //Bonus language.
internal_organs |= new /obj/item/organ/internal/xenos/hivenode(src)
diff --git a/code/modules/mob/living/carbon/alien/larva/progression.dm b/code/modules/mob/living/carbon/alien/larva/progression.dm
index 4e9c15552f..ec98f81305 100644
--- a/code/modules/mob/living/carbon/alien/larva/progression.dm
+++ b/code/modules/mob/living/carbon/alien/larva/progression.dm
@@ -1,12 +1,12 @@
/mob/living/carbon/alien/larva/confirm_evolution()
- to_chat(src, "You are growing into a beautiful alien! It is time to choose a caste.")
+ to_chat(src, "You are growing into a full-fledged Skathari! It is time to choose a caste.")
to_chat(src, "There are three to choose from:")
- to_chat(src, "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.")
- to_chat(src, "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.")
- to_chat(src, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.")
- var/alien_caste = alert(src, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone")
- return alien_caste ? "Xenomorph [alien_caste]" : null
+ to_chat(src, "Soldiers are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Soldiers generate plasma slowly and have low reserves.")
+ to_chat(src, "Guardians are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the soldiers.")
+ to_chat(src, "Workers are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded queen.")
+ var/alien_caste = alert(src, "Please choose which alien caste you shall belong to.",,"Soldier","Guardian","Worker")
+ return alien_caste ? "Skathari [alien_caste]" : null
/mob/living/carbon/alien/larva/show_evolution_blurb()
return
diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm
index 01ef3fa7f4..ef43ba29e0 100644
--- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm
+++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm
@@ -55,7 +55,7 @@
// Free abilities.
/mob/living/carbon/human/proc/transfer_plasma(mob/living/carbon/human/M as mob in oview())
set name = "Transfer Plasma"
- set desc = "Transfer Plasma to another alien"
+ set desc = "Transfer Plasma to another skathari"
set category = "Abilities"
if (get_dist(src,M) <= 1)
@@ -110,7 +110,7 @@
if(check_alien_ability(500))
visible_message("[src] begins to twist and contort!", "You begin to evolve!")
- src.set_species("Xenomorph Queen")
+ src.set_species("Skathari Queen")
return
diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm
index 425a72185c..8f0f899a5b 100644
--- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm
+++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm
@@ -1,9 +1,9 @@
//Stand-in until this is made more lore-friendly.
/datum/species/xenos
name = SPECIES_XENO
- name_plural = "Xenomorphs"
+ name_plural = "Skathari"
- default_language = "Xenomorph"
+ default_language = "Skathari"
language = "Hivemind"
assisted_langs = list()
unarmed_types = list(/datum/unarmed_attack/claws/strong/xeno, /datum/unarmed_attack/bite/strong/xeno)
@@ -166,7 +166,7 @@
/datum/species/xenos/drone
name = SPECIES_XENO_DRONE
- caste_name = "drone"
+ caste_name = "worker"
weeds_plasma_rate = 15
slowdown = 1
tail = "xenos_drone_tail"
@@ -207,7 +207,7 @@
/datum/species/xenos/hunter
name = SPECIES_XENO_HUNTER
weeds_plasma_rate = 5
- caste_name = "hunter"
+ caste_name = "soldier"
slowdown = -2
total_health = 150
tail = "xenos_hunter_tail"
@@ -237,7 +237,7 @@
/datum/species/xenos/sentinel
name = SPECIES_XENO_SENTINEL
weeds_plasma_rate = 10
- caste_name = "sentinel"
+ caste_name = "guardian"
slowdown = 0
total_health = 200
tail = "xenos_sentinel_tail"
diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm
index 146ab07637..512985de67 100644
--- a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm
+++ b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm
@@ -4,7 +4,7 @@
if(!target || !alien_caste) return
var/mob/living/carbon/human/new_alien = new(target)
- new_alien.set_species("Xenomorph [alien_caste]")
+ new_alien.set_species("Skathari [alien_caste]")
return new_alien
/mob/living/carbon/human/xdrone/Initialize(var/ml)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm
index d3cda1f22b..ff81306cfa 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm
@@ -1,10 +1,12 @@
/mob/living/simple_mob/animal/space/alien
- name = "alien hunter"
- desc = "Hiss!"
+ name = "skathari soldier"
+ desc = "Terrible insects from beyond this galaxy!"
+ description_fluff = "Also know as the 'Bluespace Bugs', these insectoid invaders began to manifest suddenly around 2565 and their ravenous hunger for the very particles upon which modern FTL technology relies brought much of galactic society to a standstill. Their ravenous hunger for physical matter on the other hand, got people moving again fast - in the other direction!"
+ tt_desc = "X Extraneus Tarlevi"
icon = 'icons/mob/alien.dmi'
icon_state = "alienh_running"
icon_living = "alienh_running"
- icon_dead = "alien_l"
+ icon_dead = "alien_dead"
icon_gib = "syndicate_gib"
icon_rest = "alienh_sleep"
@@ -15,6 +17,7 @@
response_help = "pokes"
response_disarm = "shoves"
response_harm = "hits"
+ organ_names = /decl/mob_organ_names/skathari
maxHealth = 100
health = 100
@@ -23,17 +26,17 @@
harm_intent_damage = 5
melee_damage_lower = 25
melee_damage_upper = 25
- attack_armor_pen = 15 //It's a freaking alien.
+ attack_armor_pen = 15
attack_sharp = TRUE
attack_edge = TRUE
attacktext = list("slashed")
attack_sound = 'sound/weapons/bladeslice.ogg'
- meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat
+ // meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat //Make this something special in full implementation
/mob/living/simple_mob/animal/space/alien/drone
- name = "alien drone"
+ name = "skathari worker"
icon_state = "aliend_running"
icon_living = "aliend_running"
icon_dead = "aliend_l"
@@ -41,7 +44,11 @@
health = 60
melee_damage_lower = 15
melee_damage_upper = 15
+ projectiletype = /obj/item/projectile/energy/skathari
+ projectilesound = 'sound/weapons/pierce.ogg'
+/*
+To be replaced with equivalents later
/mob/living/simple_mob/animal/space/alien/sentinel
name = "alien sentinel"
icon_state = "aliens_running"
@@ -51,8 +58,7 @@
health = 120
melee_damage_lower = 15
melee_damage_upper = 15
- projectiletype = /obj/item/projectile/energy/neurotoxin/toxic
- projectilesound = 'sound/weapons/pierce.ogg'
+
/mob/living/simple_mob/animal/space/alien/sentinel/praetorian
name = "alien praetorian"
@@ -102,18 +108,25 @@
icon_expected_width = 64
icon_expected_height = 64
+*/
+
/mob/living/simple_mob/animal/space/alien/queen/empress/mother
- name = "alien mother"
+ name = "skathari tyrant"
+ desc = "Sweet mother of bugs!"
icon = 'icons/mob/96x96.dmi'
- icon_state = "empress_s"
- icon_living = "empress_s"
- icon_dead = "empress_dead"
- icon_rest = "empress_rest"
+ icon_state = "tyrant_s"
+ icon_living = "tyrant_s"
+ icon_dead = "tyrant_dead"
+ icon_rest = "tyrant_rest"
maxHealth = 600
health = 600
meat_amount = 10
melee_damage_lower = 15
melee_damage_upper = 25
+ movement_cooldown = 8
+
+ projectiletype = /obj/item/projectile/energy/skathari
+ projectilesound = 'sound/weapons/pierce.ogg'
pixel_x = -32
old_x = -32
@@ -122,5 +135,11 @@
/mob/living/simple_mob/animal/space/alien/death()
..()
- visible_message("[src] lets out a waning guttural screech, green blood bubbling from its maw...")
+ visible_message("[src] lets out a waning guttural screech, green ichor bubbling from its maw...")
playsound(src, 'sound/voice/hiss6.ogg', 100, 1)
+ new /obj/effect/decal/cleanable/blood/skathari(src.loc)
+ new /obj/effect/temp_visual/bluespace_tear(src.loc)
+
+
+/decl/mob_organ_names/skathari
+ hit_zones = list("carapace", "abdomen", "left forelegs", "right forelegs", "left hind legs", "right hind legs", "head")
\ No newline at end of file
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index bd3d5f6bb0..796e350945 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -206,13 +206,13 @@
for(var/t in organs)
qdel(t)
- var/alien_caste = pick("Hunter","Sentinel","Drone")
+ var/alien_caste = pick("Soldier","Guardian","Worker")
var/mob/living/carbon/human/new_xeno = create_new_xenomorph(alien_caste,loc)
new_xeno.a_intent = I_HURT
new_xeno.key = key
- to_chat(new_xeno, "You are now an alien.")
+ to_chat(new_xeno, "You are now a Skathari.")
qdel(src)
return
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index 3aef9f83cd..6456b20862 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -167,6 +167,14 @@
check_armour = "bio"
armor_penetration = 25 // It's acid-based
+/obj/item/projectile/energy/skathari //Skathari equivalent of above, but less biological more... Blue.
+ name = "bluespace spit"
+ icon_state = "bluespace_small"
+ damage = 20
+ damage_type = BIOACID //Still biological weirdness
+ agony = 20
+ armor_penetration = 50 // More normal armour type check (energy) but said armour less effective because bluespace shenanigans.
+
/obj/item/projectile/energy/phoron
name = "phoron bolt"
icon_state = "energy"
diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi
index 2d8bfc670d..12d3579b30 100644
Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ
diff --git a/icons/mob/96x96.dmi b/icons/mob/96x96.dmi
index f1f7fac7b5..561553c048 100644
Binary files a/icons/mob/96x96.dmi and b/icons/mob/96x96.dmi differ
diff --git a/icons/mob/alien.dmi b/icons/mob/alien.dmi
index f00110275d..a02947291d 100644
Binary files a/icons/mob/alien.dmi and b/icons/mob/alien.dmi differ
diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi
index 45819578c2..8809ab64b2 100644
Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ