From bf256b25e9737ae0256a35f70c0c7fefacba1c3e Mon Sep 17 00:00:00 2001 From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Sat, 10 Aug 2024 13:08:14 +0300 Subject: [PATCH] Two new spells of light (#404) * light spell * fix --- .../ru-RU/_CP14/_PROTO/entities/entities.ftl | 45 +++++++ .../Entities/Actions/Spells/flash_light.yml | 86 +++++++++++++ .../Actions/Spells/sphere_of_light.yml | 113 ++++++++++++++++++ .../_CP14/Entities/Clothing/Rings/ring.yml | 37 ++++++ .../Rings/rings.rsi/citrine_stone_small.png | Bin 0 -> 146 bytes .../_CP14/Clothing/Rings/rings.rsi/meta.json | 3 + .../Magic/spells_icons.rsi/flash_light.png | Bin 0 -> 300 bytes .../Effects/Magic/spells_icons.rsi/meta.json | 6 + .../spells_icons.rsi/sphere_of_light.png | Bin 0 -> 430 bytes .../Magic/sphere_of_light.rsi/icon.png | Bin 0 -> 371 bytes .../Magic/sphere_of_light.rsi/meta.json | 22 ++++ 11 files changed, 312 insertions(+) create mode 100644 Resources/Prototypes/_CP14/Entities/Actions/Spells/flash_light.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Actions/Spells/sphere_of_light.yml create mode 100644 Resources/Textures/_CP14/Clothing/Rings/rings.rsi/citrine_stone_small.png create mode 100644 Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/flash_light.png create mode 100644 Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/sphere_of_light.png create mode 100644 Resources/Textures/_CP14/Effects/Magic/sphere_of_light.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Effects/Magic/sphere_of_light.rsi/meta.json diff --git a/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl b/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl index 7c40a9644c..dbfb72da2b 100644 --- a/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl +++ b/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl @@ -1114,3 +1114,48 @@ ent-CP14CookedFoodMeat = Стейк из баранины ent-CP14CuttingBoard = Разделочная доска .desc = Поможет вам приготовить еду. + +ent-CP14ActionSpellCureWounds = Лечение ран + .desc = Вы касаетесь существа, исцеляя его тело от физических повреждений. + +ent-CP14ActionSpellEarthWall = Земляная стена + .desc = Поднимает из недр прочную стену земли. + +ent-CP14ActionSpellFireball = Огненный шар + .desc = Эффективный метод уничтожения - взрывной огненный шар. + +ent-CP14ActionSpellFlameCreation = Создание пламени + .desc = В вашей руке образуется искусственное пламя, освещающее окружающее пространство. Вы можете бросить его, чтобы использовать в качестве одноразового оружия. + +ent-CP14FlameCreationArtificialFlame = искусственное пламя + .desc = Магически созданное искусственное пламя, горящее прямо в воздухе. Неплохой источник света или оружие, если бросить его кому-нибудь в лицо. + +ent-CP14ActionSpellFlashLight = Вспышка света + .desc = Создает вспышку яркого, ослепительного света. + +ent-CP14ActionSpellIceDagger = Ледяной кинжал + .desc = Материализация временного острого ледяного метательного кинжала. + +ent-CP14DaggerIce = ледяной кинжал + .desc = Кусок острого магического льда. Через некоторое время действие заклинания ослабнет, и он исчезнет. + +ent-CP14ActionSpellIceFloor = Ледяной пол + .desc = Покрывает определенный участок земли скользким льдом. + +ent-CP14IceFloor = ледяная корка + .desc = Холодно и скользко. + +ent-CP14ActionSpellIceShards = Ледяные осколки + .desc = Быстрые ледяные иглы для быстрой стрельбы по мишеням. + +ent-CP14ActionSpellShadowGrab = Теневой захват + .desc = Вы вызываете призрачную руку, которая притягивает к вам предмет или сущность. + +ent-CP14ActionSpellShadowStep = Теневой шаг + .desc = Шаг сквозь прореху реальности, позволяющий быстро преодолеть небольшое расстояние. + +ent-CP14ActionSpellSphereOfLight = Сфера света + .desc = Материализация яркого и безопасного источника света. + +ent-CP14SphereOfLight = Сфера света + .desc = Сгусток яркого света в форме сферы. diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/flash_light.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/flash_light.yml new file mode 100644 index 0000000000..9bace3ba26 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/flash_light.yml @@ -0,0 +1,86 @@ +- type: entity + id: CP14ActionSpellFlashLight + name: Flash Light + description: Creates a flash of bright, blinding light. + components: + - type: CP14MagicEffect + manaCost: 10 + telegraphyEffects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14ImpactEffectFlashLight + effects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14SpawnEffectFlashLight + - type: CP14MagicEffectVerbalAspect + startSpeech: "Lux clara..." + endSpeech: "excaecant inimicos meos" + - type: CP14MagicEffectCastingVisual + proto: CP14RuneFlashLight + - type: WorldTargetAction + useDelay: 5 + range: 10 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Magic/rumble.ogg + icon: + sprite: _CP14/Effects/Magic/spells_icons.rsi + state: flash_light + event: !type:CP14DelayedWorldTargetActionEvent + delay: 0.5 + +- type: entity + id: CP14RuneFlashLight + parent: CP14BaseMagicRune + categories: [ HideSpawnMenu ] + components: + - type: PointLight + color: "#efedff" + - type: Sprite + layers: + - state: sun + color: "#efedff" + shader: unshaded + +- type: entity + id: CP14ImpactEffectFlashLight + parent: CP14BaseMagicImpact + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: particles_up + color: "#efedff" + shader: unshaded + +- type: entity + id: CP14SpawnEffectFlashLight + components: + - type: Sprite + sprite: /Textures/Objects/Fun/goldbikehorn.rsi + visible: false + state: icon + - type: TriggerOnSpawn + - type: TimedDespawn + lifetime: 5 + - type: FlashOnTrigger + range: 4 + duration: 4 + - type: SpawnOnTrigger + proto: CP14SpellFlashEffect + +- type: entity + id: CP14SpellFlashEffect + noSpawn: true + components: + - type: PointLight + enabled: true + radius: 5 + energy: 14 + netsync: false + - type: LightFade + duration: 0.5 + - type: TimedDespawn + lifetime: 0.5 + diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/sphere_of_light.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/sphere_of_light.yml new file mode 100644 index 0000000000..1915ab002a --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/sphere_of_light.yml @@ -0,0 +1,113 @@ +- type: entity + id: CP14ActionSpellSphereOfLight + name: Sphere of Light + description: Materialization of a bright and safe light source. + components: + - type: CP14MagicEffect + manaCost: 10 + effects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14ImpactEffectSphereOfLight + - !type:CP14SpellSpawnInHandEntity + spawns: + - CP14SphereOfLight + - type: CP14MagicEffectVerbalAspect + startSpeech: "Appare in manu tua..." + endSpeech: "sphaera lucis" + - type: CP14MagicEffectSomaticAspect + - type: CP14MagicEffectCastingVisual + proto: CP14RuneSphereOfLight + - type: InstantAction + useDelay: 15 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Magic/rumble.ogg + icon: + sprite: _CP14/Effects/Magic/spells_icons.rsi + state: sphere_of_light + event: !type:CP14DelayedInstantActionEvent + delay: 0.5 + breakOnMove: false + +- type: entity + id: CP14RuneSphereOfLight + parent: CP14BaseMagicRune + categories: [ HideSpawnMenu ] + components: + - type: PointLight + color: "#efedff" + - type: Sprite + layers: + - state: sun + color: "#efedff" + shader: unshaded + +- type: entity + id: CP14ImpactEffectSphereOfLight + parent: CP14BaseMagicImpact + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: particles_up + color: "#efedff" + shader: unshaded + +- type: entity + id: CP14SphereOfLight + name: Sphere of light + parent: BaseItem + description: A lump of bright light in the shape of a sphere. + components: + - type: TimedDespawn + lifetime: 300 # 5 min + - type: Sprite + sprite: _CP14/Effects/Magic/sphere_of_light.rsi + noRot: true + layers: + - state: icon + shader: unshaded + - type: Item + size: Ginormous + - type: Tag + tags: + - ForceableFollow + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.2,-0.2,0.2,0.2" + density: 30 + hard: true + mask: + - ItemMask + layer: + - Opaque + - type: LandAtCursor + - type: MovementIgnoreGravity + - type: PointLight + radius: 5.0 + energy: 6 + color: "#efedff" + - type: Damageable + - type: EmitSoundOnLand + sound: + path: /Audio/Effects/drop.ogg + params: + volume: -100 #Yes, it's stupid, but it's easier + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + path: /Audio/Weapons/Guns/Hits/energy_meat1.ogg + params: + variation: 0.250 + volume: -12 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml index c3a88edd7f..c1263d51bd 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml @@ -172,3 +172,40 @@ - type: CP14SpellStorage spells: - CP14ActionSpellIceFloor + +- type: entity + id: CP14ClothingRingSphereOfLight + parent: CP14ClothingRingBase + name: conductive ring + description: A standard mana-conductive ring that allows the user to create a sphere of light. + suffix: Sphere of Light + components: + - type: Sprite + layers: + - state: brass_ring + - state: citrine_stone_small + - type: CP14SpellStorageRequireAttune + - type: CP14MagicAttuningItem + - type: CP14SpellStorageAccessWearing + - type: CP14SpellStorage + spells: + - CP14ActionSpellSphereOfLight + +- type: entity + id: CP14ClothingRingFlashLight + parent: CP14ClothingRingBase + name: conductive ring + description: A standard mana-conductive ring that allows the user to create a bright flash of light that blinds enemies. + suffix: Flash Light + components: + - type: Sprite + layers: + - state: brass_ring + - state: citrine_stone_small + - type: CP14SpellStorageRequireAttune + - type: CP14MagicAttuningItem + - type: CP14SpellStorageAccessWearing + - type: CP14SpellStorage + spells: + - CP14ActionSpellFlashLight + diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/citrine_stone_small.png b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/citrine_stone_small.png new file mode 100644 index 0000000000000000000000000000000000000000..20ff822b6c9ef2de2b04375f47d23eeb2db4d8ea GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}KAtX)ArY-_ zFP`OWFc5HgcvR@k{yh#6|D^R~(s^pseEgYJ*zJJ05NJA6ZAfe0k8N rylv^z;=0@Smy4}vHPoM=;<>+=nRC5LfXtmLkhu(=u6{1-oD!M<@@zDn literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json index e1ec44f32e..92cea0860e 100644 --- a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json +++ b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json @@ -24,6 +24,9 @@ }, { "name": "berill_stone_small" + }, + { + "name": "citrine_stone_small" } ] } diff --git a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/flash_light.png b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/flash_light.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2d9a18d7764a999817a7ea82f00048c9fd84d3 GIT binary patch literal 300 zcmV+{0n`48P)Px#=1D|BR9J=WRY?-VAPj>}|BZRMa)M%G%+iF+w9$#x60!m3{uKb|ZVme(PYroDV`-Y;*-|S0~-060!(G{zWfAHYJ&)@)@2MO&7hJs=M0000!lvI6;>1s;*b3=DjSL74G){)!Z!22D>F$B+p3x6>{PF)4DmUazZpeY$sb#E$N+ z-9~#$(tL#5yH{NK_FT*Gm^y#{#|QhmLvum{v@Tg5yW(Ja{II5vB!gnhx&tTn@w_p4 z`}ef&!vnSAikphpe>`+NM{O3PhV|=C@gM)izPi$BkcB3KUTF=D&>XQN+&-zw(znq_Jc}?Qx z@&kP{549OETUcTD!YPD5cp#j{V1y z_zmy$WEwxODO@z``BS?I|HA}?_UkZkq|7zjb4C2pOSVI&Lwx>steG&)=jU_Pj_FVQ z?|trk78@Zad8H!a;;ANghF5u>_rJTwB;USw<;0Px$ElET{RCt{2+CgfAKop1ZZ%i=+x)Gt*$hrr~DRYpndyRl(Q%DfRE;6*MhB}#1 zY`-745i|eC3!30OkR(Zx?mBnluEe!Vu34mrl7*JY4~d0rfI1!kJASKs+uE?M)F8V~|4a0~&e4FE@O-^MHr z$eEwgfUg^8yG?wEJSt;;N&|XEx=?YrUSSv@1PVQB002ovPDHLkV1hCNo%{d* literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Effects/Magic/sphere_of_light.rsi/meta.json b/Resources/Textures/_CP14/Effects/Magic/sphere_of_light.rsi/meta.json new file mode 100644 index 0000000000..f809969dbd --- /dev/null +++ b/Resources/Textures/_CP14/Effects/Magic/sphere_of_light.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by Nimfar11 for CrystallPunk", + "states": [ + { + "name": "icon", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + } + ] +}