Example #1
0
 public int GetAttribute(BattalionAttribute attribute)
 {
     if (attributes.ContainsKey(attribute))
     {
         return(attributes[attribute]);
     }
     return(0);
 }
Example #2
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;
 }
Example #4
0
 public void Set(BattalionAttribute attribute, int value)
 {
     if (attributesCore.ContainsKey(attribute))
     {
         attributesCore[attribute] = value;
     }
     else
     {
         attributesCore.Add(attribute, value);
     }
 }
Example #5
0
    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));
 }