Path: blob/master/Sonic 2/Scripts/CNZ/EggmanClaw.txt
1488 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Eggman Claw Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value1 : object.parent12private alias object.value2 : object.electricityActive13private alias object.value3 : object.electricityFrame1415// States16private alias 0 : CNZEGGMANCLAW_ACTIVE17private alias 1 : CNZEGGMANCLAW_DEBRIS1819// CNZEggman Aliases20private alias object.value4 : cnzEggman.invincibilityTimer21private alias object.value10 : cnzEggman.isClawWide222324// ========================25// Events26// ========================2728event ObjectUpdate29if object.state == CNZEGGMANCLAW_ACTIVE30arrayPos0 = object.parent31object.xpos = object[arrayPos0].xpos32object.ypos = object[arrayPos0].ypos3334if object.electricityActive == true35if cnzEggman[arrayPos0].invincibilityTimer < 4836if cnzEggman[arrayPos0].isClawWide == false37foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)38BoxCollisionTest(C_TOUCH, object.entityPos, -16, 40, 16, 48, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)39if checkResult == true40CallFunction(Player_Hit)41end if42next43else44foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)45BoxCollisionTest(C_TOUCH, object.entityPos, -28, 32, 28, 40, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)46if checkResult == true47CallFunction(Player_Hit)48end if49next50end if51end if5253object.animationTimer++54object.animationTimer %= 655end if56else57object.xpos += object.xvel58object.ypos += object.yvel59object.yvel += 0x38006061if object.outOfBounds == true62object.type = TypeName[Blank Object]63end if64end if65end event666768event ObjectDraw69if object.state == CNZEGGMANCLAW_ACTIVE70arrayPos0 = object.parent71object.direction = object[arrayPos0].direction7273object.frame = cnzEggman[arrayPos0].isClawWide74object.frame <<= 175object.frame += object.propertyValue76DrawSpriteFX(object.frame, FX_FLIP, object[arrayPos0].xpos, object[arrayPos0].ypos)7778if object.electricityActive == true79object.electricityFrame = cnzEggman[arrayPos0].isClawWide80object.electricityFrame *= 38182temp0 = object.animationTimer83temp0 >>= 184object.electricityFrame += temp085object.electricityFrame += 486DrawSpriteFX(object.electricityFrame, FX_FLIP, object[arrayPos0].xpos, object[arrayPos0].ypos)87end if88else89DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)90end if91end event929394event ObjectStartup95CheckCurrentStageFolder("Zone04")96if checkResult == true97LoadSpriteSheet("CNZ/Objects.gif")98SpriteFrame(-28, 24, 16, 24, 77, 231) // Claw L (Closed) - #099SpriteFrame(8, 19, 24, 28, 150, 227) // Claw R (Closed) - #1100SpriteFrame(-37, 19, 16, 20, 94, 235) // Claw L (Open) - #2101SpriteFrame(8, 17, 38, 22, 111, 233) // Claw R (Open) - #3102SpriteFrame(-16, 40, 32, 7, 142, 205) // Electricity (Short) - #4103SpriteFrame(-16, 40, 32, 7, 142, 213) // Electricity (Short) - #5104SpriteFrame(-16, 41, 32, 5, 142, 221) // Electricity (Short) - #6105SpriteFrame(-28, 33, 64, 6, 77, 209) // Electricity (Wide) - #7106SpriteFrame(-28, 32, 64, 8, 77, 216) // Electricity (Wide) - #8107SpriteFrame(-28, 34, 64, 5, 77, 225) // Electricity (Wide) - #9108else109LoadSpriteSheet("MBZ/Objects.gif")110SpriteFrame(-28, 24, 16, 24, 134, 154) // Claw L (Closed) - #0111SpriteFrame(8, 19, 24, 28, 207, 154) // Claw R (Closed) - #1112SpriteFrame(-37, 19, 16, 20, 151, 154) // Claw L (Open) - #2113SpriteFrame(8, 17, 38, 22, 168, 154) // Claw R (Open) - #3114SpriteFrame(-16, 40, 32, 7, 167, 130) // Electricity (Short) - #4115SpriteFrame(-16, 40, 32, 7, 167, 138) // Electricity (Short) - #5116SpriteFrame(-16, 41, 32, 5, 167, 146) // Electricity (Short) - #6117SpriteFrame(-28, 33, 64, 6, 167, 108) // Electricity (Wide) - #7118SpriteFrame(-28, 32, 64, 8, 167, 115) // Electricity (Wide) - #8119SpriteFrame(-28, 34, 64, 5, 167, 124) // Electricity (Wide) - #9120end if121end event122123124// ========================125// Editor Events126// ========================127128event RSDKDraw129DrawSprite(0)130end event131132133event RSDKLoad134CheckCurrentStageFolder("Zone04")135if checkResult == true136LoadSpriteSheet("CNZ/Objects.gif")137SpriteFrame(-28, 24, 16, 24, 77, 231)138else139LoadSpriteSheet("MBZ/Objects.gif")140SpriteFrame(-28, 24, 16, 24, 134, 154)141end if142143SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")144end event145146147