Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
770 commits
Select commit Hold shift + click to select a range
c458241
hotpot deck redeem compat
lord-ruby Oct 18, 2025
3c29af9
properly fix modded deck redeem
lord-ruby Oct 19, 2025
79ee8c7
butterfly + fork bomb fix
lord-ruby Oct 19, 2025
5a827f4
fix ambisinister deck redeem
lord-ruby Oct 19, 2025
02f0d43
friday night funkin or balatro 1.1 update
lord-ruby Oct 19, 2025
899ce5d
inferno sprite
lord-ruby Oct 19, 2025
27524e0
copy_card preserves extra chips
lord-ruby Oct 19, 2025
84bc798
bring over patches
borb43 Oct 19, 2025
5b04e53
bring over util functions
borb43 Oct 19, 2025
3d7583e
bring over locs
borb43 Oct 19, 2025
5413cc9
dataslop
lord-ruby Oct 19, 2025
89c279b
better pact stacking
lord-ruby Oct 19, 2025
1813ab5
fix aura and wheel
lord-ruby Oct 19, 2025
117212b
pact of serpents is actually hidden
lord-ruby Oct 19, 2025
4521225
corrupted deck inversion stuff
lord-ruby Oct 19, 2025
7fec805
fix death with eternals
lord-ruby Oct 19, 2025
d95e026
fix typo
lord-ruby Oct 19, 2025
2526f0a
add missing cass credits
cassknows Oct 19, 2025
dd1a86f
sapphire seal nerf
lord-ruby Oct 19, 2025
017546e
idk
lord-ruby Oct 19, 2025
1b997cb
:true:
lord-ruby Oct 19, 2025
7d66cf1
my bad
lord-ruby Oct 19, 2025
ed34f9b
im so stupid
lord-ruby Oct 19, 2025
333424b
plasma redeem fix
lord-ruby Oct 20, 2025
cf66462
shatter & red key nerf
lord-ruby Oct 20, 2025
0d9f8ee
ethereal and samsara cards
lord-ruby Oct 20, 2025
099b0aa
(Must have room)
lord-ruby Oct 20, 2025
66de613
blacklist hidden enhancements
lord-ruby Oct 20, 2025
34796a9
multiplayer compatibility patch
lord-ruby Oct 20, 2025
cb936ef
fix sunny side up scaling
lord-ruby Oct 20, 2025
3bf219c
fix consumable use in joker slots
lord-ruby Oct 20, 2025
aa716bd
start hotpot crossmod - extra joker and unstick
LFMoth Oct 20, 2025
f8907b7
extra hands
LFMoth Oct 20, 2025
9ed6704
oops
LFMoth Oct 20, 2025
407abc2
Bundle of Money
LFMoth Oct 20, 2025
f450d8e
Bigger Pockets
LFMoth Oct 20, 2025
e84f675
Deckfix
LFMoth Oct 20, 2025
0c7ac1a
Generous Donation
LFMoth Oct 20, 2025
1cdea1b
fixes and demicolon
LFMoth Oct 20, 2025
80b6d72
price fix
LFMoth Oct 20, 2025
30779a0
add new locs (localization if youre new to the stream im just using s…
lord-ruby Oct 20, 2025
25e91cd
sapphire seal fix
lord-ruby Oct 20, 2025
1138cc7
fix debuff code
lord-ruby Oct 20, 2025
e4dbbe7
fix hand size from cass joker
lord-ruby Oct 20, 2025
b0e7888
qu fix
lord-ruby Oct 20, 2025
b26af51
fix samsara cards with pink seal
lord-ruby Oct 21, 2025
1646156
fixed samsara cards again award
lord-ruby Oct 21, 2025
250de1c
samsara fix Again! Again! Again! Again! Again! Again!
lord-ruby Oct 21, 2025
3508eb0
add 3 challenges
cassknows Oct 21, 2025
4b702e2
challenge related stuff
lord-ruby Oct 22, 2025
3cdaa92
bell curve
lord-ruby Oct 22, 2025
15babe3
Metal Gear Solid V
cassknows Oct 22, 2025
1a32357
fucked up the atlas again award
lord-ruby Oct 22, 2025
0243c59
fix all joker compat markers
lord-ruby Oct 22, 2025
d8f76c3
fix typo
lord-ruby Oct 22, 2025
11307e1
w eris
lord-ruby Oct 23, 2025
872f0c6
antipattern queue changes
lord-ruby Oct 23, 2025
fde7d7a
Riffle Shuffle tweak
cassknows Oct 23, 2025
3288960
recursive joker works with gift card again
lord-ruby Oct 24, 2025
da47344
various crash fixes
lord-ruby Oct 25, 2025
c90bca2
those who break their patches
lord-ruby Oct 25, 2025
1714994
cardpronouns compat for legendaries
lord-ruby Oct 25, 2025
95a75ec
fix discarding
lord-ruby Oct 25, 2025
cd547e7
those who typo
lord-ruby Oct 25, 2025
f2fc3f0
fix recursive joker cost setting
lord-ruby Oct 25, 2025
6b9ad6c
fix pineapple typo
lord-ruby Oct 25, 2025
247555f
pronouns fix
crabus72 Oct 25, 2025
094be7f
dice shard fix
lord-ruby Oct 25, 2025
b202e9f
corrupted deck speed config
lord-ruby Oct 25, 2025
4052d4d
corrupted deck fix
lord-ruby Oct 25, 2025
3b9e2b5
Update editions.lua
lord-ruby Oct 25, 2025
0ca32c3
Update en-us.lua
lord-ruby Oct 25, 2025
6c6c7f9
ruby rework
lord-ruby Oct 26, 2025
cb0e9f4
fix ruby with blueprint
lord-ruby Oct 26, 2025
d4e18cb
oh my god bruh
lord-ruby Oct 26, 2025
3504f1a
forgot to save again award
lord-ruby Oct 26, 2025
bc9ea3f
fix pink seal
lord-ruby Oct 26, 2025
e7da421
rubber ball
lord-ruby Oct 26, 2025
b6445b6
better stacking
lord-ruby Oct 26, 2025
df375f2
stand arrow
lord-ruby Oct 26, 2025
2856b35
scaling fixes
lord-ruby Oct 27, 2025
ba22bdd
scarlet sun works without cryptid
lord-ruby Oct 27, 2025
548230e
fix pink seals
lord-ruby Oct 27, 2025
a27d02d
fix fehu resetting
lord-ruby Oct 27, 2025
bebf5f7
ehwaz fix
lord-ruby Oct 27, 2025
12b826c
ehwaz text fixes
lord-ruby Oct 27, 2025
01bab32
valk crossmod stuff
lord-ruby Oct 28, 2025
62e9143
dancer
lord-ruby Oct 28, 2025
63fef4e
redefined fixes
lord-ruby Oct 28, 2025
99571f1
eternal check for rage
lord-ruby Oct 28, 2025
1967a90
Update compat.toml
lord-ruby Oct 28, 2025
f603e26
fix typo
lord-ruby Oct 28, 2025
9444040
destiny eternal check
lord-ruby Oct 28, 2025
7930a86
add info to destiny description
lord-ruby Oct 28, 2025
5561497
sigma typo fix
lord-ruby Oct 28, 2025
10894d3
fix missing "
lord-ruby Oct 28, 2025
b78e657
servant vars fix
lord-ruby Oct 28, 2025
d9b9b17
master info queue
lord-ruby Oct 28, 2025
381885b
fix bad check
lord-ruby Oct 28, 2025
d6ad911
fix chalice of blood cost
lord-ruby Oct 28, 2025
87425d0
destiny loc vars fix
lord-ruby Oct 29, 2025
dc0db39
number_format for asc display
lord-ruby Oct 29, 2025
e1cdd88
im hard coding
lord-ruby Oct 29, 2025
0d5cf5e
omicron works
lord-ruby Oct 29, 2025
e3ce5ea
master can use fix
lord-ruby Oct 29, 2025
20ff68e
kings scepter
lord-ruby Oct 29, 2025
4dedf48
monkeys paw
lord-ruby Oct 29, 2025
3ee39b1
potential patch fix
lord-ruby Oct 29, 2025
9aecbf4
add better fallback for blind tokens
lord-ruby Oct 29, 2025
04ee393
blind tokens if they were gay
lord-ruby Oct 29, 2025
222f6a6
the green one
lord-ruby Oct 29, 2025
fa68593
holy shit is that a motherfucking jojo reference
lord-ruby Oct 29, 2025
ff7415a
crabus rlegendary sprite & ruby resprite
lord-ruby Oct 29, 2025
b90336b
fix typo
lord-ruby Oct 29, 2025
780ea69
vallkarri crossmod fixes
lord-ruby Oct 29, 2025
e69e115
fix typo in fixed recipes
lord-ruby Oct 29, 2025
ab0e6d5
gemstone uses probability apis
lord-ruby Oct 29, 2025
cc44216
master info queue actually works
lord-ruby Oct 29, 2025
6b9d1dc
disavowed not in pool
lord-ruby Oct 29, 2025
15e968e
fix jera description
lord-ruby Oct 29, 2025
6eddf08
fix perishable compat
lord-ruby Oct 29, 2025
9f663a8
better check for kings scepter
lord-ruby Oct 29, 2025
1d59627
kintsugi in pool
lord-ruby Oct 29, 2025
1971489
_G["true"] = false
lord-ruby Oct 29, 2025
90ee16e
cheengla
cassknows Oct 29, 2025
5b662a2
manifest & idyll
lord-ruby Oct 29, 2025
7d1c912
magic skin
lord-ruby Oct 30, 2025
e6b0768
Update misc_jokers.lua
lord-ruby Oct 30, 2025
0f49897
hash miner sprite
lord-ruby Oct 30, 2025
ea5e49e
magic skin fixes
lord-ruby Oct 30, 2025
7550df4
magic skin crossmod stuff
lord-ruby Oct 30, 2025
637a856
dice shard sprite
lord-ruby Oct 30, 2025
7d7d19f
magic skin sprite
lord-ruby Oct 30, 2025
ed4b07c
fix typo + ee stuff
lord-ruby Oct 30, 2025
9684b62
oops
lord-ruby Oct 30, 2025
db7214e
overpump sprite
lord-ruby Oct 30, 2025
e7e51f2
valk asc tags
lord-ruby Oct 30, 2025
0f80a30
valk aesthetics and highway
lord-ruby Oct 31, 2025
fa459f7
calc (short for calculus if youre new to the stream)
lord-ruby Oct 31, 2025
6da3953
derivative fix for aikoyoris shenanigans
lord-ruby Nov 1, 2025
8ab2dc0
a few random fixes
lord-ruby Nov 1, 2025
9fd7110
me when i get burned at the stake
lord-ruby Nov 1, 2025
eeb1a75
idyll forcetrigger fix
lord-ruby Nov 1, 2025
cd99c3b
elderberries
lord-ruby Nov 1, 2025
9d5ae93
add deckskin
lord-ruby Nov 1, 2025
7a4b6b4
Update reverse_spectrals.lua
lord-ruby Nov 2, 2025
77cadc0
elderberries sprite
lord-ruby Nov 2, 2025
1bbd770
spectal
lord-ruby Nov 2, 2025
a3ef979
destiny forcetrigger
lord-ruby Nov 2, 2025
7f037d4
nostalgic d6
lord-ruby Nov 2, 2025
e51fd8d
debuffed jokers cant be used
lord-ruby Nov 2, 2025
694a795
magic skin crossmod part 1 trillion
lord-ruby Nov 3, 2025
bd15e90
blood orange
lord-ruby Nov 3, 2025
bd18e01
oss & deck resprites
lord-ruby Nov 3, 2025
90c9cf4
custom profiles & config
lord-ruby Nov 3, 2025
e18522b
profile prefix fixes
lord-ruby Nov 3, 2025
f07a95b
mark of the beast
lord-ruby Nov 3, 2025
675d6a2
mark of the beast works with perkeo
lord-ruby Nov 3, 2025
692f7f3
Update manifest.json
lord-ruby Nov 3, 2025
a31a379
what if card.cost was = 0 and not scaling
lord-ruby Nov 3, 2025
244aa70
port bunco fraud compat over to dev branch
f-raZ0R Nov 3, 2025
374062d
spectrum API compat star cards
f-raZ0R Nov 3, 2025
f2a03af
Give the Stars names
f-raZ0R Nov 3, 2025
9a3e375
oops
f-raZ0R Nov 3, 2025
c420b91
update code credits
lord-ruby Nov 3, 2025
5d60a0a
fix crash with ortalab
lord-ruby Nov 4, 2025
8aa3e2d
fix weird big checks
lord-ruby Nov 4, 2025
f02434d
i am stupid
lord-ruby Nov 4, 2025
9acc9d2
fix zenith stake colour
lord-ruby Nov 4, 2025
82d4ee1
fix manifest fallbacks
lord-ruby Nov 4, 2025
f71fe73
allow deck enlargment pills to be agained
lord-ruby Nov 4, 2025
211d33a
make crabus infertile
lord-ruby Nov 4, 2025
0779de1
update reference pack pool
lord-ruby Nov 5, 2025
a713a4a
me when i forcetrigger nothing
lord-ruby Nov 5, 2025
58cc3b5
some fraud card stuff
lord-ruby Nov 5, 2025
590e731
G.GAMe
f-raZ0R Nov 5, 2025
c4a462f
fix credits again
lord-ruby Nov 5, 2025
7de14de
fix take_ownerships
lord-ruby Nov 5, 2025
6ebcae9
Make Crabus breedable again
crabus72 Nov 5, 2025
320796b
nostalgic d6 sprite
lord-ruby Nov 5, 2025
3019b92
they trapped me in the sprite mines
lord-ruby Nov 5, 2025
794bc3a
blood orange fix
lord-ruby Nov 5, 2025
d408677
blood orange sprite
lord-ruby Nov 5, 2025
ed99c5d
fix grahkon
lord-ruby Nov 5, 2025
c5862f9
fast food sprite
lord-ruby Nov 6, 2025
cc0f43f
me when im metastable
lord-ruby Nov 6, 2025
4b4a24e
pineapple sprite
lord-ruby Nov 6, 2025
3229e2b
pain
cassknows Nov 6, 2025
f3e8879
fix some sticker compatibilities
lord-ruby Nov 6, 2025
9637e96
uielement shader normalized uv
lord-ruby Nov 6, 2025
443039b
?
cassknows Nov 6, 2025
66a516a
mod badge shader finalized
cassknows Nov 6, 2025
7ef01e0
tweak lowres shader
cassknows Nov 6, 2025
09e2ef9
die
lord-ruby Nov 6, 2025
957a1ec
monkeys paw sprite
lord-ruby Nov 6, 2025
bed3ba9
used fill tool again award
lord-ruby Nov 6, 2025
4eb56e7
interest related fixes
lord-ruby Nov 6, 2025
f665f2c
me when no return values work
lord-ruby Nov 6, 2025
cd5552f
kms
lord-ruby Nov 6, 2025
71f5bb7
heimartai sprite
lord-ruby Nov 6, 2025
8fcefc6
Update config.lua
lord-ruby Nov 6, 2025
0b0476b
update uibox shader patch
InvalidOS Nov 6, 2025
3d88b86
fix corrupted deck can_use checks
lord-ruby Nov 6, 2025
b1b4ab1
fix typo with earl
lord-ruby Nov 6, 2025
24c0757
fixed earl again award
lord-ruby Nov 6, 2025
cc7559b
oh my god
lord-ruby Nov 6, 2025
b325801
dragonfruit works with pure
lord-ruby Nov 6, 2025
d5b68b7
oops
lord-ruby Nov 6, 2025
53cc7f0
kings scepter sprite
lord-ruby Nov 6, 2025
05c331f
rune nerfs
lord-ruby Nov 6, 2025
afbe254
destiny related changes
lord-ruby Nov 6, 2025
efe5d55
they got me fucked up playing sburb
lord-ruby Nov 6, 2025
cf61b14
🌞
lord-ruby Nov 6, 2025
a0ba0cd
raido tweaks
lord-ruby Nov 6, 2025
a576d8f
pact of rage fixes
lord-ruby Nov 7, 2025
bc53b0e
better companion compat
lord-ruby Nov 7, 2025
8425cdb
insatiable dagger nerfe
lord-ruby Nov 7, 2025
73d234a
fix asc cat tag
lord-ruby Nov 7, 2025
ed4967a
fix blind token localisation
lord-ruby Nov 7, 2025
83bea93
fix antireal crash
lord-ruby Nov 7, 2025
2d98087
update enhancement compat stuff
lord-ruby Nov 7, 2025
4850d69
readd flipside inversion interaction
lord-ruby Nov 7, 2025
d32c309
crash moment
lord-ruby Nov 7, 2025
84aee49
crabus doesnt reset scaling
lord-ruby Nov 7, 2025
8d74d1d
add info queue to crabus
lord-ruby Nov 7, 2025
625498f
fix typo
InvalidOS Nov 7, 2025
32b60b4
use original_key
InvalidOS Nov 7, 2025
9fb4924
version bump
InvalidOS Nov 7, 2025
7ed2bc8
i'm explodign
InvalidOS Nov 7, 2025
1f15720
phantom, shopper nerf
lord-ruby Nov 7, 2025
b417202
stand arrow better polling
lord-ruby Nov 7, 2025
a9f2b74
fix spectrum compat loading
lord-ruby Nov 7, 2025
a4d6a7f
update sleeve sprites
lord-ruby Nov 7, 2025
cacbf36
even out the numbers
lord-ruby Nov 8, 2025
031e9ea
nil resprites
lord-ruby Nov 8, 2025
1b2a692
insatiable dagger part 2
lord-ruby Nov 8, 2025
c266a13
rubber ball sound effect
lord-ruby Nov 8, 2025
91dc63f
🌞
cassknows Nov 8, 2025
52226c2
hotpot corrupted deck compat + fix crash
lord-ruby Nov 8, 2025
bcaab50
refactor card type modifiers
lord-ruby Nov 9, 2025
e363e7a
hopefully fix asc bundle caviar
lord-ruby Nov 9, 2025
78b03f7
dancer sprite & badarg fix again
lord-ruby Nov 9, 2025
054e003
fix typo
lord-ruby Nov 9, 2025
eb10724
fix daily challenge crash
lord-ruby Nov 9, 2025
092aa45
fix caviar bundle tag
lord-ruby Nov 9, 2025
859e3b7
fix atomikos
lord-ruby Nov 9, 2025
85e17ca
fix restart related crash
lord-ruby Nov 9, 2025
a97e4b7
crossmod badge stuff
lord-ruby Nov 10, 2025
5db52fd
Update misc_jokers.lua
lord-ruby Nov 10, 2025
152620e
Merge branch 'dev' of https://github.com/lord-ruby/Entropy into dev
lord-ruby Nov 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Entropy.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ local i = {
"lib/loader",
"lib/ui",
"lib/fixes",
"lib/ascended",

"items/misc/atlases",
"items/misc/rarities",
Expand Down Expand Up @@ -60,6 +61,7 @@ Entropy.load_files(i)
Entropy.display_name = SMODS.current_mod.display_name
SMODS.current_mod.optional_features = {
retrigger_joker = true,
post_trigger = true,
}

if not Cryptid.mod_whitelist then Cryptid.mod_whitelist = {} end
Expand Down Expand Up @@ -91,6 +93,9 @@ if Cryptid.misprintize_value_blacklist then
Cryptid.misprintize_value_blacklist.debuff_timer = false
Cryptid.misprintize_value_blacklist.superego_copies = false
Cryptid.misprintize_value_blacklist.entr_hotfix_rounds = false
Cryptid.misprintize_value_blacklist.debuff_timer = false
Cryptid.misprintize_value_blacklist.debuff_timer_max = false
Cryptid.misprintize_value_blacklist.left = false
end
SMODS.current_mod.calculate = function(self, context)
return Entropy.misc_calculations(self, context)
Expand Down
Binary file added assets/1x/RubyDeck.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/1x/RubyDeck2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/blinds.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/boosters.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/crossmod/crossmod_consumables.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/1x/crossmod/crossmod_tags.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/1x/crossmod/valk_aesthetics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/crypt_decks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/decks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/enhancements.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/entr_nilsuit_hc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/entr_nilsuit_lc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/exotic_jokers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/1x/grahkon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/jokers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/malverk/spectrans/other_consumables.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/malverk/spectrans/runes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/other_consumables.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/prismatic_shard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/reverse_tarots.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/ruby.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/runes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/second_consumables.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/1x/sleeves.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/2x/RubyDeck.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/2x/RubyDeck2.png
Binary file modified assets/2x/blinds.png
Binary file modified assets/2x/boosters.png
Binary file modified assets/2x/crossmod/crossmod_consumables.png
Binary file added assets/2x/crossmod/crossmod_tags.png
Binary file added assets/2x/crossmod/valk_aesthetics.png
Binary file modified assets/2x/crypt_decks.png
Binary file modified assets/2x/decks.png
Binary file modified assets/2x/enhancements.png
Binary file modified assets/2x/entr_nilsuit_hc.png
Binary file modified assets/2x/entr_nilsuit_lc.png
Binary file modified assets/2x/exotic_jokers.png
Binary file added assets/2x/grahkon.png
Binary file modified assets/2x/jokers.png
Binary file modified assets/2x/malverk/spectrans/other_consumables.png
Binary file modified assets/2x/malverk/spectrans/runes.png
Binary file modified assets/2x/other_consumables.png
Binary file modified assets/2x/prismatic_shard.png
Binary file modified assets/2x/reverse_tarots.png
Binary file modified assets/2x/ruby.png
Binary file modified assets/2x/runes.png
Binary file modified assets/2x/second_consumables.png
Binary file modified assets/2x/sleeves.png
317 changes: 317 additions & 0 deletions assets/shaders/brimstone.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,317 @@
#if defined(VERTEX) || __VERSION__ > 100 || defined(GL_FRAGMENT_PRECISION_HIGH)
#define MY_HIGHP_OR_MEDIUMP highp
#else
#define MY_HIGHP_OR_MEDIUMP mediump
#endif

extern MY_HIGHP_OR_MEDIUMP vec2 brimstone;
extern MY_HIGHP_OR_MEDIUMP vec2 entr_brimstone;
extern MY_HIGHP_OR_MEDIUMP number dissolve;
extern MY_HIGHP_OR_MEDIUMP number time;
extern MY_HIGHP_OR_MEDIUMP vec4 texture_details;
extern MY_HIGHP_OR_MEDIUMP vec2 image_details;
extern bool shadow;
extern MY_HIGHP_OR_MEDIUMP vec4 burn_colour_1;
extern MY_HIGHP_OR_MEDIUMP vec4 burn_colour_2;

vec4 dissolve_mask(vec4 tex, vec2 texture_coords, vec2 uv)
{
if (dissolve < 0.001) {
return vec4(shadow ? vec3(0.,0.,0.) : tex.xyz, shadow ? tex.a*0.3: tex.a);
}

float adjusted_dissolve = (dissolve*dissolve*(3.-2.*dissolve))*1.02 - 0.01; //Adjusting 0.0-1.0 to fall to -0.1 - 1.1 scale so the mask does not pause at extreme values

float t = time * 10.0 + 2003.;
vec2 floored_uv = (floor((uv*texture_details.ba)))/max(texture_details.b, texture_details.a);
vec2 uv_scaled_centered = (floored_uv - 0.5) * 2.3 * max(texture_details.b, texture_details.a);

vec2 field_part1 = uv_scaled_centered + 50.*vec2(sin(-t / 143.6340), cos(-t / 99.4324));
vec2 field_part2 = uv_scaled_centered + 50.*vec2(cos( t / 53.1532), cos( t / 61.4532));
vec2 field_part3 = uv_scaled_centered + 50.*vec2(sin(-t / 87.53218), sin(-t / 49.0000));

float field = (1.+ (
cos(length(field_part1) / 19.483) + sin(length(field_part2) / 33.155) * cos(field_part2.y / 15.73) +
cos(length(field_part3) / 27.193) * sin(field_part3.x / 21.92) ))/2.;
vec2 borders = vec2(0.2, 0.8);

float res = (.5 + .5* cos( (adjusted_dissolve) / 82.612 + ( field + -.5 ) *3.14))
- (floored_uv.x > borders.y ? (floored_uv.x - borders.y)*(5. + 5.*dissolve) : 0.)*(dissolve)
- (floored_uv.y > borders.y ? (floored_uv.y - borders.y)*(5. + 5.*dissolve) : 0.)*(dissolve)
- (floored_uv.x < borders.x ? (borders.x - floored_uv.x)*(5. + 5.*dissolve) : 0.)*(dissolve)
- (floored_uv.y < borders.x ? (borders.x - floored_uv.y)*(5. + 5.*dissolve) : 0.)*(dissolve);

if (tex.a > 0.01 && burn_colour_1.a > 0.01 && !shadow && res < adjusted_dissolve + 0.8*(0.5-abs(adjusted_dissolve-0.5)) && res > adjusted_dissolve) {
if (!shadow && res < adjusted_dissolve + 0.5*(0.5-abs(adjusted_dissolve-0.5)) && res > adjusted_dissolve) {
tex.rgba = burn_colour_1.rgba;
} else if (burn_colour_2.a > 0.01) {
tex.rgba = burn_colour_2.rgba;
}
}

return vec4(shadow ? vec3(0.,0.,0.) : tex.xyz, res > adjusted_dissolve ? (shadow ? tex.a*0.3: tex.a) : .0);
}

number hue(number s, number t, number h)
{
number hs = mod(h, 1.)*6.;
if (hs < 1.) return (t-s) * hs + s;
if (hs < 3.) return t;
if (hs < 4.) return (t-s) * (4.-hs) + s;
return s;
}

vec4 RGB(vec4 c)
{
if (c.y < 0.0001)
return vec4(vec3(c.z), c.a);

number t = (c.z < .5) ? c.y*c.z + c.z : -c.y*c.z + (c.y+c.z);
number s = 2.0 * c.z - t;
return vec4(hue(s,t,c.x + 1./3.), hue(s,t,c.x), hue(s,t,c.x - 1./3.), c.w);
}

vec4 HSL(vec4 c)
{
number low = min(c.r, min(c.g, c.b));
number high = max(c.r, max(c.g, c.b));
number delta = high - low;
number sum = high+low;

vec4 hsl = vec4(.0, .0, .5 * sum, c.a);
if (delta == .0)
return hsl;

hsl.y = (hsl.z < .5) ? delta / sum : delta / (2.0 - sum);

if (high == c.r)
hsl.x = (c.g - c.b) / delta;
else if (high == c.g)
hsl.x = (c.b - c.r) / delta + 2.0;
else
hsl.x = (c.r - c.g) / delta + 4.0;

hsl.x = mod(hsl.x / 6., 1.);
return hsl;
}

vec4 RGBtoHSV(vec4 rgb)
{
vec4 hsv;
float minVal = min(min(rgb.r, rgb.g), rgb.b);
float maxVal = max(max(rgb.r, rgb.g), rgb.b);
float delta = maxVal - minVal;

// Value
hsv.z = maxVal;

// Saturation
if (maxVal != 0.0)
hsv.y = delta / maxVal;
else {
// r = g = b = 0, s = 0, v is undefined
hsv.y = 0.0;
hsv.x = -1.0;
return hsv;
}

// Hue
if (rgb.r == maxVal)
hsv.x = (rgb.g - rgb.b) / delta; // between yellow & magenta
else if (rgb.g == maxVal)
hsv.x = 2.0 + (rgb.b - rgb.r) / delta; // between cyan & yellow
else
hsv.x = 4.0 + (rgb.r - rgb.g) / delta; // between magenta & cyan

hsv.x = hsv.x * (1.0 / 6.0);
if (hsv.x < 0.0)
hsv.x += 1.0;

// Alpha
hsv.w = rgb.a;

return hsv;
}

vec4 HSVtoRGB(vec4 hsv) {
vec4 rgb;

float h = hsv.x * 6.0;
float c = hsv.z * hsv.y;
float x = c * (1.0 - abs(mod(h, 2.0) - 1.0));
float m = hsv.z - c;

if (h < 1.0) {
rgb = vec4(c, x, 0.0, hsv.a);
} else if (h < 2.0) {
rgb = vec4(x, c, 0.0, hsv.a);
} else if (h < 3.0) {
rgb = vec4(0.0, c, x, hsv.a);
} else if (h < 4.0) {
rgb = vec4(0.0, x, c, hsv.a);
} else if (h < 5.0) {
rgb = vec4(x, 0.0, c, hsv.a);
} else {
rgb = vec4(c, 0.0, x, hsv.a);
}

rgb.rgb += m;

return rgb;
}

float bitxor(float val1, float val2)
{
float outp = 0.;
for(int i = 1; i < 9; i++) {
float i_float = float(i);
outp += floor(mod(mod(floor(val1*pow(2.,-i_float)),pow(2.,i_float))+mod(floor(val2*pow(2.,-i_float)),pow(2.,i_float)),2.))*pow(2.,i_float);
}
return outp/256.;
}

float mod2(float val1, float mod1)
{
val1 /= mod1;
val1 -= floor(val1);
return(mod1 * val1);
}

float mod2(float val1)
{
return(mod2(val1, 1.));
}

float clampf(float val1)
{
return(max(0., min(1., ceil(val1))));
}

float clampf2(float val1)
{
return(max(0., min(1., val1)));
}

float inverf(float val1)
{
return(val1 + pow(val1, 5.) * pow(14. - 14.*pow(val1, 2.), -1.));
}

#define PI 3.14159265358979323846

float rand(vec2 c){
return fract(sin(dot(c.xy ,vec2(12.9898,78.233))) * 43758.5453);
}

float noise(vec2 p, float freq ){
float unit = 1./freq;
vec2 ij = floor(p/unit);
vec2 xy = mod(p,unit)/unit;
//xy = 3.*xy*xy-2.*xy*xy*xy;
xy = .5*(1.-cos(PI*xy));
float a = rand((ij+vec2(0.,0.)));
float b = rand((ij+vec2(1.,0.)));
float c = rand((ij+vec2(0.,1.)));
float d = rand((ij+vec2(1.,1.)));
float x1 = mix(a, b, xy.x);
float x2 = mix(c, d, xy.x);
return mix(x1, x2, xy.y);
}

float pNoise(vec2 p, int res){
float persistance = .5;
float n = 0.;
float normK = 0.;
float f = 4.;
float amp = 1.;
int iCount = 0;
for (int i = 0; i<50; i++){
n+=amp*noise(p, f);
f*=2.;
normK+=amp;
amp*=persistance;
if (iCount == res) break;
iCount++;
}
float nf = n/normK;
return nf*nf*nf*nf;
}

vec4 smoke(float time, vec2 uv, vec4 base_col)
{
float p = (pNoise(uv + vec2(0, time), 1));
p = p * p * 1.5;
return vec4(-0.6,-0.6,-0.6,1.) * (2.-p) + base_col * p * 3.5 / (pow(p, 0.3));
}

vec4 effect( vec4 colour, Image texture, vec2 texture_coords, vec2 screen_coords )
{
vec4 tex = Texel(texture, texture_coords);
vec2 uv = (((texture_coords)*(image_details)) - texture_details.xy*texture_details.ba)/texture_details.ba;

float sprite_width = texture_details.z / image_details.x;
float min_x = texture_details.x * sprite_width;
float max_x = (texture_details.x + 1.) * sprite_width;

float shiftX = 1.5 * sin(1.5 * uv.y * (10.16 + 3.55 * sin(brimstone.y/1.5))) * 1.45 * uv.y
/ image_details.x;

float newX = min(max_x, max(min_x, texture_coords.x + shiftX));


// Dummy, doesn't do anything but at least it makes the shader useable
if (uv.x > uv.x * 2.){
uv = brimstone;
uv = entr_brimstone;
}

float mod = brimstone.r * 1.0;

number low = min(tex.r, min(tex.g, tex.b));
number high = max(tex.r, max(tex.g, tex.b));
number delta = high - low;

//vec4 hsl = HSL(vec4(tex.r, tex.g, tex.b, tex.a));

float t = brimstone.y*2.221 + time;
vec2 floored_uv = (floor((uv*texture_details.ba)))/texture_details.ba;
vec2 uv_scaled_centered = (floored_uv - 0.5) * 50.;

vec2 field_part1 = uv_scaled_centered + 50.*vec2(sin(-t / 143.6340), cos(-t / 99.4324));
vec2 field_part2 = uv_scaled_centered + 50.*vec2(cos( t / 53.1532), cos( t / 61.4532));
vec2 field_part3 = uv_scaled_centered + 50.*vec2(sin(-t / 87.53218), sin(-t / 49.0000));

float field = (1.+ (
cos(length(field_part1) / 19.483) + sin(length(field_part2) / 33.155) * cos(field_part2.y / 15.73) +
cos(length(field_part3) / 27.193) * sin(field_part3.x / 21.92) ))/2.;


vec4 pixel = Texel(texture, vec2(newX, texture_coords.y));
vec4 hsl = HSL(vec4(tex.r, tex.g, tex.b, tex.a));
float t2 = mod2(t/7.);

float cx = uv_scaled_centered.x / 3.0;
float cy = uv_scaled_centered.y / 3.0;
float p = (sin(brimstone.y) + 1.) / 2.;
vec4 base_col = vec4(1.5, .2, .55, 1.) * (1. - p) + vec4(1.5, .0, .0, 1.) * p;
colour = (colour + vec4(-0.25,-0.25,-0.25,0)) * (1.-uv.y);
colour = colour * smoke(brimstone.y, uv, base_col) + base_col * (uv.y);
return dissolve_mask(tex * colour * pixel, texture_coords, uv);
}

extern MY_HIGHP_OR_MEDIUMP vec2 mouse_screen_pos;
extern MY_HIGHP_OR_MEDIUMP float hovering;
extern MY_HIGHP_OR_MEDIUMP float screen_scale;

vec4 position( mat4 transform_projection, vec4 vertex_position )
{
if (hovering <= 0.){
return transform_projection * vertex_position;
}
float mid_dist = length(vertex_position.xy - 0.5*love_ScreenSize.xy)/length(love_ScreenSize.xy);
vec2 mouse_offset = (vertex_position.xy - mouse_screen_pos.xy)/screen_scale;
float scale = 0.2*(-0.03 - 0.3*max(0., 0.3-mid_dist))
*hovering*(length(mouse_offset)*length(mouse_offset))/(2. -mid_dist);

return transform_projection * vertex_position + vec4(0,0,0,scale);
}
Loading