1
0
mirror of synced 2025-02-17 11:08:33 +01:00

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:
DragonRatTiger / リュウコ 2024-09-30 23:12:02 -05:00 committed by GitHub
parent 6f124714ac
commit f63e0603f6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 94 additions and 22 deletions

View File

@ -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}",

View File

@ -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}",

View File

@ -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}",

View File

@ -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}",

View File

@ -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}",

View File

@ -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}",

View File

@ -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}",

View File

@ -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}",

View File

@ -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}",

View File

@ -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,
};

View File

@ -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) {

View File

@ -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,