Path: blob/master/Sonic 2/Scripts/DEZ/DERBomb.txt
1482 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: DER Bomb Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer12private alias object.value1 : object.originPos.y1314private alias 0 : DERBOMB_LAUNCHED15private alias 1 : DERBOMB_LANDED16private alias 2 : DERBOMB_EXPLODING1718// Path ID Aliases19private alias 0 : PATH_A202122// ========================23// Events24// ========================2526event ObjectUpdate27switch object.state28case DERBOMB_LAUNCHED29object.xpos += object.xvel30object.ypos += object.yvel31object.yvel += 0x38003233// Only check for collision if lower than where it started from34// (If there's a roof, we don't want to land on it)35if object.ypos > object.originPos.y36ObjectTileCollision(CSIDE_FLOOR, 0, 16, PATH_A)37if checkResult == true38object.timer = 6439object.state = DERBOMB_LANDED40end if41end if42break4344case DERBOMB_LANDED45object.timer--46if object.timer < 047object.timer = 4048object.frame = 149CreateTempObject(TypeName[Explosion], 0, object.xpos, object.ypos)50object[tempObjectPos].drawOrder = 551PlaySfx(SfxName[Explosion], false)52object.state = DERBOMB_EXPLODING53end if54break5556case DERBOMB_EXPLODING57object.timer--58if object.timer < 059object.state = 060object.frame = 061object.type = TypeName[Blank Object]62end if63break6465end switch6667foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)68BoxCollisionTest(C_TOUCH, object.entityPos, -12, -16, 12, 16, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)69if checkResult == true70CallFunction(Player_Hit)71end if72next73end event747576event ObjectDraw77DrawSprite(object.frame)78end event798081event ObjectStartup82CheckCurrentStageFolder("Zone12")83if checkResult == true84LoadSpriteSheet("DEZ/Objects.gif")8586// Aerial Bomb Frame87SpriteFrame(-14, -16, 28, 32, 401, 125)8889// Grounded Bomb Frame90SpriteFrame(0, 0, 1, 1, 401, 125)9192// Unused Bomb Shrapnel Frames93SpriteFrame(-4, -4, 8, 8, 356, 187)94SpriteFrame(-4, -4, 8, 8, 365, 187)95else96LoadSpriteSheet("MBZ/Objects.gif")9798// Aerial Bomb Frame99SpriteFrame(-14, -16, 28, 32, 913, 125)100101// Grounded Bomb Frame102SpriteFrame(0, 0, 1, 1, 913, 125)103104// Unused Bomb Shrapnel Frames105SpriteFrame(-4, -4, 8, 8, 868, 187)106SpriteFrame(-4, -4, 8, 8, 877, 187)107end if108end event109110111// ========================112// Editor Events113// ========================114115event RSDKDraw116DrawSprite(0)117end event118119120event RSDKLoad121CheckCurrentStageFolder("Zone12")122if checkResult == true123LoadSpriteSheet("DEZ/Objects.gif")124SpriteFrame(-14, -16, 28, 32, 401, 125)125else126LoadSpriteSheet("MBZ/Objects.gif")127SpriteFrame(-14, -16, 28, 32, 913, 125)128end if129130SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")131end event132133134