|
@@ -1,300 +0,0 @@
|
|
-"""Calculate production in different factories"""
|
|
|
|
-
|
|
|
|
-from rival_regions_calc import Item, WorkProduction
|
|
|
|
-
|
|
|
|
-DEPARTMENTS = {
|
|
|
|
- 'oil': 1.5,
|
|
|
|
- 'gold': 0.4,
|
|
|
|
- 'diamond': 0.1,
|
|
|
|
- 'uranium': 0,
|
|
|
|
- 'ore': 0,
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-PRICE = {
|
|
|
|
- 'oil': 255,
|
|
|
|
- 'gold': 0,
|
|
|
|
- 'diamond': 1650000,
|
|
|
|
- 'uranium': 2300,
|
|
|
|
- 'ore': 235,
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-REGIONS = {
|
|
|
|
- 4001: {
|
|
|
|
- 'name': 'Northern Netherlands',
|
|
|
|
- 'resources': {
|
|
|
|
- 'gold': 379,
|
|
|
|
- 'oil': 223,
|
|
|
|
- 'ore': 247,
|
|
|
|
- # 'uranium': 2,
|
|
|
|
- 'uranium': 25,
|
|
|
|
- 'diamond': 5,
|
|
|
|
- },
|
|
|
|
- 'tax': {
|
|
|
|
- 'gold': 15,
|
|
|
|
- 'oil': 15,
|
|
|
|
- 'ore': 15,
|
|
|
|
- 'uranium': 15,
|
|
|
|
- 'diamond': 15,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- 4002: {
|
|
|
|
- 'name': 'Eastern Netherlands',
|
|
|
|
- 'resources': {
|
|
|
|
- 'gold': 359,
|
|
|
|
- # 'oil': 266,
|
|
|
|
- 'oil': 371,
|
|
|
|
- 'ore': 250,
|
|
|
|
- 'uranium': 2,
|
|
|
|
- 'diamond': 2,
|
|
|
|
- },
|
|
|
|
- 'tax': {
|
|
|
|
- 'gold': 15,
|
|
|
|
- 'oil': 2,
|
|
|
|
- 'ore': 15,
|
|
|
|
- 'uranium': 15,
|
|
|
|
- 'diamond': 15,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- 4003: {
|
|
|
|
- 'name': 'Western Netherlands',
|
|
|
|
- 'resources': {
|
|
|
|
- 'gold': 372,
|
|
|
|
- 'oil': 296,
|
|
|
|
- 'ore': 230,
|
|
|
|
- 'uranium': 2,
|
|
|
|
- 'diamond': 2,
|
|
|
|
- },
|
|
|
|
- 'tax': {
|
|
|
|
- 'gold': 15,
|
|
|
|
- 'oil': 15,
|
|
|
|
- 'ore': 15,
|
|
|
|
- 'uranium': 15,
|
|
|
|
- 'diamond': 15,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- 4004: {
|
|
|
|
- 'name': 'Southern Netherlands',
|
|
|
|
- 'resources': {
|
|
|
|
- 'gold': 366,
|
|
|
|
- 'oil': 296,
|
|
|
|
- 'ore': 211,
|
|
|
|
- 'uranium': 2,
|
|
|
|
- 'diamond': 2,
|
|
|
|
- },
|
|
|
|
- 'tax': {
|
|
|
|
- 'gold': 15,
|
|
|
|
- 'oil': 15,
|
|
|
|
- 'ore': 15,
|
|
|
|
- 'uranium': 15,
|
|
|
|
- 'diamond': 15,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- 4008: {
|
|
|
|
- 'name': 'Amsterdam',
|
|
|
|
- 'resources': {
|
|
|
|
- 'gold': 418,
|
|
|
|
- 'oil': 307,
|
|
|
|
- 'ore': 303,
|
|
|
|
- 'uranium': 4,
|
|
|
|
- 'diamond': 13,
|
|
|
|
- },
|
|
|
|
- 'tax': {
|
|
|
|
- 'gold': 15,
|
|
|
|
- 'oil': 15,
|
|
|
|
- 'ore': 15,
|
|
|
|
- 'uranium': 15,
|
|
|
|
- 'diamond': 15,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- 4801: {
|
|
|
|
- 'name': 'Luxembourg',
|
|
|
|
- 'resources': {
|
|
|
|
- 'gold': 435,
|
|
|
|
- 'oil': 283,
|
|
|
|
- 'ore': 267,
|
|
|
|
- 'uranium': 2,
|
|
|
|
- 'diamond': 2,
|
|
|
|
- },
|
|
|
|
- 'tax': {
|
|
|
|
- 'gold': 15,
|
|
|
|
- 'oil': 15,
|
|
|
|
- 'ore': 15,
|
|
|
|
- 'uranium': 15,
|
|
|
|
- 'diamond': 15,
|
|
|
|
- },
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-RESOURCES = {
|
|
|
|
- 'oil': {
|
|
|
|
- 45760: {
|
|
|
|
- 'name': 'OIL RAFINERY',
|
|
|
|
- 'level': 185,
|
|
|
|
- 'region_id': 4002,
|
|
|
|
- 'wage': 100,
|
|
|
|
- },
|
|
|
|
- 32282: {
|
|
|
|
- 'name': 'OIL - Lorenzo Industries',
|
|
|
|
- 'level': 157,
|
|
|
|
- 'region_id': 4801,
|
|
|
|
- 'wage': 100,
|
|
|
|
- },
|
|
|
|
- 59465: {
|
|
|
|
- 'name': 'Verenigde Nederlanden Oil',
|
|
|
|
- 'level': 144,
|
|
|
|
- 'region_id': 4003,
|
|
|
|
- 'wage': 99,
|
|
|
|
- },
|
|
|
|
- 90420: {
|
|
|
|
- 'name': 'Shelby oil',
|
|
|
|
- 'level': 124,
|
|
|
|
- 'region_id': 4002,
|
|
|
|
- 'wage': 95,
|
|
|
|
- },
|
|
|
|
- 61361: {
|
|
|
|
- 'name': 'Koninklijke Olie',
|
|
|
|
- 'level': 120,
|
|
|
|
- 'region_id': 4001,
|
|
|
|
- 'wage': 100,
|
|
|
|
- 'fixed_wage': 150500500,
|
|
|
|
- },
|
|
|
|
- 60828: {
|
|
|
|
- 'name': 'Austins wegenolie',
|
|
|
|
- 'level': 117,
|
|
|
|
- 'region_id': 4008,
|
|
|
|
- 'wage': 100,
|
|
|
|
- 'fixed_wage': 130000000,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- 'ore': {
|
|
|
|
- 32145: {
|
|
|
|
- 'name': 'DS ore',
|
|
|
|
- 'level': 139,
|
|
|
|
- 'region_id': 4801,
|
|
|
|
- 'wage': 99,
|
|
|
|
- },
|
|
|
|
- 48500: {
|
|
|
|
- 'name': 'Shelby ore',
|
|
|
|
- 'level': 138,
|
|
|
|
- 'region_id': 4004,
|
|
|
|
- 'wage': 95,
|
|
|
|
- },
|
|
|
|
- 29239: {
|
|
|
|
- 'name': 'Nederlands Ore EN',
|
|
|
|
- 'level': 73,
|
|
|
|
- 'region_id': 4002,
|
|
|
|
- 'wage': 80,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- 'uranium': {
|
|
|
|
- 34997: {
|
|
|
|
- 'name': 'Quite a serious power plant!',
|
|
|
|
- 'level': 147,
|
|
|
|
- 'region_id': 4001,
|
|
|
|
- 'wage': 100,
|
|
|
|
- 'fixed_wage': 350000000,
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- },
|
|
|
|
- 'diamond': {
|
|
|
|
- 33263: {
|
|
|
|
- 'name': 'Shelby Diamonds #2',
|
|
|
|
- 'level': 148,
|
|
|
|
- 'region_id': 4008,
|
|
|
|
- 'wage': 95,
|
|
|
|
- },
|
|
|
|
- 63317: {
|
|
|
|
- 'name': 'Vone I',
|
|
|
|
- 'level': 30,
|
|
|
|
- 'region_id': 4008,
|
|
|
|
- 'wage': 80,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-WP = WorkProduction()
|
|
|
|
-WP.user_level = 95
|
|
|
|
-WP.work_exp = 80000 + 200 * 350
|
|
|
|
-WP.nation_bonus = True
|
|
|
|
-WP.profit_share = 75
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-def calculate_wage(resource_name, factory):
|
|
|
|
- """Calculate production"""
|
|
|
|
- if 'fixed_wage' in factory:
|
|
|
|
- return factory['fixed_wage']
|
|
|
|
- resource = Item(resource_name)
|
|
|
|
- WP.resource = resource
|
|
|
|
- WP.factory_level = factory['level']
|
|
|
|
- WP.department_bonus = DEPARTMENTS[resource_name]
|
|
|
|
- WP.resource_max = REGIONS[factory['region_id']]['resources'][resource_name]
|
|
|
|
- WP.wage_percentage = factory['wage']
|
|
|
|
- WP.tax_rate = REGIONS[factory['region_id']]['tax'][resource_name]
|
|
|
|
- WP.calculate()
|
|
|
|
- return WP.wage() * PRICE[resource_name]
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-def all_factories():
|
|
|
|
- """return all factories"""
|
|
|
|
- factory_dict = {}
|
|
|
|
- for factories in RESOURCES.values():
|
|
|
|
- factory_dict.update(factories)
|
|
|
|
- return factory_dict
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-def print_per_resource():
|
|
|
|
- """Print wages per resource"""
|
|
|
|
- for resource_name, factories in RESOURCES.items():
|
|
|
|
- print(resource_name)
|
|
|
|
- for factory in sorted(factories.values(), key=lambda k: k['wage'], reverse=True):
|
|
|
|
- print('{:30} {:>12}'.format(
|
|
|
|
- factory['name'],
|
|
|
|
- int(factory['wage']),
|
|
|
|
- ))
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-def print_all():
|
|
|
|
- """Print wages per resource"""
|
|
|
|
- factory_dict = all_factories()
|
|
|
|
-
|
|
|
|
- print("total")
|
|
|
|
- sorted_factories = sorted(factory_dict.values(), key=lambda k: k['wage'], reverse=True)
|
|
|
|
- top_wage = sorted_factories[0]['wage']
|
|
|
|
- for factory in sorted_factories:
|
|
|
|
- print('{:28} {:>11,} {:>3}'.format(
|
|
|
|
- factory['name'],
|
|
|
|
- int(factory['wage']),
|
|
|
|
- int(100 / top_wage * factory['wage']),
|
|
|
|
- ).replace(',', '.'))
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-def print_factory_list():
|
|
|
|
- """print all factories"""
|
|
|
|
- for resource_name, factories in RESOURCES.items():
|
|
|
|
- print('[rr]{}[/rr]'.format(resource_name.capitalize()))
|
|
|
|
- for factory_id, factory in factories.items():
|
|
|
|
- print('[url=https://rivalregions.com/#factory/index/{}]Desktop[/url] [url=https://m.rivalregions.com/#factory/index/{}]Mobile[/url] {}, {} '.format(
|
|
|
|
- factory_id,
|
|
|
|
- factory_id,
|
|
|
|
- factory['name'],
|
|
|
|
- REGIONS[factory['region_id']]['name'],
|
|
|
|
- ))
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-def main():
|
|
|
|
- """Main function"""
|
|
|
|
-
|
|
|
|
- for resource_name, factories in RESOURCES.items():
|
|
|
|
- for factory_id, factory in factories.items():
|
|
|
|
- wage = calculate_wage(resource_name, factory)
|
|
|
|
- RESOURCES[resource_name][factory_id]['wage'] = wage
|
|
|
|
-
|
|
|
|
- # print_per_resource()
|
|
|
|
- print_all()
|
|
|
|
- # print_factory_list()
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-if __name__ == '__main__':
|
|
|
|
- main()
|
|
|