from lampost.datastore.auto import TemplateField, AutoMeta from lampost.gameops import target_gen from lampost.gameops.action import ActionError from lampost.gameops.display import COMBAT_DISPLAY from lampost.lpflavor.attributes import POOL_KEYS from lampost.lpflavor.skill import BaseSkill, roll_calc, SkillTemplate, avg_calc from lampost.mud.action import mud_action from lampost.util.lputil import args_print, tuples_to_list m_requires(__name__, 'log', 'tools', 'dispatcher') WEAPON_TYPES = tuples_to_list(('dbo_id', 'damage', 'delivery'), [ ('sword', 'slash', 'melee'), ('axe', 'slash', 'melee'), ('mace', 'blunt', 'melee'), ('bow', 'pierce', 'ranged'), ('sling', 'blunt', 'ranged'), ('spear', 'pierce', 'ranged'), ('polearm', 'pierce', 'melee') ]) WEAPON_OPTIONS = [{'dbo_id': 'unused'}, {'dbo_id': 'unarmed'}, {'dbo_id': 'any'}] + WEAPON_TYPES DAMAGE_TYPES = tuples_to_list(('dbo_id', 'desc'), [ ('weapon', 'Use weapon damage type'), ('blunt', 'Blunt trauma (clubs, maces)'), ('pierce', 'Piercing damage (spears, arrows)'), ('slash', 'Slash damage (swords, knives)'), ('cold', 'Cold'), ('fire', 'Fire'), ('shock', 'Electric'),
from lampost.util.lputil import tuples_to_list ATTRIBUTES = tuples_to_list(('dbo_id', 'name', 'category', 'hidden'), [ ('con', 'Constitution', 'Brawn', False), ('str', 'Strength', 'Brawn', False), ('agi', 'Agility', 'Brawn', False), ('adv', 'Adventuresome', 'Brawn', True), ('int', 'Intelligence', 'Brain', False), ('wis', 'Wisdom', 'Brain', False), ('kno', 'Knowledge', 'Brain', False), ('cur', 'Curiosity', 'Brain', True), ('cha', 'Charm', 'Bravado', False), ('bal', 'Balance', 'Bravado', False), ('gui', 'Guile', 'Bravado', False), ('inq', 'Inquiry', 'Bravado', True) ]) ATTR_LIST = tuple([attr['dbo_id'] for attr in ATTRIBUTES]) RESOURCE_POOLS = tuples_to_list(('dbo_id', 'name', 'desc', 'calc'), [ ('health', 'Health', 'Physical well being resource', [['con', 11], ['str', 3], ['adv', 1], ['agi', 1]]), ('mental', 'Mana', 'Mental energy resource', [['int', 7], ['wis', 5], ['kno', 2], ['cur', 2]]), ('stamina', 'Stamina', 'Physical energy resource', [['con', 10], ['str', 2], ['wis', 2], ['bal', 2]]), ('action', 'Action', 'Action points pool', [['con', 5], ['bal', 5], ['wis', 3], ['agi', 2]]) ]) POOL_KEYS = tuple([(pool['dbo_id'], 'base_{}'.format(pool['dbo_id'])) for pool in RESOURCE_POOLS])