} //seems to be 1, at least when pressing a button. /// <inheritdoc /> public Sub60PlayerChangedObjectStateCommand([NotNull] MapObjectIdentifier objectIdentifier, short unk2, byte unk3, bool isActive) : this() { ObjectIdentifier = objectIdentifier ?? throw new ArgumentNullException(nameof(objectIdentifier)); ObjectInteractionId = unk2; Unk3 = unk3; this.isActive = isActive; }
/// <inheritdoc /> public Sub60ObjectDamageRecievedCommand(MapObjectIdentifier objectIdentifier, ushort totalDamageTaken, byte[] flags) : this() { ObjectIdentifier = objectIdentifier; ObjectIdentifier2 = objectIdentifier.Identifier; //TODO: We are actually sending extra things we shouldn't here, we may need to change it TotalDamageTaken = totalDamageTaken; //TODO: Legacy reason, replace this with flag enums in cto UnknownFlag1 = flags[0]; UnknownFlag2 = (DamageFlag2)flags[1]; UnknownFlag3 = (DamageFlag3)flags[2]; UnknownFlag4 = flags[3]; }
/// <inheritdoc /> public AttackHitResult([NotNull] MapObjectIdentifier objectIdentifier) : this() { ObjectIdentifier = objectIdentifier ?? throw new ArgumentNullException(nameof(objectIdentifier)); }
/// <inheritdoc /> public Sub60ClientBoxHitEventCommand(MapObjectIdentifier objectIdentifier) : this() { ObjectIdentifier = objectIdentifier; Identifier2_unk2 = objectIdentifier.ObjectIndex; //don't include object type for some reason }
/// <inheritdoc /> public Sub60CreatureDeathEventCommand([NotNull] MapObjectIdentifier objectIdentifier) : this() { ObjectIdentifier = objectIdentifier ?? throw new ArgumentNullException(nameof(objectIdentifier)); }