def score_simple(player, coin, amount, game=None, formula=None, external_id=None, percents=100): """ Give amount of coin to the player. """ if not isinstance(game, Game) and game is not None: game = game.get_instance() if not isinstance(player, Player): raise InvalidScoreCall() user = player.user player = user.get_profile() user = player.user coin = Coin.get(coin) formula = Formula.get(formula) computed_amount = 1.0 * amount * percents / 100 hs = History.add(user=user, coin=coin, amount=computed_amount, game=game, formula=formula, external_id=external_id, percents=percents) # update user.points asap if coin.name == 'points': if player.magic.has_modifier('top-disguise'): computed_amount = 1.0 * computed_amount * player.magic.modifier_percents('top-disguise') / 100 player.points += computed_amount player.save() update_points(player, game) logging.debug("Scored %s with %f %s" % (user, computed_amount, coin)) return hs
def score_simple(player, coin, amount, game=None, formula=None, external_id=None, percents=100 ): """ Give amount of coin to the player. """ if not isinstance(game, Game) and game is not None: game = game.get_instance() if not isinstance(player, Player): raise InvalidScoreCall() user = player.user player = user.get_profile() user = player.user coin = Coin.get(coin) formula = Formula.get(formula) computed_amount = 1.0 * amount * percents / 100 hs = History.add(user=user, coin=coin, amount=computed_amount, game=game, formula=formula, external_id=external_id, percents=percents) # update user.points asap if coin.name == 'points': if player.magic.has_modifier('top-disguise'): computed_amount = 1.0 * computed_amount * player.magic.modifier_percents('top-disguise') / 100 player.points += computed_amount player.save() update_points(player, game) logging.debug("Scored %s with %f %s" % (user, computed_amount, coin)) return hs