Skip to content

Commit

Permalink
fixed hurricane
Browse files Browse the repository at this point in the history
  • Loading branch information
foglio1024 committed Apr 26, 2017
1 parent 9640888 commit ba8b836
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 42 deletions.
5 changes: 3 additions & 2 deletions TCC.UI/ClassSpecific/Mystic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ public static class Mystic

public static void CheckHurricane(S_ABNORMALITY_BEGIN msg)
{
if(msg.id == HURRICANE_ID) Console.WriteLine("Checking hurricane; id={0} caster={1} player={2}", msg.id, msg.casterId, SessionManager.CurrentPlayer.EntityId);
if (msg.id == HURRICANE_ID && msg.casterId == SessionManager.CurrentPlayer.EntityId)
{
//SkillsDatabase.TryGetSkill(HURRICANE_ID, Class.Common, out Skill hurricane);
SkillManager.AddSkill(HURRICANE_ID, HURRICANE_DURATION);
SkillsDatabase.TryGetSkill(HURRICANE_ID, Class.Common, out Skill hurricane);
SkillManager.AddSkillDirectly(hurricane, HURRICANE_DURATION);
}

}
Expand Down
2 changes: 1 addition & 1 deletion TCC.UI/Parsing/PacketRouter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ public static void HandleNewSkillCooldown(S_START_COOLTIME_SKILL p)
}
public static void HandleNewItemCooldown(S_START_COOLTIME_ITEM p)
{
SkillManager.AddBrooch(p);
SkillManager.AddBrooch(p.ItemId, p.Cooldown);
}
public static void HandleDecreaseSkillCooldown(S_DECREASE_COOLTIME_SKILL p)
{
Expand Down
75 changes: 36 additions & 39 deletions TCC.UI/SkillManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,60 +40,59 @@ static bool Filter(string name)
else return false;

}
public static void AddSkillDirectly(Skill sk, uint cd)
{
RouteSkill(new SkillCooldown(sk, (int)cd, CooldownType.Skill));
}

public static void AddSkill(uint id, uint cd)
static void RouteSkill(SkillCooldown skillCooldown)
{
if(SkillsDatabase.TryGetSkill(id, SessionManager.CurrentPlayer.Class, out Skill skill))
if (skillCooldown.Cooldown == 0)
{
if (!Filter(skill.Name))
ResetSkill(skillCooldown.Skill);
}
else if (skillCooldown.Cooldown < LongSkillTreshold)
{
if (NormalSkillsQueue.ToList().Any(x => x.Skill.Name == skillCooldown.Skill.Name))
{
return;
Refresh?.Invoke(skillCooldown);
}
SkillCooldown skillCooldown = new SkillCooldown(skill, (int)cd, CooldownType.Skill);

if (skillCooldown.Cooldown == 0)
else
{
ResetSkill(skillCooldown.Skill);
//not present
App.Current.Dispatcher.Invoke(() => NormalSkillsQueue.Add(skillCooldown));
}
else if(skillCooldown.Cooldown < LongSkillTreshold)
}
else
{
if (LongSkillsQueue.ToList().Any(x => x.Skill.Name == skillCooldown.Skill.Name))
{
if(NormalSkillsQueue.ToList().Any(x => x.Skill.Name == skillCooldown.Skill.Name))
{
Refresh?.Invoke(skillCooldown);
}
else
{
//not present
App.Current.Dispatcher.Invoke(() => NormalSkillsQueue.Add(skillCooldown));
}
Refresh?.Invoke(skillCooldown);
}
else
else
{
if (LongSkillsQueue.ToList().Any(x => x.Skill.Name == skillCooldown.Skill.Name))
{
Refresh?.Invoke(skillCooldown);
}
else
{
//not present
App.Current.Dispatcher.Invoke(() => LongSkillsQueue.Add(skillCooldown));
}
//not present
App.Current.Dispatcher.Invoke(() => LongSkillsQueue.Add(skillCooldown));
}
}

}
public static void AddBrooch(S_START_COOLTIME_ITEM packet)
public static void AddSkill(uint id, uint cd)
{
if (BroochesDatabase.TryGetBrooch(packet.ItemId, out Skill brooch))
if(SkillsDatabase.TryGetSkill(id, SessionManager.CurrentPlayer.Class, out Skill skill))
{
SkillCooldown broochCooldown = new SkillCooldown(brooch, (int)packet.Cooldown, CooldownType.Item);
if (LongSkillsQueue.Any(x => x.Skill.Name == broochCooldown.Skill.Name))
if (!Filter(skill.Name))
{
return;
}
else
{
App.Current.Dispatcher.Invoke(()=> LongSkillsQueue.Add(broochCooldown));
}
RouteSkill(new SkillCooldown(skill, (int)cd, CooldownType.Skill));
}
}
public static void AddBrooch(uint id, uint cd)
{
if (BroochesDatabase.TryGetBrooch(id, out Skill brooch))
{
RouteSkill(new SkillCooldown(brooch, (int)cd, CooldownType.Item));
}

}
Expand Down Expand Up @@ -164,8 +163,7 @@ public static void ChangeSkillCooldown(uint id, int cd)
}

public static void Clear()
{

{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
NormalSkillsQueue.Clear();
Expand All @@ -177,7 +175,6 @@ public static void Clear()

SessionManager.CurrentPlayer.Class = Class.None;
SessionManager.CurrentPlayer.EntityId = 0;
//WindowManager.ClassSpecificWindow.Enabled = false;
LastSkills.Clear();
SessionManager.Logged = false;
}
Expand Down

0 comments on commit ba8b836

Please sign in to comment.