約 3,921,935 件
https://w.atwiki.jp/mc1710/pages/4.html
※赤文字 →Client側のみ導入MOD ※太文字 →Client・server共通導入MOD ※太文字 →未導入MOD(入れたいMOD) MOD一覧 クライアント・サーバー 共通 MapleTree (紅葉MOD) Treecapitator (木こりMOD) AnimationAPI(なめらかな動きMOD・起動しているか確認中) ArsMagica2 (魔術MOD) ※日本wiki AppleMilkTea2 (ビジュアルMOD) ArmourersWorkshop (装飾・服MOD) Atum (導入済だけどシングルのみ対応) Backpacks (インベントリ追加MOD) Bamboo (竹MOD)※日本wiki BetterDungeons (ダンジョン生成MOD) ※日本wiki BiblioCraft (装飾MOD) BiblioWoods[BiomesOPlenty] (BiblioCraftの追加バイオーム用) BiblioWoods[Forestry] (BiblioCraftの追加バイオーム用) BiomesOPlenty (バイオームMOD) ※日本wiki BouyomiChat (棒読みちゃん連携MOD) ButterflyMania (蝶MOD) Carpenter s Blocks (大工MOD) Chisel2 (装飾ブロックMOD) ClaySoldiers(粘土兵士MOD) ColourfulPortals (ポータルMOD) ※レシピとSSはページ内タブを参照 CraftGuide(クラフトガイドMOD) DamageIndicators (ダメージ表示MOD) CraftingPillars (便利な柱MOD) ※レシピが見える作業台など Decocraft (装飾用MOD)※レシピ dooglamoo (装飾・ペイントMOD) DyeableBeds (カラフルベッドMOD) DynamicLights (光源MOD) extfar fastcraft (パフォーマンス向上MOD) GraveStone Hats HatStand Hostile Mobs and Girls iChunUtil IntelliInput InventoryTweaks ItemPhysic littleMaid LuckyBlock magicalcrops MagicClover MCEconomy MoarFood MoChickens MoreInventory MrCrayfishFurniture MultipleCamera NewDungeons NavyCurryMod NyankoMod OpenBlocks OpenModsLib OptiFine Pam s HarvestCraft plantmegapack PrimitiveMobs PrimitiveTools RetroCookies RoadsMod Ruins SAPManPack SextiarySector ShibainuMod ShinColle StationsMod StorageDrawers Thaumcraft4 TheCampingMod TofuCraft ToiletMod TravelDokodemoDoor twilightforest Waila MODについて 一覧をみてもらうとわかるように、工業系MODはほぼ入れてません。 (PLAYERたちが使いこなせないであろうと判断w) そのかわり、建築系・ダンジョン系・農業系・魔術系・その他の要素を含んだ MODを基本に選んでいます。 minecraft バージョンは 1.7.10 forge バージョンは 10.13.2.1291
https://w.atwiki.jp/mc_memo/pages/15.html
MOD一覧 リンク先は大体Google検索です、バージョン記入は気休め MOD 検索 https //mods.curse.com/mc-mods/minecraft http //mod-minecraft.net/category/minecraft-mods/ http //www.9minecraft.net/ 編集 システムMOD MOD 説明 v 基本システム MinecraftForge MOD前提 - OptiFine 軽量化 / BetterFps FPS向上 / FoamFix 高速化 - Chat Bubbles! チャット吹き出し - Xaero s Minimap ミニマップ(レーダー付き) 1.10.2 VoxelMap ミニマップ(レーダー付き、レーダー顔アイコン表示可能) - Rei s Minimap ミニマップ - IntelliInput 日本語入力 - BetterFonts 綺麗フォント config memo - Hit Splat Damage Indicators HP&ダメージ表示 - ToroHealth Damage Indicators HP&ダメージ表示 1.11.2 Just Enough Items (JEI) レシピ表示 1.10.2 CraftGuide レシピ表示 1.7.10 Just Enough Resources (JER) モンスタードロップ、ダンジョンストレージルート、鉱石深度、植物情報表示 1.10.2 Inventory Tweaks インベントリ・チェスト整頓MOD - Hostile Gnosis Primer 本で敵mobを味方にする 1.8 Geochests 家持ち運びMOD 1.7.10 / 1.7.2 / 1.6.4 Crafting Tweaks クラフティングテーブルに配置操作などの補助ボタンを追加する 1.10.2 操作補助MOD MOD 説明 v 一括破壊 連鎖破壊MOD configをいじらず、ゲーム中にブロックを登録し一括破壊を可能にするMOD - McAssistant 制限付け一発破壊系、自動種植え 1.10.2 レベルシステムMOD MOD 説明 v ステータスシステム Level Up Mod レベルUP時、ステータスポイントが増え、攻撃UPなど割り振ることができる(シングル用、マルチ一部動作確認) 1.12 / 1.7.10 / 1.7.2 エンチャントシステムMOD MOD 説明 v エンチャントシステム More Enchantments MOD エンチャントの種類追加 1.7.10 / 1.7.2 Super Enchants 一部のエンチャントレベル上限UP - エンチャント交換MOD エンチャントをマテリアルとして自由に取り外し可能にしたり、レベル上げができる - 編集 便利MOD MOD 説明 v 機械系 Applied Energistics 2 アイテムをデータ化し保管や転送を可能にする 1.7.10 作業台 EasyCrafting 所持材料で完成品リストから選択してクラフトを可能にする作業台を追加する - アイテム保管 MoreInventoryMod アイテムを保管するためのコンテナ・ポーチなど便利系アイテムを追加する 1.7.2 IronChests 鉄、金、ダイヤなどの大容量チェストを追加する - Storage Drawers アイテムを保管するためのストレージを追加する 1.10.2 / 1.11.2 アイテム運搬 Hopper Ducts Mod ホッパー結合用アイテムを追加し、出し入れ方向を自由にする - アイテム購入 Universal Coins 所持アイテムから購入・販売可能にする - Star-Mall Mod アイテムを購入・販売可能にするコンピュータを追加する - 編集 HARD-MOD MOD 説明 v 難易度UPシステム InfernalMobs ディアブロ風ユーニクモンスターのようなオプション付加されたモンスターが沸くようになる、他のモンスター追加系MODにも適応される 1.12.1 Epic Siege Mod モンスターの意識範囲上昇、ブレイズ地上沸き、遠距離攻撃射程増加、クリーパー破壊行動、ベット無効化、プレイヤー死亡時ゾンビ追加...etc 1.10.2 / 1.7.10 Zombie Awareness ダメージ時出血を追加する、血、音、光源を意識してゾンビなどが寄ってくるようになる、ゾンビが集団行動するようになる 1.12.2 高難易度 Lycanite s Mobs モンスターやペット可能なモンスターを追加する、作業は常に危険と隣り合わせ、ネザーはより一層地獄化とする(クリーパー系modと組み合わせオススメ) - まどマギ MOD 魔女を追加する、便利ツールや強い武器なども追加される、家がよく壊れる 1.6.4(更新停止) Grimoire of Gaia 3 擬人化モンスターを追加する 1.12.2 Ore Spawn モンスター・ディメンションを追加する、食料面はイージーになる 1.7 / 1.6.4 Mutant Creatures 一部のバニラモンスターのミュータント化したモンスターを追加する、独特な動きをする 1.7.10 Eternal Isles モンスター・ディメンション・装備などを追加する 1.7.2 ゲリラVsコマンドー プレイヤーを襲うゲリラを追加する 1.12.2 / 1.10.2 / 1.6.4 / 1.6.2 NoShelter ゾンビを凶暴化させる 1.7.10 Primitive Mobs 複数の新しいクリーパーや個性的なモンスターを追加する、その他蜘蛛ペット、取引NPC追加 1.12.2 匠Craft 大量の狂気クリーパー・装備・ブロック・ディメンションを追加する 1.12.2β 総合MOD 編集 冒険MOD MOD 説明 v 冒険系要素 Magic Crusade RPG mods 6種の職業、ディメンション、ステータス上昇装備などを追加する(ベットの枕にも移動可能にするゲート有り) 1.7.10(配布停止) DQMⅢNext ドラクエ系のモンスター・アイテム・職業・魔法・レベルのシステムなどのやり込み要素を追加する 1.7.10 / 1.5.2 Pokécube / Revival ポケモンを追加する、リアルタイム戦闘型 1.5.2-R1.11 Witchery 魔術要素を追加、難易度高め 1.7.10 The Betweenlands Mod 暗い湿地帯系ディメンション、モンスター、アイテム追加 β1.10.2 / 1.12.2 編集 産業MOD MOD 説明 v 漁業システム Mariculture 海・釣りなどの漁業要素の追加 1.7.10 編集 魔法MOD MOD 説明 v 魔法要素 Ars Magica 2 魔法要素を追加する 1.10.2 Thaumcraft 6.1 魔法要素を追加する 1.12.2 / 1.8.9 Minegicka 3 Mod 魔法要素を追加する、魔法スペルの作成 1.7.10 / 1.7.2 Botania 花の魔法要素を追加する 1.12.2 編集 武器MOD MOD 説明 v 特殊武器関連 五つの難題MOD+ 東方mod、五つの難題関連アイテム・弾幕などを追加する 1.7.10 / 1.7.2 / 1.6.4 / 1.5.2 抜刀剣mod コンボ攻撃や特殊な攻撃の可能な刀を追加する 1.12.2 / 1.7.10 / 1.7.2 編集 ツールMOD MOD 説明 v ツール、武器全般 Tinkers Construct ツール、武器などを作成する 1.10.2
https://w.atwiki.jp/onjmodserver/pages/15.html
導入MOD一覧 handmadeguns 銃器を追加するMOD %5B1.7.10%5DMapleTree Forge v1.1.33c 農業系のMOD [1.7.10] SecurityCraft v1.8.2.1 監視カメラなどが追加されるMOD industrialcraft-2-2.2.827-experimental 工業系MOD additionalpipes-4.7.7 工業系MOD VisibleRayGenerator-1.7.10-4.9.2-3 工業系MOD CompactEngine-1.7.10-7.1.14-2 工業系MOD appliedenergistics2-rv3-beta-6 工業系MOD Botania r1.7-237 お花魔術系MOD buildcraft-7.1.20 工業系MOD ComputerCraft1.75 コンピューター系MOD CustomMobSpawner 3.3.0 Drzharks Mocreatures MODの前提MOD DrZharks MoCreatures Mod v6.3.1 多彩なMOBを追加するMOD ExtraTanks-for-7.1.14 工業系MOD 大容量タンクなどを追加する extrautilities-1.2.12 工業系MOD FlatWorld1.4.2-1.7 整地系MOD Fossils_Archeology_Revival-1.7.10_Build-6.3b 化石MOD inventorypets-1.7.10-1.4.9.5-universal ホットバーに置くと効果を発揮するアイテムを追加する IronBackpacks-1.7.10-1.2.20 ラージチェストぐらいのアイテムが入るバックパックMOD Kerberos_Core-1.7.10-1.0.10 Kerberos_ResourceDimensionsの前提MOD Kerberos_ResourceDimensions-1.7.10-1.0.0 新しくワールドを作成してテレポート出来るMOD llibrary-1.5.1-1.7.10 化石MODの前提MOD Thaumcraft-1.7.10-4.2.3.5 魔術MOD TofuCraft-2.1.7-mc1.7.10 農業系豆腐MOD twilightforest-1.7.10-2.3.7 新Dimension追加MOD witchery-1.7.10-0.24.1 魔術MOD EnderCore-1.7.10-0.2.0.39_beta EnderIO前提MOD EnderIO-1.7.10-2.3.0.429_beta 工業系MOD
https://w.atwiki.jp/wayward_jp/pages/27.html
MOD WaywardはModがサポートされていて、公式Wikiでいくつか紹介されています。 (リンクはしていませんので使用する際は公式wikiからどうぞ。公式wikiトップのSub Wikis以下Saved Game StatesページからMods pageへと行けます。) 公式wikiのModの使用法 1.当該ページにて「Download Mod」リンクを右クリックし「名前をつけて保存」で任意の場所に保存する。 またはリンクをクリックしてブラウザ上で内容を表示させてからページを右クリックして「名前をつけて保存」する。 2.Waywardを起動し、オプションメニューの「Modding」から保存したファイルを読み込む。 Modリスト Better Save/Load from File セーブ直後にリロードが必要なエラーが起こらない。 オプションではなくメインメニューにセーブボタンを追加する ロードボタンは追加ファイルのインプットではなくファイル自体を要求する。 場所ごとにきれいなファイルネームを提案する。 Opera12でもデフォルトのファイルネームであれば動作する。 ローカルストレージ全体を保存するのではなく、実際のゲームデータだけを保存する。 以前のSave/Load from File MODのデータも読み込みできる。 対応バージョン:Beta 1.6+ Save/Load from File オプションページに、ローカルファイルにセーブデータを保存/読み込みできるボタンを追加する。 このModで作成されたセーブデータも公式wikiやフォーラムで公開されている。 対応バージョン:Beta 1.4+ Show World Map Cheat ワールドマップと洞窟マップをオプションメニューのボタンで表示できるようにする。 対応バージョン:Beta 1.6+ / Free 1.9.4 +... //公式wikiのものを少しだけ改変、画面左下メニューの「Skills」の次に表示ON/OFFボタンを移動させています //バージョン1.9.4 Free版で動作確認済 - スイッチの人 $("#actionsopen").parent().append( button type="button" id="showMap" Show Map /button ); $("#showMap").css("background-color","rgb(64,64,128)"); $("#actionsopen").parent().on("click","#showMap",function(e){ if($("#map").css("display")=="block")$("#map").hide()}else{$("#map").show()} e.preventDefault() }); Tweakward かなり発展したModで、ゲームプレイの改善し磨きをかけることを試みた。完全に動作させるにはModをロードしてから新しいゲームを始める(自殺する)必要がある。今はまだ自動でロードは出来ないので、始める度にModをロードする必要がある。今後も開発が続けられる予定。 対応バージョン:Beta 1.6+ EzEdit 以下のMODを一度に導入する。 Save/Load from File Show World Map Cheat EzRenderTile EzItemGet Selective Monster Spawner 対応バージョン:Beta 1.5 Monster Party 最大100のモンスターを周囲に出現させる。スポーンするモンスターの種類はタレント値と地形に依存する(通常のスポーンと同じになる)。 対応バージョン:Beta 1.6+ Unmovable Chests Fix 岩の上や洞窟の入口などにある箱(や他の周囲のアイテム)を入手する。このModをロードするとアクセスを復活させるためにそれらのものの下に土ができる。 対応バージョン:全て? 野良Mod テキストファイルにコピペしてmodで読み込む 入れ物 containerに耐久基本値を付ける これによってrepairやreinforceが出来るようになる。 +... items.smallbag.durability = 10; items.backpack.durability = 20; items.leatherquiver.durability = 40; 値はお好みで。 苗木 「枝」から「苗木」が作れるようになる。 +... items.sapling.recipe={requires [["branch", 1, 1]],skill "botany",level "Advanced"}; for(var i = 0; i player.crafted.length; i++)if(player.crafted[i] === "sapling")player.crafted.splice(i,1); 上の苗木modを使わなくなったら再起動のあと実行しましょう。 modを使った事によって出来たちょっとしたゴミを消してくれます。 実行しなくても影響ははい(はず) たいまつ 持続ターン +... items.poletorch_lit.decayable[0] = 1000; items.barktorch_lit.decayable[0] = 4000; items.animalfattorch_lit.decayable[0] = 14000; 値はお好みで。↑は全部4倍した値 鶏 鳥肉が食べたい。羽を毟りたい。そんな貴方に +... 非推奨 for(var i=0;i 0xB;i++)for(var j=0;j 0xB;j++)spawnMonster("chicken", player.x+player.direction.x*6-5+i, player.y+player.direction.y*6-5+j); passTurn(false); 推奨 spawnMonster("chicken", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); ↑の変則版、モンスター呼び出し。 モンスターと戦いたい、そんな君に……。 +... 魚類はちょっと特殊 spawnMonster("rabbit", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); //spawnMonster("rabbit"の"ここに"↓の英文名を書き込むと目の前にモンスターが出現します。 //ただし、目の前に障害物や既にモンスターが存在する場合は出現しません。 //rabbit = うさぎ //slime = スライム //jellycube = ゼリーキューブ //rat = 鼠 //giantrat = 大きな鼠 //chicken = ニワトリ //harpy = ハーピー //giantspider = 大きな蜘蛛 //trapdoorspider = トラップドアスパイダー //snake = 蛇 //bear = 熊 //vampirebat = 吸血コウモリ //greywolf = グレイウルフ //imp = インプ //bogling = ボグリング //livingrock = リビングロック //zombie = ゾンビ //skeleton = スケルトン //pirateghost = パイレーツゴースト //timeskitter = タイムスキッター //fireelemental = ファイヤーエレメンタル //hobgoblin = ホブゴブリン //livingmushroom = リビングマッシュルーム //kraken = クラーケン //↓水が目の前にある場合のみ出現 //blindfish = 盲目魚 //shark = 鮫 //trout = マス 沼設置 peatを設置すると沼が出来るように +... items.peat.use = ["stokeFire", "placeTile"], items.peat.onUse = {stokeFire 4, placeTile "swamp"} 変異種 変異種.txt 黒色火薬 A.製作時、多く作る B.発砲時、耐久にダメージ 大きなミニマップ nキーで大きなミニマップを表示。 敵表示有り。txt編集で非表示に出来るようにしてる。 ver0.0.2 ver 0.0.2 地下の事を忘れていたのでその修正。 クラフティングテーブル追加 茶色い領域にアイテムを並べるとそこからクラフトします 適当にアイテムを選ばれるのが嫌な人に craftingtable_v100.js ご利用は計画的に アイテム発生Mod +... //日本語化の後に読み込むとアイテム名だけ日本語化 //二回読み込むと削除 if(document.getElementById( ItemGetMod ) === null){ $("#optionswindow").append( div id="ItemGetMod" / ); $("#ItemGetMod").append( p ItemGetMod /p select id="ItemGetMod_ItemList" size="5" / ); for(var itemType in items){ $( #ItemGetMod_ItemList ).append( option value=" + itemType + " + ItemGetMod_ItemList.length + " " + items[itemType].name + /option ); } ItemGetMod_ItemList.selectedIndex = 0; $("#ItemGetMod").append( select id = "ItemGetMod_QualityList" size="5" \ option value = "" Durability /option \ option value = "Remarkable" Remarkable /option \ option value = "Exceptional" Exceptional /option \ option value = "Legendary" Legendary /option \ option value = "Random" selected Random /option \ /select ); $("#ItemGetMod").append( button type="button" id="ItemGetMod_ItemGetButton" Get /button ); $("#ItemGetMod").on("click", #ItemGetMod_ItemGetButton , function(e) { itemGet({type ItemGetMod_ItemList.value, quality ItemGetMod_QualityList.value}); craftTable() }); } else { var delTargetElement=document.getElementById( ItemGetMod ); delTargetElement.parentNode.removeChild(delTargetElement); } チェンジタイル タイルのパターンはセーブされないので悪しからず +... //チェンジタイル //タイルのパターンはセーブされないので悪しからず //二回読み込むと削除 if(document.getElementById( ChangeTileMod ) === null){ $("#optionswindow").append( div id="ChangeTileMod" / ); $("#ChangeTileMod").append( p ChangeTileMod /p ); $("#ChangeTileMod").append( select id="ChangeTileMod_TileList" size="5" / ); for(var TileType in tiletypes){ $( #ChangeTileMod_TileList ).append( option value=" + TileType + " + ChangeTileMod_TileList.length + " " + tiletypes[TileType].name + /option ); } ChangeTileMod_TileList.selectedIndex = 0; $("#ChangeTileMod").append( select id="ChangeTileMod_PatternList" size="5" / ); $("#ChangeTileMod_PatternList").append( option value="0" 0 /option ); $("#ChangeTileMod_PatternList").append( option value="1" 1 /option ); $("#ChangeTileMod_PatternList").append( option value="2" 2 /option ); $("#ChangeTileMod_PatternList").append( option value="Random" selected Random /option ); $("#ChangeTileMod").append( button type="button" id="ChangeTileMod_ChangeTileButton" Change /button ); $("#ChangeTileMod").on("click", #ChangeTileMod_ChangeTileButton , function(e) { changeTile({type ChangeTileMod_TileList.value}, player.x + player.direction.x, player.y + player.direction.y, false); if(ChangeTileMod_PatternList.value == "Random"){ tile[player.x + player.direction.x][player.y + player.direction.y].gfx = Math.floor(Math.random() * 3); } else { tile[player.x + player.direction.x][player.y + player.direction.y].gfx = ChangeTileMod_PatternList.value; } passTurn(false); }); } else { var delTargetElement=document.getElementById( ChangeTileMod ); delTargetElement.parentNode.removeChild(delTargetElement); } ・いろいろスイッチ&インベントリエディタ&技術情報 ※ゲームバランス崩壊待ったなし +... //いろいろスイッチ version 0.12c //=== スイッチ類説明 === //◆ボタン群 (押す度に発動) //[Health][Stamina][FOOD][WATER]それぞれライフ・スタミナ・満腹度・水分全快 //[Bad]毒・やけど・切り傷回復 //[HPSTBAD]ライフ・スタミナ・状態異常全快(満腹度・水分は以外) //[All]上記全て全快 //[converge map]インベントリ内の全てのボロボロの地図の目的場所を自分の足元へ(コンテナ・カバン内のものは除外) //[Find Drop]落ちているアイテムを近い順にログに表示 //[Find Placed]設置されているアイテムを近い順にログに表示 //[Find Ore]木の実、鉱物、沼地、灰、雪などの資源を近い順にログに表示 //※地上にいるときは地下のものは表示されません、また地下にいるときは地上のものは表示されません //※検索結果表示数の初期値は10です // mod_recover_saveData.findCount = 20 // と入力すると表示数が20件に変更されます、緑色のsaveボタンを押した時点での値が保存されます //[soundBuff Clear]予約済みのサウンドエフェクトを全て削除します //[invClean]現在持っているアイテムの最大ID以降の未使用領域を消去します //メインで所持するもの以外を全てカバンやチェストに保管することで最大の効果を得ることができます //上記2つとメッセージウィンドウ下部の[Clear Messages]ボタンを押すことで長時間プレイ時の処理の重さを低減します //◆スイッチ群 (押すと有効、もう一度押すと無効) //[AutoRecover]ライフとスタミナが常に全快状態 //[AlwaysDaylight]常に昼、洞窟内も昼 //[Ignore Weight]重さ超過を無視 //[fresh sea]海水を淡水に(水袋・ガラス瓶で海を整地可能)、地下エリアの暗闇部分を砂利に //[Skillgrow]スキル上昇判定時に必ずスキル経験上昇・スキル100%キャップ解除 //[Delay cut]行動待ち時間をスキップ(オプションの「Smooth Movement/動作を滑らかにする」をONにしていると効果無し) //[SpeedCraft]製作待ち時間をスキップ //[Dig100%]必ず掘れる、対象のマスを掘った時に取得できる可能性があるアイテムを全て取得する //[infinityGun]saltpeter(硝石)無しで銃が撃てる、銃弾は別途必要 //[Map100%]瓶入りの手紙を開けると必ず宝の地図が出る //[holeySkin]holey(穴あき)、空の水袋で淡水を汲んでも水が満たされない、海水は汲める //[dropAllExtend]深い淡水・深い海水に向かってアイテムを「全て置く」と、まとめて捨てます(コンテナ・カバン・装備中・QuickSlot内は除外) // 地面に置く場合も、装備中・QuickSlotのアイテムは除外します //[pickupAll]踏んだら全部拾う //[MultiCreate]ボタンはクラフトテーブルの上に生成されます、1クリックで素材が続く限り同じアイテムを作成します、HP減少時に中断します //[taintFree]耐久減少と腐敗を無くす //[autoCarve]死体を踏んで、移動するときに足元にある死体と血痕を全て切り出し(消費ターンは1) //[ugCulture]地下に植物を植えることができます //[RottenMeat]製作から腐った肉を作成できます //[calcWeight]カバン・コンテナ等を開けた時やアイテムを入れた時に、入っているアイテム数、現在の重量、空き重量が表示されます //[waterClean]キャンプファイアに向かっていなくても脱塩水、浄化水を作成できるようになります //[immotalFire]キャンプファイア・かまど・炉・金床・トーチスタンドの火が消えなくなる //v0.11更新 //ボタンの状態を保存する処理を追加しました、saveボタンで現在の状態を保存できます(押さないと保存されません) //modを読み込んだ時に保存された情報があれば自動で適用されます //ウィンドウ幅の保存・読込ができなかったため、スクリプト先頭に幅を指定する変数(mod_recover_width)を付加しています //v0.11b更新 //multiCreateボタンの設定が正常に保存・読み出しされるように修正 //v0.11c更新 //[female]コメントログにあったプレイヤー画像 [(名無しさん) 2014-01-30 06 03 11] 差し替えテスト //v0.11d更新 //[offalNOTmeat]内臓の属性(堆肥・肉)を解除します、ONにすると内臓の使い道がマジカルエッセンスと腱の2つだけになります //v0.11e更新 //[offalNOTmeat]ボタン操作時に製作テーブルも更新 //[DurMax]使用した素材の耐久値に関わらず製作品の耐久値がMAXに、最大耐久値はランダムのまま //v0.11f更新 //[popAberrant]ONの状態でモンスターがポップした場合、必ず変異種になる…はずです //[DurMax]現在耐久値を最大耐久値と同じにするよう修正 //v0.11g更新 //[multiCreate]一括作成の対象から装備品・クイックスロットのアイテムを除外 //v0.12更新 //[Find Drop]/[Find Placed]/[Find Ore]の探索用ボタンを追加 //[SoundBuff Clear]/[InvClean]のメンテナンスボタンを追加 //読み込み時に[MultiCreate]ボタンを必ずoffにするよう変更 //mod_recoverの表示/非表示切り替えボタンの位置をオプションウィンドウ内部からメイン画面左下の[Skills]ボタンの次に変更 //mod_recoverウィンドウの位置を保存するよう変更 //緑色の[save]ボタンを押した際にゲーム全体を保存するよう変更 //既知の不具合 //製作した壁を設置した後に回収すると耐久力がおかしくなって再設置できない //→コメントログにあるとおり下記のコマンドを貼り付けて対処をお願いします、このコードを使用すると耐久力の表示を修正します //for(var itm in player.invItems){if(!isFinite(player.invItems[itm].mindur)){player.invItems[itm].mindur=player.invItems[itm].maxdur}} //ロード直後に十字キーが効かないことがあります //→画面をクリックして一度でもキャラの方向を変えると以降正しく反応します //Findボタンを押したときに方向表示が文字化けする //→v0.12bで修正済 //Find Oreボタンが1件しか表示してくれない //→v0.12cでmod_recover_saveData.findCountを参照するよう修正済 Messages.debug="_0_";var f_ret=false;var buttondebug=false;var mod_recover_saveData=[];initSaveData();function _msg(a,c,b){if(!c){c=""}if(b==""||b===undefined||b===null){b="debug"}ui.message(b,c,[a])}function initSaveData(){mod_recover_saveData.left=0;mod_recover_saveData.top=0;mod_recover_saveData.width=560;mod_recover_saveData.height=140;mod_recover_saveData.recoverAuto=false;mod_recover_saveData.alwaysDaylight=false;mod_recover_saveData.ignoreWeight=false;mod_recover_saveData.freshWater=false;mod_recover_saveData.skillGrow=false;mod_recover_saveData.delaycut=false;mod_recover_saveData.speedCraft=false;mod_recover_saveData.successDig=false;mod_recover_saveData.infinityGun=false;mod_recover_saveData.treasureMap=false;mod_recover_saveData.holeySkin=false;mod_recover_saveData.dropAllEx=false;mod_recover_saveData.pickupAll=false;mod_recover_saveData.taintFree=false;mod_recover_saveData.autoCarve=false;mod_recover_saveData.ugCulture=false;mod_recover_saveData.rottenMeat=false;mod_recover_saveData.calcWeight=false;mod_recover_saveData.waterClean=false;mod_recover_saveData.immotalFire=false;mod_recover_saveData.female=false;mod_recover_saveData.offalNOTmeat=false;mod_recover_saveData.DurMax=false;mod_recover_saveData.Aberrant=false;mod_recover_saveData.findCount=10}function sw(b,a){if(b.indexOf("#")!=0){b="#"+b}if(a==""||a==undefined||a==null){a="black"}if($(b).css("background-color")=="rgb(0, 0, 0)"){a="orange"}$(b).css("background-color",a)}function appendfunc_addNewWindow(a){$("#afterload").prepend( div id=" +a+ _root" / );$("#"+a+"_root").prepend( div id=" +a+ _window" class="window" title= +a+ " / );$("#"+a+"_window").dialog({width 500,height 140,autoOpen true,closeOnEscape false,title a});$("#mod_root").append( button id=" +a+ _visible" +a+" /button ");$("#mod_root").on("click","#"+a+"_vibible",function(b){if($("#"+a+"_window").dialog("isOpen")){$("#"+a+"_window").dialog("close")}else{$("#"+a+"_window").dialog("open")}})}if(document.getElementById("mod_root")===null){$("#optionswindow").append( div id="mod_root" / );$("#optionswindow").append( div id="mod_disp" / )}if(document.getElementById("mod_recover_root")==null){$("#actionsopen").parent().append( button id="mod_recover_visible" mod_recover /button );$("#mod_recover_visible").css("background-color","rgba(150,150,0,0.6)");$("#afterload").prepend( div id="mod_recover_root" / );$("#mod_recover_root").prepend( div id="mod_recover_window" class="window" title="mod_recover" / );$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false,title "mod_recover"});$("#mod_recover_window").append( div id="mod_recover_window_top" / );$("#mod_recover_window_top").append( div id="recover" / );$("#recover").append( button type="button" id="recover_Health" Health /button button type="button" id="recover_Stamina" Stamina /button button type="button" id="recover_Hunger" Food /button button type="button" id="recover_Thirst" WATER /buttion button type="button" id="recover_BadStatus" Bad /button button type="button" id="recover_HealthStaminaBadStatus" HPSTBAD /button button type="button" id="recover_All" All /button );$("#recover").append( | button id="mod_convergeMap" collectMap /button );$("#recover").append( | button id="mod_recover_save" save /button );$("#recover").on("click","#mod_recover_save",function(a){mod_recover_save();_msg("mod_recover button status saved.");saveGame()});$("#mod_recover_save").css("background-color","green");$("#recover").append( | button id="mod_searchDrop" Find Drop /button );$("#recover").on("click","#mod_searchDrop",function(a){appendfunc_searchDropItem()});$("#recover").append( button id="mod_searchPlaced" Find Placed /button );$("#recover").on("click","#mod_searchPlaced",function(a){appendfunc_searchPlacedItem()});$("#recover").append( button id="mod_findOre" Find Ore /button );var oreSonar=[];isInitoreSonar=false;$("#recover").on("click","#mod_findOre",function(a){if(!isInitoreSonar){appendfunc_oreSonarInit();isInitoreSonar=true}appendfunc_oreSonarVerify()});$("#recover").append( | button id="mod_SoundFlush" SoundBuff Clear /button );$("#recover").on("click","#mod_SoundFlush",function(a){ui.message("debug","",[audio.soundList.length+" Soundbuffer flushed"]);audio.soundList=[]});$("#recover").append( | button id="mod_invClean" InvClean /button hr );$("#recover").on("click","#mod_invClean",function(c){var a=0;for(var b=player.invItems.length-1;b =0;b--){if(!player.invItems[b]){player.invItems.splice(b,1);a++}else{break}}ui.message("debug","",["invIndex="+player.invItems.length+"(-"+a+" buffer)"])});function appendfunc_convergeMap(){f_ret=false;var a=0;for(itemType in player.invItems){if(player.invItems[itemType].type=="tatteredmap"){a++;player.invItems[itemType].props[0]=player.x;player.invItems[itemType].props[1]=player.y}}if(a =1){ui.message("debug","",[a+" tatteled maps in your inventry pointing on your foot!"]);f_ret=true}else{ui.message("debug","",["You have no tattered map."]);f_ret=false}delete a;return f_ret}$("#recover").on("click","#mod_convergeMap",function(a){appendfunc_convergeMap()});$("#recover_Health").css("background-color","orange");$("#recover_Stamina").css("background-color","#00EA0B");$("#recover_Hunger").css("background-color","purple");$("#recover_Thirst").css("background-color","#0033FF");$("#mod_recover_button").on("click","#recover_Visible",function(a){if($("#recover").css("display")=="none"){$("#recover").css("display","block")}else{$("#recover").css("display","none")}});function appendfunc_recover(a,b){f_ret=false;switch(a){case"health" if(player.strength==player.health){if(!b){_msg("recover Health needless.","bad");return false}}else{if(!b){_msg(player.strength-player.health,"","gainedHealth")}player.health=player.strength;f_ret=true}break;case"stamina" if(player.stamina==player.dexterity){if(!b){_msg("recover Stamina needless.","bad");return false}}else{if(!b){_msg(player.dexterity-player.stamina,"","gainedStamina")}player.stamina=player.dexterity;f_ret=true}break;case"hunger" if(player.hunger==player.starvation){if(!b){_msg("recover Food needless.","bad");f_ret=false}}else{if(!b){_msg(player.starvation-player.hunger,"","gainedHunger")}player.hunger=player.starvation;f_ret=true}break;case"thirst" if(player.thirst==player.dehydration){if(!b){_msg("recover Thirst needless.","bad");f_ret=false}}else{if(!b){_msg(player.dehydration-player.thirst,"","gainedThirst")}player.thirst=player.dehydration;f_ret=true}break;case"bad" if(player.status.bleeding){if(!b){_msg("","","curedBleeding")}player.status.bleeding=false;f_ret=true}if(player.status.burning){if(!b){_msg("","","curedBurning")}player.status.burning=false;f_ret=true}if(player.status.poisoned){if(!b){_msg("","","curedPoison")}player.status.poisoned=false;f_ret=true}if(!b !f_ret){_msg("recover Bad needless.","bad")}break}return f_ret}$("#recover").on("click","#recover_Health",function(a){appendfunc_recover("health");passTurn(false)});$("#recover").on("click","#recover_Stamina",function(a){appendfunc_recover("stamina");passTurn(false)});$("#recover").on("click","#recover_Hunger",function(a){appendfunc_recover("hunger");passTurn(false)});$("#recover").on("click","#recover_Thirst",function(a){appendfunc_recover("thirst");passTurn(false)});$("#recover").on("click","#recover_BadStatus",function(a){appendfunc_recover("bad");passTurn(false)});$("#recover").on("click","#recover_HealthStaminaBadStatus",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("Health Stamina Bad Status recovered.")}else{_msg("recover HPSTBAD needless.","bad")}delete a;passTurn(false)});$("#recover").on("click","#recover_All",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("hunger",true)||a;a=appendfunc_recover("thirst",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("You are completely recovered.")}else{_msg("recover All needless.","bad")}delete a;passTurn(false)});function chk_recoverAuto(){if(passTurn.toString().indexOf("dexterity")==-1){return false}else{return true}}function appendfunc_recoverAuto(){f_ret=false;var prev1="game.staminaTimer++;";var new_1="game.staminaTimer++;player.health=player.strength;player.stamina=player.dexterity;";if(!chk_recoverAuto()){passTurn=eval("("+passTurn.toString().replace(prev1,new_1)+")");sw("#recover_auto","orange");f_ret=true}else{passTurn=eval("("+passTurn.toString().replace(new_1,prev1)+")");sw("#recover_auto");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button type="button" id="recover_auto" AutoRecover /button );if(passTurn.toString().indexOf("dexterity")!=-1){sw("#recover_auto","orange")}$("#recover").on("click","#recover_auto",function(a){appendfunc_recoverAuto()});function chk_alwaysDaylight(){if(lighting.toString().indexOf("player.light = 0;")==-1){return false}else{return true}}function appendfunc_alwaysDaylight(){f_ret=false;var prev1="var lightLevel = player.light;";var new_1="player.light = 0;var lightLevel = player.light;";var prev2="player.x game.mapSize";var new_2="player.x game.mapSize * 3";if(!chk_alwaysDaylight()){lighting=eval("("+lighting.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_AlwaysDaylight","orange");f_ret=true}else{lighting=eval("("+lighting.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_AlwaysDaylight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_AlwaysDaylight" Always Daylight /button );if(lighting.toString().indexOf("player.light = 0;")!=-1){sw("#mod_AlwaysDaylight","orange")}$("#recover").on("click","#mod_AlwaysDaylight",function(a){appendfunc_alwaysDaylight()});function chk_ignoreWeight(){if(player.checkWeight.toString().indexOf("0===1")==-1){return false}else{return true}}function appendfunc_ignoreWeight(){f_ret=false;var prev1="player.weight player.strength + 15";var new_1="0===1";var prev2="Utilities.roundNumber(contWeight + items[player.invItems[itemId].type].weight, 1) maxWeight";var new_2="0===1";if(!chk_ignoreWeight()){player.checkWeight=eval("("+player.checkWeight.toString().replace(prev1,new_1)+")");dropItem=eval("("+dropItem.toString().replace(prev2,new_2)+")");sw("#mod_ignoreWeight","orange");f_ret=true}else{player.checkWeight=eval("("+player.checkWeight.toString().replace(new_1,prev1)+")");dropItem=eval("("+dropItem.toString().replace(new_2,prev2)+")");sw("#mod_ignoreWeight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_ignoreWeight" Ignore Weight /button );if(player.checkWeight.toString().indexOf("0===1")!=-1){sw("#mod_ignoreWeight","orange")}$("#recover").on("click","#mod_ignoreWeight",function(a){appendfunc_ignoreWeight()});function chk_freshWater(){if(tile.edited==undefined){return false}else{return true}}function appendfunc_freshWater(){f_ret=false;if(!chk_freshWater()){tile.edited=true}else{delete tile.edited}for(var b=0;b 1024;b++){for(var a=0;a 512;a++){if(tile.edited){if(tile[b][a].type=="water"){tile[b][a].type="freshwater";tile[b][a].q="water"}if(tile[b][a].type=="shallowwater"){tile[b][a].type="freshshallowwater";tile[b][a].q="shallowwater"}if(tile[b][a].type=="deepwater"){tile[b][a].type="freshdeepwater";tile[b][a].q="deepwater"}if(tile[b][a].type=="darkness"){tile[b][a].type="sand";tile[b][a].q="darkness"}}else{if(tile[b][a].q){if(tile[b][a].type=="freshwater" tile[b][a].q=="water"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshshallowwater" tile[b][a].q=="shallowwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshdeepwater" tile[b][a].q=="deepwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="sand" tile[b][a].q=="darkness"){tile[b][a].type=tile[b][a].q}delete tile[b][a].q}}}}if(tile[0][0].q){sw("#mod_freshWater","orange");f_ret=true}else{sw("#mod_freshWater","black");f_ret=false}delete b;delete a;return f_ret}$("#recover").append( button id="mod_freshWater" fresh sea /button );if(tile.edited){sw("#mod_freshWater","orange")}$("#recover").on("click","#mod_freshWater",function(a){appendfunc_freshWater()});function chk_skillGrow(){if(player.skillGain.toString().indexOf("0===0")==-1){return false}else{return true}}function appendfunc_skillGrow(){f_ret=false;var prev1="this.skills[skillType].percent = skillChance this.skills[skillType].percent 100 || bypass";var new_1="0===0";var prev2="this.skills[skillType].core 100";var new_2="this.skills[skillType].core == 100";if(!chk_skillGrow()){player.skillGain=eval("("+player.skillGain.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_skillGrow","orange");f_ret=true}else{player.skillGain=eval("("+player.skillGain.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_skillGrow","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_skillGrow" Skillgrow /button );if(player.skillGain.toString().indexOf("0===0")!=-1){$("#mod_skillGrow").css("background-color","orange")}$("#recover").on("click","#mod_skillGrow",function(a){appendfunc_skillGrow()});function chk_delaycut(){if(render.toString().indexOf("ui.keyTimer=0")==-1){return false}else{return true}}function appendfunc_delaycut(){f_ret=false;prev1="ui.keyTimer++";new_1="ui.keyTimer=0;game.delay=0;";if(!chk_delaycut()){render=eval("("+render.toString().replace(prev1,new_1)+")");sw("#mod_delaycut","orange");f_ret=true}else{render=eval("("+render.toString().replace(new_1,prev1)+")");sw("#mod_delaycut","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button id="mod_delaycut" Delay cut /button );if(render.toString().indexOf("ui.keyTimer++")==-1){sw("#mod_delaycut","orange")}$("#recover").on("click","#mod_delaycut",function(a){appendfunc_delaycut()});function chk_speedCraft(){if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")==-1){return false}else{return true}}function appendfunc_speedCraft(){f_ret=false;var ue2=$._data($("#craft").get(0)).events.mouseup[0].handler.toString();if(ue2.indexOf("0 === 0")==-1){ue2=ue2.replace("ui.keyTimer = 20","0 === 0");sw("#mod_speedCraft","orange");f_ret=true}else{ue2=ue2.replace("0 === 0","ui.keyTimer = 20");sw("#mod_speedCraft","black");f_ret=false}$("#craft").off("mouseup",".craft").on("mouseup",".craft",eval("("+ue2+")"));delete ue2;return f_ret}$("#recover").append( button id="mod_speedCraft" SpeedCraft /button );if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")!=-1){sw("#mod_speedCraft","orange")}$("#recover").on("click","#mod_speedCraft",function(a){appendfunc_speedCraft()});function chk_successDig(){if(player.actions.dig.toString().indexOf("itemChance = 0;")==-1){return false}else{return true}}function appendfunc_successDig(){f_ret=false;var prev1="var getItem = false;";var new_1="var getItem = false;itemChance = 0;";var prev2="var item = {";var new_2="for(var i=0;i =resource[tileType].length-1;i++){var item = {";var prev3="newTileType = cave;";var new_3="newTileType = cave;}";var prev4="type resource[tileType][resourceType][0]";var new_4="type resource[tileType][i][0]";var prev5="regathered) {";var new_5="regathered=== a ){";if(!chk_successDig()){player.actions.dig=eval("("+player.actions.dig.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_successDig","orange");f_ret=true}else{player.actions.dig=eval("("+player.actions.dig.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_successDig","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;return f_ret}$("#recover").append( button id="mod_successDig" Dig100% /button );if(player.actions.dig.toString().indexOf("itemChance = 0;")!=-1){sw("#mod_successDig","orange")}$("#recover").on("click","#mod_successDig",function(a){appendfunc_successDig()});function chk_infinityGun(){if(player.actions.fire.toString().indexOf("infinity bullet")==-1){return false}else{return true}}function appendfunc_infinityGun(){f_ret=false;var prev1="removeItem(blackpowder.itemId, INV , blackpowder.containerId);";var new_1="console.log( infinity bullet );";var prev2="!blackpowder";var new_2="0===1";if(!chk_infinityGun()){player.actions.fire=eval("("+player.actions.fire.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_infinityGun","orange");f_ret=true}else{player.actions.fire=eval("("+player.actions.fire.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_infinityGun","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_infinityGun infinityGun /button ");if(player.actions.fire.toString().indexOf("infinity bullet")!=-1){sw("#mod_infinityGun","orange")}$("#recover").on("click","#mod_infinityGun",function(a){appendfunc_infinityGun()});function chk_treasureMap(){if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")==-1){return false}else{return true}}function appendfunc_treasureMap(){f_ret=false;var prev1="Math.random() * 4";var new_1="Math.random() * 1 + 1";if(!chk_treasureMap()){player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(prev1,new_1)+")");sw("#mod_treasureMap","orange");f_ret=true}else{player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(new_1,prev1)+")");sw("#mod_treasureMap","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_treasureMap Map100% /button ");if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")!=-1){sw("#mod_treasureMap","orange")}$("#recover").on("click","#mod_treasureMap",function(a){appendfunc_treasureMap()});function chk_holeySkin(){if(player.actions.fillWater.toString().indexOf("e = unpurifiedfreshwaterwaterskin ")!=-1){return false}else{return true}}function appendfunc_holeySkin(){f_ret=false;var prev1="e = unpurifiedfreshwaterwaterskin ";var new_1="e = waterskin ";if(!chk_holeySkin()){player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(prev1,new_1)+")");sw("#mod_holeySkin","orange");f_ret=true}else{player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(new_1,prev1)+")");sw("#mod_holeySkin","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_holeySkin holeySkin /button ");if(chk_holeySkin()){sw("#mod_holeySkin","orange")}$("#recover").on("click","#mod_holeySkin",function(a){appendfunc_holeySkin()});function chk_dropAllEx(){if(dropItem.toString().indexOf("if(dropAll)")==-1){return false}else{return true}}function appendfunc_dropAllEx(){f_ret=false;var prev1="ui.message( waterDrop , normal , [items[itemType].name]);";var new_1=prev1+"if(dropAll){for(var playerItem=0;playerItem player.invItems.length;playerItem++){if(player.invItems[playerItem]!==undefined player.invItems[playerItem]!==null){if(player.invItems[playerItem].type===itemType !player.invItems[playerItem].quickSlotted !player.invItems[playerItem].equipped){removeItem(playerItem, INV ,false)}}}audio.queueSfx( water );passTurn(true);return}";var prev2="player.invItems[playerItem].type === itemType";var new_2=prev2+" !player.invItems[playerItem].equipped !player.invItems[playerItem].quickSlotted";if(!chk_dropAllEx()){dropItem=eval("("+dropItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_dropAllEx","orange");f_ret=true}else{dropItem=eval("("+dropItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_dropAllEx","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_dropAllEx dropAllExtend /button ");if(chk_dropAllEx()){sw("#mod_dropAllEx","orange")}$("#recover").on("click","#mod_dropAllEx",function(a){appendfunc_dropAllEx()});function chk_pickupAll(){if(checkUnderPlayer.toString().indexOf("while")==-1){return false}else{return true}}function appendfunc_pickupAll(){f_ret=false;var prev1="var keys = Object.keys(tile[playerX][playerY].tileitems);";var new_1=prev1+"while(keys.length =1){";var prev2= ui.hintDisplay("fastpickup"); ;var new_2=prev2+"}keys.pop();";if(!chk_pickupAll()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1).replace(prev2,new_2)+")");$("#mod_pickupAll").css("background-color","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1).replace(new_2,prev2)+")");$("#mod_pickupAll").css("background-color","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button type="button" id="mod_pickupAll" pickupAll /button );if(chk_pickupAll()){sw("#mod_pickupAll","orange")}$("#recover").on("click","#mod_pickupAll",function(a){appendfunc_pickupAll()});function chk_multiCreate(){if(craftItem.toString().indexOf("tmpHealth")==-1){return false}else{return true}}function appendfunc_multiCreate(){f_ret=false;var turnUpdate=false;var prev1="var consumes = [];";var new_1= do{var turnUpdate=false;craftMsg=""; +prev1;var tmpHealth=player.health;"+prev1";var prev2="return !failed;\r\n }";var new_2="}}while(craftMsg!= tmpHealth = player.health);passTurn(true);return !failed;";var prev3="passTurn(true)";var new_3="passTurn(false)";var prev4="ui.$equip.find( li )";var new_4="/*"+prev4;var prev5="// get";var new_5="*/"+prev5;if(!chk_multiCreate()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_multiCreate","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_multiCreate","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete tmpHealth;return f_ret}$( div id="mod_multiCreate_frame" button type="button" id="mod_multiCreate" MultiCreate /button /div ).insertBefore($("#craftwindow"));if(chk_multiCreate()){sw("#mod_multiCreate","orange")}$("#mod_multiCreate_frame").on("click","#mod_multiCreate",function(a){appendfunc_multiCreate()});function decreaseDur(b,a){return b}function decreaseDecay(b,a){return b}function chk_taintFree(){if(player.actions.attack.toString().indexOf("ammo.mindur--")!=-1){return false}else{return true}}function appendfunc_taintFree(){f_ret=false;var prev1="ammo.mindur--;";var new_1="decreaseDur(ammo, player.actions.attack-1 );";var prev2="weapon.mindur--;";var new_2="decreaseDur(weapon, player.actions.attack-2 );";var prev3="item.mindur = tileItem.mindur - 1;";var new_3="decreaseDur(tileItem, player.actions.dig );item.mindur = tileItem.mindur;";var prev4="tileItem.mindur - 1;";var new_4="decreaseDur(tileItem, player.actions.gather );";var prev5="itemGet({";var new_5="decreaseDur(envItems[id], gatherEnvItems );itemGet({";var prev6="envItems[id].mindur - 1,";var new_6="envItems[id].mindur,";var prev7="item.mindur -= 1;";var new_7="decreaseDur(item, damageItem );";var prev8="item.mindur = tileItem.mindur - 1;";var new_8="decreaseDur(tileItem, actionsmenu.pickup-door );item.mindur = tileItem.mindur;";var prev9="envItems[envId].decay--;";var new_9="decreaseDecay(envItems[envId], environmentalDecay );";var prevA="envItems[envId].decay--;";var new_A="decreaseDecay(envItems[envId], environmentalDecay );";var prevB="decayContainer[containerItem].decay--;";var new_B="decreaseDecay(decayContainer[containerItem], decayItemsInContainer )";var prevC="player.invItems[invItem].decay--;";var new_C="decreaseDecay(player.invItems[invItem], passTurn-1 )";var prevD="tileItems[tileItemsKey[i2]].decay--;";var new_D="decreaseDecay(tileItems[tileItemsKey[i2]], passTurn-2 );";if(!chk_taintFree()){player.actions.attack=eval("("+player.actions.attack.toString().replace(prev1,new_1).replace(prev2,new_2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(prev3,new_3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(prev4,new_4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(prev5,new_5).replace(prev6,new_6)+")");damageItem=eval("("+damageItem.toString().replace(prev7,new_7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(prev8,new_8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(prevB,new_B)+")");passTurn=eval("("+passTurn.toString().replace(prevC,new_C).replace(prevD,new_D)+")");$("#mod_taintFree").css("background-color","orange");f_ret=true}else{player.actions.attack=eval("("+player.actions.attack.toString().replace(new_1,prev1).replace(new_2,prev2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(new_3,prev3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(new_4,prev4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(new_5,prev5).replace(new_6,prev6)+")");damageItem=eval("("+damageItem.toString().replace(new_7,prev7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(new_8,prev8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(new_B,prevB)+")");passTurn=eval("("+passTurn.toString().replace(new_C,prevC).replace(new_D,prevD)+")");sw("#mod_taintFree","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete prev6;delete new_6;delete prev7;delete new_7;delete prev8;delete new_8;delete prev9;delete new_9;delete prevA;delete new_A;delete prevB;delete new_B;delete prevC;delete new_C;delete prevD;delete new_D;delete pickupdoorfunc;return f_ret}$("#recover").append( button type="button" id="mod_taintFree" taintFree /button );if(player.actions.attack.toString().indexOf("ammo.mindur--")==-1){sw("#mod_taintFree","orange")}$("#recover").on("click","#mod_taintFree",function(a){appendfunc_taintFree()});function gatherEnvItemsEx(itemId){(eval("("+gatherEnvItems.toString().replace("passTurn(true)","passTurn(false)")+")"))(itemId)}function chk_autoCarve(){if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")==-1){return false}else{return true}}function appendfunc_autoCarve(){f_ret=false;prev1="return true;";new_1="gatherUnderPlayer();return true;";if(!chk_autoCarve()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1)+")");sw("#mod_autoCarve","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1)+")");sw("#mod_autoCarve","black");f_ret=false}delete prev1;delete new_1;return f_ret}function gatherUnderPlayer(){f_ret=false;if(tile[player.x][player.y].envItemList){for(itemLocation=tile[player.x][player.y].envItemList.length-1;itemLocation =0;itemLocation--){var b=false;var a=tile[player.x][player.y].envItemList[itemLocation];if(!game.isValidPickUp(a)){}else{if(environmentals[envItems[a].type].carve){if(environmentals[envItems[a].type].blood){createParticles(environmentals[envItems[a].type].blood[0],environmentals[envItems[a].type].blood[1],environmentals[envItems[a].type].blood[2])}else{createParticles(210,5,5);b=true}}if(b){placeEnvItem({type "blood",x envItems[a].x,y envItems[a].y,quality ""});ui.message("removeBlood","normal");gatherEnvItemsEx(tile[player.x][player.y].envItemList[tile[player.x][player.y].envItemList.length-1])}console.log(envItems[a].type);if(envItems[a].type.indexOf("_corpse")!=-1||envItems[a].type.indexOf("blood")!=-1){ui.message("carveCorpse","normal");if(envItems[a].type==="pirateghost_corpse"){addMilestone("reaperofsouls")}gatherEnvItemsEx(a)}}}}return}$("#recover").append( button type="button" id="mod_autoCarve" autoCarve /button );if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")!=-1){sw("#mod_autoCarve","orange")}$("#recover").on("click","#mod_autoCarve",function(a){appendfunc_autoCarve()});function chk_ugCulture(){if(environmentals.thistle.cavegrow==true){return true}else{return false}}function appendfunc_ugCulture(){f_ret=false;var a=false;var b=["grassseeds_ground","sapling_ground","yellowflowers","tallgrass","thistle","wildonion_ground","cotton_ground"];if(!chk_ugCulture()){a=true}for(var c in environmentals){if($.inArray(c,b) =0){environmentals[c].cavegrow=a;if(environmentals[c].cavegrow==false){delete environmentals[c].cavegrow}}}if(a){sw("#mod_ugCulture","orange")}else{sw("#mod_ugCulture","black")}f_ret=a;delete b;delete c;delete a;return f_ret}$("#recover").append( button type="button" id="mod_ugCulture" ugCulture /button );if(environmentals.thistle.cavegrow){sw("#mod_ugCulture","orange")}$("#recover").on("click","#mod_ugCulture",function(a){appendfunc_ugCulture()});function chk_rottenMeat(){if(items.rottenmeat.recipe){return true}else{return false}}function appendfunc_rottenMeat(){if(!chk_rottenMeat()){items.rottenmeat.recipe={requires [["meat",1,1]],level "expert",skill "cooking"};sw("#mod_rottenMeat","orange");craftTable();f_ret=true}else{for(var a=0;a player.crafted.length;a++){if(player.crafted[a]==="rottenmeat"){player.crafted.splice(a,1)}}delete items.rottenmeat.recipe;sw("#mod_rottenMeat","black");craftTable();f_ret=false}return f_ret}$("#recover").append( button type="button" id="mod_rottenMeat" RottenMeat /button );if(items.rottenmeat.recipe){sw("#mod_rottenMeat","orange")}$("#recover").on("click","#mod_rottenMeat",function(a){appendfunc_rottenMeat()});function getWeightStr(f,d){f_ret="";var c=0;var a=0;var b=0;if(d=="INV"){for(var e in player.invItems[f].container){if(player.invItems[f].container[e]===null){}else{c++;b+=items[player.invItems[f].container[e].type].weight}}a=items[player.invItems[f].type].maxWeight-b.toFixed(1)}else{for(var e in envItems[f].container){if(envItems[f].container[e]===null){}else{c++;b+=items[envItems[f].container[e].type].weight}}a=environmentals[envItems[f].type].maxWeight-b.toFixed(1)}a=a.toFixed(1);if(a 0){a="Maximum weight"}f_ret=" ("+c+" items, weight "+b.toFixed(1)+"["+a+" free])";delete c;delete a;delete b;return f_ret}function chk_calcWeight(){if(player.actions.openContainer.toString().indexOf("getWeightStr")==-1){return false}else{return true}}function appendfunc_calcWeight(){f_ret=false;var prev1="ui.message(\"youOpenThe\", normal , [containerName]);";var new_1="ui.message(\"youOpenThe\", normal , [containerName+getWeightStr(id,type)]);";if(!chk_calcWeight()){player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(prev1,new_1)+")");sw("#mod_calcWeight","orange");f_ret=true}else{player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(new_1,prev1)+")");sw("#mod_calcWeight","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button type="button" id="mod_calcWeight" calcWeight /button );if(player.actions.openContainer.toString().indexOf("getWeightStr")!=-1){sw("#mod_calcWeight","orange")}$("#recover").on("click","#mod_calcWeight",function(a){appendfunc_calcWeight()});function chk_waterClean(){if(items.purifiedfreshwaterwaterskin.recipe.requiredenv!=undefined){return false}else{return true}}function appendfunc_waterClean(){if(!chk_waterClean()){delete items.purifiedfreshwaterwaterskin.recipe.requiredenv;delete items.purifiedfreshwaterglassbottle.recipe.requiredenv;delete items.desalinatedwaterwaterskin.recipe.requiredenv;delete items.desalinatedwaterglassbottle.recipe.requiredenv;sw("#mod_waterClean","orange");f_ret=true}else{items.purifiedfreshwaterwaterskin.recipe.requiredenv="campfire_lit";items.purifiedfreshwaterglassbottle.recipe.requiredenv="campfire_lit";items.desalinatedwaterwaterskin.recipe.requiredenv="campfire_lit";items.desalinatedwaterglassbottle.recipe.requiredenv="campfire_lit";sw("#mod_waterClean","black");f_ret=false}return f_ret}$("#recover").append( button type="button" id="mod_waterClean" waterClean /button );if(items.purifiedfreshwaterwaterskin.recipe.requiredenv==undefined){sw("#mod_waterClean","orange")}$("#recover").on("click","#mod_waterClean",function(a){appendfunc_waterClean()});function chk_immotalFire(){if(environmentals.campfire_lit.decay==undefined){return true}else{return false}}function appendfunc_immotalFire(){f_ret=false;var a=false;var c=["campfire_lit","kiln_lit","forgeandanvil_lit","furnace_lit","torchstand_lit"];var b=[60,75,60,75];if(!chk_immotalFire()){a=true}for(var d in environmentals){if($.inArray(d,c) =0){if(a==false){environmentals[d].decay=b[$.inArray(d,c)]}else{delete environmentals[d].decay}}}f_ret=a;if(a==true){sw("#mod_immotalFire","orange")}else{sw("#mod_immotalFire","black")}delete c;delete b;delete a;return f_ret}$("#recover").append( button type="button" id="mod_immotalFire" immotalFire /button );if(environmentals.campfire_lit.decay==undefined){sw("#mod_immotalFire","orange")}$("#recover").on("click","#mod_immotalFire",function(a){appendfunc_immotalFire()});function chk_female(){if(player.characterSprite.src.indexOf("female")==-1){return false}else{return true}}function appendfunc_female(){f_ret=false;var a="http //www.unlok.ca/wayward/images/character.png";var b="http //www55.atwiki.jp/wayward_jp?cmd=upload act=open pageid=27 file=character_female.png";if(!chk_female()){player.characterSprite.src=b;sw("#mod_female","orange");f_ret=true}else{player.characterSprite.src=a;sw("#mod_female","black");f_ret=false}delete a;delete b;passTurn(false);return f_ret}$("#recover").append( button type="button" id="mod_female" female /button );if(player.characterSprite.src.indexOf("female")!=-1){sw("#mod_female","orange")}$("#recover").on("click","#mod_female",function(a){appendfunc_female()});function chk_offalNOTmeat(){if(items.offal.group==undefined){return true}else{return false}}function appendfunc_offalNOTmeat(){f_ret=false;if(!chk_offalNOTmeat()){delete items.offal.group;sw("#mod_offalNOTmeat","orange");f_ret=true}else{items.offal.group=["compost","meat"];sw("#mod_offalNOTmeat","black");f_ret=false}craftTable();return f_ret}$("#recover").append( button type="button" id="mod_offalNOTmeat" offalNOTmeat /button );if(chk_offalNOTmeat()){sw("#mod_offalNOTmeat","orange")}$("#recover").on("click","#mod_offalNOTmeat",function(a){appendfunc_offalNOTmeat()});function chk_DurMax(){if(craftItem.toString().indexOf("items[craftType].maxdur;")==-1){return false}else{return true}}function appendfunc_DurMax(){f_ret=false;var prev1="minDur = itemDurability.originalMinimum;";var new_1="minDur = itemDurability.originalMaximum ;";var prev2="maxDur = itemDurability.originalMaximum;";var new_2="madXur = items[craftType].maxdur;";if(!chk_DurMax()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_DurMax","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_DurMax","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button type = "button" id="mod_DurMax" DurMax /button );if(chk_DurMax()){sw("#mod_DurMax","orange")}$("#recover").on("click","#mod_DurMax",function(a){appendfunc_DurMax()});function chk_Aberrant(){if(spawnMonster.toString().indexOf("forceAberrant=true;")==-1){return false}else{return true}}function appendfunc_Aberrant(){f_ret=false;prev1="var aberrantChance = 0;";new_1="forceAberrant=true;"+prev1;if(!chk_Aberrant()){spawnMonster=eval("("+spawnMonster.toString().replace(prev1,new_1)+")");sw("#mod_Aberrant","orange");f_ret=true}else{spawnMonster=eval("("+spawnMonster.toString().replace(new_1,prev1)+")");sw("#mod_Aberrant","black");f_ret=false}delete prev1;delete new_1;return f_ret}function appendfunc_searchDropItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start DropitemSearch==="]);for(var f=0;f =tileItems.length;f++){if(!tileItems[f]){}else{if(player.x =512){if(tileItems[f].x 512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(tileItems[f].x =512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_searchPlacedItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start PlaceditemSearch==="]);for(var f=0;f =envItems.length;f++){if(!envItems[f]){}else{if(envItems[f].type!="woodenchest_unlocked"){if(player.x =512){if(envItems[f].x 512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(envItems[f].x =512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_oreSonarInit(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var a="";var e=false;for(var c=0;c =1023;c++){for(var b=0;b =511;b++){if(tile[c][b].type=="coalrock"||tile[c][b].type=="ironrock"||tile[c][b].type=="limestonerock"||tile[c][b].type=="talcrock"||tile[c][b].type=="ironsandstone"||tile[c][b].type=="nitersandstone"||tile[c][b].type=="ash"||tile[c][b].type=="snow"){a="ore ";e=true}if(tile[c][b].type=="berryforest"||tile[c][b].type=="fungusforest"||tile[c][b].type=="vineforest"||tile[c][b].type=="swamp"||tile[c][b].type=="coconutspalm"){a="forest";e=true}if(e){oreSonar.push({group a,x c,y b,type tile[c][b].type,relX player.x-c,relY player.y-b,far Math.abs(player.x-c)+Math.abs(player.y-b),dirX (player.x-c =0?decodeURI("%E2%86%92") decodeURI("%E2%86%90")),dirY (player.y-b =0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"))});e=false}}}oreSonar.sort(d)}function appendfunc_oreSonarVerify(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var e=false;var b=1;var a=[0,0];for(var c=oreSonar.length;c =0;c--){if(!oreSonar[c]){}else{if(tile[oreSonar[c].x][oreSonar[c].y].type==oreSonar[c].type){oreSonar[c].relX=player.x-oreSonar[c].x;oreSonar[c].relY=player.y-oreSonar[c].y;oreSonar[c].far=Math.abs(oreSonar[c].relX)+Math.abs(oreSonar[c].relY);oreSonar[c].dirX=(oreSonar[c].relX 0?decodeURI("%E2%86%90") decodeURI("%E2%86%92"));oreSonar[c].dirY=(oreSonar[c].relY 0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"));if(oreSonar[c].x =511){a[0]++}else{a[1]++}}else{oreSonar.splice(c,1)}}}oreSonar.sort(d);ui.message("debug","bad",["===start oreSearch==="]);for(c=1;c =oreSonar.length;c++){if(player.x =511){if(oreSonar[c-1].x =511){e=true}}else{if(oreSonar[c-1].x =512){e=true}}if(e){ui.message("debug","",["#"+b+" - "+oreSonar[c-1].type+"("+oreSonar[c-1].dirX+Math.abs(oreSonar[c-1].relX)+","+oreSonar[c-1].dirY+Math.abs(oreSonar[c-1].relY)+")[far "+oreSonar[c-1].far+"]"]);b++;e=false;if(c==oreSonar.length||b mod_recover_saveData.findCount){break}}}if(b==1){ui.message("debug","",["No item found."])}else{if(player.x =511){ui.message("debug","",[a[0]+" items"])}else{ui.message("debug","",[a[1]+" items"])}}}$("#recover").append( button type="button" id="mod_Aberrant" popAberrant /button );if(chk_Aberrant()){sw("#mod_Aberrant","orange")}$("#recover").on("click","#mod_Aberrant",function(a){appendfunc_Aberrant()});function mod_recover_save(){mod_recover_saveData.left=$("#recover").parent().parent().parent().css("left");mod_recover_saveData.top=$("#recover").parent().parent().parent().css("top");mod_recover_saveData.width=$("#mod_recover_window").css("width");mod_recover_saveData.height=$("#mod_recover_window").css("height");mod_recover_saveData.recoverAuto=chk_recoverAuto();mod_recover_saveData.alwaysDaylight=chk_alwaysDaylight();mod_recover_saveData.ignoreWeight=chk_ignoreWeight();mod_recover_saveData.freshWater=chk_freshWater();mod_recover_saveData.skillGrow=chk_skillGrow();mod_recover_saveData.delaycut=chk_delaycut();mod_recover_saveData.speedCraft=chk_speedCraft();mod_recover_saveData.successDig=chk_successDig();mod_recover_saveData.infinityGun=chk_infinityGun();mod_recover_saveData.treasureMap=chk_treasureMap();mod_recover_saveData.holeySkin=chk_holeySkin();mod_recover_saveData.dropAllEx=chk_dropAllEx();mod_recover_saveData.pickupAll=chk_pickupAll();mod_recover_saveData.taintFree=chk_taintFree();mod_recover_saveData.autoCarve=chk_autoCarve();mod_recover_saveData.ugCulture=chk_ugCulture();mod_recover_saveData.rottenMeat=chk_rottenMeat();mod_recover_saveData.calcWeight=chk_calcWeight();mod_recover_saveData.waterClean=chk_waterClean();mod_recover_saveData.immotalFire=chk_immotalFire();mod_recover_saveData.multiCreate=chk_multiCreate();mod_recover_saveData.female=chk_female();mod_recover_saveData.offalNOTmeat=chk_offalNOTmeat();mod_recover_saveData.DurMax=chk_DurMax();mod_recover_saveData.Aberrant=chk_Aberrant();localStorage.setItem("mod_recover_saveData",JSON.stringify(mod_recover_saveData))}function mod_recover_load(){mod_recover_saveData=JSON.parse(localStorage.getItem("mod_recover_saveData"));for(prop in mod_recover_saveData){if(prop=="left"){$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}if(prop=="top"){$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top)}if(prop=="height"){$("#mod_recover_window").css("height",mod_recover_saveData.height)}if(prop=="width"){$("#mod_recover_window").css("height",mod_recover_saveData.width)}if(prop=="recoverAuto"){if(mod_recover_saveData[prop]!=chk_recoverAuto()){appendfunc_recoverAuto()}}if(prop=="alwaysDaylight"){if(mod_recover_saveData[prop]!=chk_alwaysDaylight()){appendfunc_alwaysDaylight()}}if(prop=="ignoreWeight"){if(mod_recover_saveData[prop]!=chk_ignoreWeight()){appendfunc_ignoreWeight()}}if(prop=="freshWater"){if(mod_recover_saveData[prop]!=chk_freshWater()){appendfunc_freshWater()}}if(prop=="skillGrow"){if(mod_recover_saveData[prop]!=chk_skillGrow()){appendfunc_skillGrow()}}if(prop=="delaycut"){if(mod_recover_saveData[prop]!=chk_delaycut()){appendfunc_delaycut()}}if(prop=="speedCraft"){if(mod_recover_saveData[prop]!=chk_speedCraft()){appendfunc_speedCraft()}}if(prop=="successDig"){if(mod_recover_saveData[prop]!=chk_successDig()){appendfunc_successDig()}}if(prop=="infinityGun"){if(mod_recover_saveData[prop]!=chk_infinityGun()){appendfunc_infinityGun()}}if(prop=="treasureMap"){if(mod_recover_saveData[prop]!=chk_treasureMap()){appendfunc_treasureMap()}}if(prop=="holeySkin"){if(mod_recover_saveData[prop]!=chk_holeySkin()){appendfunc_holeySkin()}}if(prop=="dropAllEx"){if(mod_recover_saveData[prop]!=chk_dropAllEx()){appendfunc_dropAllEx()}}if(prop=="pickupAll"){if(mod_recover_saveData[prop]!=chk_pickupAll()){appendfunc_pickupAll()}}if(prop=="taintFree"){if(mod_recover_saveData[prop]!=chk_taintFree()){appendfunc_taintFree()}}if(prop=="autoCarve"){if(mod_recover_saveData[prop]!=chk_autoCarve()){appendfunc_autoCarve()}}if(prop=="ugCulture"){if(mod_recover_saveData[prop]!=chk_ugCulture()){appendfunc_ugCulture()}}if(prop=="rottenMeat"){if(mod_recover_saveData[prop]!=chk_rottenMeat()){appendfunc_rottenMeat()}}if(prop=="calcWeight"){if(mod_recover_saveData[prop]!=chk_calcWeight()){appendfunc_calcWeight()}}if(prop=="waterClean"){if(mod_recover_saveData[prop]!=chk_waterClean()){appendfunc_waterClean()}}if(prop=="immotalFire"){if(mod_recover_saveData[prop]!=chk_immotalFire()){appendfunc_immotalFire()}}if(prop=="multiCreate"){if(mod_recover_saveData[prop]!=chk_multiCreate()){appendfunc_multiCreate()}}if(prop=="female"){if(mod_recover_saveData[prop]!=chk_female()){appendfunc_female()}}if(prop=="offalNOTmeat"){if(mod_recover_saveData[prop]!=chk_offalNOTmeat()){appendfunc_offalNOTmeat()}}if(prop=="DurMax"){if(mod_recover_saveData[prop]!=chk_DurMax()){appendfunc_DurMax()}}if(prop=="Aberrant"){if(mod_recover_saveData[prop]!=chk_Aberrant()){appendfunc_Aberrant()}}}}mod_recover_load();$("#actionsopen").parent().on("click","#mod_recover_visible",function(a){if($("#mod_recover_window").dialog("isOpen")){$("#mod_recover_window").dialog("close")}else{$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false});$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top);$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}})}else{var delTargetElement=document.getElementById("mod_recover_root");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_recover_visible");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_multiCreate_frame");delTargetElement.parentNode.removeChild(delTargetElement);$("#mod_multiCreate_frame").off("click","#mod_multiCreate");$("#mod_recover_window").dialog("destroy");$("#mod_recover_window").dialog("widget").remove();delete delTargetElement}; インベントリエディタ ver0.01c +... //試作品、オプションウィンドウの下に貼り付きます、再読み込みで消滅します //値を編集後、「update」ボタンを押すと適用されます //アイテムを落として拾い直したりすると内部ID(アイテム名の右側の数字)が変わるので、使用前に逐次「Refresh」ボタンを押してください //コンテナ・カバンの中身や地面に落ちているアイテム等、メインインベントリに入っていないアイテムは対象外です //PCのスペックにも依存しますが、IDが大きくなってくると処理が遅くなりますので、再起動の目安にもどうぞ //内部的なDecay(使用期限)無しは-1です、-1の値が入っている時は背景が灰色になります // 未実装・不具合等 //数値を入力すべきボックスに文字や全角数字を入力するとそのうちNaNエラーが出ると思います(未検証)、半角数字で入力してください //品質を変更しても枠線の色は変わりません、従来どおり捨てて拾い直す必要がありますが、その際はRefreshボタンも忘れずに //入力ボックスの背景が灰色の箇所は処理を飛ばしています、Decayなど、-1にしたものを再度5000などの有効な数値に変更することはできません //[修正済]フルキー1~9を押すとクイックスロットのアイテムを使用してしまうため、数字を入力する際は必ずテンキーを使用してください //ver0.01bでキーバインド割り込み処理を追加しました、テキストボックス入力にフルキーも使用できます(砂型を投げたりする事故が防げます) //但し、上に紹介のある「大きなミニマップ」等の、ui.$documentのkeydown処理を書き換えるmodを後から読み込むと割り込み処理が解除されます //キーバインドを書き換えるmodよりも後に読み込めば両方動きます //ver0.01c 耐久等の数値を書き換える際に文字列型になっていたバグを今更修正 // Messages.debug="_0_";var ignoreID=["itemCheat_curdurability","itemCheat_maxdurability","itemCheat_decayable","itemCheat_bonusValue"];var appendkeybind=$._data(ui.$document.get(0), "events")["keydown"][0].handler.toString();if(appendkeybind.indexOf(ignoreID[0])==-1){var basekeybindstr="ui.$code.is";var tmpkeybindstr= (" focus")){return true}else if($("#ignoreID[i]").is ;var keybindstr="";for(var i=0;i =ignoreID.length;i++){keybindstr=keybindstr+tmpkeybindstr.replace("ignoreID[i]",ignoreID[i])}appendkeybind=appendkeybind.replace(basekeybindstr,basekeybindstr+keybindstr);ui.$document.unbind("keydown").bind("keydown",eval("("+appendkeybind+")"));delete besekeybindstr;delete tmpkeybindstr;delete keybindstr;}if(document.getElementById("itemCheat") === null){$("#optionswindow").append( div id="itemCheat" / );$("#itemCheat").append(" hr p @@mod_invCheat@@ /p ");$("#itemCheat").append( select id="itemCheat_invList" size="8" / );$("#itemCheat_invList").css("float","left").css("margin","5px");for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append( option value=" +i+ " +i+ +items[player.invItems[i].type].name+ /option );}}$("#itemCheat").append( button type="button" id="itemCheat_refresh" Refresh /button nbsp; button type="button" id="itemCheat_update" update /button /p );$("#itemCheat").append( CurDur input id="itemCheat_curdurability" size="5" / nbsp;MaxDur input id="itemCheat_maxdurability" size="5" / );$("#itemCheat").append( Decay nbsp; nbsp; input id="itemCheat_decayable" size="5" / br / );$("#itemCheat").append( div style = "float left" Quality select id="itemCheat_quality" size="4" / nbsp br / /div );$("#itemCheat").append( div style = "float left" Bonus nbsp; select id="itemCheat_bonusType" size="4" / nbsp; input id="itemCheat_bonusValue" size="3" / /div );for(var skillType in player.skills){ $("#itemCheat_bonusType").append( option value= +skillType+ +player.skillTypes[skillType].name+ /option )}$("#itemCheat_quality").append( option value="Normal" Normal /option option value="Remarkable" Remarkable /option option value="Exceptional" Exceptional /option option value="Legendary" Legendary /option );$("#itemCheat").append( div id="itemCheat_clearboth" style="clear both" / );$("#itemCheat").on("click","#itemCheat_refresh",function(e){$("#itemCheat_invList").children().remove();for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append( option value=" +i+ " +i+ +items[player.invItems[i].type].name+ /option );}}});$("#itemCheat").on("click","#itemCheat_quality",function(e){if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}});$("#itemCheat").on("click","#itemCheat_invList",function(e){if(player.invItems[itemCheat_invList.value].decay==-1){$("#itemCheat_decayable").css("background-color","gray");}else{$("#itemCheat_decayable").css("background-color","black");}itemCheat_decayable.value=player.invItems[itemCheat_invList.value].decay;itemCheat_curdurability.value=player.invItems[itemCheat_invList.value].mindur;itemCheat_maxdurability.value=player.invItems[itemCheat_invList.value].maxdur;itemCheat_quality.value="Normal";if(player.invItems[itemCheat_invList.value].props!==null player.invItems[itemCheat_invList.value].props!==undefined){itemCheat_bonusType.value=player.invItems[itemCheat_invList.value].props[0];itemCheat_bonusValue.value=player.invItems[itemCheat_invList.value].props[1]}else{itemCheat_bonusType.selectedIndex=-1;itemCheat_bonusValue.value=0}if(player.invItems[itemCheat_invList.value].quality!=""){itemCheat_quality.value=player.invItems[itemCheat_invList.value].quality;if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}}else{itemCheat_bonusType.selectedIndex=-1;$("#itemCheat_bonusType").css("background-color","gray");itemCheat_bonusValue.value="0";$("#itemCheat_bonusValue").css("background-color","gray");}});$("#itemCheat").on("click","#itemCheat_update",function(e){if(itemCheat_invList.selectedIndex==-1){ui.message("debug","bad",["TargetItem not selected!"]);}else{if($("#itemCheat_decayable").css("background-color")=="rgb(0, 0, 0)"){player.invItems[itemCheat_invList.value].decay=itemCheat_decayable.value}player.invItems[itemCheat_invList.value].mindur=parseInt(itemCheat_curdurability.value);player.invItems[itemCheat_invList.value].maxdur=parseInt(itemCheat_maxdurability.value);if(itemCheat_quality.value=="Normal"){player.invItems[itemCheat_invList.value].quality=""}else{player.invItems[itemCheat_invList.value].quality=itemCheat_quality.value}if($("#itemCheat_bonusValue").css("background-color")!="rgb(128, 128, 128)"){player.invItems[itemCheat_invList.value].props=[itemCheat_bonusType.value,parseInt(itemCheat_bonusValue.value)]}ui.message("debug","",[itemCheat_invList.value+" "+items[player.invItems[itemCheat_invList.value].type].name+" edited."]);}});}else{var delTargetElement=document.getElementById("itemCheat");delTargetElement.parentNode.removeChild(delTargetElement);} 要望の検証について +... 「耐久値や使用期限が…減る/減らない」(食料だけ、武器・防具だけ、と種類別で指定できるのも良いかと) ◆状況 減る/減らないの処理は[taintFree]ボタンにて適用済、※アイテムの種類ごとの指定は手間がかかるので取下げ [アイテムの種類の判別方法(例)] 武器 if(items.[obj.type].damageType != undefined){ 武器用の処理 } 防具 if(items.[obj.type].equip != undefined items.[obj.type].equip != "held"){ 防具用の処理 } 食料 if(items.[obj.type].use != undefined){if(items.[obj.type].use[0] == "eat"){ 食料用の処理 } 「アイテムを入手した際における耐久値(m/n)は…ゲーム仕様に戻す/常にm=nの新品状態で入手」 ◆状況 未着手 itemGet()の先頭にitem.mindur=items[item].maxdur;を追加する、craftItemのランダム処理を潰す itemGet=eval("("+itemGet.toString().replace(";placeItem",";item.mindur=items[item.type].maxdur; placeItem")+")"); (未完成っぽい、上記だとCraft時に耐久減ったものができるので追加のコードが必要) 地面から拾った時に耐久が1減る(耐久の増減の④と⑤)処理については未調査 「自キャラ正面のパネルで燃えている火を…ゲーム仕様に戻す/何も燃やさず直ちに消す/そこに可燃物(地形、アイテム)がある場合は一瞬で燃やしつくして直ちに消火」 ◆状況 未着手 (スイッチで機能を選択して「消火」ボタンを押下、隣接するパネルへ延焼せずに消火) →何も燃やさず直ちに消すのは、player.actions.startFire()辺りにchangeTile(type "ash",以下未調査)を仕込めばできそう 可燃物の消滅は上記に加えてdropAllExcendと同じ処理をtileItemsに対して回せばできそう 「「ペミカン」を製作する素材として「内臓」を…使用する/使用しない」(「マジカルエッセンス」製作用に「内臓」をインベントリに残して置きたい場合) →これは、内臓のグループを解除すればいいのかな、多分肥料の材料にもしたくないと思うので ◆状況 [offalMeat]で実装予定 消す場合 delete items.offal.grouping; 戻す場合 items.offal.grouping=["compost","meat"]; 「徒歩による移動速度は地形の影響を…受ける/受けない」(進入不可なタイルは除く) →これはrender()の中身を把握した上で、移動ウェイトの直前に[player.x+player.direction.x][player.y+player.direction.y]の位置のタイルを判定してdelayを増減するものを差し込む形になるのかな、すぐには見当つかないです・・・ ◆状況 未着手、というか実装できる気がしないです 「プレイヤーの近くにいる鶏が各ターンに確率で卵を産む(鶏の数が多いと卵を産まなくなる)」 →次のコードを保存し、先頭の数値を書き換えてから読み込んでみてください //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var firechance = 40; //ファイアエレメントが炎を撒き散らす確率、低いほど確率が上がる、0を指定すると100%落ちる var swampchance = 40; //ボグリングが足元を沼にする確率、同上 var trapchance = 200; //ホブゴブリンがくくり罠を設置する確率、同上 var eggchance = 2000; //ニワトリがタマゴを落とす確率、同上 var featherchance = 400; //ハーピーが羽を落とす確率、同上 var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+firechance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+swampchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 200 + 1) === 1)","(Math.floor(Math.random() * "+trapchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 400 + 1) === 1)","(Math.floor(Math.random() * "+featherchance+" + 1)===1"+rangequalify+")")+")"); delete posRange;delete firechance; delete swampchance; delete trapchance;delete eggchance;delete featherchance;delete rangequalify; //=== ここまで === なお、上記ではposRangeで設定した距離以上離れている全てのモンスターのドロップ判定がキャンセルされますので、ニワトリのタマゴの確率だけを操作したいのであれば次のコードを //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var eggchance = 2000; ////ニワトリがタマゴを落とす確率、低いほど確率が上がる、0を指定すると100%落ちる var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance +" + 1)===1"+rangequalify+")")+")"); delete posRange;delete eggchance;delete rangequalify; //=== ここまで === 技術情報 +... ◇内部処理の書き換えについて ①元処理の取得方法 ●タイプA(普通の関数) var basefunc = passTurn.toString(); ●タイプB(イベントドリブン) var basefunc = $._data( $obj .get(0), "events")[ action ][0].handler.toString(); ②処理の書き換え basefunc.toString().replace("置換前","置換後"); ③処理の書き戻し ●タイプA passTurn = eval("("+basefunc+")"); ●タイプB $obj .unbind( action ).bind( action ,eval("("+basefunc+")"); a) 私が使用している「普通の関数」の書き換え方法は、上記①②③が全部セットになって1行で動作します 例) passTurn = eval("("+passTurn.toString().replace("置換前","置換後")+")"); b) タイプB「イベントドリブン」は、「マウスが押された時」「キーが押された時」「ページが更新された時」などの処理です 私がキーバインド割り込みと呼んでいるものはこちら側の処理です ui.$document.unbind("keyup").bind("keyup",eval("("+[元処理参照].replace("置換前","置換後")+")")と 記述すると、unbind完了後(元処理削除後)に元処理参照が行われて空の関数が返ってきてしまうので、変数を使います 良い例 先に変数basefuncに元処理を格納 ①と②var basefunc = $._data(ui.$document.get(0), "events")["keyup"][0].handler.toString().replace("置換前","置換後"); ③ui.$document.unbind("keyup").bind("keyup",eval("("+basefunc+")")); 悪い例 unbindの後に処理内容を参照している ui.$document.unbind("keyup").bind("keyup",eval("("+$._data(ui.$document.get(0), "events") ["keyup"][0].handler.toString().replace("置換前","置換後")+")"); この場合、$._data(以下略)["keyup"][0].handler.toString() はunbind()後なので空の関数が返ってきてしまいます ◇スイッチ化について(いろいろボタンの構成) basefunc.indexOf()を使用しています、basefuncの取り方は上に記載したとおりです if(basefunc.indexOf("識別文字")==-1){ 置換処理 } else { 戻す処理 } ①ボタンの追加処理 $( #obj ).append( button id = "ボタン名" 表示文字 /button ); ②既に書換が済んでしているかどうか判定(書き換えられているなら背景を指定した色に) if(basefunc.indexOf("識別文字")!=-1){ $("#ボタン名").css("background-color","色指定"); } ③ボタンの押下処理 $( #obj ).on("click","#ボタン名",function(e){ if(basefunc.indexOf("識別文字")==-1){ 置換処理; 色変更処理(ON); } else { 戻す処理; 色変更処理(OFF) } }); ←jQueryは関数の閉じカッコに気を付けましょう、functionの終わり"}"とonの終わり");" ◇複数箇所の置換と復帰について replace()関数は、最初に見つかったものだけを置き換えます "abcdabcd".replace("abcd","ABCD")の結果は "ABCDabcd"になります "ABCDABCD"に変換したい場合は "abcdabcd".replace("abcd","ABCD").replace("abcd","ABCD")とする必要があります これを利用して、識別文字を割り当てることができます 識別文字の作成方法 ①"console.log( この部分は置換済 );" 等の意味の無い処理をを後ろに付ける方法(値の書き換え等で使用、文字は適当) ②"if(0 === 0)", "if(0 === 1)" などで分岐を操作する方法 などがありますが、②について、"if(0 === 0)", "if(0===0)", "if(0=== 0)", "if(0 ===0)", "if(0 === 0)"のように 書換後の処理が同じでも半角スペースの場所を変えることによって置換したものを戻す場所を特定できます (可読性は犠牲になりますが) 補足情報(蛇足とも言う) ①var と delete var basefunc; → basefuncという変数を宣言します delete basefunc; → basefuncという変数を削除します 基本的に、いらない変数は処理の最後に削除してしまう方がよいのですが、ボタン化した場合などは特に、 むやみにdeleteするとエラーの原因になりますので気を付けましょう。ちなみにdeleteですが、値を削除しますので for(var itm in items){if(items[itm].decay){delete items[itm].decay}} このような使い方をすると、以降生成されるアイテムの使用期限(decay)が全てなくなったりします ②eval()について eval(str)は、strを関数として解釈するための命令ですが、前後にカッコを付ける必要があります 悪い例 eval("function(void){ a = 1; }"); 良い例 eval("(" + "function(void){ a = 1; }" + ")"); さいごに 名前付けの規則だったりスペースを入れる場所だったり、本職の方から見たら許せないような箇所も たくさん見受けられるかと思いますが、私はプログラマでもなんでもない独学でやっているだけの 素人ですので、ご容赦頂ければと思います。 日本語化(野良Mod) 有志による日本語化対応 ※最新版は MOD(日本語化) へ。 旧版は編集の邪魔になるので削除。 匿名Mod ミニModを不定期に追加していきます ※一部のコードはコメントアウトしてますが、これはModPackとしてまとめて使用しても癖の少ない変更点で抑えるために行っているためです。 有効にしたいときは、コメント文「//」を削除してください。 +... //-------------------------------------------------- //匿名ModPack ver0.03 //-------------------------------------------------- //匿名Mod 導入必須 ver0.03 //当MOD導入に必要(関数変更関数を関数インスタンスから実行できる関数を関数で登録する無名関数(MODのコメントにPatchFixのPFがあればこれが前提に必要となる) (function(){Function.prototype.funcreplace=function(){var s=this.toString().substring(this.toString().indexOf("{")+2,this.toString().lastIndexOf("}")-1);for(var i=0;i arguments.length-1;i+=2)s=s.replace(arguments[i],arguments[i+1]);return s;}})() //当MOD導入に必要(関数を1つ追加 MODのコメントにStyleSheetのSSがあればこれが前提に必要となる) styleSheet=function(){for(var i=0;i arguments.length;i++)document.styleSheets[0].insertRule(arguments[i], document.styleSheets[0].cssRules.length)}; //------------------------- //匿名Mod 修正版 ver0.03 //バッグを開いてる時にアイテムを右クリックするとバッグへ入るように修正する(PF 通常は地上に落とす) dropItem=new Function( itemId , location , dropAll ,dropItem.funcreplace( var fireDrop = false; , if(game.containerOpened.containerType===\ INV\ ){location=\ INV\ ;};var fireDrop = false; )); //箱とバッグからアイテムを取り出せなくなるバグを修正する(PF) moveToInventoryFromContainer=new Function( invId , moveAllItems ,moveToInventoryFromContainer.funcreplace( var cont = envItems[containerId].container; , var cont = null; , var item = cont[invId]; , if(cont==null)cont = envItems[containerId].container;var item = cont[invId]; )); // 連続してクラフトすると移動できなくなる時間ができるバグを修正する(PF) craftItem=new Function( craftType ,craftItem.funcreplace( game.delay += 10; , game.delay = 10; )); // 入れ物ウィンドウが開いてる場合で、箱の中身が入っていない時に箱を掘り出すと入れ物ウィンドウが閉じないバグを修正する(PF) game.isValidPickUp=new Function( envItemId ,game.isValidPickUp.funcreplace( return true; , if(game.containerOpened.containerType==="ENV" envItems[envItemId].container envItems[envItemId].container.length==0)closeContainer();return true; )); //「全て今開いている入れ物に入れる」にて道具が入りきれなくなったら処理を中断させるように修正(PF) dropItem=new Function( itemId , location , dropAll ,dropItem.funcreplace( finishItemDrop(playerItem, location, containerId); , if(!finishItemDrop(playerItem, location, containerId))break; )); //箱とバッグ内部に溜まる不要な情報を削除する(削除するのはnullだけなので恐らく安全 動作速度を若干向上しながらセーブデータ容量を少し減らす) closeContainer=new Function(closeContainer.funcreplace( game.containerOpened.containerType = ""; , if(game.containerOpened.id =0 game.containerOpened.containerType){var f=game.containerOpened.containerType==="ENV"?envItems[game.containerOpened.id] player.invItems[game.containerOpened.id];if(f f.container f.container.length 0){f=f.container;var r=f.length;for(var i=0;i r;i++){if(f[i]==null){f.splice(i--,1);r--;}}}};game.containerOpened.containerType = ""; )); // アイテムのコンディションが赤に表示している場合、修理すると元のコンディションに戻るように修正(PF 補強すると変化するでは効果はありません、そもそも対応させるのが面倒なので…) player.actions.repair=new Function( invId , invClass , containerId , bypassId ,player.actions.repair.funcreplace( item.mindur = item.maxdur; , item.mindur=item.maxdur;if(item.mindur 2){if(containerId){ui.$container.find(\ .item[data-itemid=\"\ +bypassId+\ \"]\ ).removeClass(\ damaged\ );}else{ui.$inventoryEquip.find(\ .item[data-itemid=\"\ +bypassId+\ \"]\ ).removeClass(\ damaged\ );}}; )); //設置した箱のアイテムは一切腐らなくなる(PF 大量にアイテムを保管してるワールド(容量が数MB以上)で20歩毎に発生する負荷を軽減する) // environmentalDecay=new Function( envId ,environmentalDecay.funcreplace( decayItemsInContainer(envId, envItems[envId].container, \"ENV\"); , )); //地上に置いたバッグのアイテムは一切腐らなくなる(PF 地上にバッグを置く人向けに負荷を軽減する) // passTurn=new Function( move ,passTurn.funcreplace( decayItemsInContainer(tileItemsKey[i2], tileItems[tileItemsKey[i2]].container, \"TILE\"); , )); // スキル・実績のウィンドウが開いてる時に行動すると負荷が上がるのを抑える(PF HTML情報に変化がなければ更新しない、ブラウザによってはこの問題を解決してる事があるためその場合は効果がない) player.skillGain=new Function( skillType , mod , bypass ,player.skillGain.funcreplace( ui.$skills.html(skillOutput); , if(skillOutput!=ui.$skills[0].innerHTML)ui.$skills.html(skillOutput); )); addMilestone=new Function( milestone ,addMilestone.funcreplace( ui.$milestones.html(milestonesOutput); , if(milestonesOutput!=ui.$milestones[0].innerHTML)ui.$milestones.html(milestonesOutput); )); //ミニマップを無効にする(PF 移動時の負荷を軽減する) // $( #miniMapCanvas ).remove();updateMiniMap=false;statbar=[];passTurn=new Function( move ,passTurn.funcreplace( game.updateMiniMap = true; , )); //------------------------- //匿名Mod ゲームUI版 ver0.03 //ウィンドウの表示枠を大きくする(SS 表示の無駄をかなり減らす事ができる) // styleSheet(".ui-dialog .ui-dialog-content{width auto !important;padding 0px !important;}",".ui-dialog {height auto !important;}",".ui-dialog .ui-dialog-titlebar,.ui-dialog .ui-dialog-buttonpane,.ui-dialog-buttonset .ui-button,.ui-button .ui-button-text,.filter{padding 0px !important;margin 0px !important;}","#inventory li,#craft div,#equipment .equip, #container li{margin 0px !important;}",".fontstyle, .fontstyle button{line-height 12px !important;}"); //閉じるボタンを縮小する(SS 「ウィンドウの表示枠を大きくする」と組み合わせる事を推奨) // styleSheet(".ui-dialog .ui-dialog-titlebar-close{margin 0px !important;top auto !important;right 0px !important;padding 5px 8px !important;background none !important;width auto !important;height auto !important;}"); // ウィンドウの背景をより薄くする(SS アイテムも透明化になると不便なのでこちらは色を付ける) // styleSheet(".ui-dialog .ui-dialog-content{background none !important;}",".ui-dialog not([aria-describedby=equipmentwindow]) .ui-dialog-content, #inventory li, #container li, #craft div not(.crafted), .equip li, .equip empty{background-color rgba(4, 4, 4, 0.4) !important;}",".equip not( empty){background none !important;}","#craft div.crafted not( hover){border-color transparent !important;}"); //ステータスバーの色を薄く&透明度をつける(SS 個人的に色が濃すぎてちょっと目に優しくないな、と) // styleSheet("#health{background none repeat scroll 0% 0% rgba(100%, 0%, 10%, 0.6) !important;}","#stamina{background none repeat scroll 0% 0% rgba(0%, 90%, 10%, 0.6) !important;}","#hunger{background none repeat scroll 0% 0% rgba(90%, 0%, 100%, 0.6) !important;}","#thirst{background none repeat scroll 0% 0% rgba(0%, 50%, 100%, 0.6) !important;}"); //クラフトウィンドウの制作できないアイテムを目立たせる // styleSheet("#craft div.crafted{box-shadow 0px 0px 10px rgba(255, 0, 29, 0.6) inset;}"); //マップを拡大しないようにする(SS マップが大きすぎる、といった場合に有効) // styleSheet(".map, #miniMapCanvas{min-width 114px !important;width 114px !important;height 114px !important;}"); //メッセージボックスを非表示にする(SS 邪魔!と思った方にお勧めです) // styleSheet("#messageoverlay{display none !important;}"); //メッセージボックスを左から右に移動する(SS) // styleSheet("#messageoverlay{left auto !important;right 0px;}"); //メッセージウィンドウの背景を透明にする(SS メッセージクリアボタンも削除) // styleSheet("#messageswindow,[aria-describedby=messageswindow] .ui-dialog-titlebar,[aria-describedby=messageswindow] .ui-dialog-buttonpane{background none !important;}","[aria-describedby=messageswindow] .ui-dialog-buttonset{display none !important;}"); //-------------------------------------------------- アイテムの枠の色を適正化 補強と変化でアイテムの状態が変わったときに枠の色を適切にする。 ※匿名Mod(Pack ver0.03)の導入が必須です。匿名Modの更新次第でこのスクリプトは必要なくなるまたは使えなくなる可能性があります。 対応バージョン DL版 Beta 1.9.2(Windows) +... //匿名Modの「player.actions.repair=new Function~」の部分の次の行に挿入して使ってください。 //補強 player.actions.reinforce=new Function( invId , invClass , containerId , bypassId ,player.actions.reinforce.funcreplace( ui.message("reinforce", \ normal\ ); , if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );}ui.message("reinforce",\ normal\ ); )); //変化 player.actions.transmogrify=new Function( invId , invClass , containerId , bypassId ,player.actions.transmogrify.funcreplace( item.quality = "Legendary"; , var old_quality=item.quality;item.quality="Legendary";ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(old_quality.toLowerCase()).addClass(item.quality.toLowerCase()); , item.mindur = legendary.maxDur; , item.mindur=legendary.maxDur;if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );} )); //ここからはDL版で匿名Modを導入しても修理で枠の色が戻らない場合 //「player.actions.repair=new Function~」の一行を下記のものと入れ替えてください。 //player.actions.repair=new Function( invId , invClass , containerId , bypassId ,player.actions.repair.funcreplace( item.mindur = item.maxdur; , item.mindur=item.maxdur;if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );} )); Enjoy Life 独自のゲーム性を目指して途中まで制作していたModです このプログラムはコピー・改造して構いませんので、Mod制作にご活用ください 特徴:アイテム・モンスターの一部に独自の画像を使用、レシピを変更、固定のマップ、 モンスターの動きを変更、細かい時間管理、マイルストーン変更、雨が降るなど 操作:Actionsメニューから寝具なしで眠れます。Rキーで休憩できます ダウンロード 対応バージョン:Beta 1.9.2 β2.9.6-steam +とりあえず編集時判明部分のみ とりあえず編集時判明部分のみ ゲーム中にF10を押して最上部の[Console]を選択、最下部 のボックスに入力すると適用されます 体力・スタミナ・満腹度・喉の渇き 最大値まで回復します localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max; localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max; localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max; localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max; 最大スタミナ・満腹度・喉の渇き 最大値を指定した値に再設定します、体力は別管理のようです localPlayer.stat.stats.Stamina.max=32000; localPlayer.stat.stats.Hunger.max=500; localPlayer.stat.stats.Thirst.max=500; 善行ポイント・悪行ポイント倍率 行動による評判値の変動倍率を変更します、累積評判値が下がると強い敵が発生しやすくなります localPlayer.gameOptionsCached.reputation.malignityMultiplier=-1; localPlayer.gameOptionsCached.reputation.benignityMultiplier=10; 最大所持重量 重量制限を指定した値に再設定します、力が上がって再計算されると元に戻るのでその都度入力が必要です localPlayer.stat.stats.Weight.max=90000; 所持品の一括修理 所持品の耐久度をMAXまで回復します for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur} 所持品の重量ゼロ カバンの内容物や設置された収納箱の中身には影響しません、weightMultiplierの値をマイナスにすると更にたくさん持つこともできます、この変更値はセーブされません var weightMultiplier=0; for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){ localPlayer.inventory.containedItems[i].weight=weightMultiplier} 所持品の腐敗までの時間延長 カバンの内容物や設置された収納箱の中身には影響しません for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].decay)localPlayer.inventory.containedItems[i].decay=999999}} ※所持品以外には適用されませんが木の棒を装備して着火するとDecayの値が設定されます その状態でこのコマンドを実行して装備品の着火した木の棒を右クリックしてBuildを選び 地面に立てると半永久の火源になり常に調理ができます、セーブ&ロードしても保持されます また、このたいまつの斜めに金床を設置することで同じく常に利用できるようになります 上記修理・重量・腐敗時間統合 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur;if(localPlayer.inventory.containedItems[i].decay){localPlayer.inventory.containedItems[i].decay=999999}localPlayer.inventory.containedItems[i].weight=0} 宝の地図を自分の足元に設定する、使用済みの場合は未使用に戻す for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==121){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;if(typeof localPlayer.inventory.containedItems[i].used==="undefined"){}else{delete localPlayer.inventory.containedItems[i].used}}} 新しく生成されるアイテムの重量を0.1に固定する 地下の岩を掘ったら適用されていなかったり、詳細検証中 for(i=0;i =511;i++){itemManager.cachedWeights[i] ={static 0,max 0,min 0}} 所持している箱の容量拡張 インベントリ内にある収納アイテム8種に容量増加(+99999)を付与します、既に設置されている収納箱には影響しません カバン・リュック・矢筒の比較を=から==に修正 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224){localPlayer.inventory.containedItems[i].quality=4;localPlayer.inventory.containedItems[i].legendary = {type 3, value 99999}}} プレイヤーの位置 pos()で現在の位置を取得、tp(x,y,z)で指定座標へ移動、z=1で地上、z=0で地下、zは省略可能 mons()で敵の右隣に移動、左に移動すると先制攻撃、カッコ内に数値を入れると指定した数の敵をスキップ 拠点の近くにヤギなどを繋いで敵を倒していくとmons()を呼び出すと拠点に戻れるようになる、次の敵はmons(1)で探せる function pos(){if(localPlayer.z==1){console.log("地上 "+localPlayer.x+","+localPlayer.y+")")}else{console.log("地下 "+localPlayer.x+","+localPlayer.y+")")}};function tp(x,y,z=-1){localPlayer.x=x;localPlayer.y=y;if(z==0||z==1){localPlayer.z=z}}function mons(skip=0){for(i=0;i =island.creatures.length-1;i++){if(island.creatures[i]!==undefined){if(skip =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;console.log("ID="+i+" "+island.creatures[i].type);skip=-99;break}else{skip--}}}if(skip!=-99){console.log("全てのモンスターを撃破済です")}} +steam2.9.6用スイッチ steam2.9.6用スイッチ(仮) //本体部分(v0.1) typeof userDiv!="undefined" document.body.removeChild(userDiv);userDiv=document.createElement("mod_switch");userDiv.innerHTML=" div class= sw_move style= position absolute;padding 2px;font-size 10px;font-color white;border 1px solid;top 50px;left 100px;width 300px;background-color gray;z-index 999 id= txt steam2.9.6用スイッチ(仮) br / input type=button style= background-color red;color white;padding 1px id= btn1 value= HP onClick= sw.healHP() nbsp; input type=button style= background-color lime;color white;padding 1px id= btn2 value= ST onClick= sw.healST() nbsp; input type=button style= background-color purple;color white;padding 1px id= btn3 value= 空腹 onClick= sw.healHunger() nbsp; input type=button style= background-color cyan;color black;padding 1px id= btn4 value= 水分 onClick= sw.healThirst() nbsp; input type=button style= background-color yellow;color black;padding 1px id= btn5 value= BAD onClick= sw.healBAD() nbsp; input type=button style= background-color black;color white;padding 1px id= btn6 value= 全て onClick= sw.healALL() | input type=button style= background-color black;color white;padding 1px id= btn7 value= 自動回復(継続) onClick= sw.toggleHeal() br / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn20 value= 箱容量+ onClick= sw.box() nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn20 value= 所持重量0 onClick= sw.weight0() nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn21 value= 重量0(継続) onClick= sw.toggleWeight0() nbsp; span id= span21 nbsp; nbsp; \/span hr / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn10 value= 次の設置物 onClick= sw.doods() nbsp; select id= selDoodQuality style= background-color black;color white onClick= sw.doodCount() option value=1 品質指定無 \/option option value=0 Normal \/option option value=2 Remarkable \/option option value=3 Exceptional \/option option value=4 Legendary \/option \/select nbsp;スキップ数 nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn11 value= - onClick= sw.doodminus() nbsp; span id= doodskip 0 \/span nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn12 value= + onClick= sw.doodplus() nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn13 value= 0 onClick= sw.doodreset() nbsp; span id= doodCount 計0個 \/span br / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn30 value= NPCへ移動 onClick= sw.moveNPC() nbsp; select id= selNPC style= color white;background-color black \/select nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn31 value= 再取得 onClick= sw.getNPC() hr / span id= uLog \/span ";document.body.appendChild(userDiv);sw={};sw.log=function(n){$("#uLog").text(n)};sw.healHP=function(n=false){localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max;n==!1 sw.log("HPを回復しました")};sw.healST=function(n=false){localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max;n==!1 sw.log("スタミナを回復しました")};sw.healHunger=function(n=false){localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max;n==!1 sw.log("満腹になりました")};sw.healThirst=function(n=false){localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max;n==!1 sw.log("水分を補給しました")};sw.healBAD=function(n=false){localPlayer.status.Bleeding=!1;localPlayer.status.Poisoned=!1;localPlayer.status.Burned=!1;n==!1 sw.log("出血・毒・火傷を治療しました")};sw.healALL=function(n=false){sw.healHP(!0);sw.healST(!0);sw.healHunger(!0);sw.healThirst(!0);sw.healBAD(!0);n==!1 sw.log("完全回復しました")};sw.toggleHeal=function(){$("#btn7").css("color")!="rgb(255, 0, 0)"?($("#btn7").css("color","red"),clearInterval(sw.cure),sw.cure=setInterval(function(){sw.healALL(!0)},2e3),sw.log("自動回復(2秒毎)が有効になりました")) ($("#btn7").css("color","white"),clearInterval(sw.cure),sw.log("自動回復が無効になりました"))};sw.w0=0;sw.toggleWeight0=function(){$("#btn21").css("color")!="rgb(255, 0, 0)"?($("#btn21").css("color","red"),clearInterval(sw.w0),sw.w0=setInterval(function(){sw.weight0(!0)},2e3),sw.log("自動重量0/耐久回復が有効になりました")) ($("#btn21").css("color","white"),clearInterval(sw.w0),$("#span21").css("background-color","gray"),sw.log("自動重量0/耐久回復が無効になりました"))};sw.box=function(){for(cnt=0,i=0;i =localPlayer.inventory.containedItems.length-1;i++)(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224) (localPlayer.inventory.containedItems[i].quality=4,localPlayer.inventory.containedItems[i].legendary={type 3,value 99999},cnt++);cnt 0?sw.log("所持している収納アイテム"+cnt+"個に容量増加を付与しました") sw.log("収納アイテムを所持していません")};sw.map=function(n=false){if(n==!0)for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used!="undefined" delete localPlayer.inventory.containedItems[i].used;for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)if(localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used=="undefined"){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;localPlayer.inventory.containedItems[i].tatteredMap.z=localPlayer.z;console.log("Map "+i+" location="+localPlayer.inventory.containedItems[i].tatteredMap.x+","+localPlayer.inventory.containedItems[i].tatteredMap.y);break}sw.log("地図ID "+i+"を足元に設定しました")};sw.pos=function(){localPlayer.z==1?console.log("[1]地上 ("+localPlayer.x+","+localPlayer.y+")") console.log("[0]地下 ("+localPlayer.x+","+localPlayer.y+")")};sw.tp=function(n,t,i=-1,r=0){r!=0?(localPlayer.x+=n,localPlayer.y+=t) (localPlayer.x=n,localPlayer.y=t);(i==0||i==1) (localPlayer.z=i)};sw.defaultWeight=function(){for(i=0;i =511;i++)itemManager.cachedWeights[i]={static 0,max 0,min 0}};sw.defaultWeight();sw.mons=function(n=0){for(i=0;i =island.creatures.length-1;i++)if(island.creatures[i]!==undefined)if(n =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;sw.log("ID="+i+" "+island.creatures[i].type+"["+sw.monsStr(island.creatures[i].type)+"の右横へ移動しました]");n=-99;break}else n--;n!=-99 sw.log("全てのモンスターを撃破済です")};sw.monsStr=function(n){return sw.monsList[n]==undefined?"==unknown==" sw.monsList[n]};sw.tileev=function(n=0){for(tileev_found=!1,i=0;i =island.tileEvents.length-1;i++)if(typeof island.tileEvents[i]!="undefined")if(n =0){sw.tp(island.tileEvents[i].x+1,island.tileEvents[i].y,island.tileEvents[i].z);sw.log("ID="+i+" へジャンプしました");tileev_found=!0;break}else n--;tileev_found||sw.log("見つかりませんでした")};sw.weight0=function(n=false){for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].maxDur =999 (localPlayer.inventory.containedItems[i].maxDur=localPlayer.inventory.containedItems[i].type==15||localPlayer.inventory.containedItems[i].type==315||localPlayer.inventory.containedItems[i].type==490||localPlayer.inventory.containedItems[i].type==152||localPlayer.inventory.containedItems[i].type==446||localPlayer.inventory.containedItems[i].type==447?10 999),localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur,localPlayer.inventory.containedItems[i].decay (localPlayer.inventory.containedItems[i].decay=9999999),localPlayer.inventory.containedItems[i].weight=0;sw.blinkColor("span21");n==!1 sw.log("鞄外の所持品重量を0に設定し、耐久を全快しました")};sw.getNPC=function(){for($("#selNPC option").remove(),i=0;i =island.npcs.length-1;i++)typeof island.npcs[i]!==undefined $("#selNPC").append($(" option ").html(island.npcs[i].renamed).val(i))};sw.getNPC();sw.moveNPC=function(){sw.tp(island.npcs[$("#selNPC").val()].x+1,island.npcs[$("#selNPC").val()].y,island.npcs[$("#selNPC").val()].z);sw.log($("#selNPC option selected").html()+"の右横へ移動しました")};sw.doodplus=function(){$("#doodskip").text(parseInt($("#doodskip").text())+1)};sw.doodminus=function(){$("#doodskip").text() 0 $("#doodskip").text(parseInt($("#doodskip").text())-1)};sw.doodreset=function(){$("#doodskip").text("0")};sw.doodCount=function(n=1){for(cnt=0,n=$("#selDoodQuality").val(),i=0;i =island.doodads.length-1;i++)island.doodads[i]!==undefined (n!=1?island.doodads[i].quality==n cnt++ cnt++);$("#doodCount").text("計"+cnt+"個")};sw.doodCount();sw.doods=function(n=-1,t=0){for(n=$("#selDoodQuality").val(),t=parseInt($("#doodskip").text()),tiledood_found=!1,i=0;i =island.doodads.length-1;i++)if(typeof island.doodads[i]!="undefined" island.doodads[i].ownerIdentifier===undefined)if(n!=1){if(island.doodads[i].quality==n)if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--}else if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--;sw.doodCount();tiledood_found||sw.log("見つかりませんでした")};sw.doodStr=function(n){return sw.doodList[n]==undefined?"==unknown==" sw.doodList[n]};sw.doodList={0 "木の扉",1 "木の柵",2 "木の壁",3 "陶器の壁",4 "砂岩の壁",5 "石の壁",6 "爆発罠",7 "落とし罠",8 "くくり罠",9 "魔物のくくり罠",10 "太陽光蒸留器",11 "木の収納箱",12 "木の収納箱(施錠)",13 "魔物の像",14 "草",15 "クレマチス",16 "アザミ",17 "マッシュルーム",18 "ベニテングダケ",19 "スイッチグラス",20 "昆布",21 "ネギ",22 "パイナップル",23 "埋まった石",24 "木苺",25 "センダン草",26 "綿花",27 "ウチワサボテン",28 "タンブルウィード",29 "石の蒸留器",30 "石の蒸留器(着火)",31 "石の焚き火セット",32 "石の焚き火セット(着火)",33 "砂岩の窯",34 "砂岩の窯(着火)",35 "石の炉",36 "石の炉(着火)",37 "木の棒(設置)",38 "木の棒(設置・着火)",39 "石の鍛冶台",40 "洞窟の入口",41 "木の扉(開)",42 "木の門",43 "木の門(開)",44 "ツタウルシ",45 "錬鉄の収納箱",46 "鉄の収納箱",47 "豪華な木の収納箱",48 "スケルトン",49 "陶器の窯",50 "陶器の窯(着火)",51 "陶器の焚き火セット",52 "陶器の焚き火セット(着火)",53 "陶器の炉",54 "陶器の炉(着火)",55 "陶器の蒸留器",56 "陶器の蒸留器(着火)",57 "砂岩の焚き火セット",58 "砂岩の焚き火セット(着火)",59 "砂岩の炉",60 "砂岩の炉(着火)",61 "砂岩の蒸留器",62 "砂岩の蒸留器(着火)",63 "石の窯",64 "石の窯(着火)",65 "錬鉄の鍛冶台",66 "鉄の鍛冶台",67 "楓の木",68 "リンゴの木",69 "トウヒの木",70 "ヒノキの木",71 "ヤシの木",72 "レタス",73 "ジャガイモ",74 "ニンジン",75 "トウモロコシ",76 "キュウリ",77 "トマト",78 "カボチャ",79 "サトウキビ",80 "小麦",81 "銅の収納箱",82 "銅の鍛冶台",83 "樹皮の松明(設置)",84 "樹皮の松明(設置・着火)",85 "獣脂の松明(設置)",86 "獣脂の松明(設置・着火)",87 "ヨシュアの木",88 "弁慶サボテン",89 "アロエ",90 "獣脂のロウソク(設置)",91 "獣脂のロウソク(設置・着火)",92 "木綿の寝具(設置)",93 "羽毛の寝具(設置)",94 "ハンモック(設置)",95 "草の寝具(設置)",96 "つなぎ柱",97 "陶器の井戸",98 "砂岩の井戸",99 "石の井戸",100 "セメントの壁",101 "トウヒの木(雪)",102 "コケモモ",103 "ウメモドキ",104 "ヒナゲシ",105 "銅の収納箱(施錠)",106 "錬鉄の収納箱(施錠)",107 "鉄の収納箱(施錠)",108 "豪華な木の収納箱(施錠)"};sw.monsList={0 "スライム",1 "スライムキューブ",2 "巨大クモ",3 "熊",4 "ウサギ",5 "ヘビ",6 "巨大ネズミ",7 "ネズミ",8 "吸血コウモリ",9 "灰色オオカミ",10 "インプ",11 "ボグリング",12 "うごく岩",13 "サメ",14 "ゾンビ",15 "スケルトン",16 "幽霊海賊",17 "高速クモ",18 "ニワトリ",19 "転移クモ",20 "炎の精霊",21 "タラ",22 "ホブゴブリン",23 "うごくキノコ",24 "巨大イカ",25 "洞窟魚",26 "ハーピー",27 "デーモン",28 "骸骨魔導士",29 "クロウワーム",30 "火竜",31 "スナネコ",32 "溶岩虫",33 "ヤギ",34 "吸血ヒル",35 "トビハゼ",36 "サソリ",37 "ガラガラヘビ",38 "カモシカウサギ",39 "キセンフエダイ",40 "ウォールアイ",41 "ウィスプ",42 "北極オオカミ",43 "北極ウサギ",44 "白熊",45 "ペンギン",46 "氷の精霊",47 "氷の魔女"};sw.colorLime="rgb(0, 255, 0)";sw.colorCyan="rgb(0, 255, 255)";sw.colorRed="rgb(255, 0, 0)";sw.blinkColor=function(n){$("#"+n).css("background-color")==sw.colorLime?$("#"+n).css("background-color",sw.colorRed) $("#"+n).css("background-color",sw.colorLime)} //以下は上のものを読み込んだ後に追加で読み込んでください、作者の環境では一度に読み込むとエラーを吐き出します //ウィンドウをマウスで動かせるようにする (function(){var elements = document.getElementsByClassName("sw_move");var x,y;for(i=0;i elements.length;i++){elements[i].addEventListener("mousedown", mdown, false);elements[i].addEventListener("touchstart", mdown, false);}function mdown(e){this.classList.add("drag");if(e.type === "mousedown"){var event=e}else{var event = e.changedTouches[0]}x=event.pageX-this.offsetLeft;y=event.pageY-this.offsetTop;document.body.addEventListener("mousemove",mmove,false);document.body.addEventListener("touchmove",mmove,false)}function mmove(e){var drag=document.getElementsByClassName("drag")[0];if(e.type === "mousemove"){var event=e}else{var event=e.changedTouches[0]}e.preventDefault();drag.style.top=event.pageY-y+"px";drag.style.left=event.pageX-x+"px";drag.addEventListener("mouseup", mup, false);document.body.addEventListener("mouseleave", mup, false);drag.addEventListener("touchend", mup, false);document.body.addEventListener("touchleave", mup, false)}function mup(e){var drag = document.getElementsByClassName("drag")[0];document.body.removeEventListener("mousemove", mmove, false);drag.removeEventListener("mouseup", mup, false);document.body.removeEventListener("touchmove", mmove, false);drag.removeEventListener("touchend", mup, false);drag.classList.remove("drag")}})() 【動作確認/v0.11f】■[DurMax]:追伸/「骨の針」の素材となった「骨の棒」に現在耐久値が下がっていたアイテムが混入した可能性ですが、一連の動作確認においてインベントリのアイテムが山になったのを切っ掛けに、現在、在庫アイテムの一斉棚卸しの真っ最中でして、前々から溜め込んでいた様々なアイテムが入った宝箱を全部ひっくり返している状態です。当然、その中には現在耐久値が下がっているモノが含まれていて、それらが動作確認中に混入した事も考えられます。今後の動作確認においてはそういった古いアイテムが混ざらないよう注意します。 -- (名無しさん) 2015-05-19 17 52 59 【動作確認/v0.11f】■[popAberrant]:先の報告からこちら、新たに発生したと思われるモンスターで通常種は見かけません(多分)。 /■[DurMax]:[popAberrant]の動作確認がてら変異種から入手したアイテムを素材にアイテム製作を行い耐久値の状況をみておりますが、今の所は現在耐久値=最大耐久値で製作されています。 -- (名無しさん) 2015-05-20 01 37 12 【要望】■[MultiCreate]:[dropAllExtend]と同様に装備中のアイテムやQSのアイテムは[MultiCreate]による連続製作の対象から除外した方が良いと思いますが如何でしょう。武器や道具として使用中のアイテムが[MultiCreate]ボタンをクリックしたら待った無しの連続製作で素材として消費されてしまうと、いざ戦闘という時に素手になっている事に気付いたり、死骸からの剥ぎ取りに必要な「尖った物」が全て消費されて「切り出し」ができなかったりと(←まあ「掘る」でも良いのですが)、少々ですが不便な点も見受けられましたので。 -- (名無しさん) 2015-05-20 01 37 39 装備品・QS除外について、dropAllと製作時では処理の方法が違うので、装備・QSを除外できるか調べてみます というか軽く製作の処理を見てみた感じ鞄の中身をスキャンしてる様子がないんだけど見落としてるんだろうか・・・ -- (スイッチの人) 2015-05-20 11 49 21 手動で1つずつアイテム製作してみるとインベントリ→装備(E)→QSの順で素材となるアイテムを消費している様ですが…実装が難しそうなら仕様上の制限という事でもかまいません。 -- (名無しさん) 2015-05-20 12 50 58 v0.11gに更新しました multiCreateの対象から装備品・QS内のものを除外しました もともと鞄に入っているものは製作対象アイテムじゃなかったというオチね -- (スイッチの人) 2015-05-20 13 39 20 【動作確認/v0.11g】■[MultiCreate] 連続製作で装備アイテムとQSアイテムが素材として使用されない事を確認しました。早速の対応有り難うございます。 -- (名無しさん) 2015-05-20 14 13 37 今modを作ってますが、技術情報の内部処理の書き換えの所が参考になって助かってます。ありがとうございます! -- (はごろもフーズ) 2015-06-23 08 34 42 行き詰まってるコトや実装の仕方についてここで質問してくれれば分かる範囲ですがこっちでも調べてみますよ -- (スイッチの人) 2015-06-24 23 13 07 匿名Modの作者です。Wayward 2.0の一般公開を確認&一通りプレイ完了してからMODを再開発したいと考えています。MODは2.0用に作り直す予定で1.9.2との互換性は考慮しません。初めに日本語対応してから匿名Mod2.0の開発に取り組むと思います。 -- (匿名) 2015-07-25 05 24 37 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/haro25566/pages/15.html
注意 MODの導入方法 注意 導入に際して起きたトラブル等は自己責任でお願いします。 セーブデータの破損等の保障は一切できません。ご了承ください。 ファイルのバックアップを推奨します。 MODの導入方法 一括ファイルで導入する 一括ファイルで導入する場合はこちらのファイルを選んでダウンロードし導入してください。 FTPアップロードに時間がかかっているため、一時Axfc UpLoaderを使用中です。 ・日本語翻訳あり ・日本語翻訳なし ・翻訳なし+Improved Chat+ConvenientInventory ・翻訳なし+Optifog+Optimine導入済み 手動で導入する 手動で導入する場合は下記のMODを導入してください。 zeeksphere s Mod Minecraft 日本語対応化 MOD Risugami s Mods ModLoader AudioMod Beta 1.5_01 GaryCXJk s Turbo Model Thingy Flan s Mods(クライアント版のみ導入してください) ModLoaderMP planes 1.5_01 Teams Mod 1.5_01 SDKs Guns Unofficial 1.5_01 vehicles1.5_01
https://w.atwiki.jp/jg2modfutaba/pages/16.html
MODの導入 目次 MODの導入 MODの基本知識 BLMOD ホモ専用MODと思われがちですが百合や女の子に責められたい人やオネショタにも応用が可能です導入手順(共通項目)女の子に攻められたい・オネショタ・ガチホモ編 反転を利用したH時のみ擬似百合・オネショタ・ノーマル編 オネショタ・百合をハイブリットで楽しむ編 注意点 暗転回避導入手順既にモーションを変更していて変更されると困る方向け 体位追加(既存のモーションに追加の体位が加わります) リアチ○リアマ○の導入 追加衣装の導入 追加髪型の導入注意点としては既に髪型MODを入れてた場合にナンバーが被ってバグる可能性があります 追加性格「皇」導入方法&日本語化(JG1を持ってないと使えません)日本語化は2名のとしあきとイカちゃんの頑張りによるものです 前作性格追加導入簡易まとめ諸注意 性格移植ツール「AA2_AddCharacter」について 旧版の導入法 新版の導入法 AA2_AddCharacterのエラーについて コマンド使用上限解除(チャイムを押さなくても同じコマンドを好感度を低下させずに何度でも使用可能になります)注意点としては体位追加MODを入れてる場合はH相性制限解除を入れてはいけません MODの基本知識 バックアップ必須 失敗してエラーが出てもイリュに問い合わせない MAKEと書かれてるフォルダはきゃらめいくフォルダにあるppファイル PLAYと書かれてるフォルダはガクエン本編のフォルダにあるppファイル BLMOD ホモ専用MODと思われがちですが百合や女の子に責められたい人やオネショタにも応用が可能です 導入手順(共通項目) 3D(エロ)ゲームうぷろだ→ILLUSIONうぷろだよりupillu2802.rar[JG2] 改良 BL modをダウンロード 3D(エロ)ゲームうぷろだ→ILLUSIONうぷろだよりupillu2575.7z[JG2]男顔H表情追加済みxa(ホモH関連)をダウンロード 基本的なツールで説明されているバイナリ書き換え君を使用してAA2Play.exeのバイナリを書き換え(書き換え数値はりどみ参照) 喘がせたい男キャラのppファイルを開く(擬似百合使用時は優君あたりにするといいでしょう) ガクエンフォルダのjg2p05_s00_00.pp~優君からスタート(きゃらめいく順) 多分優君をショタや受けに持っていきたい人が多いと思うのでjg2p05_s00_00.ppを展開でいいと思います 次に喘ぎ声を移植したい女の子フォルダを展開jg2p05_a00_00~活子からスタート(きゃらめいく順)活→薄→朗という感じ 活子を例に出すとa00_k0_000_00_00~とa00_h0_000_00_00があります kがついてるのは日常会話なので必要ないのでhが付いてるものを全てコピーします 先ほど展開したフォルダ(例では優君)s00~で開始してるのが中身を見ると分かると思います 基本的なツールで説明している一括リネームソフトにhがついてる活子の音声ファイルを全て入れます 変更前の部分を活子ならa00変更後をs00に設定します a00_h0_000_00_00→s00_h0_000_00_00こんな感じにリネームされると思います このリネームしたaxx_hxの音声ファイルを例では優君のフォルダjg2p05_s00_00.ppに入れて梱包して戻します 女の子に攻められたい・オネショタ・ガチホモ編 jg2e01_00_00 jg2e03_00_00 jg2p01_00_00をバックアップしてから展開 りどみに書かれてる順番通りに上で展開したの3つのフォルダに上書き梱包してそれぞれのフォルダに戻す 男顔H表情追加済みxaをりどみ通りの場所に展開後梱包して戻す 基本的なツールで説明したJG2ChrDataで受け・ショタにしたい男の子が低いほうがいいなら身長を低いに設定して完了です 標準身長以上推奨です(女性は長身がいいかも) 反転を利用したH時のみ擬似百合・オネショタ・ノーマル編 futaboy製のパックを入れると♀が攻め時にディルドが出ますが女同士だと一部モーションで消えてしまいます 内部処理が♀×♀だとお口ではむはむするのは想定されておらず棒がでないために空中をなめます これを回避するために共通項目を実行します 男の娘をきゃらめいくします 男女反転すると男側の棒が消えて女の子になります(胸はないので身長低めのロリっぽい子推奨) 攻め側の女の子を標準か長身にするとお口でさせたりできるようになります 何故男の娘で作るかと言うと内部処理的に女の子だとディルドが消えるからです PCを男の娘にすることで普段は女の子と付き合ってHの時だけ反転ボタンを押せば百合にも変わります そのまま反転せずにすれば普通にHできます オネショタ・百合をハイブリットで楽しむ編 日常パートで百合百合もしたいけどHの時はオネショタも百合もしたいという欲張りな人向けです 上との違いは普段は女の子のキャラがショタや百合に変わるところです 共通項目を実行します 女の子を恋人にします(受け側はロリ系推奨です)理由は胸が潰れるからです 普通にガクエンパートをすごします Hしたい時に基本的なツールで説明したJG2ChrDataでクラスデータを開き性別を男に変更し顔型を0にします(ショタにやロリにしたいなら身長も低くします) H音声を導入したのが優君なら性格を優にします Hを開始するとショタになっていますのでオネショタを楽しみたい方はそのままどうぞ 百合を楽しみたい場合は反転ボタンを押すと棒が消えて相手がロリに変わるので攻め側は標準身長であれば普通に百合プレイが楽しめます プレイが終わったら変更した部分を元に戻せば相手はそのまま女の子に戻ります 注意点 攻め側の身長が低いと一部体位が正常に動作しないので攻め側は標準身長推奨です BLMODを完全な形で導入すると百合への応用は不可能になります(♀×♀での通常百合はできます) 百合Hでお口でしたりするのはできなくても別にいい人だけ女の子に攻められたい・オネショタ・ガチホモ編を導入して下さい 女の子に攻められたい・オネショタ・ガチホモ編は華奢体系には対応しておらず身長差があるとフェラがズレます 暗転回避 導入手順 upillu2836.7z[[JG2]暗転会話回避改(0=TL),音声分割bat,2014/11/29をダウンロードして解凍 waveflt2でググって上から2つ目くらいに出てくる避難所を開きます waveflt2のボタンを押してWAVEFLT2 Ver.1.16(2003/1/18) (189k) Win32, Linuxをダウンロードします 解凍して出てきたwaveflt2.exeを上で解凍した中身のJG2_Anten_Kaiwa_Wave_Splitに入れます 次にJG2_Anten_Kaiwa_Wave_Split\Motonoフォルダにある同名のppファイルをジンコウガクエン本編フォルダからコピーして基本的なツールで解説したaa2_pp_cryptで全て展開します 展開後出てきた全ての音声ファイルをJG2_Anten_Kaiwa_Wave_Split\Motonoフォルダに入れます(上書き可) JG2_Anten_Kaiwa_Wave_Split.batを起動して終わるまで待ちます JG2_Anten_Kaiwa_Wave_Split\Dekitaフォルダにいくつか音声ファイルが生成されているのでそれを先ほど展開したフォルダに戻し梱包後にガクエンフォルダに戻します 00_Base・01_Custom・02_Custom_Kubi_Tuibiから好きなものを選択します 00は基本的な物で変更無し 01は(恋)「あのさ、話しねー?」のように事前に何の話しかスキンシップの内容などが分かる字幕付き 02は01に加えてキャラクターの顔が動いて臨場感が増します 00_Base・01をまずは全て上書きします カスタム動作が希望の場合はさらにそこに上書きをします 梱包してガクエンフォルダに戻せば終了です HF産の追加性格を導入している場合は手動での修正が必要になりますので注意して下さい 既にモーションを変更していて変更されると困る方向け 00_Base・01_Custom・02_Custom_Kubi_Tuibiから好きなものを選択しますまでは同じです その後ReactReact.lstとTalkCondition.lstとjg2_03_00_0xx.lstを上書きして下さい その後jg2_02_00_0xx.lstの下から数えて7行目までを元lstに全性格分コピペして下さい 体位追加(既存のモーションに追加の体位が加わります) [AA2][Animation][More Cumming Positions][Fix by Alex 7997]でググります ちょっと下にスクロールするとMEGAというボタンがあるので押します 変な広告が出てきたら閉じてもう一度押します ダウンロードできる状態になるのでダウンロードボタンを押します 次に3D(エロ)ゲームうぷろだからupillu2863.zip体位増加MODの日本語差換MOD Ver2.0をダウンロードします その後[AA2][Animation][More Cumming Positions][Fix by Alex 7997]と日本語差換MODも解凍します 日本語差換MODjg2p06_00_00フォルダ内のファイルを[AA2][Animation][More Cumming Positions][Fix by Alex 7997]のAA2_PLAYフォルダ内jg2p06_00_00に上書きします 上の方でも説明している通りにジンコウガクエンフォルダから同名ppファイルをコピー展開後上書きして梱包します ゲームを起動して体位が追加されていれば成功です レズやホモで使えるようにする場合は別の編集が必要なのですがとりあえずこれでノーマルな方はOKです 反転用にレズ・ホモ・全部解放したファイルは希望があればスレ内で配布します リアチ○リアマ○の導入 [AA2][Uncensor][3D MKII][v1.2][Various]でググります ちょっと下にスクロールするとガンダムのアイコンの下にDownload hereというボタンがあるので押します 00. Base Game・01. Append I・02. Append IIというファイルがあるので全てダウンロード解凍します Base Gameから順番にAA2_MAKE→きゃらめいく AA2_PLAY→本編のdataフォルダ内同名ppファイルを展開後上書きしていきます Append IIまで上書きが終わったら梱包してきゃらめいくと本編それぞれのdataフォルダに戻します 次にバイナリを書き換えます 書き換え量が少ないのでStirlingを今回は使用してみましょう 書き換え君も便利なのですがStirlingも使い勝手はいいです Stirlingでググってダウンロードして下さい Stirlingを起動してファイル→開くからAA2Play.exeを選択します 検索・移動から指定アドレスに移動を選択0032D08Aと入力してOKします 62の6の部分にカーソルが行ったと思います 62 00 6D 00 70 00という文字列を74 00 67 00 61 00に書き換えてファイルから上書き保存を選択して導入完了です 追加衣装の導入 [AA2][Clothing][HEXA Collection][TITANS][v2.2.2][Various]でググります ガンダムのアイコンが出てくるので下の方にスクロールしてDownloadから[MEGA]を選択します 3つファイルが出てくるのでverTITANSをダウンロードします(お勧めですし動作確認済みですので特にこだわりがなければこれがいいと思います) AA2_MAKE→きゃらめいく AA2_PLAY→本編の同名ppファイルをコピーしてきて展開上書き梱包して元の場所に戻します jg2p01_00_HEXA_Aってなくない!?と思われるでしょうけどその通りないです ないのでjg2p~_HEXA_~はそのまま梱包して元フォルダに入れます upillu2695.zip[JG2]ボタン付属_sp_00_00_00_01.tgaを3D(エロ)ゲームうぷろだからDLしてreadme通りの場所に展開上書きして梱包します 同梱されてる[AA2][Clothing][HEXA Collection][TITANS][v2.2.2][Various].txtに記載されているImportant Notesという項目を見ます Slot 8 sitagi08 skirt08という感じで書いてあると思います これはsitagi08とskirt08フォルダをとりあえず作ればOKって事です 同じようにSlot 8 sitagi08 skirt08~Slot 43 skirt43までの該当フォルダをジンコウガクエンのdata\textureフォルダに作成します Contentsに書かれてるのが対応する衣装なのですが分からない場合はゲーム画面で見てください 並び順で0からスタートして右に0-1-2-3-といって折り返したら4ですそこに対応するテクスチャを入れればOKって事ですね たとえば陸上ユニフォームならskirt11フォルダにテクスチャを入れればOKという事です 3D(エロ)ゲームうぷろだからupillu2727.rar[JG2]追加衣装_陸上ユニホーム_試作01_アペンド導入済み対象←こういうの落としていれるといいと思います 追加髪型の導入 注意点としては既に髪型MODを入れてた場合にナンバーが被ってバグる可能性があります 回避するには既存のMODを退避させるかナンバーをずらしてお使い下さい aa2 hair bigpack hexaでググります ガンダムのアイコンが出るので下にスクロールします Download Hereというボタンを押すとダウンロードサイトに飛ぶのでダウンロードします AA2_PLAYの中身のフォルダはそのまま梱包してジンコウガクエン2dataフォルダに AA2_MAKE中のフォルダはjg2e03_00_00のみ同名ppファイル展開上書き後梱包し後のファイルはそのまま梱包して入れます 導入完了です 追加性格「皇」導入方法&日本語化(JG1を持ってないと使えません) 日本語化は2名のとしあきとイカちゃんの頑張りによるものです この追加性格は暗転回避を入れている場合は自分で手を加えないと会話が成立しなくなります(この性格だけですが) 暗転回避を入れてる方は元ファイルと見比べながら自分で追加していく必要があります THIS MOD HAS BEEN UPDATED TO V1.4 - DIALOGUE SLIGHTLY EDITED, AUDIO EDITEDでググります 下の方にスクロールしていくとImpress Empress Redux 1.4 HONGFIRE Translationsというボタンがあり押せる状態なので押します ダウンローダーに飛ぶのでダウンロードして解凍します 塩からsp77653.zipイカを食べるなんて酷いでゲソをダウンロードします 3D(エロ)ゲームうぷろだからからupillu2-0768.zip(AA_DecryptTools)をダウンロードして解凍します Redux 1.4を解凍して出てきたjg2p00_00_33.ppとjg2p05_a33_01を展開します 塩から落としたファイルに入っているjg2p00_00_33フォルダの中身を上で展開したjg2p00_00_33に上書きします ジンコウガクエン1のフォルダからjcp07_AB_00.ppをコピーしてAA_DecryptToolsを使い展開します 展開したファイルから塩から落とした物に入っているJG1音声移植対象.txtを見ながら対象ファイルをリネームして下さい リネームした音声をjg2p05_a33_01.ppを展開したファイルに追加して下さい そしてjg2p05_a33_01.ppとjg2p00_00_33.ppを片方ずつ梱包してジンコウガクエン2フォルダに戻して下さい Makerに入ってるjg2e05_00_33.ppはきゃらめいくフォルダに入れて下さい 作業完了です 前作性格追加導入簡易まとめ 諸注意 追加性格作者は一人ではありません、作者毎に差異がありますので 詳しい導入法は各性格作者様のReadmeを熟読してください。 性格移植ツール「AA2_AddCharacter」について junスレでの移植性格は総てAA2_AddCharacterを用いた移植になりますが、 このAA2_AddCharacterには二つ(厳密には三つ)のVer.が存在します。upillu2737.zip [JG2]前作のキャラ移植ファイル作成プログラム試作ver8.4b(以下旧版) upillu2872.zip [JG2]追加性格作成プログラム α7(以下新版) ※虹裏版(現行α8m3)こちらは新版への上書き更新用ファイルのみ同梱、単体では動作しません 新版と旧版二つの導入について解説します まず各作者様のUPした性格移植用ファイルを解凍します ※ここでは追加性格「妾」と『甘』虹裏verを例とさせていただきます フォルダ構成 追加性格「妾」 [JG2]JG1性格移植プログラム『甘』虹裏ver ┣jg2e05_00_81 ┗save ┣jg2p00_00_81 ┗ 虹_裏_甘_性格.sav ┣jg2p05_a81_01 ┗81181.txt 解凍すると中身はこうなってると思います(導入に不要な部分は省略) この 81181.txt と 虹_裏_甘_性格.sav の二つがAA2_AddCharacter用のセーブファイルになります (旧版) (新版) 旧版の導入法 キャラ移植ファイル作成プログラム試作ver8.4bを解凍後 saveフォルダをつくり中にセーブファイルを入れます lstフォルダに前作のjs_03_20_××.lst js_03_30_××.lst の二つを入れます wavフォルダに展開済みjcp07_○○_00をフォルダごと入れます AA2_AddCharacter.exeを起動して上部中央のプルダウンメニューからセーブファイルを選択するとロードされます ロード後、右上にある追加性格の出力ボタンを押し、出力中の表示が終わったらAA2_AddCharacter.exeを終了させます outputフォルダにきゃらめいく 本体 の二つのフォルダが出力されています 本体フォルダのjg2p05_a××_01から音声ファイルのみを移動させます ※追加性格「妾」であればjg2p05_a81_01へ jg2e05_00_××に好きなwavを一つ入れて jg2p_00_00_00_00.lstで指定されている名前にリネームすれば、きゃらめいく性格選択時に喋ります 一通り終わったらフォルダをすべてPPに梱包して、各PPをジンコウガクエン2本体へ移動させれば出来上がりです 新版の導入法 追加性格作成プログラム α7を解凍後 saveフォルダにセーブファイルを入れます chardataフォルダに展開済みjcp07_○○_00をフォルダごと入れます AA2_AddCharacter_v1.exeを起動 左上のプルダウンからセーブファイルを選択してロード 基本設定タブにある性格番号 性別毎の番号にそれぞれ他の性格と被らない番号を入力 OUTPUTボタンを押し出力されたらAA2_AddCharacter_v1を終了させます outputフォルダにきゃらめいく 本体 の二つのフォルダが出力されています それぞれの中にあるフォルダを(場合によってはリネームし)PPに梱包して、各PPをジンコウガクエン2本体へ移動させれば出来上がりです AA2_AddCharacterのエラーについて Q・虹裏版が起動しないんですけど! A・虹裏版は単体では動作しません Q・エラーがでて終了する 音声と台詞がセーブ読み込み後または梱包後にズレる A・原因は様々です以下一例 旧版でwavフォルダにきゃらめいく用音声も入れてた 虹裏版でsetting.iniをいじっていた AA2_AddCharacterをネットワークドライブから起動→ローカルドライブに移動後解決 環境によってはupov30m0303.zip[JG2] 性格改変用画像リストを入れてないとエラーが出る PPの展開梱包ツールによってもズレが生じる場合がある、もう一度展開梱包しなおすかツールを別のものに変える AA2_AddCharacterはHSPで作られているのでエラーが出たときは「hsp 内部エラー」で検索すると解決するかもしれない コマンド使用上限解除(チャイムを押さなくても同じコマンドを好感度を低下させずに何度でも使用可能になります) 注意点としては体位追加MODを入れてる場合はH相性制限解除を入れてはいけません 3D(エロ)ゲームうぷろだからupillu2835.7z[JG2]AI改造,好感度修正,H相性制限解除,lst資料,2014/11/29をダウンロードします ジンコウガクエン2dataフォルダのjg2p00_00_00をコピー展開後00_Kaiwa_Cheatフォルダの中身を上書き梱包して元の位置に戻します これで同じコマンドをひたすら続けても嫌がれず使い続けることが可能です 会話からなでなでまで何度でも出来ます 他の改造項目については同梱の資料をご覧になって各自の判断で導入されるといいと思います
https://w.atwiki.jp/mc_memo/pages/27.html
編集 便利MOD MOD 説明 v 機械系 Applied Energistics 2 アイテムをデータ化し保管や転送を可能にする 1.7.10 作業台 EasyCrafting 所持材料で完成品リストから選択してクラフトを可能にする作業台を追加する - アイテム保管 MoreInventoryMod アイテムを保管するためのコンテナ・ポーチなど便利系アイテムを追加する 1.7.2 IronChests 鉄、金、ダイヤなどの大容量チェストを追加する - Storage Drawers アイテムを保管するためのストレージを追加する 1.10.2 / 1.11.2 アイテム運搬 Hopper Ducts Mod ホッパー結合用アイテムを追加し、出し入れ方向を自由にする - アイテム購入 Universal Coins 所持アイテムから購入・販売可能にする - Star-Mall Mod アイテムを購入・販売可能にするコンピュータを追加する -
https://w.atwiki.jp/minecraft-moddev/pages/12.html
Mod解説 Modの解説をします。他のWikiとの差別化として、Mod開発に役立ちそうな情報を多めにするつもりです。 前提Modの解説 普段意識せずに導入している前提Mod(CodeChickenLibとかCoFHCoreとか)にはどんな機能があるのか、調べた結果をまとめる。 EnderCore CodeChickenCore コメントは管理人が勝手に削除することがあります 名前 コメントログ
https://w.atwiki.jp/bg_mod/pages/14.html
和訳済みMOD一覧 FixPack BG2フィックスパックともG3フィックスパックとも言う。MODをたくさんいれるならBaldurDashのではなくこちらを強く推奨。BaldurDashパッチとは共存性がないので注意(G3 BG2 FixPack-v6) Tutu BG1をBG2エンジンで遊べる。更新停止(Tutu-v4) EasyTutu Tutuのアップデート版に位置してる。(EasyTutu 2008/5/15のToB版) BGT BG1をBG2エンジンで遊べる。(BGT-WeiDu-v1.05b) DSotSC ダークサイド・オブ・ザ・ソードコースト。BG1の大型クエストMOD、BGT用。このMODから拡張クエストの歴史が始まったと言われている。(DSotSC4BGT-WeiDu-v2.00) NTotSC ノーザンテイル・オブ・ザ・ソードコースト。BG1の大型クエストMOD、BGT用。(NTotSC4BGT-WeiDu-v1.55) NTotSC v161 Patch NTotSCをv1.61にするパッチ(NTotSC4BGT-WeiDu-v1.61Patch) Ascension アセンション。ToBの最終バトルを強化。(Ascension-v1.4) Banter Pack ポケットプレーン・バンターパック。ポケットプレーン版とCrossmod版の2種類あるので間違えないように、全く違うMODです。NPC同士の会話の強化。やっぱNPC同士の会話がBGの面白さっしょ。(BanterPack-v7) BG1 Mini Quest BG1ミニクエスト&エンカウンター、通称jasteyクエ(BG1 Mini Quests and Encounters Mod v1) DingO s Quest Pack BG2クエストパック。人気のあるクエストパックであるが故に共存性の問題もちらほら、是非がんばって入れたい。(DingO s Quest Pack v2.3) SCS ソードコースト・ストラテジム。AI強化。これでパターン化された戦闘じゃ勝てなくなるぞ。(SwordCoast Stratagems v8) SCSⅡ ソードコースト・ストラテジムⅡ、SCSのBG2版(SwordCoast Stratagems v8) GBThfKp シーフ・ストロングホールド。BG2シーフの本拠地クエの拡張。あいつらまでアスカトラに!!(Expanded Thief Stronghold v2.8) ToD タワー・オブ・デセプション。オリジナルクエスト。使いまわしではなく新規書き起こしMAPが素敵。(Tower of Deception v3) DC ダンジョン・クロール。オリジナルクエスト。短いが秀作。(Dungeon Crawl v3) Item Upgrade アイテムアップグレード。合成アイテム強化。強くなりすぎるので他の強化MODと共にいれることを推奨。(Westley Weimer s Item Upgrade mod v35) Luv Nalia ナリアロマンスWeiDu版。これとソラウフェンMOD(未訳)がMOD製ロマンス拡張の元祖。これでもう疲れた主婦とは言わせない。(Arnel s Nalia Romance WeiDu v1.06) DungeonBeGone ダンジョンビーゴーン。イレニカスダンジョンのショートカットを面白おかしく演出。(DungeonBeGone v1.6) Spell50 スペル50。スペルをレベル50まで拡張。(Spell-50 Mod - version 9) TS25mini 2CHの翻訳者さんが作成した日本オリジナルMOD。 RR ローグ・リバランシング。ローグのバランス調整とオリジナルクエスト。ヴァージョンアップのたびにクエスト部分がメインになりつつある。(RogueRebalancing v3.91) Refinements リファインメンツ。HLA(ハイレベルアビリティ)の拡張、新キットの追加、ローグの再調整。HLAと新キットに関してはディヴァイン・リミックスとは共存性なし。(Refinements v3.11) Divine_Remix ディヴァイン・リミックス。信仰魔法のシステム変更、HLAの拡張、新呪文新キットの追加。HLAと新クラスに関してはリファインメンツとは共存性なし。(Divine Remix v5) BG2Tweak さまざまな変更を行う。コンポーネントごとに各MODの共存性が違うので注意。(G3 BG2 Tweak Pack v6) Ding0 s Tweak Pack さまざまな変更を行う。コンポーネントごとに各MODの共存性が違うので注意。(Ding0 s Tweak Pack v20) BGT Tweak さまざまな変更を行う。コンポーネントごとに各MODの共存性が違うので注意。(BGT-WeiDu Tweak Pack v7) BP-BGT World Map MAPの拡張を行う。一度導入すると戻せなくなり、セーブデータの共存性が失われるため、入れるなら一番最後に。 Restored Textscreen Music オープニングや夢の場面でのナレーション時にBGMが消えていたのを復活させる。BG1Tutu、EasyTutu、BGT-WeiDu用。(Restored Textscreen Music v7) BP ビッグ・ピクチャー。有名BG2MODの「TDD」用ルール採用のクエ詰め合わせMOD。人気があるが故に共存問題も多い。(Big Picture v1.77a)
https://w.atwiki.jp/minecraft-moddev/pages/17.html
Mod開発 Mod開発に関する情報 Mod開発/メモ/CraftTweakerとの連携 Mod開発/Minecraftのクラスと名前空間