Add the unlockable conditions ce, sc, tp, ap and aw
This commit is contained in:
parent
9117f7313f
commit
a8163583e7
Binary file not shown.
@ -3,11 +3,15 @@
|
|||||||
* ch : "Coins here", coin requirement, payable within the heya menu, 1 value : [Coin price]
|
* ch : "Coins here", coin requirement, payable within the heya menu, 1 value : [Coin price]
|
||||||
* cs : "Coins shop", coin requirement, payable only within the Medal shop selection screen
|
* cs : "Coins shop", coin requirement, payable only within the Medal shop selection screen
|
||||||
* cm : "Coins menu", coin requirement, payable only within the song select screen (used only for songs)
|
* cm : "Coins menu", coin requirement, payable only within the song select screen (used only for songs)
|
||||||
|
* ce : "Coins earned", coins earned since the creation of the save file, 1 value : [Total earned coins]
|
||||||
* dp : "Difficulty pass", count of difficulties pass, unlock check during the results screen, condition 3 values : [Difficulty int (0~4), Clear status (0~4), Number of performances], input 1 value [Plays fitting the condition]
|
* dp : "Difficulty pass", count of difficulties pass, unlock check during the results screen, condition 3 values : [Difficulty int (0~4), Clear status (0~4), Number of performances], input 1 value [Plays fitting the condition]
|
||||||
* lp : "Level pass", count of level pass, unlock check during the results screen, condition 3 values : [Star rating, Clear status (0~4), Number of performances], input 1 value [Plays fitting the condition]
|
* lp : "Level pass", count of level pass, unlock check during the results screen, condition 3 values : [Star rating, Clear status (0~4), Number of performances], input 1 value [Plays fitting the condition]
|
||||||
* sp : "Song performance", count of a specific song pass, unlock check during the results screen, condition 2 x n values for n songs : [Difficulty int (0~4, if -1 : Any), Clear status (0~2), ...], input 1 value [Count of fullfiled songs], n references for n songs (Song ids)
|
* sp : "Song performance", count of a specific song pass, unlock check during the results screen, condition 2 x n values for n songs : [Difficulty int (0~4, if -1 : Any), Clear status (0~2), ...], input 1 value [Count of fullfiled songs], n references for n songs (Song ids)
|
||||||
* sg : "Song genre (performance)", count of any song pass within a specific genre folder, unlock check during the results screen, condition 2 x n values for n songs : [Song count, Clear status (0~4), ...], input 1 value [Count of fullfiled genres], n references for n genres (Genre names)
|
* sg : "Song genre (performance)", count of any song pass within a specific genre folder, unlock check during the results screen, condition 2 x n values for n songs : [Song count, Clear status (0~4), ...], input 1 value [Count of fullfiled genres], n references for n genres (Genre names)
|
||||||
|
* sc : "Song charter (performance)", count of any chart pass by a specific charter, unlock check during the results screen, condition 2 x n values for n songs : [Song count, Clear status (0~4), ...], input 1 value [Count of fullfiled charters], n references for n charters (Charter names)
|
||||||
|
* tp : "Total plays", 1 value : [Total playcount]
|
||||||
|
* ap : "AI battle plays", 1 value : [AI battle playcount]
|
||||||
|
* aw : "AI battle wins", 1 value : [AI battle wins count]
|
||||||
|
|
||||||
== UnlockType ==
|
== UnlockType ==
|
||||||
* l : "Less than"
|
* l : "Less than"
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 5.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
@ -19,3 +19,6 @@
|
|||||||
18 - Sky Purple
|
18 - Sky Purple
|
||||||
19 - AI
|
19 - AI
|
||||||
20 - Cyan
|
20 - Cyan
|
||||||
|
21 - OpTk Yellow (Roll)
|
||||||
|
22 - Bol white
|
||||||
|
23 - Saturated blue
|
@ -17,6 +17,12 @@ namespace TJAPlayer3
|
|||||||
["lp"] = 3,
|
["lp"] = 3,
|
||||||
["sp"] = 2,
|
["sp"] = 2,
|
||||||
["sg"] = 2,
|
["sg"] = 2,
|
||||||
|
|
||||||
|
["sc"] = 2,
|
||||||
|
["ce"] = 1,
|
||||||
|
["tp"] = 1,
|
||||||
|
["ap"] = 1,
|
||||||
|
["aw"] = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
public class CUnlockConditions
|
public class CUnlockConditions
|
||||||
@ -95,10 +101,15 @@ namespace TJAPlayer3
|
|||||||
* ch : "Coins here", coin requirement, payable within the heya menu, 1 value : [Coin price]
|
* ch : "Coins here", coin requirement, payable within the heya menu, 1 value : [Coin price]
|
||||||
* cs : "Coins shop", coin requirement, payable only within the Medal shop selection screen
|
* cs : "Coins shop", coin requirement, payable only within the Medal shop selection screen
|
||||||
* cm : "Coins menu", coin requirement, payable only within the song select screen (used only for songs)
|
* cm : "Coins menu", coin requirement, payable only within the song select screen (used only for songs)
|
||||||
|
* ce : "Coins earned", coins earned since the creation of the save file, 1 value : [Total earned coins]
|
||||||
* dp : "Difficulty pass", count of difficulties pass, unlock check during the results screen, condition 3 values : [Difficulty int (0~4), Clear status (0~4), Number of performances], input 1 value [Plays fitting the condition]
|
* dp : "Difficulty pass", count of difficulties pass, unlock check during the results screen, condition 3 values : [Difficulty int (0~4), Clear status (0~4), Number of performances], input 1 value [Plays fitting the condition]
|
||||||
* lp : "Level pass", count of level pass, unlock check during the results screen, condition 3 values : [Star rating, Clear status (0~4), Number of performances], input 1 value [Plays fitting the condition]
|
* lp : "Level pass", count of level pass, unlock check during the results screen, condition 3 values : [Star rating, Clear status (0~4), Number of performances], input 1 value [Plays fitting the condition]
|
||||||
* sp : "Song performance", count of a specific song pass, unlock check during the results screen, condition 2 x n values for n songs : [Difficulty int (0~4, if -1 : Any), Clear status (0~4), ...], input 1 value [Count of fullfiled songs], n references for n songs (Song ids)
|
* sp : "Song performance", count of a specific song pass, unlock check during the results screen, condition 2 x n values for n songs : [Difficulty int (0~4, if -1 : Any), Clear status (0~4), ...], input 1 value [Count of fullfiled songs], n references for n songs (Song ids)
|
||||||
* sg : "Song genre (performance)", count of any unique song pass within a specific genre folder, unlock check during the results screen, condition 2 x n values for n songs : [Song count, Clear status (0~4), ...], input 1 value [Count of fullfiled genres], n references for n genres (Genre names)
|
* sg : "Song genre (performance)", count of any unique song pass within a specific genre folder, unlock check during the results screen, condition 2 x n values for n songs : [Song count, Clear status (0~4), ...], input 1 value [Count of fullfiled genres], n references for n genres (Genre names)
|
||||||
|
* sc : "Song charter (performance)", count of any chart pass by a specific charter, unlock check during the results screen, condition 2 x n values for n songs : [Song count, Clear status (0~4), ...], input 1 value [Count of fullfiled charters], n references for n charters (Charter names)
|
||||||
|
* tp : "Total plays", 1 value : [Total playcount]
|
||||||
|
* ap : "AI battle plays", 1 value : [AI battle playcount]
|
||||||
|
* aw : "AI battle wins", 1 value : [AI battle wins count]
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -116,6 +127,26 @@ namespace TJAPlayer3
|
|||||||
return tConditionMet(new int[] { (int)TJAPlayer3.SaveFileInstances[player].data.Medals }, screen);
|
return tConditionMet(new int[] { (int)TJAPlayer3.SaveFileInstances[player].data.Medals }, screen);
|
||||||
else
|
else
|
||||||
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
||||||
|
case "ce":
|
||||||
|
if (this.Values.Length == 1)
|
||||||
|
return tConditionMet(new int[] { (int)TJAPlayer3.SaveFileInstances[player].data.TotalEarnedMedals }, screen);
|
||||||
|
else
|
||||||
|
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
||||||
|
case "ap":
|
||||||
|
if (this.Values.Length == 1)
|
||||||
|
return tConditionMet(new int[] { (int)TJAPlayer3.SaveFileInstances[player].data.AIBattleModePlaycount }, screen);
|
||||||
|
else
|
||||||
|
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
||||||
|
case "aw":
|
||||||
|
if (this.Values.Length == 1)
|
||||||
|
return tConditionMet(new int[] { (int)TJAPlayer3.SaveFileInstances[player].data.AIBattleModeWins }, screen);
|
||||||
|
else
|
||||||
|
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
||||||
|
case "tp":
|
||||||
|
if (this.Values.Length == 1)
|
||||||
|
return tConditionMet(new int[] { (int)TJAPlayer3.SaveFileInstances[player].data.TotalPlaycount }, screen);
|
||||||
|
else
|
||||||
|
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
||||||
case "dp":
|
case "dp":
|
||||||
case "lp":
|
case "lp":
|
||||||
if (this.Values.Length == 3)
|
if (this.Values.Length == 3)
|
||||||
@ -124,6 +155,7 @@ namespace TJAPlayer3
|
|||||||
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
||||||
case "sp":
|
case "sp":
|
||||||
case "sg":
|
case "sg":
|
||||||
|
case "sc":
|
||||||
if (this.Values.Length % this.RequiredArgCount == 0
|
if (this.Values.Length % this.RequiredArgCount == 0
|
||||||
&& this.Reference.Length == this.Values.Length / this.RequiredArgCount)
|
&& this.Reference.Length == this.Values.Length / this.RequiredArgCount)
|
||||||
return tConditionMet(new int[] { tGetCountChartsPassingCondition(player) }, screen);
|
return tConditionMet(new int[] { tGetCountChartsPassingCondition(player) }, screen);
|
||||||
@ -162,12 +194,19 @@ namespace TJAPlayer3
|
|||||||
case "cs":
|
case "cs":
|
||||||
case "cm":
|
case "cm":
|
||||||
return (false, CLangManager.LangInstance.GetString(90000));
|
return (false, CLangManager.LangInstance.GetString(90000));
|
||||||
|
case "ce":
|
||||||
|
case "tp":
|
||||||
|
case "ap":
|
||||||
|
case "aw":
|
||||||
|
bool fulfiled = this.tValueRequirementMet(inputValues[0], this.Values[0]);
|
||||||
|
return (fulfiled, "");
|
||||||
case "dp":
|
case "dp":
|
||||||
case "lp":
|
case "lp":
|
||||||
bool fulfiled = this.tValueRequirementMet(inputValues[0], this.Values[2]);
|
fulfiled = this.tValueRequirementMet(inputValues[0], this.Values[2]);
|
||||||
return (fulfiled, "");
|
return (fulfiled, "");
|
||||||
case "sp":
|
case "sp":
|
||||||
case "sg":
|
case "sg":
|
||||||
|
case "sc":
|
||||||
fulfiled = this.tValueRequirementMet(inputValues[0], this.Reference.Length);
|
fulfiled = this.tValueRequirementMet(inputValues[0], this.Reference.Length);
|
||||||
return (fulfiled, "");
|
return (fulfiled, "");
|
||||||
}
|
}
|
||||||
@ -313,6 +352,24 @@ namespace TJAPlayer3
|
|||||||
if (_satifsiedCount >= _songCount) _count++;
|
if (_satifsiedCount >= _songCount) _count++;
|
||||||
}
|
}
|
||||||
return _count;
|
return _count;
|
||||||
|
case "sc":
|
||||||
|
_count = 0;
|
||||||
|
for (int i = 0; i < this.Values.Length / this.RequiredArgCount; i++)
|
||||||
|
{
|
||||||
|
int _base = i * this.RequiredArgCount;
|
||||||
|
string _charterName = this.Reference[i];
|
||||||
|
int _songCount = this.Values[_base];
|
||||||
|
_aimedStatus = this.Values[_base + 1];
|
||||||
|
|
||||||
|
int _satifsiedCount = 0;
|
||||||
|
if (_aimedStatus == (int)EClearStatus.NONE) _satifsiedCount = chartStats.CharterPlays.TryGetValue(_charterName, out var value) ? value : 0;
|
||||||
|
else if (_aimedStatus <= (int)EClearStatus.CLEAR) _satifsiedCount = chartStats.CharterClears.TryGetValue(_charterName, out var value) ? value : 0;
|
||||||
|
else if (_aimedStatus == (int)EClearStatus.FC) _satifsiedCount = chartStats.CharterFCs.TryGetValue(_charterName, out var value) ? value : 0;
|
||||||
|
else _satifsiedCount = chartStats.CharterPerfects.TryGetValue(_charterName, out var value) ? value : 0;
|
||||||
|
|
||||||
|
if (_satifsiedCount >= _songCount) _count++;
|
||||||
|
}
|
||||||
|
return _count;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -655,6 +655,8 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||||
{
|
{
|
||||||
|
if (TJAPlayer3.ConfigIni.bAutoPlay[i] || TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) continue;
|
||||||
|
|
||||||
if (this.nEarnedMedalsCount[i] > 0)
|
if (this.nEarnedMedalsCount[i] > 0)
|
||||||
mqModals.tAddModal(
|
mqModals.tAddModal(
|
||||||
new Modal(
|
new Modal(
|
||||||
|
Loading…
Reference in New Issue
Block a user