Example #1
0
class GiantBat(Animal):
    name = "Giant Bat"
    hit_dice = dice.D8(2)
    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [AttackSet(Bite(dice.D4(1)))]
    base_armor_class = 14

    morale = 8
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(10),
                                    fly=units.FeetPerGameTurn(60))
    no_appearing = AppearingSet(dice_dungeon=dice.D10(1),
                                dice_wild=dice.D10(1),
                                dice_lair=dice.D10(1))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    xp = 75
Example #2
0
class Bat(Animal):
    name = "Bat"
    hit_dice = dice.D1(1)
    attack_bonus = AttackBonusTable.get_by_hit_dice(0)
    attack_sets = [AttackSet(ConfusionBySwarm(None))]
    base_armor_class = 14

    morale = 7
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(30),
                                    fly=units.FeetPerGameTurn(40))
    no_appearing = AppearingSet(dice_dungeon=dice.D100(1),
                                dice_wild=dice.D100(2),
                                dice_lair=dice.D100(2))
    save_as = None
    xp = 10
Example #3
0
class Moose(Animal):
    name = "Moose"
    hit_dice = dice.D8(3)
    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [AttackSet(Headbutt(dice.D6(1)))]
    base_armor_class = 13

    morale = 5
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(80), turning_distance=units.Feet(10))
    no_appearing = AppearingSet(dice_wild=dice.D10(3))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    xp = 145
Example #4
0
class CarnivorousApe(Animal):
    name = "Carnivorous Ape"
    hit_dice = dice.D8(4)
    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [AttackSet(Claw(dice.D4(1)), amount=2)]
    base_armor_class = 14

    morale = 7
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(40))
    no_appearing = AppearingSet(dice_dungeon=dice.D6(1), dice_wild=dice.D4(2), dice_lair=dice.D4(2))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    xp = 240
Example #5
0
class Deer(Antelope):
    name = "Deer"
    hit_dice = dice.D8(1)
    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [AttackSet(Headbutt(dice.D4(1)))]
    base_armor_class = 13

    morale = 5
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(80), turning_distance=units.Feet(10))
    no_appearing = AppearingSet(dice_wild=dice.D10(3))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    size = Size.Medium
    weight = units.Pound(220)
    xp = 25
Example #6
0
class Pony(Horse):
    name = "Pony"
    attack_bonus = AttackBonusTable.get_by_hit_dice(1)
    attack_sets = [AttackSet(Bite(dice.D4(1)))]
    base_armor_class = 13
    carry_capacity = CarryCapacity(units.Pound(275), units.Pound(550))
    hit_dice = dice.D8(2)
    morale = 6
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(40),
                                    turning_distance=units.Feet(10))
    no_appearing = None
    save_as = Fighter.level_table.levels[1].saving_throws_set
    special_abilities = None
    treasure_type = None
    xp = 25
Example #7
0
class DraftHorse(Horse):
    name = "Draft Horse"
    attack_bonus = AttackBonusTable.get_by_hit_dice(3)
    attack_sets = [AttackSet(Hoof(dice.D4(1)), amount=2)]
    base_armor_class = 13
    carry_capacity = CarryCapacity(units.Pound(350), units.Pound(700))
    hit_dice = dice.D8(3)
    morale = 7
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(60),
                                    turning_distance=units.Feet(10))
    no_appearing = None
    save_as = Fighter.level_table.levels[3].saving_throws_set
    special_abilities = None
    treasure_type = None
    xp = 145
Example #8
0
class Donkey(Horse):
    name = "Donkey"
    attack_bonus = AttackBonusTable.get_by_hit_dice(2)
    attack_sets = [AttackSet(Bite(dice.D2(1)))]
    base_armor_class = 13
    carry_capacity = CarryCapacity(units.Pound(400), units.Pound(800))
    hit_dice = dice.D8(2)
    morale = 7
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(40),
                                    turning_distance=units.Feet(10))
    no_appearing = AppearingSet(dice_wild=dice.D4(2))
    save_as = Fighter.level_table.levels[2].saving_throws_set
    special_abilities = None
    treasure_type = None
    xp = 75
Example #9
0
class GiantBombardierBeetle(Beetle):
    name = "Giant Bombardier Beetle"
    hit_dice = dice.D8(2)

    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [AttackSet(Bite(dice.D4(1)))]
    base_armor_class = 16
    morale = 9
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(10), fly=units.Feet(50))
    no_appearing = AppearingSet(dice_dungeon=dice.D6(1), dice_wild=dice.D6(1), dice_lair=dice.D6(5))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    size = Size.Small
    special_abilities = specialabilities.CombatFrenzy,
    treasure_type = TreasureType.Special
    weight = units.Pound(50)
    xp = 13
Example #10
0
class GiantAnt(Ant):
    name = "Giant Ant"
    hit_dice = dice.D8(4)

    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [AttackSet(Bite(dice.D6(2)))]
    base_armor_class = 17
    morale = 7
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(60), turning_distance=units.Feet(10))
    no_appearing = AppearingSet(dice_dungeon=dice.D6(2), dice_wild=dice.D6(2), dice_lair=dice.D6(4))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    size = Size.Medium
    special_abilities = specialabilities.CombatFrenzy,
    treasure_type = TreasureType.U
    weight = units.Pound(200)
    xp = 25
Example #11
0
class Goblin(Humanoid):
    name = "Goblin"
    hit_dice = dice.D1(1)
    attack_bonus = AttackBonusTable.get_by_hit_dice(1)
    attack_sets = None
    base_armor_class = 11

    morale = 7
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(30))
    no_appearing = AppearingSet(dice_dungeon=dice.D4(2),
                                dice_wild=dice.D10(6),
                                dice_lair=dice.D10(6))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    special_abilities = SpecialAbilitySet((Darkvision, ))
    size = Size.Small
    weight = units.Pound(45)
    xp = 10
Example #12
0
class AssassinVine(Plant):
    name = "Assassin Vine"
    hit_dice = dice.D8(6)

    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [
        AttackSet(Crush(dice.D8(1)),
                  special_properties=(CrushingEntanglement, ))
    ]
    base_armor_class = 15
    morale = 12
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(5))
    no_appearing = AppearingSet(dice_dungeon=dice.D4(1, 1))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    size = Size.Small
    treasure_type = TreasureType.U
    weight = units.Pound(15)
    xp = 500
Example #13
0
class Skeleton(Undead):
    name = "Skeleton"
    hit_dice = dice.D8(1)

    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    base_armor_class = 13
    morale = 12
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(40))
    no_appearing = AppearingSet(dice_dungeon=dice.D6(3), dice_wild=dice.D10(3))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    size = Size.Medium
    special_abilities = (specialabilities.EdgedWeaponResistance,
                         specialabilities.ProjectileResistance,
                         specialabilities.SleepImmunity,
                         specialabilities.CharmImmunity,
                         specialabilities.HoldImmunity,
                         specialabilities.Mindless)
    treasure_type = None
    weight = units.Pound(100)
    xp = 25
Example #14
0
class PolarBear(Bear):
    name = "Polar Bear"
    hit_dice = dice.D8(6)
    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [
        AttackChain(
            AttackSet(Claw(dice.D6(1)), amount=2, special_properties=specialproperties.BearHug),
            AttackSet(Bite(dice.D10(1)))
        ),
        AttackSet(Crush(dice.D8(2)))
    ]
    base_armor_class = 14

    morale = 8
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(40))
    no_appearing = AppearingSet(dice_dungeon=dice.D1(1), dice_wild=dice.D2(1), dice_lair=dice.D2(1))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    special_abilities = SpecialAbilitySet((LastBreath,))
    size = Size.Large
    weight = units.Pound(992)
    xp = 500
Example #15
0
class Basilisk(Reptilian):
    name = "Basilisk"
    hit_dice = dice.D8(6)

    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [
        AttackSet(Bite(dice.D10(1))),
        AttackSet(Gaze(None), special_properties=specialproperties.Petrify)
    ]
    base_armor_class = 16
    morale = 9
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(20),
                                    turning_distance=units.Feet(10))
    no_appearing = AppearingSet(dice_dungeon=dice.D6(1),
                                dice_wild=dice.D6(1),
                                dice_lair=dice.D6(1))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    size = Size.Large
    special_abilities = specialabilities.CombatFrenzy,
    treasure_type = TreasureType.F
    weight = units.Pound(300)
    xp = 610
Example #16
0
class CaveBear(Animal):
    name = "Cave Bear"
    hit_dice = dice.D8(7)
    attack_bonus = AttackBonusTable.get_by_hit_dice(hit_dice.amount)
    attack_sets = [
        AttackChain(
            AttackSet(Claw(dice.D8(1)),
                      amount=2,
                      special_properties=specialproperties.BearHug),
            AttackSet(Bite(dice.D6(2)))),
        AttackSet(Crush(dice.D8(2)))
    ]
    base_armor_class = 15

    morale = 9
    movement = movement.MovementSet(walk=units.FeetPerGameTurn(40))
    no_appearing = AppearingSet(dice_dungeon=dice.D2(1),
                                dice_wild=dice.D2(1),
                                dice_lair=dice.D2(1))
    save_as = Fighter.level_table.levels[hit_dice.amount].saving_throws_set
    special_abilities = SpecialAbilitySet((LastBreath, ))
    xp = 670