/// <inheritdoc /> public TransportationInfo(PackedGuid transportGuid, Vector4 <float> transportOffset, int transportTime, byte transportSeatId) { TransportGuid = transportGuid; TransportOffset = transportOffset; TransportTime = transportTime; TransportSeatId = transportSeatId; }
/// <inheritdoc /> public SMSG_NAME_QUERY_RESPONSE_Payload(PackedGuid requestedGuid, NameQueryResult result) : this() { RequestedGuid = requestedGuid; ResponseCode = NameQueryResponseCode.Success; Result = result; }
private UpdateFieldValueCollection ToWotlkUpdateValues(PackedGuid objectGuid, UpdateFieldValueCollection updateCollection) { if (objectGuid.isType(EntityGuidMask.Player)) { return(BuildWotlkPlayerUpdateFieldCollection(updateCollection)); } else if (objectGuid.isType(EntityGuidMask.Unit)) { return(BuildWotlkUnitUpdateFieldCollection(updateCollection)); } else if (objectGuid.isType(EntityGuidMask.Container)) { if (updateCollection.UpdateMask.Length > 63) { return(BuildWotlkContainerUpdateFieldCollection(updateCollection)); } else { return(BuildWotlkItemUpdateFieldCollection(updateCollection)); } } else if (objectGuid.isType(EntityGuidMask.GameObject)) { return(BuildWotlkGameObjectUpdateFieldCollection(updateCollection)); } else if (Logger.IsWarnEnabled) { Logger.Warn($"Failed to handle update values for Entity: {objectGuid.RawGuidValue}"); } return(null); }
/// <inheritdoc /> public ObjectCreationData(PackedGuid creationGuid, ObjectType creationObjectType, MovementBlockData movementData, UpdateFieldValueCollection objectValuesCollection) { CreationGuid = creationGuid; CreationObjectType = creationObjectType; MovementData = movementData; ObjectValuesCollection = objectValuesCollection; }
/// <inheritdoc /> public SMSG_POWER_UPDATE_Payload(PackedGuid unitGuid, Powers powerType, int newValue) : this() { UnitGuid = unitGuid; PowerType = powerType; NewValue = newValue; }
//TODO: Additonal ctors //TODO: Validate parameters. /// <inheritdoc /> public SMSG_MONSTER_MOVE_Payload_Vanilla(PackedGuid monsterGuid, Vector3 <float> initialMovePoint, int splineId, MonsterMoveInfo moveInfo, MonsterSplineInfo_Vanilla optionalSplineInformation) { MonsterGuid = monsterGuid; InitialMovePoint = initialMovePoint; SplineId = splineId; MoveInfo = moveInfo; OptionalSplineInformation = optionalSplineInformation; }
/// <inheritdoc /> public CorpseInfo(PackedGuid transportGuid, Vector3 <float> goLocation, Vector3 <float> transportOffset, float orientation, float corpseOrientation) { TransportGuid = transportGuid; GoLocation = goLocation; TransportOffset = transportOffset; Orientation = orientation; CorpseOrientation = corpseOrientation; }
internal AuraApplicationStateUpdate(byte casterLevel, byte counterAmount, PackedGuid casterGuid, int maximumAuraDuration, int currentAuraDuration) { CasterLevel = casterLevel; CounterAmount = counterAmount; CasterGuid = casterGuid; MaximumAuraDuration = maximumAuraDuration; CurrentAuraDuration = currentAuraDuration; }
//TODO: Additional ctors //TODO: Validate parameters. /// <inheritdoc /> public SMSG_MONSTER_MOVE_Payload(PackedGuid monsterGuid, byte unk1, Vector3 <float> initialMovePoint, int splineId, MonsterMoveInfo moveInfo, MonsterSplineInfo optionalSplineInformation) { MonsterGuid = monsterGuid; Unk1 = unk1; InitialMovePoint = initialMovePoint; SplineId = splineId; MoveInfo = moveInfo; OptionalSplineInformation = optionalSplineInformation; }
//TODO: Ctor overloads/builder. //TODO: Validate parameters /// <inheritdoc /> public SpellTargetInfo_Vanilla(short spellCastBackingFlag, PackedGuid optionalObjectTarget, PackedGuid optionalItemTarget, Vector3 <float> optionalTransportSourcePosition, Vector3 <float> optionalTransportDestinationPosition, string optionalTargetString) { SpellCastBackingFlag = spellCastBackingFlag; OptionalObjectTarget = optionalObjectTarget; OptionalItemTarget = optionalItemTarget; OptionalTransportSourcePosition = optionalTransportSourcePosition; OptionalTransportDestinationPosition = optionalTransportDestinationPosition; OptionalTargetString = optionalTargetString; }
//TODO: Ctor overloads/builders //TODO: Validate parameters /// <inheritdoc /> public SMSG_SPELL_GO_Payload_Vanilla(PackedGuid spellSource, PackedGuid spellTarget, int spellId, SpellCastFlags_Vanilla castFlags, ObjectGuid[] hitTargets, SpellTargetInfo_Vanilla targetInfo, AmmoInfo amunitionInformation) { SpellSource = spellSource; SpellTarget = spellTarget; SpellId = spellId; CastFlags = castFlags; HitTargets = hitTargets; TargetInfo = targetInfo; AmunitionInformation = amunitionInformation; }
//TODO: Ctor overloads/builder. //TODO: Validate parameters public SpellTargetInfo(SpellCastTargetFlag targetFlags, PackedGuid optionalObjectTarget, PackedGuid optionalItemTarget, PackedGuid optionalTransportSourceLocation, Vector3 <float> optionalTransportSourcePosition, PackedGuid optionalTransportDestination, Vector3 <float> optionalTransportDestinationPosition, string optionalTargetString) { TargetFlags = targetFlags; OptionalObjectTarget = optionalObjectTarget; OptionalItemTarget = optionalItemTarget; OptionalTransportSourceLocation = optionalTransportSourceLocation; OptionalTransportSourcePosition = optionalTransportSourcePosition; OptionalTransportDestination = optionalTransportDestination; OptionalTransportDestinationPosition = optionalTransportDestinationPosition; OptionalTargetString = optionalTargetString; }
public SpellFailureData([NotNull] PackedGuid caster, byte spellCastCount, int spellId, byte result) { if (spellId <= 0) { throw new ArgumentOutOfRangeException(nameof(spellId)); } Caster = caster ?? throw new ArgumentNullException(nameof(caster)); SpellCastCount = spellCastCount; SpellId = spellId; Result = result; }
//TODO: Validate /// <inheritdoc /> public MovementBlockData_Vanilla(ObjectUpdateFlags_Vanilla updateFlags, MovementInfo_Vanilla moveInfo, float[] movementSpeeds, SplineInfo_Vanilla splineInformation, CorpseInfo_Vanilla deadMovementInformation, uint highGuid, uint unk1, PackedGuid fullGuid, uint transportTime) { UpdateFlags = updateFlags; MoveInfo = moveInfo; MovementSpeeds = movementSpeeds; SplineInformation = splineInformation; DeadMovementInformation = deadMovementInformation; HighGuid = highGuid; Unk1 = unk1; FullGuid = fullGuid; TransportTime = transportTime; }
private UpdateFieldValueCollection ToWotlkUpdateValues(PackedGuid objectGuid, UpdateFieldValueCollection updateCollection) { if (objectGuid.isType(EntityGuidMask.Player)) { return(BuildWotlkPlayerUpdateFieldCollection(updateCollection)); } else if (objectGuid.isType(EntityGuidMask.Unit)) { return(BuildWotlkUnitUpdateFieldCollection(updateCollection)); } return(null); }
/// <inheritdoc /> public ObjectUpdateMovementBlock Convert(ObjectUpdateMovementBlock_Vanilla fromObject) { if (fromObject == null) { return(null); } //The wotlk version wants this guid packed PackedGuid packedMovementGuid = new PackedGuid(fromObject.MovementGuid.RawGuidValue); ObjectUpdateMovementBlock wotlkBlock = new ObjectUpdateMovementBlock(packedMovementGuid, MovementBlockDataConverter.Convert(fromObject.MovementData)); return(wotlkBlock); }
} = 0; //TC always uses 0 public SpellCastData(PackedGuid spellSource, PackedGuid spellTarget, byte spellCastCount, int spellId, SpellCastFlag castFlags, uint timeDiff, ObjectGuid[] hitTargets, SpellMissInfo[] spellMisses, SpellTargetInfo targetInfo, int powerValue, AdjustableSpellMissleInfo optionalAdjustableMissle, AmmoInfo amunitionInformation, ulong optionalVisualChainData) { SpellSource = spellSource; SpellTarget = spellTarget; SpellCastCount = spellCastCount; SpellId = spellId; CastFlags = castFlags; TimeDiff = timeDiff; HitTargets = hitTargets; SpellMisses = spellMisses; TargetInfo = targetInfo; PowerValue = powerValue; OptionalAdjustableMissle = optionalAdjustableMissle; AmunitionInformation = amunitionInformation; OptionalVisualChainData = optionalVisualChainData; }
//TODO: Validate /// <inheritdoc /> public MovementBlockData(ObjectUpdateFlags updateFlags, MovementInfo moveInfo, float[] movementSpeeds, SplineInfo splineInformation, CorpseInfo deadMovementInformation, StationaryMovementInfo stationaryObjectMovementInformation, int unk1, uint lowGuid, PackedGuid target, uint unknownTransportTimer, VehicleMovementInfo vehicleMovementInformation, long packedRotationQuat) { UpdateFlags = updateFlags; MoveInfo = moveInfo; MovementSpeeds = movementSpeeds; SplineInformation = splineInformation; DeadMovementInformation = deadMovementInformation; StationaryObjectMovementInformation = stationaryObjectMovementInformation; Unk1 = unk1; LowGuid = lowGuid; Target = target; UnknownTransportTimer = unknownTransportTimer; VehicleMovementInformation = vehicleMovementInformation; UpdatePackedQuaternion = packedRotationQuat; }
public AuraApplicationStateUpdate(AuraFlags flags, byte casterLevel, byte counterAmount, PackedGuid casterGuid, int maximumAuraDuration, int currentAuraDuration) : this(casterLevel, counterAmount, casterGuid, maximumAuraDuration, currentAuraDuration) { Flags = flags; if (!HasCasterGuid) { throw new InvalidOperationException($"Cannot create: {nameof(AuraApplicationStateUpdate)} with Caster Guid without Flags: {AuraFlags.CASTER}."); } if (!HasDuration) { throw new InvalidOperationException($"Cannot create: {nameof(AuraApplicationStateUpdate)} with Duration without Flags: {AuraFlags.DURATION}."); } }
public AuraApplicationStateUpdate(AuraFlags flags, byte casterLevel, byte counterAmount, PackedGuid casterGuid) : this(casterLevel, counterAmount, casterGuid, 0, 0) { Flags = flags; if (!HasCasterGuid) { throw new InvalidOperationException($"Cannot create: {nameof(AuraApplicationStateUpdate)} with Caster Guid without Flags: {AuraFlags.CASTER}."); } }
/// <inheritdoc /> public SMSG_NAME_QUERY_RESPONSE_Payload(PackedGuid requestedGuid) : this() { RequestedGuid = requestedGuid; ResponseCode = NameQueryResponseCode.Failure; }
/// <inheritdoc /> public SMSG_NAME_QUERY_RESPONSE_Payload(PackedGuid requestedGuid, NameQueryResponseCode responseCode) { RequestedGuid = requestedGuid; ResponseCode = responseCode; }
/// <inheritdoc /> public ObjectUpdateValuesObjectBlock(PackedGuid objectToUpdate, UpdateFieldValueCollection updateValuesCollection) { ObjectToUpdate = objectToUpdate; UpdateValuesCollection = updateValuesCollection; }
public SMSG_AURA_UPDATE_Payload([NotNull] PackedGuid targetGuid, [NotNull] AuraUpdateData data) : this() { TargetGuid = targetGuid ?? throw new ArgumentNullException(nameof(targetGuid)); Data = data ?? throw new ArgumentNullException(nameof(data)); }
public StartSpellCastData(PackedGuid spellSource, PackedGuid spellTarget, byte spellCastCount, int spellId, SpellCastFlag castFlags, uint timeDiff, ObjectGuid[] hitTargets, SpellMissInfo[] spellMisses, SpellTargetInfo targetInfo, int powerValue, AdjustableSpellMissleInfo optionalAdjustableMissle, AmmoInfo amunitionInformation, ulong optionalVisualChainData) : base(spellSource, spellTarget, spellCastCount, spellId, castFlags, timeDiff, hitTargets, spellMisses, targetInfo, powerValue, optionalAdjustableMissle, amunitionInformation, optionalVisualChainData) { }
/// <inheritdoc /> public CustomMovePacketProxy(NetworkOperationCode opCode, [NotNull] PackedGuid moveGuid, [NotNull] MovementInfo moveInfo) { MoveGuid = moveGuid ?? throw new ArgumentNullException(nameof(moveGuid)); OpCode = opCode; MoveInfo = moveInfo ?? throw new ArgumentNullException(nameof(moveInfo)); }
/// <inheritdoc /> public SMSG_CLIENT_CONTROL_UPDATE_Payload([NotNull] PackedGuid controlledObject, bool isEnabled) : this() { ControlledObject = controlledObject ?? throw new ArgumentNullException(nameof(controlledObject)); IsEnabled = isEnabled; }
/// <inheritdoc /> public ObjectUpdateMovementBlock(PackedGuid movementGuid, MovementBlockData movementData) { MovementGuid = movementGuid; MovementData = movementData; }
/// <inheritdoc /> public ObjectUpdateValuesObjectBlock_Vanilla(PackedGuid objectToUpdate, UpdateFieldValueCollection updateValuesCollection) : base() { ObjectToUpdate = objectToUpdate; UpdateValuesCollection = updateValuesCollection; }