internal float baseVSModifier(BasicAbility.ABILITY_AFFINITY affinity) { var temp = affinityEffects.Find(aff => aff.parent == affinity); if (temp != null) { return(temp.modifier); } else { return(AffinityCounter(affinity)); } }
internal bool Absorbs(BasicAbility.ABILITY_AFFINITY affinity) { if (affinityEffects.Count == 0) { return(false); } else { var effect = affinityEffects.Find(eff => eff.parent == affinity); if (effect == default(AffinityEffect)) { return(false); } return(effect.bAbsorbs); } }
internal bool IsStrongTo(BasicAbility.ABILITY_AFFINITY affinity) { if (affinityEffects.Count == 0) { return(false); } else { var effect = affinityEffects.Find(eff => eff.parent == affinity); if (effect == default(AffinityEffect)) { return(false); } return(effect.bIsStrongAgainst); } }
public AffinityEffect(BasicAbility.ABILITY_AFFINITY af) { parent = af; }
internal void CheckAffinity(BaseCharacter bc) { parent = bc; mainAffinity = parent.CCC.equippedClass.classAffinity; }
internal void CheckAffinity() { mainAffinity = parent.CCC.equippedClass.classAffinity; }
private float AffinityCounter(BasicAbility.ABILITY_AFFINITY affinity) { if (mainAffinity == affinity) { return(0.0f); } switch (affinity) { case BasicAbility.ABILITY_AFFINITY.None: return(1.0f); case BasicAbility.ABILITY_AFFINITY.Physical: return(1.0f); case BasicAbility.ABILITY_AFFINITY.Holy: if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Darkness) { return(2.0f); } else { return(1.0f); } case BasicAbility.ABILITY_AFFINITY.Darkness: if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Holy) { return(2.0f); } else { return(1.0f); } case BasicAbility.ABILITY_AFFINITY.Fire: if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Nature) { return(2.0f); } else if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Water) { return(0.5f); } else { return(1.0f); } case BasicAbility.ABILITY_AFFINITY.Water: if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Fire) { return(2.0f); } else if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Nature) { return(0.5f); } else { return(1.0f); } case BasicAbility.ABILITY_AFFINITY.Nature: if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Water) { return(2.0f); } else if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Fire) { return(0.5f); } else { return(1.0f); } case BasicAbility.ABILITY_AFFINITY.Earth: if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Fire) { return(1.4f); } else if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Nature) { return(1.4f); } else if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Water) { return(0.4f); } else { return(1.0f); } case BasicAbility.ABILITY_AFFINITY.Wind: if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Thunder) { return(0.2f); } else if (mainAffinity != BasicAbility.ABILITY_AFFINITY.Holy && mainAffinity != BasicAbility.ABILITY_AFFINITY.Darkness) { return(1.3f); } else { return(1.0f); } case BasicAbility.ABILITY_AFFINITY.Thunder: if (mainAffinity == BasicAbility.ABILITY_AFFINITY.Wind) { return(0.2f); } else if (mainAffinity != BasicAbility.ABILITY_AFFINITY.Holy && mainAffinity != BasicAbility.ABILITY_AFFINITY.Darkness) { return(1.3f); } else { return(1.0f); } default: break; } return(1.0f); }