From 4f4504cd248ca51e3e9d9c768860130f109b7de1 Mon Sep 17 00:00:00 2001 From: Buurazu Date: Sat, 13 Nov 2021 00:51:59 -0500 Subject: [PATCH 1/3] begin Book of Virtues descriptions, fix tarot cloth quadruples --- descriptions/rep/en_us.lua | 89 +++++++++++++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 12 deletions(-) diff --git a/descriptions/rep/en_us.lua b/descriptions/rep/en_us.lua index dd714af6..8aa221ea 100644 --- a/descriptions/rep/en_us.lua +++ b/descriptions/rep/en_us.lua @@ -220,7 +220,7 @@ local repCollectibles={ [581] = {"581", "Psy Fly", "Fly orbital familiar#Chases and deflects projectiles#Deals contact damage"}, -- Psy Fly [582] = {"582", "Wavy Cap", "↑ +0.75 Fire Rate up#↓ -0.03 Speed down#Distorts the screen#Effect can be stacked"}, -- Wavy Cap [583] = {"583", "Rocket in a Jar", "+5 bombs#If shooting, placed bombs turn into rockets that fire in the shooting direction"}, -- Rocket in a Jar - [584] = {"584", "Book of Virtues", "Spawns an orbital Wisp familiar that fires spectral tears but can be destroyed#Can be combined with a second active Item to create themed wisps#Turns first Devil Room into an Angel Room"}, -- Book of Virtues + [584] = {"584", "Book of Virtues", "Spawns an orbital wisp familiar that fires spectral tears but can be destroyed#Can be combined with a second active item to create themed wisps#Turns first Devil Room into an Angel Room, increases Angel Room chance, and allows Angel Room spawns even after Devil deals"}, -- Book of Virtues [585] = {"585", "Alabaster Box", "Spawns three Soul Hearts and two Angel Room items#Must be charged by picking up Soul Hearts#Only spawns 2 Soul Hearts and 1 Angel item if a Devil deal was taken previously"}, -- Alabaster Box [586] = {"586", "The Stairway", "Spawns a ladder at the start of every floor, leading to a unique Angel Room item shop"}, -- The Stairway [587] = {"587", "Menorah (Unused but scripted)", ""}, -- Menorah (Unused but scripted) @@ -348,7 +348,7 @@ local repCollectibles={ [709] = {"709", "Suplex!", "Allows you to dash into and pick up enemies or bosses, then slam them into the ground#Slam can be controlled#Slam deals 50 damage and spawns rock waves#Scales in damage and area of effect with the player's size"}, -- Suplex! [710] = {"710", "Bag of Crafting", "Collects and holds up to 8 pickups which cannot be dropped#Once 8 pickups are in the bag, using it will craft an item#Quality of the item is dependent on the quality of the pickups"}, -- Bag of Crafting [711] = {"711", "Flip", "When entering a room with an item pedestal, a second ghostly item will be shown#Upon use, flips the real and ghostly item#Both can be taken if Flip is used after taking the first item#!!! The ghostly item disappears if you take the first item and leave the room"}, -- Flip - [712] = {"712", "Lemegeton", "Grants a random passive item as a destroyable whisp on use#The items have a 25% chance to be from the current room's item pool or from a random pool otherwise"}, -- Lemegeton + [712] = {"712", "Lemegeton", "Spawns an orbital wisp familiar that grants an item's effect but can be destroyed#The items have a 25% chance to be from the current room's item pool, or from the Treasure/Boss/Shop pools otherwise"}, -- Lemegeton [713] = {"713", "Sumptorium", "Removes half a heart and creates a Clot familiar#Each type of heart generates a Clot with different HP, damage and tear effect"}, -- Sumptorium [714] = {"714", "Recall", "Retrieves the Forgotten's body from any distance"}, -- Recall [715] = {"715", "Hold", "Preserves one poop bomb inside that can be used later"}, -- Hold @@ -532,7 +532,7 @@ EID:updateDescriptionsViaTable(repTrinkets, EID.descriptions["en_us"].trinkets) EID.descriptions["en_us"].tarotClothBuffs = { [2] = {"2", "", "Also grants {{Collectible34}}The Book of Belial effect"}, -- I - The Magician [3] = {"3", "", "A second foot strikes down shortly after the first"}, -- II - The High Priestess - [4] = {"4", "", "Quadruples the stat increases"}, -- III - The Empress + [4] = {"4", "", "Doubles the stat increases"}, -- III - The Empress [5] = {"5", "", "If the boss wasn't defeated yet, grants 1 Soul Heart as well"}, -- IV - The Emperor [6] = {"6", "", "Spawns 3 Soul Hearts"}, -- V - The Hierophant [7] = {"7", "", "Spawns 3 Red Hearts"}, -- VI - The Lovers @@ -548,17 +548,82 @@ EID.descriptions["en_us"].tarotClothBuffs = { [18] = {"18", "", "If the Treasure Room wasn't entered before, it will have two items to choose from"}, -- XVII - The Stars [21] = {"21", "", "Spawns 2 beggars"}, -- XX - Judgement [56] = {"56", "", "Drops all items alongside pickups, including Tarot Cloth"}, -- 0 - The Fool? - [59] = {"59", "", "Grants 3 temporary heart containers"}, -- III - The Empress? - [61] = {"61", "", "Spawns 6 Bone Hearts"}, -- V - The Hierophant? - [62] = {"62", "", "Adds 4 broken hearts and spawns 4 items"}, -- VI - The Lovers? + [59] = {"59", "", "↑ +3 Health up"}, -- III - The Empress? + [61] = {"61", "", "Spawns 3 Bone Hearts"}, -- V - The Hierophant? + [62] = {"62", "", "Adds 2 Broken Hearts and spawns 2 items"}, -- VI - The Lovers? [64] = {"64", "", "Spawns 4-14 Golden Chests"}, -- VIII - Justice? - [70] = {"70", "", "Eat 20 pills"}, -- XIV - Temperance? + [70] = {"70", "", "Eat 10 random pills"}, -- XIV - Temperance? [72] = {"72", "", "Spawns 14 rock clusters"}, -- XVI - The Tower? [73] = {"73", "", "Removes 2 items and spawns 4"}, -- XVII - The Stars? - [76] = {"76", "", "Spawns 2 restock machines"}, -- XX - Judgement? + [76] = {"76", "", "Spawns 2 Restock Machines"}, -- XX - Judgement? } EID.descriptions["en_us"].goldenTrinket = "GOLD: Effect doubled!" +-- Book of Virtues wisp types +EID.descriptions["en_us"].bookOfVirtuesWisps = { + [33] = {"Homing tears"}, -- The Bible + [34] = {"Double damage tears"}, -- The Book of Belial + [35] = {"3.5% chance for Fear tears#Necronomicon effect when destroyed"}, -- The Necronomicon + [36] = {"2.5% chance for Ecoli tears"}, -- The Poop + [37] = {"Spawns scatter bombs when destroyed"}, -- Mr. Boom + [38] = {"Rapid, inaccurate tears"}, -- Tammy's Head + [39] = {"5% chance for Petrify tears"}, -- Mom's Bra + [40] = {"Explosive tears#Explodes when destroyed"}, -- Kamikaze! + [41] = {"7.5% chance for Fear tears"}, -- Mom's Pad + [42] = {"7.5% chance for Ipecac tears"}, -- Bob's Rotten Head + [44] = {"10% chance for tears to teleport enemies#Wisp flickers every 5 seconds"}, -- Teleport! + [45] = {"20% chance for enemy to drop heart on kill"}, -- Yum Heart + [47] = {"Half damage tears#All Doctor's Remote wisps shoot 3 explosive tears towards the crosshair on use"}, -- Doctor's Remote + [49] = {"Cannot shoot tears#All Shoop da Whoop! wisps fire lasers on use"}, -- Shoop da Whoop! + [56] = {"Rapid, low range tears#Wisp drips yellow creep"}, -- Lemon Mishap + [58] = {"Wisp is immune to projectiles"}, -- Book of Shadows + [65] = {"Spawns a Troll Bomb when destroyed"}, -- Anarchist Cookbook + [66] = {"Slows enemies for 3 seconds when destroyed"}, -- The Hourglass + [77] = {"Extra contact damage"}, -- My Little Unicorn + [78] = {"Cannot shoot tears#Spawns a 7 Seals familiar for the room when destroyed"}, -- Book of Revelations + [83] = {"Knockback tears"}, -- The Nail + [84] = {"No special effect"}, -- We Need to Go Deeper! + [85] = {"Spawns a card when destroyed"}, -- Deck of Cards + [86] = {"Tooth tears"}, -- Monstro's Tooth + [93] = {"Anti-gravity tears#Chance for Fear tears"}, -- The Gamekid + [97] = {"Spawns 1 of 7 wisps#Explosive effects are likely"}, -- The Book of Sin + [102] = {"Spawns a pill when destroyed#6 possible effects, assigned to a color of wisp each run#Chance for Poison, Petrify, Confusion, Burn, or Troll Bomb tears, or spawning an enemy spider when destroyed"}, -- Mom's Bottle of Pills + [105] = {"Spawns an extra wisp per rerolled item"}, -- The D6 + [107] = {"Piercing tears"}, -- The Pinking Shears + [111] = {"Poison fart when destroyed"}, -- The Bean + [123] = {"Random tears"}, -- Monster Manual + [124] = {"Spawns the wisp of what it mimics"}, -- Dead Sea Scrolls + [126] = {"High HP wisp"}, -- Razor Blade + [127] = {"Infinite HP wisp for the new floor"}, -- Forget Me Now + [130] = {"Wisps charge in the direction you fire"}, -- A Pony + [133] = {"3 high HP wisps"}, -- Guppy's Paw + [135] = {"No special effect"}, -- IV Bag + [136] = {"7.5% chance for Mark tears#Marked enemies are attacked by other enemies"}, -- Best Friend + [137] = {"1 wisp per bomb detonated#Wisp's tears can also be remote detonated"}, -- Remote Detonator + [145] = {"Wisps are spawned instead of flies#Spawns a Blue Fly when destroyed"}, -- Guppy's Head + [146] = {"Homing tears"}, -- Prayer Card + [147] = {"Breaking rocks can randomly spawn 1 of 5 material wisps#Chance for coal, Confusion, coin, double damage, or laser tears"}, -- Notched Axe + [158] = {"Fast, aimed tears"}, -- Crystal Ball + [160] = {"Summons beams of light when contacted"}, -- Crack the Sky + [164] = {"Single room wisp"}, -- The Candle + [166] = {"Destroys all pickups, with a chance to spawn a wisp for each"}, -- D20 + [171] = {"7.5% chance for Slow tears"}, -- Spider Butt + [175] = {"Wisps open locked chests/doors on touch, including the Mega Satan, Ascent, and Corpse doors"}, -- Dad's Key + [177] = {"Spawns a wisp based on the reward you win"}, -- Portable Slot + [181] = {"10% chance for Holy Light tears"}, -- White Pony + [186] = {"High HP wisp"}, -- Blood Rights + [192] = {"Homing tears"}, -- Telepathy for Dummies + [263] = {"15% chance for enemy to drop rune on kill#Spawns a rune when destroyed"}, -- Clear Rune + [282] = {"Up to 6 stationary wisps"}, -- How to Jump + [283] = {"Rerolls your wisps, plus 1 random wisp#Does not reroll Book of Virtues"}, -- D100 + [284] = {"Removes all wisps, and gives a random wisp per 2 items owned#Does not reroll Book of Virtues"}, -- D4 + [285] = {"10% chance for D10 effect on hit"}, -- D10 + [286] = {"15% chance for enemy to drop card on kill#Spawns a card when destroyed"}, -- Blank Card + [287] = {"Cracked Orb effect when destroyed"}, -- Book of Secrets + [288] = {"Wisps are spawned instead of spiders#Spawns a Blue Spider when destroyed"}, -- Box of Spiders + +} + ---------- Cards ---------- local repCards={ @@ -570,9 +635,9 @@ local repCards={ [51] = {"51", "Holy Card", "Grants the Holy Mantle effect#(Prevents damage once)#Effect lasts until damage is taken"}, -- Holy card [55] = {"55", "Rune Shard", "Activates a random rune effect#The rune effect is weaker"}, -- Rune Shard [56] = {"56", "0 - The Fool?", "Drops all your hearts and pickups on the floor#Only half a heart left afterwards#Coins and bombs are dropped efficiently, spawning {{Collectible74}}/{{Collectible19}} pedestals if possible"}, -- 0 - The Fool? - [57] = {"57", "I - The Magician?", "Grants big projectile and enemy repelling aura#Duration 1 minute"}, -- I - The Magician? + [57] = {"57", "I - The Magician?", "Grants an aura that repels enemis and projectiles for 1 minute"}, -- I - The Magician? [58] = {"58", "II - The High Priestess?", "Mom's Foot stomps down repeatedly for 1 minute"}, -- II - The High Priestess? - [59] = {"59", "III - The Empress?", "Grants for 1 minute:#↑ +2 red hearts#↑ +1.35 Tears up"}, -- III - The Empress? + [59] = {"59", "III - The Empress?", "Grants for 1 minute:#↑ +2 Health up#↑ +1.35 Tears up"}, -- III - The Empress? [60] = {"60", "IV - The Emperor?", "Teleports you to an extra Boss room with extra loot#The boss is chosen from two floors deeper than the current one"}, -- IV - The Emperor? [61] = {"61", "V - The Hierophant?", "Spawns 2 Bone Hearts"}, -- V - The Hierophant? [62] = {"62", "VI - The Lovers?", "Spawns 1 item from current room's item pool#Turns 1 Red Heart Container or 2 Soul Hearts into a broken heart"}, -- VI - The Lovers? @@ -583,8 +648,8 @@ local repCards={ [67] = {"67", "XI - Strength?", "Enemies in room are weakened, slowed and take double damage"}, -- XI - Strength? [68] = {"68", "XII - The Hanged Man?", "Turns player into the Keeper for 30 seconds#Grants triple shot and speed down#Killed enemies drop random coins"}, -- XII - The Hanged Man? [69] = {"69", "XIII - Death?", "Invokes {{Collectible545}} Book of the Dead effect#(Spawns Bone entities for each enemy killed in room)"}, -- XIII - Death? - [70] = {"70", "XIV - Temperance?", "Applies 5 random pill effects"}, -- XIV - Temperance? - [71] = {"71", "XV - The Devil?", "Invokes {{Collectible33}} The Bible effect#Grants {{Collectible390}} Seraphim for 30 seconds"}, -- XV - The Devil? + [70] = {"70", "XIV - Temperance?", "Eat 5 random pills"}, -- XIV - Temperance? + [71] = {"71", "XV - The Devil?", "Invokes {{Collectible33}} The Bible effect#Grants {{Collectible390}} Seraphim and flight for 30 seconds"}, -- XV - The Devil? [72] = {"72", "XVI - The Tower?", "Spawns 6 clusters of random rocks and obstacles#Clusters will often contain Tinted Rocks"}, -- XVI - The Tower? [73] = {"73", "XVII - The Stars?", "Removes oldest passive item (ignoring starting items)#Spawns 2 random items from current room's item pool"}, -- XVII - The Stars? [74] = {"74", "XVIII - The Moon?", "Teleports you to Ultra Secret Room#Pathway back will be made of red rooms"}, -- XVIII - The Moon? From 9d8267504860cf1ac17e385eef015b895c053a76 Mon Sep 17 00:00:00 2001 From: Buurazu Date: Sat, 13 Nov 2021 00:52:38 -0500 Subject: [PATCH 2/3] Book of Virtues descriptions --- eid_modifiers.lua | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/eid_modifiers.lua b/eid_modifiers.lua index 3d5ade7a..c167c6bd 100644 --- a/eid_modifiers.lua +++ b/eid_modifiers.lua @@ -53,6 +53,32 @@ local game = Game() + -- Handle Book of Virtues description addition + local function BookOfVirtuesCondition(descObj) + if descObj.ObjType ~= 5 or descObj.ObjVariant ~= PickupVariant.PICKUP_COLLECTIBLE then + return false + end + for i = 0,game:GetNumPlayers() - 1 do + local player = Isaac.GetPlayer(i) + if player:HasCollectible(CollectibleType.COLLECTIBLE_BOOK_OF_VIRTUES) then + return true + end + end + return false + end + + local function BookOfVirtuesCallback(descObj) + local wispType = EID:getDescriptionEntry("bookOfVirtuesWisps", descObj.ObjSubType) + if wispType ~= nil then + local iconStr = "#{{Collectible584}} " + EID:appendToDescription(descObj, iconStr..wispType[1]:gsub("#",iconStr)) + end + return descObj + end + EID:addDescriptionModifier("Book of Virtues", BookOfVirtuesCondition, BookOfVirtuesCallback) + + + -- Handle Spindown Dice description addition local function SpindownDiceCondition(descObj) if descObj.ObjType ~= 5 or descObj.ObjVariant ~= PickupVariant.PICKUP_COLLECTIBLE then @@ -124,7 +150,6 @@ local game = Game() EID:addDescriptionModifier("Tarot Cloth", TarotClothCondition, TarotClothCallback) - -- Handle Golden Trinket description addition local function GoldenTrinketCondition(descObj) return descObj.ObjType == 5 and descObj.ObjVariant == PickupVariant.PICKUP_TRINKET and descObj.ObjSubType > TrinketType.TRINKET_GOLDEN_FLAG @@ -149,4 +174,4 @@ local game = Game() return descObj end EID:addDescriptionModifier("ItemID", ItemIDCondition, ItemIDCallback) -end \ No newline at end of file +end From 88ae4106d74f93997752775ebcc0e18117e3174e Mon Sep 17 00:00:00 2001 From: Buurazu Date: Sat, 13 Nov 2021 00:55:20 -0500 Subject: [PATCH 3/3] begin Book of Virtues descriptions, fix tarot cloth quadruples --- descriptions/rep/en_us.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/descriptions/rep/en_us.lua b/descriptions/rep/en_us.lua index 8aa221ea..f530238a 100644 --- a/descriptions/rep/en_us.lua +++ b/descriptions/rep/en_us.lua @@ -635,7 +635,7 @@ local repCards={ [51] = {"51", "Holy Card", "Grants the Holy Mantle effect#(Prevents damage once)#Effect lasts until damage is taken"}, -- Holy card [55] = {"55", "Rune Shard", "Activates a random rune effect#The rune effect is weaker"}, -- Rune Shard [56] = {"56", "0 - The Fool?", "Drops all your hearts and pickups on the floor#Only half a heart left afterwards#Coins and bombs are dropped efficiently, spawning {{Collectible74}}/{{Collectible19}} pedestals if possible"}, -- 0 - The Fool? - [57] = {"57", "I - The Magician?", "Grants an aura that repels enemis and projectiles for 1 minute"}, -- I - The Magician? + [57] = {"57", "I - The Magician?", "Grants an aura that repels enemies and projectiles for 1 minute"}, -- I - The Magician? [58] = {"58", "II - The High Priestess?", "Mom's Foot stomps down repeatedly for 1 minute"}, -- II - The High Priestess? [59] = {"59", "III - The Empress?", "Grants for 1 minute:#↑ +2 Health up#↑ +1.35 Tears up"}, -- III - The Empress? [60] = {"60", "IV - The Emperor?", "Teleports you to an extra Boss room with extra loot#The boss is chosen from two floors deeper than the current one"}, -- IV - The Emperor?