private void SetArmorFields(Armor objArmor)
        {
            string strArmorAvail             = "";
            bool   blnCharacterProfWithArmor = false;

            intArmorSelectedID                = objArmor.ArmorID;
            this.txtArmorName.Text            = objArmor.ArmorName;
            this.txtMaxDefBonus.Text          = objArmor.MaxDefBonus.ToString();
            this.txtEmplacementPoints.Text    = objArmor.EmplacementPoints.ToString();
            this.txtReflexAdj.Text            = objArmor.ReflexAdjustment.ToString();
            this.txtFortAdj.Text              = objArmor.FortitudeAdjustment.ToString();
            this.txtArmorType.Text            = objArmor.objArmorType.ArmorTypeName;
            this.txtArmorCost.Text            = objArmor.Cost.ToString();
            this.txtWeight.Text               = objArmor.Weight.ToString();
            this.txtBookName.Text             = objArmor.objBook.BookName;
            this.txtArmorProficiencyFeat.Text = objArmor.objArmorProfFeat.FeatName;
            this.txtArmorDescription.Text     = objArmor.ArmorDescription;

            if (objArmor.lstArmorAvailability.Count > 0)
            {
                foreach (ItemAvailabilityType objIAT in objArmor.lstArmorAvailability)
                {
                    strArmorAvail = strArmorAvail + objIAT.ItemAvailabilityTypeName + ", ";
                }
                strArmorAvail = strArmorAvail.Substring(0, strArmorAvail.Length - 2);
            }
            txtAvailability.Text = strArmorAvail;

            //Character Specific Data
            this.txtReflexCurrent.Text = CharacterDefense.GetReflexDefense(objCharacter).GetDefenseTotal().ToString();
            this.txtFortCurrent.Text   = CharacterDefense.GetFortitudeDefense(objCharacter).GetDefenseTotal().ToString();

            blnCharacterProfWithArmor = Feat.IsFeatInList(objArmor.objArmorProfFeat, objCharacter.lstFeats);

            if (blnCharacterProfWithArmor)
            {
                this.txtReflexWithArmor.Text = CharacterDefense.GetReflexDefense(objCharacter).GetDefenseTotal(objArmor.ReflexAdjustment, 0).ToString();
                this.txtFortCurrent.Text     = CharacterDefense.GetFortitudeDefense(objCharacter).GetDefenseTotal(objArmor.FortitudeAdjustment, 0).ToString();
            }
            else
            {
                this.txtReflexWithArmor.Text = CharacterDefense.GetReflexDefense(objCharacter).GetDefenseTotal(objArmor.ReflexAdjustment, objArmor.objArmorType.ArmorCheckPenalty).ToString();
                this.txtFortCurrent.Text     = CharacterDefense.GetFortitudeDefense(objCharacter).GetDefenseTotal(0, 0).ToString();
            }

            if (!blnCharacterProfWithArmor)
            {
                SetCharacterSkillsGrid(objArmor);
            }
            else
            {
                DisplaySkillsGrid(false);
            }

            this.btnSelectArmor.Enabled = true;
        }
Exemplo n.º 2
0
        public void Test_GetDefense_ByCharacterIDDefenseTypeID_BadResult()
        {
            int intCharacterID          = 0;
            int intDefenseTypeID        = 1;
            CharacterDefense objDefense = new CharacterDefense();

            objDefense.GetDefense(intCharacterID, intDefenseTypeID);

            Assert.IsNull(objDefense.DefenseType);
        }
Exemplo n.º 3
0
        public void Test_GetDefense_ByCharacterIDDefenseTypeID_GoodResult()
        {
            int intCharacterID          = 1;
            int intDefenseTypeID        = 1;
            CharacterDefense objDefense = new CharacterDefense();

            objDefense.GetDefense(intCharacterID, intDefenseTypeID);

            Assert.AreEqual(intCharacterID, objDefense.CharacterID);
        }
Exemplo n.º 4
0
        public void Test_GetCharacterDefense_ByCharacterID_BadResult()
        {
            int intCharacterID = 0;
            CharacterDefense        objDefense  = new CharacterDefense();
            List <CharacterDefense> lstDefenses = new List <CharacterDefense>();

            lstDefenses = objDefense.GetCharacterDefenses(intCharacterID);

            Assert.IsTrue(lstDefenses.Count == 0);
        }
Exemplo n.º 5
0
        public void Test_GetDefenses_WithOutOrderBy_NoResult()
        {
            string strWhere   = "CharacterID=0 AND DefenseTypeID IN (1,2)";
            string strOrderBy = "";

            CharacterDefense        objDefense  = new CharacterDefense();
            List <CharacterDefense> lstDefenses = new List <CharacterDefense>();

            lstDefenses = objDefense.GetDefenses(strWhere, strOrderBy);

            Assert.IsTrue(lstDefenses.Count == 0);
        }
Exemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="character">Reference to the targetted character</param>
        /// <param name="amount">Amount of damage to deal</param>
        /// <param name="damageType">Type of damage dealt</param>
        public void DealDamage(ref Character character, int amount, string damageType)
        {
            int remainingDamage = amount;

            CharacterDefense defense = character.Defenses.FirstOrDefault(x => x.Type.ToLower() == damageType.ToLower());

            if (defense != null)
            {
                switch (defense.Defense.ToLower())
                {
                case "immunity":
                    remainingDamage = 0;
                    break;

                case "resistance":
                    remainingDamage = (int)Math.Round(amount / 2.0D, MidpointRounding.ToNegativeInfinity);
                    break;

                case "vulnerability":     // Added Vulnerability because, why not. It's easily extensible.
                    remainingDamage *= 2;
                    break;

                default:
                    break;
                }
            }

            // If character has THP, target it first
            if (character.CurrentTemporaryHitPoints > 0)
            {
                // If, after damage, character will still have THP
                if ((remainingDamage - character.CurrentTemporaryHitPoints) > 0)
                {
                    // Lower remainingDamage by THP value
                    remainingDamage -= character.CurrentTemporaryHitPoints;
                    // Remove THP
                    character.CurrentTemporaryHitPoints = 0;
                    // Deal remainder to character
                    character.CurrentHitPoints -= remainingDamage;
                }
                else
                {
                    // Otherwise, deal full damage to THP
                    character.CurrentTemporaryHitPoints -= remainingDamage;
                }
            }
            else
            {
                // Otherwise deal remaining damage directly to character
                character.CurrentHitPoints -= remainingDamage;
            }
        }
Exemplo n.º 7
0
    // Use this for initialization
    void Start()
    {
        this.canClimb      = false;
        this.isStun        = false;
        rb2d               = gameObject.GetComponent <Rigidbody2D> ();
        anim               = gameObject.GetComponent <Animator> ();
        this.playerAbility = gameObject.GetComponentInChildren <CharacterAbility> ();
        this.playerDefense = gameObject.GetComponentInChildren <CharacterDefense> ();

        this.fit = gameObject.GetComponentInChildren <FittingMenu> ();
        TestMenu global = GameObject.FindObjectOfType <TestMenu> ();

        this.fit.Equip(global.activeWeapon);
        this.fit.Equip(global.activeDefense);
        this.fit.Equip(global.activeUtility);
        this.fit.SetAbility();

        InitializeCharacter();
    }
Exemplo n.º 8
0
        public void ToDomain_ShouldTranslateDefenseResistances()
        {
            CharacterDefense fireImmunity = new CharacterDefense {
                Defense = "resistance", Type = "radiant"
            };
            CharacterDefense slashingImmunity = new CharacterDefense {
                Defense = "resistance", Type = "force"
            };
            Character characterWithImmunities = new Character {
                Defenses = new List <CharacterDefense> {
                    fireImmunity, slashingImmunity
                }
            };

            DomainCharacter actualCharacter = CharacterConverter.ToDomain(characterWithImmunities);

            Assert.Equal(new List <string> {
                "radiant", "force"
            }, actualCharacter.Resistances);
        }
Exemplo n.º 9
0
        public void ToDomain_ShouldTranslateDefenseVulnerabilities()
        {
            CharacterDefense fireImmunity = new CharacterDefense {
                Defense = "vulnerable", Type = "bludgeoning"
            };
            CharacterDefense slashingImmunity = new CharacterDefense {
                Defense = "vulnerable", Type = "slashing"
            };
            Character characterWithImmunities = new Character {
                Defenses = new List <CharacterDefense> {
                    fireImmunity, slashingImmunity
                }
            };

            DomainCharacter actualCharacter = CharacterConverter.ToDomain(characterWithImmunities);

            Assert.Equal(new List <string> {
                "bludgeoning", "slashing"
            }, actualCharacter.Vulnerabilities);
        }
Exemplo n.º 10
0
 // Use this for initialization
 void Start()
 {
     this.defense = GameObject.FindObjectOfType <Player> ().gameObject.GetComponentInChildren <CharacterDefense> ();
 }
Exemplo n.º 11
0
 public void Bind(CharacterDefense view)
 {
     View = view;
     View.BindingContext = this;
 }
Exemplo n.º 12
0
 // Use this for initialization
 void Start()
 {
     curHealth        = initialHealth;
     characterDefense = GetComponent <CharacterDefense> ();
 }