internal Hero() { Location = new Point(0, 0); abilityScores = new CombatManager.AbilityScores(); abilityScores.Str = 10; abilityScores.Dex = 10; abilityScores.Con = 10; abilityScores.Int = 10; abilityScores.Wis = 10; abilityScores.Cha = 10; abilityScores.StrMod = 0; abilityScores.DexMod = 0; abilityScores.ConMod = 0; abilityScores.IntMod = 0; abilityScores.WisMod = 0; abilityScores.ChaMod = 0; max_HP = hitDie + abilityScores.ConMod; hp = max_HP; // TODO: Create input screen to gather name // heroName = Interaction.InputBox("Dust thou have a name?","Who are you","John Doe"); if (heroName.Length < 1) { heroName = "John Doe"; } }
internal Rat(Point location) { //Stats referenced from: http://www.dandwiki.com/wiki/5e_SRD:Rat monsterClass = GameConstants.monsterClasses.Rat; this.location = location; abilityScores = new CombatManager.AbilityScores(); abilityScores.Str = 2; abilityScores.Dex = 11; abilityScores.Con = 9; abilityScores.Int = 2; abilityScores.Wis = 10; abilityScores.Cha = 4; abilityScores.StrMod = -4; abilityScores.DexMod = 0; abilityScores.ConMod = -1; abilityScores.IntMod = -4; abilityScores.WisMod = 0; abilityScores.ChaMod = -3; maxHP = MathHelper.Clamp(Utility.Rand.Next(4), 1, 3); // "Hit Points 1 (1d4 - 1)" meaning, min (max) _HP = maxHP; _XP = 10; // Challenge rating of 0 with attack : http://www.dandwiki.com/wiki/5e_SRD:Creatures#Size_Categories // "Bite. Melee Weapon Attack: +0 to hit, reach 5 ft., one target. Hit: 1 piercing damage." attackDeliveryPacket.CombatType = CombatManager.CombatType.Melee; attackDeliveryPacket.DamageDice = new KeyValuePair <CombatManager.DamageType, CombatManager.DieType> [0]; attackDeliveryPacket.DamageModifiers = new Dictionary <CombatManager.DamageType, int>(1); // Set Capacity to 1 attackDeliveryPacket.DamageModifiers.Add(CombatManager.DamageType.Piercing, 1); // This one attackDeliveryPacket.ToHitModifier = 0; attackDeliveryPacket.Attacker = this; defenseDeliveryPacket.ArmorBonus = 0; defenseDeliveryPacket.SizeModifier = 2; //"tiny" http://www.dandwiki.com/wiki/SRD:Attack_Roll defenseDeliveryPacket.DexterityModifier = abilityScores.DexMod; defenseDeliveryPacket.ShieldBonus = 0; floorLevelRange.Low = 1; floorLevelRange.High = 20; healRate = 1; if (rand.NextDouble() < 0.33f) { awake = roaming = false; } loot = StartingLoot(LOOT_PROBABILITY, LOOT_MAX_WEIGHT); }