diff --git a/Source/Game/DataStorage/Structs/V_Records.cs b/Source/Game/DataStorage/Structs/V_Records.cs index 18f249d2f..c89df1050 100644 --- a/Source/Game/DataStorage/Structs/V_Records.cs +++ b/Source/Game/DataStorage/Structs/V_Records.cs @@ -109,29 +109,29 @@ namespace Game.DataStorage public short VehicleExitAnimKitID; public short CameraModeID; - public bool CanEnterOrExit() - { - return (HasSeatFlag(VehicleSeatFlags.CanEnterOrExit) || - //If it has anmation for enter/ride, means it can be entered/exited by logic - HasSeatFlag(VehicleSeatFlags.HasLowerAnimForEnter | VehicleSeatFlags.HasLowerAnimForRide)); - } - public bool CanSwitchFromSeat() { return Flags.HasAnyFlag((int)VehicleSeatFlags.CanSwitch); } - public bool IsUsableByOverride() - { - return HasSeatFlag(VehicleSeatFlags.Uncontrolled | VehicleSeatFlags.Unk18) - || HasSeatFlag(VehicleSeatFlagsB.UsableForced | VehicleSeatFlagsB.UsableForced2 | - VehicleSeatFlagsB.UsableForced3 | VehicleSeatFlagsB.UsableForced4); - } - public bool IsEjectable() { return HasSeatFlag(VehicleSeatFlagsB.Ejectable); } - - public bool HasSeatFlag(VehicleSeatFlags flag) + public bool HasFlag(VehicleSeatFlags flag) { return Flags.HasAnyFlag((int)flag); } - public bool HasSeatFlag(VehicleSeatFlagsB flag) + public bool HasFlag(VehicleSeatFlagsB flag) { return FlagsB.HasAnyFlag((int)flag); } + + public bool CanEnterOrExit() + { + return (HasFlag(VehicleSeatFlags.CanEnterOrExit) || + //If it has anmation for enter/ride, means it can be entered/exited by logic + HasFlag(VehicleSeatFlags.HasLowerAnimForEnter | VehicleSeatFlags.HasLowerAnimForRide)); + } + public bool CanSwitchFromSeat() { return Flags.HasAnyFlag((int)VehicleSeatFlags.CanSwitch); } + public bool IsUsableByOverride() + { + return HasFlag(VehicleSeatFlags.Uncontrolled | VehicleSeatFlags.Unk18) + || HasFlag(VehicleSeatFlagsB.UsableForced | VehicleSeatFlagsB.UsableForced2 | + VehicleSeatFlagsB.UsableForced3 | VehicleSeatFlagsB.UsableForced4); + } + public bool IsEjectable() { return HasFlag(VehicleSeatFlagsB.Ejectable); } } } diff --git a/Source/Game/Entities/Vehicle.cs b/Source/Game/Entities/Vehicle.cs index 99989f282..b897f0b15 100644 --- a/Source/Game/Entities/Vehicle.cs +++ b/Source/Game/Entities/Vehicle.cs @@ -349,16 +349,16 @@ namespace Game.Entities _me.AddNpcFlag(_me.IsTypeId(TypeId.Player) ? NPCFlags.PlayerVehicle : NPCFlags.SpellClick); // Enable gravity for passenger when he did not have it active before entering the vehicle - if (seat.Value.SeatInfo.HasSeatFlag(VehicleSeatFlags.DisableGravity) && !seat.Value.Passenger.IsGravityDisabled) + if (seat.Value.SeatInfo.HasFlag(VehicleSeatFlags.DisableGravity) && !seat.Value.Passenger.IsGravityDisabled) unit.SetDisableGravity(false); // Remove UNIT_FLAG_NOT_SELECTABLE if passenger did not have it before entering vehicle - if (seat.Value.SeatInfo.HasSeatFlag(VehicleSeatFlags.PassengerNotSelectable) && !seat.Value.Passenger.IsUnselectable) + if (seat.Value.SeatInfo.HasFlag(VehicleSeatFlags.PassengerNotSelectable) && !seat.Value.Passenger.IsUnselectable) unit.RemoveUnitFlag(UnitFlags.NotSelectable); seat.Value.Passenger.Reset(); - if (_me.IsTypeId(TypeId.Unit) && unit.IsTypeId(TypeId.Player) && seat.Value.SeatInfo.HasSeatFlag(VehicleSeatFlags.CanControl)) + if (_me.IsTypeId(TypeId.Unit) && unit.IsTypeId(TypeId.Player) && seat.Value.SeatInfo.HasFlag(VehicleSeatFlags.CanControl)) _me.RemoveCharmedBy(unit); if (_me.IsInWorld) @@ -608,14 +608,14 @@ namespace Game.Entities player.StopCastingCharm(); player.StopCastingBindSight(); player.SendOnCancelExpectedVehicleRideAura(); - if (!veSeat.HasSeatFlag(VehicleSeatFlagsB.KeepPet)) + if (!veSeat.HasFlag(VehicleSeatFlagsB.KeepPet)) player.UnsummonPetTemporaryIfAny(); } - if (veSeat.HasSeatFlag(VehicleSeatFlags.DisableGravity)) + if (veSeat.HasFlag(VehicleSeatFlags.DisableGravity)) Passenger.SetDisableGravity(true); - if (Seat.Value.SeatInfo.HasSeatFlag(VehicleSeatFlags.PassengerNotSelectable)) + if (Seat.Value.SeatInfo.HasFlag(VehicleSeatFlags.PassengerNotSelectable)) Passenger.AddUnitFlag(UnitFlags.NotSelectable); Passenger.m_movementInfo.transport.pos.Relocate(veSeat.AttachmentOffset.X, veSeat.AttachmentOffset.Y, veSeat.AttachmentOffset.Z); @@ -624,7 +624,7 @@ namespace Game.Entities Passenger.m_movementInfo.transport.guid = Target.GetBase().GetGUID(); if (Target.GetBase().IsTypeId(TypeId.Unit) && Passenger.IsTypeId(TypeId.Player) && - Seat.Value.SeatInfo.HasSeatFlag(VehicleSeatFlags.CanControl)) + Seat.Value.SeatInfo.HasFlag(VehicleSeatFlags.CanControl)) Cypher.Assert(Target.GetBase().SetCharmedBy(Passenger, CharmType.Vehicle)); // SMSG_CLIENT_CONTROL Passenger.SendClearTarget(); // SMSG_BREAK_TARGET diff --git a/Source/Game/Handlers/CombatHandler.cs b/Source/Game/Handlers/CombatHandler.cs index 95285ba9c..a3e934adb 100644 --- a/Source/Game/Handlers/CombatHandler.cs +++ b/Source/Game/Handlers/CombatHandler.cs @@ -52,7 +52,7 @@ namespace Game { VehicleSeatRecord seat = vehicle.GetSeatForPassenger(GetPlayer()); Cypher.Assert(seat != null); - if (!seat.HasSeatFlag(VehicleSeatFlags.CanAttack)) + if (!seat.HasFlag(VehicleSeatFlags.CanAttack)) { SendAttackStop(enemy); return; diff --git a/Source/Game/Handlers/MovementHandler.cs b/Source/Game/Handlers/MovementHandler.cs index e87db7853..c8c28e272 100644 --- a/Source/Game/Handlers/MovementHandler.cs +++ b/Source/Game/Handlers/MovementHandler.cs @@ -157,7 +157,7 @@ namespace Game VehicleSeatRecord seat = vehicle.GetSeatForPassenger(mover); if (seat != null) { - if (seat.HasSeatFlag(VehicleSeatFlags.AllowTurning)) + if (seat.HasFlag(VehicleSeatFlags.AllowTurning)) { if (movementInfo.Pos.GetOrientation() != mover.GetOrientation()) { diff --git a/Source/Game/Spells/SpellInfo.cs b/Source/Game/Spells/SpellInfo.cs index 1a4dd4804..bd8a8113c 100644 --- a/Source/Game/Spells/SpellInfo.cs +++ b/Source/Game/Spells/SpellInfo.cs @@ -1236,7 +1236,7 @@ namespace Game.Spells return SpellCastResult.CantDoThatRightNow; // Can only summon uncontrolled minions/guardians when on controlled vehicle - if (vehicleSeat.HasSeatFlag(VehicleSeatFlags.CanControl | VehicleSeatFlags.Unk2)) + if (vehicleSeat.HasFlag(VehicleSeatFlags.CanControl | VehicleSeatFlags.Unk2)) { foreach (SpellEffectInfo effect in _effects) {