Path: blob/main/Scripts/R4/ShootingFace.txt
1319 views
//--------------Sonic CD Shooting Face Script-----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Alias5#alias Object.Value0 : Object.Timer67// Face Projectile alias8#alias Object.XPos : FaceProjectile.XPos9#alias Object.YPos : FaceProjectile.YPos10#alias Object.Value1 : FaceProjectile.XVelocity11#alias Object.Direction : FaceProjectile.Direction1213// Property Values14#alias 0 : LOOKING_RIGHT15#alias 1 : LOOKING_LEFT161718sub ObjectMain19Object.Timer++20if Object.Timer == 3221Object.Timer = 022CreateTempObject(TypeName[Face Projectile], 0, Object.XPos, Object.YPos)23if Object.PropertyValue == LOOKING_RIGHT24FaceProjectile[TempObjectPos].XPos += 0x10000025FaceProjectile[TempObjectPos].Direction = FACING_RIGHT26FaceProjectile[TempObjectPos].XVelocity = -0x3000027else28FaceProjectile[TempObjectPos].XPos -= 0x10000029FaceProjectile[TempObjectPos].Direction = FACING_LEFT30FaceProjectile[TempObjectPos].XVelocity = 0x3000031end if32FaceProjectile[TempObjectPos].YPos += 0x4000033end if34end sub353637sub ObjectDraw38DrawSprite(Object.PropertyValue)39end sub404142sub ObjectStartup43LoadSpriteSheet("R4/Objects2.gif")4445SpriteFrame(-8, -16, 16, 32, 118, 151) // #0 - Face Projectile facing left46SpriteFrame(-8, -16, 16, 32, 135, 151) // #1 - Face Projectile facing right4748// Used to be below LoadSpriteSheet, moved here for consistency49ArrayPos0 = 3250while ArrayPos0 < 105651if Object[ArrayPos0].Type == TypeName[Shooting Face]52Object[ArrayPos0].DrawOrder = 453end if54ArrayPos0++55loop56end sub575859// ========================60// Editor Subs61// ========================6263sub RSDKEdit64if Editor.ReturnVariable == true65switch Editor.VariableID66case EDIT_VAR_PROPVAL // Property Value67CheckResult = Object.PropertyValue68break69case 0 // blocks70CheckResult = Object.PropertyValue71break72end switch73else74switch Editor.VariableID75case EDIT_VAR_PROPVAL // Property Value76Object.PropertyValue = Editor.VariableValue77break78case 0 // blocks79Object.PropertyValue = Editor.VariableValue80break81end switch82end if83end sub848586sub RSDKDraw87DrawSprite(Object.PropertyValue)88end sub899091sub RSDKLoad92LoadSpriteSheet("R4/Objects2.gif")9394SpriteFrame(-8, -16, 16, 32, 118, 151) // #0 - Face Projectile facing left95SpriteFrame(-8, -16, 16, 32, 135, 151) // #1 - Face Projectile facing right9697AddEditorVariable("direction")98SetActiveVariable("direction")99AddEnumVariable("Facing left", 0)100AddEnumVariable("Facing right", 1)101end sub102103104