21 Star 143 Fork 71

锅巴汉化 / 猫国建设者(Kittens Game)

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
index.html 39.94 KB
一键复制 编辑 原始数据 按行查看 历史
petercheney 提交于 2023-12-31 16:55 . 替换
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950
<!doctype html>
<html lang="zh_CN">
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?5ebe572e50425975e9bb5543706f62e6";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<head>
<meta charset="utf-8">
<meta http-equiv="Cache-Control" content="private, no-cache, no-store">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
if (window.location.pathname && window.location.pathname.indexOf('//') === -1) {
if (typeof navigator.serviceWorker !== 'undefined') {
navigator.serviceWorker.register('serviceWorker.js');
}
}
</script>
<link rel="shortcut icon" href="res/favicon.gif" type="image/x-icon">
<!-- I only use jquery ironically -->
<!-- <script src="lib/react.min.js"></script> -->
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-y/react/0.14.10/react.min.js"></script>
<!-- Local versions of libs will be hosted so our Chinese players wont be forced to use VPN -->
<!-- <script src="lib/jQuery.js?v=_2"></script> -->
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-y/jquery/3.6.0/jquery.min.js"></script>
<!-- <script src="lib/dojo.xd.js"></script> -->
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-y/dojo/1.6.0/dojo.xd.js"></script>
<!-- <script src="lib/lz-string.js"></script> -->
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-y/lz-string/1.4.1/lz-string.js"></script>
<!-- <script src="lib/dropbox_v2.js"></script> -->
<!-- <script src="lib/md5.js"></script> -->
<!-- friends don't let friends use AMD and require.js -->
<!-- <script src="lib/system.js?v=_2"></script> -->
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-y/systemjs/0.21.6/system.js"></script>
<script>
if (typeof React === 'undefined') {document.write(decodeURI('%3Cscript%20src=%22lib/react.min.js%22%3E%3C/script%3E'));}
if (typeof jQuery === 'undefined') {document.write(decodeURI('%3Cscript%20src=%22lib/jQuery.js%22%3E%3C/script%3E'));}
if (typeof dojo === 'undefined') {document.write(decodeURI('%3Cscript%20src=%22lib/dojo.xd.js%22%3E%3C/script%3E'));}
if (typeof LZString === 'undefined') {document.write(decodeURI('%3Cscript%20src=%22lib/lz-string.js%22%3E%3C/script%3E'));}
if (typeof SystemJS === 'undefined') {document.write(decodeURI('%3Cscript%20src=%22lib/system.js%22%3E%3C/script%3E'));}
</script>
<!-- <script async src="lib/google.js"></script> -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-0QBDX221PR"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-0QBDX221PR');
</script>
<script type="text/javascript">
var now = Date.now();
$("<link />").attr("rel", "stylesheet").attr("type", "text/css").attr("href", "res/default.css?v=" + new Date().getMonth()).appendTo($("head"));
</script>
<script>
/**
* Workaround for IE9 local storage :V
*
* This fix is intended for IE in general and especially for IE9,
* where localStorage is defined as system variable.
*
*/
window.LCstorage = window.localStorage;
if (document.all && !window.localStorage) {
window.LCstorage = {};
window.LCstorage.removeItem = function() {};
}
</script>
<script type="text/javascript">
var version = "1493";
var buildRevision = 0;
var ksVision = 0;
var loadingProgress = 0,
progressMax = 0;
var loadingMessages = [
"喵~",
"喵喵~",
"喵喵喵~",
"喵喵喵喵~",
"喵喵喵喵喵~",
];
function loadModule(module) {
loadingProgress++;
console.log("loading module " + module + "...");
var progress = (loadingProgress / progressMax) * 100;
$("#loadingProgressBar").attr("value", progress);
var i = (Math.floor(Math.random() * loadingMessages.length));
$("#loadingProgressInfo").html(loadingMessages[i] + "...&nbsp(" + progress.toFixed() + "%)");
return System.import(module + ".js?rev_=" + buildRevision);
}
function _import(module, def) {
if (!def) {
return loadModule(module);
} else {
return def.then(function() {
return loadModule(module);
}).catch(function(err) {
console.error("_import#: unable to load module:", module);
console.trace(err);
});
}
}
function loadTheme(themeId, timestamp) {
$("<link />")
.attr("rel", "stylesheet")
.attr("type", "text/css")
.attr("href", "res/theme_" + themeId + ".css?_=" + buildRevision)
.appendTo($("head"));
}
dojo.addOnLoad(function() {
var displayedVersion = version.split('').join('.');
if (window.location.href.indexOf("alpha") >= 0) {
displayedVersion += "-&alpha;";
} else if (window.location.href.indexOf("beta") >= 0) {
displayedVersion += "-&beta;";
}
$("#tooltip").hide();
SystemJS.config({
baseURL: ''
});
var modules = [
"js/resources",
"js/calendar",
"js/buildings",
"js/village",
"js/science",
"js/workshop",
"js/diplomacy",
"js/religion",
"js/achievements",
"js/jsx/left.jsx",
"js/jsx/mid.jsx",
"js/jsx/toolbar.jsx",
"js/jsx/chiral.jsx",
"js/jsx/queue.jsx",
//required for defining IReactAware, will be relied upon by js/space
"js/ui",
"js/space",
"js/prestige",
"js/time",
"js/stats",
"js/challenges",
"js/void",
"js/math",
"game",
"js/toolbar"
];
progressMax = modules.length + 3;
console.log("Loading...");
//------ preload theme id ---------
var loadedTheme = [];
var uiData = LCstorage["com.nuclearunicorn.kittengame.ui"];
var uiSettings = uiData && JSON.parse(uiData);
if (uiSettings) {
if (uiSettings.theme) {
$("body").addClass("scheme_" + uiSettings.theme);
loadedTheme.push(uiSettings.theme);
}
}
$("#schemeToggle").on('change', function () {
let theme = $('#schemeToggle').val();
if (loadedTheme.indexOf(theme) == -1) {
loadedTheme.push(theme);
loadTheme(theme);
}
gamePage.toggleScheme(theme);
});
var def = $.getJSON("build.version.json?=" + now).then(function(json) {
buildRevision = json.buildRevision;
ksVision = json.ksVision;
loadedTheme.length > 0 && loadTheme(uiSettings.theme);
console.log("build revison is" + buildRevision);
$("#versionLink").html(displayedVersion + ".r" + buildRevision);
});
def = _import("config", def);
def = _import("i18n", def);
def.then(function() {
console.log("Loading locale system");
var langPromise = i18nLang.init(buildRevision + "2");
langPromise.done(function() {
loadingMessages = [
$I("ui.loading.msg.0"),
$I("ui.loading.msg.1"),
$I("ui.loading.msg.2"),
$I("ui.loading.msg.3"),
$I("ui.loading.msg.4"),
$I("ui.loading.msg.5"),
$I("ui.loading.msg.6"),
$I("ui.loading.msg.7"),
$I("ui.loading.msg.8"),
$I("ui.loading.msg.9"),
$I("ui.loading.msg.10"),
$I("ui.loading.msg.11"),
$I("ui.loading.msg.12"),
$I("ui.loading.msg.13"),
$I("ui.loading.msg.14"),
$I("ui.loading.msg.15"),
];
def = _import("core", def);
def.then(function() {
console.log("Loading game modules");
for (var i in modules) {
def = _import(modules[i], def);
}
def.then(initGame);
});
}).fail(function() {
console.log("Unable to load locales");
});
});
});
function initGame() {
console.log("About to initialize the game");
$("#loadingContainer").hide();
$("#game").show();
try {
gamePage = game = new com.nuclearunicorn.game.ui.GamePage();
gamePage.setUI(new classes.ui.DesktopUI("gameContainerId"));
gamePage.telemetry.version = version;
gamePage.telemetry.buildRevision = buildRevision;
if (window.location.href.indexOf("beta") >= 0) {
gamePage.telemetry.buildRevision += "-b";
}
//--------------------------
// var dropBoxClient = new Dropbox.Dropbox({clientId: "u6lnczzgm94nwg3"}); //the starting Dropbox object
// game.setDropboxClient(dropBoxClient);
gamePage.load();
gamePage.updateKarma();
gamePage.render(true);
gamePage.ui.renderFilters();
gamePage.ui.onLoad();
gamePage.start();
var config = new classes.KGConfig();
//update eldermass gifts on every game load pass
//TODO: toggle timer in the background?
gamePage.checkEldermass();
//---------------------------------
var host = window.location.hostname;
gamePage.isLocalhost = window.location.protocol == "file:" || host == "localhost" || host == "127.0.0.1";
if (gamePage.isLocalhost) {
$("#devModeButton").show();
}
} catch (ex) {
if (game && game.telemetry) {
game.telemetry.logEvent("error", ex);
}
console.error(ex);
console.trace();
}
}
function dev() {
if (gamePage.isLocalhost) {
$("#dev_boostCalendar").show();
$("#devPanelCheats").show();
gamePage.devMode = true;
gamePage.render();
}
}
function dev_boostCalendar() {
gamePage.calendar.ticksPerDay = 1 / 3;
}
function wipe() {
gamePage.wipe();
}
</script>
<title>猫国建设者 - Kittens Game - 一款黑暗灵魂增量游戏</title>
</head>
<body>
<!--汉化零碎文本 <script src="chs/chs.js?v=3"></script> <script src="chs/chscore.js?v=3"></script> -->
<div id="gamePageContainer">
<div id="topBar">
<div style="padding-left: 10px; min-width: 0px; max-width: 400px; overflow: hidden; text-overflow: ellipsis;">
<span class="gameTitle">Kittens Game </span>
<span style="font-size: small;">
by <a href="http://kittensgame.com/" class="copyright" target="_blank" tabindex="-1">bloodrizer</a>
</span>
<!--- a Dark Souls of incremental gaming -->
<a href="#" style="color: red">
<!-- nothing exceptional there so far -->
</a>
<span id="motd">
<!-- motd -->
</span>
<span style="font-size: small;">
<a href="https://kittensgame.com/beta" title="测试版本" target="_blank" style="opacity:0.6;">&beta;</a>
<a href="https://kittensgame.com/web" title="国外英文官网版本" target="_blank"><strong>ML</strong></a>
<a href="https://lolitalibrary.com/maomao/" title="备用网站" target="_blank"><strong>C</strong></a>
</span>
</div>
<div id="devPanel" style="display:inline-block; padding-left: 15px; font-size: 14px;">
<div id="devPanelFPS" onclick="gamePage.restartFPSCounters()">
</div>
<div id="devPanelCheats" style="display:none">
<a href="#" onclick="gamePage.science.unlockAll();">All techs</a>
<a href="#" onclick="gamePage.workshop.unlockAll();">All upgrades</a>
<a href="#" onclick="gamePage.resPool.maxAll();">All resources</a>
<a href="#" onclick="gamePage.bld.devAddStorage();">More storage</a>
<a href="#" onclick="gamePage.unlockedSchemes = gamePage.ui.allSchemes; gamePage.ui.updateOptions();">All themes</a>
</div>
</div>
<div id="headerLinks">
<div id="headerToolbar" style="font-size: 12px; padding-top: 3px;">
<!-- toolbar panel goes there -->
</div>
<span id="autosaveTooltip" style="padding-right: 15px; font-size: 12px; opacity: 0;">autosaving...</span>
<span id="saveTooltip" style="padding-right: 15px; font-size: 12px; opacity: 0;">Saved!</span>
</div>
<div class="links-block" style="padding-top:3px; display:inline-flex;">
<a id="save-link" href="#" onclick="gamePage.saveUI();" title="本地保存在浏览器缓存里" >Save</a> |
<a id="options-link" href="#" onclick="$('#optionsDiv').toggle();">Options</a> |
<a id="reset-link" href="#" onclick="gamePage.reset();">Reset</a> |
<span id="devModeButton" style="display: none;"><a href="#" id="devBtn" onclick="dev();">DEV</a> |</span>
<a id="wipe-link" href="#" onclick="wipe();">Wipe</a> |
<a id="getTheApp-link" href="#" onclick="gamePage.ui.displayAppDialog();" style="font-weight: bold; color:#666;">Get the app</a> |
<a target="_blank" onclick='changelog();'>Ver <span id="versionLink">?.?.?.?</span></a>
<a href="#" id="newVersion" onclick="gamePage.reload();" title="有新版本 !" style="display:none"></a>
</div>
</div>
<div id="loadingContainer">
<div class="content">
<span style="font-size:18px;"><img class="loader" width="16" height="16" src="res/ajax-loader.gif" alt="加载中">&nbsp;加载中...<br></span>
<br>
<progress id="loadingProgressBar" value="0" max="100"></progress>
<div id="loadingProgressInfo">Setting up game engine...</div>
</div>
</div>
<div id="game" style="display:none;">
<div id="tooltip" class="button_tooltip"></div>
<!-- LEFT -->
<div id="leftColumn" class="column" style="vertical-align: top;">
<div id="leftColumnViewport">
加载中...
</div>
</div>
<!-- MID -->
<div id="midColumn" style="vertical-align: top;" class="column">
<div id="midColumnViewport" style="float:right; padding: 5px;">
&nbsp;加载中...
</div>
<div id="gameContainerId" style="border: 1px solid gray;">
<div id="gameContainerHelp" style="font-size:150%;">
看起来游戏错误。别担心试试这几个办法。<br>
<ul>
<li>确保启用了JavaScript 或者 广告插件 不在工作。</li>
<li>使用 Ctrl+F5 强制刷新。</li>
<li>过十几分中后再打开游戏。.</li>
<li>导出你的存档,保存好,清空游戏数据,再重新导入存档。
<ul>
<li>按下F12 会有弹窗,</li>
<li>点击"Console"(控制台),</li>
<li>截图 (红色字体),</li>
<li>请点击<a href="https://jq.qq.com/?_wv=1027&k=47jg387">这个链接</a>加入同好会。</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<!-- RIGHT -->
<div id="rightColumn" class="column">
<div>
<span id="calendarSign" style="cursor:pointer;"></span><span id="calendarDiv" style="cursor:pointer;">Calendar :V</span>
<a id="dev_boostCalendar" href="#" onclick="dev_boostCalendar();" style="display: none; text-decoration: none; position: relative; left: 5px;">&gt;&gt;&gt;</a>
</div>
<div class="right-tab-header">
<a id="logLink" href="#" class="active" onclick="gamePage.ui.hideChat();">Log</a>
<a id="chatLink" class="chatLink" href="//shang.qq.com/wpa/qunwpa?idkey=2b9f0b27b1aabbce582429184ec05344fa384f59bf410f44071f42b271866338" target="_blank" title="点击加入猫薄荷同好会QQ群:499256691(答案:猫国建设者)">聊天</a>
<a id="queueLink" class="queueLink" href="#" onclick="gamePage.ui.loadQueue();">Queue</a>
</div>
<div id="observeButton"></div>
<div class="right-tab" id="rightTabLog">
<div>
<div class="console-intro" style="padding-top: 10px; border-top: 1px solid gray;">
You are a kitten in a catnip forest.
</div>
<span id="clearLog">
<a id="clearLogHref" href="#" onclick="gamePage.clearLog();">Clear log</a>
</span>
<span id="logFiltersBlock" style="padding-top: 5px">
<a id="logFiltersBlockText" onclick="gamePage.toggleFilters();" href="#">[<span id="filterIcon">+</span>] Log
Filters</a>
</span>
<a id="pauseBtn" style="font-size: 12px;" href="#" title="Pause/unpause the game" onclick="gamePage.togglePause();">pawse</a>
<a id="undoBtn" style="font-size: 12px;" href="#" title="Undo the change" onclick="gamePage.undo();">undo</a>
<div id="logFilters" style="display:none">
</div>
</div>
<div id="gameLog" style="overflow-y: scroll; padding-top: 10px; height: 100%; min-height:100%;">
<!-- Log goes there -->
</div>
</div>
<div class="right-tab" id="rightTabQueue" style="display:none;">
<div id="queueViewport"></div>
</div>
<div class="right-tab" id="rightTabChat" style="display:none;">
<div id="IRCChatInner">
<!--iframe-- src="https://kiwiirc.com/client/irc.canternet.org/?nick=kitten_?#kittensgame" style="border:0; width: 400px; height:800px;"></iframe-->
<!--<iframe id="kiwiirc_iframe" style="border:0; width: 400px; height:800px;"></iframe>-->
</div>
</div>
</div>
<div
id="toggleCenter" onClick="gamePage.ui.toggleCenter();" class="column" tooltip="Toggle centered view"
>
<span class="toggleCenter">&gt;</span>
</div>
</div>
<div id="creditsDiv" style="display: none" class="dialog credits">
<a id="dialogClose" class="close" href="#" onclick="$('#creditsDiv').hide();" style="position: absolute; top: 10px; right: 15px;">close</a>
CSS themes: shrx, Kida, Volkeyrn (see top bar of each theme).<br />
<br /> Code contributions:
<ul>
<li>
<a href="http://www.reddit.com/user/Zusias" target="_blank">Zusias</a>
</li>
<li>Duke</li>
<li title="For years of dedication and support">
<a href="http://www.reddit.com/user/xranti" target="_blank">xranti</a>
</li>
<li>
<a href="http://www.reddit.com/user/klusark" target="_blank">klusark</a>
</li>
<li title="For save editor, inspiration and years of dedication and support">
<a href="https://coderpatsy.bitbucket.io/" target="_blank">coderpatsy</a>
</li>
<li>ArcanisCz</li>
<li>Kida</li>
<li title="For years of dedication and support">
freeroot
</li>
<li title="For years of dedication and support">
Ethaniel
</li>
<li title="Alpha branch, challenges, years of contribution">
Kyogre
</li>
<li title="For years of managing IRC and the wiki">
wikimon
</li>
<li title="Policies design and being a Grand Mufti">
Hunter
</li>
<li title="Policies, general code stuff">
Ziggurat
</li>
<li title="Exploration, general code stuff">
plcp_
</li>
<li title="Themes implementation">
Volkeyrn
</li>
<li title="help with i18n and localization">
<a href="http://www.reddit.com/user/Pellax">PellaAndroid</a>
</li>
</ul>
Thanks a lot to 4chan/igg for being such a nice guys.<br> Thanks a lot to /r/kittensgame community for all the feedback
and testing.<br /> Special thanks to Kittens Game discord mods and members<br /> Special thanks for anyone who is not
in the list, we still love you &lt;3<br /> tumblr icon by
<a href="https://moonlight-pendent13.deviantart.com">Moonlight-pendent13</a><br />
<br /> Warmest thanks to
<a href="http://www.reddit.com/user/ainil" target="_blank">ainil</a> for the long months of support and feedback during the formative days of KG.<br />
<br /> Thanks to mothloveslamp for supporting me and keeping me sane in my darkest hours.<br />
<br /> And finally, my undying gratitude to Waraiko.
<br />
<br />
</div>
<div id="optionsDiv" style="display: none;" class="dialog help">
<a id="optionsDialogClose" href="#" class="close" onclick="gamePage.closeOptions()" style="position: absolute; top: 10px; right: 15px;">close</a>
<label id="optionLanguage" for="languageSelector">Language:</label>
<select id="languageSelector" onchange="gamePage.ui.updateLanguage()">
</select> &nbsp;
<a id="addTranslationLink" target="_blank" href="https://crowdin.com/project/kittensgame" style="font-size:14px;">Translation portal</a>
<a id="languageApplyLink" href="#" onclick="gamePage.ui.applyLanguage()" style="display: none; padding-left: 15px;">Apply changes</a>
<br>
<br>
<label id="optionNotation" for="notationSelector">Notation:</label>
<select id="notationSelector" onchange="gamePage.ui.updateNotation()">
</select>
<br>
<br>
<label id="optionScheme" for="schemeToggle">Color scheme:</label>
<select id="schemeToggle">
</select> &nbsp;
<a id="schemeRelock" href="#" onclick="gamePage.ui.relockSchemes()" style="font-size:14px;">Relock schemes</a>
<br><em><span id="schemeTip" style="font-size: 70%;">Schemes that you cannot select yet can be permanently unlocked by specific actions.</span></em>
<br>
<br>
<input id="workersToggle" type="checkbox" onclick="gamePage.useWorkers = $('#workersToggle')[0].checked;">
<label id="optionWorkers" for="workersToggle">Use web worker
<em>(game works correctly in background tab, may cause performance issues)
<br>
You need to refresh the browser page for this setting to take effect.
</em></label>
<br>
<!-- ===================================== NOTE: FOR FULL I18N SUPPORT ===================================== -->
<!-- add new option text into en.json and code for i18n in ui.js:classes.ui.DesktopUI.updateIndexHTMLLanguage -->
<input id="forceHighPrecision" type="checkbox" onclick="gamePage.opts.forceHighPrecision = $('#forceHighPrecision')[0].checked;">
<label id="optionForceHighPrecision" for="forceHighPrecision">Use high precision for resource values</label>
<br>
<input id="usePerSecondValues" type="checkbox" onclick="gamePage.opts.usePerSecondValues = $('#usePerSecondValues')[0].checked;">
<label id="optionUsePerSecondValues" for="usePerSecondValues">Use per second values <em>(per tick otherwise)</em></label>
<br>
<input id="usePercentageResourceValues" type="checkbox" onclick="gamePage.opts.usePercentageResourceValues = $('#usePercentageResourceValues')[0].checked;">
<label id="optionUsePercentageResourceValues" for="usePercentageResourceValues">Use percentage resource production values</label>
<br>
<input id="showNonApplicableButtons" type="checkbox" onclick="gamePage.opts.showNonApplicableButtons = $('#showNonApplicableButtons')[0].checked;">
<label id="optionShowNonApplicableButtons" for="showNonApplicableButtons">Always show festivals/trade/sacrifice/shatter buttons even if not applicable</label>
<br>
<input id="usePercentageConsumptionValues" type="checkbox" onclick="gamePage.opts.usePercentageConsumptionValues = $('#usePercentageConsumptionValues')[0].checked;">
<label id="optionUsePercentageConsumptionValues" for="usePercentageConsumptionValues">Use percentage values for craft/trade/sacrifice buttons</label>
<br>
<input id="highlightUnavailable" type="checkbox" onclick="gamePage.opts.highlightUnavailable = $('#highlightUnavailable')[0].checked;">
<label id="optionHighlightUnavailable" for="highlightUnavailable">Highlight buildings limited by storage space</label>
<br>
<input id="set-ks-enable" type="checkbox">
<label id="ks-label" for="set-ks-enable">小猫珂学家</label><a href="https://lolitalibrary.com/wiki/?file=004-第三方工具/02-小猫科学家" target="_blank">&nbsp;&nbsp;[使用说明书]</a>
<!-- [<a href="https://gitee.com/likexia/cbc-kitten-scientists" target="_blank" style="color:blue;text-decoration:none;" title="点击查看">教程</a>] -->
<br>
<input id="set-kgp-enable" type="checkbox">
<label id="kgp-label" for="set-kgp-enable">资源进度条</label>
<br>
<input id="autoSaveReset" type="checkbox" onclick="gamePage.opts['autoSaveReset'] = $('#autoSaveReset')[0].checked;">
<label id="optionAutoSaveReset" for="autoSaveReset">重置游戏自动备份存档<em>(需要在浏览器设置下载保存位置!)</em></label>
<br>
<input id="hideSell" type="checkbox" onclick="gamePage.opts.hideSell = $('#hideSell')[0].checked;">
<label id="optionHideSell" for="hideSell">Hide 'sell' buttons</label>
<br>
<input id="hideDowngrade" type="checkbox" onclick="gamePage.opts.hideDowngrade = $('#hideDowngrade')[0].checked;">
<label id="optionHideDowngrade" for="hideDowngrade">Hide 'downgrade' buttons</label>
<br>
<input id="hideBGImage" type="checkbox" onclick="gamePage.opts.hideBGImage = $('#hideBGImage')[0].checked; gamePage.ui.updateOptions();">
<label id="optionHideBGImage" for="hideBGImage">Hide background image <em>(for color schemes where applicable)</em></label>
<br>
<input id="tooltipsInRightColumn" type="checkbox" onclick="gamePage.opts.tooltipsInRightColumn = $('#tooltipsInRightColumn')[0].checked; gamePage.ui.updateOptions();">
<label id="optionTooltipsInRightColumn" for="tooltipsInRightColumn">Move tooltips in right column</label>
<br>
<br>
<a id="optionMore" href="#" onclick="$('.optsExtra').toggle();">More...</a>
<!-- looks like a to niche option to occupy entire setting slot -->
<div class="optsExtra" style="display:none;">
<input id="noConfirm" type="checkbox" onclick="gamePage.opts.noConfirm = $('#noConfirm')[0].checked;">
<label id="optionNoConfirm" for="noConfirm">Do not confirm when clearing all jobs, researching policy or when buying or selling all (Shift-click)</label>
<br>
<input id="IWSmelter" type="checkbox" onclick="gamePage.opts.IWSmelter = $('#IWSmelter')[0].checked;">
<label id="optionIWSmelter" for="IWSmelter">Smelters turn off at 95% max Iron in Iron Will mode</label>
<br>
<input id="disableTelemetry" type="checkbox" onclick="gamePage.opts.disableTelemetry = $('#disableTelemetry')[0].checked;">
<label id="optionDisableTelemetry" for="disableTelemetry">Disable game telemetry</label>
<br>
<input id="enableRedshift" type="checkbox" onclick="gamePage.opts.enableRedshift = $('#enableRedshift')[0].checked;">
<label id="optionEnableRedshift" for="enableRedshift">Enable offline progression</label>
<br>
<input id="disablePollution" type="checkbox" onclick="gamePage.opts.disablePollution = $('#disablePollution')[0].checked;">
<label id="optionDisablePollution" for="disablePollution">Disable pollution effects</label>
<br>
<input id="enableRedshiftGflops" type="checkbox" onclick="gamePage.opts.enableRedshiftGflops = $('#enableRedshiftGflops')[0].checked;">
<label id="optionEnableRedshiftGflops" for="enableRedshiftGflops">启用浮点的离线进度</label>
<br>
<input id="batchSize" type="number" min="1" max="9999" size="4" oninput="$('#batchSize')[0].value = gamePage.opts.batchSize = Math.max(1, Math.min(9999, $('#batchSize')[0].value));">
<label id="optionBatchSize" for="batchSize">Batch size of Ctrl-click</label>
<br>
<input id="forceLZ" type="checkbox" onclick="gamePage.opts.forceLZ = $('#forceLZ')[0].checked;">
<label id="optionForceLZ" for="forceLZ" style="font-size: 75%;">Always compress in-memory save, in UTF-16 <em>(experimental)</em></label>
<br>
<input id="compressSaveFile" type="checkbox" onclick="gamePage.opts.compressSaveFile = $('#compressSaveFile')[0].checked;">
<label id="optionCompressSaveFile" for="compressSaveFile" style="font-size: 75%;">Compress exported save file <em>(experimental)<br>
WARNING: it generates save files that are NOT COMPATIBLE with older versions.</em></label>
<br>
</div>
<br>
<input id="exportButton" type="button" value="Export" onclick="gamePage.saveExport();">
<input id="importButton" type="button" value="Import" onclick="$('#importData').val(''); $('#importDiv').show();" style="margin-top: 10px;">
<br>
</div>
<div id="exportDiv" style="display: none" class="dialog help">
<h1 id="exportTo">Export To:</h1>
<!-- <input id="exportToDropbox" type="button" onclick="gamePage.saveExportDropbox();" value="Dropbox (Beta)"> -->
<input id="exportToSimpleFile" type="button" onclick="gamePage.saveToFile(false);" value="File (simple name)">
<input id="exportToFullFile" type="button" onclick="gamePage.saveToFile(true);" value="File (full name)">
<a id="download-link" target="_blank" style="display: none"></a>
<br>
<span>注意:推荐导出txt传递,QQ和微信发送字母数字有长度限制</span>
<br>
<h1 id="exportToText">Text Export:</h1>
<br>
<textarea id="exportData" style="width: 550px; height: 220px;" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
<br>
<input id="closeButton" type="button" value="Close" onclick="$('#exportDiv').hide();" style="margin-top: 10px;">
</div>
<div id="importDiv" style="display: none" class="dialog help">
<div id="importWarning">Warning! Importing data will overwrite your current game data.</div>
<input id="importFile" type="file" value="选择存档文件"/>
<input id="doFileImportButton" type="button" value="使用文件导入" onclick="readText();" style="margin-top: 10px;">
<br>
<span>上面选择文件后点击'使用文件导入'。</span>
<br>
<h1 id="importFromText">Text Import:</h1>
<!-- <input id="importFromDropbox" type="button" onclick="gamePage.saveImportDropbox();" value="Dropbox (Beta)"> -->
<br>
<textarea id="importData" style="width: 550px; height: 220px;" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
<br>
<span>在上面文本框粘贴“字母”存档,后再点击'导入'按钮</span>
<br>
<input id="doImportButton" type="button" value="Import" onclick="gamePage.saveImport(); $('#importDiv').hide();" style="margin-top: 10px;">
<input id="cancelButton" type="button" value="Cancel" onclick="$('#importDiv').hide();" style="margin-top: 10px;">
</div>
<div id="appDiv" style="display: none" class="dialog help">
<a id="appDialogClose" href="#" class="close" style="position: absolute; top: 10px; right: 15px;">close</a>
<span id="appText">Kittens Game Mobile has been released! Click on the link to follow:</span>
<br>
<br>
<a id="appAndroid" target="_blank" href="https://play.google.com/store/apps/details?id=com.nuclearunicorn.kittensgame&hl=en">Android</a>&nbsp;|&nbsp;
<a id="appIOS" target="_blank" href="https://itunes.apple.com/us/app/kittens-game/id1198099725?mt=8">iOS</a>
<br>
<br>
<br>
<!--span style="font-size:12px;">(Will open in a new window)</span-->
</div>
<div id="registerDiv" style="display: none;" align="center" class="dialog help">
<a id="registerDialogClose" href="#" class="close" style="position: absolute; top: 10px; right: 15px;">close</a>
<div style="font-weight: bold; color:#666;">猫国建设者官方账号</div>
<hr>
<div id="registerError" style="display: block;color:#A00000;">&nbsp;</div>
<div>
<br>
<span style="display: block;">推荐使用QQ数字邮箱<br>(可以显示QQ头像和昵称)</span>
<span>电子邮箱:
<br>
<input type="email" id="registerEmail" />
</span>
<form style="display: block;">
<br>密码:
<span style="font-size: 0.8em">(6-30字符)</span>
<br>
<input type="password" id="loginPassword" placeholder="请输入密码" autocomplete="off" />
</form>
<br>
<form style="display: block;">确认密码:
<br>
<input type="password" id="confirmPassword" placeholder="请输入密码" autocomplete="off" />
<br>
</form>
<br>
<div class="btn modern" style="font-size:16px;" onclick="gamePage.server.register();">注册</div>
<div style="color:#01A9DB;">
<ul style = "list-style:none">
<li>因为官方网站注册有几率会被墙。</li>
<li>这里注册可以代替官网注册账号。</li>
<li>右上角选项能导入导出游戏存档。</li>
<li>云存档能多端一键同步游戏存档。</li>
<li>后续设置可能有点麻烦按需使用。</li>
<li>国外官网上传和加载都有些延迟。</li>
</ul>
</div>
</div>
</div>
<div id="importantGiteeDiv" style="display: none" class="dialog help">
<a id="importantGiteeClose" href="#" class="close" style="position: absolute; top: 10px; right: 15px;">close</a>
<ul style = "list-style:none">
<li>由于Gitee官方通知,该网站可能随时被关闭。<br>原因是likexia,idlegame 网页占用了较多网络资源。请相互理解</li>
<li>故请做好做备份,在游戏右上角的选项中可以 导出/导入 游戏存档。</li>
<li>所以我暂时弄了几个备用站。(分流一下~)</li>
<br>Cheney的Gitee备用:<a href="https://petercheney.gitee.io/kitten-game-cn/" title="备用网站" target="_blank" style="text-transform:lowercase;">https://petercheney.gitee.io/kitten-game-cn/</a>
<br>Cheney的备用游戏(推荐~):<a href="https://lolitalibrary.com/maomao/" title="备用网站" target="_blank" style="text-transform:lowercase;"><strong>https://lolitalibrary.com/maomao/</strong></a>
<br>Cheney的备用百科:<a href="https://lolitalibrary.com/wiki/" title="备用网站" target="_blank" style="text-transform:lowercase;"><strong>https://lolitalibrary.com/wiki/</strong></a>
<br>Github的备用游戏:<a href="https://cat-zh-mirror1.github.io/cat-zh/" title="备用网站" target="_blank" style="text-transform:lowercase;">https://cat-zh-mirror1.github.io/cat-zh/</a>
</ul>
</div>
<div id="footerLinks" class="links-block">
<a href="https://lolitalibrary.com/wiki/?file=%E9%A6%96%E9%A1%B5" target="_blank" title="猫国百科全书">百科</a> |
<a class="chatLink" href="//shang.qq.com/wpa/qunwpa?idkey=2b9f0b27b1aabbce582429184ec05344fa384f59bf410f44071f42b271866338" target="_blank" title="点击加入猫薄荷同好会QQ群:499256691,答案:猫国建设者">Q群</a> |
<a href="http://g8hh.com" target="_blank" title="更多好玩的放置游戏,就来锅巴汉化">锅巴汉化</a> |
<!-- <a href="http://kittensgame.tumblr.com" target="_blank">tumblr</a> | -->
<!-- <a href="#" onclick="$('#helpDiv').toggle();">help</a> | -->
<a href="#" onclick="$('#creditsDiv').toggle();">人员</a> |
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=82FJX5M8M3GVN" target="_blank">捐赠</a> |
<a href="https://www.patreon.com/bloodrizer" target="_blank">支持</a>
<!-- | <a href="classic/" target="_blank">classic</a> -->
</div>
</div>
<!--客服 开始-->
<link rel="stylesheet" href="chs/kf.css?v=3" type="text/css" media="screen" charset="utf-8">
<script src="chs/kf.js?v=4"></script>
<!--客服 结束-->
<script type="text/javascript">
var ksLabel = $("#ks-label")[0]
var enableKS = function() {
localStorage['zh.ks.enable'] = 'enable';
var ksLabel = $("#ks-label")[0];
ksLabel.innerText = "可爱的猫猫科学家为您服务";
ksLabel.style.color = 'red';
$('#ks-options').show();
window.ks();
};
var ks = function() {
if (ksVision && window.run === undefined && window.timeKS !== true) {
// "https://petercheney.gitee.io/scientists/kitten-scientists.user.min.js?v="
let srcScientists = "https://gitee.com/petercheney/scientists/raw/master/kitten-scientists.user.min.js?v=";
let a = document.createElement('script');
a.src = srcScientists + new Date().getDate() + ksVision;
clearInterval(timeKS);
timeKS = true;
a.onerror = function () {
game.msg('珂学家加载失败检查下网络');
timeKS = false;
};
document.body.appendChild(a);
}
};
var timeKS;
if (localStorage['zh.ks.enable'] === 'enable') {
timeKS = setInterval('ks()', 1200);
$("#set-ks-enable").prop("checked", true);
ksLabel.innerText = "可爱的猫猫科学家为您服务";
ksLabel.style.color = 'red';
}
$("#set-ks-enable").on('change', function() {
if (localStorage['zh.ks.enable'] === 'enable') {
if (timeKS) {
localStorage.setItem('zh.ks.enable', 'disable');
let engine = $('#toggle-engine');
engine.is(':checked') ? engine.click() : false;
$('#ks-options').hide();
ksLabel.innerText = "启用小猫珂学家";
}
} else {
if (localStorage['zh.ks.enable']) {
enableKS();
} else {
var text = '大项目全勾或者需要啥勾啥~<br><br>珂学家默认小项目已经是设置好了,具体设置请根据自身实际情况调整,并不能做到满足所有人<br>还有问题或者建议,可以在猫国群找Cheney';
if (game.stats.statGroups[0].group[4].val > 59 || game.stats.statGroups[0].group[2].val > 2e3) {
enableKS();
game.msg(text);
} else {
var confirm = window.confirm('为了更好的游戏体验~推荐萌新不开启珂学家\n实在需要请确认');
if (confirm) {
var ret = window.prompt('为了游戏体验: 有60点领导力后开启就无需密码\n重置后会基于猫口数量 - 70 获得领导力(即130猫口)\n一定数量的猫口数量重置比不重置发展快10倍\n\n或者在右下角-百科-猫国萌新指导-猫国萌新指导中找密码\n如果找不到可以在猫国群(499256691)里私聊群主(Cheney)询问密码\n\n比如可以自动观察天文事件和打猎\n打开过珂学家后就不再需密码,设置密码仅仅为了萌新的体验');
if (ret === 'Mr.Cheney') {
enableKS();
game.msg(text);
} else {
game.msg('密错错误','notice');
}
}
}
}
}
});
var loadKGP = function () {
if (ksVision && game.timer) {
let srcKGP = "KGP.min.js?v=";
document.body.appendChild(document.createElement('script')).src = srcKGP + ksVision;
$("#kgp-label").text("资源进度条已启动");
clearInterval(window.timeKGP);
window.timeKGP = null;
}
};
if (localStorage['zh.kgp.enable'] !== 'disable') {
$("#set-kgp-enable").prop("checked", true);
var timeKGP = setInterval(loadKGP, 1000);
}
$("#set-kgp-enable").on('change', function() {
if (!localStorage['zh.kgp.enable'] || localStorage['zh.kgp.enable'] === 'disable') {
localStorage.setItem('zh.kgp.enable', 'enable');
$("#kgp-label").text("资源进度条已启动");
} else {
localStorage.setItem('zh.kgp.enable', 'disable');
$("#kgp-label").text("启用资源进度条");
}
if (window.initKGP) {
initKGP();
} else {
loadKGP();
}
});
var nummonLoad = function() {
if (typeof gamePage !== "undefined") {
// NummonInit();
// https://petercheney.gitee.io/nummoncalc/NummonCalc.min.js?v=
var srcNummon = 'https://gitee.com/petercheney/NummonCalc/raw/master/NummonCalc.min.js?v=';
document.body.appendChild(document.createElement('script')).src = srcNummon + ksVision;
clearInterval(numId);
numId = nummonLoad = srcNummon = null;
}
};
var numId = setInterval(nummonLoad, 2000);
var paragonWebsite = function() {
if (typeof gamePage !== "undefined") {
var b = game.prestige.getParagonStorageRatio();
var c = game.resPool.get('timeCrystal').value;
var d = game.religion.getTU("blackObelisk").val;
var e = localStorage['zh.ks.enable'];
if (b > 2.5 && c > 2.2e5 && d > 55 && e == 'enable') {
for (var i = 0; i < 6; i++) {
var a = '#footerLinks > a:nth-child(' + i + ')';
a = document.querySelector(a);
if (a && a.innerText == "捐赠") {
a.href = 'https://lolitalibrary.com/maoguo/index.html';
a.innerText = "自动领导力";
a.title = "Cheney的网站需要自己导入存档哦";
clearInterval(id);
paragonWebsite = a = b = c = d = e = id = null;
break;
}
}
}
}
};
var id = setInterval(paragonWebsite, 10000);
//var gitee = setTimeout(() => {
// if (game && game.ui) {
// game.ui.showDialog("importantGiteeDiv");
// }
//}, 5000);
function isWeixinMsg() {
var ua = navigator.userAgent.toLowerCase();
if(ua.indexOf('micromessenger') > -1) {
game.msg('请注意微信浏览器不能保存游戏存档<br>请注意微信浏览器不能保存游戏存档<br>请注意微信浏览器不能保存游戏存档<br>推荐使用Chrome或者Edge','alert');
}
}
isWeixinMsg();
function readText() {
var file = document.getElementById("importFile").files[0];
if (!file) {
return;
}
var reader = new FileReader();
reader.readAsText(file);
reader.onload = function(data) {
gamePage.saveImport(this.result);
};
$('#importDiv').hide();
reader = null;
}
function changelog() {
window.open(`changelog.html?v=` + buildRevision);
}
</script>
</body>
</html>
JavaScript
1
https://gitee.com/likexia/cat-zh.git
git@gitee.com:likexia/cat-zh.git
likexia
cat-zh
猫国建设者(Kittens Game)
main

搜索帮助