Advertisement
Kovitikus

Grant Skill Points

Apr 2nd, 2020
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.26 KB | None | 0 0
  1. class CmdGrantSP(Command):
  2.     key = '@grant-sp'
  3.     '''
  4.    Usage: @grant-sp <person> <number> <skillset>
  5.    '''
  6.     def parse(self):
  7.         caller = self.caller
  8.         args = self.args.lstrip()
  9.         try:
  10.             self.person, self.number, self.skillset = args.split(" ", 2)
  11.         except ValueError:
  12.             caller.msg("Requires 3 arguments. Usage: @grant-sp <person> <number> <skillset>")
  13.             raise InterruptCommand
  14.  
  15.         self.char = caller.search(self.person)
  16.         if not self.char:
  17.             raise InterruptCommand
  18.  
  19.         try:
  20.             self.number = int(self.number)
  21.         except ValueError:
  22.             caller.msg("The number must be an integer.")
  23.             raise InterruptCommand
  24.         print(f"Viable Skillsets: {skillsets.VIABLE_SKILLSETS}")
  25.         if self.skillset not in skillsets.VIABLE_SKILLSETS:
  26.             caller.msg(f"{self.skillset} is not a viable skillset!")
  27.             raise InterruptCommand
  28.    
  29.     def func(self):
  30.         caller = self.caller
  31.         char = self.char
  32.         num = self.number
  33.         skillset = self.skillset
  34.         skillset = char.attributes.get(skillset)
  35.         skillset['total_sp'] += num
  36.         caller.msg(f'Granted {char} {num} skillpoints in {self.skillset}.')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement