Beispiel #1
0
class Fighter(CharacterClass):
    name = "Fighter"
    restriction_set = restrictions.RestrictionSet(
        ability_score=restrictions.AbilityScoreRestrictionSet(
            minimum_set=abilityscores.AbilityScoreSet(strength=9)), )
    level_table = LevelTable(
        levels=(Level(value=1,
                      attack_bonus=1,
                      experience_required=0,
                      hit_dice=dice.D8(1),
                      saving_throws_set=SavingThrowSet(death_poison=12,
                                                       dragon_breath=15,
                                                       paralysis_stone=14,
                                                       spells=17,
                                                       wands=13)),
                Level(
                    value=2,
                    attack_bonus=1,
                    experience_required=2000,
                    hit_dice=dice.D8(2),
                    saving_throws_set=SavingThrowSet(death_poison=11,
                                                     dragon_breath=15,
                                                     paralysis_stone=14,
                                                     spells=16,
                                                     wands=12),
                ),
                Level(
                    value=3,
                    attack_bonus=1,
                    experience_required=4000,
                    hit_dice=dice.D8(3),
                    saving_throws_set=SavingThrowSet(death_poison=11,
                                                     dragon_breath=15,
                                                     paralysis_stone=14,
                                                     spells=16,
                                                     wands=12),
                ),
                Level(
                    value=4,
                    attack_bonus=3,
                    experience_required=8000,
                    hit_dice=dice.D8(4),
                    saving_throws_set=SavingThrowSet(death_poison=11,
                                                     dragon_breath=14,
                                                     paralysis_stone=13,
                                                     spells=15,
                                                     wands=11),
                ),
                Level(
                    value=5,
                    attack_bonus=4,
                    experience_required=16000,
                    hit_dice=dice.D8(5),
                    saving_throws_set=SavingThrowSet(death_poison=11,
                                                     dragon_breath=14,
                                                     paralysis_stone=13,
                                                     spells=15,
                                                     wands=11),
                ),
                Level(
                    value=6,
                    attack_bonus=4,
                    experience_required=32000,
                    hit_dice=dice.D8(6),
                    saving_throws_set=SavingThrowSet(death_poison=10,
                                                     dragon_breath=14,
                                                     paralysis_stone=12,
                                                     spells=15,
                                                     wands=11),
                ),
                Level(
                    value=7,
                    attack_bonus=5,
                    experience_required=64000,
                    hit_dice=dice.D8(7),
                    saving_throws_set=SavingThrowSet(death_poison=10,
                                                     dragon_breath=14,
                                                     paralysis_stone=12,
                                                     spells=15,
                                                     wands=11),
                ),
                Level(
                    value=8,
                    attack_bonus=6,
                    experience_required=120000,
                    hit_dice=dice.D8(8),
                    saving_throws_set=SavingThrowSet(death_poison=9,
                                                     dragon_breath=13,
                                                     paralysis_stone=12,
                                                     spells=14,
                                                     wands=10),
                ),
                Level(
                    value=9,
                    attack_bonus=6,
                    experience_required=240000,
                    hit_dice=dice.D8(9),
                    saving_throws_set=SavingThrowSet(death_poison=9,
                                                     dragon_breath=13,
                                                     paralysis_stone=12,
                                                     spells=14,
                                                     wands=10),
                ),
                Level(
                    value=10,
                    attack_bonus=6,
                    experience_required=360000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=2,
                    saving_throws_set=SavingThrowSet(death_poison=9,
                                                     dragon_breath=12,
                                                     paralysis_stone=11,
                                                     spells=13,
                                                     wands=9),
                ),
                Level(
                    value=11,
                    attack_bonus=7,
                    experience_required=480000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=4,
                    saving_throws_set=SavingThrowSet(death_poison=9,
                                                     dragon_breath=12,
                                                     paralysis_stone=11,
                                                     spells=13,
                                                     wands=9),
                ),
                Level(
                    value=12,
                    attack_bonus=7,
                    experience_required=600000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=6,
                    saving_throws_set=SavingThrowSet(death_poison=8,
                                                     dragon_breath=12,
                                                     paralysis_stone=10,
                                                     spells=13,
                                                     wands=9),
                ),
                Level(
                    value=13,
                    attack_bonus=8,
                    experience_required=720000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=8,
                    saving_throws_set=SavingThrowSet(death_poison=8,
                                                     dragon_breath=12,
                                                     paralysis_stone=10,
                                                     spells=13,
                                                     wands=9),
                ),
                Level(
                    value=14,
                    attack_bonus=8,
                    experience_required=840000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=10,
                    saving_throws_set=SavingThrowSet(death_poison=7,
                                                     dragon_breath=11,
                                                     paralysis_stone=10,
                                                     spells=12,
                                                     wands=8),
                ),
                Level(
                    value=15,
                    attack_bonus=8,
                    experience_required=960000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=12,
                    saving_throws_set=SavingThrowSet(death_poison=7,
                                                     dragon_breath=11,
                                                     paralysis_stone=10,
                                                     spells=12,
                                                     wands=8),
                ),
                Level(
                    value=16,
                    attack_bonus=9,
                    experience_required=1080000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=14,
                    saving_throws_set=SavingThrowSet(death_poison=7,
                                                     dragon_breath=10,
                                                     paralysis_stone=9,
                                                     spells=11,
                                                     wands=7),
                ),
                Level(
                    value=17,
                    attack_bonus=9,
                    experience_required=1200000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=16,
                    saving_throws_set=SavingThrowSet(death_poison=7,
                                                     dragon_breath=10,
                                                     paralysis_stone=9,
                                                     spells=11,
                                                     wands=7),
                ),
                Level(
                    value=18,
                    attack_bonus=10,
                    experience_required=1320000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=18,
                    saving_throws_set=SavingThrowSet(death_poison=6,
                                                     dragon_breath=10,
                                                     paralysis_stone=8,
                                                     spells=11,
                                                     wands=7),
                ),
                Level(
                    value=19,
                    attack_bonus=10,
                    experience_required=1440000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=20,
                    saving_throws_set=SavingThrowSet(death_poison=6,
                                                     dragon_breath=10,
                                                     paralysis_stone=8,
                                                     spells=11,
                                                     wands=7),
                ),
                Level(
                    value=20,
                    attack_bonus=10,
                    experience_required=1560000,
                    hit_dice=dice.D8(9),
                    hit_dice_flat_bonus=22,
                    saving_throws_set=SavingThrowSet(death_poison=5,
                                                     dragon_breath=9,
                                                     paralysis_stone=8,
                                                     spells=10,
                                                     wands=6),
                )))
Beispiel #2
0
class Cleric(CharacterClass):
    name = "Cleric"
    restriction_set = restrictions.RestrictionSet(
        ability_score=restrictions.AbilityScoreRestrictionSet(
            minimum_set=abilityscores.AbilityScoreSet(wisdom=9)),
        weapons=restrictions.WeaponRestrictionSet(
            included=(weapons.types.Club, weapons.types.Mace,
                      weapons.types.Maul, weapons.types.Quarterstaff,
                      weapons.types.Sling, weapons.types.Warhammer)))
    special_abilities = specialabilities.SpecialAbilitySet(
        special_abilities=(specialabilities.DivineCaster,
                           specialabilities.TurnUndead))
    level_table = LevelTable(levels=(
        Level(value=1,
              attack_bonus=1,
              experience_required=0,
              hit_dice=dice.D6(1),
              saving_throws_set=SavingThrowSet(death_poison=11,
                                               dragon_breath=16,
                                               paralysis_stone=14,
                                               spells=15,
                                               wands=12)),
        Level(value=2,
              attack_bonus=1,
              experience_required=1500,
              hit_dice=dice.D6(2),
              saving_throws_set=SavingThrowSet(death_poison=10,
                                               dragon_breath=15,
                                               paralysis_stone=13,
                                               spells=14,
                                               wands=11),
              spell_slots_set=SpellSlotSet(level_1=1)),
        Level(value=3,
              attack_bonus=2,
              experience_required=3000,
              hit_dice=dice.D6(3),
              saving_throws_set=SavingThrowSet(death_poison=10,
                                               dragon_breath=15,
                                               paralysis_stone=13,
                                               spells=14,
                                               wands=11),
              spell_slots_set=SpellSlotSet(level_1=2)),
        Level(value=4,
              attack_bonus=2,
              experience_required=6000,
              hit_dice=dice.D6(4),
              saving_throws_set=SavingThrowSet(death_poison=9,
                                               dragon_breath=15,
                                               paralysis_stone=13,
                                               spells=14,
                                               wands=10),
              spell_slots_set=SpellSlotSet(level_1=2, level_2=1)),
        Level(value=5,
              attack_bonus=3,
              experience_required=12000,
              hit_dice=dice.D6(5),
              saving_throws_set=SavingThrowSet(death_poison=9,
                                               dragon_breath=15,
                                               paralysis_stone=13,
                                               spells=14,
                                               wands=10),
              spell_slots_set=SpellSlotSet(level_1=2, level_2=2)),
        Level(value=6,
              attack_bonus=3,
              experience_required=24000,
              hit_dice=dice.D6(6),
              saving_throws_set=SavingThrowSet(death_poison=9,
                                               dragon_breath=14,
                                               paralysis_stone=12,
                                               spells=13,
                                               wands=10),
              spell_slots_set=SpellSlotSet(level_1=2, level_2=2, level_3=1)),
        Level(value=7,
              attack_bonus=4,
              experience_required=48000,
              hit_dice=dice.D6(7),
              saving_throws_set=SavingThrowSet(death_poison=9,
                                               dragon_breath=14,
                                               paralysis_stone=12,
                                               spells=13,
                                               wands=10),
              spell_slots_set=SpellSlotSet(level_1=3, level_2=2, level_3=2)),
        Level(value=8,
              attack_bonus=4,
              experience_required=90000,
              hit_dice=dice.D6(8),
              saving_throws_set=SavingThrowSet(death_poison=8,
                                               dragon_breath=14,
                                               paralysis_stone=12,
                                               spells=13,
                                               wands=9),
              spell_slots_set=SpellSlotSet(
                  level_1=3, level_2=2, level_3=2, level_4=1)),
        Level(value=9,
              attack_bonus=5,
              experience_required=180000,
              hit_dice=dice.D6(9),
              saving_throws_set=SavingThrowSet(death_poison=8,
                                               dragon_breath=14,
                                               paralysis_stone=12,
                                               spells=13,
                                               wands=9),
              spell_slots_set=SpellSlotSet(
                  level_1=3, level_2=3, level_3=2, level_4=2)),
        Level(value=10,
              attack_bonus=5,
              experience_required=270000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=1,
              saving_throws_set=SavingThrowSet(death_poison=8,
                                               dragon_breath=13,
                                               paralysis_stone=11,
                                               spells=12,
                                               wands=9),
              spell_slots_set=SpellSlotSet(
                  level_1=3, level_2=3, level_3=2, level_4=2, level_5=1)),
        Level(value=11,
              attack_bonus=5,
              experience_required=360000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=2,
              saving_throws_set=SavingThrowSet(death_poison=8,
                                               dragon_breath=13,
                                               paralysis_stone=11,
                                               spells=12,
                                               wands=9),
              spell_slots_set=SpellSlotSet(
                  level_1=4, level_2=3, level_3=3, level_4=2, level_5=2)),
        Level(value=12,
              attack_bonus=6,
              experience_required=450000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=3,
              saving_throws_set=SavingThrowSet(death_poison=7,
                                               dragon_breath=13,
                                               paralysis_stone=11,
                                               spells=12,
                                               wands=8),
              spell_slots_set=SpellSlotSet(level_1=4,
                                           level_2=4,
                                           level_3=3,
                                           level_4=2,
                                           level_5=2,
                                           level_6=1)),
        Level(value=13,
              attack_bonus=6,
              experience_required=540000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=4,
              saving_throws_set=SavingThrowSet(death_poison=7,
                                               dragon_breath=13,
                                               paralysis_stone=11,
                                               spells=12,
                                               wands=8),
              spell_slots_set=SpellSlotSet(level_1=4,
                                           level_2=4,
                                           level_3=3,
                                           level_4=3,
                                           level_5=2,
                                           level_6=2)),
        Level(value=14,
              attack_bonus=6,
              experience_required=630000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=5,
              saving_throws_set=SavingThrowSet(death_poison=7,
                                               dragon_breath=12,
                                               paralysis_stone=10,
                                               spells=11,
                                               wands=8),
              spell_slots_set=SpellSlotSet(level_1=4,
                                           level_2=4,
                                           level_3=4,
                                           level_4=3,
                                           level_5=2,
                                           level_6=2)),
        Level(value=15,
              attack_bonus=7,
              experience_required=720000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=6,
              saving_throws_set=SavingThrowSet(death_poison=7,
                                               dragon_breath=12,
                                               paralysis_stone=10,
                                               spells=11,
                                               wands=8),
              spell_slots_set=SpellSlotSet(level_1=4,
                                           level_2=4,
                                           level_3=4,
                                           level_4=3,
                                           level_5=3,
                                           level_6=2)),
        Level(value=16,
              attack_bonus=7,
              experience_required=810000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=7,
              saving_throws_set=SavingThrowSet(death_poison=6,
                                               dragon_breath=12,
                                               paralysis_stone=10,
                                               spells=11,
                                               wands=7),
              spell_slots_set=SpellSlotSet(level_1=5,
                                           level_2=4,
                                           level_3=4,
                                           level_4=3,
                                           level_5=3,
                                           level_6=2)),
        Level(value=17,
              attack_bonus=7,
              experience_required=900000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=8,
              saving_throws_set=SavingThrowSet(death_poison=6,
                                               dragon_breath=12,
                                               paralysis_stone=10,
                                               spells=11,
                                               wands=7),
              spell_slots_set=SpellSlotSet(level_1=5,
                                           level_2=5,
                                           level_3=4,
                                           level_4=3,
                                           level_5=3,
                                           level_6=2)),
        Level(value=18,
              attack_bonus=8,
              experience_required=990000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=9,
              saving_throws_set=SavingThrowSet(death_poison=6,
                                               dragon_breath=11,
                                               paralysis_stone=9,
                                               spells=10,
                                               wands=7),
              spell_slots_set=SpellSlotSet(level_1=5,
                                           level_2=5,
                                           level_3=4,
                                           level_4=4,
                                           level_5=3,
                                           level_6=3)),
        Level(value=19,
              attack_bonus=8,
              experience_required=1080000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=10,
              saving_throws_set=SavingThrowSet(death_poison=6,
                                               dragon_breath=11,
                                               paralysis_stone=9,
                                               spells=10,
                                               wands=7),
              spell_slots_set=SpellSlotSet(level_1=6,
                                           level_2=5,
                                           level_3=4,
                                           level_4=4,
                                           level_5=3,
                                           level_6=3)),
        Level(value=20,
              attack_bonus=8,
              experience_required=1170000,
              hit_dice=dice.D6(9),
              hit_dice_flat_bonus=11,
              saving_throws_set=SavingThrowSet(death_poison=5,
                                               dragon_breath=11,
                                               paralysis_stone=9,
                                               spells=10,
                                               wands=6),
              spell_slots_set=SpellSlotSet(level_1=6,
                                           level_2=5,
                                           level_3=5,
                                           level_4=4,
                                           level_5=3,
                                           level_6=3))))
Beispiel #3
0
class Thief(CharacterClass):
    name = "Thief"
    restriction_set = restrictions.RestrictionSet(
        ability_score=restrictions.AbilityScoreRestrictionSet(
            minimum_set=abilityscores.AbilityScoreSet(dexterity=9)),
        armor=restrictions.ArmorRestrictionSet(
            included=(armor.types.Clothing, armor.types.LightArmor)))
    special_abilities = specialabilities.SpecialAbilitySet(
        (specialabilities.SneakAttack))
    level_table = LevelTable(
        levels=(Level(value=1,
                      attack_bonus=1,
                      experience_required=0,
                      hit_dice=dice.D4(1),
                      saving_throws_set=SavingThrowSet(death_poison=13,
                                                       dragon_breath=16,
                                                       paralysis_stone=13,
                                                       spells=15,
                                                       wands=14),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(80),
                          specialabilities.Hide(10),
                          specialabilities.Listen(30),
                          specialabilities.MoveSilently(25),
                          specialabilities.OpenLock(25),
                          specialabilities.RemoveTraps(20),
                          specialabilities.PickPockets(30),
                      ))),
                Level(value=2,
                      attack_bonus=1,
                      experience_required=1500,
                      hit_dice=dice.D4(2),
                      saving_throws_set=SavingThrowSet(death_poison=12,
                                                       dragon_breath=15,
                                                       paralysis_stone=12,
                                                       spells=14,
                                                       wands=14),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(81),
                          specialabilities.Hide(15),
                          specialabilities.Listen(34),
                          specialabilities.MoveSilently(30),
                          specialabilities.OpenLock(30),
                          specialabilities.RemoveTraps(25),
                          specialabilities.PickPockets(35),
                      ))),
                Level(value=3,
                      attack_bonus=2,
                      experience_required=3000,
                      hit_dice=dice.D4(3),
                      saving_throws_set=SavingThrowSet(death_poison=12,
                                                       dragon_breath=15,
                                                       paralysis_stone=12,
                                                       spells=14,
                                                       wands=14),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(82),
                          specialabilities.Hide(20),
                          specialabilities.Listen(38),
                          specialabilities.MoveSilently(35),
                          specialabilities.OpenLock(35),
                          specialabilities.RemoveTraps(30),
                          specialabilities.PickPockets(40),
                      ))),
                Level(value=4,
                      attack_bonus=2,
                      experience_required=6000,
                      hit_dice=dice.D4(4),
                      saving_throws_set=SavingThrowSet(death_poison=11,
                                                       dragon_breath=14,
                                                       paralysis_stone=12,
                                                       spells=13,
                                                       wands=13),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(83),
                          specialabilities.Hide(25),
                          specialabilities.Listen(42),
                          specialabilities.MoveSilently(40),
                          specialabilities.OpenLock(40),
                          specialabilities.RemoveTraps(35),
                          specialabilities.PickPockets(45),
                      ))),
                Level(value=5,
                      attack_bonus=3,
                      experience_required=12000,
                      hit_dice=dice.D4(5),
                      saving_throws_set=SavingThrowSet(death_poison=11,
                                                       dragon_breath=14,
                                                       paralysis_stone=12,
                                                       spells=13,
                                                       wands=13),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(84),
                          specialabilities.Hide(30),
                          specialabilities.Listen(46),
                          specialabilities.MoveSilently(45),
                          specialabilities.OpenLock(45),
                          specialabilities.RemoveTraps(40),
                          specialabilities.PickPockets(50),
                      ))),
                Level(value=6,
                      attack_bonus=3,
                      experience_required=24000,
                      hit_dice=dice.D4(6),
                      saving_throws_set=SavingThrowSet(death_poison=11,
                                                       dragon_breath=13,
                                                       paralysis_stone=11,
                                                       spells=13,
                                                       wands=13),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(85),
                          specialabilities.Hide(35),
                          specialabilities.Listen(50),
                          specialabilities.MoveSilently(50),
                          specialabilities.OpenLock(50),
                          specialabilities.RemoveTraps(45),
                          specialabilities.PickPockets(55),
                      ))),
                Level(value=7,
                      attack_bonus=4,
                      experience_required=48000,
                      hit_dice=dice.D4(7),
                      saving_throws_set=SavingThrowSet(death_poison=11,
                                                       dragon_breath=13,
                                                       paralysis_stone=11,
                                                       spells=13,
                                                       wands=13),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(86),
                          specialabilities.Hide(40),
                          specialabilities.Listen(54),
                          specialabilities.MoveSilently(55),
                          specialabilities.OpenLock(55),
                          specialabilities.RemoveTraps(50),
                          specialabilities.PickPockets(60),
                      ))),
                Level(value=8,
                      attack_bonus=4,
                      experience_required=90000,
                      hit_dice=dice.D4(8),
                      saving_throws_set=SavingThrowSet(death_poison=10,
                                                       dragon_breath=12,
                                                       paralysis_stone=11,
                                                       spells=12,
                                                       wands=12),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(87),
                          specialabilities.Hide(45),
                          specialabilities.Listen(58),
                          specialabilities.MoveSilently(60),
                          specialabilities.OpenLock(60),
                          specialabilities.RemoveTraps(55),
                          specialabilities.PickPockets(65),
                      ))),
                Level(value=9,
                      attack_bonus=5,
                      experience_required=180000,
                      hit_dice=dice.D4(9),
                      saving_throws_set=SavingThrowSet(death_poison=10,
                                                       dragon_breath=12,
                                                       paralysis_stone=11,
                                                       spells=12,
                                                       wands=12),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(88),
                          specialabilities.Hide(50),
                          specialabilities.Listen(62),
                          specialabilities.MoveSilently(65),
                          specialabilities.OpenLock(65),
                          specialabilities.RemoveTraps(60),
                          specialabilities.PickPockets(70),
                      ))),
                Level(value=10,
                      attack_bonus=5,
                      experience_required=270000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=2,
                      saving_throws_set=SavingThrowSet(death_poison=9,
                                                       dragon_breath=11,
                                                       paralysis_stone=10,
                                                       spells=11,
                                                       wands=12),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(89),
                          specialabilities.Hide(53),
                          specialabilities.Listen(65),
                          specialabilities.MoveSilently(68),
                          specialabilities.OpenLock(68),
                          specialabilities.RemoveTraps(63),
                          specialabilities.PickPockets(74),
                      ))),
                Level(value=11,
                      attack_bonus=5,
                      experience_required=360000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=4,
                      saving_throws_set=SavingThrowSet(death_poison=9,
                                                       dragon_breath=11,
                                                       paralysis_stone=10,
                                                       spells=11,
                                                       wands=12),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(90),
                          specialabilities.Hide(56),
                          specialabilities.Listen(68),
                          specialabilities.MoveSilently(71),
                          specialabilities.OpenLock(71),
                          specialabilities.RemoveTraps(66),
                          specialabilities.PickPockets(78),
                      ))),
                Level(value=12,
                      attack_bonus=6,
                      experience_required=450000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=6,
                      saving_throws_set=SavingThrowSet(death_poison=9,
                                                       dragon_breath=10,
                                                       paralysis_stone=10,
                                                       spells=11,
                                                       wands=10),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(91),
                          specialabilities.Hide(59),
                          specialabilities.Listen(71),
                          specialabilities.MoveSilently(74),
                          specialabilities.OpenLock(74),
                          specialabilities.RemoveTraps(69),
                          specialabilities.PickPockets(82),
                      ))),
                Level(value=13,
                      attack_bonus=6,
                      experience_required=540000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=8,
                      saving_throws_set=SavingThrowSet(death_poison=9,
                                                       dragon_breath=10,
                                                       paralysis_stone=10,
                                                       spells=11,
                                                       wands=10),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(92),
                          specialabilities.Hide(62),
                          specialabilities.Listen(74),
                          specialabilities.MoveSilently(77),
                          specialabilities.OpenLock(77),
                          specialabilities.RemoveTraps(72),
                          specialabilities.PickPockets(86),
                      ))),
                Level(value=14,
                      attack_bonus=6,
                      experience_required=630000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=10,
                      saving_throws_set=SavingThrowSet(death_poison=8,
                                                       dragon_breath=9,
                                                       paralysis_stone=9,
                                                       spells=10,
                                                       wands=10),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(93),
                          specialabilities.Hide(65),
                          specialabilities.Listen(77),
                          specialabilities.MoveSilently(80),
                          specialabilities.OpenLock(80),
                          specialabilities.RemoveTraps(75),
                          specialabilities.PickPockets(90),
                      ))),
                Level(value=15,
                      attack_bonus=7,
                      experience_required=720000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=12,
                      saving_throws_set=SavingThrowSet(death_poison=8,
                                                       dragon_breath=9,
                                                       paralysis_stone=9,
                                                       spells=10,
                                                       wands=10),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(94),
                          specialabilities.Hide(68),
                          specialabilities.Listen(80),
                          specialabilities.MoveSilently(83),
                          specialabilities.OpenLock(83),
                          specialabilities.RemoveTraps(78),
                          specialabilities.PickPockets(94),
                      ))),
                Level(value=16,
                      attack_bonus=7,
                      experience_required=810000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=14,
                      saving_throws_set=SavingThrowSet(death_poison=7,
                                                       dragon_breath=8,
                                                       paralysis_stone=9,
                                                       spells=9,
                                                       wands=9),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(95),
                          specialabilities.Hide(69),
                          specialabilities.Listen(83),
                          specialabilities.MoveSilently(85),
                          specialabilities.OpenLock(84),
                          specialabilities.RemoveTraps(79),
                          specialabilities.PickPockets(95),
                      ))),
                Level(value=17,
                      attack_bonus=7,
                      experience_required=900000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=16,
                      saving_throws_set=SavingThrowSet(death_poison=7,
                                                       dragon_breath=8,
                                                       paralysis_stone=9,
                                                       spells=9,
                                                       wands=9),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(96),
                          specialabilities.Hide(70),
                          specialabilities.Listen(86),
                          specialabilities.MoveSilently(87),
                          specialabilities.OpenLock(85),
                          specialabilities.RemoveTraps(80),
                          specialabilities.PickPockets(96),
                      ))),
                Level(value=18,
                      attack_bonus=8,
                      experience_required=990000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=18,
                      saving_throws_set=SavingThrowSet(death_poison=7,
                                                       dragon_breath=7,
                                                       paralysis_stone=8,
                                                       spells=9,
                                                       wands=9),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(97),
                          specialabilities.Hide(71),
                          specialabilities.Listen(89),
                          specialabilities.MoveSilently(89),
                          specialabilities.OpenLock(86),
                          specialabilities.RemoveTraps(81),
                          specialabilities.PickPockets(97),
                      ))),
                Level(value=19,
                      attack_bonus=8,
                      experience_required=1080000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=20,
                      saving_throws_set=SavingThrowSet(death_poison=7,
                                                       dragon_breath=7,
                                                       paralysis_stone=8,
                                                       spells=9,
                                                       wands=9),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(98),
                          specialabilities.Hide(72),
                          specialabilities.Listen(92),
                          specialabilities.MoveSilently(91),
                          specialabilities.OpenLock(87),
                          specialabilities.RemoveTraps(82),
                          specialabilities.PickPockets(98),
                      ))),
                Level(value=20,
                      attack_bonus=8,
                      experience_required=1170000,
                      hit_dice=dice.D4(9),
                      hit_dice_flat_bonus=22,
                      saving_throws_set=SavingThrowSet(death_poison=6,
                                                       dragon_breath=6,
                                                       paralysis_stone=8,
                                                       spells=8,
                                                       wands=8),
                      special_ability_set=specialabilities.SpecialAbilitySet((
                          specialabilities.ClimbWalls(99),
                          specialabilities.Hide(73),
                          specialabilities.Listen(95),
                          specialabilities.MoveSilently(93),
                          specialabilities.OpenLock(88),
                          specialabilities.RemoveTraps(83),
                          specialabilities.PickPockets(99),
                      )))))
Beispiel #4
0
class MagicUser(CharacterClass):
    name = "Magic-User"
    restriction_set = restrictions.RestrictionSet(
        ability_score=restrictions.AbilityScoreRestrictionSet(
            minimum_set=abilityscores.AbilityScoreSet(intelligence=9)
        ),
        armor=restrictions.ArmorRestrictionSet(included=(armor.types.Clothing, ), shields=False),
        weapons=restrictions.WeaponRestrictionSet(
            included=(
                weapons.types.Dagger,
                weapons.types.Cudgel,
                weapons.types.WalkingStaff,
            )
        )
    )
    special_abilities = specialabilities.SpecialAbilitySet(
        special_abilities=(
            specialabilities.ArcaneCaster,
            specialabilities.ReadMagic
        )
    )
    level_table = LevelTable(
        levels=(
            Level(
                value=1,
                attack_bonus=1,
                experience_required=0,
                hit_dice=dice.D4(1),
                saving_throws_set=SavingThrowSet(
                    death_poison=13,
                    dragon_breath=16,
                    paralysis_stone=13,
                    spells=15,
                    wands=14
                ),
                spell_slots_set=SpellSlotSet(level_1=1)
            ),
            Level(
                value=2,
                attack_bonus=1,
                experience_required=2500,
                hit_dice=dice.D4(2),
                saving_throws_set=SavingThrowSet(
                    death_poison=13,
                    dragon_breath=15,
                    paralysis_stone=13,
                    spells=14,
                    wands=14
                ),
                spell_slots_set=SpellSlotSet(level_1=2)
            ),
            Level(
                value=3,
                attack_bonus=1,
                experience_required=5000,
                hit_dice=dice.D4(3),
                saving_throws_set=SavingThrowSet(
                    death_poison=13,
                    dragon_breath=15,
                    paralysis_stone=13,
                    spells=14,
                    wands=14
                ),
                spell_slots_set=SpellSlotSet(level_1=2, level_2=1)
            ),
            Level(
                value=4,
                attack_bonus=2,
                experience_required=10000,
                hit_dice=dice.D4(4),
                saving_throws_set=SavingThrowSet(
                    death_poison=12,
                    dragon_breath=15,
                    paralysis_stone=12,
                    spells=13,
                    wands=13
                ),
                spell_slots_set=SpellSlotSet(level_1=2, level_2=2)
            ),
            Level(
                value=5,
                attack_bonus=2,
                experience_required=20000,
                hit_dice=dice.D4(5),
                saving_throws_set=SavingThrowSet(
                    death_poison=12,
                    dragon_breath=15,
                    paralysis_stone=12,
                    spells=13,
                    wands=13
                ),
                spell_slots_set=SpellSlotSet(level_1=2, level_2=2, level_3=1)
            ),
            Level(
                value=6,
                attack_bonus=3,
                experience_required=40000,
                hit_dice=dice.D4(6),
                saving_throws_set=SavingThrowSet(
                    death_poison=12,
                    dragon_breath=14,
                    paralysis_stone=11,
                    spells=13,
                    wands=12
                ),
                spell_slots_set=SpellSlotSet(level_1=3, level_2=2, level_3=2)
            ),
            Level(
                value=7,
                attack_bonus=3,
                experience_required=80000,
                hit_dice=dice.D4(7),
                saving_throws_set=SavingThrowSet(
                    death_poison=12,
                    dragon_breath=14,
                    paralysis_stone=11,
                    spells=13,
                    wands=12
                ),
                spell_slots_set=SpellSlotSet(level_1=3, level_2=2, level_3=2, level_4=1)
            ),
            Level(
                value=8,
                attack_bonus=3,
                experience_required=150000,
                hit_dice=dice.D4(8),
                saving_throws_set=SavingThrowSet(
                    death_poison=11,
                    dragon_breath=14,
                    paralysis_stone=10,
                    spells=12,
                    wands=11
                ),
                spell_slots_set=SpellSlotSet(level_1=3, level_2=3, level_3=2, level_4=2)
            ),
            Level(
                value=9,
                attack_bonus=4,
                experience_required=300000,
                hit_dice=dice.D4(9),
                saving_throws_set=SavingThrowSet(
                    death_poison=11,
                    dragon_breath=14,
                    paralysis_stone=10,
                    spells=12,
                    wands=11
                ),
                spell_slots_set=SpellSlotSet(level_1=3, level_2=3, level_3=2, level_4=2, level_5=1)
            ),
            Level(
                value=10,
                attack_bonus=4,
                experience_required=450000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=1,
                saving_throws_set=SavingThrowSet(
                    death_poison=11,
                    dragon_breath=13,
                    paralysis_stone=9,
                    spells=11,
                    wands=10
                ),
                spell_slots_set=SpellSlotSet(level_1=4, level_2=3, level_3=3, level_4=2, level_5=2)
            ),
            Level(
                value=11,
                attack_bonus=4,
                experience_required=600000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=2,
                saving_throws_set=SavingThrowSet(
                    death_poison=11,
                    dragon_breath=13,
                    paralysis_stone=9,
                    spells=11,
                    wands=10
                ),
                spell_slots_set=SpellSlotSet(level_1=4, level_2=4, level_3=3, level_4=2, level_5=2, level_6=1)
            ),
            Level(
                value=12,
                attack_bonus=4,
                experience_required=750000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=3,
                saving_throws_set=SavingThrowSet(
                    death_poison=10,
                    dragon_breath=13,
                    paralysis_stone=9,
                    spells=11,
                    wands=10
                ),
                spell_slots_set=SpellSlotSet(level_1=4, level_2=4, level_3=3, level_4=3, level_5=2, level_6=2)
            ),
            Level(
                value=13,
                attack_bonus=5,
                experience_required=900000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=4,
                saving_throws_set=SavingThrowSet(
                    death_poison=10,
                    dragon_breath=13,
                    paralysis_stone=9,
                    spells=11,
                    wands=10
                ),
                spell_slots_set=SpellSlotSet(level_1=4, level_2=4, level_3=4, level_4=3, level_5=2, level_6=2)
            ),
            Level(
                value=14,
                attack_bonus=5,
                experience_required=1050000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=5,
                saving_throws_set=SavingThrowSet(
                    death_poison=10,
                    dragon_breath=12,
                    paralysis_stone=8,
                    spells=10,
                    wands=9
                ),
                spell_slots_set=SpellSlotSet(level_1=4, level_2=4, level_3=4, level_4=3, level_5=3, level_6=2)
            ),
            Level(
                value=15,
                attack_bonus=5,
                experience_required=1200000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=6,
                saving_throws_set=SavingThrowSet(
                    death_poison=10,
                    dragon_breath=12,
                    paralysis_stone=8,
                    spells=10,
                    wands=9
                ),
                spell_slots_set=SpellSlotSet(level_1=5, level_2=4, level_3=4, level_4=3, level_5=3, level_6=2)
            ),
            Level(
                value=16,
                attack_bonus=6,
                experience_required=1350000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=7,
                saving_throws_set=SavingThrowSet(
                    death_poison=9,
                    dragon_breath=12,
                    paralysis_stone=7,
                    spells=9,
                    wands=8
                ),
                spell_slots_set=SpellSlotSet(level_1=5, level_2=5, level_3=4, level_4=3, level_5=3, level_6=2)
            ),
            Level(
                value=17,
                attack_bonus=6,
                experience_required=1500000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=8,
                saving_throws_set=SavingThrowSet(
                    death_poison=9,
                    dragon_breath=12,
                    paralysis_stone=7,
                    spells=9,
                    wands=8
                ),
                spell_slots_set=SpellSlotSet(level_1=5, level_2=5, level_3=4, level_4=4, level_5=3, level_6=3)
            ),
            Level(
                value=18,
                attack_bonus=6,
                experience_required=1650000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=9,
                saving_throws_set=SavingThrowSet(
                    death_poison=9,
                    dragon_breath=11,
                    paralysis_stone=6,
                    spells=9,
                    wands=7
                ),
                spell_slots_set=SpellSlotSet(level_1=6, level_2=5, level_3=4, level_4=4, level_5=3, level_6=3)
            ),
            Level(
                value=19,
                attack_bonus=7,
                experience_required=1800000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=10,
                saving_throws_set=SavingThrowSet(
                    death_poison=9,
                    dragon_breath=11,
                    paralysis_stone=6,
                    spells=9,
                    wands=7
                ),
                spell_slots_set=SpellSlotSet(level_1=6, level_2=5, level_3=5, level_4=4, level_5=3, level_6=3)
            ),
            Level(
                value=20,
                attack_bonus=7,
                experience_required=1950000,
                hit_dice=dice.D4(9),
                hit_dice_flat_bonus=11,
                saving_throws_set=SavingThrowSet(
                    death_poison=8,
                    dragon_breath=11,
                    paralysis_stone=5,
                    spells=8,
                    wands=6
                ),
                spell_slots_set=SpellSlotSet(level_1=6, level_2=5, level_3=5, level_4=4, level_5=4, level_6=3)
            )
        )
    )