Пример #1
0
 def add_player(self):
     print("add_player")
     #roll initiative
     player = Encounter()
     initiative = self.ui.spinBox_initiative.value()
     player.set_option('initiative', initiative)
     hp = self.ui.spinBox_hp.value()
     player.set_option('hp', hp)
     player.set_option('maxHP',hp)
     #if this seems strange, i have to ensure this function always updates
     #the name combo box. Because comboBox_name.insertPolicy is set to do nothing.
     self.ui.comboBox_name.insertItem(self.ui.comboBox_name.currentIndex(),
                                      self.ui.comboBox_name.currentText())
     name = self.ui.comboBox_name.currentText()
     player.set_option('name', name)
     player.set_option('groupOf', 1)
     item = QListWidgetItem("%s | %s | hp:%s" % (
                                 initiative,
                                 name,
                                 hp))
     # initiative window requires these attributes be added to items
     item.encounter = player
     item.encounter.set_option('id', -1)
     self.main.ui.listWidget_Encounter.addItem(item)
     self.ui.comboBox_name.setEditText('')
     self.ui.spinBox_initiative.setValue(1)
     self.ui.spinBox_hp.setValue(1)
     self.ui.comboBox_name.setFocus()
     self.close()
Пример #2
0
 def collapse(self, inItem):
     print("collapse")
     EncounterId = inItem.encounter.get_option('id')
     encounter = inItem.encounter
     initiative = inItem.encounter.get_option('initiative')
     group = []
     for row in range(0,len(self.ui.listWidget_Encounter)):
         if self.ui.listWidget_Encounter. \
         item(row).encounter.get_option('id') == EncounterId:
             group.append(row)
     group.sort()
     insertPosition = min(group)
     group.reverse()
     groupHP = []
     groupOf = 0
     for row in group:
         current_item = self.ui.listWidget_Encounter.takeItem(row)
         groupHP.append(current_item.encounter.get_option('hp'))
         groupOf = groupOf + 1
     encItem = QListWidgetItem("***")
     encItem.encounter = encounter
     encItem.encounter.set_option('initiative', initiative)
     encItem.encounter.set_option('id', EncounterId)
     encItem.encounter.set_option('groupHP', groupHP)
     encItem.encounter.set_option('groupOf', groupOf)
     update_text(encItem)
     self.ui.listWidget_Encounter.insertItem(insertPosition, encItem)
Пример #3
0
 def load_session(self,fh=None):
     # print("load_session")
     try:
         if fh:
             with open(fh, 'rb') as fh:
                 print("fh: {}".format(fh))
                 pack = pickle.load(fh)
         else:
             with open('saved_session.pickle', 'rb') as fh:
                 print("fh2: {}".format(fh))
                 pack = pickle.load(fh)
         self.ui_e.itemID = pack['itemID']
         self.ui_p.ui.comboBox_name.clear()
         for item in pack['players']:
             self.ui_p.ui.comboBox_name.insertItem(1,item)
         for row in range(0, len(self.ui_e.ui.listWidget_Display)):
             self.ui_e.ui.listWidget_Display.takeItem(0)
         for encounter in pack['encounters']:
             self.ui_e.add_item(encounter)
         for row in range(0,len(self.ui.listWidget_Encounter)):
             self.ui.listWidget_Encounter.takeItem(0)
         for encounter in pack['main']:
             item = QListWidgetItem("***")
             item.encounter = encounter
             update_text(item)
             self.ui.listWidget_Encounter.addItem(item)
     except:
         QMessageBox.question(self,
                              'Wisdom.',
                              'Sorry no save 0_o',
                              QMessageBox.Ok)
Пример #4
0
 def summon_item(self,encounter=False):
     print("summon_item")
     '''set display item for main window.'''
     for row in range(0,len(self.ui.listWidget_Display)):
         if self.ui.listWidget_Display.item(row).isSelected():
             item = self.ui.listWidget_Display.item(row)
             encItem = QListWidgetItem('***')
             encItem.encounter = item.encounter.copy()
             update_text(encItem)
             self.main.ui.listWidget_Encounter.addItem(encItem)
Пример #5
0
 def expands(self,row,item):
     print("expands")
     for hp in item.encounter.get_option('groupHP'):
         encItem = QListWidgetItem("***")
         encItem.encounter = item.encounter.copy()
         encItem.encounter.set_option('hp', hp)
         encItem.encounter.set_option('groupOf', 1)
         encItem.encounter.set_option('id', item.encounter.get_option('id'))
         encItem.encounter.set_option('initiative',
                                      item.encounter.
                                      get_option('initiative'))
         update_text(encItem)
         self.ui.listWidget_Encounter.insertItem((row + 1), encItem)
Пример #6
0
 def add_item(self,encounter=False):
     print("add_item")
     if not encounter:
         dice_caddy = dice.dice()
         encounter = self.gen_creature()
         print("encounter built")
         #roll initiatives
         dex_mod = (encounter.get_option('DEX') - 10) / 2
         encounter.set_option('initiative',
                             dice_caddy.roll('1d20+%s' % (dex_mod)))
         groupHP = []
         print("initiatives rolled")
         if encounter.get_option('groupOf') > 1:
             print("creating group HP divergence")
             for creature in range(0,encounter.get_option('groupOf')):
                 print("for the hoard!")
                 print("to_dice={}".format( encounter.to_dice() ))
                 groupHP.append(dice_caddy.roll('%s' % encounter.to_dice()))
             encounter.set_option('groupHP', groupHP)
         else:
             print("HP for one plx.")
             print("to_dice={}".format(encounter.to_dice()))
             hp = dice_caddy.roll('%s' % encounter.to_dice())
             print("hp created: {}".format(hp))
             encounter.set_option('hp', hp)
             print("encounter hp set")
         encounter.set_option('type', self.ui.comboBox_type.currentText())
         print("encounter type set")
     print("after option dice roll sets")
     # add item to encounter window
     item = QListWidgetItem("+ %s" % encounter.get_option('name'))
     print("QListWidgetItem created")
     item.txt = 0
     item.setToolTip("%s" % encounter.to_string())
     item.encounter = encounter
     item.encounter.set_option('id', self.vault.itemID)
     self.vault.ui.listWidget_Display.addItem(item)
     print("item added to ui list")
     self.vault.itemID += 1
     #help keyboard users to get back to name
     self.close()