BFA Update (still lots of testing to do tho)

This commit is contained in:
hondacrx
2018-12-10 12:46:25 -05:00
parent 468b053946
commit 8e20114e10
256 changed files with 35613 additions and 10459 deletions
+15
View File
@@ -175,6 +175,11 @@ namespace Game.Entities
// why we need to apply this? we can simple add immunities to slow mechanic in DB
_me.ApplySpellImmune(0, SpellImmunity.State, AuraType.ModDecreaseSpeed, true);
break;
case 335: // Salvaged Chopper
case 336: // Salvaged Siege Engine
case 338: // Salvaged Demolisher
_me.ApplySpellImmune(0, SpellImmunity.State, AuraType.ModDamagePercentTaken, false); // Battering Ram
break;
default:
break;
}
@@ -342,6 +347,10 @@ namespace Game.Entities
if (seat.Value.SeatInfo.CanEnterOrExit() && ++UsableSeatNum != 0)
_me.SetFlag64(UnitFields.NpcFlags, (_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.Flags.HasAnyFlag(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.Flags.HasAnyFlag(VehicleSeatFlags.PassengerNotSelectable) && !seat.Value.Passenger.IsUnselectable)
unit.RemoveFlag(UnitFields.Flags, UnitFlags.NotSelectable);
@@ -552,6 +561,7 @@ namespace Game.Entities
Passenger.SetVehicle(Target);
Seat.Value.Passenger.Guid = Passenger.GetGUID();
Seat.Value.Passenger.IsUnselectable = Passenger.HasFlag(UnitFields.Flags, UnitFlags.NotSelectable);
Seat.Value.Passenger.IsGravityDisabled = Passenger.HasUnitMovementFlag(MovementFlag.DisableGravity);
if (Seat.Value.SeatInfo.CanEnterOrExit())
{
Cypher.Assert(Target.UsableSeatNum != 0);
@@ -585,6 +595,9 @@ namespace Game.Entities
player.UnsummonPetTemporaryIfAny();
}
if (veSeat.Flags.HasAnyFlag(VehicleSeatFlags.DisableGravity))
Passenger.SetDisableGravity(true);
if (Seat.Value.SeatInfo.Flags.HasAnyFlag(VehicleSeatFlags.PassengerNotSelectable))
Passenger.SetFlag(UnitFields.Flags, UnitFlags.NotSelectable);
@@ -657,11 +670,13 @@ namespace Game.Entities
{
public ObjectGuid Guid;
public bool IsUnselectable;
public bool IsGravityDisabled;
public void Reset()
{
Guid = ObjectGuid.Empty;
IsUnselectable = false;
IsGravityDisabled = false;
}
}