From aa46d206ca39061c82c5ee97eb2f223c8ffcc7b4 Mon Sep 17 00:00:00 2001 From: ElusiveCoin Date: Thu, 23 Jan 2025 00:27:44 -0700 Subject: [PATCH 01/18] Chitinid (#2707) * Start of the Chitinid Race My first work for ss14 and a new Species to play, worker drone ants! * Removed a uneeded bit * Removing the displacement section because it still is being weird Displacement map not working right but not really needed as well so just gonna do without it * Nukie Steamroll Preventative (#2658) * Update uplink_catalog.yml * Update uplink_catalog.yml * Update uplink_catalog.yml * Update uplink_catalog.yml * Automatic changelog update * most asked for changes * (hopefully) Fixed Linter Error * More clean up edits * 4 space indents!! * Direction desired name changes + More radiation mechanics Alienized the names of the little Ants and swapped their naming scheme. Added a radiation healing and purge mechanic to play into the radiation theme more. * Hopefully final changes! Adjustment to their resistances to make them less weak to blunt And the negative of being unable to be injected by normal syringes (hypo and pill gaming) * Forgot to add access to the new undergarments * Final Final change (hopefully) Added a little text pop up for failing to inject them * Code Tweeks * Quick Changes Removed some uneeded comments, removed uneeded Local info --------- Co-authored-by: rosieposie <52761126+rosieposieeee@users.noreply.github.com> Co-authored-by: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> --- .../Chemistry/EntitySystems/InjectorSystem.cs | 10 + .../Chitinid/BlockInjectionComponent.cs | 4 + .../Abilities/Chitinid/ChitinidComponent.cs | 41 ++ .../_DV/Abilities/Chitinid/ChitinidSystem.cs | 97 ++++ .../Chitinid/CoughingUpChitziteComponent.cs | 14 + .../_DV/Actions/Events/ChitziteActionEvent.cs | 3 + .../Audio/_DV/Voice/Chitinid/attributions.yml | 9 + .../Audio/_DV/Voice/Chitinid/male_cough_1.ogg | Bin 0 -> 13330 bytes .../Audio/_DV/Voice/Chitinid/moth_chitter.ogg | Bin 0 -> 9381 bytes .../Audio/_DV/Voice/Chitinid/moth_laugh.ogg | Bin 0 -> 20555 bytes .../Audio/_DV/Voice/Chitinid/moth_scream.ogg | Bin 0 -> 31333 bytes .../Audio/_DV/Voice/Chitinid/moth_squeak.ogg | Bin 0 -> 8676 bytes Resources/Locale/en-US/abilities/chitinid.ftl | 2 + .../components/injector-component.ftl | 1 + .../deltav/chat/managers/chat_manager.ftl | 6 + .../Locale/en-US/deltav/markings/chitinid.ftl | 164 +++++++ .../Locale/en-US/deltav/species/species.ftl | 1 + .../DeltaV/Body/Organs/chitinid.yml | 33 ++ .../DeltaV/Body/Prototypes/chitinid.yml | 49 ++ .../Datasets/Names/chitinid_first_female.yml | 34 ++ .../Datasets/Names/chitinid_first_male.yml | 36 ++ .../Mobs/Customization/Markings/chitinid.yml | 458 ++++++++++++++++++ .../DeltaV/Voice/speech_emote_sounds.yml | 34 ++ .../Prototypes/DeltaV/Voice/speech_verbs.yml | 9 + .../Mobs/Customization/Markings/gauze.yml | 26 +- Resources/Prototypes/Guidebook/species.yml | 6 + .../Prototypes/Species/species_weights.yml | 1 + .../Prototypes/_DV/Body/Parts/chitinid.yml | 112 +++++ .../_DV/Entities/Mobs/Player/chitinid.yml | 5 + .../_DV/Entities/Mobs/Species/chitinid.yml | 163 +++++++ .../Objects/Specific/Species/chitinid.yml | 33 ++ Resources/Prototypes/_DV/Species/chitinid.yml | 167 +++++++ .../ServerInfo/Guidebook/Mobs/Species.xml | 1 + .../Guidebook/Mobs/_DV/Chitinid.xml | 28 ++ .../DeltaV/Effects/speech.rsi/chitinid0.png | Bin 0 -> 775 bytes .../DeltaV/Effects/speech.rsi/chitinid1.png | Bin 0 -> 637 bytes .../DeltaV/Effects/speech.rsi/chitinid2.png | Bin 0 -> 637 bytes .../DeltaV/Effects/speech.rsi/meta.json | 17 + .../Chitinid/chitinid_antennas.rsi/bee.png | Bin 0 -> 716 bytes .../Chitinid/chitinid_antennas.rsi/curly.png | Bin 0 -> 851 bytes .../chitinid_antennas.rsi/default.png | Bin 0 -> 755 bytes .../chitinid_antennas.rsi/firefly_primary.png | Bin 0 -> 812 bytes .../firefly_secondary.png | Bin 0 -> 743 bytes .../Chitinid/chitinid_antennas.rsi/gray.png | Bin 0 -> 687 bytes .../Chitinid/chitinid_antennas.rsi/long.png | Bin 0 -> 634 bytes .../Chitinid/chitinid_antennas.rsi/meta.json | 55 +++ .../Chitinid/chitinid_antennas.rsi/radar.png | Bin 0 -> 689 bytes .../Chitinid/chitinid_antennas.rsi/short.png | Bin 0 -> 671 bytes .../Chitinid/chitinid_antennas.rsi/slick.png | Bin 0 -> 656 bytes .../Chitinid/chitinid_antennas.rsi/speed.png | Bin 0 -> 687 bytes .../chitinid_parts.rsi/charred_chest.png | Bin 0 -> 1631 bytes .../chitinid_parts.rsi/charred_head.png | Bin 0 -> 1260 bytes .../chitinid_parts.rsi/charred_l_arm.png | Bin 0 -> 422 bytes .../chitinid_parts.rsi/charred_l_leg.png | Bin 0 -> 381 bytes .../chitinid_parts.rsi/charred_r_arm.png | Bin 0 -> 440 bytes .../chitinid_parts.rsi/charred_r_leg.png | Bin 0 -> 387 bytes .../Chitinid/chitinid_parts.rsi/meta.json | 143 ++++++ .../chitinid_parts.rsi/plated_chest.png | Bin 0 -> 1088 bytes .../chitinid_parts.rsi/plated_l_arm.png | Bin 0 -> 678 bytes .../chitinid_parts.rsi/plated_r_arm.png | Bin 0 -> 695 bytes .../chitinid_parts.rsi/radiant_chest.png | Bin 0 -> 697 bytes .../chitinid_parts.rsi/radiant_head.png | Bin 0 -> 557 bytes .../chitinid_parts.rsi/radiant_l_arm.png | Bin 0 -> 704 bytes .../chitinid_parts.rsi/radiant_l_leg.png | Bin 0 -> 638 bytes .../chitinid_parts.rsi/radiant_r_arm.png | Bin 0 -> 702 bytes .../chitinid_parts.rsi/radiant_r_leg.png | Bin 0 -> 616 bytes .../chitinid_parts.rsi/spotted_chest.png | Bin 0 -> 676 bytes .../chitinid_parts.rsi/spotted_head.png | Bin 0 -> 646 bytes .../chitinid_parts.rsi/spotted_l_arm.png | Bin 0 -> 539 bytes .../chitinid_parts.rsi/spotted_l_leg.png | Bin 0 -> 539 bytes .../chitinid_parts.rsi/spotted_r_arm.png | Bin 0 -> 520 bytes .../chitinid_parts.rsi/spotted_r_leg.png | Bin 0 -> 537 bytes .../chitinid_parts.rsi/stripes_chest.png | Bin 0 -> 656 bytes .../chitinid_parts.rsi/stripes_head.png | Bin 0 -> 617 bytes .../chitinid_parts.rsi/stripes_l_arm.png | Bin 0 -> 610 bytes .../chitinid_parts.rsi/stripes_l_leg.png | Bin 0 -> 568 bytes .../chitinid_parts.rsi/stripes_r_arm.png | Bin 0 -> 614 bytes .../chitinid_parts.rsi/stripes_r_leg.png | Bin 0 -> 568 bytes .../chitinid_parts.rsi/toxic_chest.png | Bin 0 -> 885 bytes .../chitinid_parts.rsi/toxic_head.png | Bin 0 -> 743 bytes .../chitinid_parts.rsi/toxic_l_arm.png | Bin 0 -> 569 bytes .../chitinid_parts.rsi/toxic_l_leg.png | Bin 0 -> 540 bytes .../chitinid_parts.rsi/toxic_r_arm.png | Bin 0 -> 571 bytes .../chitinid_parts.rsi/toxic_r_leg.png | Bin 0 -> 532 bytes .../chitinid_wings.rsi/bee_primary.png | Bin 0 -> 1640 bytes .../chitinid_wings.rsi/bee_secondary.png | Bin 0 -> 1429 bytes .../Chitinid/chitinid_wings.rsi/default.png | Bin 0 -> 1068 bytes .../chitinid_wings.rsi/firefly_primary.png | Bin 0 -> 1001 bytes .../chitinid_wings.rsi/firefly_secondary.png | Bin 0 -> 875 bytes .../chitinid_wings.rsi/honeypot_primary.png | Bin 0 -> 1064 bytes .../chitinid_wings.rsi/honeypot_secondary.png | Bin 0 -> 951 bytes .../Chitinid/chitinid_wings.rsi/meta.json | 47 ++ .../Chitinid/chitinid_wings.rsi/smooth.png | Bin 0 -> 1128 bytes .../Chitinid/chitinid_wings.rsi/stubby.png | Bin 0 -> 965 bytes .../Mobs/Species/Chitinid/parts.rsi/eyes.png | Bin 0 -> 153 bytes .../Mobs/Species/Chitinid/parts.rsi/full.png | Bin 0 -> 1253 bytes .../Species/Chitinid/parts.rsi/head_f.png | Bin 0 -> 894 bytes .../Species/Chitinid/parts.rsi/head_m.png | Bin 0 -> 898 bytes .../Mobs/Species/Chitinid/parts.rsi/l_arm.png | Bin 0 -> 752 bytes .../Species/Chitinid/parts.rsi/l_foot.png | Bin 0 -> 727 bytes .../Species/Chitinid/parts.rsi/l_hand.png | Bin 0 -> 727 bytes .../Mobs/Species/Chitinid/parts.rsi/l_leg.png | Bin 0 -> 1870 bytes .../Mobs/Species/Chitinid/parts.rsi/meta.json | 66 +++ .../Mobs/Species/Chitinid/parts.rsi/r_arm.png | Bin 0 -> 758 bytes .../Species/Chitinid/parts.rsi/r_foot.png | Bin 0 -> 597 bytes .../Species/Chitinid/parts.rsi/r_hand.png | Bin 0 -> 713 bytes .../Mobs/Species/Chitinid/parts.rsi/r_leg.png | Bin 0 -> 278 bytes .../Species/Chitinid/parts.rsi/torso_f.png | Bin 0 -> 1305 bytes .../Species/Chitinid/parts.rsi/torso_m.png | Bin 0 -> 1269 bytes .../Species/chitinid.rsi/chitzite.png | Bin 0 -> 1797 bytes .../Species/chitinid.rsi/chitzite_glow.png | Bin 0 -> 1035 bytes .../Specific/Species/chitinid.rsi/meta.json | 33 ++ 112 files changed, 1895 insertions(+), 13 deletions(-) create mode 100644 Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs create mode 100644 Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs create mode 100644 Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs create mode 100644 Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs create mode 100644 Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs create mode 100644 Resources/Audio/_DV/Voice/Chitinid/attributions.yml create mode 100644 Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg create mode 100644 Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg create mode 100644 Resources/Audio/_DV/Voice/Chitinid/moth_laugh.ogg create mode 100644 Resources/Audio/_DV/Voice/Chitinid/moth_scream.ogg create mode 100644 Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg create mode 100644 Resources/Locale/en-US/abilities/chitinid.ftl create mode 100644 Resources/Locale/en-US/deltav/markings/chitinid.ftl create mode 100644 Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml create mode 100644 Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml create mode 100644 Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml create mode 100644 Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml create mode 100644 Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml create mode 100644 Resources/Prototypes/_DV/Body/Parts/chitinid.yml create mode 100644 Resources/Prototypes/_DV/Entities/Mobs/Player/chitinid.yml create mode 100644 Resources/Prototypes/_DV/Entities/Mobs/Species/chitinid.yml create mode 100644 Resources/Prototypes/_DV/Entities/Objects/Specific/Species/chitinid.yml create mode 100644 Resources/Prototypes/_DV/Species/chitinid.yml create mode 100644 Resources/ServerInfo/Guidebook/Mobs/_DV/Chitinid.xml create mode 100644 Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png create mode 100644 Resources/Textures/DeltaV/Effects/speech.rsi/chitinid1.png create mode 100644 Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png create mode 100644 Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/eyes.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/full.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/head_f.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/head_m.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_foot.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_hand.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/meta.json create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_arm.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_foot.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_hand.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_leg.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_f.png create mode 100644 Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_m.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/chitzite.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/meta.json diff --git a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs index 77c8620ea49..fab80be8bc7 100644 --- a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs @@ -1,3 +1,4 @@ +using Content.Server.Abilities.Chitinid; using Content.Server.Body.Components; using Content.Server.Body.Systems; using Content.Shared.Chemistry; @@ -114,6 +115,12 @@ private void OnInjectorAfterInteract(Entity entity, ref After /// private void InjectDoAfter(Entity injector, EntityUid target, EntityUid user) { + if (HasComp(target)) // DeltaV + { + Popup.PopupEntity(Loc.GetString("injector-component-deny-user"), target, user); + return; + } + // Create a pop-up for the user if (injector.Comp.ToggleState == InjectorToggleMode.Draw) { @@ -254,6 +261,9 @@ private void TryInjectIntoBloodstream(Entity injector, Entity private void TryInject(Entity injector, EntityUid targetEntity, Entity targetSolution, EntityUid user, bool asRefill) { + if (HasComp(targetEntity)) // DeltaV + return false; + if (!SolutionContainers.TryGetSolution(injector.Owner, injector.Comp.SolutionName, out var soln, out var solution) || solution.Volume == 0) return; diff --git a/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs b/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs new file mode 100644 index 00000000000..ed5d78874d6 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs @@ -0,0 +1,4 @@ +namespace Content.Server.Abilities.Chitinid; + +[RegisterComponent] +public sealed partial class BlockInjectionComponent : Component; diff --git a/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs b/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs new file mode 100644 index 00000000000..871d10a7c27 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs @@ -0,0 +1,41 @@ +using Content.Shared.Damage; +using Content.Shared.Damage.Prototypes; +using Content.Shared.FixedPoint; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Server.Abilities.Chitinid; + +[RegisterComponent] +public sealed partial class ChitinidComponent : Component +{ + [DataField] + public EntProtoId ChitzitePrototype = "Chitzite"; + + [DataField] + public EntProtoId ChitziteActionId = "ActionChitzite"; + + [DataField] + public EntityUid? ChitziteAction; + + [DataField] + public FixedPoint2 AmountAbsorbed = 0f; + + [DataField] + public DamageSpecifier Healing = new() + { + DamageDict = new() + { + { "Radiation", -0.5 }, + } + }; + + [DataField] + public FixedPoint2 MaximumAbsorbed = 30f; + + [DataField] + public TimeSpan UpdateInterval = TimeSpan.FromSeconds(1); + + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + public TimeSpan NextUpdate; +} diff --git a/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs b/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs new file mode 100644 index 00000000000..34d8244d5c9 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs @@ -0,0 +1,97 @@ +using Content.Server.Nutrition.Components; +using Content.Shared.Actions; +using Content.Shared.Actions.Events; +using Content.Shared.Audio; +using Content.Shared.Damage; +using Content.Shared.IdentityManagement; +using Content.Shared.Inventory; +using Content.Shared.Mobs.Systems; +using Content.Shared.Popups; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Prototypes; +using Robust.Shared.Timing; + +namespace Content.Server.Abilities.Chitinid; + +public sealed partial class ChitinidSystem : EntitySystem +{ + [Dependency] private readonly SharedActionsSystem _actions = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly InventorySystem _inventory = default!; + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly DamageableSystem _damageable = default!; + [Dependency] private readonly MobStateSystem _mobState = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnChitzite); + SubscribeLocalEvent(OnMapInit); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var chitinid, out var damageable)) + { + if (_timing.CurTime < chitinid.NextUpdate) + continue; + + chitinid.NextUpdate += chitinid.UpdateInterval; + + if (chitinid.AmountAbsorbed >= chitinid.MaximumAbsorbed || _mobState.IsDead(uid)) + continue; + + if (_damageable.TryChangeDamage(uid, chitinid.Healing, damageable: damageable) is {} delta) + { + chitinid.AmountAbsorbed += -delta.GetTotal().Float(); + if (chitinid.ChitziteAction != null && chitinid.AmountAbsorbed >= chitinid.MaximumAbsorbed) + { + _actions.SetCharges(chitinid.ChitziteAction, 1); // You get the charge back and that's it. Tough. + _actions.SetEnabled(chitinid.ChitziteAction, true); + } + } + } + + var entQuery = EntityQueryEnumerator(); + while (entQuery.MoveNext(out var ent, out var chitzite, out var chitinid)) + { + if (_timing.CurTime < chitzite.NextCough) + continue; + + Spawn(chitinid.ChitzitePrototype, Transform(ent).Coordinates); + chitinid.AmountAbsorbed = 0f; + RemCompDeferred(ent, chitzite); + } + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + if (ent.Comp.ChitziteAction != null) + return; + + ent.Comp.NextUpdate = _timing.CurTime + ent.Comp.UpdateInterval; + + _actions.AddAction(ent, ref ent.Comp.ChitziteAction, ent.Comp.ChitziteActionId); + } + + private void OnChitzite(Entity ent, ref ChitziteActionEvent args) + { + if (_inventory.TryGetSlotEntity(ent, "mask", out var maskUid) && + TryComp(maskUid, out var blocker) && + blocker.Enabled) + { + _popup.PopupEntity(Loc.GetString("chitzite-mask", ("mask", maskUid)), ent, ent); + return; + } + + _popup.PopupEntity(Loc.GetString("chitzite-cough", ("name", Identity.Entity(ent, EntityManager))), ent); + _audio.PlayPvs("/Audio/Animals/cat_hiss.ogg", ent, AudioHelpers.WithVariation(0.15f)); + + var chitzite = EnsureComp(ent); + chitzite.NextCough = _timing.CurTime + chitzite.CoughUpTime; + args.Handled = true; + } +} diff --git a/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs b/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs new file mode 100644 index 00000000000..1dae46b9437 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs @@ -0,0 +1,14 @@ +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Server.Abilities.Chitinid; + +[RegisterComponent, AutoGenerateComponentPause] +public sealed partial class CoughingUpChitziteComponent : Component +{ + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] + public TimeSpan NextCough; + + [DataField] + public TimeSpan CoughUpTime = TimeSpan.FromSeconds(2.15); +} diff --git a/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs b/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs new file mode 100644 index 00000000000..a36bd148d61 --- /dev/null +++ b/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs @@ -0,0 +1,3 @@ +namespace Content.Shared.Actions.Events; + +public sealed partial class ChitziteActionEvent : InstantActionEvent {} diff --git a/Resources/Audio/_DV/Voice/Chitinid/attributions.yml b/Resources/Audio/_DV/Voice/Chitinid/attributions.yml new file mode 100644 index 00000000000..5d6386b81d6 --- /dev/null +++ b/Resources/Audio/_DV/Voice/Chitinid/attributions.yml @@ -0,0 +1,9 @@ +- files: ["moth_scream.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/tgstation/tgstation/commit/31c19654e0f641166ecd80c672ea05362fd19488" + source: "https://github.com/tgstation/tgstation/commits/master/sound/voice/moth/scream_moth.ogg" + +- files: ["moth_laugh.ogg, moth_chitter.ogg, moth_squeak.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/BeeStation/BeeStation-Hornet/commit/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d" + source: "https://github.com/BeeStation/BeeStation-Hornet/blob/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d/sound/emotes/" diff --git a/Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg b/Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8ddc42024474f27604fe11b32badc9123224bc59 GIT binary patch literal 13330 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�Equ%G$d-k1< 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b7240a5653611bf7c7c56a38a1c69b4c3f7c80f4 GIT binary patch literal 9381 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

FT|| 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5b77d98e56541fa3ee34654737e9f78e0b5c58b8 GIT binary patch literal 8676 zcmaia2|SeF_y05YofsOThKOO5v5%c7#+G4ZiENYXAxcuChA3nilBLEnWDVIV>&Q-a z+AJYUsT4`^e}>QJ`~CdCzu)WodtUdsbDw+eJ?EZt-se2$@nY`oZVAu`zaEE()xLEJ8ha17=<>ck$ROA%lQdqoOkgJEUJKVrG*dxHt*9Y%=8A0QF1ibOS zu6}O#08JC;U{@v84hs$6s`DVhp%jX`z%-N6;z_yK?cAV{&s zgnWxlz7u}iM1CnZ$xLnONlu*FvQ*`u9=mMi5XJ;GYVBJ3oXO#OU_W{>^8L7+6}F;=n7& z;cPH|JUD1PILtOR!oD`lwl>0kBEn%a!WkC%SNj?Eev{VrREI+V@=#2 zO;3z0rUTq)CV{giiXjqnjPfpcmU^UDUo5Kj>8U{WRB-Gq0sYTFI}JegNXz>l?SgFz z{{L<|7dxc^9nh99{e@rpiyL6YUj`tV_bl8AfIij1BB=q2rvnvV25Nxq^kw}nl1blp z6YjsAKyy0)=%9qD{=!|LHL$Y70ZL~BHOB)@$3aujEb`y4@IAbMiil=jNbw}FD8xJO znS}tdg=Mjva6zp{RN8x$Bh0K^bEKodMe$kj@1DiZMkK9?qj9R{U>~MK)*Rpz&bK-!NcO1T%e+P zqDhA@-{(pqqdF0}hhyVTVG3@a!3s)JF5lYI91Z|Po;?)*-R(hnAH}(eccr_fp7qN2 zAZcB3Tff>$SsTwu4it!Dq!NhY*s6s`fu(3eFG|&zoeYJ9#ULpA5d}IG?iR1hB)AtO zk*NXQhpl-d09&ZO`H|(Y_N~*gP_+n5e^eU@5jU5 zkH?-r82O*T`d8!tV9*fvVv^(%gL;{9+f0vj-@$)Jjz9Eef^b)YxN(KJ=@7E-o1*!; z;wwG_3q?~)eur25LBj%gOJ#>)CHycBKN^gmtj62dgxOaA6)^i@^L{+&ACW@~5ixY! zoM9rvzaxh%6*sFIcho3R+&1x8NQ!%OTEW9dO9k0%{}DMC@8+l8&5ydf7!@ZKo#GLl zR#=zq-Cep;|9`fBMb7B}aj=1rV-O(zkH~3837-U`sRC)bzOSR^E6|{q4G#X(0RYe( z&tbfmM=Y?iqgbU;tSrt-^S?(7NF7x)9aaPln+yPg0B{s^GLh$QK)jx>rVR^fL7XuQ z&6L#+Bj)ocaG*KGF30OiYSt#A+c?&zu~Pi{CbwfHRN~;At$F8+=2cn1w8sEg0005i ziE4)h^c!`N_4`q*nWRp%BqeFc2qBvSQ$R@M@w(1sFXIcx*RnUKoo(=Vw^ZI9xSu@`n#D zC2Zz0&fzS6aua7OaKnB)VrC<321esNJ{km4oyYLbH9_yCJkmTov!4{ENfj0r6ju8b zmX_FOe=N){?5=PxEG_P?cv@8Iy#i88pA=Rg3k#7&6~)_y$d&3Rh4m%f6=mtAMJv^7 z>}|-E`b&kSr9~C1G-`dxN{9bSz1;OYL{DDPa(zL4z3)oBe{Z#qa8BX!3+bNLvhIqt zmHHEvL82D8ptmH4xwD`iKIgAIvfqrT@KJ9n+3p4z4E;n8_zBm6+n)Iz0_Qr`Wwf1D z<0$TF;7JQh(hG}LDtu+yidXb3aA6L~`1dLfwg-LRtHjxl$7UBU*Gu=j00p7mbodE3 z$O${VRt5=~6(#IpuAQ5#175E?{I}KSHiB}Valw1L045}Jx?~57}26yE0+8ZG{pq4(e9cf29;2^6mn(#dt^Qk0| z)x+C~7)(iWBDOapiN@-79L5Myorp03PldshM_}!|QDYfcZzb?lAge@-w`_-y*x`gK;aS;m@%fjO2Eq(wIGD?D4_{2pbFT>fx<1ll=8+rX#{&8&9SsV zOv%^?HWnnf`aB;^3tjtLa~Dt9jxm=KnsDjz+(`O zK|&h#Ue&@>ptsV-h+Q#FhB5et2)tkS!y3#w1bRS+z=|i+QV1<~6NFyS6Fh&v-uoz|& z2J1QRL6VIyc%c0};>6*?fr^A*wvv}VKs3Qf7KDQqEeQglK%w^9d6ra8=&+PTjL92I zfKa$l(w=H30|2YwfmZkOhy)PN4CugeK)Gml9+zJ9M`1-UGYS*Aq&qThbLp}0gU0~h zRlR7i*=w9d;)%B~%-)Qc=p7OR>^8 z2;!=RG%pND@an4rfH#cHKpFiZ17%4VtF)rqo)QE&XvP>+B-G_DYBA#^3xb*o);M`E zTIm74WNGzB3`hVUJ3s<@QJB_c1jhZlF!}e0^?y;K0IahPSc7lt4%i`<{i^&F@7|-U z_g_VN>i*+DYW9Cu@BeLN?^Oaq?w=i?)5OLM>@pv+KCOxnVn@<+j_FxW1&=z z&_qq>8X_oTcK2k#ki&qFE-^}xSa1n-!lf9MJA?(}6XseB29TW>cyupWMAeu}OciK< zFhh*F+*2B}V+W>vF98I@GXKcr+-I$?ruTd;3KrXXd)B6X7+^tPkZEWU)yIISqG3do z2)bc^ju`*1IUcpeeQ1GzTHIepI-|D-EtV{B4j}@9Olof=0ghPr3%ETn5_!Q=js$Yv zpCj>tGWN6tfDk??JXAF-%G0nL5R}RvhdN5;yK-7-ikA=^k*)1 zVgLdM0QgUMt{}!b;nWObiZL-hfXC(d0qkA$>2kcGAQd)BLQ$ZWSg(&6E-@D7nXVXA zTQSKRBb9J#D4@71xEK6NgtGv0JfaHWIuIzV6BI;bKmg>j=0Vgs28Iv3@@yPzFNuLe z9`pbYv6CYq%7%lNuP{8@MGdey=hVqe;E0W_yvP1gzM0YCO%R+2XAq5|LZI=4+kC!P zXF1JlTUgZ$C|vs=%Mjo&03>q4#l+Ikaa{Mg<9QMeB=RQlkwEwYz%+!w4G_c`qoSfN z#O1Wj(TnT55p&x=Fi7l?X&np8{-+AV-gy6GTE}poO#7Ioi3vV*yyzH89#vgj-~7D2 z8zF^6o=}q8*ri*SmDALauWe~-ACQugM#{@|eqdx|b2FE+=h-?85o};12Wlr(SkCp^ zI>-UlJ=Zi!j!q7+QCc6<|1MTp)0O9XK|k{2_YEatEZd5vV_smr&>Im1?cTn&nB( zZHL00%`Tv0Nyx#xjlEFcP95mZ3f-ys5lfdQ7ypeW9lvBU6($8f^jc&lPvq)cQy?)%2CchZ@g>LtG3Gvc@>{d+ucd#v?3kb0jSucA$q7pecm~V~ zINvd|TtCyxdslDtF;$6)<*~!hQssz0JEu*VeLhbm{5gm8KE_;}bWN2dgaauTQ<`Dh z_Wo?T)sIsPFR-T>ig+g4Ev3y%lP*I}S_!N47rp3%L7%su^5Q=PwPZCYP7Avftug0H z?)B7;Y7$^0&I)6M@ ziq@hM`U1T4fm0wNiFeyFflW00b#Tb(t1X_(pC;tB<@grK6j{{sos<3<2-dr>a>W7e zqf+O6IUKF>7Fe21>8387Nc+}CteSqw{!NSJcO$e_#tJh16Msx=nj`|~@BvSl9w}E2 z4xU?hKy2htoC;Uh^5hF4cjRIaeJQ{m{4i0O=^LRN~>^ONh=^#^P#CLaa2naf7?g-yDku2#>Jht|S3m9CB3Ob>g0 z`Q-Vfb57q4S2qh-0~iT@z_d9SnvN>smyS!{i!9A4cWlXjdoAiR zUFD9AMY(e1GZth~`c~b8_d8qiT*UT~w{fOPVt$o${lvw1Qj)to zn|$HLG`vi)aNA+7#W!DPqP-*9M}FwnAA38LXXqHAF*4n!=ofN?r!qkK4;{>_%gL~j zs$s17OSzK}QgyFUPSy4@m$%WFUIXS2Y^I;M3Q0D({TxxQ|6N~#aO^Y6sD>=x@M$%| zzN2C&YZ>@RFw|k;(FGHZmI?z>f%S^aY|f>^i1mzLr>3)fESqe+lrs#R9!~wyx*Gga z`@Qg^Fn?(eZ}r{HVr_IoXj-=cV%~bR$+fB_(ILs=u~OWp(oK_7k-5f06uXsxk=0p7 zkulx~f%$kxZP^OOAN7J0=Jx0@<2UCDk*ir$Tcv87$8FD?ul^GC%@ab)&;>c7k|VYi z%{EnaG#4vUouI9JvL8ON%&yy24poF8#zex%d01a{?!vUQR|MFa;-zv7ABhjJx$zBh>8!a__O>-JUviV5F90+BF0cuk!V7{QG5YWk4^IilYi=g@pjYuvEQfJ8ff^V+XN0MNel{V<&6jvd|d z(g7#p)T*DF@`iOT{-Ik+W}+QJy5*$U5s$i$$KMs9ZGn`EUAB*tpsMs z9Sj&6?szRKqp%^N30-3WC+~o-n_k8s$Bq)E?r)JFm@+)Ky&)Bci3?uzsU*d2wZ`Z7 z9(ixEHbG)DzjEzz1C5M9VrQxW&B4!k5cy^-;ox&wriu&D<%tvYsrWa~3~fd|-RQ^j&X~^i-c5ys=OViNAJFUyb3^b_(YRfho7|HtO&MWt+7z7HESZiC zi`wHF9uJDZguNxOL;d_xu=aw{qZ0I~r@a>L=Q|<@_wKDN@2+=$k>;94+&Qcl<1HCl z)@)OIiYO%bP3ouBui`f!>cbbi zgMGQ}%vE>R%3%(S@~Ehr3RjU?a0fb*06aIK+5m{$a*^|L0zOUg=FOAQW#_-L)T>u46EXp5Z8g`t~kpTjle z49wN&Z6Dfukuz6|Y~|r_8LQu-vvim*0e0lwos$tH`pg*fqbJhK-J&`!w+3plGNIKuV5&D(%29+qxR5HCIt92~rRcJ-% zf|IJhQs2$-&wg>84N9TzC%k(76_}fyc~|E1fDr@s9xu+|@tmd6Uxq;akbEB5?D&RI zAKSAScWrm*b|Y?EWz9^iEye!es?%Wy|8Dh!D0V zN+sD+SMlA1_V+7aN_rL|B(7jgG=D_8QD&cn&07eAggTG z%E{W@KyuJaW^k9XwXW+cP~FE9b2d&sKs*~#yAB|A8l2q+t`HthFwlMm7py>SI z0{y)0!HL#7C#$8R%>}7RRyVy%X9VP#)q;T$v4E4?)IyR!uieX|_=8%EU7^vh8+TvhrCW3&+7GRr2wi zM$UJ_aBpi0nd{US#G~H_PO1oXo3T*Jq9ukNbre1xy7-Z7?DcA8)cRX~W($(qsVC1% zFRR*L#MT^e{b9vz0XJBlXL)n4$MH0B-!;ac7!$qcY)!v7pYf@8Io2N^c)Me;@kCT$)d zfy|wk->F<=#M-<3%Psz~170}?EhpX#FZR`bF#Q3zFlV_4S0%{ZX-S_U$Cgw+Uh47u z`TXqSH;%K{4x)dg_w-IpS#a-ExL)Oyzriw$=eRtQGc_Ac2MhwChA)&q)H-{#8Z~w5 zj`o&ob>;iLso;bYUMTul%6iFAp%;(*{<&Mdb-41qgNc#tk?PN>FZdH(vukQYUU>a* z7E?H7&3K31O0RGylX-H=0$D8^Eqh%oJYwz91v7P;O)<5H{gr{7Y)`o@SJ?sU8%MYwtPqM$p6kwW^qf8nl?nOD+jZ*#zX+pd>Dd?# zku&bf+YTM7m71iRfyWxYpLj?{MetKk$(O>Bnd3t@K@;4d%-w z#s%!`jE0=9oKDZVWD$|lD5O~CF}!)W+GUtbTz>t`pefkK)$wW0l<3TZ4${37(|k+A z23p(aR&PXx^;=~h3Gi$RHm*so^R$Nlq)dKg8sbqO@cUdEKSgcR48zhgbhx)E;KAR~Yd~&!RsaS+k`( zAbzU+O+GdB<-1eMHC3qbpWSUmhQRk97r8sXIXY`DvclY`8_Tm=;YWM42}8cJlFm0d z$IVt|P1oqibU^P9B3*zbYq&{KUAa>{f4$SsscUN@-k;s6X>C=0*KO1vjq#`KvgjxQ zjZ18oKfr~w!!^`;9lh+c4z#qC%-#00Y7|>*Ny1*c*|3r_@0pl;IRO7lW#rQn856#D zUpKxMpenR@n_nP_Q;|E(_uEBN=$p?L=l|BIVZ?dqXnos-una|XlaB(Gq6I6Jk}@@2 zCpgQR*bUil-Ya2NltpXWk8^40`S%W^xTw#+upfUpH_Wr_rE(1Th3ANl6~`Or91&4E z|CSHEy{;Y@hR>!~^q7~4G{i?SKx?HpzTf2V6dGBy&-ImSba;EHcGPb&Wwo#J?Z%E$ z(4BGSM>=fpf}ZNaP@`jADUtVy_-`KJ2R=zO=$M*jptU?a|735xi}p*ox_f=ydq{8m zi3{$_Ew!HDH3I?Fr&4M&^nw*V2O98Zr@MGWRst>zEqrhg?8|lvGGAnr8EpLZPNvwd zV~sxMak4nC?xEjNa!=hKpk*e*k7)Gsadf@q2MEgHD*OKyzyO^2_g^yT!C~Mwe+A>q zW71NJV@g(|GbmgxwLaA%N%L9V&e9KSQ{@C@b;X%#@q_jhJXVb`%v!YD(Nth0A6s+K z;`i?Qbmii}EzD|TQ`M0lQ9{hlha=KTmDQ2*19D6d^*1>Ug9~9nT>VpMpB9c|n30Y| z=k3kA_D5DGhzzx|7dEMrv+oMeylQnkiJfOdA6y%qhH2Q zq)`;w_~7GE;MA?6n`bYych$B>FUM*)FWLB3Mcgk;&Se~d=pxGWS)~%+{^n{Kh7{xC^|F=#PF7>>ifD zz>pl{T)^6;Db+A44G=+iZ}&MKVx|~QFpC|w(b^t9&-ym8{)58H`I)rh^%!bf-;1Dw Sjk5^K8yUkeeT$BKhW`hii5zbL literal 0 HcmV?d00001 diff --git a/Resources/Locale/en-US/abilities/chitinid.ftl b/Resources/Locale/en-US/abilities/chitinid.ftl new file mode 100644 index 00000000000..e2e10c0eb4e --- /dev/null +++ b/Resources/Locale/en-US/abilities/chitinid.ftl @@ -0,0 +1,2 @@ +chitzite-mask = Take off your {$mask} first. +chitzite-cough = {CAPITALIZE(THE($name))} starts coughing up a hunk of Chitzite! diff --git a/Resources/Locale/en-US/chemistry/components/injector-component.ftl b/Resources/Locale/en-US/chemistry/components/injector-component.ftl index 24f524081e0..43e24ce25dc 100644 --- a/Resources/Locale/en-US/chemistry/components/injector-component.ftl +++ b/Resources/Locale/en-US/chemistry/components/injector-component.ftl @@ -27,3 +27,4 @@ injector-component-drawing-user = You start drawing the needle. injector-component-injecting-user = You start injecting the needle. injector-component-drawing-target = {CAPITALIZE(THE($user))} is trying to use a needle to draw from you! injector-component-injecting-target = {CAPITALIZE(THE($user))} is trying to inject a needle into you! +injector-component-deny-user = Exoskeleton too thick! diff --git a/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl b/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl index 22cc34b2714..7602189d5cc 100644 --- a/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl +++ b/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl @@ -15,3 +15,9 @@ chat-speech-verb-harpy-1 = chirps chat-speech-verb-harpy-2 = tweets chat-speech-verb-harpy-3 = caws chat-speech-verb-harpy-4 = trills + +chat-speech-verb-name-chitinid = Chitinid +chat-speech-verb-chitinid-1 = clicks +chat-speech-verb-chitinid-2 = chitters +chat-speech-verb-chitinid-3 = hisses +chat-speech-verb-chitinid-4 = buzzes diff --git a/Resources/Locale/en-US/deltav/markings/chitinid.ftl b/Resources/Locale/en-US/deltav/markings/chitinid.ftl new file mode 100644 index 00000000000..be5ae5896a7 --- /dev/null +++ b/Resources/Locale/en-US/deltav/markings/chitinid.ftl @@ -0,0 +1,164 @@ +marking-ChitinidAntennasDefault-default = Antennae +marking-ChitinidAntennasDefault = Antennae (Default) + +marking-ChitinidAntennasCurly-curly = Antennae +marking-ChitinidAntennasCurly = Antennae (Curly) + +marking-ChitinidAntennasGray-gray = Antennae +marking-ChitinidAntennasGray = Antennae (Gray) + +marking-ChitinidAntennasSlick-slick = Antennae +marking-ChitinidAntennasSlick = Antennae (Slick) + +marking-ChitinidAntennasShort-short = Antennae +marking-ChitinidAntennasShort = Antennae (short) + +marking-ChitinidAntennasLong-long = Antennae +marking-ChitinidAntennasLong = Antennae (Long) + +marking-ChitinidAntennasBee-bee = Antennae +marking-ChitinidAntennasBee = Antennae (Bee) + +marking-ChitinidAntennasFirefly-firefly_primary = Primary +marking-ChitinidAntennasFirefly-firefly_secondary = Secondary +marking-ChitinidAntennasFirefly = Antennae (Firefly) + +marking-ChitinidAntennasRadar-radar = Antennae +marking-ChitinidAntennasRadar = Antennae (Radar) + +marking-ChitinidAntennasSpeed-speed = Antennae +marking-ChitinidAntennasSpeed = Antennae (Speed) + + + +marking-ChitinidWingsDefault-default = Wing +marking-ChitinidWingsDefault = Tail (Default) + +marking-ChitinidWingsSmooth-smooth = Wing +marking-ChitinidWingsSmooth = Tail (Smooth) + +marking-ChitinidWingsHoneypot-honeypot_primary = Primary +marking-ChitinidWingsHoneypot-honeypot_secondary = Secondary +marking-ChitinidWingsHoneypot = Tail (Honeypot) + +marking-ChitinidWingsStubby-stubby = Wing +marking-ChitinidWingsStubby = Tail (Stubby) + +marking-ChitinidWingsBee-bee_primary = Primary +marking-ChitinidWingsBee-bee_secondary = Secondary +marking-ChitinidWingsBee = Tail (Bee) + +marking-ChitinidWingsFirefly-firefly_primary = Primary +marking-ChitinidWingsFirefly-firefly_secondary = Secondary +marking-ChitinidWingsFirefly = Tail (Firefly) + + + +marking-ChitinidChestCharred-charred_chest = Chest +marking-ChitinidChestCharred = Chitinid Chest (Charred) + +marking-ChitinidHeadCharred-charred_head = Head +marking-ChitinidHeadCharred = Chitinid Head (Charred) + +marking-ChitinidLLegCharred-charred_l_leg = Left Leg +marking-ChitinidLLegCharred = Chitinid Left Leg (Charred) + +marking-ChitinidRLegCharred-charred_r_leg = Right Leg +marking-ChitinidRLegCharred = Chitinid Right Leg (Charred) + +marking-ChitinidLArmCharred-charred_l_arm = Left Arm +marking-ChitinidLArmCharred = Chitinid Left Arm (Charred) + +marking-ChitinidRArmCharred-charred_r_arm = Right Arm +marking-ChitinidRArmCharred = Chitinid Right Arm (Charred) + + + +marking-ChitinidChestPlated-plated_chest = Chest +marking-ChitinidChestPlated = Chitinid Chest (Plated) + +marking-ChitinidLArmPlated-plated_l_arm = Left Arm +marking-ChitinidLArmPlated = Chitinid Left Arm (Plated) + +marking-ChitinidRArmPlated-plated_r_arm = Right Arm +marking-ChitinidRArmPlated = Chitinid Right Arm (Plated) + + + +marking-ChitinidChestStripes-stripes_chest = Chest +marking-ChitinidChestStripes = Chitinid Chest (Stripes) + +marking-ChitinidHeadStripes-stripes_head = Head +marking-ChitinidHeadStripes = Chitinid Head (Stripes) + +marking-ChitinidLLegStripes-stripes_l_leg = Left Leg +marking-ChitinidLLegStripes = Chitinid Left Leg (Stripes) + +marking-ChitinidRLegStripes-stripes_r_leg = Right Leg +marking-ChitinidRLegStripes = Chitinid Right Leg (Stripes) + +marking-ChitinidLArmStripes-stripes_l_arm = Left Arm +marking-ChitinidLArmStripes = Chitinid Left Arm (Stripes) + +marking-ChitinidRArmStripes-stripes_r_arm = Right Arm +marking-ChitinidRArmStripes = Chitinid Right Arm (Stripes) + + + +marking-ChitinidChestRadiant-radiant_chest = Chest +marking-ChitinidChestRadiant = Chitinid Chest (Radiant) + +marking-ChitinidHeadRadiant-radiant_head = Head +marking-ChitinidHeadRadiant = Chitinid Head (Radiant) + +marking-ChitinidLLegRadiant-radiant_l_leg = Left Leg +marking-ChitinidLLegRadiant = Chitinid Left Leg (Radiant) + +marking-ChitinidRLegRadiant-radiant_r_leg = Right Leg +marking-ChitinidRLegRadiant = Chitinid Right Leg (Radiant) + +marking-ChitinidLArmRadiant-radiant_l_arm = Left Arm +marking-ChitinidLArmRadiant = Chitinid Left Arm (Radiant) + +marking-ChitinidRArmRadiant-radiant_r_arm = Right Arm +marking-ChitinidRArmRadiant = Chitinid Right Arm (Radiant) + + + +marking-ChitinidChestToxic-toxic_chest = Chest +marking-ChitinidChestToxic = Chitinid Chest (Toxic) + +marking-ChitinidHeadToxic-toxic_head = Head +marking-ChitinidHeadToxic = Chitinid Head (Toxic) + +marking-ChitinidLLegToxic-toxic_l_leg = Left Leg +marking-ChitinidLLegToxic = Chitinid Left Leg (Toxic) + +marking-ChitinidRLegToxic-toxic_r_leg = Right Leg +marking-ChitinidRLegToxic = Chitinid Right Leg (Toxic) + +marking-ChitinidLArmToxic-toxic_l_arm = Left Arm +marking-ChitinidLArmToxic = Chitinid Left Arm (Toxic) + +marking-ChitinidRArmToxic-toxic_r_arm = Right Arm +marking-ChitinidRArmToxic = Chitinid Right Arm (Toxic) + + + +marking-ChitinidChestSpotted-spotted_chest = Chest +marking-ChitinidChestSpotted = Chitinid Chest (Spotted) + +marking-ChitinidHeadSpotted-spotted_head = Head +marking-ChitinidHeadSpotted = Chitinid Head (Spotted) + +marking-ChitinidLLegSpotted-spotted_l_leg = Left Leg +marking-ChitinidLLegSpotted = Chitinid Left Leg (Spotted) + +marking-ChitinidRLegSpotted-spotted_r_leg = Right Leg +marking-ChitinidRLegSpotted = Chitinid Right Leg (Spotted) + +marking-ChitinidLArmSpotted-spotted_l_arm = Left Arm +marking-ChitinidLArmSpotted = Chitinid Left Arm (Spotted) + +marking-ChitinidRArmSpotted-spotted_r_arm = Right Arm +marking-ChitinidRArmSpotted = Chitinid Right Arm (Spotted) diff --git a/Resources/Locale/en-US/deltav/species/species.ftl b/Resources/Locale/en-US/deltav/species/species.ftl index 83437bd651f..9f3c8a5ffe8 100644 --- a/Resources/Locale/en-US/deltav/species/species.ftl +++ b/Resources/Locale/en-US/deltav/species/species.ftl @@ -2,3 +2,4 @@ species-name-vulpkanin = Vulpkanin species-name-harpy = Harpy +species-name-chitinid = Chitinid diff --git a/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml new file mode 100644 index 00000000000..38a0e0b2219 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml @@ -0,0 +1,33 @@ +- type: entity + id: OrganChitinidStomach + parent: [OrganAnimalStomach, OrganHumanStomach] + name: stomach + description: "Gross. This is hard to stomach." + components: + - type: Organ # Shitmed Change + slotId: stomach # Shitmed Change + - type: Sprite + state: stomach + - type: Item + size: Small + heldPrefix: stomach + - type: SolutionContainerManager + solutions: + stomach: + maxVol: 50 + food: + maxVol: 5 + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 5 + - type: Stomach + # The stomach metabolizes stuff like foods and drinks. + # TODO: Have it work off of the ent's solution container, and move this + # to intestines instead. + - type: Metabolizer + # mm yummy + maxReagents: 3 + metabolizerTypes: [Human] + groups: + - id: Food + - id: Drink diff --git a/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml new file mode 100644 index 00000000000..18428a67a6c --- /dev/null +++ b/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml @@ -0,0 +1,49 @@ +- type: body + id: Chitinid + name: "chitinid" + root: torso + slots: + head: + part: HeadChitinid + connections: + - torso + organs: + brain: OrganHumanBrain + eyes: OrganHumanEyes + torso: + part: TorsoChitinid + organs: + heart: OrganAnimalHeart + lungs: OrganHumanLungs + stomach: OrganChitinidStomach + liver: OrganAnimalLiver + kidneys: OrganHumanKidneys + connections: + - right arm + - left arm + - right leg + - left leg + right arm: + part: RightArmChitinid + connections: + - right hand + left arm: + part: LeftArmChitinid + connections: + - left hand + right hand: + part: RightHandChitinid + left hand: + part: LeftHandChitinid + right leg: + part: RightLegChitinid + connections: + - right foot + left leg: + part: LeftLegChitinid + connections: + - left foot + right foot: + part: RightFootChitinid + left foot: + part: LeftFootChitinid diff --git a/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml new file mode 100644 index 00000000000..be91ea31509 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml @@ -0,0 +1,34 @@ +- type: dataset + id: NamesChitinidFirstFemale + values: + - Amer'ix + - An'bela + - An'ora + - Aza'ran + - Be'riah + - Bel'os + - Da'lrah + - Di'azo + - E'nzo + - Em'era + - Fi'n'rah + - He'teka + - Ir'iska + - Ish'kar + - Isha'ba + - Jes'sri'ka + - Kalz'za + - Kaz'zek + - Lot'tikz + - Ral'zol + - Ri'isano + - Talzz'ark + - Tess'ara + - Tez'mal'zar + - Thri'kis + - Vani'si'kar + - Ve'rai + - Vish'ra + - Zan'ova + - Zen'ofi + - Zzer'ak diff --git a/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml new file mode 100644 index 00000000000..355f5cffb9b --- /dev/null +++ b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml @@ -0,0 +1,36 @@ +- type: dataset + id: NamesChitinidFirstMale + values: + - Al'vos + - Amue'val + - Barma'tos + - Ben'idar + - Bil'verrok + - Crik'xis + - Daru'nta + - Dee'aldas + - Drx'var + - Hen'sra + - Hux'von + - Ilv'imon + - Is'irax + - Ish'nax + - Jax'zaril'va + - L'ofa + - Lo'zok + - Lu'vurx + - Luc'irax + - Mer'tex + - Od'dalis + - Si'ley + - Sim'sker + - Tal'vos + - Ti'ril + - Vir'lker + - Vir'muel + - Vix'vol + - Von'draz + - Vu'lta'voss + - Xixa'ba + - Yarr'wat + - Zay'zz diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml new file mode 100644 index 00000000000..eed5ebdcbd4 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml @@ -0,0 +1,458 @@ +# Antennas +- type: marking + id: ChitinidAntennasDefault + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: default + +- type: marking + id: ChitinidAntennasCurly + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: curly + +- type: marking + id: ChitinidAntennasGray + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: gray + +- type: marking + id: ChitinidAntennasSlick + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: slick + +- type: marking + id: ChitinidAntennasLong + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: long + +- type: marking + id: ChitinidAntennasBee + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: bee + +- type: marking + id: ChitinidAntennasShort + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: short + +- type: marking + id: ChitinidAntennasFirefly + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: firefly_primary + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: firefly_secondary + +- type: marking + id: ChitinidAntennasRadar + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: radar + +- type: marking + id: ChitinidAntennasSpeed + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: speed + + +# Wings +- type: marking + id: ChitinidWingsDefault + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: default + +- type: marking + id: ChitinidWingsSmooth + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: smooth + +- type: marking + id: ChitinidWingsHoneypot + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: honeypot_primary + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: honeypot_secondary + +- type: marking + id: ChitinidWingsStubby + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: stubby + +- type: marking + id: ChitinidWingsBee + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: bee_primary + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: bee_secondary + +- type: marking + id: ChitinidWingsFirefly + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: firefly_primary + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: firefly_secondary + +# Body markings: +# Charred +- type: marking + id: ChitinidChestCharred + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_chest + +- type: marking + id: ChitinidHeadCharred + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_head + +- type: marking + id: ChitinidLLegCharred + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_l_leg + +- type: marking + id: ChitinidRLegCharred + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_r_leg + +- type: marking + id: ChitinidLArmCharred + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_l_arm + +- type: marking + id: ChitinidRArmCharred + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_r_arm + +# Plated +- type: marking + id: ChitinidChestPlated + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_chest + +- type: marking + id: ChitinidLArmPlated + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_l_arm + +- type: marking + id: ChitinidRArmPlated + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_r_arm + +# Stripes +- type: marking + id: ChitinidChestStripes + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_chest + +- type: marking + id: ChitinidHeadStripes + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_head + +- type: marking + id: ChitinidLLegStripes + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_l_leg + +- type: marking + id: ChitinidRLegStripes + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_r_leg + +- type: marking + id: ChitinidLArmStripes + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_l_arm + +- type: marking + id: ChitinidRArmStripes + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_r_arm + +# Radiant +- type: marking + id: ChitinidChestRadiant + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_chest + +- type: marking + id: ChitinidHeadRadiant + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_head + +- type: marking + id: ChitinidLLegRadiant + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_l_leg + +- type: marking + id: ChitinidRLegRadiant + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_r_leg + +- type: marking + id: ChitinidLArmRadiant + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_l_arm + +- type: marking + id: ChitinidRArmRadiant + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_r_arm + +# Toxic +- type: marking + id: ChitinidChestToxic + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_chest + +- type: marking + id: ChitinidHeadToxic + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_head + +- type: marking + id: ChitinidLLegToxic + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_l_leg + +- type: marking + id: ChitinidRLegToxic + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_r_leg + +- type: marking + id: ChitinidLArmToxic + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_l_arm + +- type: marking + id: ChitinidRArmToxic + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_r_arm + +# Spotted +- type: marking + id: ChitinidChestSpotted + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_chest + +- type: marking + id: ChitinidHeadSpotted + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_head + +- type: marking + id: ChitinidLLegSpotted + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_l_leg + +- type: marking + id: ChitinidRLegSpotted + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_r_leg + +- type: marking + id: ChitinidLArmSpotted + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_l_arm + +- type: marking + id: ChitinidRArmSpotted + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [Chitinid] + sprites: + - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_r_arm diff --git a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml index dc725b547e0..94d42ca3939 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml @@ -154,3 +154,37 @@ collection: VulpkaninWhines Howl: collection: VulpkaninHowls + +- type: emoteSounds + id: UnisexChitinid + params: + variation: 0.125 + sounds: + Buzz: + path: /Audio/_DV/Voice/Chitinid/moth_scream.ogg + Scream: + path: /Audio/Voice/Arachnid/arachnid_scream.ogg + Laugh: + path: /Audio/_DV/Voice/Chitinid/moth_laugh.ogg + Chitter: + path: /Audio/Voice/Arachnid/arachnid_chitter.ogg + Click: + path: /Audio/Voice/Arachnid/arachnid_click.ogg + Crying: + collection: FemaleCry + Weh: + collection: Weh + Hew: + collection: Hew + Sneeze: + collection: MaleSneezes + Cough: + collection: MaleCoughs + Yawn: + collection: MaleYawn + Hiss: + path: /Audio/Animals/snake_hiss.ogg + Gasp: + collection: MaleGasp + DefaultDeathgasp: + collection: MothDeathGasp \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml b/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml index 26156fb82db..61750216b63 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml @@ -24,3 +24,12 @@ - chat-speech-verb-harpy-2 - chat-speech-verb-harpy-3 - chat-speech-verb-harpy-4 + +- type: speechVerb + id: Chitinid + name: chat-speech-verb-name-chitinid + speechVerbStrings: + - chat-speech-verb-chitinid-1 + - chat-speech-verb-chitinid-2 + - chat-speech-verb-chitinid-3 + - chat-speech-verb-chitinid-4 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml index c304e9c5314..7ecca4c59ad 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml @@ -298,7 +298,7 @@ id: GauzeMothBlindfold bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -312,7 +312,7 @@ id: GauzeMothShoulder bodyPart: Chest markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -326,7 +326,7 @@ id: GauzeMothStomach bodyPart: Chest markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -340,7 +340,7 @@ id: GauzeMothLeftEyePatch bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -354,7 +354,7 @@ id: GauzeMothLeftEyePad bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -368,7 +368,7 @@ id: GauzeMothRightEyePatch bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -382,7 +382,7 @@ id: GauzeMothRightEyePad bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -396,7 +396,7 @@ id: GauzeMothUpperArmRight bodyPart: RArm markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -410,7 +410,7 @@ id: GauzeMothUpperArmLeft bodyPart: LArm markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -424,7 +424,7 @@ id: GauzeMothUpperLegRight bodyPart: RLeg markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -438,7 +438,7 @@ id: GauzeMothUpperLegLeft bodyPart: LLeg markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -452,7 +452,7 @@ id: GauzeMothLowerLegRight bodyPart: RFoot markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -466,7 +466,7 @@ id: GauzeMothLowerLegLeft bodyPart: LFoot markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: diff --git a/Resources/Prototypes/Guidebook/species.yml b/Resources/Prototypes/Guidebook/species.yml index f7b77b7ec6f..4c4b7079abe 100644 --- a/Resources/Prototypes/Guidebook/species.yml +++ b/Resources/Prototypes/Guidebook/species.yml @@ -13,6 +13,7 @@ - IPCs - Harpy - Shadowkin + - Chitinid - type: guideEntry id: Arachnid @@ -63,3 +64,8 @@ id: Shadowkin name: species-name-shadowkin text: "/ServerInfo/Guidebook/Mobs/Shadowkin.xml" + +- type: guideEntry + id: Chitinid + name: species-name-chitinid + text: "/ServerInfo/Guidebook/Mobs/_DV/Chitinid.xml" \ No newline at end of file diff --git a/Resources/Prototypes/Species/species_weights.yml b/Resources/Prototypes/Species/species_weights.yml index d158862d38b..d080062592e 100644 --- a/Resources/Prototypes/Species/species_weights.yml +++ b/Resources/Prototypes/Species/species_weights.yml @@ -10,3 +10,4 @@ Vulpkanin: 4 # DeltaV - Vulpkanin, see Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml Diona: 2 Shadowkin: 0 + Chitinid: 3 # DeltaV - Chitinid, see Prototypes/_DV/Entities/Mobs/Species/chitinid.yml diff --git a/Resources/Prototypes/_DV/Body/Parts/chitinid.yml b/Resources/Prototypes/_DV/Body/Parts/chitinid.yml new file mode 100644 index 00000000000..fb346bb6ff3 --- /dev/null +++ b/Resources/Prototypes/_DV/Body/Parts/chitinid.yml @@ -0,0 +1,112 @@ +# TODO: Add descriptions (many) +# TODO BODY: Part damage +- type: entity + id: PartChitinidBase + parent: [BaseItem, BasePart] + name: "Chitinid body part" + abstract: true + components: + - type: Sprite + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 3 + - ReagentId: Blood + Quantity: 10 + +- type: entity + id: TorsoChitinid + name: "chitinid torso" + parent: [PartChitinidBase, BaseTorso] + components: + - type: Sprite + state: "torso_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 10 + - ReagentId: Blood + Quantity: 20 + + +- type: entity + id: HeadChitinid + name: "chitinid head" + parent: [PartChitinidBase, BaseHead] + components: + - type: Sprite + state: "head_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 5 + - ReagentId: Blood + Quantity: 10 + +- type: entity + id: LeftArmChitinid + name: "left chitinid arm" + parent: [PartChitinidBase, BaseLeftArm] + components: + - type: Sprite + state: "l_arm" + +- type: entity + id: RightArmChitinid + name: "right chitinid arm" + parent: [PartChitinidBase, BaseRightArm] + components: + - type: Sprite + state: "r_arm" + +- type: entity + id: LeftHandChitinid + name: "left chitinid hand" + parent: [PartChitinidBase, BaseLeftHand] + components: + - type: Sprite + state: "l_hand" + +- type: entity + id: RightHandChitinid + name: "right chitinid hand" + parent: [PartChitinidBase, BaseRightHand] + components: + - type: Sprite + state: "r_hand" + +- type: entity + id: LeftLegChitinid + name: "left chitinid leg" + parent: [PartChitinidBase, BaseLeftLeg] + components: + - type: Sprite + state: "l_leg" + +- type: entity + id: RightLegChitinid + name: "right chitinid leg" + parent: [PartChitinidBase, BaseRightLeg] + components: + - type: Sprite + state: "r_leg" + +- type: entity + id: LeftFootChitinid + name: "left chitinid foot" + parent: [PartChitinidBase, BaseLeftFoot] + components: + - type: Sprite + state: "l_foot" + +- type: entity + id: RightFootChitinid + name: "right chitinid foot" + parent: [PartChitinidBase, BaseRightFoot] + components: + - type: Sprite + state: "r_foot" diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Player/chitinid.yml b/Resources/Prototypes/_DV/Entities/Mobs/Player/chitinid.yml new file mode 100644 index 00000000000..4c8a7847315 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Mobs/Player/chitinid.yml @@ -0,0 +1,5 @@ +- type: entity + save: false + name: Urist McAnt + parent: BaseMobChitinid + id: MobChitinid diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Species/chitinid.yml b/Resources/Prototypes/_DV/Entities/Mobs/Species/chitinid.yml new file mode 100644 index 00000000000..0b9a3077fca --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Mobs/Species/chitinid.yml @@ -0,0 +1,163 @@ +- type: entity + save: false + name: Urist McAnt + parent: BaseMobSpeciesOrganic + id: BaseMobChitinid + abstract: true + components: + - type: HumanoidAppearance + species: Chitinid + hideLayersOnEquip: + - HeadTop + + - type: Hunger + baseDecayRate: 0.0467 #needs to eat more to survive + - type: Thirst + + - type: UnpoweredFlashlight + - type: PointLight + enabled: false + radius: 3 + softness: 5 + color: "#2CFA1F" + autoRot: true + + - type: Carriable + + - type: Icon + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: full + + - type: Body + prototype: Chitinid + requiredLegs: 2 + + - type: Damageable + damageContainer: Biological + damageModifierSet: Chitinid + + - type: Speech + speechVerb: Chitinid + allowedEmotes: ['Chitter', 'Click', 'Hiss'] + + - type: MeleeWeapon + animation: WeaponArcBite + soundHit: + path: /Audio/Effects/bite.ogg + damage: + types: + Piercing: 5 + + + - type: TypingIndicator + proto: Chitinid + + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeat + amount: 5 + + - type: Bloodstream + bloodReagent: InsectBlood + + - type: DamageVisuals + damageOverlayGroups: + Brute: + sprite: Mobs/Effects/brute_damage.rsi + color: "#808A51" + Burn: + sprite: Mobs/Effects/burn_damage.rsi + + - type: Vocal + sounds: + Male: UnisexChitinid + Female: UnisexChitinid + Unsexed: UnisexChitinid + + - type: Fixtures + fixtures: # TODO: This needs a second fixture just for mob collisions. + fix1: + shape: + !type:PhysShapeCircle + radius: 0.42 + density: 220 + restitution: 0.0 + mask: + - MobMask + layer: + - MobLayer + + - type: Temperature # Ants hate the cold + heatDamageThreshold: 320 + coldDamageThreshold: 230 + currentTemperature: 310.15 + specificHeat: 46 + coldDamage: + types: + Cold : 1.25 #per second, scales with temperature & other constants + heatDamage: + types: + Heat : 1.0 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 289: 0.6 + 275: 0.4 + 250: 0.3 + + - type: Sprite # sprite again because we want different layer ordering + noRot: true + drawdepth: Mobs + layers: + - map: [ "enum.HumanoidVisualLayers.Chest" ] + - map: [ "enum.HumanoidVisualLayers.Head" ] + - map: [ "enum.HumanoidVisualLayers.Snout" ] + - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.RArm" ] + - map: [ "enum.HumanoidVisualLayers.LArm" ] + - map: [ "enum.HumanoidVisualLayers.RLeg" ] + - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "enum.HumanoidVisualLayers.Underwear" ] # DeltaV + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] # DeltaV + - map: [ "jumpsuit" ] + - map: [ "enum.HumanoidVisualLayers.LHand" ] + - map: [ "enum.HumanoidVisualLayers.RHand" ] + - map: [ "enum.HumanoidVisualLayers.LFoot" ] + - map: [ "enum.HumanoidVisualLayers.RFoot" ] + - map: [ "enum.HumanoidVisualLayers.Handcuffs" ] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: [ "gloves" ] + - map: [ "shoes" ] + - map: [ "ears" ] + - map: [ "outerClothing" ] + - map: [ "eyes" ] + - map: [ "belt" ] + - map: [ "id" ] + - map: [ "back" ] + - map: [ "neck" ] + - map: [ "enum.HumanoidVisualLayers.Tail" ] #in the utopian future we should probably have a wings enum inserted here so everyhting doesn't break + - map: [ "enum.HumanoidVisualLayers.FacialHair" ] + - map: [ "enum.HumanoidVisualLayers.Hair" ] + - map: [ "enum.HumanoidVisualLayers.HeadSide" ] + - map: [ "enum.HumanoidVisualLayers.HeadTop" ] + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "pocket1" ] + - map: [ "pocket2" ] + - map: [ "clownedon" ] # Dynamically generated + sprite: "Effects/creampie.rsi" + state: "creampie_moth" + visible: false + - type: Chitinid + - type: BlockInjection + +- type: entity + parent: BaseSpeciesDummy + id: MobChitinidDummy + categories: [ HideSpawnMenu ] + components: + - type: HumanoidAppearance + species: Chitinid diff --git a/Resources/Prototypes/_DV/Entities/Objects/Specific/Species/chitinid.yml b/Resources/Prototypes/_DV/Entities/Objects/Specific/Species/chitinid.yml new file mode 100644 index 00000000000..1a9b5f0bcef --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Objects/Specific/Species/chitinid.yml @@ -0,0 +1,33 @@ +- type: entity + parent: BaseItem + id: Chitzite + name: chitzite + description: A small radioactive stone formed in the chest cavity of a radioactive chitinid, gross.... but kinda pretty? + components: + - type: Sprite + sprite: _DV/Objects/Specific/Species/chitinid.rsi + layers: + - state: chitzite + - state: chitzite_glow + - type: RadiationSource + intensity: 0.5 + - type: Extractable + grindableSolutionName: chitzite + - type: SolutionContainerManager + solutions: + chitzite: + maxVol: 5 + reagents: + - ReagentId: Uranium + Quantity: 2.5 + - ReagentId: Radium + Quantity: 2.5 + - type: MeleeWeapon + damage: + types: + Blunt: 3 + Radiation: 3 + - type: Tag + tags: + - Recyclable + - Trash diff --git a/Resources/Prototypes/_DV/Species/chitinid.yml b/Resources/Prototypes/_DV/Species/chitinid.yml new file mode 100644 index 00000000000..b70c696f3a4 --- /dev/null +++ b/Resources/Prototypes/_DV/Species/chitinid.yml @@ -0,0 +1,167 @@ +- type: species + id: Chitinid + name: species-name-chitinid + roundStart: true + prototype: MobChitinid + sprites: MobChitinidSprites + defaultSkinTone: "#ffda93" + markingLimits: MobChitinidMarkingLimits + dollPrototype: MobChitinidDummy + skinColoration: Hues + maleFirstNames: NamesChitinidFirstMale + femaleFirstNames: NamesChitinidFirstFemale + naming: First + +- type: speciesBaseSprites + id: MobChitinidSprites + sprites: + Head: MobChitinidHead + Snout: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking + Undershirt: MobHumanoidAnyMarking + Chest: MobChitinidTorso + HeadTop: MobHumanoidAnyMarking + HeadSide: MobHumanoidAnyMarking + Tail: MobHumanoidAnyMarking + Eyes: MobChitinidEyes + LArm: MobChitinidLArm + RArm: MobChitinidRArm + LHand: MobChitinidLHand + RHand: MobChitinidRHand + LLeg: MobChitinidLLeg + RLeg: MobChitinidRLeg + LFoot: MobChitinidLFoot + RFoot: MobChitinidRFoot + +- type: humanoidBaseSprite + id: MobChitinidEyes + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: eyes + +- type: markingPoints + id: MobChitinidMarkingLimits + onlyWhitelisted: true + points: + Hair: + points: 0 + required: false + FacialHair: + points: 0 + required: false + Tail: + points: 1 + required: true + defaultMarkings: [ ChitinidWingsDefault ] + Snout: + points: 1 + required: false + HeadTop: + points: 1 + required: true + defaultMarkings: [ ChitinidAntennasDefault ] + HeadSide: + points: 1 + required: false + Head: + points: 1 + required: false + Chest: + points: 1 + required: false + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false + Legs: + points: 6 + required: false + Arms: + points: 6 + required: false + +- type: humanoidBaseSprite + id: MobChitinidHead + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobChitinidHeadMale + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobChitinidHeadFemale + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: MobChitinidTorso + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobChitinidTorsoMale + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobChitinidTorsoFemale + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: MobChitinidLLeg + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: MobChitinidLHand + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: MobChitinidLArm + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: MobChitinidLFoot + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: MobChitinidRLeg + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: MobChitinidRHand + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: MobChitinidRArm + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: MobChitinidRFoot + baseSprite: + sprite: _DV/Mobs/Species/Chitinid/parts.rsi + state: r_foot diff --git a/Resources/ServerInfo/Guidebook/Mobs/Species.xml b/Resources/ServerInfo/Guidebook/Mobs/Species.xml index cb74fd50c94..261fc666f19 100644 --- a/Resources/ServerInfo/Guidebook/Mobs/Species.xml +++ b/Resources/ServerInfo/Guidebook/Mobs/Species.xml @@ -13,6 +13,7 @@ + # Parkstation specific species diff --git a/Resources/ServerInfo/Guidebook/Mobs/_DV/Chitinid.xml b/Resources/ServerInfo/Guidebook/Mobs/_DV/Chitinid.xml new file mode 100644 index 00000000000..29dde13c0f7 --- /dev/null +++ b/Resources/ServerInfo/Guidebook/Mobs/_DV/Chitinid.xml @@ -0,0 +1,28 @@ + + # Chitinid + + + + + + An industrious worker drone species, the Chitinid are strong diligent workers. Thanks to their homeworld's enviroment, they have grown an acute resistance to radiation, but not without its side effects. + + ## Diet + - Nothing special. + + ## Benefits + - Takes 80% less Radiation, 10% less Slash. + - Their bodies naturally recover from light radiation damage up to a point, once they accumulate enough radiation they must purge it from their systems in the form of a small rock. + - Due to their worker drone nature they are Better at pulling and carrying things. + - Due to their radioactive homeworld they possess a bio light. + + ## Drawbacks + - Built for work rather than combat their hard shells are weaker to Blunt and piercing damage, they take 25% more piercing and 15% more Blunt damage. + - Due to their hard shells normal syringes can not pierce them, requiring hypos to bypass the toughness. + - Thanks to their overactive systems they get hungry 33% faster. + - The cold does not agree with their biology and makes their movement sluggish, the cold also harms them more than others. + - They are deceptivly heavy due to their lifestyle and diet. + - The Chitzite they expel is slightly radioactive. + - Bug Blood. + + diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png new file mode 100644 index 0000000000000000000000000000000000000000..dc37e2d63bdb3537452e55e79d522a8819cf2fc2 GIT binary patch literal 775 zcmV+i1Ni)jP)aTcuJf1$7W{$WXjR{3V#@vkQP<%#=zUtaLCdbAx!AIBMus*1C`QlCWy7^q z`?R&$8E<+x1@ynV?&l;B+y@$U*Znw!cDqn)@cb-qxbWKx7BFylHF7 z0dTboj6GX2mzz?6(ywX2#|1D{07mYC(7Ly));Z3ffc!T7qC4R52$-V&$i^S#6=(h- z^0uA;000SaNLh0L01FZT01FZU(%pXi0003#Nklo{Yk%8BhN0;btCmw>b-$YruxGH zxRhnNd)B$Cs&l9gn$BD6ucnGeM$|Ghg{AXa`kT2g^hO3lygVu__iS$c^#VhVT?v;y zx0As+GyTmQ#??`9Qdt4PF*E%*26Q92eG!DT_Ww8NJ0HYbIfnY;<09=|OM8lbZX3p8 zKqKevUPii54s>4jayP@Ll)kjPoUv!^z65bDHQ2Ydeh}1VBQdgGYx%$NT`gN41XB0f zdb#@p00000000000NfxyU?@(0zzfI^_=o&}{{MXHKfOhMK+29>`b)Ne%e(?UqECK6 zYykNI_p_J$0Bgt((0^yPK9r@1E~)@40|KsWZdwhyjM_@Kho$t!CGx z;5&Ti!7!%KB{SPvN-t*6Hhvzdn&KfUdbO`>8GSj`W`M7oc$Qh*A)Y5rZaJ3VJ>nr& zkaNT*#1T#hB)%28;_;i{yvJXHc_y_0_(e}C-^5B2vjR7WCyB#`USjq0h?|5|b0tlA zl-3w*q>w-y5)_oM2^|iiluephYhSG9TSk#QjQ$qN;N-}oK;8(cCF-hD)<{?B(@_?4 z|36P#o0;~yhvGoztLuJ_1HpZuT5;XqQ`fDY0f86b+HClXG^e?5(kl%ud<+ci0GBrn zO*sIrc7c&+OXhM-3efUv8t`!e^k;#=d!TpSn^k=u=TAUpo1W+nI6ML-sD5DM58Ux* z`YQX7ga7~l32;bRa{vGf5&!@T5&_cPe*6Fc0J2F$K~z}7?Ud08gFp<1Q|Ytov;$Zt zxv_4Nl)mdaE^v*KLV9?%#S2vUKL`mqHGdM7=qRL=T%LPc$qgo+)VJ!d-U5aY!liU^ zjPW6^^Ahk@T#7ATa=D06C)2wMutIVXn!jtfOGvYISSqfQxy>da?-6kR^#-#7sxbk( zg1M9S!%J9o|2ZthlYWLTV{3ZOHH)sTpwuCIblv>hAD1^eWv?mF7vp9E0000008Tss XD&{=cxq5k@00000NkvXXu0mjftK}NC literal 0 HcmV?d00001 diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png new file mode 100644 index 0000000000000000000000000000000000000000..91bcf88fe5eec28c13c1764f3979ca0bb0239954 GIT binary patch literal 637 zcmV-@0)qXCP)9r@1E~)@40|KsWZdwhyjM_@Kho$t!CGx z;5&Ti!7!%KB{SPvN-t*6Hhvzdn&KfUdbO`>8GSj`W`M7oc$Qh*A)Y5rZaJ3VJ>nr& zkaNT*#1T#hB)%28;_;i{yvJXHc_y_0_(e}C-^5B2vjR7WCyB#`USjq0h?|5|b0tlA zl-3w*q>w-y5)_oM2^|iiluephYhSG9TSk#QjQ$qN;N-}oK;8(cCF-hD)<{?B(@_?4 z|36P#o0;~yhvGoztLuJ_1HpZuT5;XqQ`fDY0f86b+HClXG^e?5(kl%ud<+ci0GBrn zO*sIrc7c&+OXhM-3efUv8t`!e^k;#=d!TpSn^k=u=TAUpo1W+nI6ML-sD5DM58Ux* z`YQX7ga7~l32;bRa{vGf5&!@T5&_cPe*6Fc0J2F$K~z}7V_+C6;Q#;sG%=SEi`WSy z_9rOK2c<1&?SK<0DJkZ-6wjG6XD^U)p{4_v@L3MD5JfRi-WeJ~yQt*=7E(3990_zB z%n@$XiUPdBk0)AoQ{o5~0)~Tpj4pN(DRELY1VBN`M<5ZxEO(ly9o7>Ee&T@0gO6pVsVFbYP&C>RB!fJOiS X38^?{kaRH000000NkvXXu0mjfP%I3l literal 0 HcmV?d00001 diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json b/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json index 1d4b09fbffe..d91b201f0b8 100644 --- a/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json +++ b/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json @@ -23,6 +23,23 @@ }, { "name": "felinid2" + }, + { + "name": "chitinid0", + "delays": [ + [ + 0.2, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "chitinid1" + }, + { + "name": "chitinid2" } ] } diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png new file mode 100644 index 0000000000000000000000000000000000000000..3c5faa4aa25900b242fa115f25376e569a4a771b GIT binary patch literal 716 zcmV;-0yF)IP)Awv~~7D@$ilnQpK4s8XiF3B}%g(MA^6e+HPi$lRd zbn(~Vf1s=2svro8AmZxkuSH6H*A!Z$ec|#xeD8f9ckcjyMrVfImjDdY;n{RbS}m+e z!FTu&LJ-qP%FMQwa*KKNjGsrUrg(^pUcKwOMyROT4DbyQ&oYZU#Ph_NEyohPM?AvH za*_CiIL7IK#J56MJbn{g^7u z(He)1EYe6pf`TeGp~FF(vPm=R?n^X%%czit(ceN1oE#;T$r~fJN?ldT8tE#1I%;C> z|L19IGfA&|I0f{-y6)!$5ZnhEb=Unpb=}4p5O@Ku&9=WnbDH}mz24TM$3SEUxV&j= z$^me-3yeNnGMAfDfR{??*@;-?$lQBQ@p&F&IPt!ELT%YRhlCSqPE{dXW z+je*kfht0lNB%c0J392JJ4K5Ouo=1X{*rqe8s&+9sAcc*;o*AGgPM9=U4W-8xO z_6u2$<7z`@Zo>kil0~ zHI;4KR#6n`%eRmWKFhMjdEB~e!d8Z4AMMvV`cbm-aU3sJLRM$KT}`aM^f@P)l6`ct yA4gtZ4}3KL9ZcEk^Ibjw0000000000fEQ28*R+0x2~*Ml0000aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy}iAh93RCwC$n!SyLFc5|9)umK`M2tik z^g#m@Kn)Z?1N1>iPJ%>?LTh%%pQ2GwU|677yZ>QU>Jr!#i^jK3G;Y1T&cg=A@yGo{GT(i=j>DT z=RkB_efBB(000000000000000008(doE(!g{Qo1^lb3W6(fxO_oP6KEy$O^Td4IZN z>|)7Fm*RC7mb~}7o1hoZbK5(du@IqvYtP7uz0-dq?Jd`sa<-XEFwO_)*0POPeAwv~~7D@$ilnQpK4s8XiF3B}%g(MA^6e+HPi$lRd zbn(~Vf1s=2svro8AmZxkuSH6H*A!Z$ec|#xeD8f9ckcjyMrVfImjDdY;n{RbS}m+e z!FTu&LJ-qP%FMQwa*KKNjGsrUrg(^pUcKwOMyROT4DbyQ&oYZU#Ph_NEyohPM?AvH za*_CiIL7IK#J56MJbn{g^7u z(He)1EYe6pf`TeGp~FF(vPm=R?n^X%%czit(ceN1oE#;T$r~fJN?ldT8tE#1I%;C> z|L19IGfA&|I0f{-y6)!$5ZnhEb=Unpb=}4p5O@Ku&9=WnbDH}mz24TM$3SEUxV&j= z$^me-3yeNnGMAfDfR^@RCwC$+RdthKor37GZ%sg+6h9q z_YG_p_yU42n&1lv?eY!WOAxpdBxo^l2INL|xj|mM)&B>9%$zwNkgHJypUpfHwA=0M zd_I@+`7EC2Nf?HMb5&K@rfFn0o5|^PlFepg#%l5}>wo&v~wpL8Ao0000000000!25Xk`vBkf z<#0I2VzF>*>-F0Fr$P4ny}JnQx=vQBmAfi`a#;lHAL-pT*~002ovPDHLkV1i)oUSaTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy}Vo5|nRCwC$+CR#JFc`=2sPERjo6sY; zbad$v3f(+~2k{hc1&`q3=+YxN7dmzlN#7@+Sb6_wO?b=8_X8!G1b<@E>4~RiDvCli zO=GTiyPY~7kF&;Xah31SnN(Gk3E1!V=GTYyreiYSCYSjib0)=cY}&Fc^{Cq$UF)`O z%|)7~p6%6lneQ)H1%12S)ZuXO!Y~|OMq0U-ei@f}%7H)2&$7&HDQPGDdffgt-$DLU z`)a=b>WlST&Bd0Vng7%}wRAOYt^T{@0{{R3000000Q?J9%34y3tLu8Wmojx<(Y3`@ z#_A8yS7|q!&Cqwh-%YjF<_D0RX@*#vUVtK_X* zc`Yk1CqKHbQ>W9(JTK34eZ5{)6h+oQ_H0rbFN#9{Fm5B`+cC+WmgnDwjdKFF&l-Hi qS8%rjT>k|C0000000000u)qU0==wp^wGzDm0000?P)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy}9Z5t%RCwC$+R+JvFc5&@Sc)t7>JmP> zggA+VWD;=+A6-IxbBdM=1f*1qcrm5?ABaMZyEDbUTrv}A7zQ)XvwJSf(lkvIw5BCi z{YOa9IF7DBRaNft#k|ioiPsdfe$WO?)8vxZb?q+S)b{SzBu?TrrLJ%KzJJAxPg(yF zlB_6-;G}2cQ`dhU1uV;A@;rC<5NG3my}o0ueZ`Fb_4)t+000000001gA=5}A6WZ-W z)=zRZ#j0_61FW^~E(a4lKd;x?1po4%HAL5SmvTQf8vJ%*LmHOGuWrKj<@Zj7B;$Ym zJsKnOqZ~&)-0~l=*SO5-*L5{*+h(b9-0}&0qcNwCGV8zd^U#>nGwTNc000000000` Z@&-oA^59NaTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|0)oG}IT)5(uIE${>ooj}%>E8-JH5-5G=bW`8;Cy%((^1XI`b_H5HM zQkG?W@0_z&HG4&V_U*y0>tr0q7*G_&){IvDtn0e3=dSqjx8*Otu3j4JVO{q1(|G^@ z0000000000xKr{d+k3A?@;u+x=6SZxxlvy_ Vkd07k;)MVJ002ovPDHLkV1nemJ}CeI literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png new file mode 100644 index 0000000000000000000000000000000000000000..9ff75a10104ac0fef0dc3b49ca26b766f5b8cdb8 GIT binary patch literal 634 zcmV-=0)_pFP)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|ut`KgRCwC$+A#{kKoAAc#oKttbapl# z!A7tX1dkx*5Q2D<$OHmbfrQN_#`l`ADe`Bh{Yhzr`f+di&Qr^oze#^?)B@hGXS!W4 z?bhQN=aO>f4_-i3Rofx&bDKNAb=dEkzVq7i0RR91003akqI`@VzVyEULv-_HFG{~Z z7aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|=Sf6CRCwC$+OZ9TFc5`d(@-%29V5_F zc@S1$5>{XkDtbns^9WQlBzKBYqJTmahY02W8e{43S+=Mi#^Aq2uL{bte3&;)6QuSO z2herh?4SF-*D=p?QxrwCR(oILt<~;zME_lzyWXsBB+D|LCrM(es#@Ny>v|r?QJ;rl z@V6g@x}{(D2LJ#700000003})K?6idXq|J*JWW$GO_TPp*1ok?+qOE!as0IACyDb{ z4!}p#KB1L$C8Z7Ze}MdVa7%_YC6;t}D<(gjMAJULK9cm5-h9LW00000000000QR^5 X4BBa&z@Hez00000NkvXXu0mjfke@YJ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png new file mode 100644 index 0000000000000000000000000000000000000000..1dde872b7854e1105360b5c3c91f9fd24d311644 GIT binary patch literal 671 zcmV;Q0$}}#P)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|)k#D_RCwC$+OZ9TFc3gdgEAAtjgUTp{{mQbmTk)o8tjqjWRoQRiOX4G& zhhbQ4f~*KTtV{f;+mX%VII4M`7h`SPs%e^>Hef4%UDwX@KP5?G(=>gX zf?UhGkI(Sx`~Uy|00000006*0$@AR)N=@;Zo3z%dD2ia3Ahk$M-Wu=_8DoN({;QVA zYf?Fq&a&+Cw?Jz6JTCVpgfn^m3jhEB000000001XxdV7vZj~d=@Sgwx002ovPDHLk FV1oQDFbDtu literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png new file mode 100644 index 0000000000000000000000000000000000000000..f1e856667cdba877cc9e0704e428fcb13e6cf4f7 GIT binary patch literal 656 zcmV;B0&o3^P)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|#z{m$RCwC$+QA8gFc5{|WD5vbgC&>- zEXpc!wGLab0aJoC1k!-Z3#`{Qtmq>D2VtCm%tVh9V}L62Ja1ax_MTe5n5JnjsHptP zpKxaVSM3WSgl%0{)AzkquBcr5R~-KC`Tzg`000000000UZXCxg##q+B_W0>fy&iqX z))vte)_Y%`opU92U1#q)uwu@+aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|(==6Cmg%M1c}=iXyVVi%Z(7{_X8l5vB=LP?j4Fy^`nN30vG04|?z%4A zzTWGW&Ym9t000000000004{GeL9OfBr?OELDd*fY9>?)lvG*@XJpR1KVHkWn&vX6J z0nAB69pY&r5%sIA{^*U%yMPdn3yH`NiO1zoB%42L^D=jMI{*Lx000000001B)eVL; VX`ERbWZ(b*002ovPDHLkV1lX`IG6wc literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..8981bd797e8020bbfa72c4839eca7eb10d939c6a GIT binary patch literal 1631 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 JtaD0e0sv8Pd#3;Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..5be58a196c58ac9c162835812e6e4f46a039994b GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!8UuVnT-^(NEWkipTU!tYWMpK3 zVnCjOfdP;KB!O%V4GoAOP$iHJ1VCjFmAbmRKm{TqB0xc7V`D`{MIaj}2$Y2=1Ij|g zm6er&vTAB-Kv^IID9h(-zYFLX?UEqBUs7 zIQyWPzg}FiMc~nF6=~ms*Vm8tY*-@o_*$@GL+*@+Tb3yLM4uMfp0r&_BV25LQni9c zxUOC7YL3;xHM^!TdLW%)fyZ}1b zyd=mkn4vU1*2L9AG1o43nVa&AB9#gydt(>JX6L$6!z`!dY4dUuf`a-}y-R|#Q#}$h zr>17)#;17I$Ibu#3}{5Rr;B5Vgyh?U?qW?20uBfHo0=OepU)}Y^Z()<{@D+|o=Oj2 zIAv2wVYp(p(c##we#a78tk<{ZTAA!vE!n&@pXc4FV+oS%PcCw7_|o;{qE6E5mL1xy zDO(G}oivwTk@tvuZOL@<`ClD{g0E)gDtyQ9%6583RVZxq_m6gY^rFW@#??+~^-&>7 d`K5K2#cRH^x$iY*v;aDb!PC{xWt~$(69Boxg;xLo literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..0ebd96c5dd8dcbc8225a1767a9d9bad3992440bc GIT binary patch literal 387 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png new file mode 100644 index 0000000000000000000000000000000000000000..5a19d265775b92dfa843b4ad39589a4483d5d325 GIT binary patch literal 557 zcmV+|0@D47P)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|V@X6oRCwC$*|814APfXRScC!TnSx1J zi$#cN(g!I)3U|Hzmh8?U030l?7S>uvN-6Z-Ln$SGJ^1eYdx)Le+no;p000000Kjo_ v&f||+kF?gtn?L*6duBK{000000DuJ-2SpaTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|_DMuRRCwC$+A#`)Fcik|G;|hMaq~zX z!$Wurui+WoJc)?lE>4!OU~wzr3pDos1HmO9F(%L9=^Ow6000yrmm7~0<7GRpDXm+a)vHg=Iae1D*x~?zn0*zPBvMj-lf%yWIW%=m3?tMSc^QEkP zyz-PwVU1x2^nJfsPc~#B^ww`l1#lck^NEJ41K#@l55r(m0FQ;RD2iZp!2Ag8pTMgH z@K^}fbv4Ta0000000000|LYbVSGCOc-l5uZXF5pFJ1l@6I!)8h{Tcoa3!rwK+Go0A m`a8v3RaKh<00000;Hww-|9KOjM|k4^0000aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|v`IukRCwC$+A#`*Fc1aM=mo4jmk0AC zUPG|)5H@0KAr^v5gzXn~WwX53Ose@|l5#=-000000N`^?)9iiU@3DS6r)}F?bMm_y zt?QcP<6Ry=UDtb26rt<7P*qj-&CACAF(>B5+@Bc0JkMd?+2enOt|0Nx7|%d&)F7*6%bQ~$zO7bcP)fQ5;R YUVH*%{Z-2@x&QzG07*qoM6N<$f~f~4asU7T literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..72dfcfde064c7b058592e6269ea9f98883553a25 GIT binary patch literal 702 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..a83a50ec9799fb185cc77f0c28037a55812dfaf9 GIT binary patch literal 520 zcmV+j0{8uiP)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|K1oDDRCwC$*f9+N00;vx#LmA3aKKM! z6)f3!r~&{0SR`pVF@2eF4)SSUUH||9008*K?_Kj)0RR91aMA#7y%*Zx$|-RG0000< KMNUMnLSTX#b>a>H literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..27e6854260f94e899596adfe9490d754123edafd GIT binary patch literal 537 zcmV+!0_OdRP)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|Pf0{URCwC$+Pe(^AP5COq$s}>d_hi00000z(Q4x6Z?vYVLE)eZl|6l00000008ii+k?rzQ=FMn*>8DC b0bVcx$z2j!Pp_AV00000NkvXXu0mjfqs{Eg literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..29b41970dce883e15c5a944c89304a7076063236 GIT binary patch literal 656 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 AR{#J2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..e149af3795ff287f77b915648caa57ce41acc721 GIT binary patch literal 568 zcmV-80>}M{P)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|Zb?KzRCwC$+OZLUAPfLNbOkn{XDa4k z7j|GKYCXNPveF8@|0XGtyCii&00000007{wl(Mzfwj=&!uJuWAN-4w`&p4A==K=r# z00000fJrQGnvO?=ob#FY-b1Z*`RW1IH%-?=!WiSz%LDABh#sW!Bf*0J0000aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy}t4TybRCwC$nq7`WKoG}~xrIYWTtebe z;s%~vLR`X=8%R7lhQuM9!)|S+Hod*9MR&E``TvqhYl^Ba^&yPs0RR910D#xTKO)>T z%|hcij$YfgKF!Or^oycc;yC`0p}8$%Sr6;q+izUCx=o8$$2B>dc2rfh@Xxy5uIs*B zoRx0Pb$OGJE{;SsGIblQIbchXy5FV)^u_P(-{bKcp*+uhUSM60000000000005BsCb)))m!XfV7f92Th9wL`PwEvpEqtD5FNz|!URSpzBSF=* zWsh|y=*s%O7juBFYt0^!6yQ5SX^>@^*cYN<7<_WV`*@!exI-Znx5s4%Fl9q<<>Y4v zaEfyqB#YmjbUQc1l+IIKKrJ>-9!3-=Ow;r^m;SE;00000z@O#~W%@X-8}MZX00000 LNkvXXu0mjfQSF{> literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png new file mode 100644 index 0000000000000000000000000000000000000000..d3400bf0e1d00f604f6c9dcae9c7ff3cc27c02d2 GIT binary patch literal 743 zcmV?P)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy}9Z5t%RCwC$*+GhfFcg4cQ+ftnh?nvV zuJjP%A#~*p1drk+#Dy-sK*xkpM4H-!i5=+wLC_>M@5M+r&+`BPz&o0zQSH_Ir{bUG zrgJm-@ia}URaK>(cS#pt_SZR6!t{Z%EFViC5d?wir)j#4XIUm(e}%{R(m0Nu@B3Eq zZ>A6Y26@P!UDv6xJkKxL{ImG-D*Lwat&^6UUhj*d5Lf>neL6k>000000002McWB%8 zJ9Db*TDAYmCO@O%Xy5mzr{MA=-dX=F$D_Mx67xK3=i)ftP9jN?KR?}deVg2LjH{|^ zRd!#IUB=WkiXt_)Y+g9}#I@@`%gf0N*asVi!3)E18^5Ydy)TXLbD&HP000000000d ZegL_gpI*fdW%mF8002ovPDHLkV1f=xTVVhI literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..f74ffaae9d4816d3676c395edaef31cb2ac1aaa2 GIT binary patch literal 569 zcmV-90>=G`P)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|Z%IT!RCwC$*+B}xAPfXR?Z?HJw^yO3 zf&tUaJRqPOgJ^320Kg7oj5|}^t9oEI;Pj&q)%rRhGWFf5Mb%9+sUzzff*F!JzV&TD z;+r4<00000mGnO>Vtq27bM{gR`Y*r?cpZasa{vGU0KRzuuZS{B^xM*)00000NkvXX Hu0mjfCBpn- literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..fbcd1237d79913b045ab0b91c5a185e515bf8524 GIT binary patch literal 540 zcmV+%0^|LOP)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|Qb|NXRCwC$+B*usFbDw9cyjUN{S1X{ z8QLuNy-6Zy(A6;j000000QiUaqDW>QPh3^8>$9sqSN?vtRR91000000Xkxwu4^P)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy|aY;l$RCwC$*g*<_AQS}9?Be3dYa1;B z!yuja_QGfU4C1x{002*Ft;dRU?&%jRfK^ui?cDJj(3R%jx8d_SX9++Fjt*e9A{;(% zd;lxI1OWg5002l*dJkN`om*=qIz4~zgmu7u<>Na50002ybONW+GD~ta4x|78002ov JPDHLkV1lnO{S^QJ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..bd772bfc0bbc610ada8ff1e7c1375f3d6a50e7bc GIT binary patch literal 532 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 Bk*oj! literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png new file mode 100644 index 0000000000000000000000000000000000000000..d8428597262ee93250a7a85ec11e5738ca77f103 GIT binary patch literal 1064 zcmV+@1lRkCP)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000ie000ie0hKEb8vpYWc6(Yo+#JqDRW;4WkKh?Lp&M%ql&d%;Q=b1k?*+&RM z2qAyS|t-S79+;c)QlnM_8sS}pk%0qAzSs#>j@^HeG&&gZi^pUq~X)9HNd zClMv{?RHz0%Vlx7T#WhYbZU+$2nyOY!Y#200H(d?d4AoFJdXSQ-UI>dgTX+>b_QVN zv)QajCX;5$>rt0DqK+V--K=XV{Suo1*iCP@+ZpqEDHwO9Qpp72cDtG4ZjS%LPn2fB zdc78_)k+kLMG3PO)EA3|DijJI_ZgWPu-$GS>euU4oK7cme0N{0{sytjW3+8Om&-jE zUM`oa*Xu>{-G&fC2qA9|)^?XoOa1 z#x;0=7kGlVw*h!gK1!$4{&~G#H{aoh!(nJgAKIW1T3>m9x91=vT=VW|KZB0Y=6RkB zy|8*J^JWnL6nJ0000aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000ie000ie0hKEb8vpHs#dG!y}Yw+`|}JCw%aXjHXEu`Dtx=${C25}38hjg@t9v(5x?K> z1NH0mO6T+0l&|`I%pM?gIvq3HUcFE#1O%_wYc&`QKGy)(1lA^m+O>Gn;uGshy#dS| zYU_5pp~il{AE`yD%*`H>erXhckHq>YG)jEPfO|X>blL|7o=&H! z6)v&ePgI=!;OQP9sV*kSfU@?*h%BuC(P(5YPI!BPEM3v^Y-#uzAeWG2#x2V-Desve z18U){f67h&)E>BdvDvn*mHuWki~8)jn6!~uPqXM(hzVXch$;9}0{{RI Z`~Yt$?L1h5A&dY3002ovPDHLkV1m4$waEYg literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json new file mode 100644 index 00000000000..b7f59a8231a --- /dev/null +++ b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Concepts by: https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "default", + "directions": 4 + }, + { + "name": "smooth", + "directions": 4 + }, + { + "name": "honeypot_primary", + "directions": 4 + }, + { + "name": "honeypot_secondary", + "directions": 4 + }, + { + "name": "stubby", + "directions": 4 + }, + { + "name": "bee_primary", + "directions": 4 + }, + { + "name": "bee_secondary", + "directions": 4 + }, + { + "name": "firefly_primary", + "directions": 4 + }, + { + "name": "firefly_secondary", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png b/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0bbec36f34ddf9d00f4ceee9981580250be252 GIT binary patch literal 1128 zcmV-u1eg1XP)aTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy~o=HSORCwC$nmeoNKoG|_;#)-REv#(B zMl7tvQa_H5*2>n$$I;r#!cMGgL@g8r-)}L8|6VpE8gtPLm&7waSTb3YocYgAb`RNM zj35YtAP9mW2!bGf9g-EDuGj1Ge!o}FeLf#66bjO>2tcJ$kyEJ@w_Pq5JD<rU`q_VrjK^c%Z^laTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy}`$EHe~=(9f4+pH)fpAXLAUufS%yw(37AXCTMfUv;BVG{8d1c33fxd_I@< zXf(27BW1hYitfc?A?+XtN_7|R4aRXS9ZV*Zv=ifO6h%(mM?c%f;Gv=f*PiF)w3pTg zAb5Z+>Ff0>*R$D7)%jI`HfRLUZ0ZF}EJe6wqn|ZGr&MZ!4L~b2KL`FCTWJR1kL&e1 zZKLP_7wz$UEXfU&R3wZFSSd{0+Dmvv4FO#nukG}QnA literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/full.png b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..6d5e167c553e980737a7985a2fef7243eff0f254 GIT binary patch literal 1253 zcmV@AxIU67K(y6N(H-Ahqi)Mm*kqXLXw6{iWFDD#i8IJ zy7+7GKhRZhRS*P45OH<&*CHjpYYHvWzHoUTzW2V5yLW&;tuw>!NdSiF@JuQxt>)LH z;5&Q>VFcrd$jr8uvWq!%jh{!Vrg(^pUft_D#y~-}8Q|+9o@Ewyi06sZTaG1ok9e4s zE@~=<%0ep35u%e$i7Zwz1O2ti%oCDdMQ1S6K5r;wB;0T**=% zr8Nc{8KjVe1O*jrLWhGmWs_#s*_UYemQf}TqrZhJI5~bjp3KyV+Z*If7a)OG7;K;Q+qHe3EO&1vqN^jb@c9s}VW;PR%W zDF?vSE)aRPWG*+P04=|!0UsB@U>+E{2m05&SvB`@{siQ<>51-u!y{ml>cbm<_St9# zlr7a&00009a7bBm000XT000XT0n*)m`~Uz08%ab#R9M5smc36?Q53+>v#%5yQ#43T zNr(vx1Bu~dfJ8$agvG$5VL%y}TpV2dBV1jaSd@V{f(vmlL=zZ<#1Io2Vh|Dck$d%MB36&zJ@#BTD7jot!r{v@Hul^( zt}{CN%uA<#NgxoAgM+M0OuTe_$-waNll;Xg86SV)q*A+*N+pf4+8FZ5&Qiuh5eA1b01&XQ!p~}RO?=Vm47Z{h%q`H0H4)((Iz|z zsC6vX{0~2oSd;1LH%?VE(9?4_KNZ`?*m2|Vkyp(DE^lw|F{9Vq++ujS+=0Q+@R4_P z-1dBTK#ga!hjkAIgTiJE1YCom0px9MU1d2@vNA%r>1l{sn_fP(D0F?hd$>xUvUO%YC@*5STwb@VY_^Ynmqv4 zrGy+k^f~9tBBGH72OrAT)^|f=l-d(D&!CjjW7 zUzNuw8jaaV89PP}teHXX`(uQWm6f>E*I)D42c-Szj!+CAIeO@G&bJJ386B_2mXaQ>8^K9dr;8nxTqA3q?U3rGj0mLtDYBOY)jDLXw6gMT)E7;!to9 zUHlsS4|Ek=6$C*ML|k3{TBOALnnH`TH@w^*=iPI8?><1t>dbKZQh;H)b}o|^SBq<6 z=p6xsAs~jB#2jlWzgR%e_<5viiiafc)w`~143-p!0f8{_EVFEvc%C@B6E+=?_?GLk&u^T|K7Vnx3%LbA;62512g@DIG}|DaB90q+m9@^pZxT_=l|1D! zTH|n#Lk4MxkWs}Zbht=THfd(veW|8z85Qy{`dg^MCPx_>c@v~osjEU+C0(IUM~%<@ z|2!RaX4>x_Ndx__p7%Kcg!X|(-Sd7=J+E;F1Ydw_v+b|YoaVksueY`MF%aDWE^peJ zd;nbS0;A8CWJ^scNJ~&v;Nt=qDgwjzz`(jctJXfwpMb(PJ<%O-cmzyReRSgw&17fu zQv;wy00009a7bBm000XT000XT0n*)m`~Uy}v`IukRCwC$nm>+$Kp4fpF@}JJiJXDL z#)`y-!mD@&55gI|iUo~{J%x>>4I~s|Y-ar?j9FRTWCj`6?E58#aR|KkzWLJ(L;(D2 zgzbat_4?LcE|<=Yze-u{$={YMm&yV@_nC1qY<4>Cpw?cwA<~R6oK`V zBvEax&tzFPl3;8_t|h5sx10000000000000000000ViScPlnx=e_VHp0nR}_VM-)gn$#cZQZ zS8e$~Tjep;9-10p@hFNY2m;mTdEV`~Jj*hvjr25Ns_^=3kPl`rmy2rGbxr&IUS2&K z6~Xj$Sk7j%yABS|M)=3~7K;TJO7<}NlHbi5TCe?`LgURyd(g!cSN(7}Jp5pyZ&;JH z*+UnGUBc^Sz(yvMiL>xL?T^Q!Dgt}xQUse#P|oM`J7J!VT!77HL(L{AdfEil^yZ~d zmgQ~cX)oLD)>vEE8ktU~G#-zssw&F!yw~8*3eoo9N*@3K0000000000002IgFA00` U2R1k}IRF3v07*qoM6N<$f@RW|5&!@I literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/head_m.png b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/head_m.png new file mode 100644 index 0000000000000000000000000000000000000000..c9b9cbb1979df8935a5f167c5c62aebb046f7a4a GIT binary patch literal 898 zcmV-|1AY97P)aQ>8^K9dr;8nxTqA3q?U3rGj0mLtDYBOY)jDLXw6gMT)E7;!to9 zUHlsS4|Ek=6$C*ML|k3{TBOALnnH`TH@w^*=iPI8?><1t>dbKZQh;H)b}o|^SBq<6 z=p6xsAs~jB#2jlWzgR%e_<5viiiafc)w`~143-p!0f8{_EVFEvc%C@B6E+=?_?GLk&u^T|K7Vnx3%LbA;62512g@DIG}|DaB90q+m9@^pZxT_=l|1D! zTH|n#Lk4MxkWs}Zbht=THfd(veW|8z85Qy{`dg^MCPx_>c@v~osjEU+C0(IUM~%<@ z|2!RaX4>x_Ndx__p7%Kcg!X|(-Sd7=J+E;F1Ydw_v+b|YoaVksueY`MF%aDWE^peJ zd;nbS0;A8CWJ^scNJ~&v;Nt=qDgwjzz`(jctJXfwpMb(PJ<%O-cmzyReRSgw&17fu zQv;wy00009a7bBm000XT000XT0n*)m`~Uy}xJg7oRCwC$nmvw!Kp2K+j4?`Kf@iRx zu_B?N@G72xgK!3}VnJhKPhn$8BMAi%nvrj^Lsk|yVUTgnzE5JrG5G#4jK#nh0RI}U zdtwwt?eXDoFmC)+`dm|7bjKPK++g^Z>2n=%*LB%)xn!1Qv7#tgRaNYKJ{u{4^nKr# z$4Z}w<5)|d>xS=QqJ+NiV@sIn7@@GgeKrM!AInVlL>2m7;nh`F@5UBEbsKbf#~Sb* zBWu935=@2vEBXKc000000000000000_)N4m6T&d;9S?%Qi0N1Ab4_uv*=&A%ce~yA zltrlEjkf5~mU)J1&xaZy@$GiYR;!g9TPzmsc6l7fLK&Ip;>+UI-XLwv)^#n9%d%vb z%SALE2bC~%cUbIpyN3Y^Pe$lP-|hE%DoRXn^#%PlX(+w!a|&PH25Ha6n4;FN*K6+s z6H`N)q)i^iFdq|M-3DaDwrykKY1*f0DoY>_V@l9j1cm2$55hDZset40s8(Y>(IP0P zH{A+ZmbEiac{!aDSZF{0000000000008({ Y?%I9#2nE;Q_W%F@07*qoM6N<$f`Gt}%>V!Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_arm.png b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..48c0a2ee062c53d00e2bb7aceca3692290b97f05 GIT binary patch literal 752 zcmVaTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy}CP_p=RCwC$+A)fQKorLDNl2j=@-ALO zJjYza8`uk0g1sjYY;Cl2`DWK9EG%oD;3WTFlcbmreat)|Pv-yt003Ah%W{h;*IeKC zoAt#iPq}AY@7+3ZSr(V)x%1weT(EMKcNX&kq-h$85DW7HG)?2?d3ITry}S#wUOCe= zh1{RxaNPpvtQJLa8-^kL9>?*eynVg$l&kzRkHaM!;BzBv+xEIUz`6lGH$vsF>uOqn zhhZxvK{v1b%d6{J+jO&h3@T5#Q9K2#8sKk@5C8xG00000;J(LY-upvq@9$Cs z{d;_*2#?rrTr&fGYARh-mA>9SY6oaqw2$O9KKt)%GWr5&YP^rmKe`7T9h$yP0g@yM iFH!&i0001hKYaneMWis;c*_g`0000Y-zxQDW zk>mS)r;4pDx!`zI(OI-ztgFewi*e{vX!J~izf!IH$KjdF% z?a<sR(fq5Gz-Vwv$f_VC}YzJL6#wZkciGbL4%8Zvj<%=SB}-5P57rH{dB zg21tkLo(Hd+b6hR|53RltE;``#nrv*lD~+Xwlg*weB{}@)7!><&ds9SgVjfz*Q^og z^zV2)htH!%yX5L~^Mk7M_p^MiDU+Mv;=l9Cu`KD$M&_OBoyp4r6VHC`nC)VcZRuV) z<(h;{%0xFVqmYmdjLdpMQ*>uVrpIr37=1{sQsQrJ$ib6=PBZru25DajUA$)Ux{K)x zw4VK|pVwz+`?S1&NyEMH^S@=-oqjv)eO9@D`Mhv@<|h3ETd#h~zceRpzvud`TW%N% z+-20ukD67*5c8Jl@cC_rrnZSJQGIFkp^%YBq~T!og8Z}dLyP5~`#aRlp7(;!!iGt0 zh25@y>^({8SGjK%9R)@KXMsm#F#`j)5C}6~x?A@L7$Ll#E{-7;x8BY&U5srzM< yt$BJ0vEh54#~j#ws{8Sc*fq1oU;MUvp<~Yc&P(N9fBQO+r#xN#T-G@yGywqNM&oGNS#Ph_dEyohPM?B1m za-R5vILhgO#J56MJbn{g@c2tG&!!guzvw9yT3BgeR^$fpByq&h%dBx8ag(rWu4E{W z(i($}G?GX_f`T$Op~FFpvPm;*?~B)c%P5hD(ceM^oE!xd$r~lLOkGvV8tE#1Ix1rB z|L19I(^Fpea02Llb=}W#Ah-|Is;>Kc>bkWvAn*cQn@xX-<}~+BdbO!Vj)B1);PR%a zDF?vSE->wRBD8s5}lqQ+S@It^1#= zK;;@y0LO8pNx1+300000006)&Wm(Fu>!f=A_g4BbS7Xbvh`#SdmSxs$1!$V)^1FOB zUKB;U-~ZD&nRQ*oIF6TgewwCj%(||(@oz0a9LLtxOFv1H?c;6R-c^7{oB=@)h+!B+ zQ54o~1-N7Xt1I&`3=d_zOy2+VJa6NwEwHEikD&W!3;@6{c>@#wdmb;~mbm}`002ov JPDHLkV1gT zaB^>EX>4U6ba`-PAZ2)IW&i+q+U;0vawInh{jXEx2rUpG9Y-BEd z+5AbByKAhrMnb>?9zALQ^{1yla8ao>6|t&K^}Gh>!sbjj!3c8;65;^39Bk}`y4 z>^OINKK$$PMiu2K#)afK}#yk z3UDgL+1O+GtReCJ)EK!cO`EmaTI(H$c1Z5n-D}6hpuwXI89Hp#(MF#LpIN3% zoi^)iv!_LiS6Q-j*{Z9pzVk*X?XqR-wq1AI-4SZeUR+$=yn6Hgg4#hfeS_Ke$o(9( z{6GzWrGr_)q9Ocr;~f!Pi{ekm6$|2t22HEyec~-_2dSkFxzf zkq7HuYxrJy`r5t-=b<1S?_JkDrsu;ij|`dn=4*Hjht_x=iB%_R4bI*&;PbW?6!Rh0 z!?971jycNS*r1v(P|6CjfxKZLSs!GcMma(#eCBOzF?cZpw5i859M~5c9~7-k7o0pC zr4qOc@HB651VJ<^B%JJOYeVTt`l~@T7V*x!;53LD;%OJyJZ9UdpYWqKAXd<-RnL4w z&lb*iMA9g>I&0`G2tydUUAg&KiP+(A{PtFskbY&{)24Ds8I`o;@go z!)!G~z!g4qpa#2+H)xsdz!{Ff#tkAM0Ud;5jgS(JV~5%_>=*;9rD7Ck^_p-3N61#d z5%QT4F2M95d=AyH-4@bld*lenBw`;y{&r07Cw?;8QrX!?G!)R+$AoZr>;!Zg3tz6| z*{xZi`Z_70r91CmkJR)gWOpBaSph2=9MvW`J5mm+^f3)#GzBIeI0nGC12=pLxVNOh zJO7{rd}d6)E8t7em!SW-pl9y4yHGkxE2;~cWz;AnW0czNz57H7KzTTsfAi~Vy!Y4N{hS7OZ{P)jhC?lm4&ks)z;wck zZ1bUel?3g=IGk*AM!6<18eXfgWkk8htA7I{8!Gx0oP4v3Hc%;G11H8$Aow~>khm+v zMsqFXATmO{1x1ybAz_;;?IIs<&bXlP*p7X8hVEx z;bjcXR$UxF32i&fFK9Ro1OYvFP$~#K8nFv4iqVT*Fe}}5#ZPCimPK>-YFlvJ!@6?i z`Ef6bfXo2|Z2TLyBhpy}9y2Te0007FOGiWiNu`b21^@s632;bRa{vGf5&!@T5&_cP ze*6Fc00(qQO+^Ri0R|2RD7Np_fB*mh+(|@1RA}Dq*u4$HFc5~}*A`OJWrHjcreF#t zNs&p|AYG;)6`3GYB$X+kL4us~ClLCc`p!E0+}wePh=_=Ye3`QXE};NMj&9De*O1Tx zXEV!N0X>k?&AeAfNgyl`{hNvz__sV zxIAw+AX`{Kwp9~EL_|bHME>050R31_v=M8D&-p3CxUcl*8l(j07*qo IM6N<$g0aVLB>(^b literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/meta.json b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/meta.json new file mode 100644 index 00000000000..ed5dfd51450 --- /dev/null +++ b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/meta.json @@ -0,0 +1,66 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/tgstation/tgstation/commit/1d0eadcb126fc3581eed33490f4be2a88157af58, modified by https://github.com/PixelTheKermit", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "head_f", + "directions": 4 + }, + { + "name": "head_m", + "directions": 4 + }, + { + "name": "l_arm", + "directions": 4 + }, + { + "name": "l_foot", + "directions": 4 + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "l_leg", + "directions": 4 + }, + { + "name": "r_arm", + "directions": 4 + }, + { + "name": "r_foot", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + }, + { + "name": "r_leg", + "directions": 4 + }, + { + "name": "torso_f", + "directions": 4 + }, + { + "name": "torso_m", + "directions": 4 + }, + { + "name": "eyes", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_arm.png b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..703756e5c4774f6020869ae4505f636a0a7055cb GIT binary patch literal 758 zcmVaTcu(v9aIo;$WX!9hqi)Mm*h2Rg(M9xDN&&ow5`bYkJd;XFtNAr4 z_zoXJ7^a+)nQbj)7jx(uKabQ+@emiYy7zUAP(igB;OirvVHS6Y=ZVu>jwN`Hc!-tc z0`UoPjMD{)Z-uUS{3f{Q@t0tp%PatXF;gnGvC_t@#0}y};;5llSo1#OOTwzTlBGII zIR+aUq>zLJ1r=;Uhl4m(lXlkGmuUEwQ6>+gw}mP=If^KeH%4lOrm9pm(p7qNRK?!^ z@6*<%r@ZOmB+&cnx}W1fa384GT=)0Xb?aw9;03rgTmCZbY4)4+T1$%_1Cbrz@}{LJ z2f)=XF!F54Ty97KO24K79~Zzt9vHj_`q#Z(HP3PW1mw2q7u^AeN5BO2M>hTd3MFU{ z>Bri<00009a7bBm000XT000XT0n*)m`~Uy}EJ;K`RCwC$+A+>VKp4jHS(UhwljtO_ z-~MbY-NIc3nk z?~N!xa^6}(k|g`Xw{2@g0g_YlN^YI|EuEX@c~(VH7_n6)r{vXTeVTpOb=5RYM!l~j zujJNQ1*ZjcUAJHBx>mmLzrrwl^fr)ul2h`&=f7?6s;VAcfaJS6Nm}oKIF2{Z^VG5| zk6!wcPjX7$TMIY_FU#`L1xUWzCrR4O^L$Iw)QHcZIqP)g)xEA`^cOXU0f8{_470gQJV%__a&5tT#6zsC z6p2rW_?gq=4R6&-)w)Li<3y=6S!To>xBuf-k_e)$(uBoMyjCueG$;F%aDWE^k_z zdH`JQ0>jU?!j*;;q$TM(@NoeQ6oA2dpl{8eRdXNbPe6W~p6CuZJOU=DKDzz~jACci z3)ynT00009a7bBm000XT000XT0n*)m`~Uy|i%CR5RCwC$+93{vFc1aMB5)j`SE%BK zoDYYrsNo28h?0s`tCl4J@t$s)KTX}A5C8xG00000;LAMEZC%&)rc6Cg&iPWN;g`cP z#xRa!o2Dsj+cv!A0a8k>)*6oE81{YlO921?00000xJ&Qk`>w!~8DflWS(d*tT<-Wk joqWHel=8&zx9lpM8J;b~@TFd900000NkvXXu0mjfMcxQ@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_hand.png b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..b9f02aa597609c9b405c7b5b737e98fe9446df9d GIT binary patch literal 713 zcmV;)0yh1LP)&$Sv5`ba4b|#e+S95D( z=p6y{K|l}2W#(8**+mH*8S9z z|DUI$%}o2D8tdJq98>z~xO- zQx1TuU0~$dl5M#z1!)PI27FuqgE?U69_U~9XVuup`4b>*(-YkRheyC9)kik|0F@4B z*|PW8;{X5v32;bRa{vGf5&!@T5&_cPe*6Fc0RBltK~#9!?b@*ogD?<Qj{{ri3n%@uWtM}a6wsqE8RXZy6O5Hx!G6a27P!xrV z6iA)E-QOimQxzMarA`0<00000007QTPF#m!aMLtxYYe|>*U?zlb;&%>W?k24ni_mI zSXGrd`hNrRJW1c*H^5rErC?c>L%Su<`*r$~kU5ZLnUPmP)~0EaOT7ZGIZ)U2wP!#q vbKo9wlceCeI7vYabKtA*0=|v_0D3(DR2g-IKxOaS00000NkvXXu0mjfs(3!~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_leg.png b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..6f45ae18950c3fa4914cc7807fcb9bbe43357ed9 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_7UyPhtNAsLNtZ*1gkHV|liIN#*L zMn>-mjYgcTlQ%HR2CIb5I3T^G`IP1hr5uiQ5!b5t=9Z_s)18x>J3!!1#I}FG-W5MM zsB5q<{`tbRXHqLlBI|8~7|z|2Ex01mbMT`B1N#?~XJ4Hse?2lyh=W0R>RxLG(aRGv z*Vg~KcKdezRnB(|XTH6&e&xb6#naBob>@ODu)!xfm7d=}cU{D%ExPI4^_;s#E`4e5 z9{;pGzQ@vDC}HBOjw%I*qi4Dg7WiIFX;y7eHs9KwD%j4vG1`2Raw Xz;`2mx9-MYApd&0`njxgN@xNAsv>)6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_f.png b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_f.png new file mode 100644 index 0000000000000000000000000000000000000000..71d34660015848123fd0d00dafcf9b345de26b40 GIT binary patch literal 1305 zcmV+!1?KvRP)g)xEA`^cOXU0f8{_470gQJV%__a&5tT#6zsC z6p2rW_?gq=4R6&-)w)Li<3y=6S!To>xBuf-k_e)$(uBoMyjCueG$;F%aDWE^k_z zdH`JQ0>jU?!j*;;q$TM(@NoeQ6oA2dpl{8eRdXNbPe6W~p6CuZJOU=DKDzz~jACci z3)ynT00009a7bBm000XT000XT0n*)m`~Uz0Pf0{URCwC$nm=n|K@`O&5>O;W5Ja%B zOP5a5+F4rIiH(62)>-D;Ne}C8YTrQ_Jn~gtxh|gxT;PLS>m`ou0lBU2nBox`gejA3Nrz zd_J!~{N?3EHJeRc$DlcQ*l5Rf)N%hgq5kLRXE;#SQPMH2+vp$tlwMz71FZXaJgx^0 zvE6R>&BlIke}8}Wbx8eQucs=NN;qI>gO867RVtON^{pJh4Uh1t6K;$?9Kb#l3Wadc zoPBi0U@)-Ojvad=KNy3=z_I=?c$Bbx51zcey?xn-ShC&gF}VK}_ykY-O3*r3d z=jU+tx#(ZozF|6@s&cukmdj;0_0s9IZjS=!VBpZl;2VvG*6(yWPM;UExf#b%wOS3m zzFMtx2^;Ocz5|&0cXxN8^J}%5E@7kHMc>K+I9{;R19%-L07`)Nb02?)^r;1)Z`v;U zG21sllxq+B07}^GjBhfTj9M%fTAMG}X!pJZ=xt0n9)T!f^C|cS8z2UYy@xN@=JD+P z6xcuR4z>9_1)0S- zah!6f(+N>x>h1RjL0Yd4;Mxa_(J@9CMSv6<48>y)IMg3+n;^3^y4~)#Ylslt+}uR6 z5n|1oi5UdJQrip>>luK-Gb)QZrXAvQhdSg7hU5?yLt=#4A2WUL?3*CHj6f)Zp-hyp z6+Q)MF-Z%sKXimQ2ViRPI{?L9*WRg^n(T{9f>!L5PV6U1MGcq2DL6R*p>T$#(E-;4 zrBi?=_W`EpMdkpkHwy9y{1Z@{`HGSJ7Wmb-t*B%3e?uPxK@bE%__z51rX5?nFOH<4 P00000NkvXXu0mjf@da%e literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_m.png b/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_m.png new file mode 100644 index 0000000000000000000000000000000000000000..9f08874e16b338c20ec268611d0eacb0e08603f8 GIT binary patch literal 1269 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png b/Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png new file mode 100644 index 0000000000000000000000000000000000000000..5a77b238e84fefaf9a6c43008f09a8c03902c3a4 GIT binary patch literal 1035 zcmV+m1oZofP)!NdSiF@JuQxt>)LH z&^vq>L=e4*$jr8uvWq!%jh{!Vrg(^pUft_D#y~-}8Q|+9o@Ewyi06sZTaG1ok9dTY zE@~=<%0ep35u%e$i7Zwz1O2ti%oCDdMQ1S6K5r;wE9$T**=% zqcsj28KjVe1O*jrLWhGmWs_#s*_UYemQf}TqrZhJI5~bmtaAn*cQn=OBt<}~+Bdab2JkAa~b;PR%W zDF?vSE-?CR$y{zo0a|`d13oT*NFErz2m05&SvB`@{siQ<>51-u!y{ml>W4P|0E6&n z(P#Gzy8r+H32;bRa{vGf5&!@T5&_cPe*6Fc0zgSbK~#9!?V2%8!!Q(v)2Np~3=Ax+ z9T*T7fSm)t#2rw_UV;e@zz!Ec3=CbnFfbr4!2nOfl2z4-?L7N6?e|HDHX?QSf4~1F zuA2q`000000ALI(mh(%E&uRBvfZVY^n$>Lm8gj0w9dHrX#sZvc2#_oO_s`dnZ$ikF zA_j=~^V#BY-GmyZIPo85PjladkSV3ae>r`-^-b7hO4SGonNqVN)=jBJ$dn=mIHBdW z6Wl*mOK5rT1ow~Cn*DOj3GN?D?NurjP(%DKy2RJ0hQ80}62Gq++S1}{M3VdiIYMgm z1t+5X&^0N zVKnygV0!p@@qTu1X294RvY00(il7$bi+N(An7Qd1h@i2M6GK|jCHLexF(l^RJJ08lc(a(_MsD8Vf# z5j1`*_vcdqM33E*aIWz38}Z|q#QtH-vV^}5g!ll^&o7%)OR#4jndJZg002ovPDHLk FV1hyB Date: Thu, 23 Jan 2025 10:42:31 -0400 Subject: [PATCH 02/18] Move to DeltaV --- Resources/Prototypes/DeltaV/Actions/types.yml | 12 ++++++++++++ Resources/Prototypes/DeltaV/Damage/modifier_sets.yml | 9 +++++++++ Resources/Prototypes/DeltaV/Voice/speech_sounds.yml | 9 +++++++++ Resources/Prototypes/DeltaV/typing_indicator.yml | 5 +++++ 4 files changed, 35 insertions(+) create mode 100644 Resources/Prototypes/DeltaV/Actions/types.yml diff --git a/Resources/Prototypes/DeltaV/Actions/types.yml b/Resources/Prototypes/DeltaV/Actions/types.yml new file mode 100644 index 00000000000..74b81161e6f --- /dev/null +++ b/Resources/Prototypes/DeltaV/Actions/types.yml @@ -0,0 +1,12 @@ +- type: entity + id: ActionChitzite + name: Cough Up Chitzite + description: Purge the excess radiation build-up from your body, and gain a cool danger rock. + components: + - type: InstantAction + charges: 0 + enabled: false + maxCharges: 1 + icon: { sprite: _DV/Objects/Specific/Species/chitinid.rsi, state: chitzite } + useDelay: 300 + event: !type:ChitziteActionEvent \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml b/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml index b389378eb01..2dbfe44d87f 100644 --- a/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml +++ b/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml @@ -10,3 +10,12 @@ Blunt: 1.15 Slash: 1.15 Piercing: 1.15 + +- type: damageModifierSet + id: Chitinid + coefficients: + Blunt: 1.15 + Piercing: 1.25 + Slash: 0.9 + Cold: 1.1 + Radiation: 0.2 \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml index 89db03d2fcc..0d6a3b7e0ea 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml @@ -15,3 +15,12 @@ path: /Audio/DeltaV/Voice/Harpy/chirp1.ogg exclaimSound: path: /Audio/DeltaV/Voice/Harpy/chirp1.ogg + +- type: speechSounds + id: Chitinid + saySound: + path: /Audio/Voice/Talk/speak_1.ogg + askSound: + path: /Audio/Voice/Talk/speak_1_ask.ogg + exclaimSound: + path: /Audio/Voice/Talk/speak_1_exclaim.ogg \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/typing_indicator.yml b/Resources/Prototypes/DeltaV/typing_indicator.yml index 7cfca9cc95f..9c121dff404 100644 --- a/Resources/Prototypes/DeltaV/typing_indicator.yml +++ b/Resources/Prototypes/DeltaV/typing_indicator.yml @@ -4,3 +4,8 @@ typingState: felinid0 offset: 0, 0.2 # 0625 +- type: typingIndicator + id: Chitinid + spritePath: /Textures/_DV/Effects/speech.rsi + typingState: chitinid0 + offset: -0.2, 0.1 # 0625 \ No newline at end of file From 537c7a26c1f42c8ed043560df151b7715414aa17 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 10:43:55 -0400 Subject: [PATCH 03/18] Fix location --- Resources/Prototypes/DeltaV/Actions/types.yml | 2 +- .../{_DV => DeltaV}/Body/Parts/chitinid.yml | 2 +- .../Mobs/Customization/Markings/chitinid.yml | 106 +++++++++--------- .../Entities/Mobs/Player/chitinid.yml | 0 .../Entities/Mobs/Species/chitinid.yml | 2 +- .../Objects/Specific/Species/chitinid.yml | 2 +- .../{_DV => DeltaV}/Species/chitinid.yml | 30 ++--- .../DeltaV/Voice/speech_emote_sounds.yml | 4 +- .../Prototypes/DeltaV/typing_indicator.yml | 2 +- Resources/Prototypes/Guidebook/species.yml | 2 +- .../Prototypes/Species/species_weights.yml | 2 +- .../Prototypes/_DV/Guidebook/species.yml | 29 +++++ Resources/Prototypes/_DV/typing_indicator.yml | 17 +++ .../Chitinid/chitinid_antennas.rsi/bee.png | Bin .../Chitinid/chitinid_antennas.rsi/curly.png | Bin .../chitinid_antennas.rsi/default.png | Bin .../chitinid_antennas.rsi/firefly_primary.png | Bin .../firefly_secondary.png | Bin .../Chitinid/chitinid_antennas.rsi/gray.png | Bin .../Chitinid/chitinid_antennas.rsi/long.png | Bin .../Chitinid/chitinid_antennas.rsi/meta.json | 0 .../Chitinid/chitinid_antennas.rsi/radar.png | Bin .../Chitinid/chitinid_antennas.rsi/short.png | Bin .../Chitinid/chitinid_antennas.rsi/slick.png | Bin .../Chitinid/chitinid_antennas.rsi/speed.png | Bin .../chitinid_parts.rsi/charred_chest.png | Bin .../chitinid_parts.rsi/charred_head.png | Bin .../chitinid_parts.rsi/charred_l_arm.png | Bin .../chitinid_parts.rsi/charred_l_leg.png | Bin .../chitinid_parts.rsi/charred_r_arm.png | Bin .../chitinid_parts.rsi/charred_r_leg.png | Bin .../Chitinid/chitinid_parts.rsi/meta.json | 0 .../chitinid_parts.rsi/plated_chest.png | Bin .../chitinid_parts.rsi/plated_l_arm.png | Bin .../chitinid_parts.rsi/plated_r_arm.png | Bin .../chitinid_parts.rsi/radiant_chest.png | Bin .../chitinid_parts.rsi/radiant_head.png | Bin .../chitinid_parts.rsi/radiant_l_arm.png | Bin .../chitinid_parts.rsi/radiant_l_leg.png | Bin .../chitinid_parts.rsi/radiant_r_arm.png | Bin .../chitinid_parts.rsi/radiant_r_leg.png | Bin .../chitinid_parts.rsi/spotted_chest.png | Bin .../chitinid_parts.rsi/spotted_head.png | Bin .../chitinid_parts.rsi/spotted_l_arm.png | Bin .../chitinid_parts.rsi/spotted_l_leg.png | Bin .../chitinid_parts.rsi/spotted_r_arm.png | Bin .../chitinid_parts.rsi/spotted_r_leg.png | Bin .../chitinid_parts.rsi/stripes_chest.png | Bin .../chitinid_parts.rsi/stripes_head.png | Bin .../chitinid_parts.rsi/stripes_l_arm.png | Bin .../chitinid_parts.rsi/stripes_l_leg.png | Bin .../chitinid_parts.rsi/stripes_r_arm.png | Bin .../chitinid_parts.rsi/stripes_r_leg.png | Bin .../chitinid_parts.rsi/toxic_chest.png | Bin .../chitinid_parts.rsi/toxic_head.png | Bin .../chitinid_parts.rsi/toxic_l_arm.png | Bin .../chitinid_parts.rsi/toxic_l_leg.png | Bin .../chitinid_parts.rsi/toxic_r_arm.png | Bin .../chitinid_parts.rsi/toxic_r_leg.png | Bin .../chitinid_wings.rsi/bee_primary.png | Bin .../chitinid_wings.rsi/bee_secondary.png | Bin .../Chitinid/chitinid_wings.rsi/default.png | Bin .../chitinid_wings.rsi/firefly_primary.png | Bin .../chitinid_wings.rsi/firefly_secondary.png | Bin .../chitinid_wings.rsi/honeypot_primary.png | Bin .../chitinid_wings.rsi/honeypot_secondary.png | Bin .../Chitinid/chitinid_wings.rsi/meta.json | 0 .../Chitinid/chitinid_wings.rsi/smooth.png | Bin .../Chitinid/chitinid_wings.rsi/stubby.png | Bin .../Mobs/Species/Chitinid/parts.rsi/eyes.png | Bin .../Mobs/Species/Chitinid/parts.rsi/full.png | Bin .../Species/Chitinid/parts.rsi/head_f.png | Bin .../Species/Chitinid/parts.rsi/head_m.png | Bin .../Mobs/Species/Chitinid/parts.rsi/l_arm.png | Bin .../Species/Chitinid/parts.rsi/l_foot.png | Bin .../Species/Chitinid/parts.rsi/l_hand.png | Bin .../Mobs/Species/Chitinid/parts.rsi/l_leg.png | Bin .../Mobs/Species/Chitinid/parts.rsi/meta.json | 0 .../Mobs/Species/Chitinid/parts.rsi/r_arm.png | Bin .../Species/Chitinid/parts.rsi/r_foot.png | Bin .../Species/Chitinid/parts.rsi/r_hand.png | Bin .../Mobs/Species/Chitinid/parts.rsi/r_leg.png | Bin .../Species/Chitinid/parts.rsi/torso_f.png | Bin .../Species/Chitinid/parts.rsi/torso_m.png | Bin .../Species/chitinid.rsi/chitzite.png | Bin .../Species/chitinid.rsi/chitzite_glow.png | Bin .../Specific/Species/chitinid.rsi/meta.json | 0 87 files changed, 123 insertions(+), 77 deletions(-) rename Resources/Prototypes/{_DV => DeltaV}/Body/Parts/chitinid.yml (97%) rename Resources/Prototypes/{_DV => DeltaV}/Entities/Mobs/Player/chitinid.yml (100%) rename Resources/Prototypes/{_DV => DeltaV}/Entities/Mobs/Species/chitinid.yml (98%) rename Resources/Prototypes/{_DV => DeltaV}/Entities/Objects/Specific/Species/chitinid.yml (92%) rename Resources/Prototypes/{_DV => DeltaV}/Species/chitinid.yml (79%) create mode 100644 Resources/Prototypes/_DV/Guidebook/species.yml create mode 100644 Resources/Prototypes/_DV/typing_indicator.yml rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/eyes.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/full.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/head_f.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/head_m.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/l_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/l_foot.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/l_hand.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/l_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/meta.json (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/r_arm.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/r_foot.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/r_hand.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/r_leg.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/torso_f.png (100%) rename Resources/Textures/{_DV => DeltaV}/Mobs/Species/Chitinid/parts.rsi/torso_m.png (100%) rename Resources/Textures/{_DV => DeltaV}/Objects/Specific/Species/chitinid.rsi/chitzite.png (100%) rename Resources/Textures/{_DV => DeltaV}/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png (100%) rename Resources/Textures/{_DV => DeltaV}/Objects/Specific/Species/chitinid.rsi/meta.json (100%) diff --git a/Resources/Prototypes/DeltaV/Actions/types.yml b/Resources/Prototypes/DeltaV/Actions/types.yml index 74b81161e6f..cf6225faede 100644 --- a/Resources/Prototypes/DeltaV/Actions/types.yml +++ b/Resources/Prototypes/DeltaV/Actions/types.yml @@ -7,6 +7,6 @@ charges: 0 enabled: false maxCharges: 1 - icon: { sprite: _DV/Objects/Specific/Species/chitinid.rsi, state: chitzite } + icon: { sprite: DeltaV/Objects/Specific/Species/chitinid.rsi, state: chitzite } useDelay: 300 event: !type:ChitziteActionEvent \ No newline at end of file diff --git a/Resources/Prototypes/_DV/Body/Parts/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml similarity index 97% rename from Resources/Prototypes/_DV/Body/Parts/chitinid.yml rename to Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml index fb346bb6ff3..507ba70f487 100644 --- a/Resources/Prototypes/_DV/Body/Parts/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml @@ -7,7 +7,7 @@ abstract: true components: - type: Sprite - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi - type: Extractable juiceSolution: reagents: diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml index eed5ebdcbd4..cc2c60800bf 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml @@ -5,7 +5,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: default - type: marking @@ -14,7 +14,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: curly - type: marking @@ -23,7 +23,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: gray - type: marking @@ -32,7 +32,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: slick - type: marking @@ -41,7 +41,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: long - type: marking @@ -50,7 +50,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: bee - type: marking @@ -59,7 +59,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: short - type: marking @@ -68,9 +68,9 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: firefly_primary - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: firefly_secondary - type: marking @@ -79,7 +79,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: radar - type: marking @@ -88,7 +88,7 @@ markingCategory: HeadTop speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi state: speed @@ -99,7 +99,7 @@ markingCategory: Tail speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: default - type: marking @@ -108,7 +108,7 @@ markingCategory: Tail speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: smooth - type: marking @@ -117,9 +117,9 @@ markingCategory: Tail speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: honeypot_primary - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: honeypot_secondary - type: marking @@ -128,7 +128,7 @@ markingCategory: Tail speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: stubby - type: marking @@ -137,9 +137,9 @@ markingCategory: Tail speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: bee_primary - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: bee_secondary - type: marking @@ -148,9 +148,9 @@ markingCategory: Tail speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: firefly_primary - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi state: firefly_secondary # Body markings: @@ -161,7 +161,7 @@ markingCategory: Chest speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: charred_chest - type: marking @@ -170,7 +170,7 @@ markingCategory: Head speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: charred_head - type: marking @@ -179,7 +179,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: charred_l_leg - type: marking @@ -188,7 +188,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: charred_r_leg - type: marking @@ -197,7 +197,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: charred_l_arm - type: marking @@ -206,7 +206,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: charred_r_arm # Plated @@ -216,7 +216,7 @@ markingCategory: Chest speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: plated_chest - type: marking @@ -225,7 +225,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: plated_l_arm - type: marking @@ -234,7 +234,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: plated_r_arm # Stripes @@ -244,7 +244,7 @@ markingCategory: Chest speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: stripes_chest - type: marking @@ -253,7 +253,7 @@ markingCategory: Head speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: stripes_head - type: marking @@ -262,7 +262,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: stripes_l_leg - type: marking @@ -271,7 +271,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: stripes_r_leg - type: marking @@ -280,7 +280,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: stripes_l_arm - type: marking @@ -289,7 +289,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: stripes_r_arm # Radiant @@ -299,7 +299,7 @@ markingCategory: Chest speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: radiant_chest - type: marking @@ -308,7 +308,7 @@ markingCategory: Head speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: radiant_head - type: marking @@ -317,7 +317,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: radiant_l_leg - type: marking @@ -326,7 +326,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: radiant_r_leg - type: marking @@ -335,7 +335,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: radiant_l_arm - type: marking @@ -344,7 +344,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: radiant_r_arm # Toxic @@ -354,7 +354,7 @@ markingCategory: Chest speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: toxic_chest - type: marking @@ -363,7 +363,7 @@ markingCategory: Head speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: toxic_head - type: marking @@ -372,7 +372,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: toxic_l_leg - type: marking @@ -381,7 +381,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: toxic_r_leg - type: marking @@ -390,7 +390,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: toxic_l_arm - type: marking @@ -399,7 +399,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: toxic_r_arm # Spotted @@ -409,7 +409,7 @@ markingCategory: Chest speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: spotted_chest - type: marking @@ -418,7 +418,7 @@ markingCategory: Head speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: spotted_head - type: marking @@ -427,7 +427,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: spotted_l_leg - type: marking @@ -436,7 +436,7 @@ markingCategory: Legs speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: spotted_r_leg - type: marking @@ -445,7 +445,7 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: spotted_l_arm - type: marking @@ -454,5 +454,5 @@ markingCategory: Arms speciesRestriction: [Chitinid] sprites: - - sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi state: spotted_r_arm diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Player/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Player/chitinid.yml similarity index 100% rename from Resources/Prototypes/_DV/Entities/Mobs/Player/chitinid.yml rename to Resources/Prototypes/DeltaV/Entities/Mobs/Player/chitinid.yml diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml similarity index 98% rename from Resources/Prototypes/_DV/Entities/Mobs/Species/chitinid.yml rename to Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml index 0b9a3077fca..7bc97d9420e 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/Species/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml @@ -25,7 +25,7 @@ - type: Carriable - type: Icon - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: full - type: Body diff --git a/Resources/Prototypes/_DV/Entities/Objects/Specific/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml similarity index 92% rename from Resources/Prototypes/_DV/Entities/Objects/Specific/Species/chitinid.yml rename to Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml index 1a9b5f0bcef..1e66d4295c0 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Specific/Species/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml @@ -5,7 +5,7 @@ description: A small radioactive stone formed in the chest cavity of a radioactive chitinid, gross.... but kinda pretty? components: - type: Sprite - sprite: _DV/Objects/Specific/Species/chitinid.rsi + sprite: DeltaV/Objects/Specific/Species/chitinid.rsi layers: - state: chitzite - state: chitzite_glow diff --git a/Resources/Prototypes/_DV/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Species/chitinid.yml similarity index 79% rename from Resources/Prototypes/_DV/Species/chitinid.yml rename to Resources/Prototypes/DeltaV/Species/chitinid.yml index b70c696f3a4..d08a440da0c 100644 --- a/Resources/Prototypes/_DV/Species/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Species/chitinid.yml @@ -36,7 +36,7 @@ - type: humanoidBaseSprite id: MobChitinidEyes baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: eyes - type: markingPoints @@ -85,83 +85,83 @@ - type: humanoidBaseSprite id: MobChitinidHead baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: head_m - type: humanoidBaseSprite id: MobChitinidHeadMale baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: head_m - type: humanoidBaseSprite id: MobChitinidHeadFemale baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: head_f - type: humanoidBaseSprite id: MobChitinidTorso baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: torso_m - type: humanoidBaseSprite id: MobChitinidTorsoMale baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: torso_m - type: humanoidBaseSprite id: MobChitinidTorsoFemale baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: torso_f - type: humanoidBaseSprite id: MobChitinidLLeg baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: l_leg - type: humanoidBaseSprite id: MobChitinidLHand baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: l_hand - type: humanoidBaseSprite id: MobChitinidLArm baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: l_arm - type: humanoidBaseSprite id: MobChitinidLFoot baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: l_foot - type: humanoidBaseSprite id: MobChitinidRLeg baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: r_leg - type: humanoidBaseSprite id: MobChitinidRHand baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: r_hand - type: humanoidBaseSprite id: MobChitinidRArm baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: r_arm - type: humanoidBaseSprite id: MobChitinidRFoot baseSprite: - sprite: _DV/Mobs/Species/Chitinid/parts.rsi + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi state: r_foot diff --git a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml index 94d42ca3939..0dff2c4c8ff 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml @@ -161,11 +161,11 @@ variation: 0.125 sounds: Buzz: - path: /Audio/_DV/Voice/Chitinid/moth_scream.ogg + path: /Audio/DeltaV/Voice/Chitinid/moth_scream.ogg Scream: path: /Audio/Voice/Arachnid/arachnid_scream.ogg Laugh: - path: /Audio/_DV/Voice/Chitinid/moth_laugh.ogg + path: /Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg Chitter: path: /Audio/Voice/Arachnid/arachnid_chitter.ogg Click: diff --git a/Resources/Prototypes/DeltaV/typing_indicator.yml b/Resources/Prototypes/DeltaV/typing_indicator.yml index 9c121dff404..9cd5dd50236 100644 --- a/Resources/Prototypes/DeltaV/typing_indicator.yml +++ b/Resources/Prototypes/DeltaV/typing_indicator.yml @@ -6,6 +6,6 @@ - type: typingIndicator id: Chitinid - spritePath: /Textures/_DV/Effects/speech.rsi + spritePath: /Textures/DeltaV/Effects/speech.rsi typingState: chitinid0 offset: -0.2, 0.1 # 0625 \ No newline at end of file diff --git a/Resources/Prototypes/Guidebook/species.yml b/Resources/Prototypes/Guidebook/species.yml index 4c4b7079abe..c9b0ee3263c 100644 --- a/Resources/Prototypes/Guidebook/species.yml +++ b/Resources/Prototypes/Guidebook/species.yml @@ -68,4 +68,4 @@ - type: guideEntry id: Chitinid name: species-name-chitinid - text: "/ServerInfo/Guidebook/Mobs/_DV/Chitinid.xml" \ No newline at end of file + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml" \ No newline at end of file diff --git a/Resources/Prototypes/Species/species_weights.yml b/Resources/Prototypes/Species/species_weights.yml index d080062592e..cc342f7b1bf 100644 --- a/Resources/Prototypes/Species/species_weights.yml +++ b/Resources/Prototypes/Species/species_weights.yml @@ -10,4 +10,4 @@ Vulpkanin: 4 # DeltaV - Vulpkanin, see Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml Diona: 2 Shadowkin: 0 - Chitinid: 3 # DeltaV - Chitinid, see Prototypes/_DV/Entities/Mobs/Species/chitinid.yml + Chitinid: 3 # DeltaV - Chitinid, see Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml diff --git a/Resources/Prototypes/_DV/Guidebook/species.yml b/Resources/Prototypes/_DV/Guidebook/species.yml new file mode 100644 index 00000000000..adfc292a746 --- /dev/null +++ b/Resources/Prototypes/_DV/Guidebook/species.yml @@ -0,0 +1,29 @@ +- type: guideEntry + id: Felinid + name: species-name-felinid + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Felinid.xml" + +- type: guideEntry + id: Harpy + name: species-name-harpy + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Harpy.xml" + +- type: guideEntry + id: Vulpkanin + name: species-name-vulpkanin + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Vulpkanin.xml" + +- type: guideEntry + id: Oni + name: species-name-oni + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Oni.xml" + +- type: guideEntry + id: Rodentia + name: species-name-rodentia + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Rodentia.xml" + +- type: guideEntry + id: Chitinid + name: species-name-chitinid + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml" diff --git a/Resources/Prototypes/_DV/typing_indicator.yml b/Resources/Prototypes/_DV/typing_indicator.yml new file mode 100644 index 00000000000..7507f6fbb02 --- /dev/null +++ b/Resources/Prototypes/_DV/typing_indicator.yml @@ -0,0 +1,17 @@ +- type: typingIndicator + id: felinid + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: felinid0 + offset: 0, 0.2 # 0625 + +- type: typingIndicator + id: rodentia + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: rodentia0 + offset: 0, 0.2 # 0625 + +- type: typingIndicator + id: Chitinid + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: chitinid0 + offset: -0.2, 0.1 # 0625 diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png diff --git a/Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png rename to Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/eyes.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/eyes.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/eyes.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/eyes.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/full.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/full.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/full.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/full.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/head_f.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_f.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/head_f.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_f.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/head_m.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_m.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/head_m.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_m.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_arm.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_arm.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_arm.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_foot.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_foot.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_foot.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_foot.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_hand.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_hand.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_hand.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_hand.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_leg.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/l_leg.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_leg.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/meta.json similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/meta.json rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/meta.json diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_arm.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_arm.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_arm.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_arm.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_foot.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_foot.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_foot.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_foot.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_hand.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_hand.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_hand.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_hand.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_leg.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_leg.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/r_leg.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_leg.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_f.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_f.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_f.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_f.png diff --git a/Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_m.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_m.png similarity index 100% rename from Resources/Textures/_DV/Mobs/Species/Chitinid/parts.rsi/torso_m.png rename to Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_m.png diff --git a/Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/chitzite.png b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite.png similarity index 100% rename from Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/chitzite.png rename to Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite.png diff --git a/Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png similarity index 100% rename from Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png rename to Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png diff --git a/Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/meta.json b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/meta.json similarity index 100% rename from Resources/Textures/_DV/Objects/Specific/Species/chitinid.rsi/meta.json rename to Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/meta.json From 86874c153ffc81706169807937a27797923eb945 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 10:51:07 -0400 Subject: [PATCH 04/18] outdated... --- Content.Server/Chemistry/EntitySystems/InjectorSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs index fab80be8bc7..aeab48839bc 100644 --- a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs @@ -262,7 +262,7 @@ private void TryInject(Entity injector, EntityUid targetEntit Entity targetSolution, EntityUid user, bool asRefill) { if (HasComp(targetEntity)) // DeltaV - return false; + return; if (!SolutionContainers.TryGetSolution(injector.Owner, injector.Comp.SolutionName, out var soln, out var solution) || solution.Volume == 0) From 63fa06919601401eb252040a03aad7b7c8f69d6b Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 10:58:22 -0400 Subject: [PATCH 05/18] Fix yml? --- Resources/Prototypes/Guidebook/species.yml | 12 +----------- Resources/Prototypes/_DV/Guidebook/species.yml | 2 +- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/Resources/Prototypes/Guidebook/species.yml b/Resources/Prototypes/Guidebook/species.yml index c9b0ee3263c..1d770fe9662 100644 --- a/Resources/Prototypes/Guidebook/species.yml +++ b/Resources/Prototypes/Guidebook/species.yml @@ -55,17 +55,7 @@ name: species-name-ipc text: "/ServerInfo/Guidebook/Mobs/IPCs.xml" -- type: guideEntry - id: Harpy - name: species-name-harpy - text: "/ServerInfo/Guidebook/Mobs/Harpy.xml" - - type: guideEntry id: Shadowkin name: species-name-shadowkin - text: "/ServerInfo/Guidebook/Mobs/Shadowkin.xml" - -- type: guideEntry - id: Chitinid - name: species-name-chitinid - text: "/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml" \ No newline at end of file + text: "/ServerInfo/Guidebook/Mobs/Shadowkin.xml" \ No newline at end of file diff --git a/Resources/Prototypes/_DV/Guidebook/species.yml b/Resources/Prototypes/_DV/Guidebook/species.yml index adfc292a746..b9393d0fac1 100644 --- a/Resources/Prototypes/_DV/Guidebook/species.yml +++ b/Resources/Prototypes/_DV/Guidebook/species.yml @@ -26,4 +26,4 @@ - type: guideEntry id: Chitinid name: species-name-chitinid - text: "/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml" + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml" \ No newline at end of file From 7e820adad1cabe5aa0316a4fac0684c7afcdea70 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:00:40 -0400 Subject: [PATCH 06/18] felinid kill --- Resources/Prototypes/DeltaV/typing_indicator.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Resources/Prototypes/DeltaV/typing_indicator.yml b/Resources/Prototypes/DeltaV/typing_indicator.yml index 9cd5dd50236..17e756ffe69 100644 --- a/Resources/Prototypes/DeltaV/typing_indicator.yml +++ b/Resources/Prototypes/DeltaV/typing_indicator.yml @@ -1,10 +1,4 @@ - type: typingIndicator - id: felinid - spritePath: /Textures/DeltaV/Effects/speech.rsi - typingState: felinid0 - offset: 0, 0.2 # 0625 - -- type: typingIndicator id: Chitinid spritePath: /Textures/DeltaV/Effects/speech.rsi typingState: chitinid0 From 17080fa68607f14f575e92ad11e2575f8e3573d5 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:04:35 -0400 Subject: [PATCH 07/18] yay! --- .../{_DV => DeltaV}/Guidebook/species.yml | 0 .../Prototypes/DeltaV/typing_indicator.yml | 12 ++++++++++++ Resources/Prototypes/_DV/typing_indicator.yml | 17 ----------------- 3 files changed, 12 insertions(+), 17 deletions(-) rename Resources/Prototypes/{_DV => DeltaV}/Guidebook/species.yml (100%) delete mode 100644 Resources/Prototypes/_DV/typing_indicator.yml diff --git a/Resources/Prototypes/_DV/Guidebook/species.yml b/Resources/Prototypes/DeltaV/Guidebook/species.yml similarity index 100% rename from Resources/Prototypes/_DV/Guidebook/species.yml rename to Resources/Prototypes/DeltaV/Guidebook/species.yml diff --git a/Resources/Prototypes/DeltaV/typing_indicator.yml b/Resources/Prototypes/DeltaV/typing_indicator.yml index 17e756ffe69..e36394581de 100644 --- a/Resources/Prototypes/DeltaV/typing_indicator.yml +++ b/Resources/Prototypes/DeltaV/typing_indicator.yml @@ -1,4 +1,16 @@ - type: typingIndicator + id: felinid + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: felinid0 + offset: 0, 0.2 # 0625 + +- type: typingIndicator + id: rodentia + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: rodentia0 + offset: 0, 0.2 # 0625 + +- type: typingIndicator id: Chitinid spritePath: /Textures/DeltaV/Effects/speech.rsi typingState: chitinid0 diff --git a/Resources/Prototypes/_DV/typing_indicator.yml b/Resources/Prototypes/_DV/typing_indicator.yml deleted file mode 100644 index 7507f6fbb02..00000000000 --- a/Resources/Prototypes/_DV/typing_indicator.yml +++ /dev/null @@ -1,17 +0,0 @@ -- type: typingIndicator - id: felinid - spritePath: /Textures/DeltaV/Effects/speech.rsi - typingState: felinid0 - offset: 0, 0.2 # 0625 - -- type: typingIndicator - id: rodentia - spritePath: /Textures/DeltaV/Effects/speech.rsi - typingState: rodentia0 - offset: 0, 0.2 # 0625 - -- type: typingIndicator - id: Chitinid - spritePath: /Textures/DeltaV/Effects/speech.rsi - typingState: chitinid0 - offset: -0.2, 0.1 # 0625 From 3afc1cc37d59a26d39b1f4fdccc32a8f89e0f627 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:12:44 -0400 Subject: [PATCH 08/18] work? --- .../Mobs/Customization/Markings/chitinid.yml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml index cc2c60800bf..a505cd43564 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml @@ -176,7 +176,7 @@ - type: marking id: ChitinidLLegCharred bodyPart: LLeg - markingCategory: Legs + markingCategory: LeftLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -185,7 +185,7 @@ - type: marking id: ChitinidRLegCharred bodyPart: RLeg - markingCategory: Legs + markingCategory: RightLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -259,7 +259,7 @@ - type: marking id: ChitinidLLegStripes bodyPart: LLeg - markingCategory: Legs + markingCategory: LeftLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -268,7 +268,7 @@ - type: marking id: ChitinidRLegStripes bodyPart: RLeg - markingCategory: Legs + markingCategory: RightLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -314,7 +314,7 @@ - type: marking id: ChitinidLLegRadiant bodyPart: LLeg - markingCategory: Legs + markingCategory: LeftLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -323,7 +323,7 @@ - type: marking id: ChitinidRLegRadiant bodyPart: RLeg - markingCategory: Legs + markingCategory: RightLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -369,7 +369,7 @@ - type: marking id: ChitinidLLegToxic bodyPart: LLeg - markingCategory: Legs + markingCategory: LeftLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -378,7 +378,7 @@ - type: marking id: ChitinidRLegToxic bodyPart: RLeg - markingCategory: Legs + markingCategory: RightLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -424,7 +424,7 @@ - type: marking id: ChitinidLLegSpotted bodyPart: LLeg - markingCategory: Legs + markingCategory: LeftLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -433,7 +433,7 @@ - type: marking id: ChitinidRLegSpotted bodyPart: RLeg - markingCategory: Legs + markingCategory: RightLeg speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi From 5042179bc6da619110d3c81422134b46070683c8 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:18:51 -0400 Subject: [PATCH 09/18] fix... --- .../Mobs/Customization/Markings/chitinid.yml | 24 +++++++++---------- .../Prototypes/DeltaV/Species/chitinid.yml | 16 ++++++------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml index a505cd43564..a8644a4e079 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml @@ -194,7 +194,7 @@ - type: marking id: ChitinidLArmCharred bodyPart: LArm - markingCategory: Arms + markingCategory: LeftArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -203,7 +203,7 @@ - type: marking id: ChitinidRArmCharred bodyPart: RArm - markingCategory: Arms + markingCategory: RightArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -222,7 +222,7 @@ - type: marking id: ChitinidLArmPlated bodyPart: LArm - markingCategory: Arms + markingCategory: LeftArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -231,7 +231,7 @@ - type: marking id: ChitinidRArmPlated bodyPart: RArm - markingCategory: Arms + markingCategory: RightArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -277,7 +277,7 @@ - type: marking id: ChitinidLArmStripes bodyPart: LArm - markingCategory: Arms + markingCategory: LeftArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -286,7 +286,7 @@ - type: marking id: ChitinidRArmStripes bodyPart: RArm - markingCategory: Arms + markingCategory: RightArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -332,7 +332,7 @@ - type: marking id: ChitinidLArmRadiant bodyPart: LArm - markingCategory: Arms + markingCategory: LeftArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -341,7 +341,7 @@ - type: marking id: ChitinidRArmRadiant bodyPart: RArm - markingCategory: Arms + markingCategory: RightArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -387,7 +387,7 @@ - type: marking id: ChitinidLArmToxic bodyPart: LArm - markingCategory: Arms + markingCategory: LeftArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -396,7 +396,7 @@ - type: marking id: ChitinidRArmToxic bodyPart: RArm - markingCategory: Arms + markingCategory: RightArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -442,7 +442,7 @@ - type: marking id: ChitinidLArmSpotted bodyPart: LArm - markingCategory: Arms + markingCategory: LeftArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi @@ -451,7 +451,7 @@ - type: marking id: ChitinidRArmSpotted bodyPart: RArm - markingCategory: Arms + markingCategory: RightArm speciesRestriction: [Chitinid] sprites: - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi diff --git a/Resources/Prototypes/DeltaV/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Species/chitinid.yml index d08a440da0c..1e75911eed0 100644 --- a/Resources/Prototypes/DeltaV/Species/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Species/chitinid.yml @@ -69,17 +69,17 @@ Chest: points: 1 required: false - Underwear: - points: 1 + LeftLeg: + points: 2 required: false - Undershirt: - points: 1 + RightLeg: + points: 2 required: false - Legs: - points: 6 + LeftArm: + points: 2 required: false - Arms: - points: 6 + RightArm: + points: 2 required: false - type: humanoidBaseSprite From bbb3b395708ac1bf50bb0f3d6ea75fc32f28c0c9 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:20:55 -0400 Subject: [PATCH 10/18] ! --- Resources/Prototypes/DeltaV/Species/chitinid.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Resources/Prototypes/DeltaV/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Species/chitinid.yml index 1e75911eed0..6fa19aa9fea 100644 --- a/Resources/Prototypes/DeltaV/Species/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Species/chitinid.yml @@ -17,8 +17,6 @@ sprites: Head: MobChitinidHead Snout: MobHumanoidAnyMarking - Underwear: MobHumanoidAnyMarking - Undershirt: MobHumanoidAnyMarking Chest: MobChitinidTorso HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking From fc255bb9fda92b0c2e87e8185376fbfd1b8b251b Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Mon, 5 Aug 2024 04:07:02 -0400 Subject: [PATCH 11/18] Add slowdown to low temperatures (#29692) * TemperatureSpeed component * temperature slowdown prediction (done right) * remove unnecessary changes * that too * get in line * make it readonly * auto pause --- .../ConstructionSystem.Interactions.cs | 2 +- .../Components/TemperatureComponent.cs | 14 +--- .../Temperature/Systems/TemperatureSystem.cs | 14 ---- .../Components/TemperatureSpeedComponent.cs | 30 +++++++ .../Systems/SharedTemperatureSystem.cs | 80 +++++++++++++++++++ .../Temperature/TemperatureEvents.cs | 15 ++++ .../Prototypes/Entities/Mobs/Species/base.yml | 5 ++ .../Prototypes/Entities/Mobs/Species/moth.yml | 5 ++ .../Entities/Mobs/Species/reptilian.yml | 5 ++ 9 files changed, 143 insertions(+), 27 deletions(-) create mode 100644 Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs create mode 100644 Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs diff --git a/Content.Server/Construction/ConstructionSystem.Interactions.cs b/Content.Server/Construction/ConstructionSystem.Interactions.cs index ad7b2a11b0e..c844dd2c9ad 100644 --- a/Content.Server/Construction/ConstructionSystem.Interactions.cs +++ b/Content.Server/Construction/ConstructionSystem.Interactions.cs @@ -2,7 +2,6 @@ using Content.Server.Administration.Logs; using Content.Server.Construction.Components; using Content.Server.Temperature.Components; -using Content.Server.Temperature.Systems; using Content.Shared.Construction; using Content.Shared.Construction.Components; using Content.Shared.Construction.EntitySystems; @@ -11,6 +10,7 @@ using Content.Shared.Interaction; using Content.Shared.Prying.Systems; using Content.Shared.Radio.EntitySystems; +using Content.Shared.Temperature; using Content.Shared.Tools.Systems; using Robust.Shared.Containers; using Robust.Shared.Utility; diff --git a/Content.Server/Temperature/Components/TemperatureComponent.cs b/Content.Server/Temperature/Components/TemperatureComponent.cs index 3bfa12f2693..ae2c373b140 100644 --- a/Content.Server/Temperature/Components/TemperatureComponent.cs +++ b/Content.Server/Temperature/Components/TemperatureComponent.cs @@ -1,4 +1,3 @@ -using Content.Server.Temperature.Systems; using Content.Shared.Alert; using Content.Shared.Atmos; using Content.Shared.Damage; @@ -51,15 +50,6 @@ public sealed partial class TemperatureComponent : Component [DataField, ViewVariables(VVAccess.ReadWrite)] public float AtmosTemperatureTransferEfficiency = 0.1f; - [Obsolete("Use system method")] - public float HeatCapacity - { - get - { - return IoCManager.Resolve().System().GetHeatCapacity(Owner, this); - } - } - [DataField, ViewVariables(VVAccess.ReadWrite)] public DamageSpecifier ColdDamage = new(); @@ -71,7 +61,7 @@ public float HeatCapacity /// /// /// Okay it genuinely reaches this basically immediately for a plasma fire. - /// + /// [DataField, ViewVariables(VVAccess.ReadWrite)] public FixedPoint2 DamageCap = FixedPoint2.New(8); @@ -79,7 +69,7 @@ public float HeatCapacity /// Used to keep track of when damage starts/stops. Useful for logs. /// [DataField] - public bool TakingDamage = false; + public bool TakingDamage; [DataField] public ProtoId HotAlert = "Hot"; diff --git a/Content.Server/Temperature/Systems/TemperatureSystem.cs b/Content.Server/Temperature/Systems/TemperatureSystem.cs index ee13cb96a5e..6586ce5613a 100644 --- a/Content.Server/Temperature/Systems/TemperatureSystem.cs +++ b/Content.Server/Temperature/Systems/TemperatureSystem.cs @@ -414,17 +414,3 @@ private void RecalculateAndApplyParentThresholds(EntityUid uid, return (newHeatThreshold, newColdThreshold); } } - -public sealed class OnTemperatureChangeEvent : EntityEventArgs -{ - public float CurrentTemperature { get; } - public float LastTemperature { get; } - public float TemperatureDelta { get; } - - public OnTemperatureChangeEvent(float current, float last, float delta) - { - CurrentTemperature = current; - LastTemperature = last; - TemperatureDelta = delta; - } -} diff --git a/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs b/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs new file mode 100644 index 00000000000..74ba2a02749 --- /dev/null +++ b/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs @@ -0,0 +1,30 @@ +using Content.Shared.Temperature.Systems; +using Robust.Shared.GameStates; + +namespace Content.Shared.Temperature.Components; + +///

+/// This is used for an entity that varies in speed based on current temperature. +/// +[RegisterComponent, NetworkedComponent, Access(typeof(SharedTemperatureSystem)), AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class TemperatureSpeedComponent : Component +{ + /// + /// Pairs of temperature thresholds to applied slowdown values. + /// + [DataField] + public Dictionary Thresholds = new(); + + /// + /// The current speed modifier from we reached. + /// Stored and networked so that the client doesn't mispredict temperature + /// + [DataField, AutoNetworkedField] + public float? CurrentSpeedModifier; + + /// + /// The time at which the temperature slowdown is updated. + /// + [DataField, AutoNetworkedField, AutoPausedField] + public TimeSpan? NextSlowdownUpdate; +} diff --git a/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs b/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs new file mode 100644 index 00000000000..efea2df5aff --- /dev/null +++ b/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs @@ -0,0 +1,80 @@ +using System.Linq; +using Content.Shared.Movement.Components; +using Content.Shared.Movement.Systems; +using Content.Shared.Temperature.Components; +using Robust.Shared.Timing; + +namespace Content.Shared.Temperature.Systems; + +/// +/// This handles predicting temperature based speedup. +/// +public sealed class SharedTemperatureSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly MovementSpeedModifierSystem _movementSpeedModifier = default!; + + /// + /// Band-aid for unpredicted atmos. Delays the application for a short period so that laggy clients can get the replicated temperature. + /// + private static readonly TimeSpan SlowdownApplicationDelay = TimeSpan.FromSeconds(1f); + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTemperatureChanged); + SubscribeLocalEvent(OnRefreshMovementSpeedModifiers); + } + + private void OnTemperatureChanged(Entity ent, ref OnTemperatureChangeEvent args) + { + foreach (var (threshold, modifier) in ent.Comp.Thresholds) + { + if (args.CurrentTemperature < threshold && args.LastTemperature > threshold || + args.CurrentTemperature > threshold && args.LastTemperature < threshold) + { + ent.Comp.NextSlowdownUpdate = _timing.CurTime + SlowdownApplicationDelay; + ent.Comp.CurrentSpeedModifier = modifier; + Dirty(ent); + break; + } + } + + var maxThreshold = ent.Comp.Thresholds.Max(p => p.Key); + if (args.CurrentTemperature > maxThreshold && args.LastTemperature < maxThreshold) + { + ent.Comp.NextSlowdownUpdate = _timing.CurTime + SlowdownApplicationDelay; + ent.Comp.CurrentSpeedModifier = null; + Dirty(ent); + } + } + + private void OnRefreshMovementSpeedModifiers(Entity ent, ref RefreshMovementSpeedModifiersEvent args) + { + // Don't update speed and mispredict while we're compensating for lag. + if (ent.Comp.NextSlowdownUpdate != null || ent.Comp.CurrentSpeedModifier == null) + return; + + args.ModifySpeed(ent.Comp.CurrentSpeedModifier.Value, ent.Comp.CurrentSpeedModifier.Value); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var temp, out var movement)) + { + if (temp.NextSlowdownUpdate == null) + continue; + + if (_timing.CurTime < temp.NextSlowdownUpdate) + continue; + + temp.NextSlowdownUpdate = null; + _movementSpeedModifier.RefreshMovementSpeedModifiers(uid, movement); + Dirty(uid, temp); + } + } +} diff --git a/Content.Shared/Temperature/TemperatureEvents.cs b/Content.Shared/Temperature/TemperatureEvents.cs index ac12224868f..7a26d07e306 100644 --- a/Content.Shared/Temperature/TemperatureEvents.cs +++ b/Content.Shared/Temperature/TemperatureEvents.cs @@ -13,3 +13,18 @@ public ModifyChangedTemperatureEvent(float temperature) TemperatureDelta = temperature; } } + +public sealed class OnTemperatureChangeEvent : EntityEventArgs +{ + public readonly float CurrentTemperature; + public readonly float LastTemperature; + public readonly float TemperatureDelta; + + public OnTemperatureChangeEvent(float current, float last, float delta) + { + CurrentTemperature = current; + LastTemperature = last; + TemperatureDelta = delta; + } +} + diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index bb27e46ba47..b799482b5d0 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -312,6 +312,11 @@ heatDamage: types: Heat: 1.5 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 293: 0.8 + 280: 0.6 + 260: 0.4 - type: ThermalRegulator metabolismHeat: 800 radiatedHeat: 100 diff --git a/Resources/Prototypes/Entities/Mobs/Species/moth.yml b/Resources/Prototypes/Entities/Mobs/Species/moth.yml index 721724460cb..86d8872e3ca 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/moth.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/moth.yml @@ -68,6 +68,11 @@ heatDamage: types: Heat : 3 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 289: 0.8 + 275: 0.6 + 250: 0.4 - type: Sprite # sprite again because we want different layer ordering noRot: true drawdepth: Mobs diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml index 49716a05803..1564fc78ecf 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -58,6 +58,11 @@ heatDamage: types: Heat : 1.5 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 301: 0.8 + 295: 0.6 + 285: 0.4 - type: Wagging - type: LanguageKnowledge speaks: From f0f9bc1ea96e73367d13d160d0392c5e40fed052 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:25:38 -0400 Subject: [PATCH 12/18] remove things --- Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml index 7bc97d9420e..6e6f8fbafad 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml @@ -117,8 +117,6 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] - - map: [ "enum.HumanoidVisualLayers.Underwear" ] # DeltaV - - map: [ "enum.HumanoidVisualLayers.Undershirt" ] # DeltaV - map: [ "jumpsuit" ] - map: [ "enum.HumanoidVisualLayers.LHand" ] - map: [ "enum.HumanoidVisualLayers.RHand" ] From 4d80be8765b8da4c0fa2c362298b5f06c7ee3720 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:34:57 -0400 Subject: [PATCH 13/18] deep fryer. --- .../Kitchen/EntitySystems/DeepFryerSystem.cs | 62 ++++++------------- 1 file changed, 20 insertions(+), 42 deletions(-) diff --git a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs index ec1b81cfb34..5531f08aa59 100644 --- a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs +++ b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs @@ -1,4 +1,4 @@ - using System.Diagnostics.CodeAnalysis; +using System.Diagnostics.CodeAnalysis; using System.Linq; using Content.Server.Administration.Logs; using Content.Server.Audio; @@ -15,8 +15,10 @@ using Content.Server.Popups; using Content.Server.Power.Components; using Content.Server.Power.EntitySystems; +using Content.Server.Storage.EntitySystems; using Content.Server.Temperature.Components; using Content.Server.Temperature.Systems; +using Content.Server.UserInterface; using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Components.SolutionManager; using Content.Shared.Chemistry.EntitySystems; @@ -39,7 +41,6 @@ using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Systems; using Content.Shared.Movement.Events; -using Content.Shared.Nutrition; using Content.Shared.Nyanotrasen.Kitchen; using Content.Shared.Nyanotrasen.Kitchen.Components; using Content.Shared.Nyanotrasen.Kitchen.UI; @@ -56,7 +57,6 @@ using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Timing; -using Robust.Shared.Physics.Components; namespace Content.Server.Nyanotrasen.Kitchen.EntitySystems; @@ -105,15 +105,12 @@ public override void Initialize() SubscribeLocalEvent(OnInitDeepFryer); SubscribeLocalEvent(OnPowerChange); - SubscribeLocalEvent(OnRefreshParts); SubscribeLocalEvent(OnDeconstruct); SubscribeLocalEvent(OnDestruction); SubscribeLocalEvent(OnThrowHitBy); SubscribeLocalEvent(OnSolutionChange); SubscribeLocalEvent(OnRelayMovement); SubscribeLocalEvent(OnInteractUsing); - SubscribeLocalEvent(OnCanDragDropOn); - SubscribeLocalEvent(OnDragDropOn); SubscribeLocalEvent(OnBeforeActivatableUIOpen); SubscribeLocalEvent(OnRemoveItem); @@ -137,7 +134,7 @@ private void UpdateUserInterface(EntityUid uid, DeepFryerComponent component) component.FryingOilThreshold, EntityManager.GetNetEntityArray(component.Storage.ContainedEntities.ToArray())); - _uiSystem.SetUiState(new Entity(uid, null), DeepFryerUiKey.Key, state); + _uiSystem.SetUiState(uid, DeepFryerUiKey.Key, state); } /// @@ -167,12 +164,6 @@ public FixedPoint2 GetOilVolume(EntityUid uid, DeepFryerComponent component) return oilVolume; } - private void OnDragDropOn(EntityUid uid, DeepFryerComponent component, ref DragDropTargetEvent args) - { - _containerSystem.Insert(args.Dragged, component.Storage); - args.Handled = true; - } - /// /// Returns how much total waste is in the vat. /// @@ -214,7 +205,7 @@ private void CookItem(EntityUid uid, DeepFryerComponent component, EntityUid ite if (TryComp(item, out var tempComp)) { // Push the temperature towards what it should be but no higher. - var delta = (component.PoweredTemperature - tempComp.CurrentTemperature) * tempComp.HeatCapacity; + var delta = (component.PoweredTemperature - tempComp.CurrentTemperature) * _temperature.GetHeatCapacity(item, tempComp); if (delta > 0f) _temperature.ChangeHeat(item, delta, false, tempComp); @@ -347,12 +338,12 @@ private void DeepFry(EntityUid uid, DeepFryerComponent component, EntityUid item MakeCrispy(item); - var oilToUse = 0; - - if (HasComp(item)) { - var itemComponent = Comp(item); + var itemComponent = Comp(item); - oilToUse = (int) (itemComponent.Size.Id switch + // Determine how much solution to spend on this item. + var solutionQuantity = FixedPoint2.Min( + component.Solution.Volume, + itemComponent.Size.Id switch { "Tiny" => 1, "Small" => 5, @@ -362,15 +353,6 @@ private void DeepFry(EntityUid uid, DeepFryerComponent component, EntityUid item "Ginormous" => 50, _ => 10 } * component.SolutionSizeCoefficient); - } else { - oilToUse = (int) (TryComp(item, out var physicsComponent) ? physicsComponent.Mass : 10); - } - - // Determine how much solution to spend on this item. - var solutionQuantity = FixedPoint2.Min( - component.Solution.Volume, - oilToUse - ); if (component.Whitelist != null && _whitelistSystem.IsWhitelistPass(component.Whitelist, item) || beingEvent.TurnIntoFood) @@ -400,6 +382,7 @@ private void OnInitDeepFryer(EntityUid uid, DeepFryerComponent component, Compon { //JJ Comment - not sure this works. Need to check if Reagent.ToString is correct. _prototypeManager.TryIndex(reagent.Reagent.ToString(), out var proto); + var effectsArgs = new EntityEffectReagentArgs(uid, EntityManager, null, @@ -453,14 +436,6 @@ private void OnDestruction(EntityUid uid, DeepFryerComponent component, Destruct _containerSystem.EmptyContainer(component.Storage, true); } - private void OnRefreshParts(EntityUid uid, DeepFryerComponent component, RefreshPartsEvent args) - { - var ratingStorage = args.PartRatings[component.MachinePartStorageMax]; - - component.StorageMaxEntities = component.BaseStorageMaxEntities + - (int) (component.StoragePerPartRating * (ratingStorage - 1)); - } - /// /// Allow thrown items to land in a basket. /// @@ -522,6 +497,7 @@ private void OnSolutionChange(EntityUid uid, DeepFryerComponent component, Solut private void OnRelayMovement(EntityUid uid, DeepFryerComponent component, ref ContainerRelayMovementEntityEvent args) { + if (!_containerSystem.Remove(args.Entity, component.Storage, destination: Transform(uid).Coordinates)) return; @@ -548,7 +524,7 @@ private void OnRemoveItem(EntityUid uid, DeepFryerComponent component, DeepFryer if (!_containerSystem.Remove(removedItem, component.Storage)) return; - var user = EntityManager.GetEntity(args.Entity); + var user = args.Actor; _handsSystem.TryPickupAnyHand(user, removedItem); @@ -601,9 +577,10 @@ private bool TryGetActiveHandSolutionContainer( private void OnScoopVat(EntityUid uid, DeepFryerComponent component, DeepFryerScoopVatMessage args) { - var user = EntityManager.GetEntity(args.Entity); + var user = args.Actor; - if (!TryGetActiveHandSolutionContainer(uid, user, out var heldItem, out var heldSolution, + if (user == null || + !TryGetActiveHandSolutionContainer(uid, user, out var heldItem, out var heldSolution, out var transferAmount)) return; @@ -622,7 +599,7 @@ private void OnScoopVat(EntityUid uid, DeepFryerComponent component, DeepFryerSc private void OnClearSlagStart(EntityUid uid, DeepFryerComponent component, DeepFryerClearSlagMessage args) { - var user = EntityManager.GetEntity(args.Entity); + var user = args.Actor; if (!TryGetActiveHandSolutionContainer(uid, user, out var heldItem, out var heldSolution, out var transferAmount)) @@ -639,7 +616,7 @@ private void OnClearSlagStart(EntityUid uid, DeepFryerComponent component, DeepF return; } - var delay = Math.Clamp((float) wasteVolume * 0.1f, 1f, 5f); + var delay = TimeSpan.FromSeconds(Math.Clamp((float) wasteVolume * 0.1f, 1f, 5f)); var ev = new ClearSlagDoAfterEvent(heldSolution.Value.Comp.Solution, transferAmount); @@ -655,6 +632,7 @@ private void OnClearSlagStart(EntityUid uid, DeepFryerComponent component, DeepF _doAfterSystem.TryStartDoAfter(doAfterArgs); } + [Obsolete("Obsolete")] private void OnRemoveAllItems(EntityUid uid, DeepFryerComponent component, DeepFryerRemoveAllItemsMessage args) { if (component.Storage.ContainedEntities.Count == 0) @@ -662,7 +640,7 @@ private void OnRemoveAllItems(EntityUid uid, DeepFryerComponent component, DeepF _containerSystem.EmptyContainer(component.Storage); - var user = EntityManager.GetEntity(args.Entity); + var user = args.Actor; _adminLogManager.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user)} removed all items from {ToPrettyString(uid)}."); From 92f155f53fb5074fea59b1af287f3a31780c60bd Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:48:15 -0400 Subject: [PATCH 14/18] fix --- .../DeltaV/Voice/Chitinid/attributions.yml | 9 +++++++ .../DeltaV/Voice/Chitinid/male_cough_1.ogg | Bin 0 -> 13330 bytes .../DeltaV/Voice/Chitinid/moth_chitter.ogg | Bin 0 -> 9381 bytes .../DeltaV/Voice/Chitinid/moth_laugh.ogg | Bin 0 -> 20555 bytes .../DeltaV/Voice/Chitinid/moth_scream.ogg | Bin 0 -> 31333 bytes .../DeltaV/Voice/Chitinid/moth_squeak.ogg | Bin 0 -> 8676 bytes .../Prototypes/DeltaV/Guidebook/species.yml | 25 ------------------ .../DeltaV/Voice/speech_emote_sounds.yml | 8 +----- 8 files changed, 10 insertions(+), 32 deletions(-) create mode 100644 Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml create mode 100644 Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg create mode 100644 Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg create mode 100644 Resources/Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg create mode 100644 Resources/Audio/DeltaV/Voice/Chitinid/moth_scream.ogg create mode 100644 Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml b/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml new file mode 100644 index 00000000000..5d6386b81d6 --- /dev/null +++ b/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml @@ -0,0 +1,9 @@ +- files: ["moth_scream.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/tgstation/tgstation/commit/31c19654e0f641166ecd80c672ea05362fd19488" + source: "https://github.com/tgstation/tgstation/commits/master/sound/voice/moth/scream_moth.ogg" + +- files: ["moth_laugh.ogg, moth_chitter.ogg, moth_squeak.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/BeeStation/BeeStation-Hornet/commit/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d" + source: "https://github.com/BeeStation/BeeStation-Hornet/blob/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d/sound/emotes/" diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8ddc42024474f27604fe11b32badc9123224bc59 GIT binary patch literal 13330 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�Equ%G$d-k1< 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b7240a5653611bf7c7c56a38a1c69b4c3f7c80f4 GIT binary patch literal 9381 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

FT|| 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5b77d98e56541fa3ee34654737e9f78e0b5c58b8 GIT binary patch literal 8676 zcmaia2|SeF_y05YofsOThKOO5v5%c7#+G4ZiENYXAxcuChA3nilBLEnWDVIV>&Q-a z+AJYUsT4`^e}>QJ`~CdCzu)WodtUdsbDw+eJ?EZt-se2$@nY`oZVAu`zaEE()xLEJ8ha17=<>ck$ROA%lQdqoOkgJEUJKVrG*dxHt*9Y%=8A0QF1ibOS zu6}O#08JC;U{@v84hs$6s`DVhp%jX`z%-N6;z_yK?cAV{&s zgnWxlz7u}iM1CnZ$xLnONlu*FvQ*`u9=mMi5XJ;GYVBJ3oXO#OU_W{>^8L7+6}F;=n7& z;cPH|JUD1PILtOR!oD`lwl>0kBEn%a!WkC%SNj?Eev{VrREI+V@=#2 zO;3z0rUTq)CV{giiXjqnjPfpcmU^UDUo5Kj>8U{WRB-Gq0sYTFI}JegNXz>l?SgFz z{{L<|7dxc^9nh99{e@rpiyL6YUj`tV_bl8AfIij1BB=q2rvnvV25Nxq^kw}nl1blp z6YjsAKyy0)=%9qD{=!|LHL$Y70ZL~BHOB)@$3aujEb`y4@IAbMiil=jNbw}FD8xJO znS}tdg=Mjva6zp{RN8x$Bh0K^bEKodMe$kj@1DiZMkK9?qj9R{U>~MK)*Rpz&bK-!NcO1T%e+P zqDhA@-{(pqqdF0}hhyVTVG3@a!3s)JF5lYI91Z|Po;?)*-R(hnAH}(eccr_fp7qN2 zAZcB3Tff>$SsTwu4it!Dq!NhY*s6s`fu(3eFG|&zoeYJ9#ULpA5d}IG?iR1hB)AtO zk*NXQhpl-d09&ZO`H|(Y_N~*gP_+n5e^eU@5jU5 zkH?-r82O*T`d8!tV9*fvVv^(%gL;{9+f0vj-@$)Jjz9Eef^b)YxN(KJ=@7E-o1*!; z;wwG_3q?~)eur25LBj%gOJ#>)CHycBKN^gmtj62dgxOaA6)^i@^L{+&ACW@~5ixY! zoM9rvzaxh%6*sFIcho3R+&1x8NQ!%OTEW9dO9k0%{}DMC@8+l8&5ydf7!@ZKo#GLl zR#=zq-Cep;|9`fBMb7B}aj=1rV-O(zkH~3837-U`sRC)bzOSR^E6|{q4G#X(0RYe( z&tbfmM=Y?iqgbU;tSrt-^S?(7NF7x)9aaPln+yPg0B{s^GLh$QK)jx>rVR^fL7XuQ z&6L#+Bj)ocaG*KGF30OiYSt#A+c?&zu~Pi{CbwfHRN~;At$F8+=2cn1w8sEg0005i ziE4)h^c!`N_4`q*nWRp%BqeFc2qBvSQ$R@M@w(1sFXIcx*RnUKoo(=Vw^ZI9xSu@`n#D zC2Zz0&fzS6aua7OaKnB)VrC<321esNJ{km4oyYLbH9_yCJkmTov!4{ENfj0r6ju8b zmX_FOe=N){?5=PxEG_P?cv@8Iy#i88pA=Rg3k#7&6~)_y$d&3Rh4m%f6=mtAMJv^7 z>}|-E`b&kSr9~C1G-`dxN{9bSz1;OYL{DDPa(zL4z3)oBe{Z#qa8BX!3+bNLvhIqt zmHHEvL82D8ptmH4xwD`iKIgAIvfqrT@KJ9n+3p4z4E;n8_zBm6+n)Iz0_Qr`Wwf1D z<0$TF;7JQh(hG}LDtu+yidXb3aA6L~`1dLfwg-LRtHjxl$7UBU*Gu=j00p7mbodE3 z$O${VRt5=~6(#IpuAQ5#175E?{I}KSHiB}Valw1L045}Jx?~57}26yE0+8ZG{pq4(e9cf29;2^6mn(#dt^Qk0| z)x+C~7)(iWBDOapiN@-79L5Myorp03PldshM_}!|QDYfcZzb?lAge@-w`_-y*x`gK;aS;m@%fjO2Eq(wIGD?D4_{2pbFT>fx<1ll=8+rX#{&8&9SsV zOv%^?HWnnf`aB;^3tjtLa~Dt9jxm=KnsDjz+(`O zK|&h#Ue&@>ptsV-h+Q#FhB5et2)tkS!y3#w1bRS+z=|i+QV1<~6NFyS6Fh&v-uoz|& z2J1QRL6VIyc%c0};>6*?fr^A*wvv}VKs3Qf7KDQqEeQglK%w^9d6ra8=&+PTjL92I zfKa$l(w=H30|2YwfmZkOhy)PN4CugeK)Gml9+zJ9M`1-UGYS*Aq&qThbLp}0gU0~h zRlR7i*=w9d;)%B~%-)Qc=p7OR>^8 z2;!=RG%pND@an4rfH#cHKpFiZ17%4VtF)rqo)QE&XvP>+B-G_DYBA#^3xb*o);M`E zTIm74WNGzB3`hVUJ3s<@QJB_c1jhZlF!}e0^?y;K0IahPSc7lt4%i`<{i^&F@7|-U z_g_VN>i*+DYW9Cu@BeLN?^Oaq?w=i?)5OLM>@pv+KCOxnVn@<+j_FxW1&=z z&_qq>8X_oTcK2k#ki&qFE-^}xSa1n-!lf9MJA?(}6XseB29TW>cyupWMAeu}OciK< zFhh*F+*2B}V+W>vF98I@GXKcr+-I$?ruTd;3KrXXd)B6X7+^tPkZEWU)yIISqG3do z2)bc^ju`*1IUcpeeQ1GzTHIepI-|D-EtV{B4j}@9Olof=0ghPr3%ETn5_!Q=js$Yv zpCj>tGWN6tfDk??JXAF-%G0nL5R}RvhdN5;yK-7-ikA=^k*)1 zVgLdM0QgUMt{}!b;nWObiZL-hfXC(d0qkA$>2kcGAQd)BLQ$ZWSg(&6E-@D7nXVXA zTQSKRBb9J#D4@71xEK6NgtGv0JfaHWIuIzV6BI;bKmg>j=0Vgs28Iv3@@yPzFNuLe z9`pbYv6CYq%7%lNuP{8@MGdey=hVqe;E0W_yvP1gzM0YCO%R+2XAq5|LZI=4+kC!P zXF1JlTUgZ$C|vs=%Mjo&03>q4#l+Ikaa{Mg<9QMeB=RQlkwEwYz%+!w4G_c`qoSfN z#O1Wj(TnT55p&x=Fi7l?X&np8{-+AV-gy6GTE}poO#7Ioi3vV*yyzH89#vgj-~7D2 z8zF^6o=}q8*ri*SmDALauWe~-ACQugM#{@|eqdx|b2FE+=h-?85o};12Wlr(SkCp^ zI>-UlJ=Zi!j!q7+QCc6<|1MTp)0O9XK|k{2_YEatEZd5vV_smr&>Im1?cTn&nB( zZHL00%`Tv0Nyx#xjlEFcP95mZ3f-ys5lfdQ7ypeW9lvBU6($8f^jc&lPvq)cQy?)%2CchZ@g>LtG3Gvc@>{d+ucd#v?3kb0jSucA$q7pecm~V~ zINvd|TtCyxdslDtF;$6)<*~!hQssz0JEu*VeLhbm{5gm8KE_;}bWN2dgaauTQ<`Dh z_Wo?T)sIsPFR-T>ig+g4Ev3y%lP*I}S_!N47rp3%L7%su^5Q=PwPZCYP7Avftug0H z?)B7;Y7$^0&I)6M@ ziq@hM`U1T4fm0wNiFeyFflW00b#Tb(t1X_(pC;tB<@grK6j{{sos<3<2-dr>a>W7e zqf+O6IUKF>7Fe21>8387Nc+}CteSqw{!NSJcO$e_#tJh16Msx=nj`|~@BvSl9w}E2 z4xU?hKy2htoC;Uh^5hF4cjRIaeJQ{m{4i0O=^LRN~>^ONh=^#^P#CLaa2naf7?g-yDku2#>Jht|S3m9CB3Ob>g0 z`Q-Vfb57q4S2qh-0~iT@z_d9SnvN>smyS!{i!9A4cWlXjdoAiR zUFD9AMY(e1GZth~`c~b8_d8qiT*UT~w{fOPVt$o${lvw1Qj)to zn|$HLG`vi)aNA+7#W!DPqP-*9M}FwnAA38LXXqHAF*4n!=ofN?r!qkK4;{>_%gL~j zs$s17OSzK}QgyFUPSy4@m$%WFUIXS2Y^I;M3Q0D({TxxQ|6N~#aO^Y6sD>=x@M$%| zzN2C&YZ>@RFw|k;(FGHZmI?z>f%S^aY|f>^i1mzLr>3)fESqe+lrs#R9!~wyx*Gga z`@Qg^Fn?(eZ}r{HVr_IoXj-=cV%~bR$+fB_(ILs=u~OWp(oK_7k-5f06uXsxk=0p7 zkulx~f%$kxZP^OOAN7J0=Jx0@<2UCDk*ir$Tcv87$8FD?ul^GC%@ab)&;>c7k|VYi z%{EnaG#4vUouI9JvL8ON%&yy24poF8#zex%d01a{?!vUQR|MFa;-zv7ABhjJx$zBh>8!a__O>-JUviV5F90+BF0cuk!V7{QG5YWk4^IilYi=g@pjYuvEQfJ8ff^V+XN0MNel{V<&6jvd|d z(g7#p)T*DF@`iOT{-Ik+W}+QJy5*$U5s$i$$KMs9ZGn`EUAB*tpsMs z9Sj&6?szRKqp%^N30-3WC+~o-n_k8s$Bq)E?r)JFm@+)Ky&)Bci3?uzsU*d2wZ`Z7 z9(ixEHbG)DzjEzz1C5M9VrQxW&B4!k5cy^-;ox&wriu&D<%tvYsrWa~3~fd|-RQ^j&X~^i-c5ys=OViNAJFUyb3^b_(YRfho7|HtO&MWt+7z7HESZiC zi`wHF9uJDZguNxOL;d_xu=aw{qZ0I~r@a>L=Q|<@_wKDN@2+=$k>;94+&Qcl<1HCl z)@)OIiYO%bP3ouBui`f!>cbbi zgMGQ}%vE>R%3%(S@~Ehr3RjU?a0fb*06aIK+5m{$a*^|L0zOUg=FOAQW#_-L)T>u46EXp5Z8g`t~kpTjle z49wN&Z6Dfukuz6|Y~|r_8LQu-vvim*0e0lwos$tH`pg*fqbJhK-J&`!w+3plGNIKuV5&D(%29+qxR5HCIt92~rRcJ-% zf|IJhQs2$-&wg>84N9TzC%k(76_}fyc~|E1fDr@s9xu+|@tmd6Uxq;akbEB5?D&RI zAKSAScWrm*b|Y?EWz9^iEye!es?%Wy|8Dh!D0V zN+sD+SMlA1_V+7aN_rL|B(7jgG=D_8QD&cn&07eAggTG z%E{W@KyuJaW^k9XwXW+cP~FE9b2d&sKs*~#yAB|A8l2q+t`HthFwlMm7py>SI z0{y)0!HL#7C#$8R%>}7RRyVy%X9VP#)q;T$v4E4?)IyR!uieX|_=8%EU7^vh8+TvhrCW3&+7GRr2wi zM$UJ_aBpi0nd{US#G~H_PO1oXo3T*Jq9ukNbre1xy7-Z7?DcA8)cRX~W($(qsVC1% zFRR*L#MT^e{b9vz0XJBlXL)n4$MH0B-!;ac7!$qcY)!v7pYf@8Io2N^c)Me;@kCT$)d zfy|wk->F<=#M-<3%Psz~170}?EhpX#FZR`bF#Q3zFlV_4S0%{ZX-S_U$Cgw+Uh47u z`TXqSH;%K{4x)dg_w-IpS#a-ExL)Oyzriw$=eRtQGc_Ac2MhwChA)&q)H-{#8Z~w5 zj`o&ob>;iLso;bYUMTul%6iFAp%;(*{<&Mdb-41qgNc#tk?PN>FZdH(vukQYUU>a* z7E?H7&3K31O0RGylX-H=0$D8^Eqh%oJYwz91v7P;O)<5H{gr{7Y)`o@SJ?sU8%MYwtPqM$p6kwW^qf8nl?nOD+jZ*#zX+pd>Dd?# zku&bf+YTM7m71iRfyWxYpLj?{MetKk$(O>Bnd3t@K@;4d%-w z#s%!`jE0=9oKDZVWD$|lD5O~CF}!)W+GUtbTz>t`pefkK)$wW0l<3TZ4${37(|k+A z23p(aR&PXx^;=~h3Gi$RHm*so^R$Nlq)dKg8sbqO@cUdEKSgcR48zhgbhx)E;KAR~Yd~&!RsaS+k`( zAbzU+O+GdB<-1eMHC3qbpWSUmhQRk97r8sXIXY`DvclY`8_Tm=;YWM42}8cJlFm0d z$IVt|P1oqibU^P9B3*zbYq&{KUAa>{f4$SsscUN@-k;s6X>C=0*KO1vjq#`KvgjxQ zjZ18oKfr~w!!^`;9lh+c4z#qC%-#00Y7|>*Ny1*c*|3r_@0pl;IRO7lW#rQn856#D zUpKxMpenR@n_nP_Q;|E(_uEBN=$p?L=l|BIVZ?dqXnos-una|XlaB(Gq6I6Jk}@@2 zCpgQR*bUil-Ya2NltpXWk8^40`S%W^xTw#+upfUpH_Wr_rE(1Th3ANl6~`Or91&4E z|CSHEy{;Y@hR>!~^q7~4G{i?SKx?HpzTf2V6dGBy&-ImSba;EHcGPb&Wwo#J?Z%E$ z(4BGSM>=fpf}ZNaP@`jADUtVy_-`KJ2R=zO=$M*jptU?a|735xi}p*ox_f=ydq{8m zi3{$_Ew!HDH3I?Fr&4M&^nw*V2O98Zr@MGWRst>zEqrhg?8|lvGGAnr8EpLZPNvwd zV~sxMak4nC?xEjNa!=hKpk*e*k7)Gsadf@q2MEgHD*OKyzyO^2_g^yT!C~Mwe+A>q zW71NJV@g(|GbmgxwLaA%N%L9V&e9KSQ{@C@b;X%#@q_jhJXVb`%v!YD(Nth0A6s+K z;`i?Qbmii}EzD|TQ`M0lQ9{hlha=KTmDQ2*19D6d^*1>Ug9~9nT>VpMpB9c|n30Y| z=k3kA_D5DGhzzx|7dEMrv+oMeylQnkiJfOdA6y%qhH2Q zq)`;w_~7GE;MA?6n`bYych$B>FUM*)FWLB3Mcgk;&Se~d=pxGWS)~%+{^n{Kh7{xC^|F=#PF7>>ifD zz>pl{T)^6;Db+A44G=+iZ}&MKVx|~QFpC|w(b^t9&-ym8{)58H`I)rh^%!bf-;1Dw Sjk5^K8yUkeeT$BKhW`hii5zbL literal 0 HcmV?d00001 diff --git a/Resources/Prototypes/DeltaV/Guidebook/species.yml b/Resources/Prototypes/DeltaV/Guidebook/species.yml index b9393d0fac1..d64204e0a76 100644 --- a/Resources/Prototypes/DeltaV/Guidebook/species.yml +++ b/Resources/Prototypes/DeltaV/Guidebook/species.yml @@ -1,28 +1,3 @@ -- type: guideEntry - id: Felinid - name: species-name-felinid - text: "/ServerInfo/Guidebook/Mobs/DeltaV/Felinid.xml" - -- type: guideEntry - id: Harpy - name: species-name-harpy - text: "/ServerInfo/Guidebook/Mobs/DeltaV/Harpy.xml" - -- type: guideEntry - id: Vulpkanin - name: species-name-vulpkanin - text: "/ServerInfo/Guidebook/Mobs/DeltaV/Vulpkanin.xml" - -- type: guideEntry - id: Oni - name: species-name-oni - text: "/ServerInfo/Guidebook/Mobs/DeltaV/Oni.xml" - -- type: guideEntry - id: Rodentia - name: species-name-rodentia - text: "/ServerInfo/Guidebook/Mobs/DeltaV/Rodentia.xml" - - type: guideEntry id: Chitinid name: species-name-chitinid diff --git a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml index 0dff2c4c8ff..18f4258ba7f 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml @@ -174,8 +174,6 @@ collection: FemaleCry Weh: collection: Weh - Hew: - collection: Hew Sneeze: collection: MaleSneezes Cough: @@ -183,8 +181,4 @@ Yawn: collection: MaleYawn Hiss: - path: /Audio/Animals/snake_hiss.ogg - Gasp: - collection: MaleGasp - DefaultDeathgasp: - collection: MothDeathGasp \ No newline at end of file + path: /Audio/Animals/snake_hiss.ogg \ No newline at end of file From 9e6d2f405becaffbadde315107179326cba2a3bb Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:50:39 -0400 Subject: [PATCH 15/18] use old code! --- .../Kitchen/EntitySystems/DeepFryerSystem.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs index 5531f08aa59..725982011b7 100644 --- a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs +++ b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs @@ -124,6 +124,24 @@ public override void Initialize() SubscribeLocalEvent(OnExamineFried); SubscribeLocalEvent(OnPriceCalculation); SubscribeLocalEvent(OnSliceDeepFried); + + SubscribeLocalEvent(OnCanDragDropOn); + SubscribeLocalEvent(OnDragDropOn); + SubscribeLocalEvent(OnRefreshParts); + } + + private void OnRefreshParts(EntityUid uid, DeepFryerComponent component, RefreshPartsEvent args) + { + var ratingStorage = args.PartRatings[component.MachinePartStorageMax]; + + component.StorageMaxEntities = component.BaseStorageMaxEntities + + (int) (component.StoragePerPartRating * (ratingStorage - 1)); + } + + private void OnDragDropOn(EntityUid uid, DeepFryerComponent component, ref DragDropTargetEvent args) + { + _containerSystem.Insert(args.Dragged, component.Storage); + args.Handled = true; } private void UpdateUserInterface(EntityUid uid, DeepFryerComponent component) From 9bb975ab711eda7b6474872273d27a3e7ff1b06d Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 11:58:38 -0400 Subject: [PATCH 16/18] max guidebook --- Resources/Prototypes/DeltaV/Guidebook/species.yml | 5 +++++ .../ServerInfo/Guidebook/Mobs/{_DV => DeltaV}/Chitinid.xml | 0 Resources/ServerInfo/Guidebook/Mobs/{ => DeltaV}/Harpy.xml | 0 3 files changed, 5 insertions(+) rename Resources/ServerInfo/Guidebook/Mobs/{_DV => DeltaV}/Chitinid.xml (100%) rename Resources/ServerInfo/Guidebook/Mobs/{ => DeltaV}/Harpy.xml (100%) diff --git a/Resources/Prototypes/DeltaV/Guidebook/species.yml b/Resources/Prototypes/DeltaV/Guidebook/species.yml index d64204e0a76..d296a03ca6d 100644 --- a/Resources/Prototypes/DeltaV/Guidebook/species.yml +++ b/Resources/Prototypes/DeltaV/Guidebook/species.yml @@ -1,3 +1,8 @@ +- type: guideEntry + id: Harpy + name: species-name-harpy + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Harpy.xml" + - type: guideEntry id: Chitinid name: species-name-chitinid diff --git a/Resources/ServerInfo/Guidebook/Mobs/_DV/Chitinid.xml b/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml similarity index 100% rename from Resources/ServerInfo/Guidebook/Mobs/_DV/Chitinid.xml rename to Resources/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml diff --git a/Resources/ServerInfo/Guidebook/Mobs/Harpy.xml b/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Harpy.xml similarity index 100% rename from Resources/ServerInfo/Guidebook/Mobs/Harpy.xml rename to Resources/ServerInfo/Guidebook/Mobs/DeltaV/Harpy.xml From c4226acd164c30caa55a8895c72037b983c2bfea Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 12:23:49 -0400 Subject: [PATCH 17/18] rename --- Resources/Prototypes/DeltaV/Guidebook/species.yml | 5 ----- Resources/Prototypes/Guidebook/species.yml | 7 ++++++- Resources/ServerInfo/Guidebook/Mobs/{DeltaV => }/Harpy.xml | 0 3 files changed, 6 insertions(+), 6 deletions(-) rename Resources/ServerInfo/Guidebook/Mobs/{DeltaV => }/Harpy.xml (100%) diff --git a/Resources/Prototypes/DeltaV/Guidebook/species.yml b/Resources/Prototypes/DeltaV/Guidebook/species.yml index d296a03ca6d..d64204e0a76 100644 --- a/Resources/Prototypes/DeltaV/Guidebook/species.yml +++ b/Resources/Prototypes/DeltaV/Guidebook/species.yml @@ -1,8 +1,3 @@ -- type: guideEntry - id: Harpy - name: species-name-harpy - text: "/ServerInfo/Guidebook/Mobs/DeltaV/Harpy.xml" - - type: guideEntry id: Chitinid name: species-name-chitinid diff --git a/Resources/Prototypes/Guidebook/species.yml b/Resources/Prototypes/Guidebook/species.yml index 1d770fe9662..41f66834265 100644 --- a/Resources/Prototypes/Guidebook/species.yml +++ b/Resources/Prototypes/Guidebook/species.yml @@ -58,4 +58,9 @@ - type: guideEntry id: Shadowkin name: species-name-shadowkin - text: "/ServerInfo/Guidebook/Mobs/Shadowkin.xml" \ No newline at end of file + text: "/ServerInfo/Guidebook/Mobs/Shadowkin.xml" + +- type: guideEntry + id: Harpy + name: species-name-harpy + text: "/ServerInfo/Guidebook/Mobs/Harpy.xml" \ No newline at end of file diff --git a/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Harpy.xml b/Resources/ServerInfo/Guidebook/Mobs/Harpy.xml similarity index 100% rename from Resources/ServerInfo/Guidebook/Mobs/DeltaV/Harpy.xml rename to Resources/ServerInfo/Guidebook/Mobs/Harpy.xml From 8e5f36e91e5de39b81594917868cf249e513cf4d Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Thu, 23 Jan 2025 20:00:23 -0400 Subject: [PATCH 18/18] reverted EVERY change! --- .../Kitchen/EntitySystems/DeepFryerSystem.cs | 78 ++++++++++--------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs index 725982011b7..b56e8e9abed 100644 --- a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs +++ b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs @@ -1,4 +1,4 @@ -using System.Diagnostics.CodeAnalysis; + using System.Diagnostics.CodeAnalysis; using System.Linq; using Content.Server.Administration.Logs; using Content.Server.Audio; @@ -15,10 +15,8 @@ using Content.Server.Popups; using Content.Server.Power.Components; using Content.Server.Power.EntitySystems; -using Content.Server.Storage.EntitySystems; using Content.Server.Temperature.Components; using Content.Server.Temperature.Systems; -using Content.Server.UserInterface; using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Components.SolutionManager; using Content.Shared.Chemistry.EntitySystems; @@ -41,6 +39,7 @@ using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Systems; using Content.Shared.Movement.Events; +using Content.Shared.Nutrition; using Content.Shared.Nyanotrasen.Kitchen; using Content.Shared.Nyanotrasen.Kitchen.Components; using Content.Shared.Nyanotrasen.Kitchen.UI; @@ -57,6 +56,7 @@ using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Timing; +using Robust.Shared.Physics.Components; namespace Content.Server.Nyanotrasen.Kitchen.EntitySystems; @@ -105,12 +105,15 @@ public override void Initialize() SubscribeLocalEvent(OnInitDeepFryer); SubscribeLocalEvent(OnPowerChange); + SubscribeLocalEvent(OnRefreshParts); SubscribeLocalEvent(OnDeconstruct); SubscribeLocalEvent(OnDestruction); SubscribeLocalEvent(OnThrowHitBy); SubscribeLocalEvent(OnSolutionChange); SubscribeLocalEvent(OnRelayMovement); SubscribeLocalEvent(OnInteractUsing); + SubscribeLocalEvent(OnCanDragDropOn); + SubscribeLocalEvent(OnDragDropOn); SubscribeLocalEvent(OnBeforeActivatableUIOpen); SubscribeLocalEvent(OnRemoveItem); @@ -124,24 +127,6 @@ public override void Initialize() SubscribeLocalEvent(OnExamineFried); SubscribeLocalEvent(OnPriceCalculation); SubscribeLocalEvent(OnSliceDeepFried); - - SubscribeLocalEvent(OnCanDragDropOn); - SubscribeLocalEvent(OnDragDropOn); - SubscribeLocalEvent(OnRefreshParts); - } - - private void OnRefreshParts(EntityUid uid, DeepFryerComponent component, RefreshPartsEvent args) - { - var ratingStorage = args.PartRatings[component.MachinePartStorageMax]; - - component.StorageMaxEntities = component.BaseStorageMaxEntities + - (int) (component.StoragePerPartRating * (ratingStorage - 1)); - } - - private void OnDragDropOn(EntityUid uid, DeepFryerComponent component, ref DragDropTargetEvent args) - { - _containerSystem.Insert(args.Dragged, component.Storage); - args.Handled = true; } private void UpdateUserInterface(EntityUid uid, DeepFryerComponent component) @@ -152,7 +137,7 @@ private void UpdateUserInterface(EntityUid uid, DeepFryerComponent component) component.FryingOilThreshold, EntityManager.GetNetEntityArray(component.Storage.ContainedEntities.ToArray())); - _uiSystem.SetUiState(uid, DeepFryerUiKey.Key, state); + _uiSystem.SetUiState(new Entity(uid, null), DeepFryerUiKey.Key, state); } ///

@@ -182,6 +167,12 @@ public FixedPoint2 GetOilVolume(EntityUid uid, DeepFryerComponent component) return oilVolume; } + private void OnDragDropOn(EntityUid uid, DeepFryerComponent component, ref DragDropTargetEvent args) + { + _containerSystem.Insert(args.Dragged, component.Storage); + args.Handled = true; + } + /// /// Returns how much total waste is in the vat. /// @@ -356,12 +347,12 @@ private void DeepFry(EntityUid uid, DeepFryerComponent component, EntityUid item MakeCrispy(item); - var itemComponent = Comp(item); + var oilToUse = 0; - // Determine how much solution to spend on this item. - var solutionQuantity = FixedPoint2.Min( - component.Solution.Volume, - itemComponent.Size.Id switch + if (HasComp(item)) { + var itemComponent = Comp(item); + + oilToUse = (int) (itemComponent.Size.Id switch { "Tiny" => 1, "Small" => 5, @@ -371,6 +362,15 @@ private void DeepFry(EntityUid uid, DeepFryerComponent component, EntityUid item "Ginormous" => 50, _ => 10 } * component.SolutionSizeCoefficient); + } else { + oilToUse = (int) (TryComp(item, out var physicsComponent) ? physicsComponent.Mass : 10); + } + + // Determine how much solution to spend on this item. + var solutionQuantity = FixedPoint2.Min( + component.Solution.Volume, + oilToUse + ); if (component.Whitelist != null && _whitelistSystem.IsWhitelistPass(component.Whitelist, item) || beingEvent.TurnIntoFood) @@ -400,7 +400,6 @@ private void OnInitDeepFryer(EntityUid uid, DeepFryerComponent component, Compon { //JJ Comment - not sure this works. Need to check if Reagent.ToString is correct. _prototypeManager.TryIndex(reagent.Reagent.ToString(), out var proto); - var effectsArgs = new EntityEffectReagentArgs(uid, EntityManager, null, @@ -454,6 +453,14 @@ private void OnDestruction(EntityUid uid, DeepFryerComponent component, Destruct _containerSystem.EmptyContainer(component.Storage, true); } + private void OnRefreshParts(EntityUid uid, DeepFryerComponent component, RefreshPartsEvent args) + { + var ratingStorage = args.PartRatings[component.MachinePartStorageMax]; + + component.StorageMaxEntities = component.BaseStorageMaxEntities + + (int) (component.StoragePerPartRating * (ratingStorage - 1)); + } + /// /// Allow thrown items to land in a basket. /// @@ -515,7 +522,6 @@ private void OnSolutionChange(EntityUid uid, DeepFryerComponent component, Solut private void OnRelayMovement(EntityUid uid, DeepFryerComponent component, ref ContainerRelayMovementEntityEvent args) { - if (!_containerSystem.Remove(args.Entity, component.Storage, destination: Transform(uid).Coordinates)) return; @@ -542,7 +548,7 @@ private void OnRemoveItem(EntityUid uid, DeepFryerComponent component, DeepFryer if (!_containerSystem.Remove(removedItem, component.Storage)) return; - var user = args.Actor; + var user = EntityManager.GetEntity(args.Entity); _handsSystem.TryPickupAnyHand(user, removedItem); @@ -595,10 +601,9 @@ private bool TryGetActiveHandSolutionContainer( private void OnScoopVat(EntityUid uid, DeepFryerComponent component, DeepFryerScoopVatMessage args) { - var user = args.Actor; + var user = EntityManager.GetEntity(args.Entity); - if (user == null || - !TryGetActiveHandSolutionContainer(uid, user, out var heldItem, out var heldSolution, + if (!TryGetActiveHandSolutionContainer(uid, user, out var heldItem, out var heldSolution, out var transferAmount)) return; @@ -617,7 +622,7 @@ private void OnScoopVat(EntityUid uid, DeepFryerComponent component, DeepFryerSc private void OnClearSlagStart(EntityUid uid, DeepFryerComponent component, DeepFryerClearSlagMessage args) { - var user = args.Actor; + var user = EntityManager.GetEntity(args.Entity); if (!TryGetActiveHandSolutionContainer(uid, user, out var heldItem, out var heldSolution, out var transferAmount)) @@ -634,7 +639,7 @@ private void OnClearSlagStart(EntityUid uid, DeepFryerComponent component, DeepF return; } - var delay = TimeSpan.FromSeconds(Math.Clamp((float) wasteVolume * 0.1f, 1f, 5f)); + var delay = Math.Clamp((float) wasteVolume * 0.1f, 1f, 5f); var ev = new ClearSlagDoAfterEvent(heldSolution.Value.Comp.Solution, transferAmount); @@ -650,7 +655,6 @@ private void OnClearSlagStart(EntityUid uid, DeepFryerComponent component, DeepF _doAfterSystem.TryStartDoAfter(doAfterArgs); } - [Obsolete("Obsolete")] private void OnRemoveAllItems(EntityUid uid, DeepFryerComponent component, DeepFryerRemoveAllItemsMessage args) { if (component.Storage.ContainedEntities.Count == 0) @@ -658,7 +662,7 @@ private void OnRemoveAllItems(EntityUid uid, DeepFryerComponent component, DeepF _containerSystem.EmptyContainer(component.Storage); - var user = args.Actor; + var user = EntityManager.GetEntity(args.Entity); _adminLogManager.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user)} removed all items from {ToPrettyString(uid)}.");