Path: blob/main/Scripts/R1/Anton.txt
1319 views
//-------------------Sonic CD Anton Script--------------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// ========================5// Aliases6// ========================78#alias Object.PropertyValue : Object.Quality910#alias Object.Value0 : Object.Timer1112// States13#alias 0 : ANTON_MOVING_LEFT14#alias 1 : ANTON_MOVING_RIGHT1516// Direction Aliases17#alias 0 : FLIP_NONE18#alias 1 : FLIP_X1920// Collision Side Aliases21#alias 0 : CSIDE_FLOOR2223// Badnik Quality (Property Value) Aliases24#alias 0 : QUALITY_GOOD25#alias 1 : QUALITY_BAD262728// ========================29// Events30// ========================3132sub ObjectMain33if Object.Quality == QUALITY_GOOD34Object.Frame += 23536switch Object.State37case ANTON_MOVING_LEFT38Object.XPos -= 0x100003940Object.Timer--41if Object.Timer == -12842Object.State = ANTON_MOVING_RIGHT43Object.Direction = FLIP_X44end if4546ObjectTileGrip(CSIDE_FLOOR, 0, 20, 0)47if CheckResult == false48Object.State = ANTON_MOVING_RIGHT49Object.Timer = -12850Object.Direction = FLIP_X51end if52break5354case ANTON_MOVING_RIGHT55Object.XPos += 0x100005657Object.Timer++58if Object.Timer == 12859Object.State = ANTON_MOVING_LEFT60Object.Direction = FLIP_NONE61end if6263ObjectTileGrip(CSIDE_FLOOR, 0, 20, 0)64if CheckResult == false65Object.State = ANTON_MOVING_LEFT66Object.Timer = 12867Object.Direction = FLIP_NONE68end if69break7071end switch72else73Object.Frame++7475switch Object.State76case ANTON_MOVING_LEFT77Object.XPos -= 0x80007879Object.Timer--80if Object.Timer == -25681Object.State = ANTON_MOVING_RIGHT82Object.Direction = FLIP_X83end if8485ObjectTileGrip(CSIDE_FLOOR, 0, 20, 0)86if CheckResult == false87Object.State = ANTON_MOVING_RIGHT88Object.Timer = -25689Object.Direction = FLIP_X90end if91break9293case ANTON_MOVING_RIGHT94Object.XPos += 0x80009596Object.Timer++97if Object.Timer == 25698Object.State = ANTON_MOVING_LEFT99Object.Direction = FLIP_NONE100end if101102ObjectTileGrip(CSIDE_FLOOR, 0, 20, 0)103if CheckResult == false104Object.State = ANTON_MOVING_LEFT105Object.Timer = 256106Object.Direction = FLIP_NONE107end if108break109110end switch111112end if113114Object.Frame &= 15115CallFunction(StageSetup_CheckGoodFuture) // Check if it should be a flower116end sub117118119sub ObjectPlayerInteraction120#platform: Use_Origins121PlayerObjectCollision(C_ENEMY, -12, -18, 12, 20)122#endplatform123#platform: Use_Standalone124PlayerObjectCollision(C_TOUCH, -12, -18, 12, 20)125#endplatform126if CheckResult == true127CallFunction(Player_BadnikBreak)128end if129end sub130131132sub ObjectDraw133TempValue0 = Object.Frame134TempValue0 >>= 3135if Object.Quality == QUALITY_GOOD136TempValue0 += 4137DrawSpriteFX(TempValue0, FX_FLIP, Object.XPos, Object.YPos) // Wheel138TempValue0 -= 4139DrawSpriteFX(TempValue0, FX_FLIP, Object.XPos, Object.YPos) // Anton140TempValue0 += 6141DrawSpriteFX(TempValue0, FX_FLIP, Object.XPos, Object.YPos) // Smoke Puff142else143TempValue0 += 4144DrawSpriteFX(TempValue0, FX_FLIP, Object.XPos, Object.YPos) // Wheel145TempValue0 -= 2146DrawSpriteFX(TempValue0, FX_FLIP, Object.XPos, Object.YPos) // Anton147TempValue0 += 4148DrawSpriteFX(TempValue0, FX_FLIP, Object.XPos, Object.YPos) // Smoke Puff149end if150end sub151152153sub ObjectStartup154LoadSpriteSheet("R1/Objects.gif")155156SpriteFrame(-12, -19, 24, 32, 1, 1) // #0 - Anton Frame 0157SpriteFrame(-12, -20, 24, 32, 1, 1) // #1 - Anton Frame 1158SpriteFrame(-12, -19, 24, 32, 26, 1) // #2 - Old Anton Frame 0159SpriteFrame(-12, -20, 24, 32, 26, 1) // #3 - Old Anton Frame 1160161SpriteFrame(-8, 4, 16, 16, 1, 34) // #4 - Anton Wheel Frame 0162SpriteFrame(-8, 4, 16, 16, 18, 34) // #5 - Anton Wheel Frame 1163164SpriteFrame(14, -4, 8, 8, 35, 34) // #6 - Anton Smoke Puff Frame 0165SpriteFrame(18, -5, 8, 8, 35, 34) // #7 - Anton Smoke Puff Frame 1166end sub167168169// ========================170// Editor Subs171// ========================172173sub RSDKEdit174if Editor.ReturnVariable == true175switch Editor.VariableID176case EDIT_VAR_PROPVAL // Property Value177case 0 // quality178GetBit(CheckResult, Object.Quality, 0)179break180end switch181else182switch Editor.VariableID183case EDIT_VAR_PROPVAL // Property Value184case 0 // quality185Object.Quality = Editor.VariableValue186Object.Quality &= QUALITY_BAD187break188end switch189end if190end sub191192193sub RSDKDraw194// Wheel195Object.Frame = Object.Quality196Object.Frame += 2197DrawSprite(Object.Frame)198199// Anton200DrawSprite(Object.Quality)201end sub202203204sub RSDKLoad205LoadSpriteSheet("R1/Objects.gif")206207SpriteFrame(-12, -19, 24, 32, 1, 1) // #0 - Anton208SpriteFrame(-12, -19, 24, 32, 26, 1) // #1 - Old Anton209210SpriteFrame(-8, 4, 16, 16, 1, 34) // #2 - Anton Wheel211SpriteFrame(-8, 4, 16, 16, 18, 34) // #3 - Old Anton Wheel212213AddEditorVariable("quality")214SetActiveVariable("quality")215AddEnumVariable("Good", QUALITY_GOOD)216AddEnumVariable("Bad", QUALITY_BAD)217end sub218219220