shadow grab test
@@ -91,6 +91,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
|
||||
BreakOnDamage = delayedEffect.BreakOnDamage,
|
||||
Hidden = delayedEffect.Hidden,
|
||||
BlockDuplicate = true,
|
||||
DistanceThreshold = 100f,
|
||||
};
|
||||
|
||||
_doAfter.TryStartDoAfter(doAfterEventArgs);
|
||||
@@ -129,6 +130,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
|
||||
BreakOnDamage = delayedEffect.BreakOnDamage,
|
||||
Hidden = delayedEffect.Hidden,
|
||||
BlockDuplicate = true,
|
||||
DistanceThreshold = 100f,
|
||||
};
|
||||
|
||||
_doAfter.TryStartDoAfter(doAfterEventArgs);
|
||||
@@ -162,6 +164,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
|
||||
BreakOnDamage = delayedEffect.BreakOnDamage,
|
||||
Hidden = delayedEffect.Hidden,
|
||||
BlockDuplicate = true,
|
||||
DistanceThreshold = 100f,
|
||||
};
|
||||
|
||||
_doAfter.TryStartDoAfter(doAfterEventArgs);
|
||||
|
||||
23
Content.Shared/_CP14/MagicSpell/Spells/CP14ThrowToUser.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using Content.Shared.Throwing;
|
||||
|
||||
namespace Content.Shared._CP14.MagicSpell.Spells;
|
||||
|
||||
public sealed partial class CP14SpellThrowToUser : CP14SpellEffect
|
||||
{
|
||||
[DataField]
|
||||
public float ThrowPower = 10f;
|
||||
public override void Effect(EntityManager entManager, CP14SpellEffectBaseArgs args)
|
||||
{
|
||||
if (args.Target is null)
|
||||
return;
|
||||
|
||||
var targetEntity = args.Target.Value;
|
||||
|
||||
var throwing = entManager.System<ThrowingSystem>();
|
||||
|
||||
if (!entManager.TryGetComponent<TransformComponent>(args.User, out var xform))
|
||||
return;
|
||||
|
||||
throwing.TryThrow(targetEntity, xform.Coordinates, ThrowPower);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
- type: entity
|
||||
id: CP14ActionSpellShadowGrab
|
||||
name: Shadow grab
|
||||
description: You attract a ghostly hand that draws an object or entity to you
|
||||
components:
|
||||
- type: CP14MagicEffect
|
||||
manaCost: 10
|
||||
telegraphyEffects:
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14ImpactEffectShadowStep
|
||||
- !type:CP14SpellSpawnEntityOnUser
|
||||
spawns:
|
||||
- CP14ImpactEffectShadowGrab
|
||||
effects:
|
||||
- !type:CP14SpellApplyEntityEffect
|
||||
effects:
|
||||
- !type:Paralyze
|
||||
paralyzeTime: 0.5
|
||||
- !type:CP14SpellThrowToUser
|
||||
throwPower: 10
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14ImpactEffectShadowStep
|
||||
- type: CP14MagicEffectSomaticAspect
|
||||
- type: EntityTargetAction
|
||||
canTargetSelf: false
|
||||
checkCanAccess: false
|
||||
range: 10
|
||||
useDelay: 10
|
||||
itemIconStyle: BigAction
|
||||
sound: !type:SoundPathSpecifier
|
||||
path: /Audio/Magic/rumble.ogg
|
||||
icon:
|
||||
sprite: _CP14/Effects/Magic/spells_icons.rsi
|
||||
state: shadow_grab
|
||||
event: !type:CP14DelayedEntityTargetActionEvent
|
||||
delay: 2
|
||||
|
||||
- type: entity
|
||||
id: CP14ImpactEffectShadowGrab
|
||||
parent: CP14BaseMagicImpact
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: particles_up
|
||||
color: "#5e427e"
|
||||
@@ -75,10 +75,28 @@
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: brass_ring
|
||||
- state: emerald_stone_small
|
||||
- state: amethyst_stone_small
|
||||
- type: CP14SpellStorageRequireAttune
|
||||
- type: CP14MagicAttuningItem
|
||||
- type: CP14SpellStorageAccessWearing
|
||||
- type: CP14SpellStorage
|
||||
spells:
|
||||
- CP14ActionSpellShadowStep
|
||||
- CP14ActionSpellShadowStep
|
||||
|
||||
- type: entity
|
||||
id: CP14ClothingRingShadowGrab
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to summon grabbing shadow hand.
|
||||
suffix: Shadow grab
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: brass_ring
|
||||
- state: amethyst_stone_small
|
||||
- type: CP14SpellStorageRequireAttune
|
||||
- type: CP14MagicAttuningItem
|
||||
- type: CP14SpellStorageAccessWearing
|
||||
- type: CP14SpellStorage
|
||||
spells:
|
||||
- CP14ActionSpellShadowGrab
|
||||
@@ -34,13 +34,6 @@
|
||||
shader: unshaded
|
||||
- type: Physics
|
||||
canCollide: false
|
||||
- type: PointLight
|
||||
enabled: true
|
||||
color: "#4080FF"
|
||||
radius: 3.5
|
||||
softness: 1
|
||||
autoRot: true
|
||||
castShadows: false
|
||||
- type: Beam
|
||||
- type: TimedDespawn
|
||||
lifetime: 3
|
||||
|
||||
|
After Width: | Height: | Size: 163 B |
@@ -18,6 +18,9 @@
|
||||
},
|
||||
{
|
||||
"name": "emerald_stone_small"
|
||||
},
|
||||
{
|
||||
"name": "amethyst_stone_small"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 4.4 KiB |
@@ -18,6 +18,9 @@
|
||||
},
|
||||
{
|
||||
"name": "shadow_step"
|
||||
},
|
||||
{
|
||||
"name": "shadow_grab"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.5 KiB |