Package schlachtfeld :: Package amov :: Module Charakter
[hide private]
[frames] | no frames]

Source Code for Module schlachtfeld.amov.Charakter

  1  #!/bin/env python 
  2  # encoding: utf-8 
  3   
  4  # Charakterverwaltung - Verwalte Charaktere im lesbaren YAML Format 
  5  # Copyright © 2007 - 2007 Arne Babenhauserheide 
  6   
  7  # This program is free software; you can redistribute it and/or modify 
  8  # it under the terms of the GNU General Public License as published by 
  9  # the Free Software Foundation; either version 2 of the License, or 
 10  # (at your option) any later version. 
 11   
 12  # This program is distributed in the hope that it will be useful, 
 13  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
 14  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 15  # GNU General Public License for more details. 
 16   
 17  # You should have received a copy of the GNU General Public License 
 18  # along with this program; if not, write to the Free Software 
 19  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 
 20  # MA 02110-1301 USA 
 21   
 22  """Manage Charakter-Objects.  
 23   
 24  Diese Datei ist ein Container für die klasse Charaktere.""" 
 25   
 26  ### Imports ### 
 27   
 28  # Für das Dateiformat brauchen wir yaml 
 29  import yaml 
 30   
 31  # Um die Dateien zu laden, nutzen wir die Objekt-Klasse.  
 32  import Skripte.Kernskripte.Objekt as Objekt 
 33   
 34  # Um Charaktere per Kommandozeile übergeben zu können brauchen wir sys 
 35  import sys 
 36   
 37  # Für die Prüfung ob Charakterdateien schon existieren brauchen wir außerdem os.path 
 38  import os 
 39   
 40  ### Imports ### 
 41   
 42  ### Klassen ### 
 43   
44 -class Charakter:
45 - def __init__(self, ID=yaml.load("""ID: tag:draketo.de,2007:Sskreszta 46 Version: 0.15 47 Kategorie: Charaktere 48 """), art=None):
49 self.ID = ID 50 self.art = art 51 self.objekt = Objekt.Objekt(ID=self.ID, template=yaml.load(self.leerer_charakterbogen_yaml())) 52 self.charakter = self.objekt.objekt 53 self.name = self.name() 54 self.grunddaten = self.grunddaten() 55 self.beschreibung = self.beschreibung() 56 self.werte = self.werte() 57 self.eigenschaften = self.eigenschaften() 58 self.fertigkeiten = self.fertigkeiten() 59 self.kampfwerte = self.kampfwerte() 60 self.schutz = self.schutz() 61 self.herkunft = self.herkunft() 62 self.sprache = self.sprache() 63 self.region = self.region() 64 self.stimmung = self.stimmung() 65 self.kategorie = self.objekt.kategorie() 66
67 - def name(self):
68 if self.charakter[0][u"Name"] == " ": 69 self.charakter[0][u"Name"] = self.objekt.objekt_name() 70 self.objekt.write() 71 return self.charakter[0][u"Name"] 72
73 - def kampfwerte(self):
74 return self.charakter[4][u"Kampfwerte"]
75 - def grunddaten(self):
76 return self.charakter[1][u"Grunddaten"]
77 - def beschreibung(self):
78 return self.grunddaten[u"Beschreibung"]
79 - def herkunft(self):
80 return self.grunddaten[u"Herkunft"]
81 - def region(self):
82 return self.herkunft[u"Region"]
83 - def sprache(self):
84 return self.herkunft[u"Sprache"]
85 - def stimmung(self):
86 return self.grunddaten[u"Stimmung"]
87 - def werte(self):
88 return self.charakter[2][u"Werte"]
89 - def eigenschaften(self):
90 return self.werte[0][u"Eigenschaften"]
91 - def fertigkeiten(self):
92 return self.werte[1][u"Fertigkeiten"]
93 - def schutz(self):
94 return self.kampfwerte[u"Hauptrüstung"]["Schutz"] 95
96 - def leerer_charakterbogen_yaml(self):
97 return """- Name: " " 98 - Grunddaten: 99 Beschreibung: " " 100 Herkunft: 101 Sprache: ' ' 102 Region: ' ' 103 Stimmung: ' ' 104 - Werte: 105 - Eigenschaften: " " 106 - Fertigkeiten: 107 Nahkampf: &id001 108 Zahlenwert: 12 109 - Merkmale: " " 110 - Ausrüstung: 111 Waffen: 112 Waffenlos: &id002 113 Name: Waffenlos 114 Schaden: 1 115 Rüestung: 116 Stoffkleidung: &hauptruestung 117 Name: Stoffkleidung 118 Schutz: 1 119 - Kampfwerte: 120 Hauptwaffe: 121 Kampffertigkeit: *id001 122 Waffe: *id002 123 Trefferpunkte: 24 124 Wundschwelle: 4 125 Hauptrüstung: *hauptruestung 126 """ 127 128 129 130 ### Klassen ### 131 132 ### Self-Test ### 133 134 if __name__ == '__main__': 135 charakter = Charakter() 136 print 'Name:', charakter.name 137 print 'Art:', charakter.art 138 print '\nID:' 139 for i in charakter.ID: 140 print '-', i + ':', charakter.ID[i] 141 #print 'Objekt:', charakter.objekt 142 #print 'Charakter:', charakter.charakter 143 #print 'Grunddaten:', charakter.grunddaten 144 #print 'Werte:', charakter.werte 145 print '\nEigenschaften:' 146 for i in charakter.eigenschaften: 147 print '-', i + ':', charakter.eigenschaften[i] 148 print '\nFertigkeiten:' 149 for i in charakter.fertigkeiten: 150 print '-', i + ':', charakter.fertigkeiten[i] 151 print '\nKampfwerte:' 152 for i in charakter.kampfwerte: 153 print '-', i + ':', charakter.kampfwerte[i] 154 print '- Schutz:', charakter.schutz 155 print '\nBeschreibung:', charakter.beschreibung 156 print 'Herkunft:', charakter.herkunft 157 print 'Sprache:', charakter.sprache 158 print 'Region:', charakter.region 159 print 'Stimmung:', charakter.stimmung 160 print 'Kategorie:', charakter.kategorie 161 162 ### Self-Test ### 163