Path: blob/master/Sonic 2/Scripts/HTZ/GroundFlame.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Ground Flame Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer1213// Path ID Aliases14private alias 0 : PATH_A151617// ========================18// Tables19// ========================2021private table GroundFlame_aniTable224, 5, 2, 3, 0, 1, 0, 1, 2, 3, 4, 5, 623end table2425private table GroundFlame_hitboxes260, 0, -8, -8, -15, -1527end table282930// ========================31// Events32// ========================3334event ObjectUpdate35ObjectTileGrip(CSIDE_FLOOR, 0, 9, PATH_A)36if checkResult == false37object.type = TypeName[Blank Object]38end if3940temp0 = object.animationTimer41temp0 /= 642GetTableValue(object.frame, temp0, GroundFlame_aniTable)4344object.animationTimer++45if object.animationTimer == 1046if object.timer > 047CreateTempObject(TypeName[Ground Flame], 0, object.xpos, object.ypos)48if object.direction == FLIP_NONE49object[tempObjectPos].xpos -= 0xE000050else51object[tempObjectPos].xpos += 0xE000052end if53object[tempObjectPos].timer = object.timer54object[tempObjectPos].timer--55object[tempObjectPos].direction = object.direction56end if57end if5859if object.frame == 660object.type = TypeName[Blank Object]61else62GetTableValue(temp0, object.frame, GroundFlame_hitboxes)63foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)64BoxCollisionTest(C_TOUCH, object.entityPos, -8, temp0, 8, 16, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)65if checkResult == true66CallFunction(Player_FireHit)67end if68next69end if7071if object.outOfBounds == true72object.type = TypeName[Blank Object]73end if74end event757677event ObjectDraw78DrawSprite(object.frame)79end event808182event ObjectStartup83CheckCurrentStageFolder("Zone05")84if checkResult == true85LoadSpriteSheet("HTZ/Objects.gif")86SpriteFrame(-8, -15, 16, 31, 1, 1)87SpriteFrame(-8, -15, 16, 31, 18, 1)88SpriteFrame(-8, -8, 16, 24, 35, 1)89SpriteFrame(-8, -8, 16, 24, 35, 26)90SpriteFrame(-8, 0, 16, 16, 1, 33)91SpriteFrame(-8, 0, 16, 16, 18, 33)92else93LoadSpriteSheet("MBZ/Objects.gif")9495// These sprites have different offsets than their HTZ versions96SpriteFrame(-8, -19, 16, 31, 869, 68)97SpriteFrame(-8, -19, 16, 31, 886, 68)98SpriteFrame(-8, -12, 16, 24, 973, 21)99SpriteFrame(-8, -12, 16, 24, 990, 21)100SpriteFrame(-8, -4, 16, 16, 835, 71)101SpriteFrame(-8, -4, 16, 16, 852, 71)102end if103end event104105106// ========================107// Editor Events108// ========================109110event RSDKDraw111DrawSprite(0)112end event113114115event RSDKLoad116CheckCurrentStageFolder("Zone05")117if checkResult == true118LoadSpriteSheet("HTZ/Objects.gif")119SpriteFrame(-8, -15, 16, 31, 1, 1)120else121LoadSpriteSheet("MBZ/Objects.gif")122SpriteFrame(-8, -19, 16, 31, 869, 68)123end if124125SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")126end event127128129