Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Mod = RegisterMod("Challenge Only Trinkets", 1)
- local game = Game()
- local GameState = {}
- local json = require("json")
- local Challenges = {
- CHALLENGE_ONLY_TRINKETS = Isaac.GetChallengeIdByName("Trinkets Only!")
- function Mod:onStart()
- GameState = json.decode(Mod:LoadData()) -- decodes the data from the savefile (returns a lua table)
- if GameState.HeartKill == nil then GameState.HeartKill = 0 end
- end
- Mod:AddCallback(ModCallbacks.MC_POST_PLAYER_INIT, Mod.onStart)
- function Mod:onHeartKill(entity)
- -- Isaac.ConsoleOutput("Heart?")
- local data = entity:GetData()
- if entity:IsDead() -- is it dead?
- and not data.Died then -- did it already die?
- data.Died = true -- well now it is dead
- if game.Challenge == Challenges.CHALLENGE_ONLY_TRINKETS then
- Isaac.ConsoleOutput("Diiiiie!!")
- -- increase the kill counter
- GameState.HeartKill = GameState.HeartKill + 1
- -- reevaluate the custom achievements
- reevaluateCustomAchievements = true
- end
- end
- end
- Mod:AddCallback(ModCallbacks.MC_NPC_UPDATE, Mod.onHeartKill, EntityType.ENTITY_MOMS_HEART)
- function Mod:onExit(save)
- Mod:SaveData(json.encode(GameState)) -- encodes the data
- end
- Mod:AddCallback(ModCallbacks.MC_PRE_GAME_EXIT, Mod.onExit)
- Mod:AddCallback(ModCallbacks.MC_POST_GAME_END, Mod.onExit)
Advertisement
Add Comment
Please, Sign In to add comment