Goldenhog
Wandering Protagonist
Here is my custom enemy SOC. It works as it should - Once you pop into this guy's line of vision, he slowly spawns four SOCced spikeballs that rotate around it and it starts pursuing you until he loses track of you or you go underwater.# Custom Enemy - Cold Sol
Thing 319
MAPTHINGNUM = 123
SPAWNSTATE = 1818
SPAWNHEALTH = 1
SEESTATE = 1820
SEESOUND = 0
REACTIONTIME = 8
ATTACKSOUND = 0
PAINSTATE = 0
PAINCHANCE = 0
PAINSOUND = 0
MELEESTATE = 0
MISSILESTATE = 0
DEATHSTATE = 1641
DEATHSOUND = 119
XDEATHSTATE = 0
SPEED = 393216
RADIUS = 1048576
HEIGHT = 3145728
MASS = 100
DAMAGE = 0
ACTIVESOUND = 0
RAISESTATE = 0
FLAGS = 16779781
# Spawn State - Look for player
FRAME 1818
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 1
NEXT = 1819
ACTION A_Look
FRAME 1819
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 1
NEXT = 1818
ACTION A_Look
# See State - Start Buzz thinker
FRAME 1820
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 1
NEXT = 1821
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = 2097170
FRAME 1821
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 34
NEXT = 1822
ACTION A_PlaySound
VAR1 = 208
VAR2 = 1
FRAME 1822
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 1
NEXT = 1823
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = 2097170
FRAME 1823
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 34
NEXT = 1824
ACTION A_PlaySound
VAR1 = 208
VAR2 = 1
FRAME 1824
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 1
NEXT = 1825
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = 2097170
FRAME 1825
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 34
NEXT = 1826
ACTION A_PlaySound
VAR1 = 208
VAR2 = 1
FRAME 1826
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 1
NEXT = 1827
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = 2097170
FRAME 1827
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 34
NEXT = 1828
ACTION A_PlaySound
VAR1 = 208
VAR2 = 1
FRAME 1828
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 1
NEXT = 1829
ACTION A_BuzzFly
VAR1 = 0
VAR2 = 0
FRAME 1829
SPRITENUMBER = 244
SPRITESUBNUMBER = 1
DURATION = 1
NEXT = 1828
ACTION A_BuzzFly
VAR1 = 0
VAR2 = 0
However, when the player steps out of its line of vision, it returns to SpawnState, which is OK, but that means that when the player is seen again, my custom enemy spawns four more spikeballs instead of just cutting straight to the chase with the 4 it had already spawned.
So, my question is: Is there any way to make it not spawn spikeballs when it sees the player if it has already done so?
(Also, how do I make it so that it can damage the player on contact but the player can't spin into it and destroy it?)
Last edited: