Merge branch 'master' of rosencrantz:/srv/git/writing
Getty Ritter
7 years ago
| 175 | 175 | ["Your first ranged attack in each encounter", |
| 176 | 176 | "deals 1 extra damage if it hits."]), |
| 177 | 177 | |
| 178 | # healing equipment | |
| 179 | ("Staff of Light", "magic", "Healing Touch", | |
| 180 | ["Remove 1 damage from yourself or an ", | |
| 181 | "adjacent ally."]), | |
| 182 | ||
| 183 | ("Vampiric Staff", "magic", "Leech", | |
| 184 | ["On a successful Arcane attack against an", | |
| 185 | "enemy, you can also remove 1 damage from 1" | |
| 186 | "ally adjacent to that enemy."]), | |
| 187 | ||
| 188 | ("Staff of Dawn's Light", "magic", "Bolt of Comfort", | |
| 189 | ["Make an Arcane roll against an ally in range.", | |
| 190 | "On a hit, remove 1 damage from them."]), | |
| 191 | ||
| 192 | ("Divine Staff", "magic", "Godly Sigil", | |
| 193 | ["Mark an adjacent square. For the", | |
| 194 | "next 5 turns, if any creature ends its turn in", | |
| 195 | "that square, they remove 1 damage."]), | |
| 196 | ||
| 197 | ("Staff of Dusk's Shadow", "magic", "", | |
| 198 | ["Make an Arcane roll against yourself. On a", | |
| 199 | "hit, remove 2 damage from yourself or from ", | |
| 200 | "adjacent allies."]), | |
| 201 | ||
| 178 | 202 | ] |
| 179 | 203 | |
| 180 | 204 | |
| 185 | 209 | ["Make 1d attacks at a target or square up to", |
| 186 | 210 | "5 squares away and all adjacent targets."]), |
| 187 | 211 | |
| 212 | # wards | |
| 213 | ("Ward of Force", | |
| 214 | "item", | |
| 215 | ["Mark an adjacent square. The next creature to", | |
| 216 | "enter that square takes 2 damage."]), | |
| 217 | ||
| 218 | ("Ward of Healing", | |
| 219 | "item", | |
| 220 | ["Mark an adjacent square. The next creature to", | |
| 221 | "enter that square recovers 2 damage."]), | |
| 222 | ||
| 223 | # oils | |
| 224 | ("Cruel Oil", | |
| 225 | "item", | |
| 226 | ["On your next successful hit, deal 1 extra damage."]), | |
| 227 | ||
| 228 | ("Greedy Oil", | |
| 229 | "item", | |
| 230 | ["On your next successful hit, remove 1 damage from yourself."]), | |
| 231 | ||
| 232 | # tools | |
| 188 | 233 | ("Rope", |
| 189 | 234 | "item", |
| 190 | 235 | ["Take +1d to any ability test to climb or", |
| 495 | 540 | card(*thing) |
| 496 | 541 | |
| 497 | 542 | |
| 543 | def to_rec(): | |
| 544 | print('%rec: Weapon') | |
| 545 | for (name, typ, ability, effect) in WEAPONS: | |
| 546 | print('Name: {0}'.format(name)) | |
| 547 | print('Type: {0}'.format(typ)) | |
| 548 | print('Ability: {0}'.format(ability)) | |
| 549 | print('Effect: {0}'.format(' '.join(effect))) | |
| 550 | print() | |
| 551 | ||
| 552 | stuffs = {} | |
| 553 | for (name, typ, effect) in CARDS: | |
| 554 | if not stuffs.get(typ): | |
| 555 | stuffs[typ] = [] | |
| 556 | stuffs[typ].append((name, ' '.join(effect))) | |
| 557 | ||
| 558 | for (typ, things) in stuffs.items(): | |
| 559 | print('%rec: {0}'.format(typ.capitalize())) | |
| 560 | for (name, effect) in things: | |
| 561 | print('Name: {0}'.format(name)) | |
| 562 | print('Effect: {0}'.format(effect)) | |
| 563 | print() | |
| 564 | ||
| 565 | ||
| 498 | 566 | if __name__ == '__main__': |
| 499 |
|
|
| 567 | if sys.argv[1:] and sys.argv[1] == 'rec': | |
| 568 | to_rec() | |
| 569 | else: | |
| 570 | main() | |