Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.56 KB | None | 0 0
  1. case (ushort)Role.Flags.SpellID.AngerofStomper:
  2. {
  3. MsgSpellAnimation MsgSpell = new MsgSpellAnimation(user.Player.UID
  4. , 0, Attack.X, Attack.Y, ClientSpell.ID
  5. , ClientSpell.Level, ClientSpell.UseSpellSoul);
  6. uint Experience = 0;
  7.  
  8. foreach (Role.IMapObj target in user.Player.View.Roles(Role.MapObjectType.Monster))
  9. {
  10. MsgMonster.MonsterRole attacked = target as MsgMonster.MonsterRole;
  11. if (Calculate.Base.GetDistance(user.Player.X, user.Player.Y, attacked.X, attacked.Y) < DBSpell.Range / 2)
  12. {
  13. if (CheckAttack.CanAttackMonster.Verified(user, attacked, DBSpell))
  14. {
  15. MsgSpellAnimation.SpellObj AnimationObj;
  16. Calculate.Physical.OnMonster(user.Player, attacked, DBSpell, out AnimationObj);
  17. AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
  18. Experience += ReceiveAttack.Monster.Execute(stream, AnimationObj, user, attacked);
  19.  
  20. MsgSpell.Targets.Enqueue(AnimationObj);
  21.  
  22. }
  23. }
  24. }
  25. foreach (Role.IMapObj targer in user.Player.View.Roles(Role.MapObjectType.Player))
  26. {
  27. var attacked = targer as Role.Player;
  28. if (Calculate.Base.GetDistance(user.Player.X, user.Player.Y, attacked.X, attacked.Y) < DBSpell.Range / 2)
  29. {
  30. if (CheckAttack.CanAttackPlayer.Verified(user, attacked, DBSpell))
  31. {
  32. MsgSpellAnimation.SpellObj AnimationObj;
  33. Calculate.Physical.OnPlayer(user.Player, attacked, DBSpell, out AnimationObj);
  34. AnimationObj.Damage = AnimationObj.Damage * 86 / 100;
  35. AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
  36. ReceiveAttack.Player.Execute(AnimationObj, user, attacked);
  37.  
  38. MsgSpell.Targets.Enqueue(AnimationObj);
  39. }
  40. }
  41.  
  42. }
  43. foreach (Role.IMapObj targer in user.Player.View.Roles(Role.MapObjectType.SobNpc))
  44. {
  45. var attacked = targer as Role.SobNpc;
  46. if (Calculate.Base.GetDistance(user.Player.X, user.Player.Y, attacked.X, attacked.Y) < DBSpell.Range / 2)
  47. {
  48. if (CheckAttack.CanAttackNpc.Verified(user, attacked, DBSpell))
  49. {
  50. MsgSpellAnimation.SpellObj AnimationObj;
  51. Calculate.Physical.OnNpcs(user.Player, attacked, DBSpell, out AnimationObj);
  52. AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
  53. Experience += ReceiveAttack.Npc.Execute(stream, AnimationObj, user, attacked);
  54. MsgSpell.Targets.Enqueue(AnimationObj);
  55. }
  56. }
  57. }
  58. Updates.IncreaseExperience.Up(stream, user, Experience);
  59. Updates.UpdateSpell.CheckUpdate(stream, user, Attack, Experience, DBSpells);
  60. MsgSpell.SetStream(stream); MsgSpell.Send(user);
  61. break;
  62. }
  63. case (ushort)Role.Flags.SpellID.FireofHell:
  64. case (ushort)Role.Flags.SpellID.FireCircle:
  65. {
  66. MsgSpellAnimation MsgSpell = new MsgSpellAnimation(user.Player.UID
  67. , 0, Attack.X, Attack.Y, ClientSpell.ID
  68. , ClientSpell.Level, ClientSpell.UseSpellSoul);
  69.  
  70. uint Experience = 0;
  71. foreach (Role.IMapObj target in user.Player.View.Roles(Role.MapObjectType.Monster))
  72. {
  73. MsgMonster.MonsterRole attacked = target as MsgMonster.MonsterRole;
  74. if (CheckAttack.CanAttackMonster.Verified(user, attacked, DBSpell))
  75. {
  76. if (Calculate.Base.GetDistance(user.Player.X, user.Player.Y, attacked.X, attacked.Y) < DBSpell.Range)
  77. {
  78. MsgSpellAnimation.SpellObj AnimationObj;
  79. Calculate.Magic.OnMonster(user.Player, attacked, DBSpell, out AnimationObj);
  80. AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
  81. Experience += ReceiveAttack.Monster.Execute(stream, AnimationObj, user, attacked);
  82. MsgSpell.Targets.Enqueue(AnimationObj);
  83. }
  84. }
  85. }
  86. foreach (Role.IMapObj targer in user.Player.View.Roles(Role.MapObjectType.Player))
  87. {
  88. var attacked = targer as Role.Player;
  89. if (CheckAttack.CanAttackPlayer.Verified(user, attacked, DBSpell))
  90. {
  91. if (Calculate.Base.GetDistance(user.Player.X, user.Player.Y, attacked.X, attacked.Y) < DBSpell.Range)
  92. {
  93. MsgSpellAnimation.SpellObj AnimationObj;
  94. Calculate.Magic.OnPlayer(user.Player, attacked, DBSpell, out AnimationObj);
  95. AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
  96. ReceiveAttack.Player.Execute(AnimationObj, user, attacked);
  97. MsgSpell.Targets.Enqueue(AnimationObj);
  98.  
  99. Sering.Proces(user, attacked, stream);
  100. }
  101. }
  102. }
  103. foreach (Role.IMapObj targer in user.Player.View.Roles(Role.MapObjectType.SobNpc))
  104. {
  105. var attacked = targer as Role.SobNpc;
  106. if (CheckAttack.CanAttackNpc.Verified(user, attacked, DBSpell))
  107. {
  108. if (Calculate.Base.GetDistance(user.Player.X, user.Player.Y, attacked.X, attacked.Y) < DBSpell.Range)
  109. {
  110. MsgSpellAnimation.SpellObj AnimationObj;
  111. Calculate.Magic.OnNpcs(user.Player, attacked, DBSpell, out AnimationObj);
  112. AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
  113. Experience += ReceiveAttack.Npc.Execute(stream, AnimationObj, user, attacked);
  114. MsgSpell.Targets.Enqueue(AnimationObj);
  115. }
  116. }
  117. }
  118. Updates.IncreaseExperience.Up(stream, user, Experience);
  119. Updates.UpdateSpell.CheckUpdate(stream, user, Attack, Experience, DBSpells);
  120. MsgSpell.SetStream(stream); MsgSpell.Send(user);
  121.  
  122. break;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement