Path: blob/main/Scripts/R3/Eggman.txt
1319 views
//------------------Sonic CD Eggman Script--------------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.FrameTimer6#alias Object.Value1 : Object.Timer78// Boss Body Aliases9#alias Object[+1].Value5 : BossBody.DamageTimer10#alias Object[+1].State : BossBody.State1112// States13#alias 0 : EGGMAN_IDLE14#alias 1 : EGGMAN_HURT15#alias 2 : EGGMAN_NERVOUS16#alias 3 : EGGMAN_FLEE1718// BossBody Aliases19#alias 5 : BOSSBODY_DRAG_EGGMAN_2202122sub ObjectMain23switch Object.State24case EGGMAN_IDLE25Object.FrameTimer++26Object.FrameTimer %= 4027break2829case EGGMAN_HURT30if Object.Timer < 4131Object.Timer++32else33Object.Timer = 034Object.FrameTimer = 035if BossBody.State < BOSSBODY_DRAG_EGGMAN_236Object.State = EGGMAN_IDLE37else38Object.State = EGGMAN_NERVOUS39end if40end if41break4243case EGGMAN_NERVOUS44Object.FrameTimer++45Object.FrameTimer &= 3146break4748case EGGMAN_FLEE49Object.FrameTimer++50Object.FrameTimer &= 751break5253end switch54end sub555657sub ObjectDraw58switch Object.State59case EGGMAN_IDLE60DrawSprite(4)6162TempValue0 = Object.FrameTimer63TempValue0 /= 1064DrawSprite(TempValue0)65break6667case EGGMAN_HURT68TempValue1 = Object.Timer69TempValue1 <<= 870TempValue1 /= 407172Sin(TempValue0, TempValue1)73TempValue0 <<= 1174FlipSign(TempValue0)75TempValue0 += Object.YPos7677TempValue1 = Object.Timer78TempValue1 &= 1579TempValue1 >>= 380TempValue1 += 781DrawSpriteXY(TempValue1, Object.XPos, TempValue0)8283TempValue0 = BossBody.DamageTimer84TempValue0 &= 185TempValue0 += 486DrawSprite(TempValue0)8788DrawSprite(6)89break9091case EGGMAN_NERVOUS92TempValue0 = Object.FrameTimer93TempValue0 >>= 494TempValue0 += 995DrawSprite(TempValue0)96break9798case EGGMAN_FLEE99TempValue0 = Object.FrameTimer100TempValue0 >>= 2101TempValue0 += 11102DrawSprite(TempValue0)103104Object.XPos += 0x40000105106if Object.OutOfBounds == true107ResetObjectEntity(Object.EntityNo, TypeName[Blank Object], 0, 0, 0)108end if109break110end switch111end sub112113114sub ObjectStartup115LoadSpriteSheet("R3/Objects2.gif")116117// Eggman Idle118SpriteFrame(-24, -56, 48, 24, 1, 166) // #0 - Eggman Idle Frame 0119SpriteFrame(-24, -56, 48, 24, 50, 166) // #1 - Eggman Idle Frame 1120SpriteFrame(-24, -56, 48, 24, 148, 174) // #2 - Eggman Idle Frame 2121SpriteFrame(-24, -56, 48, 24, 99, 166) // #3 - Eggman Idle Frame 3122123// Egg Tilter Controller124SpriteFrame(-24, -32, 48, 16, 148, 107) // #4 - Egg Tilter Controller125SpriteFrame(-24, -32, 48, 16, 148, 124) // #5 - Egg Tilter Controller Flicker126127// Egg Mobile window128SpriteFrame(-16, -48, 32, 16, 84, 50) // #6 - Egg Mobile Window129130// Eggman Hurt131SpriteFrame(-32, -67, 56, 64, 199, 134) // #7 - Eggman Hurt Frame 0132SpriteFrame(-23, -67, 56, 64, 199, 69) // #8 - Eggman Hurt Frame 1133134// Eggman Nervous135SpriteFrame(-24, -56, 48, 56, 197, 199) // #9 - Eggman Nervous Frame 0136SpriteFrame(-24, -56, 48, 56, 147, 199) // #10 - Eggman Nervous Frame 1137138// Eggman Flee139SpriteFrame(-16, -56, 72, 64, 1, 191) // #11 - Eggman Flee Frame 0140SpriteFrame(-16, -56, 72, 64, 74, 191) // #12 - Eggman Flee Frame 1141end sub142143144// ========================145// Editor Subs146// ========================147148sub RSDKDraw149DrawSprite(0)150DrawSprite(1)151DrawSprite(2)152end sub153154155sub RSDKLoad156LoadSpriteSheet("R3/Objects2.gif")157158// Eggman Idle159SpriteFrame(-24, -56, 48, 24, 1, 166) // #0 - Eggman Idle Frame 0160161// Egg Tilter Controller162SpriteFrame(-24, -32, 48, 16, 148, 107) // #1 - Egg Tilter Controller163// Egg Mobile window164SpriteFrame(-16, -48, 32, 16, 84, 50) // #2 - Egg Mobile Window165166SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")167end sub168169170