shadow grab test
@@ -91,6 +91,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
|
|||||||
BreakOnDamage = delayedEffect.BreakOnDamage,
|
BreakOnDamage = delayedEffect.BreakOnDamage,
|
||||||
Hidden = delayedEffect.Hidden,
|
Hidden = delayedEffect.Hidden,
|
||||||
BlockDuplicate = true,
|
BlockDuplicate = true,
|
||||||
|
DistanceThreshold = 100f,
|
||||||
};
|
};
|
||||||
|
|
||||||
_doAfter.TryStartDoAfter(doAfterEventArgs);
|
_doAfter.TryStartDoAfter(doAfterEventArgs);
|
||||||
@@ -129,6 +130,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
|
|||||||
BreakOnDamage = delayedEffect.BreakOnDamage,
|
BreakOnDamage = delayedEffect.BreakOnDamage,
|
||||||
Hidden = delayedEffect.Hidden,
|
Hidden = delayedEffect.Hidden,
|
||||||
BlockDuplicate = true,
|
BlockDuplicate = true,
|
||||||
|
DistanceThreshold = 100f,
|
||||||
};
|
};
|
||||||
|
|
||||||
_doAfter.TryStartDoAfter(doAfterEventArgs);
|
_doAfter.TryStartDoAfter(doAfterEventArgs);
|
||||||
@@ -162,6 +164,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
|
|||||||
BreakOnDamage = delayedEffect.BreakOnDamage,
|
BreakOnDamage = delayedEffect.BreakOnDamage,
|
||||||
Hidden = delayedEffect.Hidden,
|
Hidden = delayedEffect.Hidden,
|
||||||
BlockDuplicate = true,
|
BlockDuplicate = true,
|
||||||
|
DistanceThreshold = 100f,
|
||||||
};
|
};
|
||||||
|
|
||||||
_doAfter.TryStartDoAfter(doAfterEventArgs);
|
_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
|
- type: Sprite
|
||||||
layers:
|
layers:
|
||||||
- state: brass_ring
|
- state: brass_ring
|
||||||
- state: emerald_stone_small
|
- state: amethyst_stone_small
|
||||||
- type: CP14SpellStorageRequireAttune
|
- type: CP14SpellStorageRequireAttune
|
||||||
- type: CP14MagicAttuningItem
|
- type: CP14MagicAttuningItem
|
||||||
- type: CP14SpellStorageAccessWearing
|
- type: CP14SpellStorageAccessWearing
|
||||||
- type: CP14SpellStorage
|
- type: CP14SpellStorage
|
||||||
spells:
|
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
|
shader: unshaded
|
||||||
- type: Physics
|
- type: Physics
|
||||||
canCollide: false
|
canCollide: false
|
||||||
- type: PointLight
|
|
||||||
enabled: true
|
|
||||||
color: "#4080FF"
|
|
||||||
radius: 3.5
|
|
||||||
softness: 1
|
|
||||||
autoRot: true
|
|
||||||
castShadows: false
|
|
||||||
- type: Beam
|
- type: Beam
|
||||||
- type: TimedDespawn
|
- type: TimedDespawn
|
||||||
lifetime: 3
|
lifetime: 3
|
||||||
|
|||||||
|
After Width: | Height: | Size: 163 B |
@@ -18,6 +18,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "emerald_stone_small"
|
"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_step"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "shadow_grab"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |