From 1a72ba9eed8b45549a8648a08ea23f39e5d819ee Mon Sep 17 00:00:00 2001 From: Zakvielian Date: Sun, 25 Jan 2026 06:11:13 +0300 Subject: [PATCH 1/7] Added water orb --- .../Imperial/Medieval/Magic/Spells/vodka.ftl | 7 ++ .../ru-RU/Imperial/Medieval/medieval.ftl | 3 + .../Magic/Spells/Vodka/WaterOrb/actions.yml | 51 ++++++++++ .../Magic/Spells/Vodka/WaterOrb/effect.yml | 14 +++ .../Spells/Vodka/WaterOrb/projectiles.yml | 89 ++++++++++++++++++ .../Magic/Spells/Vodka/WaterOrb/store.yml | 19 ++++ .../Vodka/WaterOrb/icons.rsi/beginner.png | Bin 0 -> 1091 bytes .../Magic/Vodka/WaterOrb/icons.rsi/meta.json | 14 +++ .../WaterOrb/projectiles.rsi/beginner.png | Bin 0 -> 874 bytes .../Vodka/WaterOrb/projectiles.rsi/meta.json | 14 +++ 10 files changed, 211 insertions(+) create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/effect.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/store.yml create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/icons.rsi/beginner.png create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/icons.rsi/meta.json create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/projectiles.rsi/beginner.png create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/projectiles.rsi/meta.json diff --git a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl index 952e62796c1..650fde1bb2e 100644 --- a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl +++ b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl @@ -59,3 +59,10 @@ medieval-store-spells-vodka-ice-dagger-middle-desc = Конвертируйте medieval-store-spells-vodka-ice-dagger-senior-name = Совершенный ледяной кинжал medieval-store-spells-vodka-ice-dagger-senior-desc = Конвертируйте манну в жидкость и охладите ее в руке для создания ледяного кинжала, который значительно острее обычного кинжала и исчезнет через 30 секунд. Стоимость 12 маны, перезарядка 1.5 секунды. + +# Water Orb + +medieval-spell-speach-water-orb = S̰ͧp̝ͥh̼ͨa̰ͤe͉ͩṛ̛a̰̍ ̰ͩA̰ͥq̰ͮựa̰ͤḛ̅ + +medieval-store-spells-vodka-water-orb-beginner-name = Шарик воды +medieval-store-spells-vodka-water-orb-beginner-desc = Небольшое количество воды, заточенное в сферу из тонкого льда diff --git a/Resources/Locale/ru-RU/Imperial/Medieval/medieval.ftl b/Resources/Locale/ru-RU/Imperial/Medieval/medieval.ftl index 8bf96f46ec3..beaa0163a21 100644 --- a/Resources/Locale/ru-RU/Imperial/Medieval/medieval.ftl +++ b/Resources/Locale/ru-RU/Imperial/Medieval/medieval.ftl @@ -5819,6 +5819,9 @@ ent-IceDaggerSenior = совершенный ледяной кинжал ent-SparkBeginner = магическая искра .desc = Огонёк скоро потухнет .suffix = { "Средневековье" } +ent-WaterOrbBeginner = Водяной шарик + .desc = Скорлупа скоро растает + .suffix = { "Средневековье" } ent-MedievalMagicLightningRune = грозовая руна .desc = Используйте, чтобы изучить заклинание грозовой руны. .suffix = { "СКИН, Средневековье" } diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml new file mode 100644 index 00000000000..a20f0130cd9 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml @@ -0,0 +1,51 @@ +#Beginner + +- type: entity + id: MedievalActionWaterOrbBeginner + name: medieval-store-spells-vodka-water-orb-beginner-name + description: medieval-store-spells-vodka-water-orb-beginner-desc + components: + - type: CastTraining + trainingResults: + - !type:AddMagicEssence + essenceAddProbability: 0.0001 + bonusAddProbability: 1 + addedEssences: + MagicMedievalVodka: 1 + bonusEssences: + MagicMedievalVodka: 1 + - type: MedievalInstantSpell + - type: Action + useDelay: 1 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Imperial/Medieval/icewall_cast.ogg + icon: + sprite: Imperial/Medieval/Magic/Vodka/WaterOrb/icons.rsi + state: beginner + - type: InstantAction + event: !type:MedievalSpawnInHandSpellEvent + spawnedEntityPrototype: WaterOrbBeginner + spellCastDoAfter: + delay: 0.5 + breakOnDropItem: false + breakOnWeightlessMove: false + breakOnMove: false + needHand: true + breakOnDamage: true + speedModifier: 1 + speechPoints: + 0: + speech: medieval-spell-speach-water-orb + color: "#78C6ED" + hideChat: true + - type: MedievalSpawnOnlyInFreeHands + - type: ManaDrainSpell + manaDrain: 5 + canUseWithoutMana: true + manaLowMessage: medieval-spell-speach-not-enough-mana-fire-spell + damageOnUseWithoutMana: + groups: + Burn: 2 + - type: SpellCastEffect + effectProto: IceDaggerSpellCastEffectBeginner #Whynot diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/effect.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/effect.yml new file mode 100644 index 00000000000..fbebd6c1e99 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/effect.yml @@ -0,0 +1,14 @@ +#Beginner + +- type: entity + id: WaterOrbSpellCastEffectBeginner + components: + - type: Sprite + sprite: Imperial/Medieval/SpellCastEffects/vodka/dagger.rsi + color: "#41b4ee" + noRot: true + layers: + - state: beginner + shader: unshaded + - type: TimedDespawn + lifetime: 0.5 diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml new file mode 100644 index 00000000000..8052abf7009 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml @@ -0,0 +1,89 @@ +# Beginner + +- type: entity + parent: BaseItem + id: WaterOrbBeginner + components: + - type: Sprite + sprite: Imperial/Medieval/Magic/Vodka/WaterOrb/projectiles.rsi + state: beginner + - type: TimedDespawn + lifetime: 50 #Down + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.15 + density: 10 + mask: + - ItemMask + restitution: 0 + friction: 1 + - type: ThrowingAngle + angle: 0 + - type: Item + size: Ginormous + - type: Physics + bodyType: Dynamic + fixedRotation: false + - type: SolutionContainerManager + solutions: + waterorb: + maxVol: 5 + reagents: + - ReagentId: Water + Quantity: 5 + - type: Spillable + solution: waterorb + - type: SpillWhenWorn + solution: waterorb + - type: MeleeWeapon + soundNoDamage: + path: "/Audio/Effects/Fluids/splat.ogg" + damage: + types: + Blunt: 0 + - type: DrainableSolution + solution: waterorb + - type: DrawableSolution + solution: waterorb + - type: SolutionItemStatus + solution: waterorb + - type: SolutionTransfer + canChangeTransferAmount: true + - type: UserInterface + destroyOnEmpty: true + interfaces: + enum.TransferAmountUiKey.Key: + type: TransferAmountBoundUserInterface + - type: Edible + edible: Drink + solution: waterorb + destroyOnEmpty: true + utensil: None + - type: Damageable + damageContainer: Inorganic + - type: DamageOnHit + damage: + types: + Blunt: 10 + - type: DamageOnLand + damage: + types: + Blunt: 10 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + params: + volume: -10 + - !type:SpillBehavior { } + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Timer diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/store.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/store.yml new file mode 100644 index 00000000000..25bd7e51810 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/store.yml @@ -0,0 +1,19 @@ +# Beginner + +- type: imperialListing + id: MedievalSpellWaterOrbBeginner + name: medieval-store-spells-vodka-water-orb-beginner-name + description: medieval-store-spells-vodka-water-orb-beginner-desc + productAction: MedievalActionWaterOrbBeginner + priority: 10 + icon: + sprite: Imperial/Medieval/Magic/Vodka/WaterOrb/icons.rsi + state: beginner + cost: + MagicMedievalVodka: 10 + categories: + - MedievalVodkaSpells + conditions: + - !type:ImperialListingLimitedStockCondition + stock: 1 + diff --git a/Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/icons.rsi/beginner.png b/Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/icons.rsi/beginner.png new file mode 100644 index 0000000000000000000000000000000000000000..9244c37acb74e645480ba4392944485a80727a70 GIT binary patch literal 1091 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCh9v2l#}zDhY}hi^~+7=`IX4-%=gGukXXaZXh7#XcJHrRx&xPbgFegk)X7r znOo-MqxTkGf7g8cY0<8`rMvD`ZoFvjlc#AOJ@3-1!_U7Se*3fi`iHcAkAjw6^_+UP zVefri`=qSN8~ZQ4S^NIi)OSBq9(=XG^v>bPvw)S?QdeKgn7)mP!%$v3p!UGS{6mim zAAU)G@WtuMd)?Eo4bQ%gJ@Yzn(dD9Tx0MaUlng=&_dW33de`yd8{bQB^-jOCI`hiv z>}$&tFEpp0Pup}`**HQ}!7Xp|HJhbZ9FD&*J^R}5%&VA-Z~QL2(b{}hcjB4M^;aZR zy@KoJhb_76yzrv;!N)GAUg#Zr?!NnB;F7D}3ol2uFPGBrE!uF=bH?eQMVCC6Ts50> zp>XTHs(p`3w_H`w50TXkN}0JccgLNG)z^bpT`%4HAY=Z1MZ+*gb^}G@aEq`C^RP-K zlSpPRV_-N}T9IesvJDxT7zBWH6cA^&vw+33fNT&*0Ai4S7>#Br12C;lU}s$Nv;eZ8x(p2rK(apP4|u5dUta*UP0Z89F~q`u z?d8zo!v;L;1(AKm%lc;CE83tI`oV^e`#c|E#2RY2Z9#tS+r@@u4UWS?Q>-0-m_ri z%AHHMuC3$*R!MbKkPdkYgGFG!;de2YR^?@{C@iN?cc}2 yvc`@2|5!lvI6;>1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo@GwnEjyr^ZK)BSX`Y^13>-iXD}xjxD+42tQV0J5OE3=IrGvOebzc&PSYUjS4m>FMGa65;;#^8S3GM22G@pR=x$Dezd}z#Wpk z#o1I#N?5$m@a2n~D<`j7?2!D=@i^nrt%FOuJN5oCN==?55FJ$C8ll0uv$?tX_u0Mc zf6tb&WK(}{yzl*Q-+512ofZbXsCWO-yxR^wxrR6`z#y3G&mnU zX?pzI>6MS)@hlHJT4t-#l3}iW)ILtbh$v@*B-V@K6JZn&+Q!E_x?Wo#?EAX;3NSJCOuX*?>hi*OHZnbDPs=GTnIhJ2B@~PI{ZyAozR15R p_}=T;qQ@e7_Vc#_<1L_`(In#aLFX0~V4h%L@O1TaS?83{1OSO~M@|3$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/projectiles.rsi/meta.json b/Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/projectiles.rsi/meta.json new file mode 100644 index 00000000000..61c2d4f07e1 --- /dev/null +++ b/Resources/Textures/Imperial/Medieval/Magic/Vodka/WaterOrb/projectiles.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "this content is under ICLA licence, read more on https://wiki.imperialspace.net/icla", + "copyright": "by discord: Zakvielian", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "beginner" + } + ] +} From 331bea869338ef159a4c8e5c3267b8286960987e Mon Sep 17 00:00:00 2001 From: Zakvielian Date: Sun, 25 Jan 2026 06:26:44 +0300 Subject: [PATCH 2/7] Increased cooldown, decreased lifetime of water orb --- .../Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml | 2 +- .../Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml index a20f0130cd9..a61bd0b05d7 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml @@ -16,7 +16,7 @@ MagicMedievalVodka: 1 - type: MedievalInstantSpell - type: Action - useDelay: 1 + useDelay: 10 itemIconStyle: BigAction sound: !type:SoundPathSpecifier path: /Audio/Imperial/Medieval/icewall_cast.ogg diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml index 8052abf7009..548aee66dd8 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml @@ -8,7 +8,7 @@ sprite: Imperial/Medieval/Magic/Vodka/WaterOrb/projectiles.rsi state: beginner - type: TimedDespawn - lifetime: 50 #Down + lifetime: 5 - type: Fixtures fixtures: fix1: From 19a61f801d7ae984b2fdae6cc16f74d316b9e868 Mon Sep 17 00:00:00 2001 From: Zakvielian Date: Tue, 27 Jan 2026 04:08:48 +0300 Subject: [PATCH 3/7] =?UTF-8?q?=D0=92=D0=BE=D0=B4=D1=8F=D0=BD=D0=BE=D0=B9?= =?UTF-8?q?=20=D1=88=D0=B0=D1=80=20=D0=BD=D0=B5=20=D0=B4=D0=B5=D1=81=D0=BF?= =?UTF-8?q?=D0=B0=D0=B2=D0=BD=D0=B8=D1=82=D1=81=D1=8F=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D1=8E=20=D0=B2?= =?UTF-8?q?=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=B8,=20=D0=B0=20=D0=BB=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=B5=D1=82=D1=81=D1=8F,=20=D1=87=D1=82=D0=BE=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=B2=D0=BE=D0=B4=D0=B8=D1=82=20=D0=BA=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=BB=D0=B5=D1=81=D0=BA=D0=B8=D0=B2=D0=B0?= =?UTF-8?q?=D1=8E=20=D0=B6=D0=B8=D0=B4=D0=BA=D0=BE=D1=81=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Magic/Spells/Vodka/WaterOrb/actions.yml | 2 +- .../Magic/Spells/Vodka/WaterOrb/projectiles.yml | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml index a61bd0b05d7..668a41a7e0f 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml @@ -16,7 +16,7 @@ MagicMedievalVodka: 1 - type: MedievalInstantSpell - type: Action - useDelay: 10 + useDelay: 15 itemIconStyle: BigAction sound: !type:SoundPathSpecifier path: /Audio/Imperial/Medieval/icewall_cast.ogg diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml index 548aee66dd8..172f7756f6c 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/projectiles.yml @@ -8,7 +8,7 @@ sprite: Imperial/Medieval/Magic/Vodka/WaterOrb/projectiles.rsi state: beginner - type: TimedDespawn - lifetime: 5 + lifetime: 6 - type: Fixtures fixtures: fix1: @@ -60,7 +60,7 @@ - type: Edible edible: Drink solution: waterorb - destroyOnEmpty: true + destroyOnEmpty: false utensil: None - type: Damageable damageContainer: Inorganic @@ -86,4 +86,12 @@ - !type:SpillBehavior { } - !type:DoActsBehavior acts: [ "Destruction" ] - - type: Timer + - type: TriggerOnGotEquippedHand + - type: TimerTrigger + delay: 5 + - type: DamageOnTrigger + keysIn: + - timer + damage: + types: + Blunt: 10 From d659030c09e7e73cd445077f5008b5653ac408b4 Mon Sep 17 00:00:00 2001 From: Zakvielian Date: Wed, 28 Jan 2026 23:32:11 +0300 Subject: [PATCH 4/7] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BA=D0=BB=D0=B8=D0=BD=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20"=D0=BB=D0=BE=D0=B6=D0=B5=20=D0=B8=D0=B7=20=D0=B7=D0=B5?= =?UTF-8?q?=D0=BC=D0=BB=D0=B8"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Imperial/Medieval/Magic/Spells/earth.ftl | 7 +++ .../ru-RU/Imperial/Medieval/medieval.ftl | 3 + .../Magic/Spells/Earth/EarthBed/actions.yml | 56 ++++++++++++++++++ .../Magic/Spells/Earth/EarthBed/effect.yml | 19 ++++++ .../Spells/Earth/EarthBed/projectiles.yml | 50 ++++++++++++++++ .../Magic/Spells/Earth/EarthBed/store.yml | 18 ++++++ .../Earth/EarthBed/icons.rsi/beginner.png | Bin 0 -> 883 bytes .../Magic/Earth/EarthBed/icons.rsi/meta.json | 14 +++++ .../EarthBed/projectiles.rsi/beginner.png | Bin 0 -> 860 bytes .../Earth/EarthBed/projectiles.rsi/meta.json | 14 +++++ 10 files changed, 181 insertions(+) create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/actions.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/effect.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/projectiles.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/store.yml create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi/beginner.png create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi/meta.json create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi/beginner.png create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi/meta.json diff --git a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl index 533fb5d0806..99aded8c467 100644 --- a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl +++ b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl @@ -69,3 +69,10 @@ medieval-store-spells-earth-obelisk-middle-desc = Создайте в указа medieval-store-spells-earth-obelisk-senior-name = Обелиск medieval-store-spells-earth-obelisk-senior-desc = Создайте в указанном месте разрушаемый обелиск, который будет создавать волны шипов с каждым ударом. + +# Earth bed + +medieval-spell-speach-earth-bed = L̰ͧe͉ͩc̰̍ṭ̛ựs̰̅ ̰ͩT̰ͤe͉ͩṛ̛ṛ̛a̰ͤḛ̅ + +medieval-store-spells-earth-bed-beginner-name = Ложе из земли +medieval-store-spells-earth-bed-beginner-desc = Создайте в указаном месте не особо удобное место для сна. diff --git a/Resources/Locale/ru-RU/Imperial/Medieval/medieval.ftl b/Resources/Locale/ru-RU/Imperial/Medieval/medieval.ftl index beaa0163a21..39547d5b396 100644 --- a/Resources/Locale/ru-RU/Imperial/Medieval/medieval.ftl +++ b/Resources/Locale/ru-RU/Imperial/Medieval/medieval.ftl @@ -5822,6 +5822,9 @@ ent-SparkBeginner = магическая искра ent-WaterOrbBeginner = Водяной шарик .desc = Скорлупа скоро растает .suffix = { "Средневековье" } +ent-MedievalEarthBedBeginner = Ложе из земли + .desc = Говорят спать на твердой поверхности полезно + .suffix = { "Средневековье" } ent-MedievalMagicLightningRune = грозовая руна .desc = Используйте, чтобы изучить заклинание грозовой руны. .suffix = { "СКИН, Средневековье" } diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/actions.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/actions.yml new file mode 100644 index 00000000000..cf755f8512b --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/actions.yml @@ -0,0 +1,56 @@ +# Beginner + +- type: entity + id: MedievalActionEarthBedBeginner + name: medieval-store-spells-earth-bed-beginner-name + description: medieval-store-spells-earth-bed-beginner-desc + components: + - type: CastTraining + trainingResults: + - !type:AddMagicEssence + essenceAddProbability: 0.0007 + bonusAddProbability: 1 + addedEssences: + MagicMedievalVodka: 1 + bonusEssences: + MagicMedievalVodka: 1 + - type: ManaDrainSpell + manaDrain: 45 + canUseWithoutMana: true + manaLowMessage: medieval-spell-speach-not-enough-mana-fire-spell + damageOnUseWithoutMana: + groups: + Burn: 20 + - type: SpellCastEffect + effectProto: EarthBedSpellCastEffectBeginner + - type: MedievalTargetSpell + - type: Action + useDelay: 120 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Imperial/Medieval/mob_spawn_effect.ogg + icon: + sprite: Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi + state: beginner + - type: TargetAction + checkCanAccess: false + targetingIndicator: false + range: 5 + - type: WorldTargetAction + event: !type:MedievalSpawnSpellEvent + spawnedEntityPrototype: MedievalEarthBedBeginner + spawnType: SpawnOnMousePosition + speechPoints: + 0: + speech: medieval-spell-speach-earth-bed + color: "#838275" + hideChat: true + - type: ShowSpawnedEntity + sprites: + - drawedSprite: + sprite: Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi + state: beginner + alwaysRender: true + spriteColor: "#574242" + outOfRangeColor: "#650000" + range: 5 diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/effect.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/effect.yml new file mode 100644 index 00000000000..e6d22faaf7c --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/effect.yml @@ -0,0 +1,19 @@ +#Beginner + +- type: entity + id: EarthBedSpellCastEffectBeginner + components: + - type: Sprite + sprite: Imperial/Medieval/SpellCastEffects/fire/nova.rsi + color: "#838275" + noRot: true + layers: + - state: beginner + shader: unshaded + - type: PointLight + radius: 2 + energy: 2 + color: "#838275" + - type: TimedDespawn + lifetime: 0.5 + diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/projectiles.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/projectiles.yml new file mode 100644 index 00000000000..d22bb159896 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/projectiles.yml @@ -0,0 +1,50 @@ +# Base + +- type: entity + parent: Bed + id: MedievalEarthBed + name: Earth Bed + abstract: true + components: + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 60 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Strap + buckleTime: 0.5 + unbuckleTime: 0.5 + buckleSound: + path: /Audio/Imperial/Medieval/Effects/lay_on_bed1.ogg + unbuckleSound: + path: /Audio/Imperial/Medieval/Effects/lay_on_bed2.ogg + - type: Buckle + - type: BloodRegenBed + bloodRegenMultiplier: 2.0 + - type: HealOnBuckle + damage: + groups: + Brute: -0.1 + Burn: -0.1 + Airloss: -0.1 + types: + Poison: -0.1 + Caustic: -0.1 + Radiation: -0.1 + - type: MedievalPlagueHealStrapped + +# Beginner + +- type: entity + id: MedievalEarthBedBeginner + parent: MedievalEarthBed + name: Earth Bed + components: + - type: Sprite + sprite: Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi + state: beginner + - type: TimedDespawn + lifetime: 60 diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/store.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/store.yml new file mode 100644 index 00000000000..9b58f97be79 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/store.yml @@ -0,0 +1,18 @@ +# Beginner + +- type: imperialListing + id: MedievalSpellEarthBedBeginner + name: medieval-store-spells-earth-bed-beginner-name + description: medieval-store-spells-earth-bed-beginner-desc + productAction: MedievalActionEarthBedBeginner + priority: 10 + icon: + sprite: Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi + state: beginner + cost: + MagicMedievalEarth: 60 + categories: + - MedievalEarthSpells + conditions: + - !type:ImperialListingLimitedStockCondition + stock: 1 diff --git a/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi/beginner.png b/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi/beginner.png new file mode 100644 index 0000000000000000000000000000000000000000..fda0f1346ebda551aea05265e868acb795c83dcd GIT binary patch literal 883 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCikP2Ka=yDhY}hi^~+7=`IX4-%=d_6lP`u0Y(M}bvZe9R+a!;+i)kRNN49@ zd;17y=V%v~ICpmzX66`I*H|~VI5)Qh5069-k0=)xA1muS|sxmUH zEG$50v=-=H15(B%L4LviNd^ps^Y-=uwR0ADL>4nJ@ErzW#^d=bQh z8x-OijLcwhCLr68k%>V7NJjy2W;+X5JPXJMfdn81>4(v1mNEe2Yyvw2$lnG=#s-WF zAf|$Jur7d@GzG{80Vbe1OkkBkmKH!3RF|QF0Z7*8`~eTu{_6{Xw%K{QIEGmG_fF0Y zZZ_a)xb3vOke4;ui$yZe>e=Zzr~dyhjN5qp!0hn({+XXl_MSG)k!Wi){KqUklP~$~ z^i~0-k4u!3UlhkBGJCgdKfIN5z98r4rUyMIxebo7e*XLO=%(Y+g^k_zuY-QwE>wKD z|8jc8r~JgNyC$t>z3$DZw(Nr%htAWWLs5xs9aj1Q{R#)xPO(XKbO^q2Xxh0@J%@4w zag&+5wzV#_S$=F%sows0uC*&;Li2W=+jecssa@xo&a|+b+`bTX^OQzt&_00wl4) z7{i`lGtaUvm9AR+&7-8|{D&*~pZa%xsN6KIq*p5NdatIem~7427T52c3NH3OJ{@(p kRtUt-`SHqiy7{Jm_XB4t@2)!7dKwg}p00i_>zopr0E{v-4*&oF literal 0 HcmV?d00001 diff --git a/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi/meta.json b/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi/meta.json new file mode 100644 index 00000000000..61c2d4f07e1 --- /dev/null +++ b/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "this content is under ICLA licence, read more on https://wiki.imperialspace.net/icla", + "copyright": "by discord: Zakvielian", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "beginner" + } + ] +} diff --git a/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi/beginner.png b/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi/beginner.png new file mode 100644 index 0000000000000000000000000000000000000000..885334cf59ff2d6b119098e2d8b98c36fa11f743 GIT binary patch literal 860 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo@GwnEjyr^ZK)BSX`Y^13>-iXD}xjxD+42tQV0J5OE3=IrGvOebzc&PSYUjS6c?djqe65;-K+Ig?X0V2ot3o8aJ>=qKZ^=?Ur z_1zm&H&4!#tm&w1NR&IU{G;ZULvLgRy1UD)PrNZ|P1K9!U^6l*7yB0D?^h(eIMDo` z!i4Ige>LCl%$_}At60A00^ap!cQ<%3y09o+dUostXT{5=S#ubAw~GDp%?wKMa|k>* zy(MmQgdn4huI?t$j}i9rj&mP87n@ulH{Dl{)&9!q$D6Oa`Yj4+*k<1NPN7z=pP%tg ztiIUtPX`y=ejB4N=AD_{A)(G@<{w6eTla4k2ETEiSlrWlvS+rE8C&#h>G}Uu zv+wt*Pu|ZM)>>+4du_`hfwcx#o_YNWY>~IGpU-fEz1%^p+Ut^)N+#DDtBv(o zJ8Q`SrQQ43%N5LyNk%2kDAscRHLdip`k}pTsf_)O$A2g6zacT_d>Vg#;~j@vYR6O0 zufFhc#jTbPZ!&DZoxPVn{RzvFV>?!R)>s2A0JSFKoRZe#Jc5(_8lZzDGRQm-bgzpZ!;S^+Ar+ Z(*K&thNf&gy6%FKh^MQc%Q~loCIEs3H46X$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi/meta.json b/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi/meta.json new file mode 100644 index 00000000000..61c2d4f07e1 --- /dev/null +++ b/Resources/Textures/Imperial/Medieval/Magic/Earth/EarthBed/projectiles.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "this content is under ICLA licence, read more on https://wiki.imperialspace.net/icla", + "copyright": "by discord: Zakvielian", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "beginner" + } + ] +} From fc1a5734e0b7a8c86932ad71db1ec9386d091379 Mon Sep 17 00:00:00 2001 From: Zakvielian Date: Sat, 31 Jan 2026 02:46:26 +0300 Subject: [PATCH 5/7] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=B7=D0=B0=D0=BA=D0=BB=D0=B8=D0=BD=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B8=D0=B7=D1=8B=D0=B2=D0=B0=20?= =?UTF-8?q?=D0=B3=D1=80=D0=B8=D0=BC=D1=83=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FoliantToHandTeleporterComponent.cs | 16 +++++++ .../FoliantToHandTeleporterSystem.cs | 32 +++++++++++++ .../license.txt | 2 + Content.Shared/Actions/SharedActionsSystem.cs | 2 +- .../Imperial/Medieval/Magic/Spells/light.ftl | 7 +++ .../Spells/Light/SummonFoliant/actions.yml | 42 ++++++++++++++++++ .../Spells/Light/SummonFoliant/effect.yml | 18 ++++++++ .../Light/SummonFoliant/projectiles.yml | 22 +++++++++ .../Spells/Light/SummonFoliant/store.yml | 18 ++++++++ .../Light/SummonFoliant/icon.rsi/beginner.png | Bin 0 -> 641 bytes .../Light/SummonFoliant/icon.rsi/meta.json | 14 ++++++ 11 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/FoliantToHandTeleporterComponent.cs create mode 100644 Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/FoliantToHandTeleporterSystem.cs create mode 100644 Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/license.txt create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/actions.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/effect.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/projectiles.yml create mode 100644 Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/store.yml create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi/beginner.png create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi/meta.json diff --git a/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/FoliantToHandTeleporterComponent.cs b/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/FoliantToHandTeleporterComponent.cs new file mode 100644 index 00000000000..f92729d56b6 --- /dev/null +++ b/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/FoliantToHandTeleporterComponent.cs @@ -0,0 +1,16 @@ +namespace Content.Server.Imperial.Medieval.Magic.MedievalFoliantToHandTeleporter; +/// +/// Компонент телепортирует предмет по UID к пользователю в свободную руку при активации триггера. +/// +/// +/// Вообще планируется использовать этот компонент для телепорта не только гримуара, но и других предметов. +/// +[RegisterComponent, Access(typeof(FoliantToHandTeleporterSystem))] +public sealed partial class FoliantToHandTeleporterComponent : Component +{ + [ViewVariables] + public EntityUid? ItemUid; + + [DataField] + public string? KeyIn = "UseInHand"; +} diff --git a/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/FoliantToHandTeleporterSystem.cs b/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/FoliantToHandTeleporterSystem.cs new file mode 100644 index 00000000000..4d33ac21c1b --- /dev/null +++ b/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/FoliantToHandTeleporterSystem.cs @@ -0,0 +1,32 @@ +using Content.Server.Imperial.Medieval.Magic.BindStoreOnEquip; +using Content.Shared.Imperial.Medieval.Magic; +using Content.Shared.Hands.EntitySystems; + +namespace Content.Server.Imperial.Medieval.Magic.MedievalFoliantToHandTeleporter; +public sealed partial class FoliantToHandTeleporterSystem : EntitySystem +{ + [Dependency] private readonly SharedHandsSystem _handsSystem = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(FindFoliant); + } + + private void FindFoliant(EntityUid uid, FoliantToHandTeleporterComponent component, MedievalAfterSpawnEntityBySpellEvent args) + { + EntityUid playerUid = args.Performer; + var query = EntityQueryEnumerator(); + + while(query.MoveNext(out var folliantUID, out var bindComp)) + { + if(bindComp.BindedEntity != playerUid) continue; + else TeleportItemToHand(playerUid, folliantUID); break; + } + } + + private void TeleportItemToHand(EntityUid playerUid, EntityUid itemUid) + { + _handsSystem.TryForcePickupAnyHand(playerUid, itemUid); + } +} diff --git a/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/license.txt b/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/license.txt new file mode 100644 index 00000000000..55b826b8d76 --- /dev/null +++ b/Content.Server/Imperial/Medieval/Magic/Other/Spells/MedievalFoliantToHandTeleporter/license.txt @@ -0,0 +1,2 @@ +license: This content is under ICLA. Copyright holder: Zakvielian (discord) (Read more on: https://wiki.imperialspace.net/ru/icla) +copyright: "Zakvielian (discord)" diff --git a/Content.Shared/Actions/SharedActionsSystem.cs b/Content.Shared/Actions/SharedActionsSystem.cs index 9bb15c9fe08..55702d4b9e4 100644 --- a/Content.Shared/Actions/SharedActionsSystem.cs +++ b/Content.Shared/Actions/SharedActionsSystem.cs @@ -689,7 +689,7 @@ public bool AddAction(Entity performer, return AddActionDirect(performer, (ent, ent)); } - /// + /// 1 /// Adds a pre-existing action. This also bypasses the requirement that the given action must be stored in a /// valid action container. /// diff --git a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl index 0c093b95dd6..8ecbfb6c7e8 100644 --- a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl +++ b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl @@ -93,3 +93,10 @@ medieval-store-spells-light-sunstrike-senior-name = Солнечный луч medieval-store-spells-light-sunstrike-senior-desc = Ускоренная версия солнечного луча. Стоимость 60 маны MagicSpark = Магическая искра + +# Summon Foliant + +medieval-spell-speach-summon-foliant = E̸V͢O̸CÁ͠T͢IÓ̵ G̡RÍ̛M͢O̸I͜RÍÍ͠ + +medieval-store-spells-magic-light-summon-foliant-beginner-name = Призыва гримура +medieval-store-spells-light-summon-foliant-beginner-desc = Призывает связанный с вами гримуар. Стоимость 25 маны diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/actions.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/actions.yml new file mode 100644 index 00000000000..32f98def132 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/actions.yml @@ -0,0 +1,42 @@ +# Beginner + +- type: entity + id: MedievalActionSummonFoliantBeginner + name: medieval-store-spells-magic-light-summon-foliant-beginner-name + description: medieval-store-spells-light-summon-foliant-beginner-desc + components: + - type: MedievalInstantSpell + - type: Action + useDelay: 60 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Weapons/Guns/Gunshots/Magic/staff_healing.ogg + icon: + sprite: Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi + state: beginner + - type: InstantAction + event: !type:MedievalInstantSpawnEvent + spawnedEntityPrototype: MedievalProjectileSummonFoliantBeginner + speechPoints: + 0: + speech: medieval-spell-speach-summon-foliant + color: "#FFE57E" + hideChat: true + - type: CastTraining + trainingResults: + - !type:AddMagicEssence + essenceAddProbability: 0.0004 + bonusAddProbability: 1 + addedEssences: + MagicMedievalLight: 1 + bonusEssences: + MagicMedievalLight: 1 + - type: ManaDrainSpell + manaDrain: 25 + canUseWithoutMana: true + manaLowMessage: medieval-spell-speach-not-enough-mana-fire-spell + damageOnUseWithoutMana: + groups: + Burn: 10 + - type: SpellCastEffect + effectProto: SummonFoliantSpellCastEffectBeginner diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/effect.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/effect.yml new file mode 100644 index 00000000000..3873ea643ba --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/effect.yml @@ -0,0 +1,18 @@ +#Beginner + +- type: entity + id: SummonFoliantSpellCastEffectBeginner + components: + - type: Sprite + sprite: Imperial/Medieval/SpellCastEffects/light/magic_light.rsi + color: "#FFE57E" + noRot: true + layers: + - state: beginner + shader: unshaded + - type: PointLight + radius: 2 + energy: 1 + color: "#FFE57E" + - type: TimedDespawn + lifetime: 0.5 diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/projectiles.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/projectiles.yml new file mode 100644 index 00000000000..33404cf72f4 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/projectiles.yml @@ -0,0 +1,22 @@ +# Beginner + +- type: entity + id: MedievalProjectileSummonFoliantBeginner + components: + - type: CargoSellBlacklist + - type: PointLight + color: white + energy: 5 + radius: 3 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 15 + mask: + - GhostImpassable + - type: TimedDespawn + lifetime: 0.5 + - type: FoliantToHandTeleporter diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/store.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/store.yml new file mode 100644 index 00000000000..85a2fb92334 --- /dev/null +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/SummonFoliant/store.yml @@ -0,0 +1,18 @@ +# Beginner + +- type: imperialListing + id: MedievalSpellSummonFoliantBeginner + name: medieval-store-spells-magic-light-summon-foliant-beginner-name + description: medieval-store-spells-light-summon-foliant-beginner-desc + productAction: MedievalActionSummonFoliantBeginner + priority: 9 + icon: + sprite: Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi + state: beginner + cost: + MagicMedievalLight: 10 + categories: + - MedievalLightSpells + conditions: + - !type:ImperialListingLimitedStockCondition + stock: 1 diff --git a/Resources/Textures/Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi/beginner.png b/Resources/Textures/Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi/beginner.png new file mode 100644 index 0000000000000000000000000000000000000000..d1115e1f78eb880e95ef63e24c515611b8bcd9cf GIT binary patch literal 641 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil=1AIbUl>|kM#bt`kbQgx2Z>bIt&~#Me=F=DEzqQEe!< z0~tycasIvK$*XN7{B?CBMMXO#C4pub3Frp^DbbQ3zu^B^0E70;+E+jYoCO|{#S9F5 zhd`K7RKu$QC@4|l8c`CQpH@?e(j_Mj zMTP_>rC&nEot+&$3Ce|<)r%Y$oRglP7rCj(tR%qXBg-(s;a~sV2!UiBg{gC56X)gM zR9M5b+jZyp-h>Stt2d=Eo}IekpN4_8xcpj%ZGtlE`)-CFJmmSq?$P?zAWv@bR;ejb z`JZ*JyuP<>t@@k(Q=8TI?D<~3OmxfQKZONO{T8KHN__0rPr31N@iJMi!UDU=E>d$o ezTj;yH~5!-?Wx#D-O`)jVDxnLb6Mw<&;$Va$iOfF literal 0 HcmV?d00001 diff --git a/Resources/Textures/Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi/meta.json b/Resources/Textures/Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi/meta.json new file mode 100644 index 00000000000..61c2d4f07e1 --- /dev/null +++ b/Resources/Textures/Imperial/Medieval/Magic/Light/SummonFoliant/icon.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "this content is under ICLA licence, read more on https://wiki.imperialspace.net/icla", + "copyright": "by discord: Zakvielian", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "beginner" + } + ] +} From 95aa5d25bf125d0a2cb6fe05ba1112b08c4f0b08 Mon Sep 17 00:00:00 2001 From: Zakvielian Date: Sat, 31 Jan 2026 02:59:04 +0300 Subject: [PATCH 6/7] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5.=20=D0=A1=D0=B1=D0=B0=D0=BB=D0=B0=D0=BD=D1=81=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=20=D1=88=D0=B0=D1=80=D0=B8=D0=BA?= =?UTF-8?q?=20=D0=B2=D0=BE=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl | 2 +- .../Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl | 2 +- .../Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl | 2 +- .../Medieval/Magic/Spells/Earth/EarthBed/store.yml | 2 +- .../Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml | 8 ++++---- .../Medieval/Magic/Spells/Vodka/WaterOrb/store.yml | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl index 99aded8c467..7c4ae16701c 100644 --- a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl +++ b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/earth.ftl @@ -75,4 +75,4 @@ medieval-store-spells-earth-obelisk-senior-desc = Создайте в указа medieval-spell-speach-earth-bed = L̰ͧe͉ͩc̰̍ṭ̛ựs̰̅ ̰ͩT̰ͤe͉ͩṛ̛ṛ̛a̰ͤḛ̅ medieval-store-spells-earth-bed-beginner-name = Ложе из земли -medieval-store-spells-earth-bed-beginner-desc = Создайте в указаном месте не особо удобное место для сна. +medieval-store-spells-earth-bed-beginner-desc = Создайте в указаном месте не особо удобное место для сна. Стоимость 45 маны diff --git a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl index 8ecbfb6c7e8..ae0456a21fe 100644 --- a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl +++ b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/light.ftl @@ -98,5 +98,5 @@ MagicSpark = Магическая искра medieval-spell-speach-summon-foliant = E̸V͢O̸CÁ͠T͢IÓ̵ G̡RÍ̛M͢O̸I͜RÍÍ͠ -medieval-store-spells-magic-light-summon-foliant-beginner-name = Призыва гримура +medieval-store-spells-magic-light-summon-foliant-beginner-name = Призыв гримура medieval-store-spells-light-summon-foliant-beginner-desc = Призывает связанный с вами гримуар. Стоимость 25 маны diff --git a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl index 650fde1bb2e..27f3719bf42 100644 --- a/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl +++ b/Resources/Locale/ru-RU/Imperial/Medieval/Magic/Spells/vodka.ftl @@ -65,4 +65,4 @@ medieval-store-spells-vodka-ice-dagger-senior-desc = Конвертируйте medieval-spell-speach-water-orb = S̰ͧp̝ͥh̼ͨa̰ͤe͉ͩṛ̛a̰̍ ̰ͩA̰ͥq̰ͮựa̰ͤḛ̅ medieval-store-spells-vodka-water-orb-beginner-name = Шарик воды -medieval-store-spells-vodka-water-orb-beginner-desc = Небольшое количество воды, заточенное в сферу из тонкого льда +medieval-store-spells-vodka-water-orb-beginner-desc = Небольшое количество воды, заточенное в сферу из тонкого льда. Стоимость 10 маны diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/store.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/store.yml index 9b58f97be79..7e33e711780 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/store.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Earth/EarthBed/store.yml @@ -5,7 +5,7 @@ name: medieval-store-spells-earth-bed-beginner-name description: medieval-store-spells-earth-bed-beginner-desc productAction: MedievalActionEarthBedBeginner - priority: 10 + priority: 7 icon: sprite: Imperial/Medieval/Magic/Earth/EarthBed/icons.rsi state: beginner diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml index 668a41a7e0f..ffd4e4cbeea 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/actions.yml @@ -16,7 +16,7 @@ MagicMedievalVodka: 1 - type: MedievalInstantSpell - type: Action - useDelay: 15 + useDelay: 20 itemIconStyle: BigAction sound: !type:SoundPathSpecifier path: /Audio/Imperial/Medieval/icewall_cast.ogg @@ -41,11 +41,11 @@ hideChat: true - type: MedievalSpawnOnlyInFreeHands - type: ManaDrainSpell - manaDrain: 5 + manaDrain: 10 canUseWithoutMana: true manaLowMessage: medieval-spell-speach-not-enough-mana-fire-spell damageOnUseWithoutMana: groups: - Burn: 2 + Burn: 5 - type: SpellCastEffect - effectProto: IceDaggerSpellCastEffectBeginner #Whynot + effectProto: IceDaggerSpellCastEffectBeginner diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/store.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/store.yml index 25bd7e51810..a5b5a66eb31 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/store.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Vodka/WaterOrb/store.yml @@ -5,7 +5,7 @@ name: medieval-store-spells-vodka-water-orb-beginner-name description: medieval-store-spells-vodka-water-orb-beginner-desc productAction: MedievalActionWaterOrbBeginner - priority: 10 + priority: 6 icon: sprite: Imperial/Medieval/Magic/Vodka/WaterOrb/icons.rsi state: beginner From 1be33b8c8e22f6294be98e4e70ae32d255b8f007 Mon Sep 17 00:00:00 2001 From: Zakvielian Date: Sat, 31 Jan 2026 21:03:46 +0300 Subject: [PATCH 7/7] =?UTF-8?q?=D0=92=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82.=20=D0=97?= =?UTF-8?q?=D0=B0=D0=BA=D0=BB=D0=B8=D0=BD=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=81?= =?UTF-8?q?=D0=B2=D0=B5=D1=82=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D1=88=D0=B0?= =?UTF-8?q?=D1=80=D0=B0=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BD=D0=B5=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= =?UTF-8?q?=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Magic/Spells/Light/MagicLight/actions.yml | 89 ++++++++++++++ .../Spells/Light/MagicLight/projectiles.yml | 114 +++++++++++++++++- .../Magic/Spells/Light/MagicLight/store.yml | 49 ++++++++ .../Light/MagicLight/icons.rsi/meta.json | 9 +- .../MagicLight/icons.rsi/middleFollower.png | Bin 0 -> 766 bytes .../MagicLight/icons.rsi/middleStationary.png | Bin 0 -> 710 bytes 6 files changed, 259 insertions(+), 2 deletions(-) create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/middleFollower.png create mode 100644 Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/middleStationary.png diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/actions.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/actions.yml index 19ae9a4279e..141bcf2794c 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/actions.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/actions.yml @@ -43,3 +43,92 @@ Burn: 5 - type: SpellCastEffect effectProto: MagicLightSpellCastEffectBeginner + - type: ActionUpgrade + effectedLevels: + 2: MedievalActionMagicLightStationaryMiddle + 3: MedievalActionMagicLightFollowerMiddle + + +# Middle + +- type: entity + id: MedievalActionMagicLightStationaryMiddle + name: medieval-store-spells-magic-light-flash-stationary-middle-name # + description: medieval-store-spells-light-magic-light-stationary-middle-desc # + components: + - type: MedievalInstantSpell + - type: Action + useDelay: 60 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Imperial/Medieval/lightsphere_cast.ogg + icon: + sprite: Imperial/Medieval/Magic/Light/MagicLight/icons.rsi + state: middleStationary + - type: InstantAction + event: !type:MedievalInstantSpawnEvent + spawnedEntityPrototype: MedievalProjectileLightStationarMiddle # + speechPoints: + 0: + speech: medieval-spell-speach-magic-light + color: "#FFE57E" + hideChat: true + - type: CastTraining + trainingResults: + - !type:AddMagicEssence + essenceAddProbability: 0.0004 + bonusAddProbability: 1 + addedEssences: + MagicMedievalLight: 1 + bonusEssences: + MagicMedievalLight: 1 + - type: ManaDrainSpell + manaDrain: 40 + canUseWithoutMana: true + manaLowMessage: medieval-spell-speach-not-enough-mana-fire-spell + damageOnUseWithoutMana: + groups: + Burn: 10 + - type: SpellCastEffect + effectProto: MagicLightSpellCastEffectBeginner + +- type: entity + id: MedievalActionMagicLightFollowerMiddle + name: medieval-store-spells-magic-light-flash-follower-middle-name # + description: medieval-store-spells-light-magic-light-follower-middle-desc # + components: + - type: MedievalInstantSpell + - type: Action + useDelay: 20 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Imperial/Medieval/lightsphere_cast.ogg + icon: + sprite: Imperial/Medieval/Magic/Light/MagicLight/icons.rsi + state: middleFollower # + - type: InstantAction + event: !type:MedievalInstantSpawnEvent + spawnedEntityPrototype: MedievalProjectileLightFollowerMiddle # + speechPoints: + 0: + speech: medieval-spell-speach-magic-light + color: "#FFE57E" + hideChat: true + - type: CastTraining + trainingResults: + - !type:AddMagicEssence + essenceAddProbability: 0.0004 + bonusAddProbability: 1 + addedEssences: + MagicMedievalLight: 1 + bonusEssences: + MagicMedievalLight: 1 + - type: ManaDrainSpell + manaDrain: 30 + canUseWithoutMana: true + manaLowMessage: medieval-spell-speach-not-enough-mana-fire-spell + damageOnUseWithoutMana: + groups: + Burn: 7 + - type: SpellCastEffect + effectProto: MagicLightSpellCastEffectBeginner diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/projectiles.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/projectiles.yml index 4ef86d1e6b1..2a23e19f122 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/projectiles.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/projectiles.yml @@ -65,10 +65,122 @@ - type: MedievalProjectilePlayerFollower activateTime: 0.3 - type: TimedDespawn - lifetime: 120 + lifetime: 12 # - type: SpawnOnDespawn prototype: MedievalLightSphereDespawnEffect +# Middle + +- type: entity + id: MedievalProjectileLightStationarMiddle + components: + - type: CargoSellBlacklist + - type: Sprite + sprite: Objects/Fun/pondering_orb.rsi + state: icon + - type: MedievalParticles + color: cyan + speed: 2.0 + particlesCount: 32 + gravity: 0 + inverted: true + collapseOnMinDistance: true + - type: PointLight + color: cyan + energy: 4 + radius: 10 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 15 + mask: + - GhostImpassable + - type: Physics + bodyType: KinematicController + bodyStatus: InAir + - type: Tag + tags: + - BypassInteractionRangeChecks + - LightningBlacklist + - type: TimedDespawn + lifetime: 12 # + - type: SpawnOnDespawn + prototype: MedievalLightSphereDespawnEffect + +- type: entity + id: MedievalProjectileLightFollowerMiddle + components: + - type: CargoSellBlacklist + - type: Sprite + sprite: Objects/Fun/pondering_orb.rsi + state: icon + - type: MedievalParticles + color: cyan + speed: 2.0 + particlesCount: 32 + gravity: 0 + inverted: true + collapseOnMinDistance: true + - type: PointLight + color: cyan + energy: 3 + radius: 6 + - type: ContentEye + maxZoom: 1.44,1.44 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 15 + mask: + - GhostImpassable + - type: Eye + drawFov: false + - type: Input + context: "ghost" + - type: Examiner + skipChecks: true + - type: GhostHearing + - type: MovementSpeedModifier + baseSprintSpeed: 5.6 + baseWalkSpeed: 3.2 + - type: MovementIgnoreGravity + - type: IntrinsicRadioReceiver + - type: ActiveRadio + receiveAllChannels: true + globalReceive: true + - type: Physics + bodyType: KinematicController + bodyStatus: InAir + - type: CanMoveInAir + - type: Tag + tags: + - BypassInteractionRangeChecks + - LightningBlacklist + - type: InputMover + - type: MobMover + - type: HTN # Паттерн поведения обычного нейтрального моба + rootTask: + task: FollowCompound + blackboard: + FollowCloseRange: !type:Single + 0.5 + FollowRange: !type:Single + 0.0 + - type: MedievalProjectilePlayerFollower + activateTime: 0.3 + - type: TimedDespawn + lifetime: 12 # + - type: SpawnOnDespawn + prototype: MedievalLightSphereDespawnEffect + +# Effects + - type: entity id: MedievalLightSphereDespawnEffect components: diff --git a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/store.yml b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/store.yml index 854f55e2c4f..8ac13b017b6 100644 --- a/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/store.yml +++ b/Resources/Prototypes/Imperial/Medieval/Magic/Spells/Light/MagicLight/store.yml @@ -6,6 +6,9 @@ description: medieval-store-spells-light-magic-light-beginner-desc productAction: MedievalActionMagicLightBeginner priority: 5 + productUpgradeId: + - MedievalSpellMagicLightStationaryMiddle + - MedievalSpellMagicLightFollowerMiddle icon: sprite: Imperial/Medieval/Magic/Light/MagicLight/icons.rsi state: beginner @@ -16,3 +19,49 @@ conditions: - !type:ImperialListingLimitedStockCondition stock: 1 + +# Middle + +- type: imperialListing + id: MedievalSpellMagicLightStationaryMiddle + name: medieval-store-spells-magic-light-flash-stationary-middle-name # + description: medieval-store-spells-light-magic-light-stationary-middle-desc # + productAction: MedievalActionMagicLightStationaryMiddle + priority: 5 + icon: + sprite: Imperial/Medieval/Magic/Light/MagicLight/icons.rsi + state: middleStationary + cost: + MagicMedievalLight: 30 + categories: + - MedievalLightSpells + conditions: + - !type:ImperialListingLimitedStockCondition + stock: 1 + - !type:ImperialBuyBeforeCondition + whitelist: + - MedievalSpellMagicLightBeginner + blacklist: + - MedievalSpellMagicLightFollowerMiddle + +- type: imperialListing + id: MedievalSpellMagicLightFollowerMiddle + name: medieval-store-spells-magic-light-flash-follower-middle-name # + description: medieval-store-spells-light-magic-light-follower-middle-desc # + productAction: MedievalActionMagicLightFollowerMiddle + priority: 5 + icon: + sprite: Imperial/Medieval/Magic/Light/MagicLight/icons.rsi + state: middleFollower + cost: + MagicMedievalLight: 30 + categories: + - MedievalLightSpells + conditions: + - !type:ImperialListingLimitedStockCondition + stock: 1 + - !type:ImperialBuyBeforeCondition + whitelist: + - MedievalSpellMagicLightBeginner + blacklist: + - MedievalSpellMagicLightStationaryMiddle diff --git a/Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/meta.json b/Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/meta.json index b63cf1e65fa..9ccb31c1b5d 100644 --- a/Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/meta.json +++ b/Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "this content is under ICLA licence, read more on https://wiki.imperialspace.net/icla", - "copyright": "by discord: fortengamer", + "copyright": "by discord: fortengamer || middleSpells: discord: Zakvielian", "size": { "x": 32, "y": 32 @@ -9,6 +9,13 @@ "states": [ { "name": "beginner" + }, + { + "name": "middleStationary" + }, + { + "name": "middleFollower" } ] } + diff --git a/Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/middleFollower.png b/Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/middleFollower.png new file mode 100644 index 0000000000000000000000000000000000000000..278c2231b39eae855ade6d48bdace3a631a23245 GIT binary patch literal 766 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijq1AIbUoou}$!-CrC+vY9VeEH%x0Zm8C@Ra}m|MTnneEan)xu)&;hmUDT zj@xY8wf@$l?u(Zf-ni9z?jlgP&AbiHKuWkI$S)YE9t|*Ts=dPjl;$k(h%9Dc;5!V$ zjK}j=qyPmaN?apKg7ec#$`gxH83GbB^GfvmTtgI0^$hhabMkK40o80vjqptK^weSi znZn8-#mLIQ2xNHyu{4wo^05XZGgzDn$TnnTVh{k*Q9zv8&H@(C0X6s4hbT1CXrG`2!xR z{nr-&ZS(YWaSXBWZ=D=H>4*Y{>qVD!UW+c@{GYU(!S}XpsIZniTi>3guXpJ!df=q? zz5nJFndF|?r}C2AuWCAp=LWtkd@FYKNUumoqekH`5x-6im!SWRK}kMJyYK#+I>SNI zAx%}nm6O@Ygne0nHGh+?7Z2YV0ZU^G=|nB&Z3WC#^4t5HM7D88h-R%{;XQ@5pn5IS z%2I)s!Y6vPlmsSnDa$Ol%eYtnxaNe%6CNtJ&J|m*O<2~UT`26d^odssWMi2Z?C##f zFl|4FLXewO*l89c=WF%zjZu;YE6M(FVH>p^EBtd%D8hXD$xB z6ZB5)0^h@zv+u( zlBL&s|4vtzjo4nbZg2iqj;sdTIWw0DeKwFk_xW;l%^v>q|HT_0i0&2r8L|}=z@Dyt JF6*2UngEVF1ML6+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/middleStationary.png b/Resources/Textures/Imperial/Medieval/Magic/Light/MagicLight/icons.rsi/middleStationary.png new file mode 100644 index 0000000000000000000000000000000000000000..d7d7ce6895c2303f00fd22022cf310f99f11f996 GIT binary patch literal 710 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijq1AIbUoou}$!-CrC+vY9VeEH%x0Zm7KeILv4l>h(#C)cz+|L`&G$Z?x( zyVl=&)P3>tw_m>&-ni9z?jlh4hHUw4ASGN94nJ@ErzW z#^d=bQh$Nv;eZ8x(p2rK(apP4|u5d zUta*UP0-WDF~q{Zck`xx8}GJfHi%?+n)T?qF_YU&M6o zeBC^b_h||&Z0+4E4m{GcH%`7%aGGUCyaKZ!b7Q2-LM3%W#zw_eT%n>RhZv%y6TX|O zwH{m1-WHw7prS6q!0L7-Mo(deL*LQ5hD$1k7_R&XWxTq!J+Roa;XqH?uG|az(&~aY z?0&mj^NYllq=rRHY>pIMQQVMmDF3vQw|}ul$kd9XO_LT){muJgYK`Jko6t|+#3X-S zj;^UWyD;(IuZOGqX3Z{pck=zNUxfwp+}{^g$RGR9e_BiAg>L;bU>am#@O1TaS?83{ F1OUJB_%Hwf literal 0 HcmV?d00001