コード例 #1
0
ファイル: karakter.py プロジェクト: csxeba/Karakterlap
    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)
コード例 #2
0
ファイル: frame_foTul.py プロジェクト: csxeba/Karakterlap
        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()