| 1 |
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 2 |
#~ Imports |
|---|
| 3 |
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 4 |
|
|---|
| 5 |
from WheelOfTime import * |
|---|
| 6 |
|
|---|
| 7 |
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 8 |
#~ Definitions |
|---|
| 9 |
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 10 |
|
|---|
| 11 |
def alLarin(): |
|---|
| 12 |
char = Character() |
|---|
| 13 |
|
|---|
| 14 |
#~ Background ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 15 |
|
|---|
| 16 |
char.addAttributes([ |
|---|
| 17 |
'Shinarian', # 1pt |
|---|
| 18 |
'Commoner', # -1pt |
|---|
| 19 |
'Natural-Tallent', # 1pt, Note: in tactics -- accounted for below |
|---|
| 20 |
'Diligent-Student', # 2pts, Note: diligent student in weapons -- +1xp / year -- manually done |
|---|
| 21 |
'Sense Ta\'averen', # 1pt, Note: should be handy :) |
|---|
| 22 |
'Golden-Eyes', # 6pts, Note: Allocated below |
|---|
| 23 |
]) |
|---|
| 24 |
char.getSkill('tactics').naturaltalent = 1 # Accounts for "Natural Tallent" |
|---|
| 25 |
#char.getSkill('sword').naturaltalent = 1 # Accounts for "Natural Tallent" |
|---|
| 26 |
|
|---|
| 27 |
#~ Traits ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 28 |
|
|---|
| 29 |
# from Shinarian nationality |
|---|
| 30 |
char.addTrait('energetic') |
|---|
| 31 |
|
|---|
| 32 |
# Primary Traits: Mental -- 6 points |
|---|
| 33 |
char.addTraits(['empathetic', 'analytical', 'insightful', 'knowlegeable', 'experienced', 'alert']) |
|---|
| 34 |
|
|---|
| 35 |
# Secondary Traits: Physical -- 4 points |
|---|
| 36 |
char.addTraits(['agile', 'brawny', 'quick', 'tough']) |
|---|
| 37 |
|
|---|
| 38 |
# Tertiary Traits: Social -- 2 points |
|---|
| 39 |
char.addTraits(['commanding', 'charismatic']) |
|---|
| 40 |
|
|---|
| 41 |
# Exchanged traits |
|---|
| 42 |
char.addTraits(['robust', 'witty', 'mechanically-inclined'], -1) |
|---|
| 43 |
char.addTraits(['discerning', 'enigmatic', 'strong-willed'], 1) |
|---|
| 44 |
|
|---|
| 45 |
#~ Skills ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 46 |
|
|---|
| 47 |
# Shinarian skills -- commoner 20 SS |
|---|
| 48 |
char.addSkills([ |
|---|
| 49 |
Skill('Ride-Animal', 1), Skill('Etiquette', 1), Skill('Leadership', 1), Skill('Shortbow', 1), Skill('Sword', 1)]) |
|---|
| 50 |
|
|---|
| 51 |
# Child-year skills -- |
|---|
| 52 |
char.money = 20 # SS -- starting money for a commoner |
|---|
| 53 |
char.addSkills([ |
|---|
| 54 |
Skill('Carouse', 1), Skill('Consume-Alcohol', 1), Skill('Gambling', 1), Skill('Ride-Animal', 1), |
|---|
| 55 |
Skill('Rural-Stealth', 1), Skill('Survival', 1), Skill('Cooking', 1), Skill('Healing', 1), Skill('Tracking', 1)]) |
|---|
| 56 |
|
|---|
| 57 |
# Golden Eyes skills |
|---|
| 58 |
char.addSkills([ |
|---|
| 59 |
Skill('Sense-Deception', 10), Skill('Read-Emotions', 10), # 10 is level 3, which is equivalent to a +3 bonus as specified |
|---|
| 60 |
DreamSkill('Enter Tel\'aran\'rhoid', 4), DreamSkill('Control Self', 2), DreamSkill('Dream Travel', 2), |
|---|
| 61 |
DreamSkill('Manipulate Environment', 1), DreamSkill('Enter Dreams', 1), |
|---|
| 62 |
]) |
|---|
| 63 |
|
|---|
| 64 |
char.addEquipment('Large belt pouch', 0.1) |
|---|
| 65 |
char.addEquipment('Wool Cloak', 6.7) |
|---|
| 66 |
char.addEquipment('Wool Shirt', 4.4) |
|---|
| 67 |
char.addEquipment('Wool Pants', 4.5) |
|---|
| 68 |
char.addEquipment('Fish Hook (2)', 0.1) |
|---|
| 69 |
char.addEquipment('Flint', 0.05) |
|---|
| 70 |
char.addEquipment('Whetstone', 0.02) |
|---|
| 71 |
char.addEquipment('Wineskin', 0.8) |
|---|
| 72 |
char.addEquipment('Blanket', .5) |
|---|
| 73 |
|
|---|
| 74 |
# 14th-16th year -- starts life as a guard |
|---|
| 75 |
char.addYear('Guard', 5, [Skill('Sword', 1), Skill('Shortbow', 2), Skill('Hear-Noise', .5), Skill('Notice', .5), HobbySkill('Ride-Animal', 1)]) |
|---|
| 76 |
char.addEquipment('Shortbow', 2, 'First weapon!') |
|---|
| 77 |
char.addEquipment('Arrows (36)', 1.2) |
|---|
| 78 |
char.addEquipment('Quiver', 0.8) |
|---|
| 79 |
char.addYear('Guard', 5, [Skill('Sword', 1), Skill('Shortbow', 2), Skill('Hear-Noise', .5), Skill('Notice', .5), HobbySkill('Ride-Animal', .5), HobbySkill('Consume-Alcohol', .5)]) |
|---|
| 80 |
char.addEquipment('Leather Armor', 5.0) |
|---|
| 81 |
char.addYear('Guard', 5, [Skill('Sword', 1.5), Skill('Shortbow', 1.5), Skill('Leadership', .5), Skill('Interrogate', .5), HobbySkill('Ride-Animal', .5), HobbySkill('Consume-Alcohol', .5)]) |
|---|
| 82 |
char.addEquipment('High Hard Boots', 6.0) |
|---|
| 83 |
# 17th year -- decides to become a soldier and starts training by running and jumping |
|---|
| 84 |
char.addYear('Guard', 5, [Skill('Sword', 1), Skill('Shortbow', 1), Skill('Leadership', 1), Skill('Persuade', .5), Skill('Interrogate', .5), HobbySkill('Run', .5), HobbySkill('Jump', .5)]) |
|---|
| 85 |
char.addYear('Guard', 5, [Skill('Sword', 1), Skill('Shortbow', 1), Skill('Leadership', 1.5), Skill('Persuade', .5), HobbySkill('Run', .5), HobbySkill('Jump', .5)]) |
|---|
| 86 |
|
|---|
| 87 |
char.addEquipment('Shortsword', 0, 'Free from service as a guard') |
|---|
| 88 |
char.addEquipment('Dagger', 2) |
|---|
| 89 |
|
|---|
| 90 |
# 19th-21st year -- Becomes a soldier, and sets sights on becoming a seargent. Takes an interest in Tactics, and starts training on Lance to accomplish goals. |
|---|
| 91 |
char.addYear('Soldier:Grunt', 5, [Skill('Sword', 1.5), Skill('Lance', 2), Skill('Dagger', .5), HobbySkill('Tactics', .5), HobbySkill('Ride-Animal', .5)]) |
|---|
| 92 |
char.addYear('Soldier:Grunt', 5, [Skill('Sword', 1), Skill('Lance', 2), Skill('Shortbow', .5), Skill('Dagger', .5), HobbySkill('Tactics', 0.5), HobbySkill('First-Impression', 0.5)]) |
|---|
| 93 |
char.addYear('Soldier:Grunt', 5, [Skill('Sword', 1), Skill('Lance', 2), Skill('Shortbow', 1), HobbySkill('Tactics', 0.5), HobbySkill('First-Impression', 0.5)]) |
|---|
| 94 |
|
|---|
| 95 |
# 22nd-27th year -- Becomes a Seargent, and immediately sets out on the path to becoming an officer |
|---|
| 96 |
char.addEquipment('Smoking pipe', 0.2) |
|---|
| 97 |
char.addEquipment('Tabac', 0.5) |
|---|
| 98 |
char.addYear('Soldier:Seargent', 10, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Sword', 1), Skill('Lance', 1.5), HobbySkill('Ride-Animal', .5), DreamSkill('Dream Travel', .5)]) |
|---|
| 99 |
char.addYear('Soldier:Seargent', 10, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Sword', 1), Skill('Lance', 1.5), DreamSkill('Control Self', 0.5), DreamSkill('Dream Travel', .5)]) |
|---|
| 100 |
char.addYear('Soldier:Seargent', 10, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Sword', 1.5), Skill('Lance', 1), HobbySkill('Ride-Animal', .5), DreamSkill('Dream Travel', .5)]) |
|---|
| 101 |
char.addYear('Soldier:Seargent', 10, [Skill('Leadership', 1), Skill('Tactics', 1), Skill('Intimidate', .5), Skill('Interrogate', .5), Skill('Sword', 1), DreamSkill('Control Self', 0.5), DreamSkill('Dream Travel', .5)]) |
|---|
| 102 |
char.addYear('Soldier:Seargent', 10, [Skill('Leadership', 1), Skill('Tactics', 1), Skill('Intimidate', .5), Skill('Interrogate', .5), Skill('Sword', 1), HobbySkill('Ride-Animal', .5), DreamSkill('Control Self', .5)]) |
|---|
| 103 |
char.addYear('Soldier:Seargent', 10, [Skill('Leadership', 1), Skill('Tactics', 1), Skill('Persuade', .5), Skill('Etiquette', .5), Skill('Sword', 1), DreamSkill('Control Self', 0.5), DreamSkill('Manipulate Environment', .5)]) |
|---|
| 104 |
char.addEquipment('Lance', 0, 'Free from service as a seargent') |
|---|
| 105 |
char.addEquipment('Chainmail', 0, 'Free from service as a seargent') |
|---|
| 106 |
|
|---|
| 107 |
# 28th-35th year -- Becomes an officer |
|---|
| 108 |
char.addYear('Soldier:Officer', 20, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Oratory', 1), Skill('Etiquette', .5), Skill('Sword', 1), HobbySkill('Ride-Animal', .5), DreamSkill('Manipulate Environment', .5)]) |
|---|
| 109 |
char.addYear('Soldier:Officer', 20, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Oratory', 1), Skill('Etiquette', .5), Skill('Sword', 1), HobbySkill('Ride-Animal', .5), DreamSkill('Enter Dreams', .5)]) |
|---|
| 110 |
char.addYear('Soldier:Officer', 20, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Oratory', 1), Skill('Etiquette', .5), Skill('Sword', 1), HobbySkill('Ride-Animal', .5), DreamSkill('Enter Dreams', .5)]) |
|---|
| 111 |
char.addYear('Soldier:Officer', 20, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Oratory', .5), Skill('Persuade', .5), Skill('Etiquette', .5), Skill('Sword', 1), HobbySkill('Ride-Animal', .5), DreamSkill('Enter Dreams', .5)]) |
|---|
| 112 |
char.addYear('Soldier:Officer', 20, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Oratory', .5), Skill('Persuade', 1), Skill('Sword', 1), HobbySkill('Ride-Animal', .5), DreamSkill('Enter Dreams', .5)]) |
|---|
| 113 |
char.addYear('Soldier:Officer', 20, [Skill('Leadership', 1), Skill('Tactics', .5), Skill('Persuade', 1), Skill('Sword', 1.5), HobbySkill('Ride-Animal', .5), DreamSkill('Enter Dreams', .5)]) |
|---|
| 114 |
char.addYear('Soldier:Officer', 20, [Skill('Leadership', 2), Skill('Tactics', .5), Skill('Etiquette', .5), Skill('Sword', 1), HobbySkill('Ride-Animal', .5), DreamSkill('Enter Dreams', .5)]) |
|---|
| 115 |
char.addYear('Soldier:Officer', 20, [Skill('Leadership', 2), Skill('Tactics', .5), Skill('Sword', 1.5), HobbySkill('Ride-Animal', .5), DreamSkill('Manipulate Environment', .5)]) |
|---|
| 116 |
char.addEquipment('Longsword', 0, 'Free from service as a officer') |
|---|
| 117 |
char.addEquipment('Chainmail', 0, 'Free from service as a officer') |
|---|
| 118 |
char.addEquipment('Medium War Horse', 250 - 100, '100 SS credit from service as an officer') |
|---|
| 119 |
|
|---|
| 120 |
return char |
|---|
| 121 |
|
|---|
| 122 |
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 123 |
|
|---|
| 124 |
if __name__ == "__main__": |
|---|
| 125 |
from pprint import pprint |
|---|
| 126 |
char = alLarin() |
|---|
| 127 |
|
|---|
| 128 |
pprint(char.attributes) |
|---|
| 129 |
pprint(char.traits) |
|---|
| 130 |
char.printUsedTraits() |
|---|
| 131 |
char.printUnusedTraits() |
|---|
| 132 |
char.printSkills() |
|---|
| 133 |
pprint(char.equipment) |
|---|
| 134 |
|
|---|