예제 #1
0
 private void CastError(GameClient client)
 {
     client.LastCastedSpell    = null;
     client.LastCastTarget     = null;
     client.IsCurrentlyCasting = false;
     CallHelper.Reset();
 }
예제 #2
0
        internal static void SpellBegin(object sender, Packet e)
        {
            var client = Collections.AttachedClients[(int)sender];

            client.IsCurrentlyCasting = true;

            CallHelper.Reset();
            CasterHelper.Reset();
        }
예제 #3
0
        private void AlreadyCursed(GameClient client, Match match)
        {
            client.IsCurrentlyCasting = false;

            if (client.LastCastTarget == null || client.LastCastedSpell == null)
            {
                return;
            }

            string value = match.Groups[1].Value;

            if (!string.IsNullOrWhiteSpace(value))
            {
                SetIsCursed(client, value);
            }

            CallHelper.Reset();
        }
예제 #4
0
        internal static void EquipmentUpdated(object sender, Packet e)
        {
            var client = Collections.AttachedClients[(int)sender];
            var slot   = e.ReadByte();

            e.ReadInt16();
            e.ReadByte();
            var name = e.ReadString8();


            if (slot == 1)
            {
                if (Collections.BaseStaffs.ContainsKey(name))
                {
                    client.EquippedWeaponId    = Collections.BaseStaffs[name].Id;
                    client.EquippedWeapon      = name;
                    client.LastEquipmentUpdate = DateTime.Now;
                    Console.WriteLine(client.EquippedWeaponId);
                }

                CallHelper.Reset();
            }
        }
예제 #5
0
        private void AlreadyCasted(GameClient client)
        {
            client.IsCurrentlyCasting = false;

            if (client.LastCastTarget == null || client.LastCastedSpell == null)
            {
                return;
            }

            #region curse
            if (client.LastCastedSpell.Name.StartsWith("ard cradh"))
            {
                SetIsCursed(client, "ard cradh");
            }
            #endregion
            #region fas
            if (client.LastCastedSpell.Name.StartsWith("mor fas nadur"))
            {
                SetIsFas(client, "mor fas nadur");
            }
            #endregion

            CallHelper.Reset();
        }
예제 #6
0
 private void GmPorted(GameClient client)
 {
     client.Paused = true;
     CallHelper.Reset();
 }
예제 #7
0
 private void CastMissed(GameClient client)
 {
     CallHelper.Reset();
 }
예제 #8
0
        private void CastedSpell(GameClient client, Match match)
        {
            client.IsCurrentlyCasting = false;

            if (client.LastCastTarget == null || client.LastCastedSpell == null)
            {
                return;
            }

            string value = match.Groups[1].Value;

            switch (value)
            {
                #region fas
            case "beag fas nadur":
                SetIsFas(client, value);
                break;

            case "fas nadur":
                SetIsFas(client, value);
                break;

            case "mor fas nadur":
                SetIsFas(client, value);
                break;

            case "ard fas nadur":
                SetIsFas(client, value);
                break;

                #endregion
                #region curse
            case "beag cradh":
                SetIsCursed(client, value);
                break;

            case "cradh":
                SetIsCursed(client, value);
                break;

            case "mor cradh":
                SetIsCursed(client, value);
                break;

            case "ard cradh":
                SetIsCursed(client, value);
                break;

            case "Dark Seal":
                SetIsCursed(client, value);
                break;

            case "Darker Seal":
                SetIsCursed(client, value);
                break;

                #endregion
                #region aite
            case "beag naomh aite":
            case "naomh aite":
            case "mor naomh aite":
            case "ard naomh aite":
                #endregion
                #region Ao
            case "ao beag cradh":
                if (client.Attributes.Serial == client.LastCastTarget.Serial)
                {
                    client.Attributes.HasBC = false;
                }
                break;

            case "ao cradh":
                if (client.Attributes.Serial == client.LastCastTarget.Serial)
                {
                    client.Attributes.HasCradh = false;
                }
                break;

            case "ao mor cradh":
                if (client.Attributes.Serial == client.LastCastTarget.Serial)
                {
                    client.Attributes.HasMorCradh = false;
                }
                break;

            case "ao ard cradh":
                if (client.Attributes.Serial == client.LastCastTarget.Serial)
                {
                    client.Attributes.HasArdCradh = false;
                }
                break;

                #endregion

            default:
                break;
            }


            CallHelper.Reset();
        }