public int GetAttribute(BattalionAttribute attribute) { if (attributes.ContainsKey(attribute)) { return(attributes[attribute]); } return(0); }
public int Get(BattalionAttribute attribute) { if (attributesCore.ContainsKey(attribute)) { return(attributesCore[attribute]); } return(0); }
public BattalionStateModifier(BattalionEffector source, BattalionIdentifier target, BattalionAttribute attribute, int modifier) { Source = source; Target = target; Attribute = attribute; Modifier = modifier; }
public void Set(BattalionAttribute attribute, int value) { if (attributesCore.ContainsKey(attribute)) { attributesCore[attribute] = value; } else { attributesCore.Add(attribute, value); } }
private void DoMeleeAttack(BattalionEffectsBuilder builder, BattalionState self, BattalionState target) { int strength = self.GetAttribute(BattalionAttribute.Strength); BattalionAttribute damageAttribute = GetDamageAttributeFor(damageType); builder.Add(target.Id, damageAttribute, strength + weaponStrength); int retributionDamage = target.GetAttribute(BattalionAttribute.MeleeRetribution); if (retributionDamage > 0) { builder.Add(self.Id, BattalionAttribute.Damage, retributionDamage); } }
private void DoAttack(BattalionEffectsBuilder builder, BattalionState self, BattleStageSide enemies) { BattalionState target = enemies.GetTargetFor(self.Position); BattalionAttribute damageAttribute = GetDamageAttributeFor(damageType); builder.Add(target.Id, damageAttribute, weaponStrength); if (splashDamage > 0) { IEnumerable <BattalionState> splashTargets = GetSplashTargets(target, enemies).ToArray(); foreach (BattalionState splashTarget in splashTargets) { builder.Add(splashTarget.Id, damageAttribute, splashDamage); } } int reloadingSpeed = self.GetAttribute(BattalionAttribute.ReloadingSpeed); builder.Add(self.Id, BattalionAttribute.ReloadingState, reloadingSpeed); }
public void Add(BattalionIdentifier id, BattalionAttribute attribute, int value) { modifiers.Add(new BattalionStateModifier(source, id, attribute, value)); }
public void Set(BattalionAttribute attribute, int value) { this.modifiers.Add(new BattalionStateModifier(null, id, attribute, value)); }