mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-05-20 08:26:59 -04:00
fixed auto attack messing up cast anim
- fixed auto attack anim for mobs (<3 u ion) - added hotbar timer updates (<3 u azia) - fixed actor block bug - cleaned up substate retardation - fixed some targetfind issues - added despawn state - added messages for in progress commands - added fields for aoe target, range, battleAnimation to server_battle_commands table
This commit is contained in:
@@ -53,6 +53,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai
|
||||
public BattleCommandRequirements requirements;
|
||||
public ValidTarget validTarget;
|
||||
public TargetFindAOEType aoeType;
|
||||
public TargetFindAOETarget aoeTarget;
|
||||
public byte numHits;
|
||||
public BattleCommandPositionBonus positionBonus;
|
||||
public BattleCommandProcRequirement procRequirement;
|
||||
@@ -105,11 +106,11 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai
|
||||
if (aoeType == TargetFindAOEType.Box)
|
||||
{
|
||||
// todo: read box width from sql
|
||||
targetFind.SetAOEBox(validTarget, range, aoeRange);
|
||||
targetFind.SetAOEBox(validTarget, aoeTarget, range, aoeRange);
|
||||
}
|
||||
else
|
||||
{
|
||||
targetFind.SetAOEType(validTarget, aoeType, range, aoeRange);
|
||||
targetFind.SetAOEType(validTarget, aoeType, aoeTarget, range, aoeRange);
|
||||
}
|
||||
|
||||
|
||||
@@ -183,8 +184,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai
|
||||
if ((validTarget & ValidTarget.Enemy) != 0)
|
||||
{
|
||||
if (target == user || target != null &&
|
||||
target.currentSubState != (user.currentSubState == SetActorStatePacket.SUB_STATE_MONSTER ?
|
||||
SetActorStatePacket.SUB_STATE_PLAYER : SetActorStatePacket.SUB_STATE_MONSTER))
|
||||
user.allegiance == target.allegiance)
|
||||
{
|
||||
if (user is Player)
|
||||
((Player)user).SendGameMessage(Server.GetWorldManager().GetActor(), 32519, 0x20, (uint)id);
|
||||
@@ -194,14 +194,14 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai
|
||||
|
||||
if ((validTarget & (ValidTarget.PartyMember | ValidTarget.Player | ValidTarget.Ally)) != 0)
|
||||
{
|
||||
if (target == null || target.currentSubState != user.currentSubState )
|
||||
if (target == null || target.allegiance != user.allegiance)
|
||||
{
|
||||
if (user is Player)
|
||||
((Player)user).SendGameMessage(Server.GetWorldManager().GetActor(), 32516, 0x20, (uint)id);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return targetFind.CanTarget(target, true, true);
|
||||
return targetFind.CanTarget(target, true, true, true);
|
||||
}
|
||||
|
||||
public ushort CalculateCost(uint level)
|
||||
|
Reference in New Issue
Block a user