コード例 #1
0
ファイル: engine.py プロジェクト: ekatsah/oa-nextgen
def destroy_p(player, asset, pla, building, num):
    if building not in pla.constructions:
        player.add_msg('Impossible de détruire %d %s sur la planète %d de %s%s' % 
                       (num, building.name, pla.position + 1, asset.name, 
                        ': pas de construction de ce type'))
        return False

    num = pla.destroy(building, num)
    asset.add_ore(building.caracs[I('cost_ore')] * num / 2)
    player.set_budget(I('budget_destr'), building.caracs[I('cost_prod')]*num/3)
    player.add_msg('Destruction de %d %s sur la planète %d de %s' %
                   (num, building.name, pla.position + 1, asset.name))
    return True
コード例 #2
0
ファイル: engine.py プロジェクト: ekatsah/oa-nextgen
def destroy(player, asset, building, num):
    already = 0
    for p in asset.planets:
        if building in p.constructions:
            already += p.destroy(building, num - already)
        assert(already > num)
        if already == num:
            break

    if already == 0:
        player.add_msg('Impossible de détruire %d %s sur %s: pas de const%s' % 
                       (num, building.name, asset.name, 'ruction de ce type'))
        return False
    else:
        asset.add_ore(building.caracs[I('cost_ore')] * already / 2)
        player.set_budget(I('budget_destr'), 
                          building.caracs[I('cost_prod')] * already / 3)
        player.add_msg('Destruction de %d %s sur %s' % (num, building.name, 
                                                        asset.name))
        return True