More cleanups, transports still not working. working on a fix.
This commit is contained in:
@@ -70,6 +70,9 @@ namespace Game.Chat
|
||||
if (type.IsEnum)
|
||||
type = type.GetEnumUnderlyingType();
|
||||
|
||||
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>))
|
||||
type = Nullable.GetUnderlyingType(type);
|
||||
|
||||
switch (Type.GetTypeCode(type))
|
||||
{
|
||||
case TypeCode.SByte:
|
||||
|
||||
@@ -6247,14 +6247,14 @@ namespace Game.Entities
|
||||
|
||||
void UpdateVisibilityOf_helper<T>(List<ObjectGuid> s64, T target, List<Unit> v) where T : WorldObject
|
||||
{
|
||||
s64.Add(target.GetGUID());
|
||||
|
||||
switch (target.GetTypeId())
|
||||
{
|
||||
case TypeId.Unit:
|
||||
s64.Add(target.GetGUID());
|
||||
v.Add(target.ToCreature());
|
||||
break;
|
||||
case TypeId.Player:
|
||||
s64.Add(target.GetGUID());
|
||||
v.Add(target.ToPlayer());
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2310,7 +2310,7 @@ namespace Game.Entities
|
||||
|
||||
WorldPacket buffer = new();
|
||||
|
||||
UpdateMask mask = new(191);
|
||||
UpdateMask mask = new(194);
|
||||
m_unitData.AppendAllowedFieldsMaskForFlag(mask, flags);
|
||||
m_unitData.WriteUpdate(buffer, mask, true, this, target);
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ namespace Game.Maps
|
||||
TransportTemplate transport = new();
|
||||
|
||||
GeneratePath(goInfo, transport);
|
||||
_transportTemplates[entry] = transport;
|
||||
|
||||
++count;
|
||||
} while (result.NextRow());
|
||||
@@ -161,10 +162,11 @@ namespace Game.Maps
|
||||
spawn.PhaseGroup = phaseGroupId;
|
||||
|
||||
foreach (uint mapId in transportTemplate.MapIds)
|
||||
_transportsByMap[mapId].Add(spawn);
|
||||
_transportsByMap.Add(mapId, spawn);
|
||||
|
||||
_transportSpawns[guid] = spawn;
|
||||
|
||||
count++;
|
||||
} while (result.NextRow());
|
||||
}
|
||||
|
||||
@@ -554,7 +556,7 @@ namespace Game.Maps
|
||||
var segmentIndex = 0;
|
||||
double distanceMoved = 0.0;
|
||||
bool isOnPause = false;
|
||||
for (segmentIndex = 0; segmentIndex < leg.Segments.Count; ++segmentIndex)
|
||||
for (segmentIndex = 0; segmentIndex < leg.Segments.Count - 1; ++segmentIndex)
|
||||
{
|
||||
var segment = leg.Segments[segmentIndex];
|
||||
if (time < segment.SegmentEndArrivalTimestamp)
|
||||
|
||||
@@ -270,7 +270,7 @@ namespace Game.Movement
|
||||
T length_ = t * (dynamic)Length();
|
||||
index = ComputeIndexInBounds(length_);
|
||||
//ASSERT(index < index_hi);
|
||||
u = (length_ - Length(index)) / (float)Length(index, index + 1);
|
||||
u = (float)(length_ - Length(index)) / (float)Length(index, index + 1);
|
||||
}
|
||||
|
||||
int ComputeIndexInBounds(T length_)
|
||||
|
||||
Reference in New Issue
Block a user