Wryn removal v2 (#19112)

* Removes Wryn

* and the sprites

* Fixes

Co-authored-by: Fox McCloud <Fox-McCloud@users.noreply.github.com>
This commit is contained in:
AffectedArc07
2022-09-24 12:53:34 +01:00
committed by GitHub
parent 0efd7c6c50
commit 34927f05ab
16 changed files with 7 additions and 248 deletions

View File

@@ -572,7 +572,7 @@
s_tone = random_skin_tone(species)
h_style = random_hair_style(gender, species, robohead)
f_style = random_facial_hair_style(gender, species, robohead)
if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Wryn", "Vulpkanin", "Vox"))
if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox"))
randomize_hair_color("hair")
randomize_hair_color("facial")
if(S.bodyflags & HAS_HEAD_ACCESSORY)

View File

@@ -137,18 +137,18 @@
if("age")
active_character.age = rand(AGE_MIN, AGE_MAX)
if("hair")
if(active_character.species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Wryn", "Vulpkanin", "Vox"))
if(active_character.species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox"))
active_character.h_colour = rand_hex_color()
if("secondary_hair")
if(active_character.species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Wryn", "Vulpkanin", "Vox"))
if(active_character.species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox"))
active_character.h_sec_colour = rand_hex_color()
if("h_style")
active_character.h_style = random_hair_style(active_character.gender, active_character.species, robohead)
if("facial")
if(active_character.species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Wryn", "Vulpkanin", "Vox"))
if(active_character.species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox"))
active_character.f_colour = rand_hex_color()
if("secondary_facial")
if(active_character.species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Wryn", "Vulpkanin", "Vox"))
if(active_character.species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox"))
active_character.f_sec_colour = rand_hex_color()
if("f_style")
active_character.f_style = random_facial_hair_style(active_character.gender, active_character.species, robohead)

View File

@@ -114,7 +114,7 @@
//Set species_restricted list
switch(target_species)
if("Human", "Skrell") //humanoid bodytypes
species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox","Wryn","Drask")
species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox","Drask")
else
species_restricted = list(target_species)
@@ -635,7 +635,6 @@ BLIND // can't see anything
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
heat_protection = HEAD
max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT
species_restricted = list("exclude","Wryn")
flash_protect = FLASH_PROTECTION_WELDER
strip_delay = 50
put_on_delay = 50
@@ -665,7 +664,6 @@ BLIND // can't see anything
put_on_delay = 80
resistance_flags = NONE
hide_tail_by_species = null
species_restricted = list("exclude","Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
)

View File

@@ -21,7 +21,6 @@
var/datum/looping_sound/geiger/soundloop
//Species-specific stuff.
species_restricted = list("exclude","Wryn")
sprite_sheets = list(
"Unathi" = 'icons/mob/clothing/species/unathi/helmet.dmi',
"Tajaran" = 'icons/mob/clothing/species/tajaran/helmet.dmi',
@@ -155,7 +154,6 @@
var/obj/item/tank/jetpack/suit/jetpack = null
hide_tail_by_species = list("Vox" , "Vulpkanin" , "Unathi" , "Tajaran")
species_restricted = list("exclude", "Wryn")
sprite_sheets = list(
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',

View File

@@ -7,7 +7,6 @@
flags_inv = HIDEFACE
permeability_coefficient = 0.01
armor = list(MELEE = 35, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 50, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY)
species_restricted = list("exclude", "Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/helmet.dmi',
@@ -31,7 +30,6 @@
w_class = WEIGHT_CLASS_BULKY
allowed = list(/obj/item/tank/internals, /obj/item/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/restraints/handcuffs)
armor = list(MELEE = 35, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 50, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY)
species_restricted = list("exclude", "Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
@@ -75,7 +73,6 @@
armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 50, BIO = 450, RAD = 10, FIRE = INFINITY, ACID = INFINITY)
strip_delay = 120
resistance_flags = FIRE_PROOF | ACID_PROOF
species_restricted = list("exclude", "Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
@@ -179,7 +176,6 @@
desc = "A brand new paramedic EVA helmet. It seems to mold to your head shape. Used for retrieving bodies in space."
icon_state = "paramedic-eva-helmet"
item_state = "paramedic-eva-helmet"
species_restricted = list("exclude", "Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/helmet.dmi',
@@ -199,7 +195,6 @@
icon_state = "paramedic-eva"
item_state = "paramedic-eva"
desc = "A brand new paramedic EVA suit. The nitrile seems a bit too thin to be space proof. Used for retrieving bodies in space."
species_restricted = list("exclude", "Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
@@ -219,7 +214,6 @@
item_state = "s_suit"
desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies."
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = INFINITY, RAD = 10, FIRE = 50, ACID = 95)
species_restricted = list("exclude", "Wryn")
sprite_sheets = list(
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
@@ -242,7 +236,7 @@
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = INFINITY, RAD = 10, FIRE = 50, ACID = 95)
flash_protect = FLASH_PROTECTION_NONE
species_restricted = list("exclude", "Wryn")
sprite_sheets = list(
"Tajaran" = 'icons/mob/clothing/species/tajaran/helmet.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/helmet.dmi',
@@ -262,7 +256,6 @@
desc = ". . ."
icon_state = "spacemimehelmet"
item_state = "spacemimehelmet"
species_restricted = list("exclude","Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/helmet.dmi')
sprite_sheets_obj = null
@@ -273,7 +266,6 @@
desc = ". . ."
icon_state = "spacemime_suit"
item_state = "spacemime_items"
species_restricted = list("exclude","Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
sprite_sheets_obj = null
@@ -284,7 +276,6 @@
desc = "An EVA helmet specifically designed for the clown. SPESSHONK!"
icon_state = "clownhelmet"
item_state = "clownhelmet"
species_restricted = list("exclude","Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/helmet.dmi')
sprite_sheets_obj = null
@@ -295,7 +286,6 @@
desc = "An EVA suit specifically designed for the clown. SPESSHONK!"
icon_state = "spaceclown_suit"
item_state = "spaceclown_items"
species_restricted = list("exclude","Wryn")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
sprite_sheets_obj = null

View File

@@ -477,26 +477,6 @@
"tizan","chka","tagan","dobry","okt","boda","veta","idi","cyk","blyt","hui","na",
"udi","litchki","casa","linka","toly","anatov","vich","vech","vuch","toi","ka","vod")
/datum/language/wryn
name = "Wryn Hivemind"
desc = "Wryn have the strange ability to commune over a psychic hivemind."
speech_verb = "chitters"
ask_verb = "chitters"
exclaim_verbs = list("buzzes")
colour = "alien"
key = "y"
flags = RESTRICTED | HIVEMIND | NOBABEL
follow = TRUE
/datum/language/wryn/check_special_condition(mob/other)
var/mob/living/carbon/M = other
if(!istype(M))
return TRUE
if(locate(/obj/item/organ/internal/wryn/hivenode) in M.internal_organs)
return TRUE
return FALSE
/datum/language/xenocommon
name = "Xenomorph"
colour = "alien"

View File

@@ -120,12 +120,6 @@ GLOBAL_LIST_INIT(body_accessory_by_species, list())
animated_icon_state = "straightbushy_a"
allowed_species = list("Vulpkanin")
//Wryn
/datum/body_accessory/tail/wryn
name = "Bee Tail"
icon_state = "wryntail"
allowed_species = list("Wryn")
//Moth wings
/datum/body_accessory/wing
icon = 'icons/mob/sprite_accessories/moth/moth_wings.dmi'

View File

@@ -140,9 +140,6 @@
/mob/living/carbon/human/golem/Initialize(mapload)
. = ..(mapload, /datum/species/golem)
/mob/living/carbon/human/wryn/Initialize(mapload)
. = ..(mapload, /datum/species/wryn)
/mob/living/carbon/human/nucleation/Initialize(mapload)
. = ..(mapload, /datum/species/nucleation)

View File

@@ -1,175 +0,0 @@
/datum/species/wryn
name = "Wryn"
name_plural = "Wryn"
icobase = 'icons/mob/human_races/r_wryn.dmi'
blacklisted = TRUE
language = "Wryn Hivemind"
tail = "wryntail"
punchdamagelow = 0
punchdamagehigh = 1
speed_mod = 1
warning_low_pressure = -300
hazard_low_pressure = 1
blurb = "The wryn (r-in, singular r-in) are a humanoid race that possess many bee-like features. Originating from Alveare they \
have adapted extremely well to cold environments though have lost most of their muscles over generations.\
In order to communicate and work with multi-species crew Wryn were forced to take on names. Wryn have tended towards using only \
first names, these names are generally simplistic and easy to pronounce. Wryn have rarely had to communicate using their mouths, \
so in order to integrate with the multi-species crew they have been taught broken sol?."
cold_level_1 = 200 //Default 260 - Lower is better
cold_level_2 = 150 //Default 200
cold_level_3 = 115 //Default 120
heat_level_1 = 300 //Default 360 - Higher is better
heat_level_2 = 310 //Default 400
heat_level_3 = 317 //Default 1000
body_temperature = 286
has_organ = list(
"heart" = /obj/item/organ/internal/heart,
"brain" = /obj/item/organ/internal/brain,
"eyes" = /obj/item/organ/internal/eyes/wryn, //3 darksight.
"appendix" = /obj/item/organ/internal/appendix,
"antennae" = /obj/item/organ/internal/wryn/hivenode
)
species_traits = list(LIPS, IS_WHITELISTED, NO_CLONESCAN, NO_HAIR, HIVEMIND)
inherent_traits = list(TRAIT_NOBREATH)
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
bodyflags = HAS_SKIN_COLOR
dietflags = DIET_HERB //bees feed off nectar, so bee people feed off plants too
dies_at_threshold = TRUE
reagent_tag = PROCESS_ORG
base_color = "#704300"
flesh_color = "#704300"
blood_color = "#FFFF99"
//Default styles for created mobs.
default_hair = "Antennae"
var/datum/action/innate/wryn_sting/wryn_sting
/datum/species/wryn/on_species_gain(mob/living/carbon/human/H)
..()
wryn_sting = new
wryn_sting.Grant(H)
/datum/species/wryn/on_species_loss(mob/living/carbon/human/H)
..()
if(wryn_sting)
wryn_sting.Remove(H)
/* Wryn Sting Action Begin */
//Define the Sting Action
/datum/action/innate/wryn_sting
name = "Wryn Sting"
desc = "Readies Wryn Sting for stinging."
button_icon_state = "wryn_sting_off" //Default Button State
check_flags = AB_CHECK_LYING | AB_CHECK_CONSCIOUS | AB_CHECK_STUNNED
var/button_on = FALSE
//What happens when you click the Button?
/datum/action/innate/wryn_sting/Trigger()
if(!..())
return
var/mob/living/carbon/user = owner
if((user.restrained() && user.pulledby) || user.buckled) //Is your Wryn restrained, pulled, or buckled? No stinging!
to_chat(user, "<span class='notice'>You need freedom of movement to sting someone!</span>")
return
if(user.wear_suit) //Is your Wryn wearing a Hardsuit or a Laboat that's blocking their Stinger?
to_chat(user, "<span class='notice'>You must remove your hardsuit, labcoat, or jacket before using your Wryn stinger.</span>")
return
if(user.getStaminaLoss() >= 50) //Does your Wryn have enough Stamina to sting?
to_chat(user, "<span class='notice'>You feel too tired to use your Wryn Stinger at the moment.</span>")
return
else
button_on = TRUE
UpdateButtonIcon()
select_target(user)
//Update the Button Icon
/datum/action/innate/wryn_sting/UpdateButtonIcon()
if(button_on)
button_icon_state = "wryn_sting_on"
name = "Wryn Stinger \[READY\]"
button.name = name
else
button_icon_state = "wryn_sting_off"
name = "Wryn Stinger"
button.name = name
..()
//Select a Target from a List
/datum/action/innate/wryn_sting/proc/select_target(mob/living/carbon/human/user)
var/list/names = list()
for(var/mob/living/carbon/human/M in orange(1))
names += M
var/target = input("Select a Target: ", "Sting Target", null) as null|anything in names
if(!target) //No one's around!
to_chat(user, "<span class='warning'>There's no one around to sting so you retract your stinger.</span>")
user.visible_message("<span class='warning'[user] retracts their stinger.</span>")
button_on = FALSE
UpdateButtonIcon()
return
else //Get ready, aim, fire!
user.visible_message("<span class='warning'> [user] prepares to use their Wryn stinger!</span>")
sting_target(user, target)
return
//What does the Wryn Sting do?
/datum/action/innate/wryn_sting/proc/sting_target(mob/living/carbon/human/user, mob/living/carbon/human/target)
button_on = FALSE //For when we Update the Button Icon
if(!(target in orange(1, user))) //Dang, did they get away?
to_chat(user, "<span class='warning'>You are no longer adjacent to [target]. You retract your stinger for now.</span>")
user.visible_message("<span class='warning'[user] retracts their stinger.</span>")
UpdateButtonIcon()
return
else //Nah, that chump is still here! Sting 'em! Sting 'em good!
var/obj/item/organ/external/organ = target.get_organ(pick("l_leg", "r_leg", "l_foot", "r_foot", "groin"))
to_chat(user, "<span class='danger'> You sting [target] in their [organ] with your stinger!</span>")
user.visible_message("<span class='danger'>[user] stings [target] in [organ] with their stinger! </span>")
user.adjustStaminaLoss(20) //You can't sting infinitely, Wryn - take some Stamina loss
var/dam = rand(3, 7)
target.apply_damage(dam, BRUTE, organ)
playsound(user.loc, 'sound/weapons/bladeslice.ogg', 50, 0)
add_attack_logs(user, target, "Stung by Wryn Stinger - [dam] Brute damage to [organ].")
if(target.restrained()) //Apply tiny BURN damage if target is restrained
if(prob(50))
user.apply_damage(2, BURN, target)
to_chat(target, "<span class='danger'>You feel a little burnt! Yowch!</span>")
user.visible_message("<span class='danger'>[user] is looking a little burnt!</span>")
UpdateButtonIcon()
return
/* Wryn Sting Action End */
/datum/species/wryn/handle_death(gibbed, mob/living/carbon/human/H)
for(var/mob/living/carbon/C in GLOB.alive_mob_list)
if(C.get_int_organ(/obj/item/organ/internal/wryn/hivenode))
to_chat(C, "<span class='danger'><B>Your antennae tingle as you are overcome with pain...</B></span>")
to_chat(C, "<span class='danger'>It feels like part of you has died.</span>") // This is bullshit
/datum/species/wryn/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
if(target.handcuffed && target.get_int_organ(/obj/item/organ/internal/wryn/hivenode))
user.visible_message("<span class='notice'>[user] begins to violently pull off [target]'s antennae.</span>")
to_chat(target, "<span class='danger'><B>[user] grips your antennae and starts violently pulling!<B></span>")
if(do_mob(user, target, 250))
var/obj/item/organ/internal/wryn/hivenode/node = new /obj/item/organ/internal/wryn/hivenode
target.remove_language("Wryn Hivemind")
node.remove(target)
node.forceMove(user.loc)
to_chat(user, "<span class='notice'>You hear a loud crunch as you mercilessly pull off [target]'s antennae.</span>")
to_chat(target, "<span class='danger'>You hear a loud crunch as your antennae is ripped off your head by [user].</span>")
to_chat(target, "<span class='danger'><B>It's so quiet...</B></span>")
var/obj/item/organ/external/head/head_organ = target.get_organ("head")
head_organ.h_style = "Bald"
target.update_hair()
add_attack_logs(user, target, "Antennae removed")
return 0
else
..()

View File

@@ -1,8 +0,0 @@
/datum/sprite_accessory/hair/wryn
icon = 'icons/mob/sprite_accessories/wryn/wryn_face.dmi'
species_allowed = list("Wryn")
glasses_over = 1
/datum/sprite_accessory/hair/wryn/wry_antennae_default
name = "Antennae"
icon_state = "antennae"

View File

@@ -1,11 +0,0 @@
//WRYN ORGAN
/obj/item/organ/internal/wryn/hivenode
name = "antennae"
organ_tag = "antennae"
icon = 'icons/mob/human_races/r_wryn.dmi'
icon_state = "antennae"
parent_organ = "head"
slot = "hivenode"
/obj/item/organ/internal/eyes/wryn
see_in_dark = 3