Path: blob/master/Sonic 1/Scripts/SYZ/Eggman.txt
1483 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Eggman Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// Using SYZEggman as a prefix here because there's like 12 "Eggman" objects in the game so its less confusing this way89// ========================10// Aliases11// ========================1213private alias object.value0 : object.timer14private alias object.value1 : object.health15private alias object.value2 : object.invincibilityTimer16private alias object.value3 : object.flameAnim17private alias object.value4 : object.flameAnimTimer18private alias object.value5 : object.boundsL19private alias object.value6 : object.boundsR20private alias object.value7 : object.boundsB21private alias object.value8 : object.originPos.y22private alias object.value9 : object.stingerPos23private alias object.value10 : object.grabbedBlockSlot24private alias object.value11 : object.playerDetected2526// Eggman States27private alias 0 : SYZEGGMAN_AWAITPLAYER28private alias 1 : SYZEGGMAN_MOVELEFT29private alias 2 : SYZEGGMAN_MOVERIGHT30private alias 3 : SYZEGGMAN_LOWERDOWN31private alias 4 : SYZEGGMAN_GRABBLOCK32private alias 5 : SYZEGGMAN_GRABBEDBLOCK33private alias 6 : SYZEGGMAN_SHAKEBLOCK34private alias 7 : SYZEGGMAN_RISEUP35private alias 8 : SYZEGGMAN_DESTROYBLOCK36private alias 9 : SYZEGGMAN_RETRACTSTINGER37private alias 10 : SYZEGGMAN_MISSEDBLOCK38private alias 11 : SYZEGGMAN_EXPLODE39private alias 12 : SYZEGGMAN_DEFEATED40private alias 13 : SYZEGGMAN_FLEE41private alias 14 : SYZEGGMAN_ESCAPE4243// Eggman Animations44private alias 0 : SYZEGGANI_INVISIBLE45private alias 1 : SYZEGGANI_IDLE46private alias 2 : SYZEGGANI_LAUGH47private alias 3 : SYZEGGANI_LAUGH_LOOP48private alias 4 : SYZEGGANI_HIT49private alias 5 : SYZEGGANI_DEFEATED50private alias 6 : SYZEGGANI_TOASTED51private alias 7 : SYZEGGANI_PANIC5253// Flame Animations54private alias 0 : FLAME_INACTIVE55private alias 1 : FLAME_ACTIVE56private alias 2 : FLAME_EXPLODE5758// Marker Aliases59private alias object.xpos : bossMarker.xpos60private alias object.ypos : bossMarker.ypos61private alias object.ixpos : bossMarker.ixpos62private alias object.iypos : bossMarker.iypos6364// Boss Barrier Aliases65private alias object.state : bossBarrier.state6667private alias 1 : BOSSBARRIER_RISE68private alias 2 : BOSSBARRIER_LOWER6970// Boss Block Aliases71private alias 1 : BOSSBLOCK_NONSOLID7273// Player Aliases74private alias object.xpos : player.xpos75private alias object.xvel : player.xvel76private alias object.speed : player.speed77private alias object.animation : player.animation78private alias object.collisionRight : player.collisionRight7980private alias object.value40 : player.hitboxLeft81private alias object.value38 : player.hitboxTop82private alias object.value41 : player.hitboxRight83private alias object.value39 : player.hitboxBottom8485// Music Events86private alias 26 : SLOT_MUSICEVENT_BOSS8788private alias 0 : MUSICEVENT_FADETOBOSS89private alias 1 : MUSICEVENT_FADETOSTAGE90private alias 2 : MUSICEVENT_TRANSITION919293// ========================94// Function Declarations95// ========================9697reserve function SYZEggman_Float98reserve function SYZEggman_CheckAbovePlayer99reserve function SYZEggman_HandleBlockMovement100101102// ========================103// Function Definitions104// ========================105106private function SYZEggman_Float107Sin256(object.ypos, object.angle)108object.ypos <<= 10109object.ypos += object.originPos.y110object.angle += 2111object.angle &= 0xFF112end function113114115private function SYZEggman_CheckAbovePlayer116if object.playerDetected == false117temp0 = player[0].xpos118temp0 >>= 21119temp1 = object.xpos120temp1 >>= 21121if temp0 == temp1122temp0 = object.xpos123temp0 >>= 16124temp0 &= 31125if temp0 == 16126object.xpos &= 0xFFFF0000127object.yvel = 0x18000128object.flameAnim = FLAME_INACTIVE129object.state = SYZEGGMAN_LOWERDOWN130object.playerDetected = true131end if132end if133end if134end function135136137private function SYZEggman_HandleBlockMovement138arrayPos0 = object.grabbedBlockSlot139object[arrayPos0].ypos = object.ypos140object[arrayPos0].ypos += 0x280000141end function142143144// ========================145// Events146// ========================147148event ObjectUpdate149if camera[0].ypos < stage.newYBoundary1150camera[0].ypos += 2151end if152153switch object.state154case SYZEGGMAN_AWAITPLAYER155temp0 = bossMarker[+1].ixpos156temp0 += screen.xcenter157stage.newXBoundary2 = temp0158159temp0 -= screen.xsize160stage.newXBoundary1 = temp0161162temp0 = bossMarker[+1].iypos163temp0 -= screen.ysize164stage.newYBoundary1 = temp0165stage.newYBoundary2 = bossMarker[+1].iypos166167if player[0].xpos > bossMarker[+1].xpos168object.boundsB = bossMarker[+1].ypos169object.boundsB -= 0xC80000170object.originPos.y = bossMarker[+1].ypos171object.originPos.y -= 0xC80000172object.boundsL = bossMarker[+1].xpos173object.boundsL -= 0x960000174object.boundsR = bossMarker[+1].xpos175object.boundsR += 0x960000176if screen.xsize > 320177bossBarrier[+2].state = BOSSBARRIER_RISE178bossBarrier[+3].state = BOSSBARRIER_RISE179end if180181object.xvel = -0x10000182object.flameAnim = FLAME_ACTIVE183ResetObjectEntity(SLOT_MUSICEVENT_BOSS, TypeName[Music Event], MUSICEVENT_FADETOBOSS, 0, 0)184object[SLOT_MUSICEVENT_BOSS].priority = PRIORITY_ACTIVE185object.grabbedBlockSlot = -1186object.state++187end if188break189190case SYZEGGMAN_MOVELEFT191object.xpos += object.xvel192if object.xpos <= object.boundsL193FlipSign(object.xvel)194object.direction = FACING_LEFT195object.playerDetected = false196object.state = SYZEGGMAN_MOVERIGHT197end if198CallFunction(SYZEggman_Float)199CallFunction(SYZEggman_CheckAbovePlayer)200break201202case SYZEGGMAN_MOVERIGHT203object.xpos += object.xvel204if object.xpos >= object.boundsR205FlipSign(object.xvel)206object.direction = FACING_RIGHT207object.playerDetected = false208object.state = SYZEGGMAN_MOVELEFT209end if210CallFunction(SYZEggman_Float)211CallFunction(SYZEggman_CheckAbovePlayer)212break213214case SYZEGGMAN_LOWERDOWN215object.ypos += object.yvel216temp0 = bossMarker[+1].ypos217temp0 -= 0x4C0000218219if object.ypos >= temp0220object.ypos = temp0221object.yvel = 0222object.state++223end if224225if object.stingerPos < 0x200000226object.stingerPos += 0x20000227end if228break229230case SYZEGGMAN_GRABBLOCK231object.grabbedBlockSlot = -1232foreach (TypeName[Boss Block], arrayPos0, ACTIVE_ENTITIES)233BoxCollisionTest(C_TOUCH, object.entityPos, -8, -8, 8, 32, arrayPos0, -16, -16, 16, 16)234if checkResult == true235object[arrayPos0].state = BOSSBLOCK_NONSOLID236object.grabbedBlockSlot = arrayPos0237end if238next239240if object.grabbedBlockSlot > -1241object.state = SYZEGGMAN_GRABBEDBLOCK242if object.animation == SYZEGGANI_IDLE243object.animation = SYZEGGANI_PANIC244object.animationTimer = 0245end if246else247object.yvel = -0x40000248object.state = SYZEGGMAN_MISSEDBLOCK249end if250break251252case SYZEGGMAN_GRABBEDBLOCK253object.timer++254if object.timer == 20255object.timer = 0256object.originPos.y = object.ypos257object.state++258end if259break260261case SYZEGGMAN_SHAKEBLOCK262temp0 = object.timer263temp0 >>= 1264temp0 &= 1265if temp0 == 0266object.ypos = -0x20000267else268object.ypos = 0x20000269end if270271object.ypos += object.originPos.y272object.timer++273if object.timer == 32274object.timer = 0275object.yvel = -0x80000276if object.animation != SYZEGGANI_PANIC277object.animation = SYZEGGANI_PANIC278object.animationTimer = 0279end if280object.state++281end if282283CallFunction(SYZEggman_HandleBlockMovement)284break285286case SYZEGGMAN_RISEUP287object.ypos += object.yvel288temp0 = bossMarker[+1].ypos289temp0 -= 0xF00000290if object.ypos <= temp0291object.ypos = temp0292object.originPos.y = object.ypos293object.yvel = 0x18000294object.state++295end if296CallFunction(SYZEggman_HandleBlockMovement)297break298299case SYZEGGMAN_DESTROYBLOCK300object.timer++301if object.timer == 48302object.ypos = object.originPos.y303CallFunction(SYZEggman_HandleBlockMovement)304object.timer = 0305object.animation = SYZEGGANI_IDLE306object.animationTimer = 0307object[arrayPos0].type = TypeName[Blank Object]308309CreateTempObject(TypeName[Boss Block], 1, object[arrayPos0].xpos, object[arrayPos0].ypos)310object[tempObjectPos].ixpos -= 8311object[tempObjectPos].iypos -= 8312object[tempObjectPos].xvel = -0x18000313object[tempObjectPos].yvel = -0x20000314315CreateTempObject(TypeName[Boss Block], 2, object[arrayPos0].xpos, object[arrayPos0].ypos)316object[tempObjectPos].ixpos += 8317object[tempObjectPos].iypos -= 8318object[tempObjectPos].xvel = 0x18000319object[tempObjectPos].yvel = -0x20000320321CreateTempObject(TypeName[Boss Block], 3, object[arrayPos0].xpos, object[arrayPos0].ypos)322object[tempObjectPos].ixpos -= 8323object[tempObjectPos].iypos += 8324object[tempObjectPos].xvel = -0x10000325object[tempObjectPos].yvel = -0x10000326327CreateTempObject(TypeName[Boss Block], 4, object[arrayPos0].xpos, object[arrayPos0].ypos)328object[tempObjectPos].ixpos += 8329object[tempObjectPos].iypos += 8330object[tempObjectPos].xvel = 0x10000331object[tempObjectPos].yvel = -0x10000332333PlaySfx(SfxName[Block Break], false)334object.grabbedBlockSlot = -1335object.state++336else337object.originPos.y += object.yvel338if object.originPos.y >= object.boundsB339object.originPos.y = object.boundsB340object.yvel = 0341end if342temp0 = object.timer343temp0 >>= 1344temp0 &= 1345if temp0 == 0346object.ypos = -0x10000347else348object.ypos = 0x10000349end if350object.ypos += object.originPos.y351CallFunction(SYZEggman_HandleBlockMovement)352end if353break354355case SYZEGGMAN_RETRACTSTINGER356if object.stingerPos > 0357object.stingerPos -= 0x20000358else359object.angle = 0360object.flameAnim = FLAME_ACTIVE361if object.xvel > 0362object.state = SYZEGGMAN_MOVERIGHT363else364object.state = SYZEGGMAN_MOVELEFT365end if366end if367break368369case SYZEGGMAN_MISSEDBLOCK370object.ypos += object.yvel371object.yvel += 0x800372if object.ypos <= object.boundsB373object.ypos = object.boundsB374object.originPos.y = object.ypos375object.state = SYZEGGMAN_RETRACTSTINGER376end if377break378379case SYZEGGMAN_EXPLODE380if object.stingerPos > 0381object.stingerPos -= 0x20000382end if383384object.timer++385temp0 = object.timer386temp0 &= 7387if temp0 == 4388Rand(temp0, 64)389temp0 -= 32390temp0 <<= 16391temp0 += object.xpos392Rand(temp1, 48)393temp1 -= 24394temp1 <<= 16395temp1 += object.ypos396CreateTempObject(TypeName[Explosion], 0, temp0, temp1)397PlaySfx(SfxName[Explosion], false)398end if399400if object.timer == 180401object.animation = SYZEGGANI_TOASTED402object.animationTimer = 0403object.timer = 0404object.direction = FACING_LEFT405ResetObjectEntity(SLOT_MUSICEVENT_BOSS, TypeName[Music Event], MUSICEVENT_FADETOSTAGE, 0, 0)406object[SLOT_MUSICEVENT_BOSS].priority = PRIORITY_ACTIVE407object.state++408end if409break410411case SYZEGGMAN_DEFEATED412if object.timer < 40413object.ypos += object.yvel414object.yvel -= 0x800415object.timer++416else417object.timer = 0418object.yvel = 0419object.angle = 0420object.originPos.y = object.ypos421object.state++422end if423break424425case SYZEGGMAN_FLEE426CallFunction(SYZEggman_Float)427if object.timer < 8428object.timer++429else430object.timer = 0431object.animation = SYZEGGANI_PANIC432object.animationTimer = 0433object.flameAnim = FLAME_EXPLODE434object.flameAnimTimer = 0435object.priority = PRIORITY_ACTIVE436temp0 = tileLayer[0].xsize437temp0 <<= 7438stage.newXBoundary2 = temp0439object.state++440end if441break442443case SYZEGGMAN_ESCAPE444CallFunction(SYZEggman_Float)445object.xpos += 0x40000446object.originPos.y -= 0x4000447if object.outOfBounds == true448object.type = TypeName[Blank Object]449object.priority = PRIORITY_BOUNDS450end if451break452453end switch454455if object.health != 0456if object.invincibilityTimer > 0457object.invincibilityTimer--458end if459460foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)461if object.invincibilityTimer == 0462CheckEqual(player[currentPlayer].animation, ANI_HURT)463temp0 = checkResult464CheckEqual(player[currentPlayer].animation, ANI_DYING)465temp0 |= checkResult466CheckEqual(player[currentPlayer].animation, ANI_DROWNING)467temp0 |= checkResult468if temp0 != 0469if object.animation != SYZEGGANI_LAUGH470object.animation = SYZEGGANI_LAUGH471object.animationTimer = 0472end if473end if474475if object.stingerPos > 0x100000476BoxCollisionTest(C_TOUCH, object.entityPos, -6, 0, 6, 40, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)477if checkResult == true478CallFunction(Player_Hit)479end if480end if481482#platform: USE_STANDALONE483BoxCollisionTest(C_TOUCH, object.entityPos, -20, -16, 20, 16, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)484#endplatform485#platform: USE_ORIGINS486BoxCollisionTest(C_TOUCH, object.entityPos, -20, -16, 20, 16, currentPlayer, player[currentPlayer].hitboxLeft, player[currentPlayer].hitboxTop, player[currentPlayer].hitboxRight, player[currentPlayer].hitboxBottom)487#endplatform488if checkResult == true489CallFunction(Player_CheckHit)490if checkResult == true491object.health--492if object.health == 0493#platform: USE_ORIGINS494CallNativeFunction2(NotifyCallback, NOTIFY_KILL_BOSS, 0)495CallNativeFunction2(NotifyCallback, NOTIFY_BOSS_END, true)496#endplatform497player.score += 1000498object.animation = SYZEGGANI_DEFEATED499object.animationTimer = 0500object.flameAnim = FLAME_INACTIVE501object.timer = 0502object.yvel = 0503object.state = SYZEGGMAN_EXPLODE504if screen.xsize > 320505bossBarrier[+2].state = BOSSBARRIER_LOWER506bossBarrier[+3].state = BOSSBARRIER_LOWER507end if508509if object.grabbedBlockSlot > -1510arrayPos0 = object.grabbedBlockSlot511object[arrayPos0].type = TypeName[Blank Object]512513CreateTempObject(TypeName[Boss Block], 1, object[arrayPos0].xpos, object[arrayPos0].ypos)514object[tempObjectPos].ixpos -= 8515object[tempObjectPos].iypos -= 8516object[tempObjectPos].xvel = -0x18000517object[tempObjectPos].yvel = -0x20000518519CreateTempObject(TypeName[Boss Block], 2, object[arrayPos0].xpos, object[arrayPos0].ypos)520object[tempObjectPos].ixpos += 8521object[tempObjectPos].iypos -= 8522object[tempObjectPos].xvel = 0x18000523object[tempObjectPos].yvel = -0x20000524525CreateTempObject(TypeName[Boss Block], 3, object[arrayPos0].xpos, object[arrayPos0].ypos)526object[tempObjectPos].ixpos -= 8527object[tempObjectPos].iypos += 8528object[tempObjectPos].xvel = -0x10000529object[tempObjectPos].yvel = -0x10000530531CreateTempObject(TypeName[Boss Block], 4, object[arrayPos0].xpos, object[arrayPos0].ypos)532object[tempObjectPos].ixpos += 8533object[tempObjectPos].iypos += 8534object[tempObjectPos].xvel = 0x10000535object[tempObjectPos].yvel = -0x10000536end if537else538object.animation = SYZEGGANI_HIT539object.animationTimer = 0540object.invincibilityTimer = 32541PlaySfx(SfxName[Boss Hit], false)542end if543end if544end if545end if546next547end if548549// Screen R Boundary Lock550if object.state < SYZEGGMAN_FLEE551foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)552temp0 = player[currentPlayer].collisionRight553temp0 <<= 16554temp0 += player[currentPlayer].xpos555temp1 = stage.curXBoundary2556temp1 <<= 16557if temp0 > temp1558player[currentPlayer].xvel = 0559player[currentPlayer].speed = 0560player[currentPlayer].xpos = temp1561temp0 = player[currentPlayer].collisionRight562temp0 <<= 16563player[currentPlayer].xpos -= temp0564end if565next566end if567end event568569570event ObjectDraw571temp0 = object.ypos572temp0 += object.stingerPos573DrawSpriteFX(19, FX_FLIP, object.xpos, temp0)574575switch object.animation576default577case SYZEGGANI_INVISIBLE578break579580case SYZEGGANI_IDLE581temp0 = object.animationTimer582temp0 /= 6583object.animationTimer++584object.animationTimer %= 12585DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)586break587588case SYZEGGANI_LAUGH589temp0 = object.animationTimer590temp0 %= 10591temp0 /= 5592temp0 += 9593object.animationTimer++594if object.animationTimer == 50595object.animationTimer = 0596if player[0].animation != ANI_DYING597object.animation = SYZEGGANI_IDLE598end if599end if600DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)601break602603case SYZEGGANI_LAUGH_LOOP604temp0 = object.animationTimer605temp0 /= 5606temp0 += 9607object.animationTimer++608object.animationTimer %= 10609DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)610break611612case SYZEGGANI_HIT613temp0 = object.animationTimer614temp0 &= 1615temp0 += 2616object.animationTimer++617if object.animationTimer == 30618object.animationTimer = 0619object.animation = SYZEGGANI_IDLE620end if621DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)622break623624case SYZEGGANI_DEFEATED625temp0 = object.animationTimer626temp0 >>= 5627temp0 += 4628object.animationTimer++629object.animationTimer &= 63630DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)631break632633case SYZEGGANI_TOASTED634DrawSpriteFX(6, FX_FLIP, object.xpos, object.ypos)635break636637case SYZEGGANI_PANIC638temp0 = object.animationTimer639temp0 >>= 2640temp0 += 7641object.animationTimer++642object.animationTimer %= 7643DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)644break645646end switch647648switch object.flameAnim649default650case FLAME_INACTIVE651break652653case FLAME_ACTIVE654temp0 = object.flameAnimTimer655temp0 >>= 2656temp0 += 11657object.flameAnimTimer++658object.flameAnimTimer &= 7659DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)660break661662case FLAME_EXPLODE663temp0 = object.flameAnimTimer664temp0 /= 3665temp0 += 11666object.flameAnimTimer++667if object.flameAnimTimer > 21668object.flameAnimTimer = 18669end if670DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)671break672673end switch674end event675676677event ObjectStartup678LoadSpriteSheet("Global/Eggman.gif")679SpriteFrame(-28, -32, 64, 56, 1, 1)680SpriteFrame(-28, -32, 64, 56, 66, 1)681SpriteFrame(-28, -32, 64, 56, 131, 1)682SpriteFrame(-28, -32, 64, 56, 1, 58)683SpriteFrame(-28, -32, 64, 56, 1, 1)684SpriteFrame(-28, -32, 64, 56, 1, 58)685SpriteFrame(-28, -32, 64, 56, 66, 58)686SpriteFrame(-28, -32, 64, 56, 131, 58)687SpriteFrame(-28, -32, 64, 56, 66, 1)688SpriteFrame(-28, -32, 64, 56, 1, 115)689SpriteFrame(-28, -32, 64, 56, 66, 115)690SpriteFrame(34, 1, 10, 9, 196, 2)691SpriteFrame(33, 0, 15, 11, 196, 12)692SpriteFrame(34, -1, 22, 14, 213, 1)693SpriteFrame(34, -8, 32, 26, 213, 16)694SpriteFrame(34, -1, 22, 14, 213, 1)695SpriteFrame(34, -8, 32, 26, 213, 16)696SpriteFrame(34, 1, 10, 9, 196, 2)697SpriteFrame(33, 0, 15, 11, 196, 12)698SpriteFrame(-8, -16, 16, 32, 238, 60)699700foreach (TypeName[Eggman], arrayPos0, ALL_ENTITIES)701object[arrayPos0].animation = SYZEGGANI_IDLE702#platform: USE_ORIGINS703if game.bossOneLife == false704object[arrayPos0].health = 8705else706object[arrayPos0].health = 1707end if708#endplatform709#platform: USE_STANDALONE710object[arrayPos0].health = 8711#endplatform712next713end event714715716// ========================717// Editor Events718// ========================719720event RSDKDraw721temp0 = object.ypos722temp0 += 0x200000723DrawSpriteFX(19, FX_FLIP, object.xpos, temp0)724725DrawSpriteFX(0, FX_FLIP, object.xpos, object.ypos)726727if editor.showGizmos == true728editor.drawingOverlay = true729730DrawArrow(object.xpos, object.ypos, object[+1].xpos, object[+1].ypos, 255, 255, 0) // arena marker731DrawArrow(object.xpos, object.ypos, object[+2].xpos, object[+2].ypos, 255, 255, 0) // boundsL732DrawArrow(object.xpos, object.ypos, object[+3].xpos, object[+3].ypos, 255, 255, 0) // boundsR733734editor.drawingOverlay = false735end if736end event737738739event RSDKLoad740LoadSpriteSheet("Global/Eggman.gif")741SpriteFrame(-28, -32, 64, 56, 1, 1)742SpriteFrame(-28, -32, 64, 56, 66, 1)743SpriteFrame(-28, -32, 64, 56, 131, 1)744SpriteFrame(-28, -32, 64, 56, 1, 58)745SpriteFrame(-28, -32, 64, 56, 1, 1)746SpriteFrame(-28, -32, 64, 56, 1, 58)747SpriteFrame(-28, -32, 64, 56, 66, 58)748SpriteFrame(-28, -32, 64, 56, 131, 58)749SpriteFrame(-28, -32, 64, 56, 66, 1)750SpriteFrame(-28, -32, 64, 56, 1, 115)751SpriteFrame(-28, -32, 64, 56, 66, 115)752SpriteFrame(34, 1, 10, 9, 196, 2)753SpriteFrame(33, 0, 15, 11, 196, 12)754SpriteFrame(34, -1, 22, 14, 213, 1)755SpriteFrame(34, -8, 32, 26, 213, 16)756SpriteFrame(34, -1, 22, 14, 213, 1)757SpriteFrame(34, -8, 32, 26, 213, 16)758SpriteFrame(34, 1, 10, 9, 196, 2)759SpriteFrame(33, 0, 15, 11, 196, 12)760SpriteFrame(-8, -16, 16, 32, 238, 60)761762SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")763end event764765766