diff --git a/locale/en/mtn_fortress_v3.cfg b/locale/en/mtn_fortress_v3.cfg index e76efe22..2e70ffca 100644 --- a/locale/en/mtn_fortress_v3.cfg +++ b/locale/en/mtn_fortress_v3.cfg @@ -6,6 +6,7 @@ map_info_text=[color=red]READ THIS!\nIf there are any code bugs or desyncs. Plea [breached_wall] collapse_start=[color=blue]Mapkeeper:[/color]\nWarning, Collapse has begun! spidertron_unlocked=[color=blue]Mapkeeper:[/color]\nAttention! Spidertron has been unlocked at the main market! +spidertron_unlocked_bw=[color=blue]Mapkeeper:[/color]\nAttention! Spidertron has been unlocked at the main market for a generous price! wall_breached=[color=blue]Mapkeeper:[/color]\nSurvivor! Well done. You have completed zone __1__! first_to_reach=[color=blue]Mapkeeper:[/color]\n__1__ was the first to reach zone __2__. artillery_warning=[color=blue]Mapkeeper:[/color]\nWarning, Artillery have been spotted north! diff --git a/maps/mountain_fortress_v3/basic_markets.lua b/maps/mountain_fortress_v3/basic_markets.lua index 2c5e1548..0eb7c492 100644 --- a/maps/mountain_fortress_v3/basic_markets.lua +++ b/maps/mountain_fortress_v3/basic_markets.lua @@ -86,9 +86,9 @@ local this = { ['splitter'] = {value = 16, rarity = 1}, ['fast-splitter'] = {value = 48, rarity = 4}, ['express-splitter'] = {value = 128, rarity = 7}, - ['loader'] = {value = 256, rarity = 2}, - ['fast-loader'] = {value = 512, rarity = 5}, - ['express-loader'] = {value = 768, rarity = 8}, + ['loader'] = {value = 100, rarity = 2}, + ['fast-loader'] = {value = 189, rarity = 5}, + ['express-loader'] = {value = 298, rarity = 8}, ['burner-inserter'] = {value = 4, rarity = 1}, ['inserter'] = {value = 8, rarity = 1}, ['long-handed-inserter'] = {value = 12, rarity = 2}, diff --git a/maps/mountain_fortress_v3/breached_wall.lua b/maps/mountain_fortress_v3/breached_wall.lua index 629e968e..0649b47b 100644 --- a/maps/mountain_fortress_v3/breached_wall.lua +++ b/maps/mountain_fortress_v3/breached_wall.lua @@ -51,9 +51,14 @@ local collapse_message = local spidertron_unlocked = Token.register( - function() - local message = ({'breached_wall.spidertron_unlocked'}) - Alert.alert_all_players(30, message, nil, 'achievement/tech-maniac', 0.1) + function(event) + if event then + local message = ({'breached_wall.spidertron_unlocked'}) + if event.bw then + message = ({'breached_wall.spidertron_unlocked_bw'}) + end + Alert.alert_all_players(30, message, nil, 'achievement/tech-maniac', 0.1) + end end ) @@ -241,19 +246,29 @@ local function distance(player) biters.amount = 0 placed_trains_in_zone.randomized = false Public.enemy_weapon_damage() - if Public.get('breached_wall') == Public.get('spidertron_unlocked_at_zone') then + local spidertron_unlocked_enabled = Public.get('spidertron_unlocked_enabled') + if Public.get('breached_wall') >= Public.get('spidertron_unlocked_at_zone') and not spidertron_unlocked_enabled then + Public.set('spidertron_unlocked_enabled', true) local main_market_items = Public.get('main_market_items') if not main_market_items['spidertron'] then - local rng = random(70000, 120000) + local bw = Public.get('bw') + local spider_tooltip = 'BiterStunner 9000' + local rng + if bw then + rng = random(30000, 80000) + spider_tooltip = spider_tooltip .. ' (Exclusive sale!)' + else + rng = random(70000, 120000) + end main_market_items['spidertron'] = { stack = 1, value = 'coin', price = rng, - tooltip = 'BiterStunner 9000', + tooltip = spider_tooltip, upgrade = false, static = true } - Task.set_timeout_in_ticks(150, spidertron_unlocked) + Task.set_timeout_in_ticks(150, spidertron_unlocked, {bw = bw}) end end diff --git a/maps/mountain_fortress_v3/table.lua b/maps/mountain_fortress_v3/table.lua index 12058e3e..836294a7 100644 --- a/maps/mountain_fortress_v3/table.lua +++ b/maps/mountain_fortress_v3/table.lua @@ -115,6 +115,7 @@ function Public.reset_main_table() highest_pos = nil } this.force_chunk = false + this.bw = false this.allow_decon = true this.allow_decon_main_surface = true this.flamethrower_damage = {} @@ -217,6 +218,7 @@ function Public.reset_main_table() distance_from = 2 } this.spidertron_unlocked_at_zone = 11 + this.spidertron_unlocked_enabled = false -- this.void_or_tile = 'lab-dark-2' this.void_or_tile = 'out-of-map' this.validate_spider = {} @@ -262,6 +264,10 @@ function Public.reset_main_table() end end +function Public.enable_bw(state) + this.bw = state or false +end + function Public.get(key) if key then return this[key]