From 31c9485e3b35f3b5e7e2c43d522fedf39a4fc8ba Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Fri, 2 Aug 2024 00:48:36 +0300 Subject: [PATCH] Magic rings (#378) * flame creation spell backend * flame creation visuals * flame creation spell visual * tweak * some tweaks * ice dagger spell * move spells to rings * Update ring.yml * fix server crash --- .../_CP14/MagicSpell/CP14MagicSystem.cs | 2 +- .../CP14SharedMagicAttuningSystem.cs | 7 +- .../_CP14/MagicSpell/CP14SharedMagicSystem.cs | 8 +- .../CP14MagicEffectSomaticAspectComponent.cs | 2 + .../Spells/CP14SpellSpawnInHandEntity.cs | 31 ++++ .../en-US/_CP14/magicEnergy/magic-spells.ftl | 5 +- .../ru-RU/_CP14/magicEnergy/magic-spells.ftl | 2 +- .../cast_vfx.yml => Actions/Spells/base.yml} | 2 + .../Entities/Actions/Spells/cure_wounds.yml | 27 ++-- .../Actions/Spells/flame_creation.yml | 138 ++++++++++++++++++ .../Entities/Actions/Spells/ice_dagger.yml | 89 +++++++++++ .../_CP14/Entities/Clothing/Rings/ring.yml | 63 ++++++++ .../Prototypes/_CP14/Entities/FARMINGTEST.yml | 9 +- .../Entities/Objects/Weapons/Melee/sword.yml | 1 - .../Clothing/Rings/rings.rsi/brass_ring.png | Bin 0 -> 282 bytes .../Rings/rings.rsi/emerald_stone_small.png | Bin 0 -> 163 bytes .../_CP14/Clothing/Rings/rings.rsi/meta.json | 23 +++ .../Rings/rings.rsi/ruby_stone_small.png | Bin 0 -> 161 bytes .../Rings/rings.rsi/saphhire_stone_small.png | Bin 0 -> 164 bytes .../Magic/spells_icons.rsi/flame_creation.png | Bin 0 -> 1746 bytes .../Magic/spells_icons.rsi/ice_dagger.png | Bin 0 -> 1381 bytes .../Effects/Magic/spells_icons.rsi/meta.json | 6 + .../Misc/artificial_flame.rsi/icon.png | Bin 0 -> 4505 bytes .../Misc/artificial_flame.rsi/inhand-left.png | Bin 0 -> 1970 bytes .../artificial_flame.rsi/inhand-right.png | Bin 0 -> 1984 bytes .../Misc/artificial_flame.rsi/meta.json | 86 +++++++++++ .../Dagger/ice_dagger.rsi/equipped-BELT1.png | Bin 0 -> 306 bytes .../Dagger/ice_dagger.rsi/equipped-BELT2.png | Bin 0 -> 301 bytes .../Melee/Dagger/ice_dagger.rsi/icon.png | Bin 0 -> 231 bytes .../Dagger/ice_dagger.rsi/inhand-left.png | Bin 0 -> 391 bytes .../Dagger/ice_dagger.rsi/inhand-right.png | Bin 0 -> 387 bytes .../Melee/Dagger/ice_dagger.rsi/meta.json | 30 ++++ 32 files changed, 504 insertions(+), 27 deletions(-) create mode 100644 Content.Shared/_CP14/MagicSpell/Spells/CP14SpellSpawnInHandEntity.cs rename Resources/Prototypes/_CP14/Entities/{Effects/cast_vfx.yml => Actions/Spells/base.yml} (95%) create mode 100644 Resources/Prototypes/_CP14/Entities/Actions/Spells/flame_creation.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_dagger.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml create mode 100644 Resources/Textures/_CP14/Clothing/Rings/rings.rsi/brass_ring.png create mode 100644 Resources/Textures/_CP14/Clothing/Rings/rings.rsi/emerald_stone_small.png create mode 100644 Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Clothing/Rings/rings.rsi/ruby_stone_small.png create mode 100644 Resources/Textures/_CP14/Clothing/Rings/rings.rsi/saphhire_stone_small.png create mode 100644 Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/flame_creation.png create mode 100644 Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/ice_dagger.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/inhand-right.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/equipped-BELT1.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/equipped-BELT2.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/inhand-right.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/meta.json diff --git a/Content.Server/_CP14/MagicSpell/CP14MagicSystem.cs b/Content.Server/_CP14/MagicSpell/CP14MagicSystem.cs index 35185dbe42..6eaeefb1ef 100644 --- a/Content.Server/_CP14/MagicSpell/CP14MagicSystem.cs +++ b/Content.Server/_CP14/MagicSpell/CP14MagicSystem.cs @@ -22,7 +22,7 @@ public sealed partial class CP14MagicSystem : CP14SharedMagicSystem private void OnSpellSpoken(Entity ent, ref CP14VerbalAspectSpeechEvent args) { if (args.Performer is not null && args.Speech is not null) - _chat.TrySendInGameICMessage(args.Performer.Value, args.Speech, InGameICChatType.Speak, false); + _chat.TrySendInGameICMessage(args.Performer.Value, args.Speech, InGameICChatType.Speak, true); } private void OnSpawnMagicVisualEffect(Entity ent, ref CP14StartCastMagicEffectEvent args) diff --git a/Content.Shared/_CP14/MagicAttuning/CP14SharedMagicAttuningSystem.cs b/Content.Shared/_CP14/MagicAttuning/CP14SharedMagicAttuningSystem.cs index f6cddb1ec9..51e630a3e4 100644 --- a/Content.Shared/_CP14/MagicAttuning/CP14SharedMagicAttuningSystem.cs +++ b/Content.Shared/_CP14/MagicAttuning/CP14SharedMagicAttuningSystem.cs @@ -36,8 +36,11 @@ public sealed partial class CP14SharedMagicAttuningSystem : EntitySystem if (!_mind.TryGetMind(ent, out var mindId, out var mind)) return; - var attuneMind = AddComp(mindId); - attuneMind.MaxAttuning = ent.Comp.MaxAttuning; + if (!HasComp(mindId)) + { + var attuneMind = AddComp(mindId); + attuneMind.MaxAttuning = ent.Comp.MaxAttuning; + } } public bool IsAttunedTo(EntityUid mind, EntityUid item) diff --git a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.cs b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.cs index ce0d8f0aba..b8342726f1 100644 --- a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.cs +++ b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.cs @@ -107,11 +107,14 @@ public partial class CP14SharedMagicSystem : EntitySystem { if (TryComp(args.Performer, out var hands) || hands is not null) { + var freeHand = 0; foreach (var hand in hands.Hands) { if (hand.Value.IsEmpty) - return; + freeHand++; } + if (freeHand >= ent.Comp.FreeHandRequired) + return; } args.PushReason(Loc.GetString("cp14-magic-spell-need-somatic-component")); args.Cancel(); @@ -168,6 +171,7 @@ public partial class CP14SharedMagicSystem : EntitySystem { BreakOnMove = delayedEffect.BreakOnMove, BreakOnDamage = delayedEffect.BreakOnDamage, + BlockDuplicate = true, }; _doAfter.TryStartDoAfter(doAfterEventArgs); @@ -195,6 +199,7 @@ public partial class CP14SharedMagicSystem : EntitySystem { BreakOnMove = delayedEffect.BreakOnMove, BreakOnDamage = delayedEffect.BreakOnDamage, + BlockDuplicate = true, }; _doAfter.TryStartDoAfter(doAfterEventArgs); @@ -217,6 +222,7 @@ public partial class CP14SharedMagicSystem : EntitySystem { BreakOnMove = delayedEffect.BreakOnMove, BreakOnDamage = delayedEffect.BreakOnDamage, + BlockDuplicate = true, }; _doAfter.TryStartDoAfter(doAfterEventArgs); diff --git a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectSomaticAspectComponent.cs b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectSomaticAspectComponent.cs index 78211a4af5..d811c2b52b 100644 --- a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectSomaticAspectComponent.cs +++ b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectSomaticAspectComponent.cs @@ -6,4 +6,6 @@ namespace Content.Shared._CP14.MagicSpell.Components; [RegisterComponent, Access(typeof(CP14SharedMagicSystem))] public sealed partial class CP14MagicEffectSomaticAspectComponent : Component { + [DataField] + public int FreeHandRequired = 1; } diff --git a/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellSpawnInHandEntity.cs b/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellSpawnInHandEntity.cs new file mode 100644 index 0000000000..26f748a30b --- /dev/null +++ b/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellSpawnInHandEntity.cs @@ -0,0 +1,31 @@ +using Content.Shared.Hands.EntitySystems; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.MagicSpell.Spells; + +public sealed partial class CP14SpellSpawnInHandEntity : CP14SpellEffect +{ + [DataField] + public List Spawns = new(); + + [DataField] + public bool DeleteIfCantPickup = false; + + public override void Effect(EntityManager entManager, CP14SpellEffectBaseArgs args) + { + if (args.Target is null) + return; + + if (!entManager.TryGetComponent(args.Target.Value, out var transformComponent)) + return; + + var handSystem = entManager.System(); + + foreach (var spawn in Spawns) + { + var item = entManager.SpawnAtPosition(spawn, transformComponent.Coordinates); + if (!handSystem.TryPickupAnyHand(args.Target.Value, item) && DeleteIfCantPickup) + entManager.QueueDeleteEntity(item); + } + } +} diff --git a/Resources/Locale/en-US/_CP14/magicEnergy/magic-spells.ftl b/Resources/Locale/en-US/_CP14/magicEnergy/magic-spells.ftl index 78e11469c7..c60b4b2fef 100644 --- a/Resources/Locale/en-US/_CP14/magicEnergy/magic-spells.ftl +++ b/Resources/Locale/en-US/_CP14/magicEnergy/magic-spells.ftl @@ -7,4 +7,7 @@ cp14-magic-spell-not-enough-mana-cast-warning-3 = Your throat starts to lump... cp14-magic-spell-not-enough-mana-cast-warning-4 = Your head becomes heavy... cp14-magic-energy-damage-burn-out = The pain is piercing your body! -cp14-magic-energy-damage-burn-out-fall = You pass out from the intense pain! \ No newline at end of file +cp14-magic-energy-damage-burn-out-fall = You pass out from the intense pain! + +cp14-magic-spell-need-verbal-component = You can't cast the spell out loud. +cp14-magic-spell-need-somatic-component = You don't have your hands free. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl b/Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl index 5821960e74..96d855e917 100644 --- a/Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl +++ b/Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl @@ -10,4 +10,4 @@ cp14-magic-energy-damage-burn-out = Боль пронзает ваше тело! cp14-magic-energy-damage-burn-out-fall = Вы теряете сознание от сильной боли! cp14-magic-spell-need-verbal-component = Вы не можете произнести заклинание вслух. -cp14-magic-spell-need-somatic-component = Вам нужна свободная рука. \ No newline at end of file +cp14-magic-spell-need-somatic-component = Вам не хватает свободных рук. \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Effects/cast_vfx.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/base.yml similarity index 95% rename from Resources/Prototypes/_CP14/Entities/Effects/cast_vfx.yml rename to Resources/Prototypes/_CP14/Entities/Actions/Spells/base.yml index 28190daab1..4b80f39d08 100644 --- a/Resources/Prototypes/_CP14/Entities/Effects/cast_vfx.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/base.yml @@ -4,6 +4,8 @@ description: manifestation of magical energy in the physical plane abstract: true components: + - type: TimedDespawn + lifetime: 10 - type: Sprite noRot: true drawDepth: FloorTiles diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/cure_wounds.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/cure_wounds.yml index 639466a19b..1e78ba9671 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/cure_wounds.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/cure_wounds.yml @@ -4,29 +4,32 @@ description: You touch the creature, healing its body from physical damage components: - type: CP14MagicEffect - manaCost: 10 + manaCost: 15 effects: - !type:CP14SpellSpawnEntity spawns: - - CP14CureWoundsImpactEffect + - CP14ImpactEffectCureWounds - !type:CP14SpellApplyEntityEffect effects: - !type:HealthChange damage: types: - Slash: -8 - Blunt: -8 - Piercing: -8 - Heat: -8 + Slash: -10 + Blunt: -10 + Piercing: -10 + Heat: -10 - !type:Jitter - type: CP14MagicEffectVerbalAspect startSpeech: "Et curabuntur..." endSpeech: "vulnera tua" - type: CP14MagicEffectSomaticAspect - type: CP14MagicEffectCastingVisual - proto: CP14CureWoundsRune + proto: CP14RuneCureWounds - type: EntityTargetAction - useDelay: 5 + whitelist: + components: + - MobState + useDelay: 10 itemIconStyle: BigAction interactOnMiss: false sound: !type:SoundPathSpecifier @@ -38,9 +41,9 @@ delay: 2 - type: entity - id: CP14CureWoundsRune - noSpawn: true + id: CP14RuneCureWounds parent: CP14BaseMagicRune + categories: [ HideSpawnMenu ] components: - type: PointLight color: "#328643" @@ -51,9 +54,9 @@ shader: unshaded - type: entity - id: CP14CureWoundsImpactEffect + id: CP14ImpactEffectCureWounds parent: CP14BaseMagicImpact - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: Sprite layers: diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/flame_creation.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/flame_creation.yml new file mode 100644 index 0000000000..fb412c18e9 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/flame_creation.yml @@ -0,0 +1,138 @@ +- type: entity + id: CP14ActionSpellFlameCreation + name: Flame creation + description: A artificial flame forms in your hand, illuminating your surroundings. You can throw it to use it as a disposable weapon. + components: + - type: CP14MagicEffect + manaCost: 5 + effects: + - !type:CP14SpellSpawnEntity + spawns: + - CP14ImpactEffectFlameCreation + - !type:CP14SpellSpawnInHandEntity + spawns: + - CP14FlameCreationArtificialFlame + - type: CP14MagicEffectVerbalAspect + startSpeech: "Et conteret ignis..." + endSpeech: "in manu mea" + - type: CP14MagicEffectSomaticAspect + - type: CP14MagicEffectCastingVisual + proto: CP14RuneFlameCreation + - type: InstantAction + useDelay: 10 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Magic/rumble.ogg + icon: + sprite: _CP14/Effects/Magic/spells_icons.rsi + state: flame_creation + event: !type:CP14DelayedInstantActionEvent + delay: 1 + +- type: entity + id: CP14RuneFlameCreation + parent: CP14BaseMagicRune + categories: [ HideSpawnMenu ] + components: + - type: PointLight + color: "#eea911" + - type: Sprite + layers: + - state: sun + color: "#eea911" + shader: unshaded + +- type: entity + id: CP14ImpactEffectFlameCreation + parent: CP14BaseMagicImpact + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: particles_up + color: "#eea911" + shader: unshaded + +- type: entity + id: CP14FlameCreationArtificialFlame + parent: + - BaseItem + - ItemHeftyBase + name: artificial flame + description: A magically created artificial flame burning directly into the air. Not a bad light source, or a weapon if you throw it in someone's face. + components: + - type: Item + size: Ginormous + inhandVisuals: + left: + - state: inhand-left + shader: unshaded + right: + - state: inhand-right + shader: unshaded + - type: TimedDespawn + lifetime: 300 # 5 min + - type: Sprite + sprite: _CP14/Objects/Misc/artificial_flame.rsi + layers: + - state: icon + shader: unshaded + - type: PointLight + color: "#eea911" + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.2,-0.2,0.2,0.2" + density: 30 + hard: true + mask: + - ItemMask + - type: DamageOnHighSpeedImpact + minimumSpeed: 0.1 + damage: + types: + Blunt: 3 + - type: Damageable + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + path: /Audio/Weapons/Guns/Hits/energy_meat1.ogg + params: + variation: 0.250 + volume: -12 + - type: ThrowingAngle + angle: 0 + - type: LandAtCursor + - type: CP14MeleeSelfDamage + damageToSelf: + types: + Blunt: 0.5 # 2 hits + - type: DamageOtherOnHit + damage: + types: + Heat: 8 + - type: MeleeWeapon + attackRate: 1.8 + wideAnimationRotation: 225 + wideAnimation: CP14WeaponArcSlash + damage: + types: + Heat: 5 + soundHit: + path: /Audio/Weapons/Guns/Hits/energy_meat1.ogg + params: + variation: 0.250 + volume: -12 + cPAnimationLength: 0.15 + - type: IgnitionSource + temperature: 400 + ignited: true \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_dagger.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_dagger.yml new file mode 100644 index 0000000000..2fb5dfa55a --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_dagger.yml @@ -0,0 +1,89 @@ +- type: entity + id: CP14ActionSpellIceDagger + name: Ice dagger + description: Materialization of a temporary sharp ice throwing dagger + components: + - type: CP14MagicEffect + manaCost: 15 + effects: + - !type:CP14SpellSpawnEntity + spawns: + - CP14ImpactEffectIceDagger + - !type:CP14SpellSpawnInHandEntity + spawns: + - CP14DaggerIce + - type: CP14MagicEffectSomaticAspect + - type: CP14MagicEffectCastingVisual + proto: CP14RuneIceDagger + - type: InstantAction + useDelay: 15 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Magic/rumble.ogg + icon: + sprite: _CP14/Effects/Magic/spells_icons.rsi + state: ice_dagger + event: !type:CP14DelayedInstantActionEvent + delay: 0.5 + +- type: entity + id: CP14RuneIceDagger + parent: CP14BaseMagicRune + categories: [ HideSpawnMenu ] + components: + - type: PointLight + color: "#5eabeb" + - type: Sprite + layers: + - state: medium_line + color: "#5eabeb" + shader: unshaded + +- type: entity + id: CP14ImpactEffectIceDagger + parent: CP14BaseMagicImpact + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: particles_up + color: "#5eabeb" + shader: unshaded + +- type: entity + id: CP14DaggerIce + parent: + - CP14BaseDagger + name: ice dagger + description: A piece of sharp magical ice. In a little while, the spell will wear off, and he will disappear. + components: + - type: TimedDespawn + lifetime: 60 # 1 min + - type: Clothing + sprite: _CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi + - type: Sprite + sprite: _CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi + - type: CP14Currency + currency: 0 + - type: MeleeWeapon + damage: + types: + Slash: 2 + Piercing: 2 + Cold: 2 + - type: DamageOtherOnHit + damage: + types: + Piercing: 5 + Cold: 5 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:DoActsBehavior + acts: ["Destruction"] \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml new file mode 100644 index 0000000000..f37dcf637e --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml @@ -0,0 +1,63 @@ +- type: entity + abstract: true + parent: Clothing + id: CP14ClothingRingBase + components: + - type: Item + size: Tiny + - type: Clothing + slots: + - ring + - type: Sprite + sprite: _CP14/Clothing/Rings/rings.rsi + +- type: entity + id: CP14ClothingRingIceDagger + parent: CP14ClothingRingBase + name: conductive ring + description: A standard mana-conductive ring that allows the user to summon ice daggers. + components: + - type: Sprite + layers: + - state: brass_ring + - state: saphhire_stone_small + - type: CP14SpellStorageRequireAttune + - type: CP14MagicAttuningItem + - type: CP14SpellStorageAccessWearing + - type: CP14SpellStorage + spells: + - CP14ActionSpellIceDagger + +- type: entity + id: CP14ClothingRingFlameCreation + parent: CP14ClothingRingBase + name: conductive ring + description: A standard mana-conductive ring that allows the user to summon artificial flames. + components: + - type: Sprite + layers: + - state: brass_ring + - state: ruby_stone_small + - type: CP14SpellStorageRequireAttune + - type: CP14MagicAttuningItem + - type: CP14SpellStorageAccessWearing + - type: CP14SpellStorage + spells: + - CP14ActionSpellFlameCreation + +- type: entity + id: CP14ClothingRingCureWounds + parent: CP14ClothingRingBase + name: conductive ring + description: A standard mana-conductive ring that allows the user to heal physical injuries. + components: + - type: Sprite + layers: + - state: brass_ring + - state: emerald_stone_small + - type: CP14SpellStorageRequireAttune + - type: CP14MagicAttuningItem + - type: CP14SpellStorageAccessWearing + - type: CP14SpellStorage + spells: + - CP14ActionSpellCureWounds \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/FARMINGTEST.yml b/Resources/Prototypes/_CP14/Entities/FARMINGTEST.yml index 341bc60de1..6a83f97a5d 100644 --- a/Resources/Prototypes/_CP14/Entities/FARMINGTEST.yml +++ b/Resources/Prototypes/_CP14/Entities/FARMINGTEST.yml @@ -7,11 +7,4 @@ sprite: Objects/Specific/Hydroponics/seeds.rsi state: seed - type: CP14Seed - plantProto: CP14PlantWheat - - type: CP14MagicAttuningItem - focusTime: 1 - - type: CP14SpellStorageAccessHolding - - type: CP14SpellStorage - spells: - - CP14ActionSpellCureWounds - - type: CP14SpellStorageRequireAttune \ No newline at end of file + plantProto: CP14PlantWheat \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml index 5880feb53a..48fa336691 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml @@ -5,7 +5,6 @@ - CP14BaseWeaponDestructible - CP14BaseWeaponSharp - CP14BaseWeaponChemical - - CP14BaseWeaponLight name: sword description: the gold standard of edged weapons. Medium length, comfortable grip. No frills. components: diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/brass_ring.png b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/brass_ring.png new file mode 100644 index 0000000000000000000000000000000000000000..7d99503bcee0066991472a2d862ad88e90a167d9 GIT binary patch literal 282 zcmV+#0pPx#)Ja4^R9J=WlQ9cHQ5c3FvM3!TgBaz;WFeC~D2sofZ1=yQEVnEc+hsQzd?+bL} z9d*a~kOMR;C1W{QPB0yoIqq+7dC#dDZ*N^d6&26$P9jcjK4|6Mg-o#ehL^z8(IfiU g+(s@4f*=S0FBeoh*RE3893ki+2V>gTe~ HDWM4f!*)4u literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/saphhire_stone_small.png b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/saphhire_stone_small.png new file mode 100644 index 0000000000000000000000000000000000000000..f280be4b5ac55d5667e166838981a5f07faff74a GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}ah@)YArY;~ z2@x*~(Jqxw%YZg9c)I$ztaD0e0sz>o BH%kBj literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/flame_creation.png b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/flame_creation.png new file mode 100644 index 0000000000000000000000000000000000000000..a1baa2a4ddc07def3f084a23bc126af328bd984e GIT binary patch literal 1746 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json index 2365585050..cfa3c9545b 100644 --- a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json +++ b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json @@ -9,6 +9,12 @@ "states": [ { "name": "cure_wounds" + }, + { + "name": "flame_creation" + }, + { + "name": "ice_dagger" } ] } \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/icon.png b/Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..250f8520844c2c4da71bc0b9ac719eb1ec715d01 GIT binary patch literal 4505 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..886edf83c2af3255823c37fb5ea0614e75769db3 GIT binary patch literal 1970 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/meta.json b/Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/meta.json new file mode 100644 index 0000000000..1e746e7ca4 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Misc/artificial_flame.rsi/meta.json @@ -0,0 +1,86 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd for CrystallPunk", + "states": [ + { + "name": "icon", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "inhand-left", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "inhand-right", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/equipped-BELT1.png new file mode 100644 index 0000000000000000000000000000000000000000..a046727fe463d3233514287b78095efe906c0dc2 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|-gvq=hE&XX zd&`jPkb{83#lTCIj312{x%nqBKM|PcyvIYqT_9(V%PJEgk6iU5r^3o+o>_P1U$}nC zjJbDP&vXDy0D?aSHs8J9NnG338yO?}EvzslxK%G__szTSx?MsXg5SFwxo_BE#pIg3 zyV5dNZe3Zt$|k0J=TB<&U?b(|nwHI8uB06DH wZr;RpyE?BFCW6fOboFyt=akR{06X=3(f|Me literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/equipped-BELT2.png new file mode 100644 index 0000000000000000000000000000000000000000..c9f5b3a67964d82a0972a1a383e2db1dec7af79f GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|o_o4DhE&XX zduth}K~SJ!)Po6{LJZN2r6sSi(nJbcBV zujI7(o?qYYugsAB+iaKjHM>hUUBz8k=Y*t$gv2}<`!gHX>v!lBpD1FestHcAJjvIv z^piM$zVV;RZ%s+3B_%vgu)dfU%)LQiwSaAR;NkBs%-iQBf0*L;{Y_iW&xQuZtu;W$ d1R5wYFw{GyYPL(=I0AGmgQu&X%Q~loCIDeGUoijx literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..76e694dc35539bb3bb72eaf993e0b5e6c4c47af2 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z9X(wfLn`LH zy=9nn*g%Bsf&J0o@6#qM4gNmQ(fOIsi&e}eS1g_QFNP}AG&ylvw0}t9aE&Oo6^&EB zxKP(*V|>S@|F{2Mn5?S%pSc4H{HA>MGE>$^M_SYhwGZ{m%`6}l{7;aRr zTkwKc;^#8ynV5g4;Zoxp00i_>zopr0F=qA7S=dj zi6eTAUfR_&D*xlH4;#Ga?K^6&1T-87rhQ%<)qZBb#nu_ZN1Da{Y8`*N2>QtO769Y ziU>0OwXJgdt{=|ry#j(a_r#T7pAyo$D>3cvc6%=SRi!U$dq=~rXsD1@1x`4VsL_++=B e%|=Fs8;`l?