Misc fixes

This commit is contained in:
hondacrx
2021-04-16 15:36:19 -04:00
parent e73c2a9710
commit 76b09c2731
5 changed files with 27 additions and 27 deletions
+17 -17
View File
@@ -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); }
}
}
+7 -7
View File
@@ -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
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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())
{
+1 -1
View File
@@ -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)
{