Bug fixes.

Added stoneskin effect to database.
Fixed Rampage not working
Fixed bug where abilities didn't equip correctly when leveling up
Added a temporary fix for returning while dead
Added handling for abilities that don't have an actiontype set, like elusive jump
This commit is contained in:
yogurt 2018-05-27 14:51:39 -05:00
parent c5ce2ec771
commit 922fb80f3d
12 changed files with 30 additions and 25 deletions

View file

@ -2317,11 +2317,11 @@ namespace FFXIVClassic_Map_Server
Tuple<byte, short> tuple = Tuple.Create<byte, short>(battleCommand.job, battleCommand.level);
if (battleCommandIdByLevel.ContainsKey(tuple))
{
battleCommandIdByLevel[tuple].Add(id | 0xA0F00000);
battleCommandIdByLevel[tuple].Add(id);
}
else
{
List<uint> list = new List<uint>() { id | 0xA0F00000 };
List<uint> list = new List<uint>() { id };
battleCommandIdByLevel.Add(tuple, list);
}
count++;

View file

@ -454,8 +454,8 @@ namespace FFXIVClassic_Map_Server.Actors
}
updateFlags = ActorUpdateFlags.None;
zone.BroadcastPacketsAroundActor(this, packets);
}
zone.BroadcastPacketsAroundActor(this, packets);
}
public void GenerateActorName(int actorNumber)

View file

@ -388,8 +388,8 @@ namespace FFXIVClassic_Map_Server.Actors
if ((updateFlags & ActorUpdateFlags.StatusTime) != 0)
{
packets.AddRange(statusEffects.GetStatusTimerPackets());
statusEffects.ResetPropPacketUtil();
updateFlags &= ~ActorUpdateFlags.StatusTime;
}
if ((updateFlags & ActorUpdateFlags.HpTpMp) != 0)

View file

@ -80,8 +80,8 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai
BattleAction action = new BattleAction(owner.actorId, 30331, (uint)(HitEffect.HitEffectType | HitEffect.Hit), dotTick);
utils.BattleUtils.HandleStoneskin(owner, action);
// todo: figure out how to make red numbers appear for enemies getting hurt by dots
owner.DelHP(action.amount);
//owner.DelHP(action.amount);
utils.BattleUtils.DamageTarget(owner, owner, action, null);
owner.DoBattleAction(0, 0, action);
}

View file

@ -383,6 +383,9 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.utils
case (ActionType.Status):
FinishActionStatus(caster, target, skill, action, actionContainer);
break;
default:
actionContainer.AddAction(action);
break;
}
}

View file

@ -1888,7 +1888,7 @@ namespace FFXIVClassic_Map_Server.Actors
Database.EquipAbility(this, classId, (ushort) (hotbarSlot - charaWork.commandBorder), commandId, recastEnd);
//If the class we're equipping for is the current class (need to find out if state_mainSkill is supposed to change when you're a job)
//then equip the ability in charawork.commands and save in databse, otherwise just save in database
if (classId == charaWork.parameterSave.state_mainSkill[0])
if (classId == GetCurrentClassOrJob())
{
charaWork.command[hotbarSlot] = trueCommandId;
charaWork.commandCategory[hotbarSlot] = 1;
@ -2240,6 +2240,7 @@ namespace FFXIVClassic_Map_Server.Actors
//Returns BattleActions that can be sent to display the EXP gained number and level ups
public List<BattleAction> AddExp(int exp, byte classId, byte bonusPercent = 0)
{
List<BattleAction> actionList = new List<BattleAction>();
exp += (int) Math.Ceiling((exp * bonusPercent / 100.0f));
@ -2310,7 +2311,8 @@ namespace FFXIVClassic_Map_Server.Actors
EquipAbilityInFirstOpenSlot(jobId, commandId, false);
//33926: You learn [command].
actionList?.Add(new BattleAction(actorId, 33926, commandId));
if(classId == GetCurrentClassOrJob() || jobId == GetCurrentClassOrJob())
actionList?.Add(new BattleAction(actorId, 33926, commandId));
}
}
}
@ -2405,8 +2407,8 @@ namespace FFXIVClassic_Map_Server.Actors
var mainHandItem = equip.GetItemAtSlot(Equipment.SLOT_MAINHAND);
var damageAttribute = 0;
var attackDelay = 3000;
var hitCount = 1;
GetAttackDelayMs();
var hitCount = 1;
if (mainHandItem != null)
{
var mainHandWeapon = (Server.GetItemGamedata(mainHandItem.itemId) as WeaponItem);

View file

@ -45,7 +45,7 @@ namespace FFXIVClassic_Map_Server.packets.send.actor.battle
binWriter.Write((Byte)1); //?
}
}
new SubPacket(OPCODE, sourceActorId, data).DebugPrintSubPacket();
return new SubPacket(OPCODE, sourceActorId, data);
}
}