public string GetWeaknessString(Enemy e, Files.SkillManager sm) { var str = new StringBuilder(); if (Weaknesses.ContainsKey(e.Name)) { var set = Weaknesses[e.Name]; foreach (int w in e.Weakness) { if (set.Contains(w)) { str.Append(sm.ElementToString(w)); } else { str.Append("???"); } str.Append(", "); } } else { foreach (int w in e.Weakness) { str.Append("???, "); } } string ret_str = str.ToString(); // "string, " --> 8 chars --> 8 - 2 = 6... string (excludes "right" value) return(ret_str.Substring(0, ret_str.Length - 2)); }
public int HowMuchWouldYouHitMe(Group s) { if (Immunities.Contains(s.AttackType)) { return(0); } else if (Weaknesses.Contains(s.AttackType)) { return(s.EffectivePower * 2); } { return(s.EffectivePower); } }
public int CalculateDamageDone(string incomingAttackType, int effectivePower) { if (Immunities != null && Immunities.Contains(incomingAttackType)) { return(0); } if (Weaknesses != null && Weaknesses.Contains(incomingAttackType)) { return(effectivePower * 2); } return(effectivePower); }
public int ComputeDamage(AttackType attackType, int damage) { if (Immunity.Contains(attackType)) { return(0); } else if (Weaknesses.Contains(attackType)) { return(damage * 2); } else { return(damage); } }
public int DamageReceivedOnAttack(Group attackingGroup) { if (ImmuneTo.Contains(attackingGroup.Attack.Type)) { return(0); } var damage = attackingGroup.EffectivePower; if (Weaknesses.Contains(attackingGroup.Attack.Type)) { damage = damage * 2; } return(damage); }
public void ProcessWeakness(Enemy e, int element) { if (Weaknesses.ContainsKey(e.Name)) { var set = Weaknesses[e.Name]; if (!set.Contains(element)) { set.Add(element); } } else { var set = new HashSet <int>(); set.Add(element); Weaknesses.Add(e.Name, set); } }
public int GetDamage(BattleGroup attackingGroup) { if (attackingGroup.Type == Type) { return(0); } int damage = attackingGroup.EffectivePower; if (Immunities.Contains(attackingGroup.AttackType)) { damage = 0; } if (Weaknesses.Contains(attackingGroup.AttackType)) { damage *= 2; } return(damage); }
private void PokemonTypeListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { PokemonType temp = (PokemonType)PokemonTypeListBox.SelectedItem; PTypeNameTextBox.Text = temp.Name; PTypeInternalNameTextBox.Text = temp.InternalName; PTypePseudoCheckBox.IsChecked = temp.IsPseudoType; PTypeSpecialCheckBox.IsChecked = temp.IsSpecialType; PTypeWeaknessListBox.UnselectAll(); if (temp.Weaknesses != null) { foreach (String type in temp.Weaknesses) { PTypeWeaknessListBox.SelectedItems.Add(Weaknesses.Find(p => p.InternalName.Equals(type))); } } PTypeResistanceListBox.UnselectAll(); if (temp.Resistances != null) { foreach (String type in temp.Resistances) { PTypeResistanceListBox.SelectedItems.Add(Resistances.Find(p => p.InternalName.Equals(type))); } } PTypeImmunityListBox.UnselectAll(); if (temp.Immunities != null) { foreach (String type in temp.Immunities) { PTypeImmunityListBox.SelectedItems.Add(Immunities.Find(p => p.InternalName.Equals(type))); } } }
public object Clone() { return(new Group(Units, HitPoints, AttackDamage, AttackType, Initiative, Weaknesses.ToList(), Immunities.ToList())); }
//////////////////// // Stat Functions // //////////////////// public bool IsWeakTo(Element element) { return(Weaknesses.Contains(element)); }
public Builder WithWeakness(Weaknesses weakness) { this.weakness = weakness.ToString(); return(this); }
public bool IsWeakTo(Attack attack) => Weaknesses.Contains(attack);