Body and Soul of Steel: the Tesla Rejuvenation Suit (#15590)

This commit is contained in:
Alberyk
2023-01-20 16:30:49 +01:00
committed by GitHub
parent caff4bf52d
commit 37ea1a24ea
26 changed files with 554 additions and 13 deletions
@@ -1907,7 +1907,7 @@ Follow by example and make good judgement based on length which list to include
icon_state = "bald"
gender = NEUTER
species_allowed = list(/datum/species/human,/datum/species/human/offworlder,/datum/species/machine/shell,/datum/species/machine/shell/rogue,/datum/species/zombie,/datum/species/unathi,/datum/species/zombie/unathi,
/datum/species/tajaran,/datum/species/tajaran/zhan_khazan,/datum/species/tajaran/m_sai,/datum/species/zombie/tajara,/datum/species/skrell,/datum/species/skrell/axiori,/datum/species/zombie/skrell,/datum/species/diona,
/datum/species/tajaran,/datum/species/tajaran/zhan_khazan,/datum/species/tajaran/m_sai,/datum/species/tajaran/tesla_body,/datum/species/zombie/tajara,/datum/species/skrell,/datum/species/skrell/axiori,/datum/species/zombie/skrell,/datum/species/diona,
/datum/species/diona/coeu, /datum/species/bug/type_b)
threeOclock
@@ -3143,6 +3143,285 @@ Follow by example and make good judgement based on length which list to include
length = 3
chatname = "styled mane"
//tesla rejuvenation suit hair
tesla_ears
icon = 'icons/mob/human_face/tesla_body_hair.dmi'
name = "Tesla Rejuvenation Suit Ears"
icon_state = "ears_plain"
length = 1
species_allowed = list(/datum/species/tajaran/tesla_body)
tesla_ears_bangs
name = "Tesla Rejuvenation Suit Bangs"
icon_state = "hair_bangs"
length = 3
chatname = "bangs"
tesla_ears_bangs_alt
name = "Tesla Rejuvenation Suit Bangs Alt"
icon_state = "hair_bangs_alt"
length = 3
chatname = "short bangs"
tesla_ears_shortfringe
name = "Tesla Rejuvenation Suit Short Fringe"
icon_state = "hair_shortfringe"
length = 2
chatname = "short fringe"
tesla_ears_bob
name = "Tesla Rejuvenation Suit Bob"
icon_state = "hair_bob"
length = 2
chatname = "groomed short mane"
tesla_ears_braid
name = "Tesla Rejuvenation Suit Braid"
icon_state = "hair_braid"
length = 3
chatname = "braid"
tesla_ears_braid_alt
name = "Tesla Rejuvenation Suit Braid Alt"
icon_state = "hair_braid_alt"
length = 3
chatname = "braid"
tesla_ears_clean
name = "Tesla Rejuvenation Suit Clean"
icon_state = "hair_clean"
length = 1
chatname = "short mane"
tesla_ears_curls
name = "Tesla Rejuvenation Suit Curly"
icon_state = "hair_curly"
length = 3
chatname = "curly mane"
tesla_ears_curlsalt
name = "Tesla Rejuvenation Suit Curly Alt"
icon_state = "hair_curlyalt"
length = 3
chatname = "curly mane"
tesla_ears_fingercurl
name = "Tesla Rejuvenation Suit Finger Curls"
icon_state = "hair_fingerwave"
length = 2
chatname = "curls"
tesla_ears_housewife
name = "Tesla Rejuvenation Suit Housewife"
icon_state = "hair_housewife"
length = 2
chatname = "long mane"
tesla_ears_long
name = "Tesla Rejuvenation Suit Long"
icon_state = "hair_long"
length = 3
chatname = "long mane"
tesla_ears_messy
name = "Tesla Rejuvenation Suit Messy"
icon_state = "hair_messy"
length = 1
chatname = "messy mane"
tesla_ears_mohawk
name = "Tesla Rejuvenation Suit Mohawk"
icon_state = "hair_mohawk"
length = 1
chatname = "mohawk"
tesla_ears_plait
name = "Tesla Rejuvenation Suit Plait"
icon_state = "hair_plait"
length = 1
chatname = "braid"
tesla_ears_rattail
name = "Tesla Rejuvenation Suit Rat Tail"
icon_state = "hair_rattail"
length = 2
chatname = "thin ponytail"
tesla_ears_shaggy
name = "Tesla Rejuvenation Suit Shaggy"
icon_state = "hair_shaggy"
length = 1
chatname = "messy mane"
tesla_ears_straight
name = "Tesla Rejuvenation Suit Straight"
icon_state = "hair_straight"
length = 3
chatname = "short mane"
tesla_ears_spiky
name = "Tesla Rejuvenation Suit Spiky"
icon_state = "hair_spiky"
length = 1
chatname = "spiky mane"
tesla_ears_victory
name = "Tesla Rejuvenation Suit Victory Curls"
icon_state = "hair_victory"
length = 3
chatname = "curls"
tesla_ears_mane
name = "Tesla Rejuvenation Suit Mane"
icon_state = "hair_mane"
length = 3
gender = MALE
chatname = "long mane"
tesla_ears_sidepony
name = "Tesla Rejuvenation Suit Side Ponytail"
icon_state = "hair_sidepony"
length = 3
chatname = "sideponytail"
tesla_ears_governmentman
name = "Tesla Rejuvenation Suit Government Man"
icon_state = "hair_gman"
length = 1
chatname = "styled mane"
tesla_ears_bun
name = "Tesla Rejuvenation Suit Bun"
icon_state = "hair_bun"
length = 2
chatname = "hair bun"
tesla_ears_smallbun
name = "Tesla Rejuvenation Suit Bun (Small)"
icon_state = "hair_bunsmall"
length = 2
chatname = "hair bun"
tesla_ears_lowbun
name = "Tesla Rejuvenation Suit Bun (Low)"
icon_state = "hair_lowbun"
length = 2
chatname = "hair bun"
tesla_ears_smalllowbun
name = "Tesla Rejuvenation Suit Bun (Low, Small)"
icon_state = "hair_lowbunsmall"
length = 2
chatname = "hair bun"
tesla_ears_bunshort
name = "Tesla Rejuvenation Suit Bun (Short)"
icon_state = "hair_bunshort"
length = 2
chatname = "hair bun"
tesla_ears_wedge
name = "Tesla Rejuvenation Suit Wedge"
icon_state = "hair_wedge"
length = 2
chatname = "styled mane"
tesla_ears_tresses
name = "Tesla Rejuvenation Suit Tresses"
icon_state = "hair_tresses"
length = 3
chatname = "styled mane"
tesla_ears_shoulderparted
name = "Tesla Rejuvenation Suit Shoulder Parted"
icon_state = "hair_shoulderparted"
length = 3
chatname = "styled mane"
tesla_ears_shoulderpartedsmall
name = "Tesla Rejuvenation Suit Shoulder Parted Small"
icon_state = "hair_shoulderpartedsmall"
length = 3
chatname = "styled mane"
tesla_ears_shoulderpartedlong
name = "Tesla Rejuvenation Suit Shoulder Parted Long"
icon_state = "hair_shoulderpartedlong"
length = 3
chatname = "styled mane"
tesla_ears_shoulderlength
name = "Tesla Rejuvenation Suit Shoulderlength"
icon_state = "hair_shoulderlength"
length = 2
chatname = "styled mane"
tesla_ears_shoulderlengthalt
name = "Tesla Rejuvenation Suit Shoulderlength Alt"
icon_state = "hair_shoulderlengthalt"
length = 2
chatname = "styled mane"
tesla_ears_sidepartedleft
name = "Tesla Rejuvenation Suit Sideparted Left"
icon_state = "hair_sidepartedleft"
length = 3
chatname = "styled mane"
tesla_ears_sidepartedright
name = "Tesla Rejuvenation Suit Sideparted Right"
icon_state = "hair_sidepartedright"
length = 3
chatname = "styled mane"
tesla_ears_fringeup
name = "Tesla Rejuvenation Suit Fringe Up"
icon_state = "hair_fringeup"
length = 2
chatname = "styled mane"
tesla_ears_cascading
name = "Tesla Rejuvenation Suit Cascading"
icon_state = "hair_cascading"
length = 3
chatname = "styled mane"
taj_ears_cascadingalt
name = "Tesla Rejuvenation Suit Cascading Alt"
icon_state = "hair_cascadingalt"
length = 3
chatname = "styled mane"
taj_ears_swoop
name = "Tesla Rejuvenation Suit Swoop"
icon_state = "hair_swoop"
length = 2
chatname = "styled mane"
tesla_ears_swoop_alt
name = "Tesla Rejuvenation Suit Swoop Alt"
icon_state = "hair_swoop_alt"
length = 2
chatname = "styled mane"
tesla_ears_swoop_bangs
name = "Tesla Rejuvenation Suit Swoop Bangs"
icon_state = "hair_swoop_bangs"
length = 2
chatname = "styled mane"
tesla_ears_swoop_long
name = "Tesla Rejuvenation Suit Swoop Long"
icon_state = "hair_longswoop"
length = 3
chatname = "styled mane"
tesla_ears_swoop_long_alt
name = "Tesla Rejuvenation Suit Swoop Long Alt"
icon_state = "hair_longswoop_alt"
length = 3
chatname = "styled mane"
//vaurca antennae
vaurca_classic
icon = 'icons/mob/human_face/vaurca_hair.dmi'
@@ -3354,6 +3633,37 @@ Follow by example and make good judgement based on length which list to include
name = "Tajara Smallsatche"
icon_state = "facial_smallstache"
/datum/sprite_accessory/facial_hair
tesla_body_goatee
icon = 'icons/mob/human_face/tesla_body_facial_hair.dmi'
name = "Tesla Rejuvenation Suit Goatee"
icon_state = "facial_goatee"
species_allowed = list(/datum/species/tajaran/tesla_body)
tesla_body_goatee_faded
name = "Tesla Rejuvenation Suit Goatee Faded"
icon_state = "facial_goatee_faded"
tesla_body_moustache
name = "Tesla Rejuvenation Suit Moustache"
icon_state = "facial_moustache"
tesla_body_mutton
name = "Tesla Rejuvenation Suit Mutton"
icon_state = "facial_mutton"
tesla_body_pencilstache
name = "Tesla Rejuvenation Suit Pencilstache"
icon_state = "facial_pencilstache"
tesla_body_sideburns
name = "Tesla Rejuvenation Suit Sideburns"
icon_state = "facial_sideburns"
tesla_body_smallstache
name = "Tesla Rejuvenation Suit Smallsatche"
icon_state = "facial_smallstache"
//unathi horn beards and the like
una_aquaticfrill
@@ -117,6 +117,10 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy/mannequin)
h_style = "Tajaran Ears"
. = ..(mapload, SPECIES_TAJARA_ZHAN)
/mob/living/carbon/human/tesla_body_tajara/Initialize(mapload)
h_style = "Tesla Rejuvenation Suit Ears"
. = ..(mapload, SPECIES_TAJARA_TESLA_BODY)
/mob/living/carbon/human/industrial/Initialize(mapload)
. = ..(mapload, SPECIES_IPC_G1)
@@ -263,4 +263,20 @@
attack_name = "warrior bite"
attack_verb = list("mauled", "lacerated")
damage = 10
desc = "Rip into an opponent with your warrior mandibles. Only possible if you aren't wearing a muzzle. Next to useless against someone in armour but the vicious attacks will shred someone without it into ribbons."
desc = "Rip into an opponent with your warrior mandibles. Only possible if you aren't wearing a muzzle. Next to useless against someone in armour but the vicious attacks will shred someone without it into ribbons."
/datum/unarmed_attack/tesla_body
attack_verb = list("pulverized", "crushed", "pounded", "squeezed")
attack_noun = list("industrial claw")
desc = "Smashes your enemy with your tesla powered industrial claws."
damage = 10
attack_sound = 'sound/weapons/beartrap_shut.ogg'
attack_name = "industrial claw"
shredding = TRUE
/datum/unarmed_attack/tesla_body/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
..()
user.visible_message(SPAN_DANGER("\The [user] crackles with energy!"))
if(iscarbon(target))
var/mob/living/carbon/L = target
L.electrocute_act(20,user, 1, user.zone_sel.selecting)
@@ -1,6 +1,6 @@
/datum/species/tajaran/zhan_khazan
name = SPECIES_TAJARA_ZHAN
name_plural = "Zhan-Khazan Tajaran"
name_plural = "Zhan-Khazan Tajara"
blurb = "The Zhan-Khazan are a race of Tajara known for their dark fur and large bulky figures. \
They were at one point a race of cave-and-mountain dwelling Tajara that traditionally were \
entrusted with physical work like mining, farming, ranching, and logging. Zhan-Khazan make \
@@ -48,7 +48,7 @@
/datum/species/tajaran/m_sai
name = SPECIES_TAJARA_MSAI
name_plural = "M'sai Tajaran"
name_plural = "M'sai Tajara"
blurb = "The M'sai are a race of Tajara with slender lithe bodies and \
lightly covered fur which blends in with the snowy environments of Adhomai. \
They aren't as well-insulated against Adhomai's cold as their brethren. \
@@ -89,4 +89,118 @@
possible_cultures = list(
/singleton/origin_item/culture/adhomian/msai,
/singleton/origin_item/culture/offworld_tajara/msai
)
)
/datum/species/tajaran/tesla_body
name = SPECIES_TAJARA_TESLA_BODY
name_plural = "Tesla Rejuvenation Suit Tajara"
name_plural = "Created as part of the Tesla prosthetics program, the Tesla Rejuvenation Suit is a hulking suit that allows disabled Tajara to regain their vigor. \
Its users are surgically grafted in the machine; their limbs are replaced by large, industrial replacements; their organs are placed in a tank full of healing chemicals \
located inside their chest, and finally, a big tesla spine is installed. Only the head remains untouched. The suits are bulky and clumsy, restricting their wearers to jobs \
involving weight lifting and other menial tasks. Since this invention is still in its early stage, reports of it malfunctioning or causing pain to its user are not unheard off; \
however, the government is quick to claim that these are only subversive rumors. Because of extensive augmentation, Tajaran in these suits reports loss of sensations everywhere \
except the face. The Rejuvenation Suit is only granted to loyal Hadiist Tajara living in the People's Republic. Tajara wearing it are colloquially called \"steelsuits\"."
spawn_flags = IS_RESTRICTED
bodytype = BODYTYPE_TESLA_BODY
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_SKIN_COLOR | HAS_EYE_COLOR
icon_x_offset = -8
healths_x = 22
healths_overlay_x = 9
floating_chat_x_offset = 6
slowdown = 1
fall_mod = 1.2
grab_mod = 3
resist_mod = 10
break_cuffs = TRUE
mob_size = 25
default_h_style = "Tesla Rejuvenation Suit Ears"
eyes_icons = 'icons/mob/human_face/eyes48x48.dmi'
eyes = "eyes_tesla_body"
icon_template = 'icons/mob/human_races/tajara/r_tesla_body.dmi'
icobase = 'icons/mob/human_races/tajara/r_tesla_body.dmi'
deform = 'icons/mob/human_races/tajara/r_tesla_body.dmi'
preview_icon = 'icons/mob/human_races/tajara/tesla_body_preview.dmi'
canvas_icon = 'icons/mob/base_48.dmi'
bandages_icon = null
tail = null
tail_animation = null
unarmed_types = list(
/datum/unarmed_attack/stomp,
/datum/unarmed_attack/tesla_body,
/datum/unarmed_attack/bite/sharp
)
maneuvers = list(
/singleton/maneuver/leap/tesla_body
)
damage_overlays = 'icons/mob/human_races/masks/dam_mask_tesla_body.dmi'
damage_mask = 'icons/mob/human_races/masks/dam_mask_tesla_body.dmi'
blood_mask = 'icons/mob/human_races/masks/blood_tesla_body.dmi'
stamina = 30
stamina_recovery = 3
sprint_speed_factor = 0.25
sprint_cost_factor = 0.25
standing_jump_range = 1
injection_mod = 2
has_fine_manipulation = FALSE
bodyfall_sound = /singleton/sound_category/bodyfall_machine_sound
has_organ = list(
BP_HEART = /obj/item/organ/internal/heart/tajara/tesla_body,
BP_LUNGS = /obj/item/organ/internal/lungs/tajara,
BP_LIVER = /obj/item/organ/internal/liver/tajara,
BP_KIDNEYS = /obj/item/organ/internal/kidneys/tajara,
BP_STOMACH = /obj/item/organ/internal/stomach/tajara,
BP_BRAIN = /obj/item/organ/internal/brain/tajara,
BP_APPENDIX = /obj/item/organ/internal/appendix/tajara,
BP_EYES = /obj/item/organ/internal/eyes/night,
BP_AUG_TESLA = /obj/item/organ/internal/augment/tesla/massive
)
has_limbs = list(
BP_CHEST = list("path" = /obj/item/organ/external/chest/tesla_body),
BP_GROIN = list("path" = /obj/item/organ/external/groin/tesla_body),
BP_HEAD = list("path" = /obj/item/organ/external/head),
BP_L_ARM = list("path" = /obj/item/organ/external/arm/tesla_body),
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right/tesla_body),
BP_L_LEG = list("path" = /obj/item/organ/external/leg/tesla_body),
BP_R_LEG = list("path" = /obj/item/organ/external/leg/right/tesla_body),
BP_L_HAND = list("path" = /obj/item/organ/external/hand/tesla_body),
BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/tesla_body),
BP_L_FOOT = list("path" = /obj/item/organ/external/foot/tesla_body),
BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/tesla_body)
)
bump_flag = HEAVY
swap_flags = ~HEAVY
push_flags = (~HEAVY) ^ ROBOT
/datum/species/tajaran/tesla_body/New()
..()
equip_adjust = list(
slot_head_str = list( "[EAST]" = list("x" = 16, "y" = 0), "[SOUTH]" = list("x" = 9, "y" = 0), "[WEST]" = list("x" = 0, "y" = 0)),
slot_glasses_str = list( "[EAST]" = list("x" = 15, "y" = 0), "[SOUTH]" = list("x" = 9, "y" = 0), "[WEST]" = list("x" = 1, "y" = 0)),
slot_l_hand_str = list("[NORTH]" = list("x" = 6, "y" = 0), "[EAST]" = list("x" = 9, "y" = 2), "[SOUTH]" = list("x" = 12, "y" = 0), "[WEST]" = list("x" = 4, "y" = 0)),
slot_r_hand_str = list("[NORTH]" = list("x" = 12, "y" = 0), "[EAST]" = list("x" = 12, "y" = 0), "[SOUTH]" = list("x" = 6, "y" = 0), "[WEST]" = list("x" = 7, "y" = 2)),
slot_l_ear_str = list( "[EAST]" = list("x" = 0, "y" = 0), "[SOUTH]" = list("x" = 9, "y" = 0), "[WEST]" = list("x" = 0, "y" = 0)),
slot_r_ear_str = list( "[EAST]" = list("x" = 16, "y" = 0), "[SOUTH]" = list("x" = 9, "y" = 0), "[WEST]" = list("x" = 0, "y" = 0)),
slot_belt_str = list("[NORTH]" = list("x" = 9, "y" = 2), "[EAST]" = list("x" = 10, "y" = 1), "[SOUTH]" = list("x" = 9, "y" = 2), "[WEST]" = list("x" = 6, "y" = 1)),
slot_wear_id_str = list("[NORTH]" = list("x" = 0, "y" = 0), "[EAST]" = list("x" = 12, "y" = 0), "[SOUTH]" = list("x" = 9, "y" = 0), "[WEST]" = list("x" = 0, "y" = 0)),
slot_wrists_str = list("[NORTH]" = list("x" = 15, "y" = 0), "[EAST]" = list("x" = 12, "y" = 0), "[SOUTH]" = list("x" = 4, "y" = 0), "[WEST]" = list("x" = 9, "y" = 0)),
slot_shoes_str = list("[NORTH]" = list("x" = 9, "y" = 0), "[EAST]" = list("x" = 8, "y" = 0), "[SOUTH]" = list("x" = 9, "y" = 0), "[WEST]" = list("x" = 8, "y" = 0))
)
/datum/species/tajaran/tesla_body/can_double_fireman_carry()
return TRUE
@@ -109,4 +109,9 @@
/singleton/maneuver/leap/tajara/msai
delay = 1 SECOND
cooldown = 4 SECONDS
cooldown = 4 SECONDS
/singleton/maneuver/leap/tesla_body
cooldown = 20 SECONDS
delay = 4 SECONDS
stamina_cost = 30