diff --git a/aurorastation.dme b/aurorastation.dme index 7522fb52171..51b32ab25f6 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -2608,6 +2608,7 @@ #include "code\modules\organs\subtypes\parasite.dm" #include "code\modules\organs\subtypes\skrell.dm" #include "code\modules\organs\subtypes\standard.dm" +#include "code\modules\organs\subtypes\tajara.dm" #include "code\modules\organs\subtypes\techno_golem.dm" #include "code\modules\organs\subtypes\unbreakable.dm" #include "code\modules\organs\subtypes\vaurca.dm" diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index f464dc9f16d..ffcb2eae1d7 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -403,6 +403,7 @@ #define PROSTHETIC_DIONA "Unknown Model" #define PROSTHETIC_AUTAKH "Aut'akh Manufactured" #define PROSTHETIC_TESLA "Tesla Powered Prosthetics" +#define PROSTHETIC_TESLA_BODY "Industrial Tesla Powered Prosthetics" #define PROSTHETIC_VAURCA "Vaurca Robotic Limb" //Brain Damage defines diff --git a/code/__defines/species.dm b/code/__defines/species.dm index d571de2f5b0..34bc7bea241 100644 --- a/code/__defines/species.dm +++ b/code/__defines/species.dm @@ -12,6 +12,7 @@ #define SPECIES_TAJARA "Tajara" #define SPECIES_TAJARA_ZHAN "Zhan-Khazan Tajara" #define SPECIES_TAJARA_MSAI "M'sai Tajara" +#define SPECIES_TAJARA_TESLA_BODY "Tesla Rejuvenation Suit Tajara" #define SPECIES_VAURCA_WORKER "Vaurca Worker" #define SPECIES_VAURCA_WARRIOR "Vaurca Warrior" @@ -80,6 +81,7 @@ #define BODYTYPE_UNATHI "Unathi" #define BODYTYPE_DIONA "Diona" #define BODYTYPE_TAJARA "Tajara" +#define BODYTYPE_TESLA_BODY "Tesla Rejuvenation Suit" #define BODYTYPE_VAURCA "Vaurca" #define BODYTYPE_VAURCA_BREEDER "Vaurca Breeder" @@ -101,4 +103,4 @@ SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_UNBRANDED, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, \ SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_TAJARA, \ SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, \ - SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) + SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER,) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index ea03bdd8260..273ee82ddf4 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -395,7 +395,7 @@ body_parts_covered = HANDS slot_flags = SLOT_GLOVES attack_verb = list("challenged") - species_restricted = list("exclude",BODYTYPE_UNATHI,BODYTYPE_TAJARA,BODYTYPE_VAURCA, BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK) + species_restricted = list("exclude",BODYTYPE_UNATHI,BODYTYPE_TAJARA,BODYTYPE_VAURCA, BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK,BODYTYPE_TESLA_BODY) drop_sound = 'sound/items/drop/gloves.ogg' pickup_sound = 'sound/items/pickup/gloves.ogg' @@ -505,7 +505,7 @@ slot_flags = SLOT_HEAD w_class = ITEMSIZE_SMALL uv_intensity = 50 //Light emitted by this object or creature has limited interaction with diona - species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM) + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM, BODYTYPE_TESLA_BODY) drop_sound = 'sound/items/drop/hat.ogg' pickup_sound = 'sound/items/pickup/hat.ogg' @@ -689,7 +689,7 @@ BODYTYPE_UNATHI = 'icons/mob/species/unathi/mask.dmi' ) - species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK) + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK, BODYTYPE_TESLA_BODY) var/voicechange = 0 var/list/say_messages @@ -806,7 +806,7 @@ permeability_coefficient = 0.50 force = 0 var/overshoes = 0 - species_restricted = list("exclude",BODYTYPE_UNATHI,BODYTYPE_TAJARA,BODYTYPE_VAURCA,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM) + species_restricted = list("exclude",BODYTYPE_UNATHI,BODYTYPE_TAJARA,BODYTYPE_VAURCA,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM, BODYTYPE_TESLA_BODY) var/silent = 0 var/last_trip = 0 @@ -952,7 +952,7 @@ var/blood_overlay_type = "suit" siemens_coefficient = 0.9 w_class = ITEMSIZE_NORMAL - species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM) + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM, BODYTYPE_TESLA_BODY) valid_accessory_slots = list(ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_GENERIC, ACCESSORY_SLOT_CAPE) @@ -1024,7 +1024,7 @@ var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled var/rolled_sleeves = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled var/initial_icon_override //If set, rolling up sleeves/rolling down will use this icon state instead of initial(). - species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_GOLEM) + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_GOLEM, BODYTYPE_TESLA_BODY) //convenience var for defining the icon state for the overlay used when the clothing is worn. //Also used by rolling/unrolling. diff --git a/code/modules/clothing/under/xenos/tajara.dm b/code/modules/clothing/under/xenos/tajara.dm index b8c73cf8116..50a22dbbf5f 100644 --- a/code/modules/clothing/under/xenos/tajara.dm +++ b/code/modules/clothing/under/xenos/tajara.dm @@ -345,3 +345,11 @@ desc = "A military uniform issued to officers of the adhomai liberation army." icon_state = "ala-officer" item_state = "ala-officer" + +/obj/item/clothing/under/tajaran/tesla_body + name = "tesla rejuvenation suit worker uniform" + desc = "A massive jumpsuit issued to Tajara grafted in Tesla Rejuvenation Suits." + icon_state = "tesla_body_jumpsuit" + item_state = "tesla_body_jumpsuit" + species_restricted = list(BODYTYPE_TESLA_BODY) + sprite_sheets = list(BODYTYPE_TESLA_BODY = 'icons/mob/species/tajaran/tesla_body/uniform.dmi') \ No newline at end of file diff --git a/code/modules/mob/abstract/new_player/sprite_accessories.dm b/code/modules/mob/abstract/new_player/sprite_accessories.dm index 9abe62fa365..84d41072af2 100644 --- a/code/modules/mob/abstract/new_player/sprite_accessories.dm +++ b/code/modules/mob/abstract/new_player/sprite_accessories.dm @@ -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 diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm index bcf196db25d..a6b71326962 100644 --- a/code/modules/mob/living/carbon/human/human_species.dm +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -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) diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm index 7f54b422888..d5caf141209 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack.dm @@ -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." \ No newline at end of file + 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) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/station/tajara/tajaran_subspecies.dm b/code/modules/mob/living/carbon/human/species/station/tajara/tajaran_subspecies.dm index 5afafcf6449..faea57f19b9 100644 --- a/code/modules/mob/living/carbon/human/species/station/tajara/tajaran_subspecies.dm +++ b/code/modules/mob/living/carbon/human/species/station/tajara/tajaran_subspecies.dm @@ -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 - ) \ No newline at end of file + ) + +/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 \ No newline at end of file diff --git a/code/modules/mob/living/maneuvers/maneuver_leap.dm b/code/modules/mob/living/maneuvers/maneuver_leap.dm index 863344d25fa..88083f74204 100644 --- a/code/modules/mob/living/maneuvers/maneuver_leap.dm +++ b/code/modules/mob/living/maneuvers/maneuver_leap.dm @@ -109,4 +109,9 @@ /singleton/maneuver/leap/tajara/msai delay = 1 SECOND - cooldown = 4 SECONDS \ No newline at end of file + cooldown = 4 SECONDS + +/singleton/maneuver/leap/tesla_body + cooldown = 20 SECONDS + delay = 4 SECONDS + stamina_cost = 30 \ No newline at end of file diff --git a/code/modules/organs/internal/species/tajara.dm b/code/modules/organs/internal/species/tajara.dm index a24efdc5edf..04e84b9d7d7 100644 --- a/code/modules/organs/internal/species/tajara.dm +++ b/code/modules/organs/internal/species/tajara.dm @@ -135,6 +135,9 @@ desc = "A robust heart capable of helping to preserve body temperature through blood circulation." icon = 'icons/obj/organs/tajara_organs.dmi' +/obj/item/organ/internal/heart/tajara/tesla_body + on_mob_icon = 'icons/mob/human_races/tesla_body_augments.dmi' + /obj/item/organ/internal/kidneys/tajara desc = "Alien kidneys adapted to the Tajaran physiology." icon = 'icons/obj/organs/tajara_organs.dmi' diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm index a1793627005..b08fbab1b5f 100644 --- a/code/modules/organs/robolimbs.dm +++ b/code/modules/organs/robolimbs.dm @@ -141,6 +141,13 @@ var/global/datum/robolimb/basic_robolimb else return TRUE +/datum/robolimb/tesla/industrial + company = PROSTHETIC_TESLA_BODY + desc = "A heavy version of the Tesla prosthetics created for the Tesla Rejuvenation Suit" + icon = 'icons/mob/human_races/tajara/industrial_tesla_limbs.dmi' + species_can_use = list(SPECIES_TAJARA_TESLA_BODY) + brute_mod = 0.7 + /datum/robolimb/vaurca company = PROSTHETIC_VAURCA desc = "This limb design is from old Sedantis, still manufactured by the Hives when providing maintenace to most of the basic Vaurcesian bioforms." diff --git a/code/modules/organs/subtypes/augment.dm b/code/modules/organs/subtypes/augment.dm index 183cb82553b..805b2a9d83c 100644 --- a/code/modules/organs/subtypes/augment.dm +++ b/code/modules/organs/subtypes/augment.dm @@ -273,6 +273,13 @@ playsound(owner, 'sound/magic/LightningShock.ogg', 75, 1) tesla_zap(owner, 7, 1500) +/obj/item/organ/internal/augment/tesla/massive + name = "massive tesla spine" + icon_state = "tesla_spine" + organ_tag = BP_AUG_TESLA + on_mob_icon = 'icons/mob/human_races/tesla_body_augments.dmi' + species_restricted = list(SPECIES_TAJARA_TESLA_BODY) + /obj/item/organ/internal/augment/eye_sensors name = "integrated HUD sensors" icon_state = "augment_eyes" diff --git a/code/modules/organs/subtypes/tajara.dm b/code/modules/organs/subtypes/tajara.dm new file mode 100644 index 00000000000..0d856e99af2 --- /dev/null +++ b/code/modules/organs/subtypes/tajara.dm @@ -0,0 +1,57 @@ +/obj/item/organ/external/chest/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/chest/tesla_body/Initialize() + . = ..() + mechassist() + +/obj/item/organ/external/groin/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/groin/tesla_body/Initialize() + . = ..() + mechassist() + +/obj/item/organ/external/arm/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/arm/right/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/leg/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/leg/right/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/foot/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/foot/right/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/hand/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY + +/obj/item/organ/external/hand/right/tesla_body + dislocated = -1 + encased = "support frame" + robotize_type = PROSTHETIC_TESLA_BODY \ No newline at end of file diff --git a/html/changelogs/alberyk-teslabody.yml b/html/changelogs/alberyk-teslabody.yml new file mode 100644 index 00000000000..62d4c52520a --- /dev/null +++ b/html/changelogs/alberyk-teslabody.yml @@ -0,0 +1,6 @@ +author: Alberyk, Atteria + +delete-after: True + +changes: + - rscadd: "Added the tesla rejuvenation suit as a currently unplayable species." \ No newline at end of file diff --git a/icons/mob/human_face/eyes48x48.dmi b/icons/mob/human_face/eyes48x48.dmi index 9ad3ad2203c..f9c00768225 100644 Binary files a/icons/mob/human_face/eyes48x48.dmi and b/icons/mob/human_face/eyes48x48.dmi differ diff --git a/icons/mob/human_face/tesla_body_facial_hair.dmi b/icons/mob/human_face/tesla_body_facial_hair.dmi new file mode 100644 index 00000000000..b2e4f7e6cf2 Binary files /dev/null and b/icons/mob/human_face/tesla_body_facial_hair.dmi differ diff --git a/icons/mob/human_face/tesla_body_hair.dmi b/icons/mob/human_face/tesla_body_hair.dmi new file mode 100644 index 00000000000..0c0ecf93b39 Binary files /dev/null and b/icons/mob/human_face/tesla_body_hair.dmi differ diff --git a/icons/mob/human_races/masks/blood_tesla_body.dmi b/icons/mob/human_races/masks/blood_tesla_body.dmi new file mode 100644 index 00000000000..ee484059d4b Binary files /dev/null and b/icons/mob/human_races/masks/blood_tesla_body.dmi differ diff --git a/icons/mob/human_races/masks/dam_mask_tesla_body.dmi b/icons/mob/human_races/masks/dam_mask_tesla_body.dmi new file mode 100644 index 00000000000..21b56fd4ca9 Binary files /dev/null and b/icons/mob/human_races/masks/dam_mask_tesla_body.dmi differ diff --git a/icons/mob/human_races/tajara/industrial_tesla_limbs.dmi b/icons/mob/human_races/tajara/industrial_tesla_limbs.dmi new file mode 100644 index 00000000000..417e8d12cd7 Binary files /dev/null and b/icons/mob/human_races/tajara/industrial_tesla_limbs.dmi differ diff --git a/icons/mob/human_races/tajara/r_tesla_body.dmi b/icons/mob/human_races/tajara/r_tesla_body.dmi new file mode 100644 index 00000000000..282264f0db8 Binary files /dev/null and b/icons/mob/human_races/tajara/r_tesla_body.dmi differ diff --git a/icons/mob/human_races/tajara/tesla_body_preview.dmi b/icons/mob/human_races/tajara/tesla_body_preview.dmi new file mode 100644 index 00000000000..a7e922e6373 Binary files /dev/null and b/icons/mob/human_races/tajara/tesla_body_preview.dmi differ diff --git a/icons/mob/human_races/tesla_body_augments.dmi b/icons/mob/human_races/tesla_body_augments.dmi new file mode 100644 index 00000000000..00a490743f0 Binary files /dev/null and b/icons/mob/human_races/tesla_body_augments.dmi differ diff --git a/icons/mob/species/tajaran/tesla_body/uniform.dmi b/icons/mob/species/tajaran/tesla_body/uniform.dmi new file mode 100644 index 00000000000..664a7b8ce65 Binary files /dev/null and b/icons/mob/species/tajaran/tesla_body/uniform.dmi differ diff --git a/icons/obj/tajara_items.dmi b/icons/obj/tajara_items.dmi index 95946ad48bc..bf391cedd84 100644 Binary files a/icons/obj/tajara_items.dmi and b/icons/obj/tajara_items.dmi differ