Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ python3 BoIMB.py "The Packed Mod" tests PackedMod
- ######################################
- # The Binding of Isaac Afterbith + #
- # Modpack Builder by Matrefeytontias #
- ######################################
- Searching for mods ...
- DataPrint contains 1 Lua file(s) :
- main.lua
- MegaJesus contains 1 Lua file(s) :
- main.lua
- peeping_838891822 contains 2 Lua file(s) :
- main.lua
- main.old.lua
- RedHotChiliPill contains 1 Lua file(s) :
- main.lua
- Registering global variable trigger -> dataPrint_trigger
- local trigger = Isaac.GetItemIdByName("Converter")
- Registering global variable data -> dataPrint_data
- local data = nil
- Starting block :
- function dataPrint:use()
- Registering variable room -> dataPrint_room
- local room = Game():GetRoom()
- Starting block :
- if room:GetType() == RoomType.ROOM_DEVIL or room:GetType() == RoomType.ROOM_ANGEL then
- Registering variable pos -> dataPrint_pos
- local pos = room:GetGridIndex(room:GetCenterPos()) - room:GetGridWidth()
- Registering variable e -> dataPrint_e
- local e = room:GetGridEntity(pos)
- Registering variable c -> dataPrint_c
- local c = room:GetGridCollision(pos)
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Starting block :
- function dataPrint:display()
- Starting block :
- if data ~= nil then
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Variable entry dataPrint:use -> PackedMod:dataPrint_use w/ .:
- Variable entry dataPrint.display -> PackedMod.dataPrint_display w/ .:
- Variable entry dataPrint:display -> PackedMod:dataPrint_display w/ .:
- Variable entry trigger -> dataPrint_trigger w/
- Variable entry data -> dataPrint_data w/
- Variable entry dataPrint.use -> PackedMod.dataPrint_use w/ .:
- Registering global variable statueDeleted -> megaJesusMod_statueDeleted
- local statueDeleted = false
- Registering global variable statueReplaced -> megaJesusMod_statueReplaced
- local statueReplaced = false
- Registering global variable CORRUPTION_RECEPTACLE -> megaJesusMod_CORRUPTION_RECEPTACLE
- CORRUPTION_RECEPTACLE = Isaac.GetItemIdByName("Corruption Receptacle")
- Starting block :
- function megaJesusMod:handleCorruptionReceptacle()
- Registering variable player -> megaJesusMod_player
- local player = Isaac.GetPlayer(0)
- Starting block :
- if player:HasCollectible(megaJesusMod.Items.CORRUPTION_RECEPTACLE) then
- Registering variable p -> megaJesusMod_p
- local p = player:ToNPC()
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Starting block :
- function handleDevilStatueDestroyed(pos)
- Ending block
- Now on block 0
- Starting block :
- function megaJesusMod:checkDevilRoom()
- Registering variable room -> megaJesusMod_room
- local room = Game():GetRoom()
- Starting block :
- if room:GetType() == RoomType.ROOM_DEVIL then
- Registering variable devilIndex -> megaJesusMod_devilIndex
- local devilIndex = room:GetGridIndex(room:GetCenterPos()) - room:GetGridWidth()
- Starting block :
- if not statueDeleted then
- Registering variable devilStatue -> megaJesusMod_devilStatue
- local devilStatue = room:GetGridEntity(devilIndex)
- Starting block :
- if devilStatue ~= nil then
- Starting block :
- if devilStatue.Desc.Type == GridEntityType.GRID_STATUE and devilStatue.Desc.Variant == 0 then
- Ending block
- Now on block 4
- Ending block
- Now on block 3
- Starting block :
- if not statueReplaced then
- Starting block :
- -- Check if the rock is still there ; if it's not, it has been destroyed so we also remove the devil statue
- Starting block :
- if room:GetGridCollision(devilIndex) == GridCollisionClass.COLLISION_NONE then
- Registering variable ents -> megaJesusMod_ents
- local ents = Isaac.GetRoomEntities()
- Starting block :
- for i = 1, #ents do
- Starting block :
- if ents[i].Type == EntityType.ENTITY_EFFECT and ents[i].Variant == EffectVariant.DEVIL then
- Ending block
- Now on block 7
- Ending block
- Now on block 6
- Ending block
- Now on block 5
- Ending block
- Now on block 4
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Variable entry megaJesusMod:checkDevilRoom -> PackedMod:megaJesusMod_checkDevilRoom w/ .:
- Variable entry CORRUPTION_RECEPTACLE -> megaJesusMod_CORRUPTION_RECEPTACLE w/
- Variable entry handleDevilStatueDestroyed -> megaJesusMod_handleDevilStatueDestroyed w/ .:
- Variable entry megaJesusMod.checkDevilRoom -> PackedMod.megaJesusMod_checkDevilRoom w/ .:
- Variable entry statueReplaced -> megaJesusMod_statueReplaced w/
- Variable entry megaJesusMod.handleCorruptionReceptacle -> PackedMod.megaJesusMod_handleCorruptionReceptacle w/ .:
- Variable entry megaJesusMod:handleCorruptionReceptacle -> PackedMod:megaJesusMod_handleCorruptionReceptacle w/ .:
- Variable entry statueDeleted -> megaJesusMod_statueDeleted w/
- Starting block :
- local function fif(c, a, b)
- Starting block :
- if c then
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Starting block :
- local function bounceOffWall(room, pos, dir)
- Registering variable center -> mod_center
- local center = room:GetCenterPos()
- Registering variable topLeft -> mod_topLeft
- local topLeft = room:GetTopLeftPos()
- Registering variable bottomRight -> mod_bottomRight
- local bottomRight = room:GetBottomRightPos()
- Starting block :
- if pos.X < center.X then
- Ending block
- Now on block 1
- Starting block :
- if pos.Y < center.Y then
- Ending block
- Now on block 1
- Starting block :
- if math.abs(pos.X - horizontalRef) < math.abs(pos.Y - verticalRef) then
- Ending block
- Now on block 1
- Registering variable returnVector -> mod_returnVector
- local returnVector = Vector(dir.X, dir.Y)
- Starting block :
- if horizontal == true then
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Registering global variable PEEPING_ID -> mod_PEEPING_ID
- local PEEPING_ID = 500
- Registering global variable PEEPING_VARIANT -> mod_PEEPING_VARIANT
- local PEEPING_VARIANT = 9900
- Registering global variable AI -> mod_AI
- local AI = (function()
- Starting block :
- local AI = (function()
- Starting block :
- clone = function(o)
- Registering variable ret -> mod_ret
- local ret = {}
- Starting block :
- if type(o)=="table" then
- Starting block :
- for k,v in pairs(o) do
- Starting block :
- if type(v) ~= "function" then
- Starting block :
- if type(v) == "table" then
- Registering global variable v -> mod_v
- v = clone(v)
- Ending block
- Now on block 5
- Ending block
- Now on block 4
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Registering global variable defaultAction -> mod_defaultAction
- defaultAction = nil,
- Registering global variable currentAction -> mod_currentAction
- currentAction = nil,
- Registering global variable _initFuncs -> mod__initFuncs
- _initFuncs = {},
- Registering global variable _preUpdateFuncs -> mod__preUpdateFuncs
- _preUpdateFuncs = {},
- Registering global variable _updateFuncs -> mod__updateFuncs
- _updateFuncs = {},
- Registering global variable _postUpdateFuncs -> mod__postUpdateFuncs
- _postUpdateFuncs = {},
- Registering global variable _actions -> mod__actions
- _actions = {},
- Registering global variable _events -> mod__events
- _events = {}
- Starting block :
- function AI.prototype:init(fn)
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:onPreUpdate(fn)
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:onUpdate(fn)
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:onPostUpdate(fn)
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:addAction(action)
- Starting block :
- if action.default then
- Ending block
- Now on block 2
- Starting block :
- if not action.name then
- Ending block
- Now on block 2
- Starting block :
- if action.cooldown ~= nil then
- Ending block
- Now on block 2
- Starting block :
- if action.duration ~= nil then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:setAction(actionName)
- Registering variable action -> mod_action
- local action = self._actions[actionName]
- Starting block :
- if not action then
- Ending block
- Now on block 2
- Starting block :
- if self.currentAction and self.currentAction.leave then
- Ending block
- Now on block 2
- Starting block :
- if action.animationName then
- Ending block
- Now on block 2
- Starting block :
- if action.enter then
- Ending block
- Now on block 2
- Starting block :
- if action.cooldown then
- Ending block
- Now on block 2
- Starting block :
- if action.duration then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:trySetAction(actionName)
- Starting block :
- if not action then
- Ending block
- Now on block 2
- Starting block :
- if action.currentCooldown < 0 and ((not action.condition) or action.condition(self, self.npc, action)) then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:onEvent(evtName, fn)
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:triggerEvent(evtName)
- Ending block
- Now on block 1
- Starting block :
- function AI.prototype:update()
- Registering variable npc -> mod_npc
- local npc = self.npc
- Registering variable sprite -> mod_sprite
- local sprite = npc:GetSprite()
- Registering variable dt -> mod_dt
- local dt = npc.FrameCount - self._frameCount
- Starting block :
- for _,fn in pairs(self._preUpdateFuncs) do
- Ending block
- Now on block 2
- Starting block :
- for _,fn in pairs(self._updateFuncs) do
- Ending block
- Now on block 2
- Starting block :
- for _,action in pairs(self._actions) do
- Starting block :
- if action.cooldown then
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Starting block :
- for evtName,_ in pairs(self._events) do
- Starting block :
- if sprite:IsEventTriggered(evtName) then
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Starting block :
- if self.currentAction then
- Starting block :
- if action.update then
- Ending block
- Now on block 3
- Starting block :
- if action.duration then
- Starting block :
- if action.currentDuration < 0 then
- Starting block :
- if action.leave then
- Ending block
- Now on block 5
- Starting block :
- if ((not self.currentAction) or self.currentAction == action) and self.defaultAction then
- Ending block
- Now on block 5
- Ending block
- Now on block 4
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Starting block :
- for _,fn in pairs(self._postUpdateFuncs) do
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- function AI.new(npc, customAIs)
- Registering variable ai -> mod_ai
- local ai = {}
- Starting block :
- if type(customAIs) ~= table then
- Registering global variable customAIs -> mod_customAIs
- customAIs = {customAIs}
- Ending block
- Now on block 2
- Starting block :
- for _,c in pairs(customAIs) do
- Ending block
- Now on block 2
- Starting block :
- for _,fn in pairs(ai._initFuncs) do
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Registering global variable BloodshotAI -> mod_BloodshotAI
- local BloodshotAI = function(ai)
- Starting block :
- local BloodshotAI = function(ai)
- Starting block :
- ai:init(function(ai, npc)
- Ending block
- Now on block 1
- Starting block :
- ai:onPreUpdate(function(ai, npc)
- Ending block
- Now on block 1
- Registering global variable default -> mod_default
- default = true,
- Registering global variable name -> mod_name
- name = "Idle"
- Registering global variable cooldown -> mod_cooldown
- cooldown = 50,
- Registering global variable condition -> mod_condition
- condition = function(ai, npc, action)
- Starting block :
- condition = function(ai, npc, action)
- Ending block
- Now on block 1
- Registering global variable enter -> mod_enter
- enter = function(ai, npc, action)
- Starting block :
- enter = function(ai, npc, action)
- Registering variable vel -> mod_vel
- local vel = Vector.FromAngle(ai.angle) * action.shotspeed
- Ending block
- Now on block 1
- Starting block :
- ai:onPostUpdate(function(ai, npc)
- Starting block :
- if npc:IsDead() then
- Starting block :
- if not ai.isDead then
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Starting block :
- if ai.parent:IsDead() then
- Ending block
- Now on block 2
- Registering variable a -> mod_a
- local a = (ai.angle + 360 - 113)%360
- Starting block :
- if a < 45 then
- Ending block
- Now on block 2
- Starting block :
- if ai.isParentCharging then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Registering global variable PeepingAI -> mod_PeepingAI
- local PeepingAI = function(ai)
- Starting block :
- local PeepingAI = function(ai)
- Starting block :
- ai:init(function(ai, npc)
- Starting block :
- for i=1, ai.orbitalsNum do
- Registering variable orb -> mod_orb
- local orb = Isaac.Spawn(PEEPING_ID, PEEPING_VARIANT+1, 0, npc.Position, Vector(0, 0), npc)
- Registering variable d -> mod_d
- local d = orb:GetData()
- Starting block :
- d.ai.deathCallback = function()
- Starting block :
- if ai.orbitalsNum <= 0 then
- Ending block
- Now on block 4
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- ai:onPreUpdate(function(ai, npc)
- Registering variable player -> mod_player
- local player = Isaac.GetPlayer(0)
- Ending block
- Now on block 1
- Registering global variable animationName -> mod_animationName
- animationName = "Appear",
- Starting block :
- enter = function(ai, npc, action)
- Ending block
- Now on block 1
- Registering global variable update -> mod_update
- update = function(ai, npc, action)
- Starting block :
- update = function(ai, npc, action)
- Starting block :
- if npc:GetSprite():IsFinished(action.animationName) then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- update = function(ai, npc, action)
- Ending block
- Now on block 1
- Starting block :
- enter = function(ai, npc, action)
- Ending block
- Now on block 1
- Starting block :
- update = function(ai, npc, action)
- Starting block :
- if npc:GetSprite():IsFinished(action.animationName) then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- enter = function(ai, npc, action)
- Ending block
- Now on block 1
- Starting block :
- update = function(ai, npc, action)
- Starting block :
- if npc:GetSprite():IsFinished(action.animationName) then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- enter = function(ai, npc, action)
- Ending block
- Now on block 1
- Starting block :
- update = function(ai, npc, action)
- Starting block :
- if npc:GetSprite():IsFinished(action.animationName) then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Registering global variable duration -> mod_duration
- duration = 70,
- Starting block :
- condition = function(ai, npc, action)
- Ending block
- Now on block 1
- Starting block :
- enter = function(ai, npc, action)
- Ending block
- Now on block 1
- Starting block :
- update = function(ai, npc, action)
- Ending block
- Now on block 1
- Registering global variable leave -> mod_leave
- leave = function(ai, npc, action)
- Starting block :
- leave = function(ai, npc, action)
- Ending block
- Now on block 1
- Starting block :
- ai:onEvent("Shoot", function(ai, npc)
- Registering variable baseVel -> mod_baseVel
- local baseVel = ai.toPlayer:Normalized() * ai.currentAction.shotspeed
- Starting block :
- for i=1, 3 do
- Registering variable tear -> mod_tear
- local tear = Isaac.Spawn(9, 0, 0, npc.Position, vel, npc)
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- ai:onEvent("Brimstone", function(ai, npc)
- Registering variable variant -> mod_variant
- local variant = 1
- Registering variable pos -> mod_pos
- local pos = npc.Position + ai.currentAction.brimstoneEyeOffset
- Registering variable angle -> mod_angle
- local angle = ai.currentAction.targetAngle
- Registering variable brim -> mod_brim
- local brim = EntityLaser.ShootAngle(1, pos, angle, duration, Vector(0,0), npc)
- Starting block :
- if angle > 60 and angle < 120 then
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Starting block :
- ai:onEvent("Explosion", function(ai, npc)
- Ending block
- Now on block 1
- Starting block :
- ai:onPostUpdate(function(ai, npc)
- Starting block :
- if ai.currentAction.name ~= "Charge attack" then
- Starting block :
- if npc:CollidesWithGrid() == true then
- Registering variable room -> mod_room
- local room = Game():GetLevel():GetCurrentRoom()
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Starting block :
- for i,tear in pairs(ai.projectiles) do
- Starting block :
- if tear:IsDead() then
- Ending block
- Now on block 3
- Ending block
- Now on block 2
- Starting block :
- for i,orbitalAI in pairs(ai.orbitalAIs) do
- Ending block
- Now on block 2
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Starting block :
- function onPeepingUpdate(_, npc)
- Starting block :
- if npc.Variant ~= PEEPING_VARIANT then
- Ending block
- Now on block 1
- Registering variable data -> mod_data
- local data = npc:GetData()
- Starting block :
- if data.ai == nil then
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Variable entry AI.prototype.triggerEvent -> mod_AI.prototype.triggerEvent w/ .:
- Variable entry _initFuncs -> mod__initFuncs w/
- Variable entry leave -> mod_leave w/
- Variable entry update -> mod_update w/
- Variable entry AI.prototype:onPostUpdate -> mod_AI.prototype:onPostUpdate w/ .:
- Variable entry defaultAction -> mod_defaultAction w/
- Variable entry AI.prototype:trySetAction -> mod_AI.prototype:trySetAction w/ .:
- Variable entry AI.prototype.update -> mod_AI.prototype.update w/ .:
- Variable entry _actions -> mod__actions w/
- Variable entry cooldown -> mod_cooldown w/
- Variable entry AI.prototype.onPostUpdate -> mod_AI.prototype.onPostUpdate w/ .:
- Variable entry PeepingAI -> mod_PeepingAI w/
- Variable entry AI.prototype.init -> mod_AI.prototype.init w/ .:
- Variable entry AI -> mod_AI w/
- Variable entry customAIs -> mod_customAIs w/
- Variable entry PEEPING_VARIANT -> mod_PEEPING_VARIANT w/
- Variable entry animationName -> mod_animationName w/
- Variable entry AI.prototype.onEvent -> mod_AI.prototype.onEvent w/ .:
- Variable entry AI.prototype.onUpdate -> mod_AI.prototype.onUpdate w/ .:
- Variable entry AI.prototype.onPreUpdate -> mod_AI.prototype.onPreUpdate w/ .:
- Variable entry AI.prototype:update -> mod_AI.prototype:update w/ .:
- Variable entry _events -> mod__events w/
- Variable entry AI.prototype:init -> mod_AI.prototype:init w/ .:
- Variable entry enter -> mod_enter w/
- Variable entry condition -> mod_condition w/
- Variable entry AI.prototype:onUpdate -> mod_AI.prototype:onUpdate w/ .:
- Variable entry fif -> mod_fif w/ .:
- Variable entry BloodshotAI -> mod_BloodshotAI w/
- Variable entry AI.prototype.addAction -> mod_AI.prototype.addAction w/ .:
- Variable entry AI.prototype:addAction -> mod_AI.prototype:addAction w/ .:
- Variable entry duration -> mod_duration w/
- Variable entry currentAction -> mod_currentAction w/
- Variable entry AI.prototype:triggerEvent -> mod_AI.prototype:triggerEvent w/ .:
- Variable entry AI.prototype:onEvent -> mod_AI.prototype:onEvent w/ .:
- Variable entry AI.prototype:setAction -> mod_AI.prototype:setAction w/ .:
- Variable entry AI.prototype.trySetAction -> mod_AI.prototype.trySetAction w/ .:
- Variable entry AI.new -> mod_AI.new w/ .:
- Variable entry _postUpdateFuncs -> mod__postUpdateFuncs w/
- Variable entry _preUpdateFuncs -> mod__preUpdateFuncs w/
- Variable entry default -> mod_default w/
- Variable entry v -> mod_v w/
- Variable entry name -> mod_name w/
- Variable entry bounceOffWall -> mod_bounceOffWall w/ .:
- Variable entry PEEPING_ID -> mod_PEEPING_ID w/
- Variable entry _updateFuncs -> mod__updateFuncs w/
- Variable entry AI.prototype:onPreUpdate -> mod_AI.prototype:onPreUpdate w/ .:
- Variable entry AI.prototype.setAction -> mod_AI.prototype.setAction w/ .:
- Variable entry onPeepingUpdate -> mod_onPeepingUpdate w/ .:
- Registering global variable chiliPillId -> chiliPill_chiliPillId
- local chiliPillId = Isaac.GetPillEffectByName("Red Hot Chili")
- Starting block :
- function chiliPill:use(effect)
- Registering variable player -> chiliPill_player
- local player = Isaac.GetPlayer(0)
- Registering variable dir -> chiliPill_dir
- local dir = player:GetHeadDirection()
- Registering variable vel -> chiliPill_vel
- local vel = player:GetVelocityBeforeUpdate()
- Registering variable additionalVel -> chiliPill_additionalVel
- local additionalVel = Vector(0.0, 0.0)
- Starting block :
- for i = 0, ((Random() % 3) + 2) do
- Ending block
- Now on block 1
- Ending block
- Now on block 0
- Variable entry chiliPillId -> chiliPill_chiliPillId w/
- Variable entry chiliPill:use -> PackedMod:chiliPill_use w/ .:
- Variable entry chiliPill.use -> PackedMod.chiliPill_use w/ .:
- $
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement