// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Death Event Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------
//-------Aliases-------//
private alias 7 : TYPE_DEATHEVENT
// Static Values
// Tables
event ObjectMain
switch object.state
case 0
case 1
temp0 = screen.xcenter
temp0 -= 72
if object.value1 < temp0
object.value1 += 16
if object.value1 > temp0
object.value1 = temp0
end if
end if
temp0 += 80
if object.value2 > temp0
object.value2 -= 16
if object.value2 < temp0
object.value2 = temp0
end if
end if
if object.value3 < 288
object.value3 += 4
else
if object.state == 0
recStageList = stage.activeList
recStage = stage.listPos
stage.activeList = PRESENTATION_STAGE
if player.continues == 0
stage.listPos = 0
engine.state = 8
CallNativeFunction2(ShowPromoPopup, 0,
"GameOverPromo")
else
stage.listPos = 4
end if
lampPostID = 0
if options.gameMode == 1
arrayPos1 = options.saveSlot
arrayPos1 <<= 3
arrayPos1++
if saveRAM[arrayPos1] < 3
saveRAM[arrayPos1] = 3
end if
arrayPos1++
saveRAM[arrayPos1] = 0
arrayPos1++
saveRAM[arrayPos1] = 0xC350
player.score = 0
WriteSaveRAM()
end if
else
if options.gameMode == 1
arrayPos1 = options.saveSlot
arrayPos1 <<= 3
arrayPos1++
saveRAM[arrayPos1] = player.lives
WriteSaveRAM()
end if
end if
if object.state == 1
recMilliSeconds = 0
recSeconds = 0
recMinutes = 0
end if
LoadStage()
end if
if object.value3 > 0
music.volume -= 2
SetScreenFade(0, 0, 0, object.value3)
else
if inputPress.buttonA == 1
object.value3 = 0
end if
if inputPress.buttonB == 1
object.value3 = 0
end if
if inputPress.buttonC == 1
object.value3 = 0
end if
CheckTouchRect(0, 0, screen.xsize, screen.ysize)
if checkResult > -1
object.value3 = 0
end if
end if
break
case 2
if object.value3 < 288
music.volume -= 2
object.value3 += 4
else
if options.gameMode == 1
arrayPos1 = options.saveSlot
arrayPos1 <<= 3
arrayPos1++
saveRAM[arrayPos1] = player.lives
WriteSaveRAM()
end if
LoadStage()
end if
SetScreenFade(0, 0, 0, object.value3)
break
case 3
if object.value3 < 288
music.volume -= 2
object.value3 += 4
else
timeAttack.result = 0x186A0
player.score = 0
lampPostID = 0
recMilliSeconds = 0
recSeconds = 0
recMinutes = 0
stage.milliSeconds = 0
stage.seconds = 0
stage.minutes = 0
engine.state = 8
end if
SetScreenFade(0, 0, 0, object.value3)
break
end switch
end event
event ObjectDraw
switch object.state
case 0
DrawSpriteScreenXY(0, object.value1, 96)
DrawSpriteScreenXY(2, object.value2, 96)
break
case 1
DrawSpriteScreenXY(1, object.value1, 96)
DrawSpriteScreenXY(2, object.value2, 96)
break
end switch
end event
event ObjectStartup
LoadSpriteSheet("Global/Display.gif")
SpriteFrame(0, 0, 64, 16, 1, 239)
SpriteFrame(0, 0, 56, 16, 66, 239)
SpriteFrame(0, 0, 64, 16, 123, 239)
end event
event RSDKDraw
DrawSprite(0)
end event
event RSDKLoad
LoadSpriteSheet("Global/Display.gif")
SpriteFrame(-16, -16, 32, 32, 1, 143)
end event