[Question]5119 Skills

01/23/2010 02:39 Sion~#31
Quote:
Originally Posted by .Ryu View Post
@
Sion~
Haha look
Code:
public void Use()
            {
                try
                {
                    uint Exp = 0;
                    foreach (DictionaryEntry DE in MiscTargets)
                    {
                        uint EntityID = (uint)DE.Key;
                        uint Damage = (uint)DE.Value;

                        if (EntityID == 6700)
                            GuildWars.ThePole.TakeAttack(User, Damage, 21);
                        if (EntityID == 6701)
                            GuildWars.TheLeftGate.TakeAttack(User, Damage, 21);
                        if (EntityID == 6702)
                            GuildWars.TheRightGate.TakeAttack(User, Damage, 21);
                    }
@Korvacs haha you are a very good helper :P

Ok so this is what i found so im guessing this is where i code them

Code:
case ExtraEffect.FatalStrike:
                                {
                                    if (C.StatEff.Contains(StatusEffectEn.Ride))
                                    {
                                        C.StatEff.Remove(StatusEffectEn.Ride);
                                    }
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.FatalStrike;
                                    C.AddBuff(B);

                                    break;
                                }
Actually I said the exact same thing..
This is the entire use method.

Code:
 public void Use()
            {
                try
                {
                    Game.World.Action(User, Packets.SkillUse(this).Get);

                    uint Exp = 0;
                    foreach (DictionaryEntry DE in MiscTargets)
                    {
                        uint EntityID = (uint)DE.Key;
                        uint Damage = (uint)DE.Value;

                        if (EntityID == 6700)
                            GuildWars.ThePole.TakeAttack(User, Damage, 21);
                        if (EntityID == 6701)
                            GuildWars.TheLeftGate.TakeAttack(User, Damage, 21);
                        if (EntityID == 6702)
                            GuildWars.TheRightGate.TakeAttack(User, Damage, 21);
                    }
                    foreach (DictionaryEntry DE in MobTargets)
                    {
                        Mob M = (Mob)DE.Key;
                        uint Damage = (uint)DE.Value;
                        if (Info.Damageing != DamageType.HealHP)
                        {
                            if (Info.Damageing == DamageType.Ranged)
                                Exp += M.TakeAttack(User, Damage, AttackType.Ranged, true);
                            else if (Info.Damageing == DamageType.Melee)
                                Exp += M.TakeAttack(User, Damage, AttackType.Melee, true);
                            else
                                Exp += M.TakeAttack(User, Damage, AttackType.Magic, true);
                        }
                        else
                        {
                            Exp += Damage;
                            M.CurrentHP += Damage;
                            if (M.CurrentHP > M.MaxHP) M.CurrentHP = M.MaxHP;
                        }
                    }
                    foreach (DictionaryEntry DE in NPCTargets)
                    {
                        NPC N = (NPC)DE.Key;
                        uint Damage = (uint)DE.Value;
                        if (Info.Damageing != DamageType.HealHP)
                        {
                            if (Info.Damageing == DamageType.Ranged)
                                Exp += N.TakeAttack(User, Damage, AttackType.Ranged, true);
                            else if (Info.Damageing == DamageType.Melee)
                                Exp += N.TakeAttack(User, Damage, AttackType.Melee, true);
                            else
                                Exp += N.TakeAttack(User, Damage, AttackType.Magic, true);
                        }
                        else
                        {
                            N.CurHP += Damage;
                            if (N.CurHP > N.MaxHP) N.CurHP = N.MaxHP;
                            Exp += Damage / 10;
                        }
                    }
                    foreach (DictionaryEntry DE in PlayerTargets)
                    {
                        Character C = (Character)DE.Key;
                        uint Damage = (uint)DE.Value;

                        if (Info.Damageing != DamageType.HealHP && Info.Damageing != DamageType.HealMP)
                        {
                            if (Info.ExtraEff == ExtraEffect.None)
                            {
                                if (Info.Damageing == DamageType.Ranged)
                                    C.TakeAttack(User, Damage, AttackType.Ranged, true);
                                else if (Info.Damageing == DamageType.Melee)
                                    C.TakeAttack(User, Damage, AttackType.Melee, true);
                                else
                                    C.TakeAttack(User, Damage, AttackType.Magic, true);
                            }
                            else Exp = Damage;
                        }
                        else
                            Exp = Damage;
                        switch (Info.ExtraEff)
                        {
                            case ExtraEffect.Summon:
                                {
                                    if (User.MyCompanion != null) User.MyCompanion.Dissappear();
                                    User.MyCompanion = new Game.Companion(User, Info.Damage);
                                    break;
                                }
                            case ExtraEffect.RemoveFly:
                                {
                                    Buff B = C.BuffOf(ExtraEffect.Fly);
                                    if (B.Eff == ExtraEffect.Fly)
                                        C.RemoveBuff(B);
                                    break;
                                }
                            case ExtraEffect.Transform:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Transform = Info.Damage;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Normal;
                                    C.AddBuff(B);
                                    break;
                                }
                            case ExtraEffect.Fly:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Fly;
                                    C.AddBuff(B);
                                    break;
                                }
                            case ExtraEffect.Revive:
                                {
                                    C.Ghost = false;
                                    C.BlueName = false;
                                    C.CurHP = (ushort)C.MaxHP;
                                    C.Alive = true;
                                    C.StatEff.Clear();
                                    C.PKPoints = C.PKPoints;
                                    C.Body = C.Body;
                                    C.Hair = C.Hair;
                                    C.Equips.Send(C.MyClient, false);
                                    World.Spawn(C, false);
                                    break;
                                }
                            case ExtraEffect.FatalStrike:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.FatalStrike;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.ShurikenVortex:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.ShurikenVortex;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Stigma:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Stigma;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.MagicShield:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Shield;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Invisibility:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Invisible;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Accuracy:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Accuracy;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Cyclone:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Cyclone;

                                    if (C.BuffOf(ExtraEffect.Cyclone).Eff != ExtraEffect.Cyclone)
                                        C.TotalKO = 0;

                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Superman:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.SuperMan;

                                    if (C.BuffOf(ExtraEffect.Superman).Eff != ExtraEffect.Superman)
                                        C.TotalKO = 0;

                                    C.AddBuff(B);

                                    break;
                                }
                        }
                    }
                    Exp += 1;
                    if (User.Loc.Map != 1039)
                    {
                        User.IncreaseExp(Exp);
                        User.AddSkillExp(Info.ID, Exp);
                    }
                    else
                    {
                        User.IncreaseExp(Exp / 10);
                        User.AddSkillExp(Info.ID, Exp / 10);
                    }
                }
                catch (Exception Exc) { Console.WriteLine(Exc); }
            }
        }
01/23/2010 02:46 .Ryu#32
Quote:
Originally Posted by Sion~ View Post
Actually I said the exact same thing..
This is the entire use method.

Code:
 public void Use()
            {
                try
                {
                    Game.World.Action(User, Packets.SkillUse(this).Get);

                    uint Exp = 0;
                    foreach (DictionaryEntry DE in MiscTargets)
                    {
                        uint EntityID = (uint)DE.Key;
                        uint Damage = (uint)DE.Value;

                        if (EntityID == 6700)
                            GuildWars.ThePole.TakeAttack(User, Damage, 21);
                        if (EntityID == 6701)
                            GuildWars.TheLeftGate.TakeAttack(User, Damage, 21);
                        if (EntityID == 6702)
                            GuildWars.TheRightGate.TakeAttack(User, Damage, 21);
                    }
                    foreach (DictionaryEntry DE in MobTargets)
                    {
                        Mob M = (Mob)DE.Key;
                        uint Damage = (uint)DE.Value;
                        if (Info.Damageing != DamageType.HealHP)
                        {
                            if (Info.Damageing == DamageType.Ranged)
                                Exp += M.TakeAttack(User, Damage, AttackType.Ranged, true);
                            else if (Info.Damageing == DamageType.Melee)
                                Exp += M.TakeAttack(User, Damage, AttackType.Melee, true);
                            else
                                Exp += M.TakeAttack(User, Damage, AttackType.Magic, true);
                        }
                        else
                        {
                            Exp += Damage;
                            M.CurrentHP += Damage;
                            if (M.CurrentHP > M.MaxHP) M.CurrentHP = M.MaxHP;
                        }
                    }
                    foreach (DictionaryEntry DE in NPCTargets)
                    {
                        NPC N = (NPC)DE.Key;
                        uint Damage = (uint)DE.Value;
                        if (Info.Damageing != DamageType.HealHP)
                        {
                            if (Info.Damageing == DamageType.Ranged)
                                Exp += N.TakeAttack(User, Damage, AttackType.Ranged, true);
                            else if (Info.Damageing == DamageType.Melee)
                                Exp += N.TakeAttack(User, Damage, AttackType.Melee, true);
                            else
                                Exp += N.TakeAttack(User, Damage, AttackType.Magic, true);
                        }
                        else
                        {
                            N.CurHP += Damage;
                            if (N.CurHP > N.MaxHP) N.CurHP = N.MaxHP;
                            Exp += Damage / 10;
                        }
                    }
                    foreach (DictionaryEntry DE in PlayerTargets)
                    {
                        Character C = (Character)DE.Key;
                        uint Damage = (uint)DE.Value;

                        if (Info.Damageing != DamageType.HealHP && Info.Damageing != DamageType.HealMP)
                        {
                            if (Info.ExtraEff == ExtraEffect.None)
                            {
                                if (Info.Damageing == DamageType.Ranged)
                                    C.TakeAttack(User, Damage, AttackType.Ranged, true);
                                else if (Info.Damageing == DamageType.Melee)
                                    C.TakeAttack(User, Damage, AttackType.Melee, true);
                                else
                                    C.TakeAttack(User, Damage, AttackType.Magic, true);
                            }
                            else Exp = Damage;
                        }
                        else
                            Exp = Damage;
                        switch (Info.ExtraEff)
                        {
                            case ExtraEffect.Summon:
                                {
                                    if (User.MyCompanion != null) User.MyCompanion.Dissappear();
                                    User.MyCompanion = new Game.Companion(User, Info.Damage);
                                    break;
                                }
                            case ExtraEffect.RemoveFly:
                                {
                                    Buff B = C.BuffOf(ExtraEffect.Fly);
                                    if (B.Eff == ExtraEffect.Fly)
                                        C.RemoveBuff(B);
                                    break;
                                }
                            case ExtraEffect.Transform:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Transform = Info.Damage;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Normal;
                                    C.AddBuff(B);
                                    break;
                                }
                            case ExtraEffect.Fly:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Fly;
                                    C.AddBuff(B);
                                    break;
                                }
                            case ExtraEffect.Revive:
                                {
                                    C.Ghost = false;
                                    C.BlueName = false;
                                    C.CurHP = (ushort)C.MaxHP;
                                    C.Alive = true;
                                    C.StatEff.Clear();
                                    C.PKPoints = C.PKPoints;
                                    C.Body = C.Body;
                                    C.Hair = C.Hair;
                                    C.Equips.Send(C.MyClient, false);
                                    World.Spawn(C, false);
                                    break;
                                }
                            case ExtraEffect.FatalStrike:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.FatalStrike;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.ShurikenVortex:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.ShurikenVortex;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Stigma:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Stigma;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.MagicShield:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Shield;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Invisibility:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Invisible;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Accuracy:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Accuracy;
                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Cyclone:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.Cyclone;

                                    if (C.BuffOf(ExtraEffect.Cyclone).Eff != ExtraEffect.Cyclone)
                                        C.TotalKO = 0;

                                    C.AddBuff(B);

                                    break;
                                }
                            case ExtraEffect.Superman:
                                {
                                    Buff B = new Buff();
                                    B.Eff = Info.ExtraEff;
                                    B.Lasts = Info.EffectLasts;
                                    B.Value = Info.EffectValue;
                                    B.Started = DateTime.Now;
                                    B.StEff = StatusEffectEn.SuperMan;

                                    if (C.BuffOf(ExtraEffect.Superman).Eff != ExtraEffect.Superman)
                                        C.TotalKO = 0;

                                    C.AddBuff(B);

                                    break;
                                }
                        }
                    }
                    Exp += 1;
                    if (User.Loc.Map != 1039)
                    {
                        User.IncreaseExp(Exp);
                        User.AddSkillExp(Info.ID, Exp);
                    }
                    else
                    {
                        User.IncreaseExp(Exp / 10);
                        User.AddSkillExp(Info.ID, Exp / 10);
                    }
                }
                catch (Exception Exc) { Console.WriteLine(Exc); }
            }
        }
I was talking to both of you lol