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; }
public void Test_GetDefense_ByCharacterIDDefenseTypeID_BadResult() { int intCharacterID = 0; int intDefenseTypeID = 1; CharacterDefense objDefense = new CharacterDefense(); objDefense.GetDefense(intCharacterID, intDefenseTypeID); Assert.IsNull(objDefense.DefenseType); }
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); }
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); }
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); }
/// <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; } }
// 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(); }
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); }
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); }
// Use this for initialization void Start() { this.defense = GameObject.FindObjectOfType <Player> ().gameObject.GetComponentInChildren <CharacterDefense> (); }
public void Bind(CharacterDefense view) { View = view; View.BindingContext = this; }
// Use this for initialization void Start() { curHealth = initialHealth; characterDefense = GetComponent <CharacterDefense> (); }