def apply_blessing(engine, hero): if hero.gold >= int( 20 * 1.5**engine.level) - 2 * hero.stats["intelligence"]: engine.score += 0.2 hero.gold -= int(20 * 1.5**engine.level) - \ 2 * hero.stats["intelligence"] rnd = random.randint(0, 5) if rnd <= 1: engine.hero = Objects.Blessing(hero) engine.notify("Blessing applied") elif rnd <= 4: engine.hero = Objects.Berserk(hero) engine.notify("Berserk applied") else: engine.hero = Objects.Amnesia(hero) engine.notify("Amnesia applied") else: engine.score -= 0.1 engine.notify("Not enough gold")