mock_project_draft.py (6725B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\freelanceprojects\client\mock\mock_project_draft.py 2 from characterdata.careerpathconst import career_path_industrialist, career_path_enforcer, career_path_soldier_of_fortune 3 from copy import deepcopy 4 from datetime import datetime, timedelta 5 from datetimeutils import datetime_to_filetime 6 from freelanceprojects.client.contributionmethods.mock.data import configurations as mock_configurations 7 from freelanceprojects.client.data.creation_costs import CreationCost, CreationPrices 8 from freelanceprojects.client.data.project_draft import ProjectDraft 9 from math import ceil 10 MOCK_BASE_FEE_PER_DAY = 75000 11 MOCK_BROADCASTING_FEE_PER_DAY_PER_LOCATION = 100000 12 13 def _get_mock_creation_cost(rewards, days, number_of_locations): 14 base_fee = MOCK_BASE_FEE_PER_DAY * days 15 broadcasting_fee = MOCK_BROADCASTING_FEE_PER_DAY_PER_LOCATION * days * number_of_locations 16 return CreationCost(base_fee=base_fee, broadcasting_fee=broadcasting_fee, reward_deposit=rewards, total_cost=base_fee + broadcasting_fee + rewards) 17 18 19 MOCK_CREATION_PRICES = CreationPrices(base_fee_per_day=MOCK_BASE_FEE_PER_DAY, broadcasting_fee_per_day_per_location=MOCK_BROADCASTING_FEE_PER_DAY_PER_LOCATION) 20 MOCK_PROJECT_DRAFT_MINE_ORE = ProjectDraft(name='Mine lots of Veldspar', description="Let's mine all the Veldspar", career_path=career_path_industrialist, target_progress=10, contribution_method_configuration=mock_configurations.MOCK_MINE_ORE, end_time=datetime_to_filetime(datetime.now() + timedelta(days=7)), broadcast_locations=set(), payout_per_unit=100, expected_cost=_get_mock_creation_cost(rewards=1000, days=7, number_of_locations=0), max_committed_participants=10, access_list=None) 21 MOCK_PROJECT_DRAFT_CAPTURE_FW_COMPLEX = ProjectDraft(name='Capture some FW complexes', description='Capture them all for the glory of our corporation', career_path=career_path_enforcer, target_progress=2, contribution_method_configuration=mock_configurations.MOCK_CAPTURE_FW_COMPLEX, end_time=datetime_to_filetime(datetime.now() + timedelta(days=7)), broadcast_locations=set(), payout_per_unit=100, expected_cost=_get_mock_creation_cost(rewards=200, days=7, number_of_locations=0), max_committed_participants=100, access_list=None) 22 MOCK_PROJECT_DRAFT_DEFEND_FW_COMPLEX = ProjectDraft(name='Defend our FW complexes', description='Defend them all for the glory of our corporation', career_path=career_path_enforcer, target_progress=2, contribution_method_configuration=mock_configurations.MOCK_DEFEND_FW_COMPLEX, end_time=datetime_to_filetime(datetime.now() + timedelta(days=7)), broadcast_locations=set(), payout_per_unit=100, expected_cost=_get_mock_creation_cost(rewards=200, days=7, number_of_locations=0), max_committed_participants=5, access_list=None) 23 MOCK_PROJECT_DRAFT_KILL_NPC = ProjectDraft(name='Exterminate NPCs', description='They are stealing our fedos', career_path=career_path_enforcer, target_progress=20, contribution_method_configuration=mock_configurations.MOCK_KILL_NPC, end_time=datetime_to_filetime(datetime.now() + timedelta(days=7)), broadcast_locations=set(), payout_per_unit=10, expected_cost=_get_mock_creation_cost(rewards=200, days=7, number_of_locations=0), max_committed_participants=5, access_list=None) 24 MOCK_PROJECT_DRAFT_DAMAGE_SHIP = ProjectDraft(name='Damage our enemies', description="Their ships look better than ours so let's fix that", career_path=career_path_soldier_of_fortune, target_progress=10000, contribution_method_configuration=mock_configurations.MOCK_DAMAGE_SHIP, end_time=datetime_to_filetime(datetime.now() + timedelta(days=7)), broadcast_locations=set(), payout_per_unit=1, expected_cost=_get_mock_creation_cost(rewards=10000, days=7, number_of_locations=0), max_committed_participants=20, access_list=None) 25 26 def _make_damage_ship_draft(duration): 27 billed_days = max(1, int(ceil(duration.total_seconds() / 86400.0))) 28 return ProjectDraft(name='Damage our enemies', description="Their ships look better than ours so let's fix that", career_path=career_path_soldier_of_fortune, target_progress=10000, contribution_method_configuration=mock_configurations.MOCK_DAMAGE_SHIP, end_time=datetime_to_filetime(datetime.now() + duration), broadcast_locations=set(), payout_per_unit=1, expected_cost=_get_mock_creation_cost(rewards=10000, days=billed_days, number_of_locations=0), max_committed_participants=20, access_list=None) 29 30 31 def MOCK_PROJECT_DRAFT_DAMAGE_SHIP_1_HOUR_DURATION(): 32 return _make_damage_ship_draft(timedelta(hours=1)) 33 34 35 def MOCK_PROJECT_DRAFT_DAMAGE_SHIP_16_MIN_DURATION(): 36 return _make_damage_ship_draft(timedelta(minutes=16)) 37 38 39 def MOCK_PROJECT_DRAFT_DAMAGE_SHIP_4_MIN_DURATION(): 40 return _make_damage_ship_draft(timedelta(minutes=4)) 41 42 43 MOCK_PROJECT_DRAFT_SHIP_INSURANCE = ProjectDraft(name='Die and we refund your ship', description='This is not a pyramid scheme', career_path=career_path_soldier_of_fortune, target_progress=100000000, contribution_method_configuration=mock_configurations.MOCK_SHIP_INSURANCE, end_time=datetime_to_filetime(datetime.now() + timedelta(days=7)), broadcast_locations=set(), payout_per_unit=1, expected_cost=_get_mock_creation_cost(rewards=100000000, days=7, number_of_locations=0), max_committed_participants=20, max_contributions_per_participant=40000000, max_progress_per_contribution=10000000, contribution_multiplier=200, access_list=None) 44 MOCK_PROJECT_DRAFT_0_AGE_RESTRICTIONS = deepcopy(MOCK_PROJECT_DRAFT_SHIP_INSURANCE) 45 MOCK_PROJECT_DRAFT_0_AGE_RESTRICTIONS.min_character_age = 0 46 MOCK_PROJECT_DRAFT_0_AGE_RESTRICTIONS.max_character_age = 0 47 MOCK_PROJECT_DRAFT_0_AGE_RESTRICTIONS.access_list = 1 48 MOCK_PROJECT_DRAFT_MANUFACTURE_ITEM = ProjectDraft(name='Build your own Ibis', description="It's not the fastest ship in the game but we really want you to build it", career_path=career_path_industrialist, target_progress=2, contribution_method_configuration=mock_configurations.MOCK_MANUFACTURE_ITEM, end_time=datetime_to_filetime(datetime.now() + timedelta(days=7)), broadcast_locations=set(), payout_per_unit=2000, expected_cost=_get_mock_creation_cost(rewards=4000, days=7, number_of_locations=0), max_committed_participants=5, access_list=None) 49 MOCK_PROJECT_DRAFT_DELIVER_ITEM = ProjectDraft(name='Deliver stuff!', description='We need some stuff delivered, for science!', career_path=career_path_industrialist, target_progress=2, contribution_method_configuration=mock_configurations.MOCK_DELIVER_ITEM_TYPE, end_time=datetime_to_filetime(datetime.now() + timedelta(days=7)), broadcast_locations=set(), payout_per_unit=2000, expected_cost=_get_mock_creation_cost(rewards=4000, days=7, number_of_locations=0), max_committed_participants=5, access_list=None)