Thing type 1202, Rock Spawner, is a type of Thing that, when used in conjunction with linedef type 12, spawns rocks which will fall downwards and pose as an obstacle for the player, causing non-elemental damage upon being touched. It fits any map theme that would reasonably contain rocks.
The Angle of this Thing should be the same as the tag of the control linedef. The direction of the control linedef determines the direction in which the rocks are spawned. The length of the linedef determines the speed of the rocks (16 fracunits of the linedef length equal 1 fracunit per tic of speed), and the front texture X offset determines the time in tics it takes to spawn a rock. The front texture Y offset determines the sprite used for the rocks, as shown in the table below.
Y offset
|
Sprite prefix
|
Rock sprite
|
Description
|
0
|
ROIA
|
|
Brown rock
|
1
|
ROIB
|
|
Brownish-gray rock
|
2
|
ROIC
|
|
Gray rock
|
3
|
ROID
|
|
Bluish-gray rock
|
4
|
ROIE
|
|
Brownish-gray rock with orange spots
|
5
|
ROIF
|
|
Red rock
|
6–15
|
ROIG –ROIP
|
(None)
|
Blank slots
|
Checking Flag [6] / Not Climbable will add a random number between 0 and 8 to the speed of the rocks, in fracunits per tic.
Object type info – MT_ROCKSPAWNER
|
|
Thing type number
|
1202
|
|
Object type
|
MT_ROCKSPAWNER
|
|
Sprite name prefix
|
NULL
|
|
SpawnState
|
S_ROCKSPAWN
|
|
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
|
0
|
|
PainChance
|
255
|
|
Speed
|
0
|
|
Radius
|
8*FRACUNIT
|
|
Height
|
16*FRACUNIT
|
|
Display offset
|
0
|
|
Mass
|
1000
|
|
Damage
|
0
|
|
Flags
|
MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOGRAVITY
|
|
States – MT_ROCKSPAWNER
|
State
|
Sprite prefix
|
Frame
|
Duration (tics)
|
Action
|
Var 1
|
Var 2
|
Next state
|
Full brightness?
|
Translucency
|
S_ROCKSPAWN
|
NULL
|
A
|
1
|
A_RockSpawn
|
0
|
0
|
S_ROCKSPAWN
|
No
|
0%
|
Object type info – MT_FALLINGROCK
|
|
Thing type number
|
none
|
ROIAA0
|
|
Object type
|
MT_FALLINGROCK
|
|
Sprite name prefix
|
ROIA
|
|
SpawnState
|
S_ROCKCRUMBLEA
|
|
SeeState
|
S_NULL
|
|
SeeSound
|
sfx_ambint
|
|
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_rocks1
|
|
RaiseState
|
S_NULL
|
|
SpawnHealth
|
1000
|
|
ReactionTime
|
0
|
|
PainChance
|
255
|
|
Speed
|
0
|
|
Radius
|
8*FRACUNIT
|
|
Height
|
16*FRACUNIT
|
|
Display offset
|
0
|
|
Mass
|
4
|
|
Damage
|
0
|
|
Flags
|
MF_PAIN|MF_BOUNCE
|
|
States – MT_FALLINGROCK
|
State
|
Sprite prefix
|
Frame
|
Duration (tics)
|
Action
|
Var 1
|
Var 2
|
Next state
|
Full brightness?
|
Translucency
|
Animated?
|
S_ROCKCRUMBLEA
|
ROIA
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEA
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEB
|
ROIB
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEB
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEC
|
ROIC
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEC
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLED
|
ROID
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLED
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEE
|
ROIE
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEE
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEF
|
ROIF
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEF
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEG
|
ROIG
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEG
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEH
|
ROIH
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEH
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEI
|
ROII
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEI
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEJ
|
ROIJ
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEJ
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEK
|
ROIK
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEK
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEL
|
ROIL
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEL
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEM
|
ROIM
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEM
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEN
|
ROIN
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEN
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEO
|
ROIO
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEO
|
No
|
0%
|
Yes
|
S_ROCKCRUMBLEP
|
ROIP
|
A
|
-1
|
none
|
4
|
2
|
S_ROCKCRUMBLEP
|
No
|
0%
|
Yes
|