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