Path: blob/main/Scripts/R8/Amy.txt
1319 views
//----------------Sonic CD Amy Rose Script--------------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Timer6// Value1 is unused, likely just XVelocity7#alias Object.Value2 : Object.YVelocity89// Boss Curtain alias10#alias Object[-1].XPos : BossCurtain.XPos1112// States13#alias 0 : AMY_ENTER_SCREEN14#alias 1 : AMY_JUMP_115#alias 2 : AMY_JUMP_216#alias 3 : AMY_TRIGGER_FADE17#alias 4 : AMY_FADE_WALK1819// Players20#alias 0 : PLAYER_SONIC_A2122// Collision Sides23#alias 0 : CSIDE_FLOOR242526sub ObjectMain27switch Object.State28case AMY_ENTER_SCREEN29Object.Frame = Object.Timer30Object.Frame >>= 23132Object.Timer++33Object.Timer %= 243435Object.XPos += 0x1400036ObjectTileGrip(CSIDE_FLOOR, 0, 19, 0)3738TempValue0 = BossCurtain.XPos39TempValue0 -= 0x60000040if Object.XPos > TempValue041Object.Frame = 64243Object.XPos = TempValue044Object.YVelocity = -0x300004546Object.State++47end if48break4950case AMY_JUMP_151Object.YVelocity += 0x400052Object.YPos += Object.YVelocity53ObjectTileCollision(CSIDE_FLOOR, 0, 19, 0)54if Object.YVelocity > 055Object.Frame = 756end if5758if CheckResult == true59Object.Frame = 660Object.YVelocity = -0x3000061Object.State++62end if63break6465case AMY_JUMP_266Object.YVelocity += 0x400067Object.YPos += Object.YVelocity68ObjectTileCollision(CSIDE_FLOOR, 0, 19, 0)69if Object.YVelocity > 070Object.Frame = 771end if7273if CheckResult == true74Object.YVelocity = 075Object.State++76end if77break7879case AMY_TRIGGER_FADE80Object.Frame = Object.Timer81Object.Frame >>= 28283Object.Timer++84Object.Timer %= 248586Object.XPos += 0x1400087ObjectTileGrip(CSIDE_FLOOR, 0, 19, 0)8889TempValue0 = BossCurtain.XPos90TempValue0 -= 0x10000091if Object.XPos > TempValue092Object[+1].Type = TypeName[FadeScreen]93Object.State++94end if95break9697case AMY_FADE_WALK98Object.Frame = Object.Timer99Object.Frame >>= 2100101Object.Timer++102Object.Timer %= 24103104Object.XPos += 0x14000105ObjectTileGrip(CSIDE_FLOOR, 0, 19, 0)106break107108end switch109110end sub111112113sub ObjectDraw114if Stage.PlayerListPos == PLAYER_SONIC_A // PLAYER_SONIC in origins115DrawSpriteFX(Object.Frame, FX_FLIP, Object.XPos, Object.YPos)116end if117end sub118119120sub ObjectStartup121122LoadSpriteSheet("R8/Objects3.gif")123124// Amy Frames125126// 0-5 - Walking Frames127SpriteFrame(-16, -20, 32, 40, 124, 174)128SpriteFrame(-16, -20, 32, 40, 157, 174)129SpriteFrame(-16, -20, 32, 40, 190, 174)130SpriteFrame(-16, -20, 32, 40, 223, 174)131SpriteFrame(-16, -20, 32, 40, 138, 215)132SpriteFrame(-16, -20, 32, 40, 171, 215)133134// 6 - Airborne Frame135SpriteFrame(-13, -20, 26, 40, 204, 215)136137// 7 - Hugging Frame138SpriteFrame(-12, -20, 24, 40, 231, 215)139140end sub141142143// ========================144// Editor Subs145// ========================146147sub RSDKDraw148DrawSprite(0)149end sub150151152sub RSDKLoad153LoadSpriteSheet("R8/Objects3.gif")154SpriteFrame(-16, -20, 32, 40, 124, 174)155156SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")157end sub158159160