Path: blob/main/Scripts/Animals/R3_Bird.txt
1319 views
//------------------Sonic CD Flying Bird Script---------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Timer6#alias Object.Value1 : Object.Angle78// HUD alias9#alias Object[24].PropertyValue : HUD.CurrentTimePeriod1011// States12#alias 0 : BIRD_FLYRIGHT13#alias 1 : BIRD_FLYLEFT1415// Time Period Aliases16#alias 2 : TIME_GOOD_FUTURE171819sub ObjectMain20switch Object.State21case BIRD_FLYRIGHT22if Object.Angle > 023Object.Angle -= 224else25Object.State = BIRD_FLYLEFT26Object.Direction = FACING_LEFT27end if28break2930case BIRD_FLYLEFT31if Object.Angle < 25632Object.Angle += 233else34Object.State = BIRD_FLYRIGHT35Object.Direction = FACING_RIGHT36end if37break3839end switch4041// Animate the Bird42Object.Timer++43if Object.Timer > 344Object.Timer = 045Object.Frame++46Object.Frame &= 147end if4849end sub505152sub ObjectDraw53if MetalSonic_Destroyed == true54Cos(TempValue0, Object.Angle)55TempValue0 <<= 1456TempValue0 += Object.XPos5758Sin(TempValue1, Object.Angle)59TempValue1 <<= 1460TempValue1 += Object.YPos6162DrawSpriteFX(Object.Frame, FX_FLIP, TempValue0, TempValue1)63else64if HUD.CurrentTimePeriod == TIME_GOOD_FUTURE65Cos(TempValue0, Object.Angle)66TempValue0 <<= 1467TempValue0 += Object.XPos6869Sin(TempValue1, Object.Angle)70TempValue1 <<= 1471TempValue1 += Object.YPos7273DrawSpriteFX(Object.Frame, FX_FLIP, TempValue0, TempValue1)74end if75end if7677end sub787980sub ObjectStartup8182LoadSpriteSheet("R3/Objects3.gif")8384SpriteFrame(-8, -8, 16, 16, 132, 1)85SpriteFrame(-8, -8, 16, 16, 132, 18)8687// Setup all Flying Bird Objects in the level88ArrayPos0 = 3289while ArrayPos0 < 105690if Object[ArrayPos0].Type == TypeName[Flying Bird]9192// Give all Bird a high Draw Order so that they're above most other Objects93// & stage tiles94Object[ArrayPos0].DrawOrder = 59596end if9798ArrayPos0++99loop100101end sub102103104// ========================105// Editor Subs106// ========================107108sub RSDKDraw109DrawSprite(0)110end sub111112113sub RSDKLoad114LoadSpriteSheet("R3/Objects3.gif")115SpriteFrame(-8, -8, 16, 16, 132, 1)116117SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")118end sub119120121