Example #1
0
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
Example #2
0
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