author | sheepluva |
Sun, 08 Dec 2013 12:19:30 +0100 | |
changeset 9765 | 6cad4393a315 |
parent 9718 | 563a34cd8398 |
child 9782 | 6c3cad32d4f4 |
permissions | -rw-r--r-- |
9578
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
1 |
function saveCompletedStatus(planetNum) |
9636
e1921235fc78
cosmos, after death01 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9630
diff
changeset
|
2 |
-- 1 2 3 4 5 6 7 |
e1921235fc78
cosmos, after death01 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9630
diff
changeset
|
3 |
-- order: moon01, fruit01, fruit02, ice01, desert01, death01, final |
e1921235fc78
cosmos, after death01 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9630
diff
changeset
|
4 |
local status = "0000000" |
9578
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
5 |
if tonumber(GetCampaignVar("MainMissionsStatus")) then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
6 |
status = GetCampaignVar("MainMissionsStatus") |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
7 |
end |
9718
563a34cd8398
unbreak various parts of campaign variable loading/saving
sheepluva
parents:
9636
diff
changeset
|
8 |
|
563a34cd8398
unbreak various parts of campaign variable loading/saving
sheepluva
parents:
9636
diff
changeset
|
9 |
if planetNum == 1 then |
563a34cd8398
unbreak various parts of campaign variable loading/saving
sheepluva
parents:
9636
diff
changeset
|
10 |
status = "1"..status:sub(2) |
563a34cd8398
unbreak various parts of campaign variable loading/saving
sheepluva
parents:
9636
diff
changeset
|
11 |
elseif planetNum == status:len() then |
9578
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
12 |
status = status:sub(1,planetNum-1).."1" |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
13 |
else |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
14 |
status = status:sub(1,planetNum-1).."1"..status:sub(planetNum+1) |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
15 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
16 |
SaveCampaignVar("MainMissionsStatus",status) |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
17 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
18 |
|
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
19 |
function getCompletedStatus() |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
20 |
local allStatus = "" |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
21 |
if tonumber(GetCampaignVar("MainMissionsStatus")) then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
22 |
allStatus = GetCampaignVar("MainMissionsStatus") |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
23 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
24 |
local status = { |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
25 |
moon01 = false, |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
26 |
fruit01 = false, |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
27 |
fruit02 = false, |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
28 |
ice01 = false, |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
29 |
desert01 = false, |
9636
e1921235fc78
cosmos, after death01 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9630
diff
changeset
|
30 |
death01 = false, |
e1921235fc78
cosmos, after death01 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9630
diff
changeset
|
31 |
final = false |
9578
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
32 |
} |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
33 |
if allStatus ~= "" then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
34 |
if allStatus:sub(1,1) == "1" then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
35 |
status.moon01 = true |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
36 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
37 |
if allStatus:sub(2,2) == "1" then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
38 |
status.fuit01 = true |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
39 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
40 |
if allStatus:sub(3,3) == "1" then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
41 |
status.fruit02 = true |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
42 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
43 |
if allStatus:sub(4,4) == "1" then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
44 |
status.ice01 = true |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
45 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
46 |
if allStatus:sub(5,5) == "1" then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
47 |
status.desert01 = true |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
48 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
49 |
if allStatus:sub(6,6) == "1" then |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
50 |
status.death01 = true |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
51 |
end |
9636
e1921235fc78
cosmos, after death01 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9630
diff
changeset
|
52 |
if allStatus:sub(7,7) == "1" then |
e1921235fc78
cosmos, after death01 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9630
diff
changeset
|
53 |
status.final = true |
e1921235fc78
cosmos, after death01 dialogs
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9630
diff
changeset
|
54 |
end |
9578
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
55 |
end |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
56 |
return status |
16139270448f
save main missions' status
Periklis Ntanasis <pntanasis@gmail.com>
parents:
diff
changeset
|
57 |
end |
9582
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
58 |
|
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
59 |
function initCheckpoint(mission) |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
60 |
local checkPoint = 1 |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
61 |
if GetCampaignVar("CurrentMission") ~= mission then |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
62 |
SaveCampaignVar("CurrentMission", mission) |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
63 |
SaveCampaignVar("CurrentMissionCheckpoint", 1) |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
64 |
else |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
65 |
checkPoint = tonumber(GetCampaignVar("currentMissionCheckpoint")) |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
66 |
end |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
67 |
return checkPoint |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
68 |
end |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
69 |
|
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
70 |
function saveCheckpoint(cp) |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
71 |
SaveCampaignVar("CurrentMissionCheckpoint", cp) |
bf314b2258b3
less variables used to save the checkpoints - potential breakage xD
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9578
diff
changeset
|
72 |
end |
9630 | 73 |
|
74 |
-- saves what bonuses are available |
|
75 |
-- times is how many times the bonus will be available, this will be mission specific |
|
76 |
function saveBonus(index, times) |
|
77 |
-- 1 2 3 |
|
78 |
-- order: desert03, fruit03, death02 |
|
79 |
local bonus = "000" |
|
80 |
if tonumber(GetCampaignVar("SideMissionsBonuses")) then |
|
81 |
bonus = GetCampaignVar("SideMissionsBonuses") |
|
82 |
end |
|
9718
563a34cd8398
unbreak various parts of campaign variable loading/saving
sheepluva
parents:
9636
diff
changeset
|
83 |
if index == 1 then |
563a34cd8398
unbreak various parts of campaign variable loading/saving
sheepluva
parents:
9636
diff
changeset
|
84 |
bonus = times..bonus:sub(2) |
563a34cd8398
unbreak various parts of campaign variable loading/saving
sheepluva
parents:
9636
diff
changeset
|
85 |
elseif index == bonus:len() then |
9630 | 86 |
bonus = bonus:sub(1,index-1)..times |
87 |
else |
|
88 |
bonus = bonus:sub(1,index-1)..times..bonus:sub(index+1) |
|
89 |
end |
|
90 |
SaveCampaignVar("SideMissionsBonuses",bonus) |
|
91 |
end |
|
92 |
||
93 |
function getBonus(index) |
|
94 |
local bonus = 0 |
|
95 |
if tonumber(GetCampaignVar("SideMissionsBonuses")) then |
|
96 |
bonusString = GetCampaignVar("SideMissionsBonuses") |
|
97 |
bonus = bonusString:sub(index,index) |
|
98 |
end |
|
99 |
return bonus |
|
100 |
end |