public void DiminishingEffects(PrimStatisic prim, double value) { if (prim.diminishingReturns && prim.stats == prim.max / 2) { prim.stats += Mathf.Log10((float)value); } }
public bool CompareStatsLHSisLarger(SecStatistic m_mainSec, PrimStatisic m_enemyPrim) { if (m_mainSec == null || m_enemyPrim == null) { return(false); } if (m_mainSec.stats > m_enemyPrim.stats) { return(true); } return(false); }
private void StatsEffected(Entity m_entity) { List <StatsEffected> stats = m_entity.m_statsEffecting; List <PrimStatisic> primStats = m_entity.m_primStat; List <SecStatistic> secStatistics = m_entity.m_secStat; PrimStatisic primaryEffectingStat = null; SecStatistic secondaryEffectingStat = null; SecStatistic secondaryEffectedStat = null; for (int i = 0; i < stats.Count; i++) { if (stats[i].m_effectingStats[stats[i].indexValueEffecting].Contains(primStats[i].name)) { primaryEffectingStat = primStats[i]; } if (stats[i].m_effectingStats[stats[i].indexValueEffecting].Contains(secStatistics[i].name)) { secondaryEffectingStat = secStatistics[i]; } if (stats[i].m_statsEffected[stats[i].indexValueEffected].Contains(secStatistics[i].name)) { secondaryEffectedStat = secStatistics[i]; } if (primaryEffectingStat == null) { CalculateStat(primaryEffectingStat, secondaryEffectedStat, stats[i]); } else if (secondaryEffectingStat == null) { CalculateStat(secondaryEffectingStat, secondaryEffectedStat, stats[i]); } primaryEffectingStat = null; secondaryEffectingStat = null; secondaryEffectedStat = null; } }
//Overloaded functions for primary and secondary change in stats. private void CalculateStat(PrimStatisic primary, SecStatistic second, StatsEffected m_stats) { //Uses the operators in the statseffected to return the funcs. second.stats = m_stats.operate(primary.stats, second.stats); }