Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. using Stump.DofusProtocol.Enums;
  2. using Stump.Server.WorldServer.Database.World;
  3. using Stump.Server.WorldServer.Game.Actors.Fight;
  4. using Stump.Server.WorldServer.Game.Effects.Instances;
  5. using Stump.Server.WorldServer.Game.Spells.Casts;
  6. using Stump.Server.WorldServer.Game.Fights.Buffs;
  7.  
  8. namespace Stump.Server.WorldServer.Game.Effects.Handlers.Spells.Buffs
  9. {
  10. [EffectHandler(EffectsEnum.Effect_AddMP)]
  11. [EffectHandler(EffectsEnum.Effect_AddMP_128)]
  12. public class MPBuff : SpellEffectHandler
  13. {
  14. public MPBuff(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
  15. : base(effect, caster, castHandler, targetedCell, critical)
  16. {
  17. }
  18.  
  19. protected override bool InternalApply()
  20. {
  21. foreach (var actor in GetAffectedActors())
  22. {
  23.  
  24. if (IsTriggerBuff())
  25. {
  26. AddTriggerBuff(actor, TriggerBuff);
  27. }
  28. else
  29. {
  30. var integerEffect = GenerateEffect();
  31.  
  32. if (integerEffect == null)
  33. return false;
  34.  
  35. if (Effect.Duration != 0 || Effect.Delay != 0)
  36. {
  37. AddStatBuff(actor, integerEffect.Value, PlayerFields.MP);
  38. }
  39. else
  40. {
  41. actor.RegainMP(integerEffect.Value);
  42. }
  43. }
  44. }
  45.  
  46. return true;
  47. }
  48.  
  49. private void TriggerBuff(TriggerBuff buff, FightActor triggerrer, BuffTriggerType trigger, object token)
  50. {
  51. var integerEffect = GenerateEffect();
  52.  
  53. if (integerEffect == null)
  54. return;
  55.  
  56. if (Effect.Duration != 0 || Effect.Delay != 0)
  57. {
  58. var newBuff = AddStatBuffDirectly(buff.Target, integerEffect.Value, PlayerFields.MP, triggerrer:triggerrer);
  59. if (TriggeredBuffDuration > 0)
  60. newBuff.Duration = (short) TriggeredBuffDuration;
  61. }
  62. else
  63. {
  64. buff.Target.RegainMP(integerEffect.Value);
  65. }
  66. }
  67. }
  68. }Tu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement