def update_szemelyes(self): # 1. FAJ FELDOLGOZÁSA # faj = self.szemelyes_adatok["Faj"].get() # Faj háttér beállítása if faj in ("", " "): raise RuntimeError("Hibás adat! faj_update() nem tud így lefutni") if faj == "Ember": self.hatterek["Faj"].set("0") else: self.hatterek["Faj"].set("1") # Bizonyos fajok könnyebben tanulnak bizonyos képzettségeket elony = resource.faji_kepzettseg_elonyok[faj] for kepz in elony[:-1]: if kepz[0] == "!": kepz = kepz[1:] kepz_o = self.kepzettsegek[kepz] kepz_o.faji_elony = elony[-1] if kepz_o.oktatas_fok.get() < elony[-1]: kepz_o.oktatas_fok.set(elony[-1]) # 2. KASZT FELDOLGOZÁSA # # Aliasgyártás a jobb átláthatóság végett kaszt = self.szemelyes_adatok["Kaszt"].get() iskola = self.szemelyes_adatok["Iskola"].get() altip = self.szemelyes_adatok["Kaszt altípus"].get() hatterek = self.hatterek # Ha nincs kitöltve teljesen az adatlap -> elvileg ez sosem futhat if ((kaszt or iskola) in ("", " ")) or \ ((kaszt == "Fejvadász") and (altip in ("", " "))): raise RuntimeError("Hibás adat! kaszt_update() nem tud így lefutni") # Kasztból adódó "ingyen" hátterek beállítása if kaszt in ('Harcművész', 'Kardművész', 'Fejvadász', 'Boszorkány', 'Boszorkánymester', 'Tűzvarázsló', 'Varázsló'): hatterek['Pszi érzékenység'].set(' ') elif kaszt in resource.magiahasznalok: hatterek['Mágikus fogékonyság'].set(' ') elif kaszt in ('Pap', 'Paplovag'): hatterek['Kegyelt'].set(' ') elif kaszt == 'Lovag': hatterek['Nemesi vér'].set(' ') # Szabadúszó kaszt esetén itt van egy kis trükközés. if "egyéb" in iskola.lower(): iskola = "Egyéb " + kaszt.lower() # A fejvadász és a tolvaj még kaszt-altípussal is meg van bonyolítva if kaszt == "Fejvadász": iskola = kaszt.capitalize() + " (" + altip.lower() + ")" # Ezeknél a kasztoknál nem tér el az induló képzettség iskolánként elif kaszt in ("Tolvaj", "Harcművész", "Kardművész", "Boszorkány", "Tűzvarázsló", "Varázsló"): iskola = kaszt # Kasztból származó oktatás bónuszok beállítása for kep in resource.oktatas_bonuszok[iskola]: self.kepzettsegek[kep].oktatas_fok.set(4) if kaszt == "Tolvaj": iskola = kaszt + " (" + altip.lower() + ")" # A kaszt induló képzettségeinek beállítása for kep, fok in resource.kaszt_indulo_kepzettsegek[iskola].items(): self.kepzettsegek[kep].fok.set(fok) update.full(self)
rframe = Frame(self) rframe.pack(side=LEFT) Button(self, text="+1 pont (20 KAP)", font=14, command=self.pluszpont).pack() def reset(self): for tul in globz.kar.fo_tulajdonsagok.values(): tul.set(13) globz.kar.foTul_KAP.set(0) update.kap(globz.kar) update.foTul(globz.kar) def pluszpont(self): if globz.kar.KAP.get() < 20: tkmb.showerror("Vigyázat", "Nincs elég Karakteralkotó Pontod!") return hasznos.mod_IntVar(globz.kar.foTul_KAP, 1) update.kap(globz.kar) update.foTul(globz.kar) if __name__ == "__main__": import karakter root = Tk() globz.kar = karakter.Karakter(root) update.full(globz.kar) globz.kar.hail_mary() update.full(globz.kar) FoTul_beallitas(root).pack()