Finish Nameplate/Dan selection for Quick Heya; Add more lang keys for Puchichara effects; Adjust rarity colors (#690)
* Adjust rarity colors * Finish nameplate/dan selector in Quick Heya * Add more lang keys for Puchichara effects
This commit is contained in:
parent
6f124714ac
commit
f63e0603f6
@ -465,6 +465,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Bombenfaktor: {0}% der Noten werden in Minen umgewandelt im Minensucher-Modus",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Zündschnurfaktor: {0}% der Ballons werden in Zündschnur-Rollen umgewandelt im Minensucher-Modus",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "Münz-Multiplikator: x{0}",
|
||||
|
||||
|
@ -465,6 +465,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Bomb Factor: {0}% of notes converted to mines in Minesweeper",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Fuse Factor: {0}% of balloons converted to fuse rolls in Minesweeper",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "Coin multiplier: x{0}",
|
||||
|
||||
|
@ -466,6 +466,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Bomb Factor: {0}% of notes converted to mines in Minesweeper",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Fuse Factor: {0}% of balloons converted to fuse rolls in Minesweeper",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "Coin multiplier: x{0}",
|
||||
|
||||
|
@ -465,6 +465,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Bomb Factor: {0}% of notes converted to mines in Minesweeper",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Fuse Factor: {0}% of balloons converted to fuse rolls in Minesweeper",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "Coin multiplier: x{0}",
|
||||
|
||||
|
@ -465,6 +465,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "爆弾ファクター:掃海で音符の{0}%は爆弾になる",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "時爆弾ファクター:掃海でふうせんの{0}%は時爆弾になる",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "コイン乗数:x{0}",
|
||||
|
||||
|
@ -465,6 +465,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Bomb Factor: {0}% of notes converted to mines in Minesweeper",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Fuse Factor: {0}% of balloons converted to fuse rolls in Minesweeper",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "Coin multiplier: x{0}",
|
||||
|
||||
|
@ -461,6 +461,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Bomb Factor: {0}% of notes converted to mines in Minesweeper",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Fuse Factor: {0}% of balloons converted to fuse rolls in Minesweeper",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "Coin multiplier: x{0}",
|
||||
|
||||
|
@ -465,6 +465,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Фактор бомба: {0}% нот, превращенные в бомбы в Тральщике",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Фактор взрыватели: {0}% баллонов, превращенные в дроби с взрывателем в Тральщике",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "Множитель монетов: x{0}",
|
||||
|
||||
|
@ -465,6 +465,11 @@
|
||||
"HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "炸弹因子:{0}%的音符在扫雷模式中转换为炸弹",
|
||||
// {0}: Percentage of fuse rolls
|
||||
"HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "引线因子:{0}%的气球在扫雷模式中转换为定时炸弹",
|
||||
"HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become <c.#c800ff>Swap</c> notes",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "<c.#c4ffe2>ADLib</c> notes become visible",
|
||||
// {0}: # of auto-rolls per second
|
||||
"HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic <c.#ffff00>Rolls</c> at {0} hits/s",
|
||||
"HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "<c.#ff4040>Split</c> <c.#0088ff>Lanes</c>",
|
||||
// {0}: Coin multiplier
|
||||
"HEYA_DESCRIPTION_COIN_MULTIPLIER": "金币倍数:×{0}",
|
||||
|
||||
|
@ -6,8 +6,8 @@ namespace OpenTaiko {
|
||||
["Poor"] = Color.Gray,
|
||||
["Common"] = Color.White,
|
||||
["Uncommon"] = Color.Lime,
|
||||
["Rare"] = Color.Blue,
|
||||
["Epic"] = Color.Purple,
|
||||
["Rare"] = Color.FromArgb(0xFF, 0x00, 0x88, 0xFF),
|
||||
["Epic"] = Color.FromArgb(0xFF, 0xC8, 0x00, 0xFF),
|
||||
["Legendary"] = Color.Orange,
|
||||
["Mythical"] = Color.Pink,
|
||||
};
|
||||
|
@ -76,10 +76,10 @@ namespace OpenTaiko {
|
||||
if (puchi.metadata.tGetDescription() != "") description += puchi.metadata.tGetDescription() + "\n";
|
||||
description += $"{CLangManager.LangInstance.GetString("HEYA_DESCRIPTION_AUTHOR").SafeFormat(puchi.metadata.tGetAuthor())}\n\n";
|
||||
|
||||
if (puchi.effect.AllPurple) description += "All big notes become <c.#c800ff>Swap</c> notes\n";
|
||||
if (puchi.effect.ShowAdlib) description += "<c.#c4ffe2>ADLib</c> notes become visible\n";
|
||||
if (puchi.effect.Autoroll > 0) description += $"Automatic <c.#ffff00>Rolls</c> at {puchi.effect.Autoroll} hits/s\n";
|
||||
if (puchi.effect.SplitLane) description += "<c.#ff4040>Split</c> <c.#4053ff>Lanes</c>\n";
|
||||
if (puchi.effect.AllPurple) description += CLangManager.LangInstance.GetString("HEYA_DESCRIPTION_EFFECTS_ALLSWAP") + "\n";
|
||||
if (puchi.effect.ShowAdlib) description += CLangManager.LangInstance.GetString("HEYA_DESCRIPTION_EFFECTS_SHOWADLIB") + "\n";
|
||||
if (puchi.effect.Autoroll > 0) description += CLangManager.LangInstance.GetString("HEYA_DESCRIPTION_EFFECTS_AUTOROLL", puchi.effect.Autoroll) + "\n";
|
||||
if (puchi.effect.SplitLane) description += CLangManager.LangInstance.GetString("HEYA_DESCRIPTION_EFFECTS_SPLITLANE") + "\n";
|
||||
description += $"{CLangManager.LangInstance.GetString("HEYA_DESCRIPTION_COIN_MULTIPLIER").SafeFormat(puchi.effect.GetCoinMultiplier())}\n";
|
||||
|
||||
if (ttkDescription is null || ttkDescription.str != description) {
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Drawing;
|
||||
using DiscordRPC;
|
||||
using FDK;
|
||||
|
||||
namespace OpenTaiko {
|
||||
@ -90,8 +91,8 @@ namespace OpenTaiko {
|
||||
break;
|
||||
case ModeType.SubTitle: {
|
||||
int amount = 1;
|
||||
if (OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null)
|
||||
amount += OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.Count;
|
||||
if (OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds != null)
|
||||
amount += OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds.Count;
|
||||
|
||||
this.ttkTitles = new TitleTextureKey[amount];
|
||||
this.titlesKeys = new string[amount];
|
||||
@ -101,10 +102,11 @@ namespace OpenTaiko {
|
||||
this.titlesKeys[0] = "初心者";
|
||||
|
||||
int idx = 1;
|
||||
if (OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null) {
|
||||
foreach (var item in OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles) {
|
||||
this.ttkTitles[idx] = new TitleTextureKey(item.Value.cld.GetString(item.Key), this.MenuFont, Color.Black, Color.Transparent, 1000);
|
||||
this.titlesKeys[idx] = item.Key;
|
||||
if (OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds != null) {
|
||||
foreach (var item in OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds) {
|
||||
var name = OpenTaiko.Databases.DBNameplateUnlockables.data[item];
|
||||
this.ttkTitles[idx] = new TitleTextureKey(name.nameplateInfo.cld.GetString(""), this.MenuFont, Color.Black, Color.Transparent, 1000);
|
||||
this.titlesKeys[idx] = name.nameplateInfo.cld.GetString("");
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
@ -312,15 +314,29 @@ namespace OpenTaiko {
|
||||
}
|
||||
break;
|
||||
case ModeType.SubTitle: {
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.Title = this.ttkTitles[CurrentIndex].str;
|
||||
|
||||
if (OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null
|
||||
&& OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.ContainsKey(this.titlesKeys[CurrentIndex]))
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleType = OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles[this.titlesKeys[CurrentIndex]].iType;
|
||||
else if (CurrentIndex == 0)
|
||||
if (CurrentIndex == 0) {
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleType = 0;
|
||||
else
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleId = -1;
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleRarityInt = 1;
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.Title = "初心者";
|
||||
}
|
||||
else if (OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds != null &&
|
||||
OpenTaiko.Databases.DBNameplateUnlockables.data.ContainsKey(OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds[CurrentIndex - 1])) {
|
||||
var id = OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds[CurrentIndex - 1];
|
||||
var nameplate = OpenTaiko.Databases.DBNameplateUnlockables.data[id];
|
||||
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleId = id;
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.Title = nameplate.nameplateInfo.cld.GetString("");
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleRarityInt = HRarity.tRarityToLangInt(nameplate.rarity);
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleType = nameplate.nameplateInfo.iType;
|
||||
}
|
||||
else {
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleType = -1;
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleId = -1;
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.TitleRarityInt = 1;
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.Title = "";
|
||||
}
|
||||
|
||||
OpenTaiko.NamePlate.tNamePlateRefreshTitles(CurrentPlayer);
|
||||
|
||||
@ -506,16 +522,25 @@ namespace OpenTaiko {
|
||||
y += OpenTaiko.Skin.SongSelect_NewHeya_Box_Chara_Offset[1];
|
||||
|
||||
int iType = -1;
|
||||
int rarity = 1;
|
||||
int id = -1;
|
||||
|
||||
if (OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null &&
|
||||
OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.ContainsKey(this.titlesKeys[index]))
|
||||
iType = OpenTaiko.SaveFileInstances[CurrentPlayer].data.NamePlateTitles[this.titlesKeys[index]].iType;
|
||||
else if (index == 0)
|
||||
if (index == 0) {
|
||||
iType = 0;
|
||||
}
|
||||
else if (OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds != null &&
|
||||
OpenTaiko.Databases.DBNameplateUnlockables.data.ContainsKey(OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds[index - 1])) {
|
||||
id = OpenTaiko.SaveFileInstances[CurrentPlayer].data.UnlockedNameplateIds[index - 1];
|
||||
var nameplate = OpenTaiko.Databases.DBNameplateUnlockables.data[id];
|
||||
iType = nameplate.nameplateInfo.iType;
|
||||
rarity = HRarity.tRarityToLangInt(nameplate.rarity);
|
||||
}
|
||||
|
||||
|
||||
|
||||
tmpTex.t2D拡大率考慮上中央基準描画(x + OpenTaiko.Skin.Heya_Side_Menu_Font_Offset[0], y + OpenTaiko.Skin.Heya_Side_Menu_Font_Offset[1]);
|
||||
|
||||
OpenTaiko.NamePlate.lcNamePlate.DrawTitlePlate(x, y, 255, iType, tmpTex, rarity, id);
|
||||
|
||||
}
|
||||
break;
|
||||
@ -550,6 +575,8 @@ namespace OpenTaiko {
|
||||
danGrade = OpenTaiko.SaveFileInstances[CurrentPlayer].data.DanTitles[this.ttkDanTitles[index].str].clearStatus;
|
||||
}
|
||||
|
||||
OpenTaiko.NamePlate.lcNamePlate.DrawDan(x, y, 255, danGrade, tmpTex);
|
||||
|
||||
/*
|
||||
TJAPlayer3.NamePlate.tNamePlateDisplayNamePlateBase(
|
||||
x - TJAPlayer3.Tx.NamePlateBase.szTextureSize.Width / 2,
|
||||
|
Loading…
x
Reference in New Issue
Block a user