From 8f6e66f7e36df4f3f841abac070a66e0dcf126ee Mon Sep 17 00:00:00 2001 From: Spatison <137375981+Spatison@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:02:13 +0300 Subject: [PATCH 1/3] add: hardlight spear --- Content.Server/Hands/Systems/HandsSystem.cs | 6 ++ Content.Server/OfferItem/OfferItemSystem.cs | 2 + .../DespawnOnLandItemComponent.cs | 8 +++ .../DespawnOnLandItemSystem.cs | 33 ++++++++++ .../Implants/Spawn/SpawnImplantComponent.cs | 13 ++++ .../Implants/Spawn/SpawnImplantSystem.cs | 34 +++++++++++ .../Throwing/ThrowingItemModifierComponent.cs | 8 +++ .../Components/SubdermalImplantComponent.cs | 2 + .../OfferItem/SharedOfferItemSystem.cs | 9 +++ Content.Shared/Throwing/ThrownItemSystem.cs | 4 ++ .../en-US/_white/store/uplink-catalog.ftl | 3 + .../ru-RU/_white/prototypes/actions/types.ftl | 2 + .../entities/objects/misc/implanters.ftl | 3 + .../objects/misc/subdermal_implants.ftl | 2 + .../entities/objects/weapons/melee/spear.ftl | 2 + .../ru-RU/_white/store/uplink-catalog.ftl | 3 + .../Prototypes/Entities/Objects/Fun/darts.yml | 2 +- .../Entities/Objects/Materials/shards.yml | 2 +- .../Entities/Objects/Misc/tiles.yml | 16 +++++ .../Entities/Objects/Weapons/Melee/spear.yml | 2 +- Resources/Prototypes/_White/Actions/types.yml | 14 +++++ .../_White/Catalog/uplink_catalog.yml | 17 ++++++ .../Entities/Objects/Misc/implanters.yml | 7 +++ .../Objects/Misc/subdermal_implants.yml | 11 ++++ .../Entities/Objects/Weapons/Melee/spear.yml | 57 ++++++++++++++++++ .../hardlight_spear.rsi/equipped-BACKPACK.png | Bin 0 -> 324 bytes .../Spear/hardlight_spear.rsi/inhand-left.png | Bin 0 -> 640 bytes .../hardlight_spear.rsi/inhand-right.png | Bin 0 -> 649 bytes .../Melee/Spear/hardlight_spear.rsi/meta.json | 34 +++++++++++ .../Melee/Spear/hardlight_spear.rsi/spear.png | Bin 0 -> 526 bytes .../wielded-inhand-left.png | Bin 0 -> 442 bytes .../wielded-inhand-right.png | Bin 0 -> 436 bytes 32 files changed, 293 insertions(+), 3 deletions(-) create mode 100644 Content.Server/_White/DespawnOnLandItem/DespawnOnLandItemComponent.cs create mode 100644 Content.Server/_White/DespawnOnLandItem/DespawnOnLandItemSystem.cs create mode 100644 Content.Server/_White/Implants/Spawn/SpawnImplantComponent.cs create mode 100644 Content.Server/_White/Implants/Spawn/SpawnImplantSystem.cs create mode 100644 Content.Server/_White/Throwing/ThrowingItemModifierComponent.cs create mode 100644 Resources/Locale/ru-RU/_white/prototypes/actions/types.ftl create mode 100644 Resources/Locale/ru-RU/_white/prototypes/entities/objects/misc/implanters.ftl create mode 100644 Resources/Locale/ru-RU/_white/prototypes/entities/objects/misc/subdermal_implants.ftl create mode 100644 Resources/Locale/ru-RU/_white/prototypes/entities/objects/weapons/melee/spear.ftl create mode 100644 Resources/Prototypes/_White/Actions/types.yml create mode 100644 Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml create mode 100644 Resources/Prototypes/_White/Entities/Objects/Misc/subdermal_implants.yml create mode 100644 Resources/Prototypes/_White/Entities/Objects/Weapons/Melee/spear.yml create mode 100644 Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/equipped-BACKPACK.png create mode 100644 Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/inhand-left.png create mode 100644 Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/inhand-right.png create mode 100644 Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/meta.json create mode 100644 Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/spear.png create mode 100644 Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/wielded-inhand-right.png diff --git a/Content.Server/Hands/Systems/HandsSystem.cs b/Content.Server/Hands/Systems/HandsSystem.cs index bd24ddab5d..d48ac5989e 100644 --- a/Content.Server/Hands/Systems/HandsSystem.cs +++ b/Content.Server/Hands/Systems/HandsSystem.cs @@ -1,4 +1,5 @@ using System.Numerics; +using Content.Server._White.Throwing; using Content.Server.Inventory; using Content.Server.Stack; using Content.Server.Stunnable; @@ -206,6 +207,11 @@ hands.ActiveHandEntity is not { } throwEnt || var throwStrength = hands.ThrowForceMultiplier; + // WD EDIT START + if (TryComp(throwEnt, out var throwingItemModifier)) + throwStrength *= throwingItemModifier.ThrowingMultiplier; + // WD EDIT END + // Let other systems change the thrown entity (useful for virtual items) // or the throw strength. var ev = new BeforeThrowEvent(throwEnt, direction, throwStrength, player); diff --git a/Content.Server/OfferItem/OfferItemSystem.cs b/Content.Server/OfferItem/OfferItemSystem.cs index 420df71ace..f8634640f5 100644 --- a/Content.Server/OfferItem/OfferItemSystem.cs +++ b/Content.Server/OfferItem/OfferItemSystem.cs @@ -75,6 +75,8 @@ public void Receive(EntityUid uid, OfferItemComponent? component = null) ("item", Identity.Entity(offerItem.Item.Value, EntityManager)), ("target", Identity.Entity(uid, EntityManager))) , component.Target.Value, Filter.PvsExcept(component.Target.Value, entityManager: EntityManager), true); + + RaiseLocalEvent(offerItem.Item.Value, new HandedEvent(component.Target.Value, uid)); // WD EDIT } offerItem.Item = null; diff --git a/Content.Server/_White/DespawnOnLandItem/DespawnOnLandItemComponent.cs b/Content.Server/_White/DespawnOnLandItem/DespawnOnLandItemComponent.cs new file mode 100644 index 0000000000..739160e837 --- /dev/null +++ b/Content.Server/_White/DespawnOnLandItem/DespawnOnLandItemComponent.cs @@ -0,0 +1,8 @@ +namespace Content.Server._White.DespawnOnLandItem; + +[RegisterComponent] +public sealed partial class DespawnOnLandItemComponent : Component +{ + [DataField] + public float TimeDespawnOnLand = 3f; +} diff --git a/Content.Server/_White/DespawnOnLandItem/DespawnOnLandItemSystem.cs b/Content.Server/_White/DespawnOnLandItem/DespawnOnLandItemSystem.cs new file mode 100644 index 0000000000..a710fcad0e --- /dev/null +++ b/Content.Server/_White/DespawnOnLandItem/DespawnOnLandItemSystem.cs @@ -0,0 +1,33 @@ +using Content.Shared.Body.Components; +using Content.Shared.Interaction.Events; +using Content.Shared.OfferItem; +using Robust.Shared.Containers; +using Robust.Shared.Spawners; + +namespace Content.Server._White.DespawnOnLandItem; + +public sealed class DespawnOnLandItemSystem : EntitySystem +{ + public override void Initialize() + { + SubscribeLocalEvent(OnDrop); + SubscribeLocalEvent(OnHanded); + SubscribeLocalEvent(OnInsert); + } + + private void OnDrop(EntityUid uid, DespawnOnLandItemComponent component, DroppedEvent args) + { + EnsureComp(uid).Lifetime = component.TimeDespawnOnLand; + } + + private void OnHanded(EntityUid uid, DespawnOnLandItemComponent component, HandedEvent args) + { + EnsureComp(uid).Lifetime = component.TimeDespawnOnLand; + } + + private void OnInsert(EntityUid uid, DespawnOnLandItemComponent component, EntGotInsertedIntoContainerMessage args) + { + if (!HasComp(args.Container.Owner)) + EnsureComp(uid).Lifetime = component.TimeDespawnOnLand; + } +} diff --git a/Content.Server/_White/Implants/Spawn/SpawnImplantComponent.cs b/Content.Server/_White/Implants/Spawn/SpawnImplantComponent.cs new file mode 100644 index 0000000000..30ce2a492e --- /dev/null +++ b/Content.Server/_White/Implants/Spawn/SpawnImplantComponent.cs @@ -0,0 +1,13 @@ +using Robust.Shared.Audio; + +namespace Content.Server._White.Implants.Spawn; + +[RegisterComponent] +public sealed partial class SpawnImplantComponent : Component +{ + [DataField(required: true)] + public string SpawnId = string.Empty; + + [DataField] + public SoundSpecifier SoundOnSpawn = new SoundPathSpecifier("/Audio/Weapons/ebladeon.ogg"); +} diff --git a/Content.Server/_White/Implants/Spawn/SpawnImplantSystem.cs b/Content.Server/_White/Implants/Spawn/SpawnImplantSystem.cs new file mode 100644 index 0000000000..9bcaac8ff6 --- /dev/null +++ b/Content.Server/_White/Implants/Spawn/SpawnImplantSystem.cs @@ -0,0 +1,34 @@ +using Content.Shared.Hands.EntitySystems; +using Content.Shared.Implants.Components; +using Robust.Shared.Audio.Systems; + +namespace Content.Server._White.Implants.Spawn; + +public sealed class SpawnImplantSystem : EntitySystem +{ + [Dependency] private readonly SharedHandsSystem _hands = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnImplantActivate); + } + + private void OnImplantActivate(EntityUid uid, SubdermalImplantComponent component, ActivateSpawnImplantEvent args) + { + if (!TryComp(uid, out SpawnImplantComponent? implant) + || !TryComp(component.ImplantedEntity, out TransformComponent? transform)) + return; + + var spear = EntityManager.SpawnEntity(implant.SpawnId, transform.Coordinates); + + if (_hands.TryPickupAnyHand(component.ImplantedEntity.Value, spear)) + { + _audio.PlayPvs(implant.SoundOnSpawn, spear); + args.Handled = true; + return; + } + + Del(spear); + } +} diff --git a/Content.Server/_White/Throwing/ThrowingItemModifierComponent.cs b/Content.Server/_White/Throwing/ThrowingItemModifierComponent.cs new file mode 100644 index 0000000000..4389edb479 --- /dev/null +++ b/Content.Server/_White/Throwing/ThrowingItemModifierComponent.cs @@ -0,0 +1,8 @@ +namespace Content.Server._White.Throwing; + +[RegisterComponent] +public sealed partial class ThrowingItemModifierComponent : Component +{ + [DataField] + public float ThrowingMultiplier = 2.0f; +} diff --git a/Content.Shared/Implants/Components/SubdermalImplantComponent.cs b/Content.Shared/Implants/Components/SubdermalImplantComponent.cs index 09ef05e48a..9d00326839 100644 --- a/Content.Shared/Implants/Components/SubdermalImplantComponent.cs +++ b/Content.Shared/Implants/Components/SubdermalImplantComponent.cs @@ -89,3 +89,5 @@ public sealed partial class UseDnaScramblerImplantEvent : InstantActionEvent { } + +public sealed partial class ActivateSpawnImplantEvent : InstantActionEvent; // WD EDIT diff --git a/Content.Shared/OfferItem/SharedOfferItemSystem.cs b/Content.Shared/OfferItem/SharedOfferItemSystem.cs index ffea2a67c0..27592a38a9 100644 --- a/Content.Shared/OfferItem/SharedOfferItemSystem.cs +++ b/Content.Shared/OfferItem/SharedOfferItemSystem.cs @@ -155,3 +155,12 @@ protected bool IsInOfferMode(EntityUid? entity, OfferItemComponent? component = return entity != null && Resolve(entity.Value, ref component, false) && component.IsInOfferMode; } } + +// WD EDIT START +[Serializable] +public sealed class HandedEvent(EntityUid user, EntityUid target) : EntityEventArgs +{ + public EntityUid User = user; + public EntityUid Target = target; +} +// WD EDIT END diff --git a/Content.Shared/Throwing/ThrownItemSystem.cs b/Content.Shared/Throwing/ThrownItemSystem.cs index 7615b8e86c..3748cbe30d 100644 --- a/Content.Shared/Throwing/ThrownItemSystem.cs +++ b/Content.Shared/Throwing/ThrownItemSystem.cs @@ -25,6 +25,7 @@ public sealed class ThrownItemSystem : EntitySystem [Dependency] private readonly SharedGravitySystem _gravity = default!; private const string ThrowingFixture = "throw-fixture"; + private const string Fixture1 = "fix1"; // WD EDIT public override void Initialize() { @@ -66,6 +67,9 @@ private void HandleCollision(EntityUid uid, ThrownItemComponent component, ref S return; // WD EDIT START + if (args.OurFixtureId != Fixture1) + return; + if (component.Processed.Contains(args.OtherEntity)) return; // WD EDIT END diff --git a/Resources/Locale/en-US/_white/store/uplink-catalog.ftl b/Resources/Locale/en-US/_white/store/uplink-catalog.ftl index f80d022535..2f609916f6 100644 --- a/Resources/Locale/en-US/_white/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/_white/store/uplink-catalog.ftl @@ -9,3 +9,6 @@ uplink-betrayal-knife-desc = Syndicate teleporter, when used, moves 3-8 meters f uplink-ebow-name = Small energy crossbow uplink-ebow-desc = A fairly quiet weapon that automatically reloads and stuns. It goes well with other types of weapons. + +uplink-hardlight-spear-implant-name = Hardlight spear implanter +uplink-hardlight-spear-implant-desc = An implant injected into the body, and later activated at the user's will. It will summon a spear made out of hardlight that the user can use to wreak havoc. diff --git a/Resources/Locale/ru-RU/_white/prototypes/actions/types.ftl b/Resources/Locale/ru-RU/_white/prototypes/actions/types.ftl new file mode 100644 index 0000000000..7ea07f75b1 --- /dev/null +++ b/Resources/Locale/ru-RU/_white/prototypes/actions/types.ftl @@ -0,0 +1,2 @@ +ent-ActivateHardlightSpearImplant = Создать световое копьё + .desc = Создает световое копьё в ваших руках. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_white/prototypes/entities/objects/misc/implanters.ftl b/Resources/Locale/ru-RU/_white/prototypes/entities/objects/misc/implanters.ftl new file mode 100644 index 0000000000..fbf18ad788 --- /dev/null +++ b/Resources/Locale/ru-RU/_white/prototypes/entities/objects/misc/implanters.ftl @@ -0,0 +1,3 @@ +ent-HardlightSpearImplanter = { ent-BaseImplanter } + .desc = { ent-BaseImplanter.desc } + .suffix = световое копьё \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_white/prototypes/entities/objects/misc/subdermal_implants.ftl b/Resources/Locale/ru-RU/_white/prototypes/entities/objects/misc/subdermal_implants.ftl new file mode 100644 index 0000000000..f4e53adeaf --- /dev/null +++ b/Resources/Locale/ru-RU/_white/prototypes/entities/objects/misc/subdermal_implants.ftl @@ -0,0 +1,2 @@ +ent-HardlightSpearImplant = имплант световое копьё + .desc = Этот имплант создаёт световое копьё в ваших руках. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_white/prototypes/entities/objects/weapons/melee/spear.ftl b/Resources/Locale/ru-RU/_white/prototypes/entities/objects/weapons/melee/spear.ftl new file mode 100644 index 0000000000..ff85b5d8cc --- /dev/null +++ b/Resources/Locale/ru-RU/_white/prototypes/entities/objects/weapons/melee/spear.ftl @@ -0,0 +1,2 @@ +ent-HardlightSpear = световое копьё + .desc = Копьё из твердого света. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_white/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/_white/store/uplink-catalog.ftl index 8d58a4bc17..40e4b3ccd2 100644 --- a/Resources/Locale/ru-RU/_white/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/_white/store/uplink-catalog.ftl @@ -9,3 +9,6 @@ uplink-experimental-syndicate-teleporter-desc = Телепортер синди uplink-ebow-name = Маленький энергетический арбалет uplink-ebow-desc = Довольно тихое оружие, которое автоматически перезаряжается и оглушает. Хорошо сочетается с другими видами оружия. + +uplink-hardlight-spear-implant-name = Имплант светового копья +uplink-hardlight-spear-implant-desc = Имплант, вводимый в тело и активируемый по желанию пользователя. Он вызывает копье из твердого света, с помощью которого пользователь может сеять хаос. \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Fun/darts.yml b/Resources/Prototypes/Entities/Objects/Fun/darts.yml index 4c7ae68420..fbda9c4a09 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/darts.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/darts.yml @@ -21,7 +21,7 @@ - 0.10,-0.20 density: 20 mask: - - ItemMask + - ThrownItem # WD EDIT restitution: 0.3 friction: 0.2 - type: Sprite diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml index 9e832cd473..ddd8b91d54 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml @@ -41,7 +41,7 @@ bounds: "-0.2,-0.2,0.2,0.2" density: 30 mask: - - ItemMask + - ThrownItem # WD EDIT - type: DamageOtherOnHit damage: types: diff --git a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml index aa0e2f60c3..414d91410c 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml @@ -42,6 +42,22 @@ damage: types: Blunt: 5 + # WD EDIT START + - type: Fixtures + fixtures: + fix1: + shape: !type:PolygonShape + vertices: + - -0.25,-0.25 + - -0.30,-0.25 + - 0.25,0.25 + - -0.25,0.25 + density: 20 + mask: + - ThrownItem + restitution: 0.3 + friction: 0.2 + # WD EDIT END - type: entity name: steel tile diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml index 776d165503..c0af07cd61 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml @@ -22,7 +22,7 @@ - 0.30,0.40 density: 20 mask: - - ItemMask + - ThrownItem # WD EDIT restitution: 0.3 friction: 0.2 - type: Sharp diff --git a/Resources/Prototypes/_White/Actions/types.yml b/Resources/Prototypes/_White/Actions/types.yml new file mode 100644 index 0000000000..ffbc67526e --- /dev/null +++ b/Resources/Prototypes/_White/Actions/types.yml @@ -0,0 +1,14 @@ +- type: entity + id: ActivateHardlightSpearImplant + name: Create hardlight spear + description: Creates hardlight spear in your hands. + noSpawn: true + components: + - type: InstantAction + useDelay: 1.5 + itemIconStyle: BigAction + priority: -20 + icon: + sprite: _White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi + state: spear + event: !type:ActivateSpawnImplantEvent \ No newline at end of file diff --git a/Resources/Prototypes/_White/Catalog/uplink_catalog.yml b/Resources/Prototypes/_White/Catalog/uplink_catalog.yml index c58efd96c6..14533103ac 100644 --- a/Resources/Prototypes/_White/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/_White/Catalog/uplink_catalog.yml @@ -46,6 +46,23 @@ categories: - UplinkWeapons conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - NukeOpsUplink + saleLimit: 1 + +- type: listing + id: UplinkHardlightSpearImplanter + name: uplink-hardlight-spear-implant-name + description: uplink-hardlight-spear-implant-desc + icon: { sprite: /Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi, state: spear } + productEntity: HardlightSpearImplanter + cost: + Telecrystal: 12 + categories: + - UplinkImplants + conditions: - !type:StoreWhitelistCondition blacklist: tags: diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml new file mode 100644 index 0000000000..9ab410b161 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml @@ -0,0 +1,7 @@ +- type: entity + id: HardlightSpearImplanter + name: hardlight spear implanter + parent: BaseImplantOnlyImplanterSyndi + components: + - type: Implanter + implant: HardlightSpearImplant \ No newline at end of file diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/subdermal_implants.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/subdermal_implants.yml new file mode 100644 index 0000000000..e8c5a1d1e3 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/subdermal_implants.yml @@ -0,0 +1,11 @@ +- type: entity + parent: BaseSubdermalImplant + id: HardlightSpearImplant + name: hardlight spear implant + description: This implant creates hardlight spear in your hands. + noSpawn: true + components: + - type: SubdermalImplant + implantAction: ActivateHardlightSpearImplant + - type: SpawnImplant + spawnId: HardlightSpear \ No newline at end of file diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Melee/spear.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/Melee/spear.yml new file mode 100644 index 0000000000..5c5c14b489 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/Melee/spear.yml @@ -0,0 +1,57 @@ +- type: entity + name: hardlight spear + parent: Spear + id: HardlightSpear + description: A spear made out of hardened light. + components: + - type: Sprite + sprite: _White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi + - type: MeleeWeapon + damage: + types: + Piercing: 18 + Heat: 18 + soundHit: + path: /Audio/Weapons/smash.ogg + - type: DamageOtherOnHit + damage: + types: + Piercing: 20 + Heat: 20 + - type: Wieldable + - type: IncreaseDamageOnWield + damage: + types: + Piercing: 4 + Heat: 4 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 30 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: EmbeddableProjectile + offset: 0.15,0.15 + deleteOnRemove: true + - type: DespawnOnLandItem + - type: ThrowingItemModifier + - type: PointLight + radius: 1.5 + energy: 2 + color: yellow + - type: Fixtures + fixtures: + fix1: + shape: !type:PolygonShape + vertices: + - -0.20,-0.10 + - -0.10,-0.20 + - 0.40,0.30 + - 0.30,0.40 + density: 20 + mask: + - Opaque + restitution: 0.3 + friction: 0.2 \ No newline at end of file diff --git a/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/equipped-BACKPACK.png b/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000000000000000000000000000000000..4efd16f69cc796b46d5fb6b3034865025c43b95b GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|{&~7MhE&XX zd+VTJvjLAw;8gdIUmPV*aXw~XPm8eh{_%d!M$yV<+k=AQPmNN~O$@iUk2*JTr;q8^ zr!qG~e2bj*E{DY*RhsHw5d4#AVnZI&&j(D0g%so?mgq3Po_w|R>-D)W9X2M{mR{Y! zxIF&P62b54FL&vzid}Yf+i%V(b0THt|J(aX_Eh2j_dA!BNL)8QWuVf)GJ!$Jfysk` zv!ak0NGdR@JUGkQ@!|h@CI$wZ8NYWob{vwr{aXF;<*>}&x2a1CxxBJtc5BN=tg&JI z)Ohp>XTg4zjo0t<{`l=Jl+MSxTHn*ce4%JWrRSl2jQRUi1V8pjF#a@a2CEqi4B`cIb_Lo1C3pgSLR^9L|K}e6f#3|oYSmXufqcf2AirP+hi5m^ zK%69RcNeBK?wS-JhrPtp*OmP_j|ek^kj}$oC!o*)PZ!4!i_^&o67w21GWs^0XY_TD ziajk{qHLycgZ)Bp#)QO#9S3@s*|N_(&wVAYlEJefmx;MqWRv!qYX$~;oHn&6ma8&9 z_DV^QsVHs8@8#LFGDvud+Jax%XIC?8F!gvFU9>5B&iD0DsYD}pM$MBSY|LJhcpftf zWFC6bkR@@5<=Ab3hfF&-RBkz}WMP^S-guT_sSroPZq{k1SG90{_|*7hM)+oBpIFYI z?JOrf7hFkfePbLTGv&J5LH8VY<1i}H@RFVp0D&>I0iVIQ`i-h478uY6DY9GDWM4f1=P$x literal 0 HcmV?d00001 diff --git a/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/inhand-right.png b/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..27aef7038a713b70e0fee95310ea486276165a01 GIT binary patch literal 649 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C-zo@Ck7R(*Mse{D1E8|NsBE)_x_CC>*5x0UeIQm?eF$OGfBGQ zp+I-xK2PQSJ{`xi4%uwDwpy97;rN`!usV5{eN06Of*ez{4_KFRXsnf0kh^w|+r;wn zr6V`PHKkiP4`|%o{cqDGwF(#42XWIKYVojzq1$&;%ls^(Zh0&**J}%qK zJon_pOAQU@o|bvbJo{Wz%+z`&i$mMxn);g~7qTN0uHJwAri%Gdg5Yj7FIj$|k5o%s zBT7;dOH!?pi&B9UgOP!ev96(!u8~2AfsvJorIn$%wt<0_fx*>jTQ8z$$jwj5OshoK zU~FYz0nyOO{q{0Yg9hA&lFZ!H;*!MN0(3o=R;I=fJK{S;h$J-NzKi;96_3bqO+dInsa<(VlZ89@5fF<_hTzpg-lEs96ar0FEpd$~Nl7e8wMs5Z1yT$~21drZhDN$Z1|bGURwkBK zhUVG^237_JSEp?SIR&91H$NpatrA^>v6YbpM8j#lSL=WpG~hOrWag$8mn7yEpzE=; zGB$?jaoxgy2dJk6q{k(-IJqdZpd>Rtk3m_%$<^J{Pr=34ldCMXs2C`wV5?xFXTZf- zo|#gT0pu7PadBp(W~OJ9KsZ2~N>YJLr5uo0aY1TgkrEeYN@h_pP|%QzGp#5Q=o~Ox ZS;5uM1#EWnD^+ix{S2N!fpty^O#ouZn^FJ( literal 0 HcmV?d00001 diff --git a/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/wielded-inhand-left.png b/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..416a73d8ba3ebee632eee94fd4a8eb9d25047ffe GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zOFUg1Ln`LH zofWvQMS;h4H`BGJkM6dge(}5Fk%Q(U4Id**b;HSl3*Lq*eAHqBY6bxXrCqvGPCv?| z)(bcZ+!fnnyg7C$?l% zi_}h%p7rcsrT}-@hOV8xQcWSu)vVi&S!v!8R%i*(*OT47?S{V!-MGe2sjy;#`t&dR$^oBy{L-|*}cFlISnbEqxcvgJ(B zDvrXR&CTb2w0^Yu&FS&H?%A5Sg39|H^7XRpR>dpakDO=Oz`bDWQP-3Rr<=S#j-0Xm z66h2mxJOpOuX!S;YvJV^_qKE9AJtwV8n5!|%+2kO=O4|TJG*VJod3(4rD?0O|&T0|_CaInisL z%H0+Vz8a}}w|i|;T3WaZ>*h0Oa;DxjF+MH#@7DZ;)iZLtf1Y>l6@HSkNt5x9s?e!96K6k+EoeLcH&*RRkG)vfk&Y7^AEdA@@!nO+%44`7q2^x8 z7QyQoZ=*Ov-`-+&s-4U^*S7xbi<)gArS?%}rSbB7_b*4DU;OL;bQ>=oh|54^$)tb1 zb*BGuDyQav0UL_55 bn9U^fa}iV7k6&FK4sxfbtDnm{r-UW|y==hc literal 0 HcmV?d00001 From abb4ebe2fa6a9f99747f9f3ff1f4b21826fc6bf3 Mon Sep 17 00:00:00 2001 From: Spatison <137375981+Spatison@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:25:10 +0300 Subject: [PATCH 2/3] fix: spear1 --- .../Melee/Spear/hardlight_spear.rsi/meta.json | 5 ++++- .../Melee/Spear/hardlight_spear.rsi/spear1.png | Bin 0 -> 5637 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/spear1.png diff --git a/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/meta.json b/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/meta.json index dafd46851a..c73764f011 100644 --- a/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/meta.json +++ b/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from monkestation at https://github.com/Monkestation/MonkeStation/commit/c995c9bda2c23386614ac1cb00aca552f573ba9f, equipped sprite by Aviu, wielded sprites by antohag", + "copyright": "Taken from monkestation at https://github.com/Monkestation/MonkeStation/commit/c995c9bda2c23386614ac1cb00aca552f573ba9f, equipped sprite by Aviu, wielded sprites by antohag, spear1 sprite by Spatison", "size": { "x": 32, "y": 32 @@ -10,6 +10,9 @@ { "name": "spear" }, + { + "name": "spear1" + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/spear1.png b/Resources/Textures/_White/Objects/Weapons/Melee/Spear/hardlight_spear.rsi/spear1.png new file mode 100644 index 0000000000000000000000000000000000000000..c2254b43f8f832716cf4d3509f3dfa6823c18b0a GIT binary patch literal 5637 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 Date: Thu, 10 Oct 2024 01:29:00 +1000 Subject: [PATCH 3/3] Update implanters.yml --- .../Prototypes/_White/Entities/Objects/Misc/implanters.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml index 9ab410b161..5ff06529b1 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml @@ -1,7 +1,8 @@ - type: entity + parent: BaseImplantOnlyImplanterSyndi id: HardlightSpearImplanter name: hardlight spear implanter - parent: BaseImplantOnlyImplanterSyndi + suffix: hardlight spear components: - type: Implanter - implant: HardlightSpearImplant \ No newline at end of file + implant: HardlightSpearImplant