Skulls no longer pause in mid fall when you leave a storm but instead reset. No more surprise splats.

This commit is contained in:
Storm Dragon
2025-03-05 21:34:54 -05:00
parent 61927dc713
commit 2887023753

View File

@@ -30,7 +30,7 @@ class SkullStorm(Object):
"""Update all active skulls and potentially spawn new ones.""" """Update all active skulls and potentially spawn new ones."""
if not self.isActive: if not self.isActive:
return return
# Check if player has entered range # Check if player has entered range
inRange = self.xRange[0] <= player.xPos <= self.xRange[1] inRange = self.xRange[0] <= player.xPos <= self.xRange[1]
if inRange and not self.playerInRange: if inRange and not self.playerInRange:
@@ -41,10 +41,16 @@ class SkullStorm(Object):
# Player just left range # Player just left range
self.playerInRange = False self.playerInRange = False
speak("Skull storm ended.") speak("Skull storm ended.")
# Clear any active skulls when player leaves the range
for skull in self.activeSkulls[:]:
if skull['channel']:
obj_stop(skull['channel'])
self.activeSkulls = [] # Reset the list of active skulls
if not inRange: if not inRange:
return return
# Update existing skulls # Update existing skulls
for skull in self.activeSkulls[:]: # Copy list to allow removal for skull in self.activeSkulls[:]: # Copy list to allow removal
if currentTime >= skull['land_time']: if currentTime >= skull['land_time']: