diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/earth_wall.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/earth_wall.yml new file mode 100644 index 0000000000..69b54713f3 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/earth_wall.yml @@ -0,0 +1,89 @@ +- type: entity + id: CP14ActionSpellEarthWall + name: Earth wall + description: Raises a solid wall of earth from the bowels. + components: + - type: CP14MagicEffect + manaCost: 15 + telegraphyEffects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14ImpactEffectEarthWall + effects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14WallSpawnEarthWall + - type: CP14MagicEffectVerbalAspect + startSpeech: "Surgite terram..." + endSpeech: "de profundis terrae" + - type: CP14MagicEffectCastingVisual + proto: CP14RuneEarthWall + - type: WorldTargetAction + useDelay: 10 + range: 10 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Magic/rumble.ogg + icon: + sprite: _CP14/Effects/Magic/spells_icons.rsi + state: earth_wall + event: !type:CP14DelayedWorldTargetActionEvent + delay: 1 + +- type: entity + id: CP14RuneEarthWall + parent: CP14BaseMagicRune + categories: [ HideSpawnMenu ] + components: + - type: PointLight + color: "#8f6a2b" + - type: Sprite + layers: + - state: medium_line + color: "#8f6a2b" + shader: unshaded + - state: medium_circle + color: "#8f6a2b" + shader: unshaded + +- type: entity + id: CP14ImpactEffectEarthWall + parent: CP14BaseMagicImpact + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: particles_up + color: "#8f6a2b" + shader: unshaded + +- type: entity + id: CP14WallSpawnEarthWall + noSpawn: True + placement: + mode: SnapgridCenter + components: + - type: Transform + anchored: True + - type: InteractionOutline + - type: Physics + bodyType: Static + - type: Sprite + offset: 0, 0.2 + sprite: _CP14/Effects/cubeup.rsi + state: cube_up + - type: Fixtures + fixtures: + portalFixture: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.48,0.25,0.48" + mask: + - FullTileMask + layer: + - WallLayer + hard: false + - type: TimedDespawn + lifetime: 1.2 + - type: SpawnOnDespawn + prototype: CP14WallDirt diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_floor.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_floor.yml new file mode 100644 index 0000000000..2bc9e89dfe --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_floor.yml @@ -0,0 +1,70 @@ +- type: entity + id: CP14ActionSpellIceFloor + name: Ice floor + description: Covers a specified area of land with slippery ice. + components: + - type: CP14MagicEffect + manaCost: 10 + telegraphyEffects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14ImpactEffectIceFloor + effects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14IceFloor + - type: CP14MagicEffectVerbalAspect + startSpeech: "Humus deorsum..." + endSpeech: "operietur glacie" + - type: CP14MagicEffectCastingVisual + proto: CP14RuneIceFloor + - type: WorldTargetAction + useDelay: 5 + range: 5 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: /Audio/Magic/rumble.ogg + icon: + sprite: _CP14/Effects/Magic/spells_icons.rsi + state: ice_floor + event: !type:CP14DelayedWorldTargetActionEvent + delay: 1 + breakOnMove: false + +- type: entity + id: CP14RuneIceFloor + parent: CP14BaseMagicRune + categories: [ HideSpawnMenu ] + components: + - type: PointLight + color: "#5eabeb" + - type: Sprite + layers: + - state: medium_circle + color: "#5eabeb" + shader: unshaded + +- type: entity + id: CP14ImpactEffectIceFloor + parent: CP14BaseMagicImpact + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: particles_up + color: "#5eabeb" + shader: unshaded + +- type: entity + id: CP14IceFloor + parent: IceCrust + name: ice crust + description: It's cold and slippery. + components: + - type: Slippery + paralyzeTime: 1 + launchForwardsMultiplier: 1.5 + - type: StepTrigger + intersectRatio: 0.2 + - type: CollisionWake + enabled: false diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml index 89a49463ae..c3a88edd7f 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml @@ -135,4 +135,40 @@ - type: CP14SpellStorageAccessWearing - type: CP14SpellStorage spells: - - CP14ActionSpellShadowGrab \ No newline at end of file + - CP14ActionSpellShadowGrab + +- type: entity + id: CP14ClothingRingEarthWall + parent: CP14ClothingRingBase + name: conductive ring + description: A standard mana-conductive ring that allows the user to heal physical injuries. + suffix: Earth wall + components: + - type: Sprite + layers: + - state: brass_ring + - state: berill_stone_small + - type: CP14SpellStorageRequireAttune + - type: CP14MagicAttuningItem + - type: CP14SpellStorageAccessWearing + - type: CP14SpellStorage + spells: + - CP14ActionSpellEarthWall + +- type: entity + id: CP14ClothingRingIceFloor + parent: CP14ClothingRingBase + name: conductive ring + description: A standard mana-conductive ring that allows the user to heal physical injuries. + suffix: Ice floor + components: + - type: Sprite + layers: + - state: brass_ring + - state: saphhire_stone_small + - type: CP14SpellStorageRequireAttune + - type: CP14MagicAttuningItem + - type: CP14SpellStorageAccessWearing + - type: CP14SpellStorage + spells: + - CP14ActionSpellIceFloor diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/berill_stone_small.png b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/berill_stone_small.png new file mode 100644 index 0000000000..8a6a9b4636 Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/berill_stone_small.png differ diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json index 194224f1b3..e1ec44f32e 100644 --- a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json +++ b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json @@ -21,6 +21,9 @@ }, { "name": "amethyst_stone_small" + }, + { + "name": "berill_stone_small" } ] } diff --git a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/earth_wall.png b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/earth_wall.png new file mode 100644 index 0000000000..63adcc90c6 Binary files /dev/null and b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/earth_wall.png differ diff --git a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/ice_floor.png b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/ice_floor.png new file mode 100644 index 0000000000..535f3129a0 Binary files /dev/null and b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/ice_floor.png differ 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 f7f44dee95..834a789a4c 100644 --- a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json +++ b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json @@ -27,6 +27,12 @@ }, { "name": "shadow_grab" + }, + { + "name": "ice_floor" + }, + { + "name": "earth_wall" } ] } \ No newline at end of file diff --git a/Resources/Textures/_CP14/Effects/cubeup.rsi/cube_up.png b/Resources/Textures/_CP14/Effects/cubeup.rsi/cube_up.png new file mode 100644 index 0000000000..39469a7aeb Binary files /dev/null and b/Resources/Textures/_CP14/Effects/cubeup.rsi/cube_up.png differ diff --git a/Resources/Textures/_CP14/Effects/cubeup.rsi/meta.json b/Resources/Textures/_CP14/Effects/cubeup.rsi/meta.json new file mode 100644 index 0000000000..5ba7ae4f90 --- /dev/null +++ b/Resources/Textures/_CP14/Effects/cubeup.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd (Discord) and modified by Jaraten (github/Discord) for CrystallPunk14", + "size": { + "x": 32, + "y": 48 + }, + "states": [ + { + "name": "cube_up", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +}