Fix level 0 stuff

This commit is contained in:
Yogurt 2019-06-09 15:34:31 -07:00
parent 561114833c
commit 57f3de66f8

View File

@ -1023,6 +1023,13 @@ namespace FFXIVClassic_Map_Server.Actors
resultContainer.CombineLists();
DoBattleAction(0, 0x7c000062, resultContainer.GetList());
//If new class, init abilties and level
if (charaWork.battleSave.skillLevel[classId - 1] <= 0)
{
UpdateClassLevel(classId, 1);
EquipAbilitiesAtLevel(classId, 1);
}
//Set rested EXP
charaWork.parameterSave.state_mainSkill[0] = classId;
charaWork.parameterSave.state_mainSkillLevel = charaWork.battleSave.skillLevel[classId-1];
@ -1033,13 +1040,6 @@ namespace FFXIVClassic_Map_Server.Actors
charaWork.commandCategory[i] = 0;
}
//If new class, init abilties and level
if (charaWork.battleSave.skillLevel[classId - 1] <= 0)
{
UpdateClassLevel(classId, 1);
EquipAbilitiesAtLevel(classId, 1);
}
ActorPropertyPacketUtil propertyBuilder = new ActorPropertyPacketUtil("charaWork/stateForAll", this);
propertyBuilder.AddProperty("charaWork.parameterSave.state_mainSkill[0]");
@ -2480,7 +2480,7 @@ namespace FFXIVClassic_Map_Server.Actors
private void EquipAbilitiesAtLevel(byte classId, short level, List<CommandResult> actionList = null)
{
//If there's any abilites that unlocks at this level, equip them.
List<ushort> commandIds = Server.GetWorldManager().GetBattleCommandIdByLevel(classId, GetLevel());
List<ushort> commandIds = Server.GetWorldManager().GetBattleCommandIdByLevel(classId, level);
foreach (ushort commandId in commandIds)
{
EquipAbilityInFirstOpenSlot(classId, commandId, false);