コード例 #1
0
ファイル: PC_EventHandler.cs プロジェクト: x3sphiorx/SagaRO2
        public void OnActorSkillUse(Actor sActor, MapEventArgs args)
        {
            Map.SkillArgs sArgs  = (Map.SkillArgs)args;
            Actor         aActor = C.map.GetActor(sArgs.targetActorID);

            if (sArgs.castcancel)
            {
                Packets.Server.SkillCastCancel p3 = new SagaMap.Packets.Server.SkillCastCancel();
                p3.SetSkillType(sArgs.skillType);
                p3.SetSkillID((uint)sArgs.skillID);
                p3.SetActors(sActor.id);
                C.netIO.SendPacket(p3, C.SessionID);
                return;
            }
            switch (sArgs.casting)
            {
            case false:
                if (sArgs.failed == false)
                {
                    Packets.Server.OffensiveSkill p1 = new SagaMap.Packets.Server.OffensiveSkill();
                    p1.SetSkillType(sArgs.skillType);
                    p1.SetIsCritical((byte)sArgs.isCritical);
                    p1.SetSkillID((uint)sArgs.skillID);
                    p1.SetActors(sActor.id, sArgs.targetActorID);
                    p1.SetDamage(sArgs.damage);
                    C.netIO.SendPacket(p1, C.SessionID);
                }
                else
                {
                    Packets.Server.OffensiveSkillFailed p1 = new SagaMap.Packets.Server.OffensiveSkillFailed();
                    p1.SetSkillID((uint)sArgs.skillID);
                    p1.SetActor(sActor.id);
                    C.netIO.SendPacket(p1, C.SessionID);
                }
                break;

            case true:
                Packets.Server.SkillCast p2 = new SagaMap.Packets.Server.SkillCast();
                p2.SetSkillType(sArgs.skillType);
                p2.SetSkillID((uint)sArgs.skillID);
                p2.SetActors(sActor.id, sArgs.targetActorID);
                p2.SetU1(0x10);
                C.netIO.SendPacket(p2, C.SessionID);
                break;
            }
        }
コード例 #2
0
ファイル: PC_EventHandler.cs プロジェクト: Willyham/SagaRO2
 public void OnActorSkillUse(Actor sActor, MapEventArgs args)
 {
     Map.SkillArgs sArgs = (Map.SkillArgs)args;
     Actor aActor =C.map.GetActor(sArgs.targetActorID);
     if (sArgs.castcancel)
     {
         Packets.Server.SkillCastCancel p3 = new SagaMap.Packets.Server.SkillCastCancel();
         p3.SetSkillType(sArgs.skillType);
         p3.SetSkillID((uint)sArgs.skillID);
         p3.SetActors(sActor.id);
         C.netIO.SendPacket(p3, C.SessionID);
         return;
     }
     switch (sArgs.casting)
     {
         case false :
             if (sArgs.failed == false)
             {
                 Packets.Server.OffensiveSkill p1 = new SagaMap.Packets.Server.OffensiveSkill();
                 p1.SetSkillType(sArgs.skillType);
                 p1.SetIsCritical((byte)sArgs.isCritical);
                 p1.SetSkillID((uint)sArgs.skillID);
                 p1.SetActors(sActor.id, sArgs.targetActorID);
                 p1.SetDamage(sArgs.damage);
                 C.netIO.SendPacket(p1, C.SessionID);
             }
             else
             {
                 Packets.Server.OffensiveSkillFailed p1 = new SagaMap.Packets.Server.OffensiveSkillFailed();
                 p1.SetSkillID((uint)sArgs.skillID);
                 p1.SetActor(sActor.id);
                 C.netIO.SendPacket(p1, C.SessionID);
             }
             break;
         case true:
             Packets.Server.SkillCast p2 = new SagaMap.Packets.Server.SkillCast();
             p2.SetSkillType(sArgs.skillType);
             p2.SetSkillID((uint)sArgs.skillID);
             p2.SetActors(sActor.id, sArgs.targetActorID);
             p2.SetU1(0x10);
             C.netIO.SendPacket(p2, C.SessionID);
             break;
     }
 }