Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e8ad909891 | ||
|
|
71b19d9f75 | ||
|
|
d2ecc50c56 | ||
|
|
81efabf913 | ||
|
|
ceba87a2dc | ||
|
|
47acc42f6f | ||
|
|
b60439bddc | ||
|
|
01706097d9 | ||
|
|
786aae892c | ||
|
|
2b1daa3533 | ||
|
|
44e11223e1 | ||
|
|
0479419e21 | ||
|
|
8857822788 | ||
|
|
f8de2683ab | ||
|
|
3b8e2b770e | ||
|
|
e901db7002 | ||
|
|
71664c739c | ||
|
|
3370676b45 | ||
|
|
6c63b6c694 | ||
|
|
b9186d6194 | ||
|
|
6523621de8 | ||
|
|
e9b3d51468 | ||
|
|
f0ea6bccbf | ||
|
|
f6eb4936df | ||
|
|
3921b096d8 | ||
|
|
8067072a2b | ||
|
|
4f36033b2c | ||
|
|
20b2603ae7 | ||
|
|
e117360e4b | ||
|
|
550b3e9878 |
No files matched your search
@@ -188,7 +188,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"166", "D20", "Zamíchá pickupy"},
|
{"166", "D20", "Zamíchá pickupy"},
|
||||||
{"167", "Harlekýnské Dítě", "Vystřelí dvě slzy ve tvaru písmene V#Uděluje 4 poškození za střelu"},
|
{"167", "Harlekýnské Dítě", "Vystřelí dvě slzy ve tvaru písmene V#Uděluje 4 poškození za střelu"},
|
||||||
{"168", "Epický Zárodek", "Kontrolovatelný nálet místo slz#Uděluje 20násobek tvého poškození"},
|
{"168", "Epický Zárodek", "Kontrolovatelný nálet místo slz#Uděluje 20násobek tvého poškození"},
|
||||||
{"169", "Polyfémos", "↑ {{Damage}} +100% Větší Poškození#↑ {{Damage}} +4 dodatečné Větší Poškození#↓ {{Tears}} Méně Slz#Slzy pokračují i po zabití nepřítele"},
|
{"169", "Polyfémos", "↑ {{Damage}} +100% Větší Poškození#↑ {{Damage}} +4 dodatečné Větší Poškození#↓ {{Tears}} Méně Slz#Slzy pokračují i po zabití nepřítele"},
|
||||||
{"170", "Taťka Dlouhonožka", "Dupe na nepřátele#Uděluje 40 poškození za sekundu"},
|
{"170", "Taťka Dlouhonožka", "Dupe na nepřátele#Uděluje 40 poškození za sekundu"},
|
||||||
{"171", "Pavoučí Prdel", "Zpomalí nepřátele na 4 sekundy#10 poškození všem nepřátelům"},
|
{"171", "Pavoučí Prdel", "Zpomalí nepřátele na 4 sekundy#10 poškození všem nepřátelům"},
|
||||||
{"172", "Obětní Dýka", "Orbitální dýka#Blokuje nepřátelské střely#Uděluje 225 poškození za sekundu"},
|
{"172", "Obětní Dýka", "Orbitální dýka#Blokuje nepřátelské střely#Uděluje 225 poškození za sekundu"},
|
||||||
@@ -804,7 +804,7 @@ EID.descriptions[languageCode].pills={
|
|||||||
{"33", "Jedna Tě Zmenší", "Zmenšení#Tvůj hitbox je menší"},
|
{"33", "Jedna Tě Zmenší", "Zmenšení#Tvůj hitbox je menší"},
|
||||||
{"34", "Zamoření!", "Vytvoří 1 modrého pavouka za každé hovno v místnosti"},
|
{"34", "Zamoření!", "Vytvoří 1 modrého pavouka za každé hovno v místnosti"},
|
||||||
{"35", "Zamoření?", "Vytvoří 1 modrého pavouka za každého nepřítele v místnosti#Vytvoří 1-3 modré pavouky, když se v místnosti žádný nepřítel nenachází"},
|
{"35", "Zamoření?", "Vytvoří 1 modrého pavouka za každého nepřítele v místnosti#Vytvoří 1-3 modré pavouky, když se v místnosti žádný nepřítel nenachází"},
|
||||||
{"36", "Power Pilulka!", "Krátká nesmrtelnost#Udělujete kontaktní poškození"},
|
{"36", "Power Pilulka!", "Krátká nesmrtelnost#Uděluješ kontaktní poškození"},
|
||||||
{"37", "Retro Vize", "Rozpixeluje obrazovku po dobu 30 sekund"},
|
{"37", "Retro Vize", "Rozpixeluje obrazovku po dobu 30 sekund"},
|
||||||
{"38", "Přátelé až do Konce!", "Vytvoří 3 modré mouchy"},
|
{"38", "Přátelé až do Konce!", "Vytvoří 3 modré mouchy"},
|
||||||
{"39", "X-Lax", "Vytvoří za tebou klouzavou hovnovou kaluž"},
|
{"39", "X-Lax", "Vytvoří za tebou klouzavou hovnovou kaluž"},
|
||||||
|
|||||||
+530
-530
File diff suppressed because it is too large.
Load diff
@@ -271,7 +271,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"249", "There's Options", "ボスアイテムを2つの 候補から選択できる"},
|
{"249", "There's Options", "ボスアイテムを2つの 候補から選択できる"},
|
||||||
{"250", "Bogo Bombs", "全ての爆弾がダブル バージョンに置き換わる"},
|
{"250", "Bogo Bombs", "全ての爆弾がダブル バージョンに置き換わる"},
|
||||||
{"251", "Starter Deck", "カードを2枚まで 保持可能になる#全てのピルをカードに 置き変える#取得時、ランダムな カードを1枚スポーン"},
|
{"251", "Starter Deck", "カードを2枚まで 保持可能になる#全てのピルをカードに 置き変える#取得時、ランダムな カードを1枚スポーン"},
|
||||||
{"252", "Little Baggy", "ピルを2枚まで 保持可能になる#全てのカードをピルに 置き変える#取得時、ランダムな ピルを1個スポーン"},
|
{"252", "Little Baggy", "ピルを2個まで 保持可能になる#全てのカードをピルに 置き変える#取得時、ランダムな ピルを1個スポーン"},
|
||||||
{"253", "Magic Scab", "↑ 運 +1#↑ 最大体力 +1"},
|
{"253", "Magic Scab", "↑ 運 +1#↑ 最大体力 +1"},
|
||||||
{"254", "Blood Clot", "左目のみに適用:#↑ 攻撃力 +1#↑ 射程 +5"},
|
{"254", "Blood Clot", "左目のみに適用:#↑ 攻撃力 +1#↑ 射程 +5"},
|
||||||
{"255", "Screw", "↑ 連射速度 +0.5#↑ 弾速 +0.2"},
|
{"255", "Screw", "↑ 連射速度 +0.5#↑ 弾速 +0.2"},
|
||||||
@@ -393,7 +393,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"369", "Continuum", "↑ 射程 +2.25#↑ 涙の高さ +1.5#涙に透過効果を付与#涙が画面の端と端で ループするようになる"},
|
{"369", "Continuum", "↑ 射程 +2.25#↑ 涙の高さ +1.5#涙に透過効果を付与#涙が画面の端と端で ループするようになる"},
|
||||||
{"370", "Mr. Dolly", "↑ 連射速度 +0.7#↑ 射程 +5.25#↑ 涙の高さ +0.5#取得時、ランダムな ハートを3個スポーン"},
|
{"370", "Mr. Dolly", "↑ 連射速度 +0.7#↑ 射程 +5.25#↑ 涙の高さ +0.5#取得時、ランダムな ハートを3個スポーン"},
|
||||||
{"371", "Curse of the Tower", "ダメージを受けるたび 6個のトロル爆弾がスポーン#この効果で生成された トロル爆弾は爆弾強化 アイテムの特殊効果を 引き継ぐ"},
|
{"371", "Curse of the Tower", "ダメージを受けるたび 6個のトロル爆弾がスポーン#この効果で生成された トロル爆弾は爆弾強化 アイテムの特殊効果を 引き継ぐ"},
|
||||||
{"372", "Charged Baby", "バトル中、30秒おきに、#{{Blank}} \7 電池のスポーン#{{Blank}} \7 チャージの追加#{{Blank}} \7 敵を1.5秒間石化#{{Blank}} のいずれかを行う使い魔"},
|
{"372", "Charged Baby", "バトル中、30秒おきに、#{{Blank}} \7 電池のスポーン#{{Blank}} \7 チャージの追加#{{Blank}} \7 敵を1.5秒間石化#{{Blank}} のいずれかを行う使い魔#電池とチャージ効果は 一部屋2回まで有効"},
|
||||||
{"373", "Dead Eye", "↑ 涙が敵に当たるたび 攻撃力 +25%(最大100%)#涙が外れると一定確率で 攻撃力がリセットされる"},
|
{"373", "Dead Eye", "↑ 涙が敵に当たるたび 攻撃力 +25%(最大100%)#涙が外れると一定確率で 攻撃力がリセットされる"},
|
||||||
{"374", "Holy Light", "一定確率で聖なる涙が 発射され、衝突すると 近くの敵に光線が降り注ぐ#光線は攻撃力x4の ダメージを与える#確率:運0=9%、9=50%"},
|
{"374", "Holy Light", "一定確率で聖なる涙が 発射され、衝突すると 近くの敵に光線が降り注ぐ#光線は攻撃力x4の ダメージを与える#確率:運0=9%、9=50%"},
|
||||||
{"375", "Host Hat", "爆発耐性を付与#敵の弾を25%の確率で ブロックし、跳ね返す"},
|
{"375", "Host Hat", "爆発耐性を付与#敵の弾を25%の確率で ブロックし、跳ね返す"},
|
||||||
@@ -556,7 +556,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"532", "Lachryphagy", "涙が徐々に減速しながら 飛ぶようになり、停止か 衝突すると破裂して涙を 拡散する#涙が他の涙を吸収し、 サイズとダメージを 増加させるようになる#涙が5つ吸収されると、 即座に破裂する"},
|
{"532", "Lachryphagy", "涙が徐々に減速しながら 飛ぶようになり、停止か 衝突すると破裂して涙を 拡散する#涙が他の涙を吸収し、 サイズとダメージを 増加させるようになる#涙が5つ吸収されると、 即座に破裂する"},
|
||||||
{"533", "Trisagion", "涙が貫通効果を持つ 短い光線に置き換わる#光線は攻撃力x0.33の ダメージを複数回与える"},
|
{"533", "Trisagion", "涙が貫通効果を持つ 短い光線に置き換わる#光線は攻撃力x0.33の ダメージを複数回与える"},
|
||||||
{"534", "Schoolbag", "アクティブアイテムを 2つ保持可能になる#ドロップボタンで切替え"},
|
{"534", "Schoolbag", "アクティブアイテムを 2つ保持可能になる#ドロップボタンで切替え"},
|
||||||
{"535", "Blanket", "青ハート +1#体力を1回復#ボス部屋に入った時、 一度だけダメージを 無効化するシールド を付与 "},
|
{"535", "Blanket", "青ハート +1#体力を1回復#ボス部屋に入った時、 一度だけダメージを 無効化するシールドを付与"},
|
||||||
{"536", "Sacrificial Altar", "!!! 使い切りアイテム !!!#使い魔をランダムに最大 2体生贄に捧げ、等しい 数の悪魔部屋アイテムを スポーンする#所有する青ハエ/クモが コインに変換される"},
|
{"536", "Sacrificial Altar", "!!! 使い切りアイテム !!!#使い魔をランダムに最大 2体生贄に捧げ、等しい 数の悪魔部屋アイテムを スポーンする#所有する青ハエ/クモが コインに変換される"},
|
||||||
{"537", "Lil Spewer", "アイザックの攻撃に連動 してチャージを溜め、 解放時に有害な液体を 床に吐き出す使い魔#ピルを使用するたびに 液体の効果がランダムに 変化する#取得時、ランダムな ピルを1個スポーン"},
|
{"537", "Lil Spewer", "アイザックの攻撃に連動 してチャージを溜め、 解放時に有害な液体を 床に吐き出す使い魔#ピルを使用するたびに 液体の効果がランダムに 変化する#取得時、ランダムな ピルを1個スポーン"},
|
||||||
{"538", "Marbles", "取得時、ランダムな トリンケットを3つ スポーンする#ダメージを受けた時、 5%の確率で保持中の トリンケットが吸収 され、効果が永続化する"},
|
{"538", "Marbles", "取得時、ランダムな トリンケットを3つ スポーンする#ダメージを受けた時、 5%の確率で保持中の トリンケットが吸収 され、効果が永続化する"},
|
||||||
@@ -775,7 +775,7 @@ EID.descriptions[languageCode].pills={
|
|||||||
{"2", "Balls of Steel", "青ハート +2"},
|
{"2", "Balls of Steel", "青ハート +2"},
|
||||||
{"3", "Bombs are Key", "爆弾と鍵の所持数を 入れ替える"},
|
{"3", "Bombs are Key", "爆弾と鍵の所持数を 入れ替える"},
|
||||||
{"4", "Explosive Diarrhea", "アイザックの尻から 点火済みの爆弾が 5連続スポーンする"},
|
{"4", "Explosive Diarrhea", "アイザックの尻から 点火済みの爆弾が 5連続スポーンする"},
|
||||||
{"5", "体力全回復", "体力全回復"},
|
{"5", "Full Health", "体力全回復"},
|
||||||
{"6", "Health Down", "↓ 最大体力 -1#最大体力が1以下の 場合、HPアップに変化"},
|
{"6", "Health Down", "↓ 最大体力 -1#最大体力が1以下の 場合、HPアップに変化"},
|
||||||
{"7", "Health Up", "↑ 最大体力 +1"},
|
{"7", "Health Up", "↑ 最大体力 +1"},
|
||||||
{"8", "I Found Pills", "効果なし"},
|
{"8", "I Found Pills", "効果なし"},
|
||||||
@@ -881,7 +881,7 @@ EID.descriptions[languageCode].CollectionPageInfo = "コレクションページ
|
|||||||
EID.descriptions[languageCode].MCM = {
|
EID.descriptions[languageCode].MCM = {
|
||||||
DemoObjectName = "Demo Object Name",
|
DemoObjectName = "Demo Object Name",
|
||||||
DemoObjectTransformation = "Demo Transformation",
|
DemoObjectTransformation = "Demo Transformation",
|
||||||
DemoObjectText = "日本語の表示サンプル#↑ 行間 +0.5#↓ 文字のサイズ +0.25#説明文は、単語間の半角 スペースで自動的に改行 されます#!!! 日本語はスペースを使用 しないので、改行位置に 半角スペースを決め打ち しています 表示幅をデフォルトから 変更すると表示が崩れる 可能性があります#デフォルトの表示幅:130 全角13文字が一行の限界#最終更新日:2022-08-04",
|
DemoObjectText = "日本語の表示サンプル#↑ 行間 +0.5#↓ 文字のサイズ +0.25#説明文は、単語間の半角 スペースで自動的に改行 されます#!!! 日本語はスペースを使用 しないので、改行位置に 半角スペースを決め打ち しています 表示幅をデフォルトから 変更すると表示が崩れる 可能性があります#デフォルトの表示幅:130 全角13文字が一行の限界",
|
||||||
}
|
}
|
||||||
|
|
||||||
EID.descriptions[languageCode].HoldMapTitle = "アイテムリマインダー"
|
EID.descriptions[languageCode].HoldMapTitle = "アイテムリマインダー"
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ local repCollectibles={
|
|||||||
[155] = {"155", "Kukadlo", "Poletuje po místnosti#Uděluje 17.1 kontaktního poškození za sekundu#↑ {{Damage}} Slzy vystřelené z Izákova levého oka způsobí o 34 % větší poškození"}, -- The Peeper
|
[155] = {"155", "Kukadlo", "Poletuje po místnosti#Uděluje 17.1 kontaktního poškození za sekundu#↑ {{Damage}} Slzy vystřelené z Izákova levého oka způsobí o 34 % větší poškození"}, -- The Peeper
|
||||||
[158] = {"158", "Křišťálová Koule", "Odhalí celou mapu#{{SoulHeart}} Vytvoří duševní srdce#{{Card}} náhodnou kartu#{{Rune}} či runu#Při držení :#{{PlanetariumChance}} +15% šance na Planetárium#100% šance pokud {{TreasureRoom}} Pokladnice byla přeskočena"}, -- Crystal Ball
|
[158] = {"158", "Křišťálová Koule", "Odhalí celou mapu#{{SoulHeart}} Vytvoří duševní srdce#{{Card}} náhodnou kartu#{{Rune}} či runu#Při držení :#{{PlanetariumChance}} +15% šance na Planetárium#100% šance pokud {{TreasureRoom}} Pokladnice byla přeskočena"}, -- Crystal Ball
|
||||||
[161] = {"161", "Ankh", "{{Player4}} Znovuzrodiš se jako ??? (Blue Baby) po smrti#{{Player25}} Poskvrněný ??? se sám oživí"}, -- Ankh
|
[161] = {"161", "Ankh", "{{Player4}} Znovuzrodiš se jako ??? (Blue Baby) po smrti#{{Player25}} Poskvrněný ??? se sám oživí"}, -- Ankh
|
||||||
[169] = {"169", "Polyfémos", "↑ {{Damage}} +100% Větší Poškození#↑ {{Damage}} +4 dodatečné Větší Poškození#↓ {{Tears}} -58% Méně Slz#Slzy pokračují i po zabití nepřítele"},
|
[169] = {"169", "Polyfémos", "↑ {{Damage}} +100% Větší Poškození#↑ {{Damage}} +4 dodatečné Větší Poškození#↓ {{Tears}} -58% Méně Slz#Slzy pokračují i po zabití nepřítele"},
|
||||||
[171] = {"171", "Pavoučí Prdel", "{{Slow}} Zpomalí nepřátele na 4 sekundy#10 poškození všem nepřátelům#Zabití nepřátelé vytvoří modré pavouky"}, -- Spider Butt
|
[171] = {"171", "Pavoučí Prdel", "{{Slow}} Zpomalí nepřátele na 4 sekundy#10 poškození všem nepřátelům#Zabití nepřátelé vytvoří modré pavouky"}, -- Spider Butt
|
||||||
[172] = {"172", "Obětní Dýka", "Orbitální nůž#Blokuje nepřátelské střely#Udává 112.5 poškození za sekundu"}, -- Sacrificial Dagger
|
[172] = {"172", "Obětní Dýka", "Orbitální nůž#Blokuje nepřátelské střely#Udává 112.5 poškození za sekundu"}, -- Sacrificial Dagger
|
||||||
[176] = {"176", "Kmenové Buňky", "↑ {{Heart}} +1 Zvýšení Zdraví#↑ {{Shotspeed}} +0.16 Vyšší Rychlost Střel#{{Heart}} Vyléčí 1 červené srdce"}, -- Stem Cells
|
[176] = {"176", "Kmenové Buňky", "↑ {{Heart}} +1 Zvýšení Zdraví#↑ {{Shotspeed}} +0.16 Vyšší Rychlost Střel#{{Heart}} Vyléčí 1 červené srdce"}, -- Stem Cells
|
||||||
|
|||||||
+530
-540
File diff suppressed because it is too large.
Load diff
+10
-18
@@ -2,7 +2,7 @@
|
|||||||
----- Basic Japanese descriptions -----
|
----- Basic Japanese descriptions -----
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
-- Last Update: 2022-08-11
|
-- Last Update: 2022-08-31
|
||||||
|
|
||||||
-- FORMAT: Item ID | Name| Description
|
-- FORMAT: Item ID | Name| Description
|
||||||
-- '#' = starts new line of text
|
-- '#' = starts new line of text
|
||||||
@@ -128,6 +128,8 @@ local repCollectibles={
|
|||||||
[294] = {"294", "Butter Bean", "おならで近くの敵と弾を ノックバックさせる#この効果で壁や障害物に 衝突した敵はダメージを 受ける "}, -- Butter Bean
|
[294] = {"294", "Butter Bean", "おならで近くの敵と弾を ノックバックさせる#この効果で壁や障害物に 衝突した敵はダメージを 受ける "}, -- Butter Bean
|
||||||
[295] = {"295", "Magic Fingers", "1コイン消費し、部屋の 全ての敵に攻撃力x2+10の ダメージを与える"}, -- Magic Fingers
|
[295] = {"295", "Magic Fingers", "1コイン消費し、部屋の 全ての敵に攻撃力x2+10の ダメージを与える"}, -- Magic Fingers
|
||||||
[296] = {"296", "Converter", "青/黒ハートを1個消費し、 最大体力を1個増やす"}, -- Converter
|
[296] = {"296", "Converter", "青/黒ハートを1個消費し、 最大体力を1個増やす"}, -- Converter
|
||||||
|
--NOTE FOR LOCALIZERS: There is code to highlight the text of your current floor
|
||||||
|
--For it to work, only use line breaks or semicolons to separate floor details, and use the same order as English
|
||||||
[297] = {"297", "Pandora's Box", "{{Warning}} 使い切りアイテム#使用フロアで効果が変化:#B1:青ハート 2個#B2:爆弾と鍵 各2個#C1:ボスアイテム 1個#C2:B1+C1#D1:青ハート 4個#D2:コイン 20枚#W1:ボスアイテム 2個#W2:{{Collectible33}} 聖書#???/Void:なし#Sheol:悪魔部屋アイテム1個 黒ハート 1個#Cat:天使部屋アイテム 1個 白ハート 1個#DarkRoom:{{Collectible523}}お引越し用の箱 をアンロック#Chest:コイン 1枚#Home:{{Collectible580}}レッドキー"}, -- Pandora's Box
|
[297] = {"297", "Pandora's Box", "{{Warning}} 使い切りアイテム#使用フロアで効果が変化:#B1:青ハート 2個#B2:爆弾と鍵 各2個#C1:ボスアイテム 1個#C2:B1+C1#D1:青ハート 4個#D2:コイン 20枚#W1:ボスアイテム 2個#W2:{{Collectible33}} 聖書#???/Void:なし#Sheol:悪魔部屋アイテム1個 黒ハート 1個#Cat:天使部屋アイテム 1個 白ハート 1個#DarkRoom:{{Collectible523}}お引越し用の箱 をアンロック#Chest:コイン 1枚#Home:{{Collectible580}}レッドキー"}, -- Pandora's Box
|
||||||
[300] = {"300", "Aries", "↑ 移動速度 +0.25#素早く敵に衝突すると、 敵に25のダメージを与える#この時、アイザックは ダメージを受けない"}, -- Aries
|
[300] = {"300", "Aries", "↑ 移動速度 +0.25#素早く敵に衝突すると、 敵に25のダメージを与える#この時、アイザックは ダメージを受けない"}, -- Aries
|
||||||
[307] = {"307", "Capricorn", "↑ 最大体力 +1#↑ 攻撃力 +0.5#↑ 移動速度 +0.1#↑ 射程 +0.75#↑ 連射速度 +0.5#コイン・爆弾・鍵 +1"}, -- Capricorn
|
[307] = {"307", "Capricorn", "↑ 最大体力 +1#↑ 攻撃力 +0.5#↑ 移動速度 +0.1#↑ 射程 +0.75#↑ 連射速度 +0.5#コイン・爆弾・鍵 +1"}, -- Capricorn
|
||||||
@@ -154,12 +156,11 @@ local repCollectibles={
|
|||||||
[354] = {"354", "Crack Jacks", "↑ 最大体力 +1#取得時、トリンケットを ランダムに1個スポーン#体力を1回復"}, -- Crack Jacks
|
[354] = {"354", "Crack Jacks", "↑ 最大体力 +1#取得時、トリンケットを ランダムに1個スポーン#体力を1回復"}, -- Crack Jacks
|
||||||
[355] = {"355", "Mom's Pearls", "↑ 射程 +0.38#↑ 運 +1#青ハート +1"}, -- Mom's Pearls
|
[355] = {"355", "Mom's Pearls", "↑ 射程 +0.38#↑ 運 +1#青ハート +1"}, -- Mom's Pearls
|
||||||
[360] = {"360", "Incubus", "アイザックの涙をコピー して攻撃する使い魔#リリス以外のキャラで 使う場合、ダメージが 25%減少する"}, -- Incubus
|
[360] = {"360", "Incubus", "アイザックの涙をコピー して攻撃する使い魔#リリス以外のキャラで 使う場合、ダメージが 25%減少する"}, -- Incubus
|
||||||
[365] = {"365", "Lost Fly", "壁や障害物に沿って 移動する使い魔#毎秒56の接触ダメージ#近くの敵を追尾攻撃する"}, -- Lost Fly
|
[365] = {"365", "Lost Fly", "壁や障害物に沿って 移動する使い魔#毎秒56の接触ダメージ#近くの敵を引き付け、 アイザックの代わりに 攻撃対象となる"}, -- Lost Fly
|
||||||
[366] = {"366", "Scatter Bombs", "爆弾 +5#爆弾から4~5個の小さな 爆弾が分裂する"}, -- Scatter Bombs
|
[366] = {"366", "Scatter Bombs", "爆弾 +5#爆弾から4~5個の小さな 爆弾が分裂する"}, -- Scatter Bombs
|
||||||
[368] = {"368", "Epiphora", "同一方向に攻撃し続けると 連射速度が上昇していき、 最大200%アップする#攻撃の停止・方向変更で 連射速度がリセットされる"}, -- Epiphora
|
[368] = {"368", "Epiphora", "同一方向に攻撃し続けると 連射速度が上昇していき、 最大200%アップする#攻撃の停止・方向変更で 連射速度がリセットされる"}, -- Epiphora
|
||||||
[369] = {"369", "Continuum", "↑ 射程 +3#涙に透過効果を付与#涙が画面の端と端で ループするようになる"}, -- Continuum
|
[369] = {"369", "Continuum", "↑ 射程 +3#涙に透過効果を付与#涙が画面の端と端で ループするようになる"}, -- Continuum
|
||||||
[370] = {"370", "Mr. Dolly", "↑ 連射速度 +0.7#↑ 射程 +1.5#取得時、ランダムな ハートを3個スポーン"}, -- Mr. Dolly
|
[370] = {"370", "Mr. Dolly", "↑ 連射速度 +0.7#↑ 射程 +1.5#取得時、ランダムな ハートを3個スポーン"}, -- Mr. Dolly
|
||||||
[372] = {"372", "Charged Baby", "バトル中、30秒おきに、#{{Blank}} \7 電池のスポーン#{{Blank}} \7 チャージの追加#{{Blank}} \7 敵を1.5秒間石化#{{Blank}} のいずれかを行う使い魔"}, -- Charged Baby
|
|
||||||
[374] = {"374", "Holy Light", "一定確率で聖なる涙が 発射され、衝突すると 近くの敵に光線が降り注ぐ#光線は攻撃力x3の ダメージを与える#確率:運0=9%、9=50%"}, -- Holy Light
|
[374] = {"374", "Holy Light", "一定確率で聖なる涙が 発射され、衝突すると 近くの敵に光線が降り注ぐ#光線は攻撃力x3の ダメージを与える#確率:運0=9%、9=50%"}, -- Holy Light
|
||||||
[375] = {"375", "Host Hat", "爆発耐性を付与#敵の弾を25%の確率で ブロックし、跳ね返す#頭上に落下してくる弾を ブロックする"}, -- Host hat
|
[375] = {"375", "Host Hat", "爆発耐性を付与#敵の弾を25%の確率で ブロックし、跳ね返す#頭上に落下してくる弾を ブロックする"}, -- Host hat
|
||||||
[376] = {"376", "Restock", "お店で商品を購入すると 新しい商品が補充される#補充されるたびに商品が 値上がりする"}, -- Restock
|
[376] = {"376", "Restock", "お店で商品を購入すると 新しい商品が補充される#補充されるたびに商品が 値上がりする"}, -- Restock
|
||||||
@@ -224,7 +225,6 @@ local repCollectibles={
|
|||||||
[523] = {"523", "Moving Box", "部屋のピックアップと アイテムを、10個まで 保存して運べる#保存した状態で再使用 すると、中身をそこに 展開する"}, -- Moving Box
|
[523] = {"523", "Moving Box", "部屋のピックアップと アイテムを、10個まで 保存して運べる#保存した状態で再使用 すると、中身をそこに 展開する"}, -- Moving Box
|
||||||
[524] = {"524", "Technology Zero", "涙同士が電気ビームで つながり、触れた敵に 攻撃力x0.3のダメージ を秒間15回与える"}, -- Technology Zero
|
[524] = {"524", "Technology Zero", "涙同士が電気ビームで つながり、触れた敵に 攻撃力x0.3のダメージ を秒間15回与える"}, -- Technology Zero
|
||||||
[531] = {"531", "Haemolacria", "涙が弧を描いて飛び、 衝突すると破裂して 小さな涙が拡散する#↑ 攻撃力 +50%#↑ 攻撃力 +1#↓ 連射速度 -67%#↓ 射程 -20%"}, -- Haemolacria
|
[531] = {"531", "Haemolacria", "涙が弧を描いて飛び、 衝突すると破裂して 小さな涙が拡散する#↑ 攻撃力 +50%#↑ 攻撃力 +1#↓ 連射速度 -67%#↓ 射程 -20%"}, -- Haemolacria
|
||||||
[535] = {"535", "Blanket", "青ハート +1#体力を1回復#{{HolyMantle}} ボス部屋に入った時、 一度だけダメージを 無効化するシールドを付与"},
|
|
||||||
[543] = {"543", "Hallowed Ground", "ダメージを受けると 白いうんちがスポーン#うんちオーラの範囲内:#↑ 攻撃力 +20%#↑ 連射速度 +150%#涙にホーミング効果を付与#一定確率でダメージ無効化"}, -- Hallowed Ground
|
[543] = {"543", "Hallowed Ground", "ダメージを受けると 白いうんちがスポーン#うんちオーラの範囲内:#↑ 攻撃力 +20%#↑ 連射速度 +150%#涙にホーミング効果を付与#一定確率でダメージ無効化"}, -- Hallowed Ground
|
||||||
[549] = {"549", "Brittle Bones", "最大体力を0にし、6個の 骨ハートに置き換える#骨ハートを失うと:#8方向に骨が飛び散る#↑ 連射速度 +0.4(永続)"}, -- Brittle Bones
|
[549] = {"549", "Brittle Bones", "最大体力を0にし、6個の 骨ハートに置き換える#骨ハートを失うと:#8方向に骨が飛び散る#↑ 連射速度 +0.4(永続)"}, -- Brittle Bones
|
||||||
[552] = {"552", "Mom's Shovel", "次のフロアにつながる トラップドアを生成#装飾のある床の上で 使用するとクロール スペースを生成する (草やゴミがある床)#!!! ある場所で使うと…?"}, -- Mom's Shovel
|
[552] = {"552", "Mom's Shovel", "次のフロアにつながる トラップドアを生成#装飾のある床の上で 使用するとクロール スペースを生成する (草やゴミがある床)#!!! ある場所で使うと…?"}, -- Mom's Shovel
|
||||||
@@ -252,7 +252,7 @@ local repCollectibles={
|
|||||||
[574] = {"574", "Monstrance", "アイザックがオーラを 放ち、範囲内の敵に ダメージを与える#オーラの中心に近付く ほどダメージ量が増加"}, -- Monstrance
|
[574] = {"574", "Monstrance", "アイザックがオーラを 放ち、範囲内の敵に ダメージを与える#オーラの中心に近付く ほどダメージ量が増加"}, -- Monstrance
|
||||||
[575] = {"575", "The Intruder", "クモが頭に寄生し、スロー 効果付き涙で敵を攻撃する#ダメージを受けた時、 一定確率で頭から飛び出す"}, -- The Intruder
|
[575] = {"575", "The Intruder", "クモが頭に寄生し、スロー 効果付き涙で敵を攻撃する#ダメージを受けた時、 一定確率で頭から飛び出す"}, -- The Intruder
|
||||||
[576] = {"576", "Dirty Mind", "敵のうんちが味方になる#うんちを壊すと1~4匹の うんち使い魔がスポーン#特殊なうんちは特殊な うんち使い魔をスポーン#一定確率で岩がうんちに 置き換わる"}, -- Dirty Mind
|
[576] = {"576", "Dirty Mind", "敵のうんちが味方になる#うんちを壊すと1~4匹の うんち使い魔がスポーン#特殊なうんちは特殊な うんち使い魔をスポーン#一定確率で岩がうんちに 置き換わる"}, -- Dirty Mind
|
||||||
[577] = {"577", "Damocles", "{{Warning}} 使い切りアイテム {{Warning}}#頭上に吊るされた剣が 一定の確率で落下し、 アイザックが即死する#剣が吊るされている間、 アイテムは倍になって スポーンする#お店、宝箱、悪魔取引の アイテムは倍にならない#即死効果は無敵状態で 回避できる#落下確率は15分で50%"}, -- Damocles
|
[577] = {"577", "Damocles", "{{Warning}} 使い切りアイテム {{Warning}}#使うと、アイザックの 頭上に剣が吊るされ、 以降、アイテムが倍に なってスポーンする#お店、宝箱、悪魔取引の アイテムは倍にならない#{{Warning}} ダメージを受けた後、 剣が一定確率で落下し、 アイザックが即死する#即死効果は無敵状態で 回避できる#落下確率は15分で50%"}, -- Damocles
|
||||||
[578] = {"578", "Free Lemonade", "床にレモネードが広がり、 敵に毎秒24のダメージを 与える"}, -- Free Lemonade
|
[578] = {"578", "Free Lemonade", "床にレモネードが広がり、 敵に毎秒24のダメージを 与える"}, -- Free Lemonade
|
||||||
[579] = {"579", "Spirit Sword", "涙を剣による近接攻撃に 置き換える#剣は攻撃力x3のダメージを 与え、総体力が十分な時、 ビームを放つ#フルチャージするとスピン アタックとビームを放つ"}, -- Spirit Sword
|
[579] = {"579", "Spirit Sword", "涙を剣による近接攻撃に 置き換える#剣は攻撃力x3のダメージを 与え、総体力が十分な時、 ビームを放つ#フルチャージするとスピン アタックとビームを放つ"}, -- Spirit Sword
|
||||||
[580] = {"580", "Red Key", "赤いドアの輪郭が表示 された壁に対して使用 すると、新しい部屋を 生成できる#10%の確率で特殊部屋が 生成される#13x13の範囲外に生成 すると、I AM ERRORに つながる "}, -- Red Key
|
[580] = {"580", "Red Key", "赤いドアの輪郭が表示 された壁に対して使用 すると、新しい部屋を 生成できる#10%の確率で特殊部屋が 生成される#13x13の範囲外に生成 すると、I AM ERRORに つながる "}, -- Red Key
|
||||||
@@ -328,10 +328,10 @@ local repCollectibles={
|
|||||||
[650] = {"650", "Plum Flute", "ベビープラムが召喚され、 10秒間敵と戦う"}, -- Plum Flute
|
[650] = {"650", "Plum Flute", "ベビープラムが召喚され、 10秒間敵と戦う"}, -- Plum Flute
|
||||||
[651] = {"651", "Star of Bethlehem", "ボス部屋に向かって自律 移動し、到達すると停止 する使い魔#使い魔の範囲内:#↑ 攻撃力 +1#↑ 攻撃力 +20%#↑ 連射速度アップ#涙にホーミング効果を付与#一定確率でダメージ無効"}, -- Star of Bethlehem
|
[651] = {"651", "Star of Bethlehem", "ボス部屋に向かって自律 移動し、到達すると停止 する使い魔#使い魔の範囲内:#↑ 攻撃力 +1#↑ 攻撃力 +20%#↑ 連射速度アップ#涙にホーミング効果を付与#一定確率でダメージ無効"}, -- Star of Bethlehem
|
||||||
[652] = {"652", "Cube Baby", "接触した敵にダメージと スロー効果を与え、敵を 倒した場合は凍結させる 使い魔 #自ら動けず、アイザック との接触や、敵の弾の ブロックでスライドする"}, -- Cube Baby
|
[652] = {"652", "Cube Baby", "接触した敵にダメージと スロー効果を与え、敵を 倒した場合は凍結させる 使い魔 #自ら動けず、アイザック との接触や、敵の弾の ブロックでスライドする"}, -- Cube Baby
|
||||||
[653] = {"653", "Vade Retro", "保持中、倒された敵が 赤い幽霊を残す#アイテムを使用すると 赤い幽霊が爆発し、 敵にダメージを与える"}, -- Vade Retro
|
[653] = {"653", "Vade Retro", "保持中、倒された敵が 赤い幽霊を残す#アイテムを使用すると 赤い幽霊が爆発し、 敵にダメージを与える#残り体力が50%以下の、 幽霊タイプの敵を即死 させる(ボスを含む)"}, -- Vade Retro
|
||||||
[654] = {"654", "False PHD", "黒ハート +1#全てのピルが識別される#良性のピルを悪性に変換#ステータスを下げるピルを 飲むと攻撃力が0.6増加し、 それ以外の場合黒ハートを スポーンする"}, -- False PHD
|
[654] = {"654", "False PHD", "黒ハート +1#全てのピルが識別される#良性のピルを悪性に変換#ステータスを下げるピルを 飲むと攻撃力が0.6増加し、 それ以外の場合黒ハートを スポーンする"}, -- False PHD
|
||||||
[655] = {"655", "Spin to Win", "コマがアイザックを周回 し、敵に接触ダメージを 与え、弾をブロックする#毎秒10.5の接触ダメージ#使用すると、コマと他の 使い魔が高速で周回し、 接触ダメージが強化され、 移動速度が0.5アップする"}, -- Spin to Win
|
[655] = {"655", "Spin to Win", "コマがアイザックを周回 し、敵に接触ダメージを 与え、弾をブロックする#毎秒10.5の接触ダメージ#使用すると、コマと他の 使い魔が高速で周回し、 接触ダメージが強化され、 移動速度が0.5アップする"}, -- Spin to Win
|
||||||
[656] = {"656", "Damocles", "頭上に吊るされた剣が 一定の確率で落下し、 アイザックが即死する#剣が吊るされている間、 アイテムは倍になって スポーンする#お店、宝箱、悪魔取引の アイテムは倍にならない#即死効果は無敵状態で 回避できる#落下確率は15分で50%"}, -- Damocles
|
[656] = {"656", "Damocles", "使うと、アイザックの 頭上に剣が吊るされ、 以降、アイテムが倍に なってスポーンする#お店、宝箱、悪魔取引の アイテムは倍にならない#{{Warning}} ダメージを受けた後、 剣が一定確率で落下し、 アイザックが即死する#即死効果は無敵状態で 回避できる#落下確率は15分で50%"}, -- Damocles
|
||||||
[657] = {"657", "Vasculitis", "倒された敵が涙を拡散する#拡散する涙はアイザックの 持つ特殊効果を引き継ぐ"}, -- Vasculitis
|
[657] = {"657", "Vasculitis", "倒された敵が涙を拡散する#拡散する涙はアイザックの 持つ特殊効果を引き継ぐ"}, -- Vasculitis
|
||||||
[658] = {"658", "Giant Cell", "ダメージを受けるたびに マイクロ・アイザックが スポーンし、近くの敵を 追いかけ攻撃する"}, -- Giant Cell
|
[658] = {"658", "Giant Cell", "ダメージを受けるたびに マイクロ・アイザックが スポーンし、近くの敵を 追いかけ攻撃する"}, -- Giant Cell
|
||||||
[659] = {"659", "Tropicamide", "↑ 射程 +1.5#↑ 涙のサイズ"}, -- Tropicamide
|
[659] = {"659", "Tropicamide", "↑ 射程 +1.5#↑ 涙のサイズ"}, -- Tropicamide
|
||||||
@@ -524,7 +524,7 @@ EID.descriptions[languageCode].bookOfVirtuesWisps = {
|
|||||||
[42] = "7.5%の確率で{{Collectible149}}吐き気薬", -- Bob's Rotten Head
|
[42] = "7.5%の確率で{{Collectible149}}吐き気薬", -- Bob's Rotten Head
|
||||||
[44] = "涙が10%の確率で敵を テレポートさせる#5秒おきに姿を消す", -- Teleport!
|
[44] = "涙が10%の確率で敵を テレポートさせる#5秒おきに姿を消す", -- Teleport!
|
||||||
[45] = "倒した敵が20%の確率で 赤ハートを落とす", -- Yum Heart
|
[45] = "倒した敵が20%の確率で 赤ハートを落とす", -- Yum Heart
|
||||||
[47] = "0.5倍ダメージ#使用時、照準地点に 2発の爆発涙を発射する", -- Doctor's Remote
|
[47] = "0.5倍ダメージ#使用時、照準地点に 3発の爆発涙を発射する", -- Doctor's Remote
|
||||||
[49] = "涙攻撃なし#使用時、同時にレーザー 攻撃を放つ", -- Shoop da Whoop!
|
[49] = "涙攻撃なし#使用時、同時にレーザー 攻撃を放つ", -- Shoop da Whoop!
|
||||||
[56] = "短射程・高速連射の涙#レモン汁を床に垂らし、 敵にダメージを与える", -- Lemon Mishap
|
[56] = "短射程・高速連射の涙#レモン汁を床に垂らし、 敵にダメージを与える", -- Lemon Mishap
|
||||||
[58] = "敵の弾で破壊されない", -- Book of Shadows
|
[58] = "敵の弾で破壊されない", -- Book of Shadows
|
||||||
@@ -826,7 +826,6 @@ EID.descriptions[languageCode].goldenTrinketEffects = {
|
|||||||
|
|
||||||
local repCards={
|
local repCards={
|
||||||
[2] = {"2", "I - The Magician", "その部屋に居る間、涙に ホーミング効果を付与#↑ 射程 +3"}, -- I - The Magician
|
[2] = {"2", "I - The Magician", "その部屋に居る間、涙に ホーミング効果を付与#↑ 射程 +3"}, -- I - The Magician
|
||||||
[4] = {"4", "III - The Empress", "その部屋に居る間:#↑ 攻撃力 +2.35#↑ 移動速度 +0.3"},
|
|
||||||
[12] = {"12", "XI - Strength", "その部屋に居る間:#↑ 最大体力 +1#↑ 攻撃力 +0.3#↑ 攻撃力 +50%#↑ 射程 +1.5#↑ 移動速度 +0.3"}, -- XI - Strength
|
[12] = {"12", "XI - Strength", "その部屋に居る間:#↑ 最大体力 +1#↑ 攻撃力 +0.3#↑ 攻撃力 +50%#↑ 射程 +1.5#↑ 移動速度 +0.3"}, -- XI - Strength
|
||||||
[16] = {"16", "XV - The Devil", "その部屋に居る間:#↑ 攻撃力 +2"},
|
[16] = {"16", "XV - The Devil", "その部屋に居る間:#↑ 攻撃力 +2"},
|
||||||
[18] = {"18", "XVII - The Stars", "{{TreasureRoom}} トレジャールームに テレポート#{{Planetarium}} プラネタリウムがある場合、 そちらにテレポート"},
|
[18] = {"18", "XVII - The Stars", "{{TreasureRoom}} トレジャールームに テレポート#{{Planetarium}} プラネタリウムがある場合、 そちらにテレポート"},
|
||||||
@@ -839,7 +838,6 @@ local repCards={
|
|||||||
[42] = {"42", "Chaos Card", "移動方向にカードを投げ、 触れた敵を即死させる#デリリウムとビーストは 即死無効"}, -- Chaos Card
|
[42] = {"42", "Chaos Card", "移動方向にカードを投げ、 触れた敵を即死させる#デリリウムとビーストは 即死無効"}, -- Chaos Card
|
||||||
[51] = {"51", "Holy Card", "一度だけダメージを 無効化するシールドを 付与する #効果は次のダメージを 受けるまで持続"}, -- Holy Card
|
[51] = {"51", "Holy Card", "一度だけダメージを 無効化するシールドを 付与する #効果は次のダメージを 受けるまで持続"}, -- Holy Card
|
||||||
[52] = {"52", "Huge Growth", "その部屋に居る間:#↑ 攻撃力 +7#↑ 射程 +3#障害物破壊能力を付与#アイザックのサイズ拡大"}, -- Huge Growth
|
[52] = {"52", "Huge Growth", "その部屋に居る間:#↑ 攻撃力 +7#↑ 射程 +3#障害物破壊能力を付与#アイザックのサイズ拡大"}, -- Huge Growth
|
||||||
[54] = {"54", "Era Walk", "その部屋に居る間:#全ての敵をスロー状態に#↑ 移動速度 +0.5#↓ 弾速 -1"},
|
|
||||||
[55] = {"55", "Rune Shard", "ランダムなルーンの 効果を発動する#通常のルーンよりも 効果は弱体化される"}, -- Rune Shard
|
[55] = {"55", "Rune Shard", "ランダムなルーンの 効果を発動する#通常のルーンよりも 効果は弱体化される"}, -- Rune Shard
|
||||||
[56] = {"56", "0 - The Fool?", "所持するピックアップと ハートを全て床に落とし、 残り体力を半ハートにする#一定数以上のコインと 爆弾は、{{Collectible74}}クォーターか {{Collectible19}}ドカーン!に変化して 落とされる"}, -- 0 - The Fool?
|
[56] = {"56", "0 - The Fool?", "所持するピックアップと ハートを全て床に落とし、 残り体力を半ハートにする#一定数以上のコインと 爆弾は、{{Collectible74}}クォーターか {{Collectible19}}ドカーン!に変化して 落とされる"}, -- 0 - The Fool?
|
||||||
[57] = {"57", "I - The Magician?", "敵と弾を跳ね返すオーラを 1分間付与する"}, -- I - The Magician?
|
[57] = {"57", "I - The Magician?", "敵と弾を跳ね返すオーラを 1分間付与する"}, -- I - The Magician?
|
||||||
@@ -927,12 +925,6 @@ local repPills={
|
|||||||
[4] = {"3", "Bombs are Key", "爆弾と鍵の所持数を 入れ替える#金爆弾/金鍵の場合、 金効果も入れ替わる"}, -- Bombs are Key
|
[4] = {"3", "Bombs are Key", "爆弾と鍵の所持数を 入れ替える#金爆弾/金鍵の場合、 金効果も入れ替わる"}, -- Bombs are Key
|
||||||
[12] = {"11", "Range Down", "↓ 射程 -0.6"}, -- Range Down
|
[12] = {"11", "Range Down", "↓ 射程 -0.6"}, -- Range Down
|
||||||
[13] = {"12", "Range Up", "↑ 射程 +0.75"}, -- Range Up
|
[13] = {"12", "Range Up", "↑ 射程 +0.75"}, -- Range Up
|
||||||
[14] = {"13", "Speed Down", "↓ 移動速度 -0.12"},
|
|
||||||
[15] = {"14", "Speed Up", "↑ 移動速度 +0.15"},
|
|
||||||
[16] = {"15", "Tears Down", "↓ 連射速度 -0.28"},
|
|
||||||
[17] = {"16", "Tears Up", "↑ 連射速度 +0.35"},
|
|
||||||
[18] = {"17", "Luck Down", "↓ 運 -1"},
|
|
||||||
[19] = {"18", "Luck Up", "↑ 運 +1"},
|
|
||||||
[38] = {"37", "Retro Vision", "ゲーム画面が30秒間 ピクセル加工される"},
|
[38] = {"37", "Retro Vision", "ゲーム画面が30秒間 ピクセル加工される"},
|
||||||
[42] = {"41", "I'm Drowsy...", "部屋の全ての敵と アイザックを スロー状態にする"}, -- I'm Drowsy...
|
[42] = {"41", "I'm Drowsy...", "部屋の全ての敵と アイザックを スロー状態にする"}, -- I'm Drowsy...
|
||||||
[43] = {"42", "I'm Excited!!!", "部屋の全ての敵と アイザックを 加速状態にする#30秒後と60秒後にも 効果が発動する"}, -- I'm Excited!!!
|
[43] = {"42", "I'm Excited!!!", "部屋の全ての敵と アイザックを 加速状態にする#30秒後と60秒後にも 効果が発動する"}, -- I'm Excited!!!
|
||||||
@@ -1083,10 +1075,10 @@ EID.descriptions[languageCode].CraftingBagQuality = "バッグ品質:"
|
|||||||
EID.descriptions[languageCode].CraftingBestQuality = "最高品質:"
|
EID.descriptions[languageCode].CraftingBestQuality = "最高品質:"
|
||||||
|
|
||||||
EID.descriptions[languageCode].CraftingHideKey = "非表示:"
|
EID.descriptions[languageCode].CraftingHideKey = "非表示:"
|
||||||
EID.descriptions[languageCode].CraftingPreviewKey = "プレビュー"
|
EID.descriptions[languageCode].CraftingPreviewKey = "プレビュー:"
|
||||||
EID.descriptions[languageCode].CraftingPreviewBackup = "!!! アンロックされていない場合"
|
EID.descriptions[languageCode].CraftingPreviewBackup = "!!! アンロックされていない場合"
|
||||||
|
|
||||||
EID.descriptions[languageCode].CraftingResults = "スクロール:#{{Blank}} {{CONFIG_BoC_Toggle}} 押下中に {{ButtonY}} or {{ButtonA}}#固定: {{ButtonX}} 更新: {{ButtonB}}#バッグリセット:{{ButtonRB}} 長押し"
|
EID.descriptions[languageCode].CraftingResults = "レシピのスクロール:#{{Blank}} マップ表示ボタン押下中#{{Blank}} {{ButtonY}} or {{ButtonA}}#レシピの固定: {{ButtonX}}#レシピの更新: {{ButtonB}}#バッグリセット:{{ButtonRB}} 長押し"
|
||||||
|
|
||||||
EID.descriptions[languageCode].BlankCardCharge = "白紙のカードチャージ:"
|
EID.descriptions[languageCode].BlankCardCharge = "白紙のカードチャージ:"
|
||||||
EID.descriptions[languageCode].BlankCardQCard = "I AM ERRORにテレポート#白紙のカードと?カード 両方が消失する"
|
EID.descriptions[languageCode].BlankCardQCard = "I AM ERRORにテレポート#白紙のカードと?カード 両方が消失する"
|
||||||
|
|||||||
+153
-14
@@ -2,22 +2,39 @@
|
|||||||
if not __eidItemDescriptions then
|
if not __eidItemDescriptions then
|
||||||
__eidItemDescriptions = {}
|
__eidItemDescriptions = {}
|
||||||
end
|
end
|
||||||
|
setmetatable(__eidItemDescriptions,
|
||||||
|
{ __newindex = function(_, k, v) EID:addCollectible(k, v) end })
|
||||||
if not __eidTrinketDescriptions then
|
if not __eidTrinketDescriptions then
|
||||||
__eidTrinketDescriptions = {}
|
__eidTrinketDescriptions = {}
|
||||||
end
|
end
|
||||||
|
setmetatable(__eidTrinketDescriptions,
|
||||||
|
{ __newindex = function(_, k, v) EID:addTrinket(k, v) end })
|
||||||
if not __eidCardDescriptions then
|
if not __eidCardDescriptions then
|
||||||
__eidCardDescriptions = {}
|
__eidCardDescriptions = {}
|
||||||
end
|
end
|
||||||
|
setmetatable(__eidCardDescriptions,
|
||||||
|
{ __newindex = function(_, k, v) EID:addCard(k, v) end })
|
||||||
if not __eidPillDescriptions then
|
if not __eidPillDescriptions then
|
||||||
__eidPillDescriptions = {}
|
__eidPillDescriptions = {}
|
||||||
end
|
end
|
||||||
|
setmetatable(__eidPillDescriptions,
|
||||||
|
{ __newindex = function(_, k, v) EID:addPill(k, v) end })
|
||||||
if not __eidItemTransformations then
|
if not __eidItemTransformations then
|
||||||
__eidItemTransformations = {}
|
__eidItemTransformations = {}
|
||||||
end
|
end
|
||||||
|
setmetatable(__eidItemTransformations,
|
||||||
|
{ __newindex = function(_, k, v) EID:assignTransformation("collectible", k, v) end })
|
||||||
if not __eidEntityDescriptions then
|
if not __eidEntityDescriptions then
|
||||||
__eidEntityDescriptions = {}
|
__eidEntityDescriptions = {}
|
||||||
end
|
end
|
||||||
|
setmetatable(__eidEntityDescriptions,
|
||||||
|
{ __newindex = function(_, k, v)
|
||||||
|
local entityID = {}
|
||||||
|
for id in string.gmatch(k, "([^.]+)") do
|
||||||
|
table.insert(entityID, id)
|
||||||
|
end
|
||||||
|
EID:addEntity(entityID[1], entityID[2], entityID[3], v[1], v[2])
|
||||||
|
end })
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
-------------------------Handle API Functions -----------------------------
|
-------------------------Handle API Functions -----------------------------
|
||||||
local nullVector = Vector(0,0)
|
local nullVector = Vector(0,0)
|
||||||
@@ -146,6 +163,29 @@ function EID:assignTransformation(targetType, targetIdentifier, transformationSt
|
|||||||
EID:removeEntryFromString(EID.CustomTransformRemovals, entryID, transformationString)
|
EID:removeEntryFromString(EID.CustomTransformRemovals, entryID, transformationString)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Try to automatically assign vanilla transformations to the entity
|
||||||
|
function EID:tryAutodetectTransformationsCollectible(collectibleID)
|
||||||
|
if not REPENTANCE then return end
|
||||||
|
local config = EID.itemConfig:GetCollectible(collectibleID)
|
||||||
|
local transformations = {}
|
||||||
|
transformations[EID.TRANSFORMATION.ANGEL] = config:HasTags(ItemConfig.TAG_ANGEL) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.BOB] = config:HasTags(ItemConfig.TAG_BOB) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.BOOKWORM] = config:HasTags(ItemConfig.TAG_BOOK) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.CONJOINED] = config:HasTags(ItemConfig.TAG_BABY) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.GUPPY] = config:HasTags(ItemConfig.TAG_GUPPY) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.LEVIATHAN] = config:HasTags(ItemConfig.TAG_DEVIL) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.LORD_OF_THE_FLIES] = config:HasTags(ItemConfig.TAG_FLY) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.MOM] = config:HasTags(ItemConfig.TAG_MOM) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.MUSHROOM] = config:HasTags(ItemConfig.TAG_MUSHROOM) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.POOP] = config:HasTags(ItemConfig.TAG_POOP) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.SPIDERBABY] = config:HasTags(ItemConfig.TAG_SPIDER) or nil
|
||||||
|
transformations[EID.TRANSFORMATION.SPUN] = config:HasTags(ItemConfig.TAG_SYRINGE) or nil
|
||||||
|
-- these dont have a tag : ADULT, STOMPY, SUPERBUM
|
||||||
|
for k, _ in pairs(transformations) do
|
||||||
|
EID:assignTransformation("collectible", collectibleID, k)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Removes a transformation of an entity
|
-- Removes a transformation of an entity
|
||||||
-- valid target types: [collectible, trinket, card, pill, entity]
|
-- valid target types: [collectible, trinket, card, pill, entity]
|
||||||
-- when type = entity, targetIdentifier must be in the format "ID.Variant.subtype". for any other type, it can just be the id
|
-- when type = entity, targetIdentifier must be in the format "ID.Variant.subtype". for any other type, it can just be the id
|
||||||
@@ -427,6 +467,8 @@ function EID:getAdjustedSubtype(Type, Variant, SubType)
|
|||||||
if SubType > 32768 then
|
if SubType > 32768 then
|
||||||
return SubType - 32768
|
return SubType - 32768
|
||||||
end
|
end
|
||||||
|
elseif tableName == "sacrifice" then
|
||||||
|
return math.min(#EID.descriptions["en_us"].sacrifice, SubType)
|
||||||
elseif tableName == "pills" or tableName == "horsepills" then
|
elseif tableName == "pills" or tableName == "horsepills" then
|
||||||
-- The effect of a pill varies depending on what player is looking at it in co-op
|
-- The effect of a pill varies depending on what player is looking at it in co-op
|
||||||
-- EID.pillPlayer is a way to recheck a pill for what different players will turn it into
|
-- EID.pillPlayer is a way to recheck a pill for what different players will turn it into
|
||||||
@@ -510,24 +552,37 @@ function EID:getObjectName(Type, Variant, SubType)
|
|||||||
return name or (not string.find(vanillaName, "^#") and vanillaName) or EID.descriptions["en_us"][tableName][SubType][2] or vanillaName
|
return name or (not string.find(vanillaName, "^#") and vanillaName) or EID.descriptions["en_us"][tableName][SubType][2] or vanillaName
|
||||||
elseif tableName == "pills" or tableName == "horsepills" then
|
elseif tableName == "pills" or tableName == "horsepills" then
|
||||||
local adjustedSubtype = EID:getAdjustedSubtype(Type, Variant, SubType)
|
local adjustedSubtype = EID:getAdjustedSubtype(Type, Variant, SubType)
|
||||||
local vanillaName = ""
|
return EID:getPillName(adjustedSubtype, tableName == "horsepills")
|
||||||
if adjustedSubtype == 9999 then
|
|
||||||
vanillaName = "Golden Pill" -- only used for languages that haven't defined a Golden Pill name
|
|
||||||
else
|
|
||||||
vanillaName = EID.itemConfig:GetPillEffect(adjustedSubtype - 1).Name
|
|
||||||
end
|
|
||||||
name = name or (not string.find(vanillaName, "^#") and vanillaName) or EID.descriptions["en_us"][tableName][adjustedSubtype][2] or vanillaName
|
|
||||||
return string.gsub(name,"I'm Excited!!!","I'm Excited!!") -- prevent markup trigger
|
|
||||||
elseif tableName == "sacrifice" then
|
elseif tableName == "sacrifice" then
|
||||||
return EID:getDescriptionEntry("sacrificeHeader")
|
return EID:getDescriptionEntry("sacrificeHeader").." ("..SubType.."/"..#EID.descriptions["en_us"].sacrifice..")"
|
||||||
elseif tableName == "dice" then
|
elseif tableName == "dice" then
|
||||||
return EID:getDescriptionEntry("diceHeader").." ("..SubType..")"
|
return EID:getDescriptionEntry("diceHeader").." ("..SubType..")"
|
||||||
elseif tableName == "custom" then
|
elseif tableName == "custom" then
|
||||||
return name or Type.."."..Variant.."."..SubType
|
local xmlName = EID.XMLEntityNames[Type.."."..Variant] or EID.XMLEntityNames[Type.."."..Variant.."."..SubType]
|
||||||
|
return name or xmlName or Type.."."..Variant.."."..SubType
|
||||||
end
|
end
|
||||||
return Type.."."..Variant.."."..SubType
|
return Type.."."..Variant.."."..SubType
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- returns the name of a pill based on the pilleffect id
|
||||||
|
function EID:getPillName(pillID, isHorsepill)
|
||||||
|
local moddedDesc = EID:getDescriptionEntry("custom", "5.70."..pillID)
|
||||||
|
local legacyModdedDescription = EID:getLegacyModDescription(5, 70, pillID)
|
||||||
|
local tableName = isHorsepill and "horsepills" or "pills"
|
||||||
|
local defaultDesc = EID:getDescriptionEntry(tableName, pillID)
|
||||||
|
|
||||||
|
local name = moddedDesc or legacyModdedDescription or defaultDesc
|
||||||
|
|
||||||
|
local vanillaName = ""
|
||||||
|
if pillID == 9999 then
|
||||||
|
vanillaName = "Golden Pill" -- only used for languages that haven't defined a Golden Pill name
|
||||||
|
else
|
||||||
|
vanillaName = EID.itemConfig:GetPillEffect(pillID - 1).Name
|
||||||
|
end
|
||||||
|
name = name and name[2] or (not string.find(vanillaName, "^#") and vanillaName) or EID.descriptions["en_us"][tableName][pillID][2] or vanillaName
|
||||||
|
return string.gsub(name,"I'm Excited!!!","I'm Excited!!") -- prevent markup trigger
|
||||||
|
end
|
||||||
|
|
||||||
-- tries to get the ingame description of an object, based on their description in the XML files
|
-- tries to get the ingame description of an object, based on their description in the XML files
|
||||||
function EID:getXMLDescription(Type, Variant, SubType)
|
function EID:getXMLDescription(Type, Variant, SubType)
|
||||||
local tableName = EID:getTableName(Type, Variant, SubType)
|
local tableName = EID:getTableName(Type, Variant, SubType)
|
||||||
@@ -545,6 +600,16 @@ end
|
|||||||
|
|
||||||
-- check if an entity is part of the describable entities
|
-- check if an entity is part of the describable entities
|
||||||
function EID:hasDescription(entity)
|
function EID:hasDescription(entity)
|
||||||
|
if entity and EID:IsGridEntity(entity) then
|
||||||
|
if entity and EID.GridEntityWhitelist[entity:GetType()] then
|
||||||
|
for _, func in ipairs(EID.GridEntityWhitelist[entity:GetType()]) do
|
||||||
|
if func(entity) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
local isAllowed = false
|
local isAllowed = false
|
||||||
local entityString = entity.Type .. "." .. entity.Variant .. "." .. entity.SubType
|
local entityString = entity.Type .. "." .. entity.Variant .. "." .. entity.SubType
|
||||||
|
|
||||||
@@ -584,6 +649,33 @@ function EID:replaceShortMarkupStrings(text)
|
|||||||
return text
|
return text
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Replaces name markup objects with the actual name
|
||||||
|
function EID:replaceNameMarkupStrings(text)
|
||||||
|
for word in string.gmatch(text, "{{Name.-}}") do
|
||||||
|
local strTrimmed = string.gsub(word, "{{Name(.-)}}", function(a) return a end)
|
||||||
|
local indicator = string.sub(strTrimmed, 1, 1)
|
||||||
|
local id = tonumber(string.sub(strTrimmed, 2, -1))
|
||||||
|
local name = ""
|
||||||
|
if tonumber(indicator) then
|
||||||
|
local entityID = {}
|
||||||
|
for e in string.gmatch(strTrimmed, "([^.]*)") do
|
||||||
|
table.insert(entityID, tonumber(e))
|
||||||
|
end
|
||||||
|
name = EID:getObjectName(entityID[1], entityID[2], entityID[3])
|
||||||
|
elseif indicator == "C" then -- Collectible
|
||||||
|
name = "{{Collectible"..id.."}}"..EID:getObjectName(5, 100, id)
|
||||||
|
elseif indicator == "T" then -- Trinket
|
||||||
|
name = "{{Trinket"..id.."}}"..EID:getObjectName(5, 350, id)
|
||||||
|
elseif indicator == "P" then -- Pills
|
||||||
|
name = "{{Pill"..id.."}}"..EID:getPillName(id, false)
|
||||||
|
elseif indicator == "K" then -- Card
|
||||||
|
name = "{{Card"..id.."}}"..EID:getObjectName(5, 300, id)
|
||||||
|
end
|
||||||
|
text = string.gsub(text, word, "{{ColorYellow}}"..name.."{{CR}}", 1)
|
||||||
|
end
|
||||||
|
return text
|
||||||
|
end
|
||||||
|
|
||||||
-- Generates a string with the defined pixel-length using a custom 1px wide character
|
-- Generates a string with the defined pixel-length using a custom 1px wide character
|
||||||
-- This will only work for this specific custom font
|
-- This will only work for this specific custom font
|
||||||
function EID:generatePlaceholderString(length)
|
function EID:generatePlaceholderString(length)
|
||||||
@@ -1284,7 +1376,7 @@ function EID:getScreenSize()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function EID:getEntityData(entity, str)
|
function EID:getEntityData(entity, str)
|
||||||
if entity ~= nil and entity:GetData() ~= nil then
|
if entity ~= nil and not EID:IsGridEntity(entity) and entity:GetData() ~= nil then
|
||||||
return entity:GetData()[str]
|
return entity:GetData()[str]
|
||||||
end
|
end
|
||||||
return nil
|
return nil
|
||||||
@@ -1561,9 +1653,8 @@ local hadQueuedItem = {}
|
|||||||
function EID:evaluateQueuedItems()
|
function EID:evaluateQueuedItems()
|
||||||
--initialize the interactions table for all players if it isn't already
|
--initialize the interactions table for all players if it isn't already
|
||||||
for i = 0, game:GetNumPlayers() - 1 do
|
for i = 0, game:GetNumPlayers() - 1 do
|
||||||
local player = Isaac.GetPlayer(i)
|
|
||||||
if not EID.PlayerItemInteractions[i] then
|
if not EID.PlayerItemInteractions[i] then
|
||||||
EID.PlayerItemInteractions[i] = {LastTouch = 0, actives = {}, pills = {}, altActives = {}, altPills = {}}
|
EID.PlayerItemInteractions[i] = {LastTouch = 0, actives = {}, pills = {}, altActives = {}, altPills = {}, pickupHistory = {}}
|
||||||
end
|
end
|
||||||
EID.RecentlyTouchedItems[i] = EID.RecentlyTouchedItems[i] or {}
|
EID.RecentlyTouchedItems[i] = EID.RecentlyTouchedItems[i] or {}
|
||||||
end
|
end
|
||||||
@@ -1651,3 +1742,51 @@ end
|
|||||||
function EID:SetPillEffectUnidentifyable(pillEffectID, isUnidentifyable)
|
function EID:SetPillEffectUnidentifyable(pillEffectID, isUnidentifyable)
|
||||||
EID.UnidentifyablePillEffects[pillEffectID + 1] = isUnidentifyable or nil
|
EID.UnidentifyablePillEffects[pillEffectID + 1] = isUnidentifyable or nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Add pickup usage to history of pickups used by the player
|
||||||
|
function EID:AddPickupToHistory(pickupType, effectID, player, useFlags)
|
||||||
|
if REPENTANCE and useFlags & UseFlag.USE_MIMIC == UseFlag.USE_MIMIC then return end -- dont add mimic pills to history
|
||||||
|
local playerID = EID:getPlayerID(player)
|
||||||
|
if not EID.PlayerItemInteractions[playerID].pickupHistory then
|
||||||
|
EID.PlayerItemInteractions[playerID].pickupHistory = {}
|
||||||
|
end
|
||||||
|
local historyTable = EID.PlayerItemInteractions[playerID].pickupHistory
|
||||||
|
|
||||||
|
-- pickupType = ["pill","card"], playerTypeID, effectID, hadEchoChamberWhenUsed
|
||||||
|
table.insert(historyTable, 1, {pickupType, player:GetPlayerType(), effectID, REPENTANCE and player:HasCollectible(700)})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Render a sprite of an entity
|
||||||
|
function EID:RenderEntity(entity, sprite, position)
|
||||||
|
if entity.Type == 5 and entity.Variant == 100 then
|
||||||
|
sprite:RenderLayer(1, position, nullVector, nullVector)
|
||||||
|
elseif entity.Type == 6 and entity.Variant == 16 then -- Crane Game
|
||||||
|
sprite:RenderLayer(2, position, nullVector, nullVector)
|
||||||
|
else
|
||||||
|
sprite:Render(position, nullVector, nullVector)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Tries to get the Vanilla transformations of modded items based on Tags
|
||||||
|
function EID:GetTransformationsOfModdedItems()
|
||||||
|
if not REPENTANCE then return end
|
||||||
|
local numCollectibles = EID:GetMaxCollectibleID()
|
||||||
|
for i = 733, numCollectibles, 1 do
|
||||||
|
EID:tryAutodetectTransformationsCollectible(i)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Returns true if a given entity is a grid entity
|
||||||
|
function EID:IsGridEntity(entity)
|
||||||
|
return entity.Type == nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- returns true if the given pilleffect id was used at least once by the current player
|
||||||
|
function EID:WasPillUsed(pillEffectID)
|
||||||
|
local playerID = EID:getPlayerID(EID.player)
|
||||||
|
local pillsTable = EID.PlayerItemInteractions[playerID].pills
|
||||||
|
if EID.player:GetPlayerType() == 38 then
|
||||||
|
pillsTable = EID.PlayerItemInteractions[playerID].altPills or pillsTable
|
||||||
|
end
|
||||||
|
return pillsTable[tostring(pillEffectID)] ~= nil
|
||||||
|
end
|
||||||
+8
-3
@@ -245,6 +245,10 @@ EID.UserConfig = {
|
|||||||
-- REPENTANCE ONLY!!!
|
-- REPENTANCE ONLY!!!
|
||||||
-- Default = true
|
-- Default = true
|
||||||
["DisplayPillInfoOptions?"] = true,
|
["DisplayPillInfoOptions?"] = true,
|
||||||
|
-- Keeps pilleffect descriptions unidentified, until the player has used the pill at least once in the run.
|
||||||
|
-- This ignores effects caused by PHD and False PHD
|
||||||
|
-- Default = false
|
||||||
|
["OnlyShowPillWhenUsedAtLeastOnce"] = false,
|
||||||
-- Toggle display of description for Pills that haven't been identified yet
|
-- Toggle display of description for Pills that haven't been identified yet
|
||||||
-- Default = false
|
-- Default = false
|
||||||
["ShowUnidentifiedPillDescriptions"] = false,
|
["ShowUnidentifiedPillDescriptions"] = false,
|
||||||
@@ -341,8 +345,8 @@ EID.UserConfig = {
|
|||||||
-- No Recipes shows percentages of what item you might get from your bag / best option on the floor, for a more intended experience
|
-- No Recipes shows percentages of what item you might get from your bag / best option on the floor, for a more intended experience
|
||||||
-- Pickups Only just shows the room/floor pickup count
|
-- Pickups Only just shows the room/floor pickup count
|
||||||
-- (No Recipes is recommended if you have modded items)
|
-- (No Recipes is recommended if you have modded items)
|
||||||
-- Default = "No Recipes"
|
-- Default = "Recipe List"
|
||||||
["BagOfCraftingDisplayMode"] = "No Recipes",
|
["BagOfCraftingDisplayMode"] = "Recipe List",
|
||||||
-- Hide the recipe list when in battle
|
-- Hide the recipe list when in battle
|
||||||
-- Default = true
|
-- Default = true
|
||||||
["BagOfCraftingHideInBattle"] = true,
|
["BagOfCraftingHideInBattle"] = true,
|
||||||
@@ -521,6 +525,7 @@ EID.DefaultConfig = {
|
|||||||
["DisplayPillInfoShop"] = true,
|
["DisplayPillInfoShop"] = true,
|
||||||
["DisplayPillInfoOptions?"] = true,
|
["DisplayPillInfoOptions?"] = true,
|
||||||
["DisplayObstructedPillInfo"] = false,
|
["DisplayObstructedPillInfo"] = false,
|
||||||
|
["OnlyShowPillWhenUsedAtLeastOnce"] = false,
|
||||||
["ShowUnidentifiedPillDescriptions"] = false,
|
["ShowUnidentifiedPillDescriptions"] = false,
|
||||||
["DisplayGlitchedItemInfo"] = debug and true or false,
|
["DisplayGlitchedItemInfo"] = debug and true or false,
|
||||||
["DisplaySacrificeInfo"] = true,
|
["DisplaySacrificeInfo"] = true,
|
||||||
@@ -536,7 +541,7 @@ EID.DefaultConfig = {
|
|||||||
["BagOfCraftingDisplayNames"] = false,
|
["BagOfCraftingDisplayNames"] = false,
|
||||||
["BagOfCraftingDisplayIcons"] = false,
|
["BagOfCraftingDisplayIcons"] = false,
|
||||||
["BagOfCraftingHideInBattle"] = true,
|
["BagOfCraftingHideInBattle"] = true,
|
||||||
["BagOfCraftingDisplayMode"] = "No Recipes",
|
["BagOfCraftingDisplayMode"] = "Recipe List",
|
||||||
["BagOfCraftingModdedRecipes"] = true,
|
["BagOfCraftingModdedRecipes"] = true,
|
||||||
["CraftingHideKey"] = Keyboard.KEY_F3,
|
["CraftingHideKey"] = Keyboard.KEY_F3,
|
||||||
["CraftingHideButton"] = -1,
|
["CraftingHideButton"] = -1,
|
||||||
|
|||||||
@@ -21,6 +21,22 @@ EID.effectList = {
|
|||||||
["161"] = true,
|
["161"] = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Grid entity types to be detected by EID
|
||||||
|
-- Add functions to the list to further filter the entries
|
||||||
|
EID.GridEntityWhitelist = {
|
||||||
|
[GridEntityType.GRID_SPIKES] = {
|
||||||
|
function(gridEntity)
|
||||||
|
return Game():GetRoom():GetType() == RoomType.ROOM_SACRIFICE and
|
||||||
|
EID.Config["DisplaySacrificeInfo"]
|
||||||
|
end,
|
||||||
|
function(gridEntity)
|
||||||
|
return REPENTANCE and EID.Config["DisplaySanguineInfo"] and
|
||||||
|
Game():GetRoom():GetType() == RoomType.ROOM_DEVIL and
|
||||||
|
EID:PlayersHaveCollectible(CollectibleType.COLLECTIBLE_SANGUINE_BOND)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
--maps the Player transformation from the enum PlayerForm to the internal transformation table
|
--maps the Player transformation from the enum PlayerForm to the internal transformation table
|
||||||
-- Possible usages: EID.TRANSFORMATION[ PlayerForm.PLAYERFORM_MUSHROOM ]
|
-- Possible usages: EID.TRANSFORMATION[ PlayerForm.PLAYERFORM_MUSHROOM ]
|
||||||
-- EID.TRANSFORMATION.MUSHROOM
|
-- EID.TRANSFORMATION.MUSHROOM
|
||||||
|
|||||||
+1
-1
@@ -161,7 +161,7 @@ EID.InlineIcons["Test"] = {"pickups", -1, 9, 9, -1, 0, dummySprite3}
|
|||||||
|
|
||||||
|
|
||||||
__eidItemDescriptions[3] = "{{Bomb}} Emote {{Key}} Test {{Test}}{{TestIcon}} {{ColorBlackBlink}}description {{SomeInvalidInnerStuff}} cool" -- 5.100.2 = Inner Eye
|
__eidItemDescriptions[3] = "{{Bomb}} Emote {{Key}} Test {{Test}}{{TestIcon}} {{ColorBlackBlink}}description {{SomeInvalidInnerStuff}} cool" -- 5.100.2 = Inner Eye
|
||||||
__eidItemDescriptions[6] = "This item as Inline Icon {{Collectible6}}#And here are others {{Collectible69}} {{Collectible16}} {{Collectible323}} {{Collectible345}} {{Collectible223}}#And some trinket sprites {{Trinket12}} {{Trinket22}} {{Trinket1}} {{Trinket55}} {{Trinket100}} {{Trinket123}}" -- 5.100.2 = Inner Eye
|
__eidItemDescriptions[6] = "This item as Inline Icon {{Collectible6}}#And here are others {{Collectible69}} {{Collectible16}} {{Collectible323}} {{Collectible345}} {{Collectible223}}#And some trinket sprites {{Trinket12}} {{Trinket22}} {{Trinket1}} {{Trinket55}} {{Trinket100}} {{Trinket123}}#And some names {{NameC3}},{{NameT23}} test {{Name3.54.0}}" -- 5.100.2 = Inner Eye
|
||||||
|
|
||||||
|
|
||||||
EID:addIgnoredEntity(5,100,10) -- Ignore "Halo of flies" collectible entity
|
EID:addIgnoredEntity(5,100,10) -- Ignore "Halo of flies" collectible entity
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ local rainbowWormEffects = { [0] = 9, 11, 65, 27, 10, 12, 26, 66, 96, 144 }
|
|||||||
-- Mysterious Paper does not play well with displaying Error 404's effect
|
-- Mysterious Paper does not play well with displaying Error 404's effect
|
||||||
local mysteriousPaperBlacklist = { [23] = true, [48] = true }
|
local mysteriousPaperBlacklist = { [23] = true, [48] = true }
|
||||||
|
|
||||||
|
|
||||||
function EID:getHoldMapDescription(player, checkingTwin)
|
function EID:getHoldMapDescription(player, checkingTwin)
|
||||||
EID.InsideItemReminder = true
|
EID.InsideItemReminder = true
|
||||||
-- Starting Blacklist: Recall, Hold
|
-- Starting Blacklist: Recall, Hold
|
||||||
@@ -66,6 +67,29 @@ function EID:getHoldMapDescription(player, checkingTwin)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Echo Chamber Description
|
||||||
|
if REPENTANCE and player:HasCollectible(700) then
|
||||||
|
local playerID = player:GetPlayerType()
|
||||||
|
local pickupHistory = EID.PlayerItemInteractions[playerID].pickupHistory
|
||||||
|
if pickupHistory then
|
||||||
|
local pickupNames = ""
|
||||||
|
for i = 1, math.min(3, #pickupHistory) do
|
||||||
|
if pickupHistory[i][2] == playerID and pickupHistory[i][4] then -- Echo chamber is owned
|
||||||
|
if pickupHistory[i][1] == "pill" then
|
||||||
|
local name = EID:getPillName(pickupHistory[i][3], false)
|
||||||
|
pickupNames = pickupNames .. "{{Pill}} " .. name .. "#"
|
||||||
|
else
|
||||||
|
local name = EID:getObjectName(5, 300, pickupHistory[i][3])
|
||||||
|
pickupNames = pickupNames .. "{{Card" .. pickupHistory[i][3] .. "}} " .. name .. "#"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if pickupNames ~= "" then
|
||||||
|
append("{{Collectible700}}", EID:getObjectName(5, 100, 700), pickupNames)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Recently Acquired Item Descriptions
|
-- Recently Acquired Item Descriptions
|
||||||
if EID.Config["ItemReminderShowRecentItem"] > 0 then
|
if EID.Config["ItemReminderShowRecentItem"] > 0 then
|
||||||
local printedItems = 0
|
local printedItems = 0
|
||||||
@@ -101,12 +125,33 @@ function EID:getHoldMapDescription(player, checkingTwin)
|
|||||||
elseif heldActive == 419 and not EID.isMirrorRoom then
|
elseif heldActive == 419 and not EID.isMirrorRoom then
|
||||||
blacklist["5.100.419"] = true
|
blacklist["5.100.419"] = true
|
||||||
append("{{Collectible419}}", EID:getObjectName(5,100,419) .. EID:getDescriptionEntry("HoldMapHeader"), EID:Teleport2Prediction())
|
append("{{Collectible419}}", EID:getObjectName(5,100,419) .. EID:getDescriptionEntry("HoldMapHeader"), EID:Teleport2Prediction())
|
||||||
|
-- D Infinity
|
||||||
elseif heldActive == 489 then
|
elseif heldActive == 489 then
|
||||||
blacklist["5.100.489"] = true
|
blacklist["5.100.489"] = true
|
||||||
addObjectDesc(5, 100, EID:CurrentDInfinity(getSeed(489), currentPlayer), "{{Collectible489}}")
|
addObjectDesc(5, 100, EID:CurrentDInfinity(getSeed(489), currentPlayer), "{{Collectible489}}")
|
||||||
|
-- D1
|
||||||
elseif heldActive == 476 and EID.Config["ItemReminderShowRNGCheats"] then
|
elseif heldActive == 476 and EID.Config["ItemReminderShowRNGCheats"] then
|
||||||
blacklist["5.100.476"] = true
|
blacklist["5.100.476"] = true
|
||||||
append("{{Collectible476}}", EID:getObjectName(5,100,476) .. EID:getDescriptionEntry("HoldMapHeader"), EID:D1Prediction(getSeed(476)))
|
append("{{Collectible476}}", EID:getObjectName(5,100,476) .. EID:getDescriptionEntry("HoldMapHeader"), EID:D1Prediction(getSeed(476)))
|
||||||
|
-- Void
|
||||||
|
elseif heldActive == 477 then
|
||||||
|
blacklist["5.100.477"] = true
|
||||||
|
local absorbedActives = ""
|
||||||
|
local absorbedItems = EID.absorbedItems[tostring(EID:getPlayerID(player))]
|
||||||
|
local countItems = 0
|
||||||
|
for _, _ in pairs(absorbedItems) do
|
||||||
|
countItems = countItems + 1
|
||||||
|
end
|
||||||
|
if countItems > 5 then
|
||||||
|
absorbedActives = "{{Blank}} "
|
||||||
|
end
|
||||||
|
for k, _ in pairs(absorbedItems) do
|
||||||
|
absorbedActives = absorbedActives .. "{{Collectible" .. k .. "}} "
|
||||||
|
if countItems <= 5 then
|
||||||
|
absorbedActives = absorbedActives .. " " .. EID:getObjectName(5, 100, tonumber(k)) .. "#"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
append("{{Collectible477}}", EID:getObjectName(5, 100, 477), absorbedActives)
|
||||||
else
|
else
|
||||||
addObjectDesc(5, 100, heldActive)
|
addObjectDesc(5, 100, heldActive)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -361,6 +361,7 @@ if MCMLoaded then
|
|||||||
EID:AddBooleanSetting("General", "DisableOnAltPath", "Show Hidden Alt-Path Item", {offText = "True", onText = "False",
|
EID:AddBooleanSetting("General", "DisableOnAltPath", "Show Hidden Alt-Path Item", {offText = "True", onText = "False",
|
||||||
repOnly = true, infoText = "Show the description for the blind item in Downpour/Mines/etc."})
|
repOnly = true, infoText = "Show the description for the blind item in Downpour/Mines/etc."})
|
||||||
|
|
||||||
|
EID:AddBooleanSetting("General", "OnlyShowPillWhenUsedAtLeastOnce", "Show pill effect after one use", {infoText = "Keeps pilleffect descriptions unidentified, until the player has used the pill at least once in the run. This ignores effects caused by PHD and False PHD"})
|
||||||
EID:AddBooleanSetting("General", "ShowUnidentifiedPillDescriptions", "Show Unidentified Pill Effects")
|
EID:AddBooleanSetting("General", "ShowUnidentifiedPillDescriptions", "Show Unidentified Pill Effects")
|
||||||
EID:AddBooleanSetting("General", "HideInBattle", "Hide in Battle", {infoText = "Hides the descriptions when in a fight"})
|
EID:AddBooleanSetting("General", "HideInBattle", "Hide in Battle", {infoText = "Hides the descriptions when in a fight"})
|
||||||
|
|
||||||
|
|||||||
+31
-1
@@ -217,8 +217,8 @@ end
|
|||||||
-- Handle Sacrifice room payout
|
-- Handle Sacrifice room payout
|
||||||
local function SacrificeRoomCallback(descObj)
|
local function SacrificeRoomCallback(descObj)
|
||||||
local curCounter = descObj.ObjSubType or 1
|
local curCounter = descObj.ObjSubType or 1
|
||||||
descObj.Name = descObj.Name.." ("..curCounter.."/12)"
|
|
||||||
if curCounter <= 2 then
|
if curCounter <= 2 then
|
||||||
|
--Remove B1 Bomb drop info when not on B1
|
||||||
if game:GetLevel():GetAbsoluteStage() > 1 then
|
if game:GetLevel():GetAbsoluteStage() > 1 then
|
||||||
local splitPoint = string.find(descObj.Description, '#', 1)
|
local splitPoint = string.find(descObj.Description, '#', 1)
|
||||||
descObj.Description = descObj.Description:sub(1,splitPoint-1)
|
descObj.Description = descObj.Description:sub(1,splitPoint-1)
|
||||||
@@ -462,6 +462,35 @@ if REPENTANCE then
|
|||||||
return descObj
|
return descObj
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Handle VURP description addition
|
||||||
|
local function VurpCallback(descObj)
|
||||||
|
local adjustedID = EID:getAdjustedSubtype(descObj.ObjType, descObj.ObjVariant, descObj.ObjSubType)
|
||||||
|
if adjustedID - 1 ~= PillEffect.PILLEFFECT_VURP then return descObj end
|
||||||
|
|
||||||
|
local playerID = EID.player:GetPlayerType()
|
||||||
|
local pickupHistory = EID.PlayerItemInteractions[playerID].pickupHistory
|
||||||
|
if pickupHistory then
|
||||||
|
|
||||||
|
local lastUsedPill = nil
|
||||||
|
local i = 1
|
||||||
|
while (i <= #pickupHistory) do
|
||||||
|
local entry = pickupHistory[i]
|
||||||
|
if entry[1] == "pill" and entry[2] == playerID and entry[3] ~= PillEffect.PILLEFFECT_VURP + 1 then
|
||||||
|
lastUsedPill = entry[3]
|
||||||
|
break
|
||||||
|
end
|
||||||
|
i = i + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if lastUsedPill then
|
||||||
|
local tableName = EID:getTableName(descObj.ObjType, descObj.ObjVariant, descObj.ObjSubType)
|
||||||
|
local name = EID:getPillName(lastUsedPill, tableName == "horsepills")
|
||||||
|
EID:appendToDescription(descObj, "#{{Pill}} {{ColorSilver}}" .. name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return descObj
|
||||||
|
end
|
||||||
|
|
||||||
-- Handle False PHD description addition
|
-- Handle False PHD description addition
|
||||||
local function FalsePHDCallback(descObj)
|
local function FalsePHDCallback(descObj)
|
||||||
local adjustedID = EID:getAdjustedSubtype(descObj.ObjType, descObj.ObjVariant, descObj.ObjSubType)
|
local adjustedID = EID:getAdjustedSubtype(descObj.ObjType, descObj.ObjVariant, descObj.ObjSubType)
|
||||||
@@ -578,6 +607,7 @@ if REPENTANCE then
|
|||||||
elseif descObj.ObjVariant == PickupVariant.PICKUP_PILL then
|
elseif descObj.ObjVariant == PickupVariant.PICKUP_PILL then
|
||||||
if EID.collectiblesOwned[654] then table.insert(callbacks, FalsePHDCallback) end
|
if EID.collectiblesOwned[654] then table.insert(callbacks, FalsePHDCallback) end
|
||||||
if EID.collectiblesOwned[348] then table.insert(callbacks, PlaceboCallback) end
|
if EID.collectiblesOwned[348] then table.insert(callbacks, PlaceboCallback) end
|
||||||
|
table.insert(callbacks, VurpCallback)
|
||||||
|
|
||||||
if EID.pillPlayer == nil and #EID.coopAllPlayers > 1 then
|
if EID.pillPlayer == nil and #EID.coopAllPlayers > 1 then
|
||||||
table.insert(callbacks, CoopPillCallback)
|
table.insert(callbacks, CoopPillCallback)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ local game = Game()
|
|||||||
require("eid_config")
|
require("eid_config")
|
||||||
EID.Config = EID.UserConfig
|
EID.Config = EID.UserConfig
|
||||||
EID.Config.Version = "3.2" -- note: changing this will reset everyone's settings to default!
|
EID.Config.Version = "3.2" -- note: changing this will reset everyone's settings to default!
|
||||||
EID.ModVersion = "4.36"
|
EID.ModVersion = "4.37"
|
||||||
EID.DefaultConfig.Version = EID.Config.Version
|
EID.DefaultConfig.Version = EID.Config.Version
|
||||||
EID.isHidden = false
|
EID.isHidden = false
|
||||||
EID.player = nil -- The primary Player Entity of Player 1
|
EID.player = nil -- The primary Player Entity of Player 1
|
||||||
@@ -29,20 +29,18 @@ EID.isDisplayingPermanent = false
|
|||||||
EID.permanentDisplayTextObj = nil
|
EID.permanentDisplayTextObj = nil
|
||||||
EID.lastDescriptionEntity = nil
|
EID.lastDescriptionEntity = nil
|
||||||
EID.lineHeight = 11
|
EID.lineHeight = 11
|
||||||
EID.sacrificeCounter = {}
|
|
||||||
local spikePos = Vector(320, 280)
|
|
||||||
EID.itemConfig = Isaac.GetItemConfig()
|
EID.itemConfig = Isaac.GetItemConfig()
|
||||||
EID.itemUnlockStates = {}
|
EID.itemUnlockStates = {}
|
||||||
EID.CraneItemType = {}
|
EID.CraneItemType = {}
|
||||||
EID.absorbedItems = {}
|
EID.absorbedItems = {}
|
||||||
EID.CollectedItems = {}
|
EID.CollectedItems = {}
|
||||||
EID.IgnoredEntities = {}
|
EID.IgnoredEntities = {}
|
||||||
|
EID.CurrentRoomGridEntities = {}
|
||||||
EID.UnidentifyablePillEffects = {} -- List of pilleffects that are always unidentifyable
|
EID.UnidentifyablePillEffects = {} -- List of pilleffects that are always unidentifyable
|
||||||
local pathsChecked = {}
|
local pathsChecked = {}
|
||||||
local altPathItemChecked = {}
|
local altPathItemChecked = {}
|
||||||
local alwaysUseLocalMode = false -- set to true after drawing a non-local mode description this frame
|
local alwaysUseLocalMode = false -- set to true after drawing a non-local mode description this frame
|
||||||
EID.ForceRefreshCache = false -- set to true to force-refresh descriptions, currently used for potential transformation text changes
|
EID.ForceRefreshCache = false -- set to true to force-refresh descriptions, currently used for potential transformation text changes
|
||||||
local preHourglassStatus = {}
|
|
||||||
EID.holdTabPlayer = 0
|
EID.holdTabPlayer = 0
|
||||||
EID.holdTabCounter = 0
|
EID.holdTabCounter = 0
|
||||||
EID.DInfinityState = {}
|
EID.DInfinityState = {}
|
||||||
@@ -174,10 +172,9 @@ if not success then
|
|||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
-------------Handle Sacrifice Room & Resetting Floor Trackers--------------
|
-------------Handle Resetting Floor Trackers--------------
|
||||||
function EID:onNewFloor()
|
function EID:onNewFloor()
|
||||||
pathsChecked = {}
|
pathsChecked = {}
|
||||||
EID.sacrificeCounter = {}
|
|
||||||
if REPENTANCE then
|
if REPENTANCE then
|
||||||
EID.BoC.RoomQueries = {}
|
EID.BoC.RoomQueries = {}
|
||||||
EID.BoC.FloorQuery = {}
|
EID.BoC.FloorQuery = {}
|
||||||
@@ -188,19 +185,6 @@ function EID:onNewFloor()
|
|||||||
end
|
end
|
||||||
EID:AddCallback(ModCallbacks.MC_POST_NEW_LEVEL, EID.onNewFloor)
|
EID:AddCallback(ModCallbacks.MC_POST_NEW_LEVEL, EID.onNewFloor)
|
||||||
|
|
||||||
function EID:onSacrificeDamage(_, _, flags, source)
|
|
||||||
if EID.Config["DisplaySacrificeInfo"] and game:GetRoom():GetType() == RoomType.ROOM_SACRIFICE and source.Type == 0 and flags & DamageFlag.DAMAGE_SPIKES == DamageFlag.DAMAGE_SPIKES then
|
|
||||||
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
|
|
||||||
if EID.sacrificeCounter[curRoomIndex] == nil then
|
|
||||||
EID.sacrificeCounter[curRoomIndex] = 1
|
|
||||||
end
|
|
||||||
if EID.sacrificeCounter[curRoomIndex] < 12 then
|
|
||||||
EID.sacrificeCounter[curRoomIndex] = EID.sacrificeCounter[curRoomIndex] + 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
EID:AddCallback(ModCallbacks.MC_ENTITY_TAKE_DMG, EID.onSacrificeDamage, EntityType.ENTITY_PLAYER)
|
|
||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
------------------------Handle ALT FLOOR CHOICE----------------------------
|
------------------------Handle ALT FLOOR CHOICE----------------------------
|
||||||
|
|
||||||
@@ -711,6 +695,7 @@ end
|
|||||||
function EID:printBulletPoints(description, renderPos)
|
function EID:printBulletPoints(description, renderPos)
|
||||||
local textboxWidth = tonumber(EID.Config["TextboxWidth"])
|
local textboxWidth = tonumber(EID.Config["TextboxWidth"])
|
||||||
local textScale = Vector(EID.Scale, EID.Scale)
|
local textScale = Vector(EID.Scale, EID.Scale)
|
||||||
|
description = EID:replaceNameMarkupStrings(description)
|
||||||
description = EID:replaceShortMarkupStrings(description)
|
description = EID:replaceShortMarkupStrings(description)
|
||||||
description = EID:replaceMarkupSize(description)
|
description = EID:replaceMarkupSize(description)
|
||||||
for line in string.gmatch(description, "([^#]+)") do
|
for line in string.gmatch(description, "([^#]+)") do
|
||||||
@@ -770,18 +755,16 @@ end
|
|||||||
function EID:onNewRoom()
|
function EID:onNewRoom()
|
||||||
EID.RecentlyTouchedItems = {}
|
EID.RecentlyTouchedItems = {}
|
||||||
|
|
||||||
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
|
EID.CurrentRoomGridEntities = {}
|
||||||
preHourglassStatus = {}
|
local room = game:GetRoom()
|
||||||
|
for i = 1, room:GetGridSize(), 1 do
|
||||||
preHourglassStatus.SacrificeCounter = EID.sacrificeCounter[curRoomIndex]
|
local gridEntity = room:GetGridEntity(i)
|
||||||
|
if gridEntity and EID:hasDescription(gridEntity) then
|
||||||
|
EID.CurrentRoomGridEntities[i] = gridEntity
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
EID:AddCallback(ModCallbacks.MC_POST_NEW_ROOM, EID.onNewRoom)
|
EID:AddCallback(ModCallbacks.MC_POST_NEW_ROOM, EID.onNewRoom)
|
||||||
|
|
||||||
function EID:WatchForGlowingHourglass()
|
|
||||||
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
|
|
||||||
EID.sacrificeCounter[curRoomIndex] = preHourglassStatus.SacrificeCounter
|
|
||||||
end
|
|
||||||
EID:AddCallback(ModCallbacks.MC_PRE_USE_ITEM, EID.WatchForGlowingHourglass, CollectibleType.COLLECTIBLE_GLOWING_HOUR_GLASS)
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
---------------------------Handle Rendering--------------------------------
|
---------------------------Handle Rendering--------------------------------
|
||||||
|
|
||||||
@@ -838,11 +821,11 @@ function EID:renderIndicator(entity, playerNum)
|
|||||||
ArrowOffset = Vector(0, -62)
|
ArrowOffset = Vector(0, -62)
|
||||||
end
|
end
|
||||||
local arrowPos = Isaac.WorldToScreen(entity.Position + ArrowOffset)
|
local arrowPos = Isaac.WorldToScreen(entity.Position + ArrowOffset)
|
||||||
if entity:GetData() and entity:GetData()["EID_RenderOffset"] then
|
if not EID:IsGridEntity(entity) and entity:GetData() and entity:GetData()["EID_RenderOffset"] then
|
||||||
entityPos = entityPos + entity:GetData()["EID_RenderOffset"]
|
entityPos = entityPos + entity:GetData()["EID_RenderOffset"]
|
||||||
end
|
end
|
||||||
-- Move highlights a bit to fit onto the alt Item layout of Flip / Tainted Laz
|
-- Move highlights a bit to fit onto the alt Item layout of Flip / Tainted Laz
|
||||||
if REPENTANCE then
|
if REPENTANCE and not EID:IsGridEntity(entity) then
|
||||||
if entity.Variant == 100 and EID.player:HasCollectible(CollectibleType.COLLECTIBLE_FLIP) and EID:getEntityData(entity, "EID_FlipItemID") then
|
if entity.Variant == 100 and EID.player:HasCollectible(CollectibleType.COLLECTIBLE_FLIP) and EID:getEntityData(entity, "EID_FlipItemID") then
|
||||||
entityPos = entityPos + Vector(2.5,2.5)
|
entityPos = entityPos + Vector(2.5,2.5)
|
||||||
elseif entity.Type == 6 and entity.Variant == 16 then
|
elseif entity.Type == 6 and entity.Variant == 16 then
|
||||||
@@ -865,16 +848,17 @@ function EID:renderIndicator(entity, playerNum)
|
|||||||
ArrowSprite:RenderLayer(playerNum-1, arrowPos, nullVector, nullVector)
|
ArrowSprite:RenderLayer(playerNum-1, arrowPos, nullVector, nullVector)
|
||||||
else
|
else
|
||||||
local colorMult = {1,1,1}
|
local colorMult = {1,1,1}
|
||||||
|
local framecount = entity.FrameCount or game:GetFrameCount()
|
||||||
if EID.isMultiplayer then colorMult = playerRGB[playerNum] end
|
if EID.isMultiplayer then colorMult = playerRGB[playerNum] end
|
||||||
if EID.Config["Indicator"] == "blink" then
|
if EID.Config["Indicator"] == "blink" then
|
||||||
local c = 255 - math.floor(255 * ((entity.FrameCount % 40) / 40))
|
local c = 255 - math.floor(255 * ((framecount % 40) / 40))
|
||||||
local r, g, b = math.floor(c*colorMult[1]), math.floor(c*colorMult[2]), math.floor(c*colorMult[3])
|
local r, g, b = math.floor(c*colorMult[1]), math.floor(c*colorMult[2]), math.floor(c*colorMult[3])
|
||||||
sprite.Color = Color(1, 1, 1, 1, r/repDiv, g/repDiv, b/repDiv)
|
sprite.Color = Color(1, 1, 1, 1, r/repDiv, g/repDiv, b/repDiv)
|
||||||
EID:renderEntity(entity, sprite, entityPos)
|
EID:RenderEntity(entity, sprite, entityPos)
|
||||||
sprite.Color = Color(1, 1, 1, 1, 0, 0, 0)
|
sprite.Color = Color(1, 1, 1, 1, 0, 0, 0)
|
||||||
else
|
else
|
||||||
if EID.Config["Indicator"] == "highlight" then
|
if EID.Config["Indicator"] == "highlight" then
|
||||||
local c = 255 - math.floor(255 * ((entity.FrameCount % 40) / 40))
|
local c = 255 - math.floor(255 * ((framecount % 40) / 40))
|
||||||
local r, g, b = math.floor(c*colorMult[1]), math.floor(c*colorMult[2]), math.floor(c*colorMult[3])
|
local r, g, b = math.floor(c*colorMult[1]), math.floor(c*colorMult[2]), math.floor(c*colorMult[3])
|
||||||
sprite.Color = Color(1, 1, 1, 1, r/repDiv, g/repDiv, b/repDiv)
|
sprite.Color = Color(1, 1, 1, 1, r/repDiv, g/repDiv, b/repDiv)
|
||||||
elseif EID.Config["Indicator"] == "border" then
|
elseif EID.Config["Indicator"] == "border" then
|
||||||
@@ -882,12 +866,12 @@ function EID:renderIndicator(entity, playerNum)
|
|||||||
local r, g, b = math.floor(c*colorMult[1]), math.floor(c*colorMult[2]), math.floor(c*colorMult[3])
|
local r, g, b = math.floor(c*colorMult[1]), math.floor(c*colorMult[2]), math.floor(c*colorMult[3])
|
||||||
sprite.Color = Color(1, 1, 1, 1, r/repDiv, g/repDiv, b/repDiv)
|
sprite.Color = Color(1, 1, 1, 1, r/repDiv, g/repDiv, b/repDiv)
|
||||||
end
|
end
|
||||||
EID:renderEntity(entity, sprite, entityPos + Vector(0, 1))
|
EID:RenderEntity(entity, sprite, entityPos + Vector(0, 1))
|
||||||
EID:renderEntity(entity, sprite, entityPos + Vector(0, -1))
|
EID:RenderEntity(entity, sprite, entityPos + Vector(0, -1))
|
||||||
EID:renderEntity(entity, sprite, entityPos + Vector(1, 0))
|
EID:RenderEntity(entity, sprite, entityPos + Vector(1, 0))
|
||||||
EID:renderEntity(entity, sprite, entityPos + Vector(-1, 0))
|
EID:RenderEntity(entity, sprite, entityPos + Vector(-1, 0))
|
||||||
sprite.Color = Color(1, 1, 1, 1, 0, 0, 0)
|
sprite.Color = Color(1, 1, 1, 1, 0, 0, 0)
|
||||||
EID:renderEntity(entity, sprite, entityPos)
|
EID:RenderEntity(entity, sprite, entityPos)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if EID.isMirrorRoom then
|
if EID.isMirrorRoom then
|
||||||
@@ -908,9 +892,6 @@ function EID:PositionLocalMode(entity)
|
|||||||
local screenCenter = EID:getScreenSize()/2
|
local screenCenter = EID:getScreenSize()/2
|
||||||
EID.UsedPosition.X = EID.UsedPosition.X - (EID.UsedPosition-screenCenter).X * 2
|
EID.UsedPosition.X = EID.UsedPosition.X - (EID.UsedPosition-screenCenter).X * 2
|
||||||
end
|
end
|
||||||
if entity:ToPickup() and entity:ToPickup():IsShopItem() then
|
|
||||||
EID:alterTextPos(Isaac.WorldToScreen(entity.Position + textPosOffset))
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
EID.Scale = EID.Config["Size"]
|
EID.Scale = EID.Config["Size"]
|
||||||
EID.CurrentScaleType = "Size"
|
EID.CurrentScaleType = "Size"
|
||||||
@@ -918,17 +899,6 @@ function EID:PositionLocalMode(entity)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function EID:renderEntity(entity, sprite, position)
|
|
||||||
if entity.Type == 5 and entity.Variant == 100 then
|
|
||||||
sprite:RenderLayer(1, position, nullVector, nullVector)
|
|
||||||
elseif entity.Type == 6 and entity.Variant == 16 then -- Crane Game
|
|
||||||
sprite:RenderLayer(2, position, nullVector, nullVector)
|
|
||||||
else
|
|
||||||
sprite:Render(position, nullVector, nullVector)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
function EID:renderHUDLocationIndicators()
|
function EID:renderHUDLocationIndicators()
|
||||||
local mousePos = Isaac.WorldToRenderPosition(Input.GetMousePosition(true)) * 2
|
local mousePos = Isaac.WorldToRenderPosition(Input.GetMousePosition(true)) * 2
|
||||||
Isaac.RenderScaledText("Mouse pos X:"..mousePos.X.." Y:"..mousePos.Y, 100, 10, 0.5, 0.5, 1 ,1 ,1 ,1 )
|
Isaac.RenderScaledText("Mouse pos X:"..mousePos.X.." Y:"..mousePos.Y, 100, 10, 0.5, 0.5, 1 ,1 ,1 ,1 )
|
||||||
@@ -1314,10 +1284,8 @@ local function onRender(t)
|
|||||||
playerSearch = EID.players
|
playerSearch = EID.players
|
||||||
end
|
end
|
||||||
|
|
||||||
local playerNearSacrificeSpikes = false
|
|
||||||
|
|
||||||
-- Check for descriptions to print per player
|
-- Check for descriptions to print per player
|
||||||
for i,player in ipairs(playerSearch) do
|
for _,player in ipairs(playerSearch) do
|
||||||
local displayedDesc = false
|
local displayedDesc = false
|
||||||
|
|
||||||
-- Check if this player has the Bag of Crafting
|
-- Check if this player has the Bag of Crafting
|
||||||
@@ -1344,7 +1312,7 @@ local function onRender(t)
|
|||||||
end
|
end
|
||||||
|
|
||||||
for _, entitySearch in ipairs(searchGroups) do
|
for _, entitySearch in ipairs(searchGroups) do
|
||||||
for i, entity in ipairs(entitySearch) do
|
for _, entity in ipairs(entitySearch) do
|
||||||
if EID:hasDescription(entity) and entity.FrameCount > 0 and not EID.entitiesToPrint[GetPtrHash(entity)] then
|
if EID:hasDescription(entity) and entity.FrameCount > 0 and not EID.entitiesToPrint[GetPtrHash(entity)] then
|
||||||
table.insert(inRangeEntities, entity)
|
table.insert(inRangeEntities, entity)
|
||||||
local diff = entity.Position:__sub(sourcePos)
|
local diff = entity.Position:__sub(sourcePos)
|
||||||
@@ -1359,11 +1327,16 @@ local function onRender(t)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- Test if the player is closer to the center of the room (Sacrifice/Sanguine Spikes) than any other entity
|
|
||||||
-- If there's more Grid Positions we want to check in the future, this could for example be generalized to a gridPosToCheck table which sets closeToGridPos flags
|
for _, gridEntity in pairs(EID.CurrentRoomGridEntities) do
|
||||||
local spikeDiff = spikePos:__sub(sourcePos)
|
if EID:hasDescription(gridEntity) then
|
||||||
if EID.lastDist ~= 10000 and spikeDiff:Length() < EID.lastDist then
|
table.insert(inRangeEntities, gridEntity)
|
||||||
playerNearSacrificeSpikes = true
|
local diff = gridEntity.Position:__sub(sourcePos)
|
||||||
|
if diff:Length() < EID.lastDist then
|
||||||
|
EID.lastDescriptionEntity = gridEntity
|
||||||
|
EID.lastDist = diff:Length()
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if EID.Config["DisplayAllNearby"] then
|
if EID.Config["DisplayAllNearby"] then
|
||||||
@@ -1380,7 +1353,7 @@ local function onRender(t)
|
|||||||
end
|
end
|
||||||
|
|
||||||
for _,closest in ipairs(inRangeEntities) do
|
for _,closest in ipairs(inRangeEntities) do
|
||||||
|
if not EID:IsGridEntity(closest) then
|
||||||
--Handle GetData Entities (specific)
|
--Handle GetData Entities (specific)
|
||||||
if EID.Config["EnableEntityDescriptions"] and EID:getEntityData(closest, "EID_Description") then
|
if EID.Config["EnableEntityDescriptions"] and EID:getEntityData(closest, "EID_Description") then
|
||||||
local desc = EID:getEntityData(closest, "EID_Description")
|
local desc = EID:getEntityData(closest, "EID_Description")
|
||||||
@@ -1464,10 +1437,6 @@ local function onRender(t)
|
|||||||
|
|
||||||
elseif closest.Variant == PickupVariant.PICKUP_TAROTCARD then
|
elseif closest.Variant == PickupVariant.PICKUP_TAROTCARD then
|
||||||
--Handle Cards & Runes
|
--Handle Cards & Runes
|
||||||
if (not EID.Config["DisplayObstructedCardInfo"] or not EID.Config["DisplayObstructedSoulstoneInfo"]) and closest.FrameCount < 3 then
|
|
||||||
-- small delay when having obstruction enabled & entering the room to prevent spoilers
|
|
||||||
--return
|
|
||||||
end
|
|
||||||
if EID:getEntityData(closest, "EID_DontHide") ~= true then
|
if EID:getEntityData(closest, "EID_DontHide") ~= true then
|
||||||
local isSoulstone = closest.SubType >= 81 and closest.SubType <= 97
|
local isSoulstone = closest.SubType >= 81 and closest.SubType <= 97
|
||||||
local hideinShop = closest:ToPickup():IsShopItem() and ((not isSoulstone and not EID.Config["DisplayCardInfoShop"]) or (isSoulstone and not EID.Config["DisplaySoulstoneInfoShop"]))
|
local hideinShop = closest:ToPickup():IsShopItem() and ((not isSoulstone and not EID.Config["DisplayCardInfoShop"]) or (isSoulstone and not EID.Config["DisplaySoulstoneInfoShop"]))
|
||||||
@@ -1496,11 +1465,12 @@ local function onRender(t)
|
|||||||
|
|
||||||
local pillColor = closest.SubType
|
local pillColor = closest.SubType
|
||||||
local pool = game:GetItemPool()
|
local pool = game:GetItemPool()
|
||||||
local identified = pool:IsPillIdentified(pillColor)
|
local identified = pool:IsPillIdentified(pillColor) and not EID.Config["OnlyShowPillWhenUsedAtLeastOnce"]
|
||||||
if REPENTANCE and pillColor % PillColor.PILL_GIANT_FLAG == PillColor.PILL_GOLD then identified = true end
|
if REPENTANCE and pillColor % PillColor.PILL_GIANT_FLAG == PillColor.PILL_GOLD then identified = true end
|
||||||
local pillEffectID = EID:getAdjustedSubtype(closest.Type, closest.Variant, pillColor)
|
local pillEffectID = EID:getAdjustedSubtype(closest.Type, closest.Variant, pillColor)
|
||||||
|
local wasUsed = EID:WasPillUsed(pillEffectID)
|
||||||
|
|
||||||
if (identified or EID.Config["ShowUnidentifiedPillDescriptions"]) and not EID.UnidentifyablePillEffects[pillEffectID] then
|
if (identified or wasUsed or EID.Config["ShowUnidentifiedPillDescriptions"]) and not EID.UnidentifyablePillEffects[pillEffectID] then
|
||||||
local descEntry = EID:getDescriptionObj(closest.Type, closest.Variant, pillColor, closest)
|
local descEntry = EID:getDescriptionObj(closest.Type, closest.Variant, pillColor, closest)
|
||||||
EID:addDescriptionToPrint(descEntry)
|
EID:addDescriptionToPrint(descEntry)
|
||||||
else
|
else
|
||||||
@@ -1509,26 +1479,27 @@ local function onRender(t)
|
|||||||
elseif EID.Config["EnableEntityDescriptions"] then
|
elseif EID.Config["EnableEntityDescriptions"] then
|
||||||
--Handle Entities (omni)
|
--Handle Entities (omni)
|
||||||
local descriptionEntry = EID:getDescriptionObjByEntity(closest)
|
local descriptionEntry = EID:getDescriptionObjByEntity(closest)
|
||||||
if descriptionEntry~=nil then
|
if descriptionEntry ~= nil then
|
||||||
EID:addDescriptionToPrint(descriptionEntry)
|
EID:addDescriptionToPrint(descriptionEntry)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
else -- Grid entities
|
||||||
|
local room = game:GetRoom()
|
||||||
|
if closest:GetType() == GridEntityType.GRID_SPIKES then
|
||||||
|
if room:GetType() == RoomType.ROOM_SACRIFICE and EID.Config["DisplaySacrificeInfo"] then
|
||||||
|
local desc = EID:getDescriptionObj(-999, -1, closest.VarData + 1, closest)
|
||||||
|
EID:addDescriptionToPrint(desc)
|
||||||
|
elseif REPENTANCE and EID.Config["DisplaySanguineInfo"] and room:GetType() == RoomType.ROOM_DEVIL and
|
||||||
|
EID:PlayersHaveCollectible(CollectibleType.COLLECTIBLE_SANGUINE_BOND) then
|
||||||
|
local desc = EID:getDescriptionObj(5, 100, 692, closest, false)
|
||||||
|
desc.Description = EID:trimSanguineDesc(desc)
|
||||||
|
if desc.Description ~= "" then
|
||||||
|
EID:addDescriptionToPrint(desc)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- if no entities to display, or we're close to the spikes, display Sacrifice Room information
|
|
||||||
-- it will be last priority for the main spot if DisplayAllNearby is on and we aren't near them
|
|
||||||
if (#EID.descriptionsToPrint == 0 or playerNearSacrificeSpikes) or EID.Config["DisplayAllNearby"] then
|
|
||||||
if game:GetRoom():GetType() == RoomType.ROOM_SACRIFICE and EID.Config["DisplaySacrificeInfo"] then
|
|
||||||
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
|
|
||||||
local curCounter = EID.sacrificeCounter[curRoomIndex] or 1
|
|
||||||
local sacrificeDesc = EID:getDescriptionObj(-999, -1, curCounter)
|
|
||||||
EID:addDescriptionToPrint(sacrificeDesc, playerNearSacrificeSpikes and 1 or nil)
|
|
||||||
elseif REPENTANCE and EID.Config["DisplaySanguineInfo"] and game:GetRoom():GetType() == RoomType.ROOM_DEVIL and EID:PlayersHaveCollectible(CollectibleType.COLLECTIBLE_SANGUINE_BOND) then
|
|
||||||
local sanguineDesc = EID:getDescriptionObj(5, 100, 692, nil, false)
|
|
||||||
sanguineDesc.Description = EID:trimSanguineDesc(sanguineDesc)
|
|
||||||
if sanguineDesc.Description ~= "" then EID:addDescriptionToPrint(sanguineDesc, playerNearSacrificeSpikes and 1 or nil) end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1551,7 +1522,7 @@ local function AddActiveItemProgress(player, isD4)
|
|||||||
EID.ForceRefreshCache = true
|
EID.ForceRefreshCache = true
|
||||||
local playerID = EID:getPlayerID(player)
|
local playerID = EID:getPlayerID(player)
|
||||||
if not EID.PlayerItemInteractions[playerID] then
|
if not EID.PlayerItemInteractions[playerID] then
|
||||||
EID.PlayerItemInteractions[playerID] = {LastTouch = 0, actives = {}, pills = {}, altActives = {}, altPills = {}}
|
EID.PlayerItemInteractions[playerID] = {LastTouch = 0, actives = {}, pills = {}, altActives = {}, altPills = {}, pickupHistory = {}}
|
||||||
end
|
end
|
||||||
-- Dead Tainted Lazarus exceptions
|
-- Dead Tainted Lazarus exceptions
|
||||||
local activesTable = EID.PlayerItemInteractions[playerID].actives
|
local activesTable = EID.PlayerItemInteractions[playerID].actives
|
||||||
@@ -1580,6 +1551,7 @@ local function CheckAllActiveItemProgress()
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function OnGameStartGeneral(_,isSave)
|
local function OnGameStartGeneral(_,isSave)
|
||||||
|
EID:GetTransformationsOfModdedItems()
|
||||||
EID:buildTransformationTables()
|
EID:buildTransformationTables()
|
||||||
if not isSave then
|
if not isSave then
|
||||||
EID.PlayerItemInteractions = {}
|
EID.PlayerItemInteractions = {}
|
||||||
@@ -1604,11 +1576,12 @@ if REPENTANCE then
|
|||||||
EID:AddCallback(ModCallbacks.MC_USE_ITEM, OnUseGenesis, CollectibleType.COLLECTIBLE_GENESIS)
|
EID:AddCallback(ModCallbacks.MC_USE_ITEM, OnUseGenesis, CollectibleType.COLLECTIBLE_GENESIS)
|
||||||
end
|
end
|
||||||
|
|
||||||
function EID:OnUsePill(pillEffectID, player)
|
function EID:OnUsePill(pillEffectID, player, useFlags)
|
||||||
player = player or EID.player --AB+ doesn't receive player in callback arguments!
|
player = player or EID.player --AB+ doesn't receive player in callback arguments!
|
||||||
local playerID = EID:getPlayerID(player)
|
local playerID = EID:getPlayerID(player)
|
||||||
-- Dead Tainted Lazarus exceptions
|
-- Dead Tainted Lazarus exceptions
|
||||||
local pillsTable = EID.PlayerItemInteractions[playerID].pills
|
local pillsTable = EID.PlayerItemInteractions[playerID].pills
|
||||||
|
|
||||||
if player:GetPlayerType() == 38 then
|
if player:GetPlayerType() == 38 then
|
||||||
pillsTable = EID.PlayerItemInteractions[playerID].altPills or pillsTable
|
pillsTable = EID.PlayerItemInteractions[playerID].altPills or pillsTable
|
||||||
end
|
end
|
||||||
@@ -1617,9 +1590,16 @@ function EID:OnUsePill(pillEffectID, player)
|
|||||||
pillsTable[effectID] = 0
|
pillsTable[effectID] = 0
|
||||||
end
|
end
|
||||||
pillsTable[effectID] = pillsTable[effectID] + 1
|
pillsTable[effectID] = pillsTable[effectID] + 1
|
||||||
|
|
||||||
|
EID:AddPickupToHistory("pill", pillEffectID+1, player, useFlags)
|
||||||
end
|
end
|
||||||
EID:AddCallback(ModCallbacks.MC_USE_PILL, EID.OnUsePill)
|
EID:AddCallback(ModCallbacks.MC_USE_PILL, EID.OnUsePill)
|
||||||
|
|
||||||
|
function EID:OnUseCard(cardID, player, useFlags)
|
||||||
|
player = player or EID.player --AB+ doesn't receive player in callback arguments!
|
||||||
|
EID:AddPickupToHistory("card", cardID, player, useFlags)
|
||||||
|
end
|
||||||
|
EID:AddCallback(ModCallbacks.MC_USE_CARD, EID.OnUseCard)
|
||||||
|
|
||||||
-- only save and load configs when using MCM. Otherwise Config file changes arent valid
|
-- only save and load configs when using MCM. Otherwise Config file changes arent valid
|
||||||
if EID.MCMLoaded or REPENTANCE then
|
if EID.MCMLoaded or REPENTANCE then
|
||||||
|
|||||||
+1
-1
@@ -114,7 +114,7 @@ https://moddingofisaac.com/mod/1079/external-item-descriptions
|
|||||||
- prefab for the incredible [b]Japanese[/b] language pack
|
- prefab for the incredible [b]Japanese[/b] language pack
|
||||||
- David Kapitančik. Picus and domcizzz for the cool [b]Czech[/b] language pack
|
- David Kapitančik. Picus and domcizzz for the cool [b]Czech[/b] language pack
|
||||||
- [url=https://steamcommunity.com/id/whytefang/]adc[/url] for creating an awesome new Languagepack and providing ideas for new functionalities</description>
|
- [url=https://steamcommunity.com/id/whytefang/]adc[/url] for creating an awesome new Languagepack and providing ideas for new functionalities</description>
|
||||||
<version>4.36</version>
|
<version>4.37</version>
|
||||||
<visibility>Public</visibility>
|
<visibility>Public</visibility>
|
||||||
<tag id="Lua"/>
|
<tag id="Lua"/>
|
||||||
<tag id="Items"/>
|
<tag id="Items"/>
|
||||||
|
|||||||
Reference in new issue
Block a user