Esempio n. 1
0
        public void OnChangeStatus(Actor sActor, MapEventArgs args)
        {
            Map.StatusArgs arg = (Map.StatusArgs)args;
            switch (arg.type)
            {
            case Map.StatusArgs.EventType.Add:
                foreach (Map.StatusArgs.StatusInfo i in arg.StatusList)
                {
                    Packets.Server.ExchangeAddition p1 = new SagaMap.Packets.Server.ExchangeAddition();
                    p1.SetID(sActor.id);
                    Skill info = SkillFactory.GetSkill(i.SkillID);
                    if (info != null)
                    {
                        p1.SetStatusID(info.addition);
                    }
                    else
                    {
                        p1.SetStatusID(i.SkillID);
                    }
                    p1.SetTime(i.time);
                    this.C.netIO.SendPacket(p1, C.SessionID);
                }
                break;

            case Map.StatusArgs.EventType.Remove:
                foreach (Map.StatusArgs.StatusInfo i in arg.StatusList)
                {
                    Packets.Server.DeleteExchangeAddition p1 = new SagaMap.Packets.Server.DeleteExchangeAddition();
                    p1.SetID(sActor.id);
                    Skill info = SkillFactory.GetSkill(i.SkillID);
                    if (info != null)
                    {
                        p1.SetStatusID(info.addition);
                    }
                    else
                    {
                        p1.SetStatusID(i.SkillID);
                    }
                    this.C.netIO.SendPacket(p1, C.SessionID);
                }
                break;
            }
        }
Esempio n. 2
0
 public void OnChangeStatus(Actor sActor, MapEventArgs args)
 {
     Map.StatusArgs arg = (Map.StatusArgs)args;
     switch (arg.type)
     {
         case Map.StatusArgs.EventType.Add:
             foreach (Map.StatusArgs.StatusInfo i in arg.StatusList)
             {
                 Packets.Server.ExchangeAddition p1 = new SagaMap.Packets.Server.ExchangeAddition();
                 p1.SetID(sActor.id);
                 Skill info = SkillFactory.GetSkill(i.SkillID);
                 if (info != null)
                     p1.SetStatusID(info.addition);
                 else
                     p1.SetStatusID(i.SkillID);
                 p1.SetTime(i.time);
                 this.C.netIO.SendPacket(p1, C.SessionID);
             }
             break;
         case Map.StatusArgs.EventType.Remove :
             foreach (Map.StatusArgs.StatusInfo i in arg.StatusList)
             {
                 Packets.Server.DeleteExchangeAddition p1 = new SagaMap.Packets.Server.DeleteExchangeAddition();
                 p1.SetID(sActor.id);
                 Skill info = SkillFactory.GetSkill(i.SkillID);
                 if (info != null)
                     p1.SetStatusID(info.addition);
                 else
                     p1.SetStatusID(i.SkillID);
                 this.C.netIO.SendPacket(p1, C.SessionID);
             }
             break;
     }
 }