internal void SoulStoneBadLifeRegen() { if (HypothemaEffect && player.lifeRegen < 0 && (Focus.IsVitality() || Focus.IsTenacity())) { player.statDefense += 8; } if (UtilityCurse3 && player.lifeRegen < 0) { player.lifeRegen -= player.lifeRegen / 2; } if (VitalityCurse2 && player.lifeRegen < 0) { player.lifeRegen -= 2; } if (VitalityCurse3 && player.statLife >= player.statLifeMax2 / 2) { player.lifeRegen = 0; } if (VitalityCurse4) { if (player.statLifeMax2 > player.statLifeMax) { player.statLifeMax2 = player.statLifeMax; } } if (EvilBossEffect && Focus.IsVitality()) { if (player.lifeRegen < 0) { player.lifeRegen += 2; } if (player.lifeRegen > -1) { player.lifeRegen = -1; } } if (MoonLordEffect && Focus.IsUtility()) { if (player.lifeRegen < 0) { player.lifeRegen = 0; } } }
internal void SoulStoneHitByNPC(NPC npc, ref int damage, ref bool crit) { if (Focus == null) { return; } if (Focus.IsCapacity()) { CapacityHitByNPC(npc, ref damage, ref crit); } if (SteamTrainEffect && !player.HasBuff(ModContent.BuffType <SteamTrainSoulCooldownBuff>()) && Focus.IsCapacity()) { player.AddBuff(ModContent.BuffType <SteamTrainSoulCooldownBuff>(), 90 * Constants.TICKS_PER_SECONDS); player.immune = true; player.immuneTime = 2 * 60; } if (EvilBossEffect && !player.HasBuff(ModContent.BuffType <EvilBossCooldownBuff>()) && Focus.IsUtility()) { player.AddBuff(ModContent.BuffType <EvilBossCooldownBuff>(), 120 * Constants.TICKS_PER_SECONDS); player.immune = true; player.immuneTime = 2 * 60; } if (KingSlimeStomp && player.velocity.Y > 4) { player.ApplyDamageToNPC(npc, player.statDefense + damage + 4, 4f, 0, false); } }