diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm index e27da1f94c3..887db4edbca 100644 --- a/code/__DEFINES/species.dm +++ b/code/__DEFINES/species.dm @@ -16,7 +16,8 @@ #define SPECIES_TAJARA_TESLA_BODY "Tesla Rejuvenation Suit Tajara" #define SPECIES_VAURCA_WORKER "Vaurca Worker" -#define SPECIES_VAURCA_WARRIOR "Vaurca Warrior" +#define SPECIES_VAURCA_WARRIOR "Vaurca Myrmidon" +#define SPECIES_VAURCA_ATTENDANT "Vaurca Attendant" #define SPECIES_VAURCA_BREEDER "Vaurca Breeder" #define SPECIES_VAURCA_WARFORM "Vaurca Warform" #define SPECIES_VAURCA_BULWARK "Vaurca Bulwark" @@ -90,6 +91,7 @@ #define BODYTYPE_VAURCA "Vaurca" #define BODYTYPE_VAURCA_BREEDER "Vaurca Breeder" #define BODYTYPE_VAURCA_BULWARK "Vaurca Bulwark" +#define BODYTYPE_VAURCA_ATTENDANT "Vaurca Attendant" #define BODYTYPE_VAURCA_WARFORM "Vaurca Warform" #define BODYTYPE_IPC "Machine" @@ -110,7 +112,7 @@ 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_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_ATTENDANT, SPECIES_VAURCA_BREEDER, \ ) #define ALL_HUMAN_SPECIES list(\ diff --git a/code/game/jobs/faction/hephaestus.dm b/code/game/jobs/faction/hephaestus.dm index 1860d96ac7d..ff59d508edd 100644 --- a/code/game/jobs/faction/hephaestus.dm +++ b/code/game/jobs/faction/hephaestus.dm @@ -22,6 +22,7 @@ /datum/species/unathi, /datum/species/bug = TRUE, /datum/species/bug/type_b = TRUE, + /datum/species/bug/type_b/type_bb = TRUE, /datum/species/bug/type_e = TRUE, /datum/species/tajaran, /datum/species/diona diff --git a/code/game/jobs/faction/orion_express.dm b/code/game/jobs/faction/orion_express.dm index 53109d0d3b3..a47497674fa 100644 --- a/code/game/jobs/faction/orion_express.dm +++ b/code/game/jobs/faction/orion_express.dm @@ -20,6 +20,7 @@ /datum/species/unathi, /datum/species/bug = TRUE, /datum/species/bug/type_b = TRUE, + /datum/species/bug/type_b/type_bb = TRUE, /datum/species/bug/type_e = TRUE, /datum/species/tajaran, /datum/species/diona diff --git a/code/game/jobs/faction/pmc.dm b/code/game/jobs/faction/pmc.dm index a4aa7284164..8a0b605531b 100644 --- a/code/game/jobs/faction/pmc.dm +++ b/code/game/jobs/faction/pmc.dm @@ -21,6 +21,7 @@ /datum/species/unathi, /datum/species/bug = TRUE, /datum/species/bug/type_b = TRUE, + /datum/species/bug/type_b/type_bb = TRUE, /datum/species/machine ) diff --git a/code/game/jobs/faction/zavodskoi.dm b/code/game/jobs/faction/zavodskoi.dm index 98b36d866d6..6f76a81a029 100644 --- a/code/game/jobs/faction/zavodskoi.dm +++ b/code/game/jobs/faction/zavodskoi.dm @@ -21,6 +21,7 @@ /datum/species/machine, /datum/species/bug = TRUE, /datum/species/bug/type_b = TRUE, + /datum/species/bug/type_b/type_bb = TRUE, /datum/species/bug/type_e = TRUE ) diff --git a/code/game/jobs/faction/zeng_hu.dm b/code/game/jobs/faction/zeng_hu.dm index 245dd0cc5b0..3287b3a5d03 100644 --- a/code/game/jobs/faction/zeng_hu.dm +++ b/code/game/jobs/faction/zeng_hu.dm @@ -22,6 +22,7 @@ /datum/species/machine, /datum/species/bug = TRUE, /datum/species/bug/type_b = TRUE, + /datum/species/bug/type_b/type_bb = TRUE, /datum/species/bug/type_e = TRUE, /datum/species/diona ) diff --git a/code/modules/mob/abstract/new_player/sprite_accessories.dm b/code/modules/mob/abstract/new_player/sprite_accessories.dm index 667a8486d75..e731533481a 100644 --- a/code/modules/mob/abstract/new_player/sprite_accessories.dm +++ b/code/modules/mob/abstract/new_player/sprite_accessories.dm @@ -3731,7 +3731,7 @@ Follow by example and make good judgement based on length which list to include icon = 'icons/mob/human_face/vaurca_hair.dmi' name = "Classic Antennae" icon_state = "vaurca_classic" - species_allowed = list(/datum/species/bug,/datum/species/bug/type_b) + species_allowed = list(/datum/species/bug, /datum/species/bug/type_b, /datum/species/bug/type_b/type_bb) gender = NEUTER chatname = "antennae" @@ -4879,7 +4879,7 @@ Follow by example and make good judgement based on length which list to include icon_state = "mecha_chest" do_colouration = FALSE body_parts = list(BP_CHEST) - species_allowed = list(/datum/species/bug, /datum/species/bug/type_b) + species_allowed = list(/datum/species/bug, /datum/species/bug/type_b, /datum/species/bug/type_b/type_bb) /datum/sprite_accessory/marking/vaurca_augs/mecha_abdomen name = "Mecha Abdomen" @@ -5967,13 +5967,13 @@ Follow by example and make good judgement based on length which list to include name = "Spelunker" icon_state = "spelunker" body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_CHEST,BP_GROIN,BP_HEAD) - species_allowed = list(/datum/species/bug,/datum/species/bug/type_b) + species_allowed = list(/datum/species/bug,/datum/species/bug/type_b, /datum/species/bug/type_b/type_bb) /datum/sprite_accessory/marking/delver name = "Delver" icon_state = "delver" body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_CHEST,BP_GROIN,BP_HEAD) - species_allowed = list(/datum/species/bug,/datum/species/bug/type_b) + species_allowed = list(/datum/species/bug, /datum/species/bug/type_b, /datum/species/bug/type_b/type_bb) /datum/sprite_accessory/marking/skr_tears name = "Skrell Tear Stains (Xiialt)" diff --git a/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca_subspecies.dm b/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca_subspecies.dm index 3060c329806..de5db577db9 100644 --- a/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca_subspecies.dm +++ b/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca_subspecies.dm @@ -38,11 +38,11 @@ stamina_recovery = 3 unarmed_types = list( + /datum/unarmed_attack/bite/warrior, /datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, - /datum/unarmed_attack/palm, - /datum/unarmed_attack/bite/warrior + /datum/unarmed_attack/palm ) valid_prosthetics = list(PROSTHETIC_VAURCA, PROSTHETIC_VAURCA_WARRIOR) @@ -66,6 +66,49 @@ "C'thur: Unbound Xetl" = "#370078" ) +/datum/species/bug/type_b/type_bb + name = SPECIES_VAURCA_ATTENDANT + name_plural = "Type BB" + species_height = HEIGHT_CLASS_HUGE + icobase = 'icons/mob/human_races/vaurca/r_vaurcabb.dmi' + eyes = "vaurca_attendant_eyes" + + slowdown = -0.8 + brute_mod = 0.9 + oxy_mod = 1 + radiation_mod = 0.5 + bleed_mod = 2.5 + burn_mod = 1.2 + sprint_speed_factor = 0.6 + sprint_cost_factor = 0.40 + grab_mod = 1.1 + resist_mod = 4 + standing_jump_range = 3 + pain_mod = 1.5 + + unarmed_types = list( + /datum/unarmed_attack/stomp, + /datum/unarmed_attack/kick, + /datum/unarmed_attack/claws, + /datum/unarmed_attack/palm + ) + + mob_size = 8 + blurb = "Type BB Warriors or \"Attendants\" are digitigrade bipeds, built to be agile and quick. They are primarily made to be scouts or serve in support positions and \ + they excel at guerilla tactics. They can possess the same roles as regular warriors, but their speed-built forms are not as hardy. They are commonly attributed to the \ + role of combat medics, providing medical assistance on the field, or removal of the neural socket if the individual cannot be saved." //Copied from the wiki + + stamina = 100 + + tail = "Gaster" + tail_animation = 'icons/mob/species/vaurca/tail.dmi' + selectable_tails = list("Gaster") + +/datum/species/bug/type_b/type_bb/can_hold_s_store(obj/item/I) + if(I.w_class <= WEIGHT_CLASS_NORMAL) + return TRUE + return FALSE + /datum/species/bug/type_c name = SPECIES_VAURCA_BREEDER short_name = "vab" @@ -113,7 +156,6 @@ blood_mask = 'icons/mob/human_races/masks/blood_breeder.dmi' canvas_icon = 'icons/mob/base_48.dmi' - stamina = 175 sprint_speed_factor = 1 sprint_cost_factor = 0.80 diff --git a/html/changelogs/SimpleMaroon-livvecouldbeadream.yml b/html/changelogs/SimpleMaroon-livvecouldbeadream.yml new file mode 100644 index 00000000000..c723f6077cf --- /dev/null +++ b/html/changelogs/SimpleMaroon-livvecouldbeadream.yml @@ -0,0 +1,61 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: SimpleMaroon + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added Vaurca Attendants, a subspecies of a subspecies (Warriors). Compared to Warriors, they're faster, less prone to brute injury but more prone to burns, experience more pain than other Vaurcae, have a signature gaster tail, and no mandibles, along with a somewhat unique appearance compared to Warriors overall. They can also hold normal-sized items instead of small ones with their vestigial arms, and they have no bite attack." + - imageadd: "Added unique sprite aspects for the Vaurca Attendant compared to the Warrior, including a differently-shaped head and feet." + - bugfix: "Fixed the Vaurca Warrior left hand icon state, which was one pixel too far to the side on the north-facing sprite." + - qol: "Changed the name of Vaurca Warriors to Vaurca Myrmidon." diff --git a/icons/mob/human_face/eyes.dmi b/icons/mob/human_face/eyes.dmi index 10ff141d23b..91f747aa1a9 100644 Binary files a/icons/mob/human_face/eyes.dmi and b/icons/mob/human_face/eyes.dmi differ diff --git a/icons/mob/human_races/vaurca/r_vaurcab.dmi b/icons/mob/human_races/vaurca/r_vaurcab.dmi index 45c6690cfb7..a3a12fd854f 100644 Binary files a/icons/mob/human_races/vaurca/r_vaurcab.dmi and b/icons/mob/human_races/vaurca/r_vaurcab.dmi differ diff --git a/icons/mob/human_races/vaurca/r_vaurcabb.dmi b/icons/mob/human_races/vaurca/r_vaurcabb.dmi new file mode 100644 index 00000000000..6e9b2ae27ee Binary files /dev/null and b/icons/mob/human_races/vaurca/r_vaurcabb.dmi differ diff --git a/icons/mob/species/vaurca/tail.dmi b/icons/mob/species/vaurca/tail.dmi new file mode 100644 index 00000000000..fb6f668f07f Binary files /dev/null and b/icons/mob/species/vaurca/tail.dmi differ