Advertisement
Guest User

Untitled

a guest
Feb 24th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. using System;
  2. using Microsoft.Xna.Framework;
  3. using System.Collections.Generic;
  4.  
  5. using Terraria;
  6. using Terraria.ID;
  7. using Terraria.ModLoader;
  8.  
  9. namespace NexusMod.Buffs
  10. {
  11. public class GamblerBuff : ModBuff
  12. {
  13. public int buffCounter = 0;
  14. public List<string> boosts = new List<String>()
  15. {
  16. "damage",
  17. "velocity",
  18. "crit",
  19. "defense",
  20. "movespeed",
  21. "armorpen",
  22. "palladiumregen",
  23. "jumpboost",
  24. };
  25.  
  26.  
  27. public override void SetDefaults()
  28. {
  29. DisplayName.SetDefault("Gambler");
  30. Description.SetDefault("The cards are being dealt!");
  31. Main.buffNoSave[Type] = true;
  32. Main.buffNoTimeDisplay[Type] = true;
  33. }
  34.  
  35. void resetOtherEffects (Player player, string newEff)
  36. {
  37. foreach (string eff in boosts)
  38. {
  39. if (eff != newEff)
  40. {
  41. switch (eff)
  42. {
  43. case "damage":
  44. player.thrownDamage -= 0.1f;
  45. break;
  46. case "velocity":
  47. player.thrownVelocity -= 0.1f;
  48. break;
  49. case "crit":
  50. player.thrownCrit -= 10;
  51. break;
  52. case "defense":
  53. player.statDefense -= 10;
  54. break;
  55. case "movespeed":
  56. player.moveSpeed -= 0.1f;
  57. break;
  58. case "armorpen":
  59. player.armorPenetration -= 10;
  60. break;
  61. case "palladiumregen":
  62. player.palladiumRegen = false;
  63. break;
  64. case "jumpboost":
  65. player.jumpBoost = false;
  66. break;
  67. }
  68. }
  69. }
  70. }
  71.  
  72. public override void Update(Player player, ref int buffIndex)
  73. {
  74. NexusPlayer NPlayer = player.GetModPlayer<NexusPlayer>(mod);
  75.  
  76. if (buffCounter % 30*60 == 0)
  77. {
  78. string boost = boosts[Main.rand.Next(boosts.Count)];
  79.  
  80. switch (boost)
  81. {
  82. case "damage":
  83. player.thrownDamage += 0.1f;
  84. break;
  85. case "velocity":
  86. player.thrownVelocity += 0.1f;
  87. break;
  88. case "crit":
  89. player.thrownCrit += 10;
  90. break;
  91. case "defense":
  92. player.statDefense += 10;
  93. break;
  94. case "movespeed":
  95. player.moveSpeed += 0.1f;
  96. break;
  97. case "armorpen":
  98. player.armorPenetration += 10;
  99. break;
  100. case "palladiumregen":
  101. player.palladiumRegen = true;
  102. break;
  103. case "jumpboost":
  104. player.jumpBoost = true;
  105. break;
  106. }
  107. resetOtherEffects(player, boost);
  108.  
  109. }
  110. buffCounter++;
  111.  
  112. if (!NexusPlayer.hasGamblerBuff)
  113. {
  114. player.DelBuff(buffIndex);
  115. buffIndex--;
  116. }
  117. else
  118. {
  119. player.buffTime[buffIndex] = 18000;
  120. }
  121. }
  122. }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement