You are on page 1of 2

//-----------------Sonic CD Dr.

Eggman Script------------------//
//--------Scripted by Christian Whitehead 'The Taxman'--------//
//-------Unpacked By Rubberduckycooly's Script Unpacker-------//

// Aliases
#alias Object.Value1 : Object.YOffSet
#alias Object.Value2 : Object.Wobble
#alias Object.PropertyValue : Object.WobbleIncrease

// States
#alias 0 : EGGMAN_SETUP
#alias 1 : EGGMAN_MOVEMENT

sub ObjectMain
if Object.Direction == FACING_LEFT
Object.XPos += 0x8000
else
Object.XPos -= 0x8000
end if

switch Object.State
case EGGMAN_SETUP
Object.YOffSet = Object.YPos
Object.State++
break

case EGGMAN_MOVEMENT
Object.Wobble += Object.WobbleIncrease
Object.Wobble &= 511
Sin(Object.YPos, Object.Wobble)
Object.YPos <<= 11
Object.YPos += Object.YOffSet
Object.YOffSet -= 0x4000
break

end switch

if Object.OutOfBounds == true
Object.Type = TypeName[Blank Object]
end if
end sub

sub ObjectDraw
// Smoke
TempValue0 = Object.AnimationTimer
TempValue0 >>= 1
TempValue0 += 2
DrawSpriteFX(TempValue0, FX_FLIP, Object.XPos, Object.YPos)
Object.AnimationTimer++
Object.AnimationTimer %= 12

// Eggman
TempValue0 = Object.AnimationSpeed
TempValue0 >>= 5
DrawSpriteFX(TempValue0, FX_FLIP, Object.XPos, Object.YPos)
Object.AnimationSpeed++
Object.AnimationSpeed &= 63
end sub

sub ObjectStartup
LoadSpriteSheet("DAGarden/Objects.gif")

SpriteFrame(-24, -20, 48, 40, 267, 705) // #0 - Eggman Frame 0


SpriteFrame(-24, -20, 48, 40, 316, 705) // #1 - Eggman Frame 1

SpriteFrame(8, 0, 24, 24, 265, 746) // #2 - Smoke Frame 0


SpriteFrame(8, 0, 24, 24, 290, 746) // #3 - Smoke Frame 1
SpriteFrame(8, 0, 24, 24, 315, 746) // #4 - Smoke Frame 2
SpriteFrame(8, 0, 24, 24, 340, 746) // #5 - Smoke Frame 3

// Blank Frames
SpriteFrame(8, 0, 0, 0, 265, 746)
SpriteFrame(8, 0, 0, 0, 265, 746)
end sub

// ========================
// Editor Subs
// ========================

sub RSDKDraw
DrawSprite(0)
end sub

sub RSDKLoad
LoadSpriteSheet("DAGarden/Objects.gif")
SpriteFrame(-24, -20, 48, 40, 267, 705) // #0 - Eggman Frame 0

SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
end sub

You might also like