示例#1
0
def reset():
    amount = MongoArenaWeek.objects.count()

    logger = Logger("reset_arena_week.log")
    logger.write("Reset Arena Week: Start. chars amount: {0}".format(amount))

    data = MongoArenaWeek.objects.all()
    MongoArenaWeek.objects.delete()


    for d in data:
        reward = _get_reward(d.rank)
        gold = reward.week_gold
        attachment = Attachment(d.id)
        attachment.save_to_attachment(3, gold=gold)

        achievement = Achievement(d.id)
        achievement.trig(10, d.rank)

        if d.rank in TOP_RANKS:
            try:
                top = MongoArenaTopRanks.objects.get(id=d.rank)
            except DoesNotExist:
                top = MongoArenaTopRanks(id=d.rank)

            char_name = Char(d.id).cacheobj.name
            top.name = char_name
            top.save()

    logger.write("Reset Arena Week: Complete")
    logger.close()
示例#2
0
def reset():
    amount = MongoArenaWeek.objects.count()

    logger = Logger("reset_arena_week.log")
    logger.write("Reset Arena Week: Start. chars amount: {0}".format(amount))

    data = MongoArenaWeek.objects.all()
    MongoArenaWeek.objects.delete()

    for d in data:
        reward = _get_reward(d.rank)
        gold = reward.week_gold
        attachment = Attachment(d.id)
        attachment.save_to_attachment(3, gold=gold)

        achievement = Achievement(d.id)
        achievement.trig(10, d.rank)

        if d.rank in TOP_RANKS:
            try:
                top = MongoArenaTopRanks.objects.get(id=d.rank)
            except DoesNotExist:
                top = MongoArenaTopRanks(id=d.rank)

            char_name = Char(d.id).cacheobj.name
            top.name = char_name
            top.save()

    logger.write("Reset Arena Week: Complete")
    logger.close()
示例#3
0
def reset():
    amount = MongoArenaDay.objects.count()

    logger = Logger('reset_arena_day.log')
    logger.write("Reset Arena Day: Start. chars amount: {0}".format(amount))

    arena_day = MongoArenaDay.objects.all()
    MongoArenaDay.objects.delete()

    chars_data = []
    for ad in arena_day:
        char_id = ad.id
        char_score = ad.score
        char_power = Char(char_id).power
        chars_data.append((char_id, char_score, char_power))

    chars_data.sort(key=lambda item: (-item[1], -item[2]))

    for index, data in enumerate(chars_data):
        rank = index + 1
        char_id = data[0]
        score = data[1]

        try:
            arena_week = MongoArenaWeek.objects.get(id=char_id)
        except DoesNotExist:
            arena_week = MongoArenaWeek(id=char_id)
            arena_week.score = 0

        arena_week.score += score
        arena_week.rank = rank
        arena_week.save()

        # FIXME reward
        attachment = Attachment(char_id)
        attachment.save_to_attachment(2, gold=100)


    logger.write("Reset Arena Day: Complete")
    logger.close()
示例#4
0
def reset():
    amount = MongoArenaDay.objects.count()

    logger = Logger('reset_arena_day.log')
    logger.write("Reset Arena Day: Start. chars amount: {0}".format(amount))

    arena_day = MongoArenaDay.objects.all()
    MongoArenaDay.objects.delete()

    chars_data = []
    for ad in arena_day:
        char_id = ad.id
        char_score = ad.score
        char_power = Char(char_id).power
        chars_data.append((char_id, char_score, char_power))

    chars_data.sort(key=lambda item: (-item[1], -item[2]))

    for index, data in enumerate(chars_data):
        rank = index + 1
        char_id = data[0]
        score = data[1]

        try:
            arena_week = MongoArenaWeek.objects.get(id=char_id)
        except DoesNotExist:
            arena_week = MongoArenaWeek(id=char_id)
            arena_week.score = 0

        arena_week.score += score
        arena_week.rank = rank
        arena_week.save()

        # FIXME reward
        attachment = Attachment(char_id)
        attachment.save_to_attachment(2, gold=100)

    logger.write("Reset Arena Day: Complete")
    logger.close()