Path: blob/master/Sonic 1/Scripts/GHZ/WreckingBall.txt
1483 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Wrecking Ball Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer1213// States14private alias 0 : WRECKINGBALL_INACTIVE15private alias 1 : WRECKINGBALL_ACTIVE16private alias 2 : WRECKINGBALL_EXPLODE171819// ========================20// Events21// ========================2223event ObjectUpdate24if object.state == WRECKINGBALL_EXPLODE25object.rotation *= 24826object.rotation >>= 827object.timer++28temp0 = object.timer29temp0 &= 730if temp0 == 431Rand(temp0, 32)32temp0 -= 1633temp0 <<= 1634temp0 += object.xpos35Rand(temp1, 32)36temp1 -= 1637temp1 <<= 1638temp1 += object.ypos39CreateTempObject(TypeName[Explosion], 0, temp0, temp1)40end if4142if object.timer == 18043object.type = TypeName[Blank Object]44end if45end if4647foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)48if object.state == WRECKINGBALL_ACTIVE49BoxCollisionTest(C_TOUCH, object.entityPos, -22, -22, 22, 22, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)50if checkResult == true51CallFunction(Player_Hit)52end if53end if54next55end event565758event ObjectDraw59// Draw Wrecking ball60temp0 = object.rotation61temp0 += 862temp0 >>= 463temp0 &= 764temp0++65DrawSprite(temp0)6667// Draw Shine Overlay68object.inkEffect = INK_ADD69object.alpha = 16070DrawSpriteFX(0, FX_INK, object.xpos, object.ypos)71end event727374event ObjectStartup75LoadSpriteSheet("GHZ/Objects2.gif")7677SpriteFrame(-24, -24, 48, 48, 1, 77) // Shine Overlay - #078SpriteFrame(-24, -24, 48, 48, 50, 77) // Wrecking Ball - #179SpriteFrame(-24, -24, 48, 48, 148, 126) // Wrecking Ball - #280SpriteFrame(-24, -24, 48, 48, 99, 126) // Wrecking Ball - #381SpriteFrame(-24, -24, 48, 48, 50, 126) // Wrecking Ball - #482SpriteFrame(-24, -24, 48, 48, 1, 126) // Wrecking Ball - #583SpriteFrame(-24, -24, 48, 48, 197, 77) // Wrecking Ball - #684SpriteFrame(-24, -24, 48, 48, 148, 77) // Wrecking Ball - #785SpriteFrame(-24, -24, 48, 48, 99, 77) // Wrecking Ball - #886end event878889// ========================90// Editor Events91// ========================9293event RSDKDraw94DrawSprite(1)9596// Draw Shine Overlay97object.inkEffect = INK_ADD98object.alpha = 16099DrawSpriteFX(0, FX_INK, object.xpos, object.ypos)100end event101102103event RSDKLoad104LoadSpriteSheet("GHZ/Objects2.gif")105SpriteFrame(-24, -24, 48, 48, 1, 77) // Shine Overlay106SpriteFrame(-24, -24, 48, 48, 50, 77) // Wrecking Ball107108SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")109end event110111112