Fix sp unlockables and Kernschmelze 256 uniqueID
This commit is contained in:
parent
58878a43c5
commit
cc8cd25ebc
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
{
|
||||
"id": "h4HQFxFFIVo5F7SuBGf8eWfHeXsmZQDkg9JG7IOI79zutvCrIa6l2L0FfQlrgPpx",
|
||||
"id": "kernschmelzefunkyzukin",
|
||||
"url": ""
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
@ -21,4 +21,8 @@
|
||||
20 - Cyan
|
||||
21 - OpTk Yellow (Roll)
|
||||
22 - Bol white
|
||||
23 - Saturated blue
|
||||
23 - Saturated blue
|
||||
24 - Saturated green
|
||||
25 - OpTk Chapter I
|
||||
26 - OpTk Chapter II
|
||||
27 - OpTk Chapter III
|
@ -23,6 +23,7 @@ namespace TJAPlayer3
|
||||
["tp"] = 1,
|
||||
["ap"] = 1,
|
||||
["aw"] = 1,
|
||||
["ig"] = 0,
|
||||
};
|
||||
|
||||
public class CUnlockConditions
|
||||
@ -110,7 +111,7 @@ namespace TJAPlayer3
|
||||
* 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]
|
||||
*
|
||||
* ig : "Impossible to Get", (not recommanded) used to be able to have content in database that is impossible to unlock, no values
|
||||
*
|
||||
*/
|
||||
public (bool, string) tConditionMetWrapper(int player, EScreen screen = EScreen.MyRoom)
|
||||
@ -161,7 +162,8 @@ namespace TJAPlayer3
|
||||
return tConditionMet(new int[] { tGetCountChartsPassingCondition(player) }, screen);
|
||||
else
|
||||
return (false, CLangManager.LangInstance.GetString(90005) + this.Condition + " requires (" + this.RequiredArgCount.ToString() + " * n) values and n references.");
|
||||
|
||||
case "ig":
|
||||
return (false, "");
|
||||
}
|
||||
|
||||
return (false, CLangManager.LangInstance.GetString(90000));
|
||||
@ -248,12 +250,17 @@ namespace TJAPlayer3
|
||||
if (this.Values.Length < this.RequiredArgCount)
|
||||
return (CLangManager.LangInstance.GetString(90005) + this.Condition + " requires " + this.RequiredArgCount.ToString() + " values.");
|
||||
|
||||
// Only the player loaded as 1P can check unlockables in real time
|
||||
var SaveData = TJAPlayer3.SaveFileInstances[TJAPlayer3.SaveFile].data;
|
||||
|
||||
switch (this.Condition)
|
||||
{
|
||||
case "ch":
|
||||
return (CLangManager.LangInstance.GetString(90002) + this.Values[0]);
|
||||
return CLangManager.LangInstance.GetString(90002).SafeFormat(this.Values[0]);
|
||||
case "cs":
|
||||
return (CLangManager.LangInstance.GetString(90001)); // Will be buyable later from the randomized shop
|
||||
case "ce":
|
||||
return CLangManager.LangInstance.GetString(90006).SafeFormat(this.Values[0]);
|
||||
}
|
||||
return (CLangManager.LangInstance.GetString(90000));
|
||||
}
|
||||
@ -316,7 +323,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
string key = _songId + _aimedDifficulty.ToString();
|
||||
var _cht = bpDistinctCharts.TryGetValue(key, out var value) ? value : null;
|
||||
if (_cht != null && _cht.ClearStatus >= _aimedStatus) _count++;
|
||||
if (_cht != null && _cht.ClearStatus + 1 >= _aimedStatus) _count++;
|
||||
|
||||
}
|
||||
else if (_aimedDifficulty < (int)Difficulty.Easy)
|
||||
@ -325,7 +332,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
string key = _songId + diff.ToString();
|
||||
var _cht = bpDistinctCharts.TryGetValue(key, out var value) ? value : null;
|
||||
if (_cht != null && _cht.ClearStatus >= _aimedStatus)
|
||||
if (_cht != null && _cht.ClearStatus + 1 >= _aimedStatus)
|
||||
{
|
||||
_count++;
|
||||
break;
|
||||
|
@ -130,4 +130,21 @@ namespace System
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Below methods are added by 0AuBSQ
|
||||
|
||||
public static class StringExtensions
|
||||
{
|
||||
public static string SafeFormat(this string format, params object?[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
return String.Format(format, args);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return format;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -26,7 +26,7 @@ namespace TJAPlayer3
|
||||
[4] = "Reload Songs",
|
||||
[5] = "Reload the song folder.",
|
||||
[10148] = "Reload Songs (Hard Reload)",
|
||||
[10149] = "Clean the existing database and\n" +
|
||||
[10149] = "Clean the existing database and\n" +
|
||||
"reload the song folder from scratch.",
|
||||
[6] = "Player Count",
|
||||
[7] = "Select how many players you want to play with.\nUp to 5 players can be active at once.",
|
||||
@ -160,10 +160,10 @@ namespace TJAPlayer3
|
||||
[9993] = "SimpleMode",
|
||||
|
||||
[9994] = "Texture Loading Type:\n" +
|
||||
"Freeze on startup disappears\n" +
|
||||
"Turn this option off if some textures turn black\n" +
|
||||
"This change will take effect after restarting OpenTaiko\n",
|
||||
[9995] = "ASync Texture Loading",
|
||||
"Freeze on startup disappears\n" +
|
||||
"Turn this option off if some textures turn black\n" +
|
||||
"This change will take effect after restarting OpenTaiko\n",
|
||||
[9995] = "ASync Texture Loading",
|
||||
|
||||
[9996] = "Drawing Method:\n" +
|
||||
"Select from either OpenGL,\n" +
|
||||
@ -306,8 +306,8 @@ namespace TJAPlayer3
|
||||
[10124] = "Use Extreme/Extra Transitions",
|
||||
[10125] = "Play a skin-defined animation\nwhile switching between\nExtreme & Extra.",
|
||||
|
||||
[10126] = "Always use normal gauge",
|
||||
[10127] = "Always use normal gauge",
|
||||
[10126] = "Always use normal gauge",
|
||||
[10127] = "Always use normal gauge",
|
||||
|
||||
[10150] = "Video Playback Display Mode",
|
||||
[10151] = "Change how videos are displayed\nin the background.",
|
||||
@ -482,11 +482,36 @@ namespace TJAPlayer3
|
||||
[1045] = "Extreme / Extra",
|
||||
|
||||
[90000] = "[ERROR] Invalid condition",
|
||||
[90001] = "Item only avaliable at the Shop.",
|
||||
[90002] = "Coin price : ",
|
||||
[90003] = "Item bought !",
|
||||
[90004] = "Not enough coins !",
|
||||
[90005] = "The following condition : ",
|
||||
[90001] = "Item only avaliable at the Shop.", // cs
|
||||
[90002] = "Coin price : {0}", // ch, cs, cm
|
||||
[90003] = "Item bought!",
|
||||
[90004] = "Not enough coins!",
|
||||
[90005] = "The following condition: ",
|
||||
|
||||
[90006] = "Earn a total of {0} coins to unlock this item! ({1}/{0})", // ce
|
||||
[90007] = "Play {0} AI battle matches to unlock this item! ({1}/{0})", // ap
|
||||
[90008] = "Win {0} AI battle matches to unlock this item! ({1}/{0})", // aw
|
||||
[90009] = "Play {0} songs to unlock this item! ({1}/{0})", // tp
|
||||
[90010] = "{0} {1} songs on {2} difficulty to unlock this item! ({3}/{1})", // dp
|
||||
[90011] = "{0} {1} songs with a star rating of {2} to unlock this item! ({3}/{1})", // lp
|
||||
|
||||
[91000] = "Play",
|
||||
[91001] = "Get an Assisted Clear on",
|
||||
[91011] = "Get at least an Assisted Clear on",
|
||||
[91002] = "Get a Clear on",
|
||||
[91012] = "Get at least a Clear on",
|
||||
[91003] = "Get a Full Combo on",
|
||||
[91013] = "Get at least a Full Combo on",
|
||||
[91004] = "Get a Perfect on",
|
||||
|
||||
[92000] = "Easy",
|
||||
[92001] = "Normal",
|
||||
[92002] = "Hard",
|
||||
[92003] = "Extreme",
|
||||
[92004] = "Extra Extreme",
|
||||
[92013] = "Extreme/Extra Extreme",
|
||||
[92005] = "Tower",
|
||||
[92006] = "Dan",
|
||||
|
||||
[900] = "Resume",
|
||||
[901] = "Restart",
|
||||
|
@ -474,7 +474,7 @@ namespace TJAPlayer3
|
||||
|
||||
[90000] = "[ERROR] Condicion no valida",
|
||||
[90001] = "Item solamente disponible en la tienda.",
|
||||
[90002] = "Precio: ",
|
||||
[90002] = "Precio: {0}",
|
||||
[90003] = "Item comprado!",
|
||||
[90004] = "Monedas insuficientes!",
|
||||
[90005] = "Esta condición: ",
|
||||
|
@ -445,7 +445,7 @@ namespace TJAPlayer3
|
||||
|
||||
[90000] = "[ERREUR] Condition invalide",
|
||||
[90001] = "L'article n'est disponible que dans le Magasin.",
|
||||
[90002] = "Prix en jetons : ",
|
||||
[90002] = "Prix en jetons : {0}",
|
||||
[90003] = "Article acheté !",
|
||||
[90004] = "Nombre de jetons insuffisant !",
|
||||
[90005] = "La condition suivante : ",
|
||||
|
@ -553,7 +553,7 @@ namespace TJAPlayer3
|
||||
|
||||
[90000] = "[エラー] 無効な条件",
|
||||
[90001] = "上記の商品はコイン商店に限りです、部屋に購入ができません。",
|
||||
[90002] = "コインの値段 : ",
|
||||
[90002] = "コインの値段 : {0}",
|
||||
[90003] = "商品購入済み !",
|
||||
[90004] = "コインが足りません !",
|
||||
[90005] = "下記の条件 : ",
|
||||
|
@ -481,7 +481,7 @@ namespace TJAPlayer3
|
||||
|
||||
[90000] = "[ERROR] Invalid condition",
|
||||
[90001] = "Item only avaliable at the Shop.",
|
||||
[90002] = "Coin price : ",
|
||||
[90002] = "Coin price : {0}",
|
||||
[90003] = "Item bought !",
|
||||
[90004] = "Not enough coins !",
|
||||
[90005] = "The following condition : ",
|
||||
|
@ -481,7 +481,7 @@ namespace TJAPlayer3
|
||||
|
||||
[90000] = "[ERROR] Invalid condition",
|
||||
[90001] = "Item only avaliable at the Shop.",
|
||||
[90002] = "Coin price : ",
|
||||
[90002] = "Coin price : {0}",
|
||||
[90003] = "Item bought !",
|
||||
[90004] = "Not enough coins !",
|
||||
[90005] = "The following condition : ",
|
||||
|
@ -526,7 +526,7 @@ namespace TJAPlayer3
|
||||
|
||||
[90000] = "【错误】未达成条件",
|
||||
[90001] = "物品仅在商店可用。",
|
||||
[90002] = "奖牌价格:",
|
||||
[90002] = "奖牌价格:{0}",
|
||||
[90003] = "购买成功!",
|
||||
[90004] = "金币不足!",
|
||||
[90005] = "需求条件:",
|
||||
|
Loading…
Reference in New Issue
Block a user