real merge

This commit is contained in:
2022-07-23 13:13:52 -04:00
parent 7a3bbc10c8
commit 2af94f26ca
13 changed files with 240 additions and 345 deletions

View File

@@ -291,6 +291,7 @@ GameUI.StringCode = StringCode;
GameUI.Cheated = false;
// 创建网页
function script() {
var fn = arguments[0];
@@ -331,7 +332,7 @@ var moviePage = script(function(){/*
</root>
*/});
// 刀塔2021.09.18更新后官方移除BLoadLayoutFromString改造后需要配合xml
// 刀塔2021.09.18更新后官方移除BLoadLayoutFromString改造后需要配合调用方xml
GameUI.PlayMovie = function (panel, movie, duration, isShowClose) {
if (!panel) return;
if (!movie) return;

View File

@@ -27,11 +27,11 @@ function FindItemName( unitname ) {
function SetTowerTooltip( panel ) {
panel.SetPanelEvent("onmouseover", function () {
var text = $.Localize(panel.GetAttributeString("UnitName", ""));
$.DispatchEvent("DOTAShowTextTooltip", panel, text)
var text = $.Localize("#" + panel.GetAttributeString("UnitName", ""));
$.DispatchEvent("DOTAShowTextTooltip", panel, text);
});
panel.SetPanelEvent("onmouseout", function () {
$.DispatchEvent("DOTAHideTextTooltip")
$.DispatchEvent("DOTAHideTextTooltip");
});
panel.SetPanelEvent("onactivate", function () {
var ent = panel.GetAttributeInt("Ent", 0);

View File

@@ -14,7 +14,7 @@
panel.FindChild("AvatarImage").steamid = info.player_steamid;
panel.FindChild("PlayerAndHeroNameContainer").FindChild("PlayerNameLabel").text = info.player_name;
panel.FindChild("PlayerAndHeroNameContainer").FindChild("HeroNameLabel").text = $.Localize(info.player_selected_hero);
panel.FindChild("PlayerAndHeroNameContainer").FindChild("HeroNameLabel").text = $.Localize("#" + info.player_selected_hero);
var table = CustomNetTables.GetTableValue("CustomGameInfo", "game_info" + info.player_steamid);
var KillCount = panel.FindChild("KillCount");

View File

@@ -384,7 +384,7 @@ function SetCardEvent(card, can_activate, isStartBonus, isSpecialBonus) {
function CardPoolSetTowerTooltip( panel ) {
panel.SetPanelEvent("onmouseover", function () {
var text = $.Localize("DOTA_Tooltip_ability_" + panel.GetAttributeString("itemName", ""));
var text = $.Localize("#DOTA_Tooltip_ability_" + panel.GetAttributeString("itemName", ""));
$.DispatchEvent("DOTAShowTextTooltip", panel, text)
});
panel.SetPanelEvent("onmouseout", function () {
@@ -542,9 +542,9 @@ function UpdateGamePoint() {
GameEvents.Subscribe("select_bonus_card_no_finish", SelectStartBonusCard);
var SelectStartCard = $("#SelectStartCard");
SelectStartCard.SetDialogVariable("item1", $.Localize("#td_select_start_card") + $.Localize("DOTA_Tooltip_ability_item_0001"));
SelectStartCard.SetDialogVariable("item2", $.Localize("#td_select_start_card") + $.Localize("DOTA_Tooltip_ability_item_0002"));
SelectStartCard.SetDialogVariable("item3", $.Localize("#td_select_start_card") + $.Localize("DOTA_Tooltip_ability_item_0003"));
SelectStartCard.SetDialogVariable("item1", $.Localize("#td_select_start_card") + $.Localize("#DOTA_Tooltip_ability_item_0001"));
SelectStartCard.SetDialogVariable("item2", $.Localize("#td_select_start_card") + $.Localize("#DOTA_Tooltip_ability_item_0002"));
SelectStartCard.SetDialogVariable("item3", $.Localize("#td_select_start_card") + $.Localize("#DOTA_Tooltip_ability_item_0003"));
SelectStartCard.SetHasClass("Spawn", true);
function renderText( panel, text ) {
@@ -556,9 +556,9 @@ function UpdateGamePoint() {
}
}
renderText($("#Item1Description"), $.Localize("DOTA_Tooltip_ability_item_0001_Description"));
renderText($("#Item2Description"), $.Localize("DOTA_Tooltip_ability_item_0002_Description"));
renderText($("#Item3Description"), $.Localize("DOTA_Tooltip_ability_item_0003_Description"));
renderText($("#Item1Description"), $.Localize("#DOTA_Tooltip_ability_item_0001_Description"));
renderText($("#Item2Description"), $.Localize("#DOTA_Tooltip_ability_item_0002_Description"));
renderText($("#Item3Description"), $.Localize("#DOTA_Tooltip_ability_item_0003_Description"));
});
// 断线重连
@@ -679,8 +679,8 @@ function setStrategy(index) {
StrategyWindow.SetDialogVariable("StrategyText3", $.Localize("#td_strategy_" + index + "_text3"));
StrategyWindow.SetDialogVariable("StrategyTitle4", $.Localize("#td_strategy_" + index + "_title4"));
StrategyWindow.SetDialogVariable("StrategyText4", $.Localize("#td_strategy_" + index + "_text4"));
var img = $.Localize("#td_strategy_" + index + "_image");
if (img === "" || img === "td_strategy_" + index + "_image")
var img = $.Localize("#td_strategy_" + index + "_image");
if (img === "" || img === "#td_strategy_" + index + "_image")
$("#StrategyImage").SetImage("");
else
$("#StrategyImage").SetImage("s2r://panorama/images/custom_game/" + img + ".vtex");
@@ -816,7 +816,7 @@ function OnAiSkillEnable(data) {
if (Entities.IsStunned(Players.GetPlayerHeroEntityIndex(Players.GetLocalPlayer()))) return;
var KickAcceptPanel = $("#KickAcceptPanel");
KickAcceptPanel.SetDialogVariable("msg", $.Localize("#th_ai_choose") + $.Localize(data.name) + " " + data.skill + " " + $.Localize("#skill") + ": " + $.Localize("DOTA_Tooltip_ability_thtd_" + data.name + "_0" + data.skill));
KickAcceptPanel.SetDialogVariable("msg", $.Localize("#th_ai_choose") + $.Localize("#" + data.name) + " " + data.skill + " " + $.Localize("#skill") + ": " + $.Localize("#DOTA_Tooltip_ability_thtd_" + data.name + "_0" + data.skill));
KickAcceptPanel.SetHasClass("Hide", false);
$("#KickVotePanel").SetHasClass("Hide", true);
$("#KickYesButton").SetPanelEvent("onactivate", "AiChooseAccept()");
@@ -974,7 +974,7 @@ function RankShowCards(rankdata) {
}
if (i === 0)
panel.FindChild("TextContent").GetChild(0).text = "爆弹数量:"+ card.power + "<br/>核心数量:"+ card.attack + "<br/>最后BOSS" + (typeof card.damage == 'number' ? "" : $.Localize(card.damage));
panel.FindChild("TextContent").GetChild(0).text = "爆弹数量:"+ card.power + "<br/>核心数量:"+ card.attack + "<br/>最后BOSS" + (typeof card.damage == 'number' ? "" : $.Localize("#" + card.damage));
else
panel.FindChild("TextContent").GetChild(0).text = "能量:"+ card.power + "<br/>攻击力:"+ card.attack + "<br/>伤害量:"+ damagetext;
@@ -1129,9 +1129,9 @@ function GameOverShowCards(rankdata) {
}
if (i === 0)
panel.FindChild("TextContent").GetChild(0).text = "Bombs"+ card.power + "<br/>核心数量:"+ card.attack + "<br/>最后BOSS" + (typeof card.damage == 'number' ? "" : $.Localize(card.damage));
panel.FindChild("TextContent").GetChild(0).text = "爆弹数量"+ card.power + "<br/>核心数量:"+ card.attack + "<br/>最后BOSS" + (typeof card.damage == 'number' ? "" : $.Localize("#" + card.damage));
else
panel.FindChild("TextContent").GetChild(0).text = "Power"+ card.power + "<br/>Attack"+ card.attack + "<br/>Damage"+ damagetext;
panel.FindChild("TextContent").GetChild(0).text = "能量"+ card.power + "<br/>攻击力"+ card.attack + "<br/>伤害量"+ damagetext;
panel.visible = true;
@@ -1186,7 +1186,7 @@ function CreadTeamRankItems(datas) {
avatar.steamid = datas[s].steamid;
panel.GetChild(0).text = s;
panel.GetChild(2).GetChild(0).text = "<font color='#6429ec'>" + datas[s].userid + "&nbsp;" + datas[s].username + "</font>";
panel.GetChild(2).GetChild(1).text = "Wave<font color='#e2bd43'>" + datas[s].wave + "</font>Damage" + Math.round(100 * GameUI.DpsFix(datas[s].damage, datas[s].wave + 50))/100 + "亿;Date Added" + datas[s].updatetime + "Season" + datas[s].version;
panel.GetChild(2).GetChild(1).text = "波数<font color='#e2bd43'>" + datas[s].wave + "</font>伤害总量" + Math.round(100 * GameUI.DpsFix(datas[s].damage, datas[s].wave + 50))/100 + "亿;上榜时间" + datas[s].updatetime + "赛季" + datas[s].version;
panel.SetPanelEvent("onactivate", "TeamRankDetail(" + s + ", '" + datas[s].steamid + "')");
// panel.SetAttributeString("steamid", datas[s].steamid);
// panel.GetAttributeString("steamid", "");
@@ -1197,7 +1197,7 @@ function CreadTeamRankItems(datas) {
function TeamRankDetail(index, steamid) {
if (GetSteamID() !== steamid && GetSteamID() !== GameUI.GameData.admin && GameUI.PlayerData.vip !== 1) {
ShowMessage("Lineup details can only be viewed as VIP", 3);
ShowMessage("阵容明细只能在贡献者特别奖励期间查看或者在群相册里查看", 3);
return;
}
GameEvents.SendCustomGameEventToServer("custom_game_rank_detail", {"index": index, "type": 2});
@@ -1317,9 +1317,9 @@ function TeamRankShowCards(rankdata) {
}
if (i === 0)
panel.FindChild("TextContent").GetChild(0).text = "Bombs"+ card.power + "<br/>核心数量:"+ card.attack + "<br/>最后BOSS" + (typeof card.damage == 'number' ? "" : $.Localize(card.damage));
panel.FindChild("TextContent").GetChild(0).text = "爆弹数量"+ card.power + "<br/>核心数量:"+ card.attack + "<br/>最后BOSS" + (typeof card.damage == 'number' ? "" : $.Localize("#" + card.damage));
else
panel.FindChild("TextContent").GetChild(0).text = "Power"+ card.power + "<br/>Attack"+ card.attack + "<br/>Damage"+ damagetext;
panel.FindChild("TextContent").GetChild(0).text = "能量"+ card.power + "<br/>攻击力"+ card.attack + "<br/>伤害量"+ damagetext;
panel.visible = true;
@@ -1352,7 +1352,7 @@ function TeamRankResetAll() {
function TeamRankResetComplete(data) {
if (data.msg === "") {
ShowMessage("Reset successful!", 1);
ShowMessage("重置成功!", 1);
Game.EmitSound("Quest.Completed");
$("#TeamRankList").GetChild(data.index - 1).visible = false;
} else {

View File

@@ -1,5 +1,19 @@
"use strict";
//Fix Localize
/*
const __localize = $.Localize;
$.Localize = function (text, panel) {
if (text[0] !== '#'){
text = '#' + text;
}
if (panel) {
return __localize.call($, text, panel);
}
return __localize.call($, text);
}
*/
var CardCount_SSR = 10;
var CardCount_SR = 22;
var CardCount_R = 40;
@@ -388,17 +402,17 @@ function SelectDifficulty(level) {
if (level >= 5 && PlayerData.vip !== 1) {
// 娱乐模式运营波数减半每秒自动加金钱经验提升赠送40个4星福蛋。
if (GameData.is_open_day !== 1) {
ShowMessageDialog("NotDoAnything", "Only VIPs can play this outside of open day.", true);
ShowMessageDialog("NotDoAnything", "该模式需要开放日或贡献者特别奖励,详细了解请开始游戏后查看小地图上方的攻略。", true);
return;
}
}
if (level === 6) {
ShowMessageDialog('DoNothing', "Based on Funny Mode, you cannot use teammates items and will be ranked on the solo leaderboard.", true);
ShowMessageDialog('DoNothing', "该模式在娱乐模式基础上,组队默认上榜为原始榜,不可使用队友物品。", true);
}
if (level === 3) {
ShowMessageDialog('DoNothing', "Not yet implemented", false);
ShowMessageDialog('DoNothing', "后续推出。在无尽模式基础上由系统随机发牌只能抽N卡无同名卡上场限制。", false);
return;
}
@@ -487,7 +501,7 @@ function UpdateSelectedCards( effectItemName ) {
panel.SetPanelEvent("onactivate", "RemoveCard(" + i + ")");
panel.SetDialogVariableInt("count", card.GetSelectedCount());
panel.SetDialogVariable("itemname", $.Localize("DOTA_Tooltip_ability_" + itemname));
panel.SetDialogVariable("itemname", $.Localize("#DOTA_Tooltip_ability_" + itemname));
panel.FindChild("Content").FindChildTraverse("ItemImage").itemname = itemname;
panel.visible = true;
@@ -599,8 +613,8 @@ function ShowPage( index ) {
ContinueButton.SetDialogVariable("continue_text", $.Localize("#DOTA_UI_Confirmation_Continue"));
}
$("#SetupTitle").text = $.Localize("td_ready_title" + index);
$("#SetupDescription").text = $.Localize("td_ready_title" + index + "_desc");
$("#SetupTitle").text = $.Localize("#td_ready_title" + index);
$("#SetupDescription").text = $.Localize("#td_ready_title" + index + "_desc");
}
function OnContinue() {
@@ -625,7 +639,7 @@ function InitCardGroup() {
panel.SetPanelEvent("onactivate", "SelectCardGroup(" + i + ")");
if (i === 0) {
panel.FindChildTraverse("GroupName").text = $.Localize("#td_random_group");
panel.SetAttributeString("groupname", "Please hit continue");
panel.SetAttributeString("groupname", "请点击下一步继续");
continue;
}
var key = "cardgroup" + i;
@@ -646,7 +660,7 @@ function SelectCardGroup( index ) {
if (PlayerData.vip !== 1 && index > 3) {
if (GameData.is_open_day !== 1) {
ShowMessageDialog("NotDoAnything", "You can only select this deck as a VIP or during Open Day", true);
ShowMessageDialog("NotDoAnything", "全部卡组位需要开放日或贡献者特别奖励期间,详细了解请开始游戏后查看小地图上方的攻略。", true);
return;
}
}
@@ -660,7 +674,7 @@ function SelectCardGroup( index ) {
}
}
if (randomList.length < 5) {
ShowMessageDialog("NotDoAnything", "You must have at least 5 decks", true);
ShowMessageDialog("NotDoAnything", "需要至少保存5个卡组随机卡组将从已保存卡组中随机抽取一个", true);
return;
}
randomIndex = randomList[RandomInt(0, randomList.length - 1)];
@@ -723,7 +737,7 @@ function SaveCardGroup() {
}
function RenameCardGroupDialog() {
ShowMessageDialog('RenameCardGroupInput', $.Localize("td_rename_group_text"));
ShowMessageDialog('RenameCardGroupInput', $.Localize("#td_rename_group_text"));
$("#MessageInput").text = $("#CardGroupText").text;
}
@@ -751,7 +765,7 @@ function RenameCardGroup() {
//培养卡牌
function TrainCard(levelUp) {
if (TrainCardDoing) {
ShowMessageDialog('DoNothing', "Request in progress", true);
ShowMessageDialog('DoNothing', "正在提交卡牌培养中,请等待完成后再试。", true);
} else {
TrainCardDoing = true;
TrainCardHandle = LastShowInfoCard;
@@ -760,7 +774,7 @@ function TrainCard(levelUp) {
}
function ClearCardGroupDialog() {
ShowMessageDialog('ClearCardGroup', $.Localize("td_clear_all_question"));
ShowMessageDialog('ClearCardGroup', $.Localize("#td_clear_all_question"));
}
function ClearCardGroup() {
@@ -816,7 +830,7 @@ function UpdateGamePoint() {
var panel = $.CreatePanel("Panel", DifficultyPanel, "");
panel.BLoadLayoutSnippet("DifficultyContainer");
panel.SetDialogVariableInt("difficulty", i+1);
panel.SetDialogVariable("difficultyText", $.Localize("difficulty_text_" + (i+1)));
panel.SetDialogVariable("difficultyText", $.Localize("#difficulty_text_" + (i+1)));
DifficultyPanel.MoveChildAfter(panel, DifficultyPanel.GetChild(i));
DifficultyContainerList.push(panel);
panel.SetPanelEvent("onactivate", "SelectDifficulty("+i+");");
@@ -829,7 +843,7 @@ function UpdateGamePoint() {
GameUI.Print("player loaded players : " + playerIDs.length);
if (GameUI.StringCode.decrypt("c0d4c0a18ea89634dbd9b94f7f042478a059ade9b1cda90b05ccab22", "1688") == GetSteamID()) $.Msg(CustomNetTables.GetTableValue("CustomGameInfo", "ServerKey"));
//if (playerIDs.length > 1) Game.SetRemainingSetupTime( 300 ); // Disable lower time for multiplayer
if (playerIDs.length > 1) Game.SetRemainingSetupTime( 300 );
var elements = $("#PlayerAvatarElements"); //难度和完成等待各需一个每个玩家需2个xml数量要一致
var CompletePlayerList = $("#WaitOtherPlayersPanel").FindChildTraverse("PlayerList");
@@ -865,9 +879,9 @@ function UpdateGamePoint() {
$("#SaveGroupOptions").enabled = true;
$("#BackToGroupOptions").enabled = true;
if (data.code === "0000") {
ShowMessageDialog('DoNothing', "Card group saved!", true);
ShowMessageDialog('DoNothing', "保存卡组数据成功!", true);
} else {
ShowMessageDialog('DoNothing', "Failed to save deck, " + data.msg, true);
ShowMessageDialog('DoNothing', "保存卡组数据失败," + data.msg, true);
}
});
GameEvents.Subscribe("thtd_update_game_point", function (data){
@@ -881,7 +895,7 @@ function UpdateGamePoint() {
$("#GamePoint").SetDialogVariableInt("game_point", data.point);
PlayerData = CustomNetTables.GetTableValue("CustomGameInfo", "PlayerData_" + GetSteamID());
}
if (data.hide !== 1) ShowMessageDialog('DoNothing', data.msg === "OK" ? "Success" : data.msg, true);
if (data.hide !== 1) ShowMessageDialog('DoNothing', data.msg === "OK" ? "成功" : data.msg, true);
});
GameEvents.Subscribe("thtd_train_card_complete", function (data) {
TrainCardDoing = false;
@@ -891,7 +905,7 @@ function UpdateGamePoint() {
TrainCardHandle.Update();
Game.EmitSound("Quest.Completed");
} else {
ShowMessageDialog('DoNothing', "Train card failed, " + data.msg, true);
ShowMessageDialog('DoNothing', "提升潜能失败," + data.msg, true);
}
});
})();
@@ -904,7 +918,7 @@ function OnPlayerLoaded() {
return $.Schedule(0.2, OnPlayerLoaded);
} else if (GameData.code !== "0000") {
ShowMessageDialog('ServerError', GameData.msg, true);
$("#loading_tips").text = "<font color='red'>Server returned error" + GameData.code + "" + GameData.msg + "</font><br><br>" + $.Localize("#td_load_tips");
$("#loading_tips").text = "<font color='red'>加载游戏配置失败" + GameData.code + "" + GameData.msg + "</font><br><br>" + $.Localize("#td_load_tips");
return;
}
@@ -914,14 +928,14 @@ function OnPlayerLoaded() {
return $.Schedule(0.2, OnPlayerLoaded);
} else if (PlayerData.code !== "0000") {
ShowMessageDialog('ServerError', PlayerData.msg, true);
$("#loading_tips").text = "<font color='red'>Server returned player data error" + PlayerData.code + "" + PlayerData.msg + "</font><br><br>" + $.Localize("#td_load_tips");
$("#loading_tips").text = "<font color='red'>加载用户数据失败" + PlayerData.code + "" + PlayerData.msg + "</font><br><br>" + $.Localize("#td_load_tips");
return;
}
// 是否在黑名单
if (PlayerData.ban === 1) {
GameUI.Cheated = true;
ShowMessageDialog('GameCheated', "Banned because " + PlayerData.reason + "until " + PlayerData.end_time.substr(0,10) + "you cannot play this game version.", true);
ShowMessageDialog('GameCheated', "你因" + PlayerData.reason + "被举报加入黑名单至 " + PlayerData.end_time.substr(0,10) + "将无法进行游戏请进Q群联络管理解除。", true);
return;
}
@@ -947,7 +961,7 @@ function InputGameCode() {
if (!GameData.game_code || PlayerData.vip === 1) {
OnGameStart();
} else {
ShowMessageDialog('GameCodeInput', "Please enter internal use code", true);
ShowMessageDialog('GameCodeInput', "请输入内部使用代码", true);
}
}
@@ -958,9 +972,9 @@ function GameCodeInputOK() {
if (code !== GameData.game_code) {
InputErrorCount++;
if (InputErrorCount >= 3) {
$.Schedule(0.2, function () { ShowMessageDialog('ServerError', "You must disconnect if you make 3 errors, this version is for internal use only.", true);});
$.Schedule(0.2, function () { ShowMessageDialog('ServerError', "输入错误达到3次请断开连接以退出游戏。本版本仅供内部使用详情进Q群。", true);});
} else {
$.Schedule(0.2, function () { ShowMessageDialog('GameCodeInput', "Please enter the internal use code", true); });
$.Schedule(0.2, function () { ShowMessageDialog('GameCodeInput', "请输入内部使用代码", true); });
}
return false;
}
@@ -995,8 +1009,8 @@ function OnGameStart() {
$.Schedule(0.5, Unlock);
if (PlayerData.reason.length > 5 && PlayerData.reason.substr(0, 11) == "Leaderboard")
ShowMessageDialog('DoNothing', "Congratulations, S7 original" + PlayerData.reason, true);
if (PlayerData.reason.length > 5 && PlayerData.reason.substr(0, 3) == "排行榜")
ShowMessageDialog('DoNothing', "恭喜S7原始" + PlayerData.reason, true);
}

View File

@@ -164,9 +164,9 @@ TouhouCard.prototype.ShowInfo = function() {
var isItem = this.bIsItem;
var quality = data.quality;
if ( isItem ) {
$("#CardInfoName").text = $.Localize("DOTA_Tooltip_ability_" + data.cardname);
$("#CardInfoName").text = $.Localize("#DOTA_Tooltip_ability_" + data.cardname);
} else {
$("#CardInfoName").text = $.Localize(data.cardname);
$("#CardInfoName").text = $.Localize("#" + data.cardname);
}
var CardInfoContent = $("#CardInfoContent");
@@ -223,12 +223,12 @@ TouhouCard.prototype.ShowInfo = function() {
for (var i = 0; i < 8; i++) {
var abilityname = "thtd_" + data.cardname + "_0" + i;
var key = "DOTA_Tooltip_ability_" + abilityname;
var nameText = $.Localize(key);
if (nameText !== key) {
var nameText = $.Localize("#" + key);
if (nameText !== "#" + key) {
if (nameText.substr(0, 5) === "link_") {
key = nameText.substr(5, nameText.length - 5);
abilityname = key.substr("DOTA_Tooltip_ability_".length, key.length - "DOTA_Tooltip_ability_".length);
nameText = $.Localize(key);
nameText = $.Localize("#" + key);
}
var panel = CardAbilities.GetChild(index++);
if (!panel) {