Exemple #1
0
        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";
            }
        }
Exemple #2
0
        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);
        }