Josh64

Unique Portals?

Jan 22nd, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. local Portals = RegisterMod("uniqueportals", 1)
  2. local game = Game()
  3.  
  4. local Mod = {}
  5.  
  6. function Mod:onPortalSpawn(entity)
  7.  
  8.  
  9.  
  10.     local level = game:GetLevel()
  11.  
  12.     local room = game:GetRoom()
  13.  
  14.     local backdrop = room:GetBackdropType()
  15.  
  16.     local sprite = entity:GetSprite()
  17.  
  18.     local data = entity:GetData()
  19.  
  20.  
  21.         -- check if the enemy already has the different sprite
  22.  
  23.         if data.Changed == nil then
  24.  
  25.             data.Changed = true
  26.  
  27.  
  28.  
  29.             -- check the current backdrop
  30.  
  31.             if backdrop == 1 then -- Basement
  32.  
  33.                 -- replace the sprite/spritesheet
  34.  
  35.                 sprite:ReplaceSpritesheet(0, "gfx/monsters/custom/monster_portal_basement.png")
  36.  
  37.                 sprite:LoadGraphics()
  38.  
  39.  
  40.  
  41.             elseif backdrop == 2 then -- Cellar
  42.  
  43.                 -- replace the sprite/spritesheet
  44.  
  45.                 sprite:ReplaceSpritesheet(0, "gfx/monsters/custom/monster_portal_cellar.png")
  46.  
  47.                 sprite:LoadGraphics()
  48.  
  49.  
  50.  
  51.             elseif backdrop == 3 then -- Burning Basement
  52.  
  53.                 -- replace the sprite/spritesheet
  54.  
  55.                 sprite:ReplaceSpritesheet(0, "gfx/monsters/custom/monster_portal_burning.png")
  56.  
  57.                 sprite:LoadGraphics()
  58.  
  59. -- and so on...
  60.  
  61.           end
  62.     end
  63. end
  64.  
  65. Portals:AddCallback(ModCallbacks.MC_POST_NPC_INIT, Mod.onPortalSpawn, EntityType.ENTITY_PORTAL)
Advertisement
Add Comment
Please, Sign In to add comment