XConquer

BurnFrost Windwalker Stomper [Pezzi The Best]

Jan 19th, 2019
132
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Handler.cs buscaran case 12940 y lo reemplazaran por el siguiente :
  2.  
  3.  #region BurntFrost[Windwalker Stomper]
  4.                                 case 12940:
  5.                                     {
  6.                                         if (CanUseSpell(spell, attacker.Owner))
  7.                                         {
  8.                                             PrepareSpell(spell, attacker.Owner);
  9.                                             SpellUse suse = new SpellUse(true);
  10.                                             suse.Attacker = attacker.UID;
  11.                                             suse.SpellID = spell.ID;
  12.                                             suse.SpellLevel = spell.Level;
  13.                                             suse.X = X;
  14.                                             suse.Y = Y;
  15.                                             Fan sector = new Fan(attacker.X, attacker.Y , X, Y, spell.Range, spell.Sector + 2);
  16.                                             if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= spell.Distance + 2)
  17.                                             {
  18.                                                 foreach (Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
  19.                                                 {
  20.                                                     if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player)
  21.                                                     {
  22.                                                         if (_obj == null)
  23.                                                             continue;
  24.                                                         attacked = _obj as Entity;
  25.                                                         if (attacked == null) continue;
  26.                                                         if (sector.IsInFan(attacked.X, attacked.Y))
  27.                                                         {
  28.                                                             if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
  29.                                                             {
  30.                                                                 attack.Effect = Attack.AttackEffects.None;
  31.                                                                 uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack, spell);
  32.                                                                 damage = damage * (uint)2F;
  33.                                                                 suse.Effect = attack.Effect;
  34.                                                                 ReceiveAttack(attacker, attacked, attack, ref damage, spell);
  35.                                                                 suse.AddTarget(attacked.UID, damage, attack);
  36.                                                                 if (attacker.ContainsFlag4((ulong)Network.GamePackets.FlagsUpdate.Flags4.Omnipotence))
  37.                                                                 {
  38.                                                                     if (MyMath.Success(5 * (attacked.BattlePower - attacker.BattlePower)))//Diferencia de BP.
  39.                                                                     {
  40.                                                                         attacked.BurnFrost = true;
  41.                                                                         attacker.BurnFrostStamp = Time32.Now;
  42.                                                                         attacked.BurnFrostLeft = 14;//Tiempo 14 = TQ
  43.                                                                     }
  44.                                                                 }
  45.                                                             }
  46.                                                         }
  47.                                                     }
  48.                                                     else if (_obj.MapObjType == MapObjectType.SobNpc)
  49.                                                     {
  50.                                                         if (_obj == null)
  51.                                                             continue;
  52.                                                         attackedsob = _obj as SobNpcSpawn;
  53.                                                         if (attackedsob == null) continue;
  54.                                                         if (sector.IsInFan(attackedsob.X, attackedsob.Y))
  55.                                                         {
  56.                                                             if (CanAttack(attacker, attackedsob, spell))
  57.                                                             {
  58.                                                                 attack.Effect = Attack.AttackEffects.None;
  59.                                                                 uint damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
  60.                                                                 attack.Damage = damage;
  61.                                                                 damage = (uint)MathHelper.AdjustDataEx((int)damage, (int)spell.Power);
  62.                                                                 suse.Effect = attack.Effect;
  63.                                                                 ReceiveAttack(attacker, attackedsob, attack, damage, spell);
  64.                                                                 suse.AddTarget(attackedsob.UID, damage, attack);
  65.                                                             }
  66.                                                         }
  67.                                                     }
  68.                                                 }
  69.                                             }
  70.                                             attacker.Owner.SendScreen(suse, true);
  71.                                             attacker.AttackPacket = null;
  72.                                         }
  73.                                         break;
  74.                                     }
  75.                                 #endregion
  76.  
  77.  
  78. ---------------------------------------------
  79.  
  80. Ahora en World.cs/Thread.cs en BuffersCalback agregan:
  81.  
  82. #region Burn Frost Fire
  83.                 if (client.Entity.BurnFrost)
  84.                 {
  85.                     if (client.Entity.BurnFrostLeft > 0)
  86.                     {
  87.                         if (Now >= client.Entity.BurnFrostStamp.AddSeconds(2))
  88.                         {
  89.                            
  90.                             client.Entity.BurnFrostLeft--;
  91.                             if (client.Entity.BurnFrostLeft == 0)
  92.                             {
  93.                                 client.Entity.BurnFrost = false;
  94.                                 client.Entity.Update(_String.Effect, "TSM_FRSZ_mb", false);//Remover Efecto de la Skill
  95.                                 return;
  96.                             }
  97.                             client.Entity.BurnFrostStamp = Now;
  98.                             if (client.Entity.Hitpoints > 7000)//si el objetivo tiene menos de 7,000 de vida no le afectara.!
  99.                             {
  100.                                 var spell = Database.SpellTable.GetSpell(client.Spells[12940].ID, client.Spells[12940].Level);
  101.                                 uint damage = 1000 * (uint)spell.Level;//Daño Segun el Nivel de la Habilidad
  102.                                 client.Entity.Hitpoints -= damage;
  103.                                 client.Entity.Update(_String.Effect, "TSM_FRSZ_mb", true);//Enviar Efecto de la Skill
  104.                                 client.UpdateQualifier(damage, true);
  105.                                 // -------------------------- Efecto de Daño -----------------------------//
  106.                                 Network.GamePackets.SpellUse suse = new Network.GamePackets.SpellUse(true);
  107.                                 suse.Attacker = client.Entity.UID;
  108.                                 suse.SpellID = 11120;
  109.                                 suse.AddTarget(client.Entity.UID, damage, null);
  110.                                 client.SendScreen(suse, true);
  111.                                 // -----------------------------------------------------------------------//
  112.                             }
  113.                         }
  114.                     }
  115.                     else
  116.                     {
  117.                         client.Entity.Update(_String.Effect, "TSM_FRSZ_mb", false);//Chequeo Para Remover
  118.                     }
  119.                 }
  120.                 #endregion
  121.  
  122. ----------------------------------------
  123.  
  124. en Entity/Player Agregaran:
  125. public bool BurnFrost;
  126. public byte BurnFrostLeft;
  127. public float BurnFrostFirePercent;
  128. ------------------------------------------
  129.  
  130. Listo Ahora Testearan la Skill y la tendran 80% !
RAW Paste Data