mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-07-25 03:48:23 +02:00
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:
parent
c5ce2ec771
commit
922fb80f3d
12 changed files with 30 additions and 25 deletions
|
@ -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++;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue