+class _MoveEffects(object):
+ def __init__(self, effect_column, move):
+ self.effect_column = effect_column
+ self.move = move
+
+ def __contains__(self, lang):
+ return lang in self.move.move_effect.prose
+
+ def __getitem__(self, lang):
+ try:
+ effect_text = getattr(self.move.move_effect.prose[lang], self.effect_column)
+ except AttributeError:
+ return None
+ effect_text = effect_text.replace(
+ u'$effect_chance',
+ unicode(self.move.effect_chance),
+ )
+
+ return MarkdownString(effect_text)
+
+class MoveEffectsProperty(object):
+ """Property that wraps move effects. Used like this: