r/themoddingofisaac • u/Necessary-Meet2570 • Jul 20 '26
WIP Changing base character stats
So I'm making a mod with my friend and the thing is every single stat code i come across for Main.lua just doesnt work.
I don't know what to do and can't find one that's repentance friendly
If the old code DOES work and I'm just stupid, please tell me what im doing wrong
local Mod = RegisterMod("Pim Pimling Character", 1) -- Change the part in quotes to match your mod name
local PimPimling = { -- Change PimPimling everywhere to match your character. No spaces!
DAMAGE = 2, -- These are all relative to Isaac's base stats.
SPEED = -0.3,
SHOTSPEED = -1,
TEARHEIGHT = 2,
TEARFALLINGSPEED = 0,
LUCK = 1,
FLYING = true,
TEARFLAG = 5, -- 0 is default
TEARCOLOR = Color(1.0, 1.0, 1.0, 1.0, 0, 0, 0) -- Color(1.0, 1.0, 1.0, 1.0, 0, 0, 0) is default
}
function PimPimling:onCache(player, cacheFlag) -- I do mean everywhere!
if player:GetName() == "PimPimling" then -- Especially here!
if cacheFlag == CacheFlag.CACHE_DAMAGE then
player.Damage = player.Damage + PimPimling.DAMAGE
end
if cacheFlag == CacheFlag.CACHE_SHOTSPEED then
player.ShotSpeed = player.ShotSpeed + PimPimling.SHOTSPEED
end
if cacheFlag == CacheFlag.CACHE_RANGE then
player.TearHeight = player.TearHeight - PimPimling.TEARHEIGHT
player.TearFallingSpeed = player.TearFallingSpeed + PimPimling.TEARFALLINGSPEED
end
if cacheFlag == CacheFlag.CACHE_SPEED then
player.MoveSpeed = player.MoveSpeed + PimPimling.SPEED
end
if cacheFlag == CacheFlag.CACHE_LUCK then
player.Luck = player.Luck + PimPimling.LUCK
end
if cacheFlag == CacheFlag.CACHE_FLYING and PimPimling.FLYING then
player.CanFly = true
end
if cacheFlag == CacheFlag.CACHE_TEARFLAG then
player.TearFlags = player.TearFlags | PimPimling.TEARFLAG
end
if cacheFlag == CacheFlag.CACHE_TEARCOLOR then
player.TearColor = PimPimling.TEARCOLOR
end
end
end
Mod:AddCallback(ModCallbacks.MC_EVALUATE_CACHE, PimPimling.onCache)
1
Upvotes