Path: blob/master/Sonic 2/Scripts/Global/DustPuff.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Dust Puff Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.propertyValue : object.targetPlayer1213// Player Aliases14private alias object.xpos : player.xpos15private alias object.ypos : player.ypos16private alias object.direction : player.direction17private alias object.animation : player.animation18private alias object.collisionBottom : player.collisionBottom192021// ========================22// Events23// ========================2425event ObjectUpdate26// Update object movement27object.xpos += object.xvel28object.ypos += object.yvel2930switch object.frame31case 032case 133case 234object.animationTimer++35if object.animationTimer > 336object.frame++37object.animationTimer = 038end if39break4041case 342object.animationTimer++43if object.animationTimer > 344object.type = TypeName[Blank Object]45end if46break4748case 449case 550case 651case 752case 853case 954object.animationTimer++55if object.animationTimer > 156object.frame++57object.animationTimer = 058end if59break6061case 1062object.animationTimer++63if object.animationTimer > 164object.frame = 465object.animationTimer = 066end if67break6869end switch7071end event727374event ObjectDraw75if object.frame > 376// Spindash dust variant7778// Seek into this object's targeted player79currentPlayer = object.targetPlayer8081// Make the values match82object.direction = player[currentPlayer].direction83object.xpos = player[currentPlayer].xpos84object.iypos = player[currentPlayer].collisionBottom85object.ypos += player[currentPlayer].ypos8687// Erase this object if the player isn't spindashing88if player[currentPlayer].animation != ANI_SPINDASH89object.type = TypeName[Blank Object]90else91DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)92end if93else9495// Dust Puff variant (from skidding and etc.)96DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)9798end if99end event100101102event ObjectStartup103104LoadSpriteSheet("Global/Items.gif")105106// Dust frames107SpriteFrame(-7, -11, 13, 14, 85, 143)108SpriteFrame(-7, -11, 13, 14, 99, 143)109SpriteFrame(-6, -11, 13, 14, 113, 143)110SpriteFrame(-7, -11, 13, 14, 127, 143)111SpriteFrame(-32, -10, 32, 10, 58, 245)112SpriteFrame(-32, -12, 32, 12, 91, 243)113SpriteFrame(-32, -16, 32, 16, 124, 239)114SpriteFrame(-32, -18, 32, 18, 157, 237)115SpriteFrame(-32, -20, 32, 20, 190, 235)116SpriteFrame(-32, -21, 32, 21, 223, 210)117SpriteFrame(-32, -23, 32, 23, 223, 232)118end event119120121// ========================122// Editor Events123// ========================124125event RSDKDraw126DrawSprite(0)127end event128129130event RSDKLoad131LoadSpriteSheet("Global/Items.gif")132SpriteFrame(-7, -11, 13, 14, 85, 143)133134SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")135end event136137138