Path: blob/master/Sonic 1/Scripts/Enemies/CrabmeatShot.txt
1488 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Crabmeat Shot Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer121314// ========================15// Events16// ========================1718event ObjectUpdate19object.xpos += object.xvel20object.ypos += object.yvel21object.yvel += 0x38002223object.frame = object.timer24object.frame >>= 125object.timer++26object.timer &= 32728if object.outOfBounds == true29object.type = TypeName[Blank Object]30end if3132temp0 = object.ypos33temp0 >>= 1634temp0 -= camera[0].ypos35Abs(temp0)36if temp0 > 13637object.type = TypeName[Blank Object]38end if3940foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)41BoxCollisionTest(C_TOUCH, object.entityPos, -6, -6, 6, 6, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)42if checkResult == true43CallFunction(Player_ProjectileHit)44end if45next46end event474849event ObjectDraw50DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)51end event525354event ObjectStartup55CheckCurrentStageFolder("Zone01")56if checkResult == true57LoadSpriteSheet("GHZ/Objects.gif")58SpriteFrame(-6, -6, 12, 12, 179, 127)59SpriteFrame(-6, -6, 12, 12, 179, 140)60end if6162CheckCurrentStageFolder("Zone03")63if checkResult == true64LoadSpriteSheet("SYZ/Objects.gif")65SpriteFrame(-6, -6, 12, 12, 227, 1)66SpriteFrame(-6, -6, 12, 12, 240, 1)67end if6869CheckCurrentStageFolder("Zone07")70if checkResult == true71LoadSpriteSheet("MBZ/Objects.gif")72SpriteFrame(-6, -6, 12, 12, 47, 1)73SpriteFrame(-6, -6, 12, 12, 60, 1)74end if75end event767778// ========================79// Editor Events80// ========================8182event RSDKDraw83DrawSprite(0)84end event858687event RSDKLoad88// Make sure we have a fall-back, in case the current folder isn't actually a valid one89temp0 = false9091CheckCurrentStageFolder("Zone03")92temp0 |= checkResult93if checkResult == true94LoadSpriteSheet("SYZ/Objects.gif")95SpriteFrame(-6, -6, 12, 12, 227, 1)96end if9798CheckCurrentStageFolder("Zone07")99temp0 |= checkResult100if checkResult == true101LoadSpriteSheet("MBZ/Objects.gif")102SpriteFrame(-6, -6, 12, 12, 47, 1)103end if104105if temp0 == false106// We use GHZ's sprites as the fallback, "Zone01" (GHZ's folder) will come here too107LoadSpriteSheet("GHZ/Objects.gif")108SpriteFrame(-6, -6, 12, 12, 179, 127)109end if110111SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")112end event113114115