feat(vfx): port retail effect scheduling and delivery
This commit is contained in:
parent
363e046112
commit
96ddfdf175
28 changed files with 2473 additions and 691 deletions
|
|
@ -22,10 +22,12 @@ public sealed class EntityEffectProfile : ILiveEntityEffectProfile
|
|||
{
|
||||
SetupDefaultScriptDid = NormalizePhysicsScriptDid(setup.DefaultScript.DataId);
|
||||
CurrentPhysicsScriptTableDid = NormalizeTableDid((uint)setup.DefaultScriptTable);
|
||||
CurrentSoundTableDid = NormalizeSoundTableDid((uint)setup.DefaultSoundTable);
|
||||
}
|
||||
|
||||
public uint? SetupDefaultScriptDid { get; }
|
||||
public uint? CurrentPhysicsScriptTableDid { get; private set; }
|
||||
public uint? CurrentSoundTableDid { get; private set; }
|
||||
public uint RawDefaultScriptType { get; private set; }
|
||||
public float DefaultScriptIntensity { get; private set; }
|
||||
public bool HasNetworkDescription { get; private set; }
|
||||
|
|
@ -60,6 +62,8 @@ public sealed class EntityEffectProfile : ILiveEntityEffectProfile
|
|||
{
|
||||
CurrentPhysicsScriptTableDid = NormalizeTableDid(
|
||||
physics.PhysicsScriptTableId.GetValueOrDefault());
|
||||
CurrentSoundTableDid = NormalizeSoundTableDid(
|
||||
physics.SoundTableId.GetValueOrDefault());
|
||||
RawDefaultScriptType = physics.DefaultScriptType.GetValueOrDefault();
|
||||
DefaultScriptIntensity = physics.DefaultScriptIntensity.GetValueOrDefault();
|
||||
HasNetworkDescription = true;
|
||||
|
|
@ -70,4 +74,7 @@ public sealed class EntityEffectProfile : ILiveEntityEffectProfile
|
|||
|
||||
private static uint? NormalizeTableDid(uint did) =>
|
||||
PhysicsScriptTableResolver.IsPhysicsScriptTableDid(did) ? did : null;
|
||||
|
||||
private static uint? NormalizeSoundTableDid(uint did) =>
|
||||
(did & 0xFF000000u) == 0x20000000u ? did : null;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue