Black and White setup!
[zzz-pokedex.git] / pokedex / db / tables.py
index 4271efd..8360079 100644 (file)
@@ -177,7 +177,7 @@ class EvolutionChain(TableBase):
     __tablename__ = 'evolution_chains'
     id = Column(Integer, primary_key=True, nullable=False)
     growth_rate_id = Column(Integer, ForeignKey('growth_rates.id'), nullable=False)
-    baby_trigger_item = Column(Unicode(12))
+    baby_trigger_item_id = Column(Integer, ForeignKey('items.id'), nullable=True)
 
 class EvolutionTrigger(TableBase):
     __tablename__ = 'evolution_triggers'
@@ -398,6 +398,13 @@ class Nature(TableBase):
     hates_flavor_id = Column(Integer, ForeignKey('contest_types.id'), nullable=False)
     likes_flavor_id = Column(Integer, ForeignKey('contest_types.id'), nullable=False)
 
+    @property
+    def is_neutral(self):
+        u"""Returns True iff this nature doesn't alter a Pokémon's stats,
+        bestow taste preferences, etc.
+        """
+        return self.increased_stat_id == self.decreased_stat_id
+
 class NatureBattleStylePreference(TableBase):
     __tablename__ = 'nature_battle_style_preferences'
     nature_id = Column(Integer, ForeignKey('natures.id'), primary_key=True, nullable=False)
@@ -752,6 +759,7 @@ EncounterSlotCondition.condition = relation(EncounterCondition,
                                             backref='slot_map')
 
 EvolutionChain.growth_rate = relation(GrowthRate, backref='evolution_chains')
+EvolutionChain.baby_trigger_item = relation(Item, backref='evolution_chains')
 
 Experience.growth_rate = relation(GrowthRate, backref='experience_table')