Descriptive Stats for Species and Backgrounds

species = {'HO':(2,0,-2),'Mi':(4,-3,-3),'Mf':(0,-1,1),'Gr':(3,0,-3),
       'Dr':(2,0,-2),'Pa':(3,0,-3),'Tr':(7,-4,-3),'Gh':(3,-5,-4),
       'Gn':(-1,-1,-1),'Hu':(0,0,0),'Ko':(-3,1,2),'Ds':(0,1,0),
       'Dj':(-1,1,0),'Sp':(-4,1,2),'Te':(0,1,1),'DE':(-3,4,2),
       'Og':(3,1,-4),'DD':(3,0,0),'VS':(2,0,1),'Vp':(-1,2,1),
       'Dg':(1,2,1),'Fo':(4,-1,-2),'Na':(2,0,-2),'Op':(-1,2,-1),
       'Fe':(-4,1,3),'Ba':(1,0,-1),'Mu':(3,-1,-1)}

backgrounds = {'Fi':(4,-4,0),'Gl':(2,-4,2),'Mo':(-1,-2,3),'Hu':(0,-1,1), 'Br':(-1,-1,2),'Be':(5,-5,0),'AK':(0,0,0),'CK':(0,0,0), 'En':(-4,3,1),'AM':(-2,1,1),'Tm':(-2,1,1),'Wr':(-1,1,0), 'Wz':(-3,2,0),'Cj':(-5,6,-1),'Su':(-4,3,1),'Ne':(-4,3,1), 'FE':(-4,3,1),'IE':(-4,3,1),'AE':(-4,3,1),'EE':(-4,3,1), 'VM':(-4,3,1),'De':(0,-2,2),'Ar':(-1,0,1)}

strength = {0:'',1:'Strong',2:'vStrong',3:'xStrong',4:'xxStrong', 5:'xxxStrong',6:'xxxxStrong',7:'xxxxxStrong',-1:'Weak', -2:'vWeak',-3:'xWeak',-4:'xxWeak',-5:'xxxWeak'} intelligence = {0:'',1:'Smart',2:'vSmart',3:'xSmart',4:'xxSmart', 5:'xxxSmart',6:'xxxxSmart',-1:'Stupid', -2:'vStupid',-3:'xStupid',-4:'xxStupid',-5:'xxxStupid'} dexterity = {0:'',1:'Nimble',2:'vNimble',3:'xNimble',4:'xxNimble', 5:'xxxNimble',6:'xxxxNimble',-1:'Clumsy', -2:'vClumsy',-3:'xClumsy',-4:'xxClumsy',-5:'xxxClumsy'}

def report(dictionary,base,plus): for sp,t in dictionary.items(): text = f'{sp} is ' stats = [strength[t[0]],intelligence[t[1]],dexterity[t[2]]] gaps = stats.count('') if gaps == 3: text += 'Boring' elif gaps == 2: text += ''.join(stats) elif gaps == 1: if stats[0]: text += f'{stats[0]} and {"".join(stats[1:])}' else: text += f'{stats[1]} and {stats[2]}' else: text += f'{stats[0]}, {stats[1]}, and {stats[2]}' if plus: text += f' ({t[0]+base:+d}/{t[1]+base:+d}/{t[2]+base:+d})' else: text += f' ({t[0]+base}/{t[1]+base}/{t[2]+base})' print(text)

report(species,8,False) print() report(background,4,True)

/r/dcss Thread Parent