Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using Microsoft.Xna.Framework;
- using System.Collections.Generic;
- using Terraria;
- using Terraria.ID;
- using Terraria.ModLoader;
- namespace NexusMod.Buffs
- {
- public class GamblerBuff : ModBuff
- {
- public int buffCounter = 0;
- public List<string> boosts = new List<String>()
- {
- "damage",
- "velocity",
- "crit",
- "defense",
- "movespeed",
- "armorpen",
- "palladiumregen",
- "jumpboost",
- };
- public override void SetDefaults()
- {
- DisplayName.SetDefault("Gambler");
- Description.SetDefault("The cards are being dealt!");
- Main.buffNoSave[Type] = true;
- Main.buffNoTimeDisplay[Type] = true;
- }
- void resetOtherEffects (Player player, string newEff)
- {
- foreach (string eff in boosts)
- {
- if (eff != newEff)
- {
- switch (eff)
- {
- case "damage":
- player.thrownDamage -= 0.1f;
- break;
- case "velocity":
- player.thrownVelocity -= 0.1f;
- break;
- case "crit":
- player.thrownCrit -= 10;
- break;
- case "defense":
- player.statDefense -= 10;
- break;
- case "movespeed":
- player.moveSpeed -= 0.1f;
- break;
- case "armorpen":
- player.armorPenetration -= 10;
- break;
- case "palladiumregen":
- player.palladiumRegen = false;
- break;
- case "jumpboost":
- player.jumpBoost = false;
- break;
- }
- }
- }
- }
- public override void Update(Player player, ref int buffIndex)
- {
- NexusPlayer NPlayer = player.GetModPlayer<NexusPlayer>(mod);
- if (buffCounter % 30*60 == 0)
- {
- string boost = boosts[Main.rand.Next(boosts.Count)];
- switch (boost)
- {
- case "damage":
- player.thrownDamage += 0.1f;
- break;
- case "velocity":
- player.thrownVelocity += 0.1f;
- break;
- case "crit":
- player.thrownCrit += 10;
- break;
- case "defense":
- player.statDefense += 10;
- break;
- case "movespeed":
- player.moveSpeed += 0.1f;
- break;
- case "armorpen":
- player.armorPenetration += 10;
- break;
- case "palladiumregen":
- player.palladiumRegen = true;
- break;
- case "jumpboost":
- player.jumpBoost = true;
- break;
- }
- resetOtherEffects(player, boost);
- }
- buffCounter++;
- if (!NexusPlayer.hasGamblerBuff)
- {
- player.DelBuff(buffIndex);
- buffIndex--;
- }
- else
- {
- player.buffTime[buffIndex] = 18000;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement