-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupgrades.lua
47 lines (39 loc) · 1.6 KB
/
upgrades.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
local module = {}
local function prepare_new_game()
module.mod.profile_manager:set_data("applied_grid", nil)
end
local function reset_grid_appliance()
module.mod.profile_manager:set_data("applied_grid", true)
randomizer_helper.memedit.set_base_def((module.ap_link.unlocked_items["3 Starting Grid Defense"] or 0) * 3)
randomizer_helper.memedit.set_power((module.ap_link.unlocked_items["2 Starting Grid Power"] or 0) * 2 +
(module.ap_link.unlocked_items["1 Starting Grid Power"] or 0) + 1)
randomizer_helper.memedit.set_cores(module.ap_link.unlocked_items["1 Starting Core"] or 0)
module.ap_link.handle_bonus("New Game")
end
local function apply_grid_bonuses()
if module.mod.profile_manager:get_data("applied_grid") == nil then
LOG("Resetting bonuses")
reset_grid_appliance()
else
LOG("Applying bonuses")
randomizer_helper.memedit.set_base_def((module.ap_link.unlocked_items["3 Starting Grid Defense"] or 0) * 3)
module.ap_link.handle_bonus()
end
end
local function get_starting_bonuses()
module.ap_link.in_mission = true
module.ap_link.handle_bonus()
end
local function stop_mission()
module.ap_link.in_mission = false
end
function module.initialize(mod)
module.mod = mod
module.ap_link = mod.ap_link
modApi.events.onPreStartGame:subscribe(prepare_new_game)
modApi.events.onPostStartGame:subscribe(reset_grid_appliance)
modApi.events.onPostLoadGame:subscribe(apply_grid_bonuses)
modApi.events.onMissionStart:subscribe(get_starting_bonuses)
modApi.events.onMissionEnd:subscribe(stop_mission)
end
return module