Skip to content

Class "EntitySlot"⚓︎

It's Real.

Class Diagram⚓︎

    classDiagram
    class Entity:::diagramCurrentPage
    class EntityBomb
    class EntityEffect
    class EntityFamiliar
    class EntityKnife
    class EntityLaser
    class EntityNPC
    class EntityPickup
    class EntityPlayer
    class EntityProjectile
    class EntitySlot
    class EntityTear
    Entity <|-- EntityBomb
    Entity <|-- EntityEffect
    Entity <|-- EntityFamiliar
    Entity <|-- EntityKnife
    Entity <|-- EntityLaser
    Entity <|-- EntityNPC
    Entity <|-- EntityPickup
    Entity <|-- EntityPlayer
    Entity <|-- EntityProjectile
    Entity <|-- EntitySlot
    Entity <|-- EntityTear
    link Entity "https://wofsauge.github.io/IsaacDocs/rep/Entity.html" "Go to page for 'Entity' class"
    link EntityBomb "https://wofsauge.github.io/IsaacDocs/rep/EntityBomb.html" "Go to page for 'EntityBomb' class"
    link EntityEffect "https://wofsauge.github.io/IsaacDocs/rep/EntityEffect.html" "Go to page for 'EntityEffect' class"
    link EntityFamiliar "https://wofsauge.github.io/IsaacDocs/rep/EntityFamiliar.html" "Go to page for 'EntityFamiliar' class"
    link EntityKnife "https://wofsauge.github.io/IsaacDocs/rep/EntityKnife.html" "Go to page for 'EntityKnife' class"
    link EntityLaser "EntityLaser.html" "Go to page for 'EntityLaser' class"
    link EntityNPC "EntityNPC.html" "Go to page for 'EntityNPC' class"
    link EntityPickup "EntityPickup.html" "Go to page for 'EntityPickup' class"
    link EntityPlayer "EntityPlayer.html" "Go to page for 'EntityPlayer' class"
    link EntityProjectile "https://wofsauge.github.io/IsaacDocs/rep/EntityProjectile.html" "Go to page for 'EntityProjectile' class"
    link EntitySlot "EntitySlot.html" "Go to page for 'EntitySlot' class"
    link EntityTear "https://wofsauge.github.io/IsaacDocs/rep/EntityTear.html" "Go to page for 'EntityTear' class"

Functions⚓︎

CreateDropsFromExplosion ()⚓︎

void CreateDropsFromExplosion ( )⚓︎

This forces the EntitySlot to drop what it typically would if blown up.


GetDonationValue ()⚓︎

int GetDonationValue ( )⚓︎

Returns how many coins have been given to a beggar. The number returned varies based on the beggar.

Return info
  • Beggar: How many coins have been donated.
  • Demon Beggar: How many hearts have been donated.
  • Battery Bum, Rotten Beggar: Increases with each payment by random amounts, up to 3, and resets back to 0 upon reward or payout.
  • All other slots: Remains at 0.

GetPrizeType ()⚓︎

int GetPrizeType ( )⚓︎

Returns an integer that varies based on the slot machine.

Return info
  • Slot Machine: Returns a number between 3-24. 3-12 cause the machine to spit out a reward
    • 3: Fly or pretty fly.
    • 4: Bomb.
    • 5-6: Heart.
    • 7: Key.
    • 8: Pill.
    • 9: Unknown. This never appears to be used.
    • 10-12: 1-2 coins.
    • 13-24: Nothing.
  • Shell Game & Hell Game: Returns the PickupVariant of the potential prize.
  • Bomb Bum: Returns a number 1-3 based on the type of prize it had output.
    • 1: Coins.
    • 2: Heart.
    • 3: Collectible.

GetState ()⚓︎

int GetState ( )⚓︎

Returns the current state of the slot.

Return info

All slots have a consistent state based on what it's doing that reflect as follows:

  • 1: Idle.
  • 2: Reward (Shell Game & Hell Game: Idle Reward)
  • 3: Bombed
  • 4: Payout
  • 5: Reward (only for Shell Game & Hell Game)

GetTimeout ()⚓︎

int GetTimeout ( )⚓︎

Returns the timeout in frames until the slot determines its prize. Not used by all slots.

Return info
  • All beggars except Bomb Beggar: Increases randomly with each payment, returning either 1 << 16, 1 << 17, or the sum of them, resetting to 0 upon giving a reward.
  • Crane Game: For the first successful payout, minimum timeout is 1 << 16, still increasing by 30 and counting down. Second payout is 1 << 17. Third payout is 1 << 16 + 1 << 17.
  • All other slots: Remains at 0.

GetTouch ()⚓︎

int GetTouch ( )⚓︎

Returns the slot's touch counter. The touch counter goes up by one every frame a player is touching the slot and is reset once no player is touching it.


RandomCoinJamAnim ()⚓︎

string RandomCoinJamAnim ( )⚓︎

Returns a random string from the following options: CoinJam, CoinJam2, CoinJam3, CoinJam4. Presumably only used on the donation machines.


SetDonationValue ()⚓︎

void SetDonationValue ( int DonationValue )⚓︎

Sets the slot's donation value. See GetDonationValue for more info.


SetPrizeCollectible ()⚓︎

void SetPrizeCollectible ( CollectibleType Collectible )⚓︎

Seems to only be used by Crane Game and Hell Game. This sets the collectible that the games will pay out with, and updates the rendered collectible accordingly.


SetPrizeType ()⚓︎

void SetPrizeType ( int PrizeType )⚓︎

Sets the prize type of the slot. See GetPrizeType for more info.


SetState ()⚓︎

void SetState ( int State )⚓︎

Sets the state of the slot. See GetState for more info.


SetTimeout ()⚓︎

void SetTimeout ( int Timeout )⚓︎

Sets the timeout of the slot. See GetTimeout for more info.


SetTouch ()⚓︎

void SetTouch ( int Touch )⚓︎

Sets the slot's touch counter. The touch counter goes up by one every frame a player is touching the slot and is reset to zero once no player is touching it.