Thing type 500, Air Bubble Patch , is a type of Thing that randomly generates air bubbles which players can use to breathe underwater when standing on top of them. The air bubbles generated range in size from small to large, though only the large bubbles can be used as a source of air. If this Thing is placed out of water, it immediately disappears.
This Thing is essential in maps that require players to go underwater for longer than approximately 20 seconds, but even in underwater sections that the player can go through without needing air, it is often a good idea to add air bubbles for less experienced players. The amount of air bubbles in an underwater section and the distance between them heavily influences the difficulty of the section. Mappers should take care that air bubble patches are easy to spot and are not heavily guarded by enemies, to make sure that players can easily refresh their air supply.
To save memory, bubbles are not spawned if there is no player nearby (within 2048 fracunits). This behavior can be disabled by giving the Air Bubble Patch the Ambush flag.
Object type info – MT_BUBBLES
Thing type number
500
BUBLA0
Object type
MT_BUBBLES
Sprite name prefix
BUBL
SpawnState
S_BUBBLES1
SeeState
S_NULL
SeeSound
sfx_None
AttackSound
sfx_None
PainState
S_NULL
PainSound
sfx_None
MeleeState
S_NULL
MissileState
S_NULL
DeathState
S_NULL
XDeathState
S_NULL
DeathSound
sfx_None
ActiveSound
sfx_None
RaiseState
S_NULL
SpawnHealth
1000
ReactionTime
8
PainChance
0
Speed
0
Radius
8*FRACUNIT
Height
8*FRACUNIT
Display offset
0
Mass
100
Damage
0
Flags
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC
States – MT_BUBBLES
State
Sprite prefix
Frame
Duration (tics)
Action
Var 1
Var 2
Next state
Full brightness?
Translucency
S_BUBBLES1
BUBL
A
8
A_BubbleSpawn
2048
0
S_BUBBLES2
No
0%
S_BUBBLES2
BUBL
B
8
A_BubbleCheck
0
0
S_BUBBLES1
No
0%
Object type info – MT_SMALLBUBBLE
Thing type number
none
File:BUBPA0.png BUBPA0
Object type
MT_SMALLBUBBLE
Sprite name prefix
BUBP
SpawnState
S_SMALLBUBBLE
SeeState
S_NULL
SeeSound
sfx_None
AttackSound
sfx_None
PainState
S_NULL
PainSound
sfx_None
MeleeState
S_NULL
MissileState
S_NULL
DeathState
S_NULL
XDeathState
S_NULL
DeathSound
sfx_None
ActiveSound
sfx_None
RaiseState
S_NULL
SpawnHealth
1000
ReactionTime
8
PainChance
0
Speed
8
Radius
4*FRACUNIT
Height
4*FRACUNIT
Display offset
0
Mass
16
Damage
0
Flags
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY
States – MT_SMALLBUBBLE
State
Sprite prefix
Frame
Duration (tics)
Action
Var 1
Var 2
Next state
Full brightness?
Translucency
S_SMALLBUBBLE
BUBP
A
1
A_BubbleRise
0
1024
S_SMALLBUBBLE1
No
50%
S_SMALLBUBBLE1
BUBP
A
1
A_BubbleRise
0
1024
S_SMALLBUBBLE
No
50%
Object type info – MT_MEDIUMBUBBLE
Thing type number
none
File:BUBOA0.png BUBOA0
Object type
MT_MEDIUMBUBBLE
Sprite name prefix
BUBO
SpawnState
S_MEDIUMBUBBLE
SeeState
S_NULL
SeeSound
sfx_None
AttackSound
sfx_None
PainState
S_NULL
PainSound
sfx_None
MeleeState
S_NULL
MissileState
S_NULL
DeathState
S_NULL
XDeathState
S_NULL
DeathSound
sfx_None
ActiveSound
sfx_None
RaiseState
S_NULL
SpawnHealth
1000
ReactionTime
8
PainChance
0
Speed
8
Radius
8*FRACUNIT
Height
8*FRACUNIT
Display offset
0
Mass
16
Damage
0
Flags
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY
States – MT_MEDIUMBUBBLE
State
Sprite prefix
Frame
Duration (tics)
Action
Var 1
Var 2
Next state
Full brightness?
Translucency
S_MEDIUMBUBBLE
BUBO
A
1
A_BubbleRise
0
1024
S_MEDIUMBUBBLE1
No
50%
S_MEDIUMBUBBLE1
BUBO
A
1
A_BubbleRise
0
1024
S_MEDIUMBUBBLE
No
50%
Object type info – MT_EXTRALARGEBUBBLE
Thing type number
none
File:BUBNA0.png BUBNA0
Object type
MT_EXTRALARGEBUBBLE
Sprite name prefix
BUBN
SpawnState
S_LARGEBUBBLE
SeeState
S_NULL
SeeSound
sfx_None
AttackSound
sfx_None
PainState
S_NULL
PainSound
sfx_None
MeleeState
S_NULL
MissileState
S_NULL
DeathState
S_POP1
XDeathState
S_NULL
DeathSound
sfx_gasp
ActiveSound
sfx_None
RaiseState
S_NULL
SpawnHealth
1000
ReactionTime
8
PainChance
0
Speed
8
Radius
8*FRACUNIT
Height
12*FRACUNIT
Display offset
0
Mass
16
Damage
0
Flags
MF_SPECIAL|MF_NOGRAVITY|MF_SCENERY
States – MT_EXTRALARGEBUBBLE
State
Sprite prefix
Frame
Duration (tics)
Action
Var 1
Var 2
Next state
Full brightness?
Translucency
S_LARGEBUBBLE
BUBN
A
16
A_BubbleRise
0
1024
S_EXTRALARGEBUBBLE
Yes
50%
S_EXTRALARGEBUBBLE
BUBM
A
16
A_BubbleRise
0
1024
S_EXTRALARGEBUBBLE
Yes
50%
S_POP1
POPP
A
16
none
0
0
S_NULL
No
0%