diff --git a/maps/pirates/balance.lua b/maps/pirates/balance.lua index 1526911e..c39f4761 100644 --- a/maps/pirates/balance.lua +++ b/maps/pirates/balance.lua @@ -346,8 +346,12 @@ function Public.apply_crew_buffs_per_x(force) force.laboratory_productivity_bonus = Math.max(0, 7/100 * (Common.overworldx()/40) - (10*(Common.difficulty_scale()) - 5)) --difficulty causes lab productivity boosts to start later end -function Public.class_cost() - return 10000 +function Public.class_cost(at_dock) + if at_dock then + return 9000 + else + return 6000 + end -- return Math.ceil(10000 / (Public.crew_scale()*10/4)^(1/6)) end diff --git a/maps/pirates/roles/tick_functions.lua b/maps/pirates/roles/tick_functions.lua index 25a21e73..b3c4d9ed 100644 --- a/maps/pirates/roles/tick_functions.lua +++ b/maps/pirates/roles/tick_functions.lua @@ -262,7 +262,7 @@ function Public.class_rewards_tick(tickinterval) end - if game.tick % tickinterval == 0 and (not (memory.boat and memory.boat.state and memory.boat.state == Structures.Boats.enum_state.ATSEA_LOADING_MAP)) then --it is possible to spend extra time here, so don't give out freebies + if game.tick % tickinterval == 0 and (not (memory.boat and memory.boat.state and (memory.boat.state == Structures.Boats.enum_state.ATSEA_LOADING_MAP or memory.boat.state == Structures.Boats.enum_state.ATSEA_WAITING_TO_SAIL))) then --it is possible to spend extra time here, so don't give out freebies if memory.classes_table and memory.classes_table[player_index] then local class = memory.classes_table[player_index] diff --git a/maps/pirates/shop/dock.lua b/maps/pirates/shop/dock.lua index 1055a205..454d90fc 100644 --- a/maps/pirates/shop/dock.lua +++ b/maps/pirates/shop/dock.lua @@ -185,7 +185,7 @@ function Public.create_dock_markets(surface, p) -- new class offerings: if destination.static_params.class_for_sale then - e.add_market_item{price={{'coin', Balance.class_cost()}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}} + e.add_market_item{price={{'coin', Balance.class_cost(true)}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}} -- destination.dynamic_data.market_class_offer_rendering = rendering.draw_text{ -- text = 'Class available: ' .. Classes.display_form(destination.static_params.class_for_sale), diff --git a/maps/pirates/structures/quest_structures/furnace1/furnace1.lua b/maps/pirates/structures/quest_structures/furnace1/furnace1.lua index 2385b181..97f9c260 100644 --- a/maps/pirates/structures/quest_structures/furnace1/furnace1.lua +++ b/maps/pirates/structures/quest_structures/furnace1/furnace1.lua @@ -95,7 +95,7 @@ function Public.create_step2_entities() end if destination.static_params.class_for_sale then - quest_structure_data.market.add_market_item{price={{'coin', Balance.class_cost()}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}} + quest_structure_data.market.add_market_item{price={{'coin', Balance.class_cost(false)}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}} -- destination.dynamic_data.market_class_offer_rendering = rendering.draw_text{ -- text = 'Class available: ' .. Classes.display_form(destination.static_params.class_for_sale), diff --git a/maps/pirates/structures/quest_structures/market1/market1.lua b/maps/pirates/structures/quest_structures/market1/market1.lua index ff51b8e4..49a59d1c 100644 --- a/maps/pirates/structures/quest_structures/market1/market1.lua +++ b/maps/pirates/structures/quest_structures/market1/market1.lua @@ -85,7 +85,7 @@ function Public.create_step2_entities() end if destination.static_params.class_for_sale then - quest_structure_data.market.add_market_item{price={{'coin', Balance.class_cost()}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}} + quest_structure_data.market.add_market_item{price={{'coin', Balance.class_cost(false)}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}} -- destination.dynamic_data.market_class_offer_rendering = rendering.draw_text{ -- text = 'Class available: ' .. Classes.display_form(destination.static_params.class_for_sale),