Path: blob/master/Sonic 1/Scripts/Enemies/BallHogBomb.txt
1482 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Ball Hog Bomb Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.time // Set by Ball Hog object when creating this projectile1213// Path ID Aliases14private alias 0 : PATH_A151617// ========================18// Events19// ========================2021event ObjectUpdate22object.xpos += object.xvel23object.ypos += object.yvel24object.yvel += 0x38002526if object.yvel > 027temp0 = object.ypos2829ObjectTileCollision(CSIDE_FLOOR, 0, 8, PATH_A)30if checkResult == true31object.yvel = -0x3000032object.ypos = temp033ObjectTileGrip(CSIDE_FLOOR, -2, 8, PATH_A)34temp1 = object.ypos35object.ypos = temp036ObjectTileGrip(CSIDE_FLOOR, 2, 8, PATH_A)37temp2 = object.ypos38object.ypos = temp039if object.xvel > 040if temp2 < temp141FlipSign(object.xvel)42end if43else44if temp1 < temp245FlipSign(object.xvel)46end if47end if48end if49end if5051foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)52BoxCollisionTest(C_TOUCH, object.entityPos, -6, -6, 6, 6, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)53if checkResult == true54CallFunction(Player_Hit)55end if56next5758object.animationTimer++59if object.animationTimer >= 660object.frame ^= 161object.animationTimer = 062end if6364// Update the bomb's countdown timer65if object.time > 066object.time--67else68// Explode the bomb69ResetObjectEntity(object.entityPos, TypeName[Blank Object], 0, object.xpos, object.ypos)70CreateTempObject(TypeName[Explosion], 0, object.xpos, object.ypos)71object[tempObjectPos].drawOrder = 472PlaySfx(SfxName[Explosion], false)73end if74end event757677event ObjectDraw78DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)79end event808182event ObjectStartup83CheckCurrentStageFolder("Zone06")84if checkResult == true85LoadSpriteSheet("SBZ/Objects.gif")86SpriteFrame(-7, -7, 14, 14, 82, 126)87SpriteFrame(-7, -7, 14, 14, 82, 143)88end if8990CheckCurrentStageFolder("Zone07")91if checkResult == true92LoadSpriteSheet("MBZ/Objects.gif")93SpriteFrame(-7, -7, 14, 14, 165, 248)94SpriteFrame(-7, -7, 14, 14, 182, 248)95end if96end event979899// ========================100// Editor Events101// ========================102103event RSDKDraw104DrawSprite(0)105end event106107108event RSDKLoad109CheckCurrentStageFolder("Zone07")110if checkResult == true111LoadSpriteSheet("MBZ/Objects.gif")112SpriteFrame(-7, -7, 14, 14, 165, 248)113else114LoadSpriteSheet("SBZ/Objects.gif")115SpriteFrame(-7, -7, 14, 14, 82, 126)116end if117118SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")119end event120121122