dnd-npcs/npc/generator/tiefling.py

40 lines
1018 B
Python
Raw Normal View History

2022-08-03 00:19:13 -07:00
from npc.languages import infernal
from npc.generator.base import BaseNPC
import random
class NPC(BaseNPC):
ancestry = 'Tiefling'
language = infernal.Tiefling()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._tail = None
self._horns = None
@property
def skin_color(self):
if not self._skin_color:
self._skin_color = random.choice([
'reddish',
'white',
'green',
'black',
'blue',
'brassy',
'bronze',
'coppery',
'silvery',
'gold',
])
return self._skin_color
@property
def full_name(self):
name = ' '.join([n.capitalize() for n in self.names])
if self.title:
name = self.title.capitalize() + ' ' + name
if self.nickname:
name = name + ' ' + self.nickname.capitalize()
return name