Path: blob/main/Scripts/R4/AirBubbler.txt
1319 views
//-----------------Sonic CD Air Bubbler 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.SpawnTimer7#alias Object.Value2 : Object.BubbleAmount8#alias Object.Value3 : Object.BubbleType910// Air Bubbler alises11#alias Object.XPos : AirBubble.XPos12#alias Object.Value1 : AirBubble.Angle13#alias Object.Value2 : AirBubble.XVelocity14#alias Object.Value3 : AirBubble.YVelocity15#alias Object.DrawOrder : AirBubble.DrawOrder1617// Air Bubble Property Values18#alias 2 : BUBBLE_SMALL19#alias 4 : BUBBLE_MEDIUM20#alias 5 : BUBBLE_BREATHABLE212223sub ObjectMain24Object.Frame++25Object.Frame %= 482627if Object.Timer > 028Object.Timer--29else30Object.Timer = 2203132Rand(Object.BubbleAmount, 6)33Object.BubbleAmount++34if Object.BubbleAmount > 635Object.BubbleAmount = 636end if3738Object.SpawnTimer = 039Object.BubbleType = 040end if4142if Object.SpawnTimer > 043Object.SpawnTimer--44else45if Object.BubbleAmount > 046Object.BubbleAmount--47Rand(Object.SpawnTimer, 32)48Rand(TempValue0, 3)49if TempValue0 == 250if Object.BubbleType == 051Object.BubbleType = 152CreateTempObject(TypeName[Air Bubble], BUBBLE_BREATHABLE, Object.XPos, Object.YPos)53else54CreateTempObject(TypeName[Air Bubble], BUBBLE_MEDIUM, Object.XPos, Object.YPos)55end if56else57CreateTempObject(TypeName[Air Bubble], BUBBLE_SMALL, Object.XPos, Object.YPos)58end if59Rand(TempValue0, 16)60TempValue0 -= 861TempValue0 <<= 166263AirBubble[TempObjectPos].XPos += TempValue064AirBubble[TempObjectPos].XVelocity = AirBubble[TempObjectPos].XPos65Rand(AirBubble[TempObjectPos].Angle, 256)66AirBubble[TempObjectPos].Angle <<= 167AirBubble[TempObjectPos].DrawOrder = 468AirBubble[TempObjectPos].YVelocity = -0x880069end if70end if71end sub727374sub ObjectDraw75TempValue0 = Object.Frame76TempValue0 >>= 477DrawSprite(TempValue0)78end sub798081sub ObjectStartup82LoadSpriteSheet("R4/Objects.gif")8384SpriteFrame(-8, -16, 16, 16, 165, 235) // #0 - Air Bubbler frame 085SpriteFrame(-8, -16, 16, 16, 182, 235) // #1 - Air Bubbler frame 186SpriteFrame(-8, -16, 16, 16, 199, 235) // #2 - Air Bubbler frame 28788ArrayPos0 = 3289while ArrayPos0 < 105690if Object[ArrayPos0].Type == TypeName[Air Bubbler]91Object[ArrayPos0].DrawOrder = 492end if93ArrayPos0++94loop95end sub969798// ========================99// Editor Subs100// ========================101102sub RSDKDraw103DrawSprite(0)104end sub105106107sub RSDKLoad108LoadSpriteSheet("R4/Objects.gif")109110SpriteFrame(-8, -16, 16, 16, 165, 235) // #0 - Air Bubbler111112SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")113end sub114115116