+
|
... |
Cookie Monsterの日本語版を用意しました。
使用したい方はver2.022以降で
javascript:Game.LoadMod("./CookieMonster.js");
をブックマークレットにするか、Game.LoadMod以降をコンソールに入力することで利用できます。
翻訳により挙動が通常版のCookie Monsterと変わっている場合があります。
(※誤訳等あるかもしれません。)
Frozen Cookies、Cookie Garden Helperにつきましては、コードのライセンスや使用許可などが確認できないため現状保留とさせていただきます。
「抗えぬ運命の手」結果予測ブックマークレット 翻訳版
(function(global){
/* for setting */
var refleshInterval=1000;
/* internal variables */
var randcounter=0;
var M=(Game.Objects['魔法使いの塔']||Game.ObjectsById[7]).minigame;
var localMath=Object.create(Math);
/* functions */
var choose = function (arr) {return arr[localMath.floor(localMath.random()*arr.length)];};
var isFail = function (spell, obj)
{
var obj=obj||{};
var failChance=M.getFailChance(spell);
if (typeof obj.failChanceSet!=='undefined') failChance=obj.failChanceSet;
if (typeof obj.failChanceAdd!=='undefined') failChance+=obj.failChanceAdd;
if (typeof obj.failChanceMult!=='undefined') failChance*=obj.failChanceMult;
if (typeof obj.failChanceMax!=='undefined') failChance=Math.max(failChance, obj.failChanceMax);
return ((!spell.fail || (localMath.random()<(1 - failChance)))?true:false);
};
var gamble={
win:function()
{
var selfCost=M.getSpellCost(M.spells['gambler\'s fever dream']);
var spells=[];
for (var i in M.spells)
{if (i!='gambler\'s fever dream' && (M.magic-selfCost)>=M.getSpellCost(M.spells[i])*0.5) spells.push(M.spells[i]);}
if (spells.length==0){return ("何も唱えられない")}
var selected=choose(spells);
var result="";
localMath.seedrandom(Game.seed + '/' + (M.spellsCastTotal+1));
if (selected.name == '抗えぬ運命の手') {
result = isFail(selected, {failChanceMax:0.5})?hand.win(randcounter):hand.fail(randcounter);
return ("<b>" + selected.name + "</b>が唱えられ、" + result + "が起こる");
} else {
result = isFail(selected, {failChanceMax:0.5})?"成功":"失敗";
return ("<b>" + selected.name + "</b>が唱えられ、<b>" + result + "</b>する");
}
},
};
var hand={
failFunc:function(fail)
{
var golden=0; /* game */
return fail+0.15*golden;
},
win:function(cycle)
{
localMath.random();localMath.random(); /* by shimmer.initFunc */
for(i=0;i<cycle;i++){localMath.random();} /* by PlaySound or season shimmer */
var choices=[];
choices.push('フィーバー','ツイてる');
if (!Game.hasBuff('Dragonflight')) choices.push('クリックフィーバー');
if (localMath.random()<0.1) choices.push('吹けよ風、呼べよクッキー','吹けよ風、呼べよクッキー','お喋り');
if (Game.BuildingsOwned>=10 && localMath.random()<0.25) choices.push('施設特殊効果');
/* if (localMath.random()<0.2) choices.push('渋滞発生','呪われた指','台無し'); */
if (localMath.random()<0.15) choices=['単体吹けよ風、呼べよクッキー'];
if (localMath.random()<0.0001) choices.push('あっまーーい!');
return ("金 ("+choose(choices) + ")");
},
fail:function(cycle)
{
localMath.random();localMath.random(); /* by shimmer.initFunc */
for(var i=0;i<cycle;i++){localMath.random();} /* by PlaySound or season */
var choices=[];
choices.push('渋滞発生','台無し');
if (localMath.random()<0.1) choices.push('呪われた指','荒ぶるおばあちゃん');
if (localMath.random()<0.003) choices.push('あっまーーい!');
if (localMath.random()<0.1) choices=['お喋り'];
return ("赤 ("+choose(choices) + ")");
}
};
var testSpell = function () {
var ret="";
var spellTotal=M.spellsCastTotal;
randcounter=0;
if (Game.season=='easter' || Game.season=='valentines') {randcounter++;}
if (Game.chimeType==1 && Game.ascensionMode!=1) {randcounter++;}
/* Gamblers Fever Dream */
ret += '<p><h3>博徒の熱き夢</h3>';
localMath.seedrandom(Game.seed + '/' + spellTotal);
spellResult=isFail(gamble)?gamble.win():gamble.fail();
ret += ('<h5 style="padding-left:1em">' + spellResult + '</h5></p>');
/* Hand of Fate */
ret+='<p><h3>抗えぬ運命の手</h3><table style="margin:auto;width:90%">';
ret+='<tr><th></th><th>変化値 0</th><th>変化値 1</th><th>変化値 2</th></tr>';
for(var i=1;i<=10;i++) {
ret+='<tr><td>'+i+'</td>';
for(var j=0;j<=2;j++) {
localMath.seedrandom(Game.seed + '/' + (spellTotal + i - 1));
var spellFail=isFail(hand);
var spellResult=spellFail?hand.win(j):hand.fail(j);
if (spellFail) {
ret += ('<td style="margin:1px;');
} else {
ret += ('<td style="margin:1px;color:red;');
}
if (randcounter == j) {
ret += ('font-weight:bold;">' + spellResult + '</td>');
} else {
ret += ('">' + spellResult + '</td>');
}
}
ret+='</tr>';
}
ret+='</table></p>';
Math.seedrandom();
return ret;
};
/* panel creation */
var panel = document.createElement('div');
panel.setAttribute("id", "grimoireNext");
panel.setAttribute("class", "framed note");
panel.style.cssText='margin:3px auto; width:80%';
document.getElementById("grimoireContent").appendChild(panel);
panel.innerHTML = testSpell();
/* auto refresh */
setInterval(function(){panel.innerHTML = testSpell();},refleshInterval);
})(this);
|