Path: blob/main/Scripts/R4/RotatingSpikes.txt
1319 views
//--------------Sonic CD Rotating Spikes Script-----.---------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Angle678sub ObjectMain9Object.Angle += 210Object.Angle &= 51111end sub121314sub ObjectPlayerInteraction15TempValue0 = 01617TempValue1 = Object.PropertyValue18TempValue1--19TempValue1 <<= 42021TempValue2 = Object.XPos22TempValue3 = Object.YPos2324Cos(Object.XPos, Object.Angle)25Object.XPos *= TempValue126Object.XPos <<= 727Object.XPos += TempValue22829Sin(Object.YPos, Object.Angle)30Object.YPos *= TempValue131Object.YPos <<= 732Object.YPos += TempValue33334PlayerObjectCollision(C_TOUCH, -12, -12, 12, 12)35if CheckResult == true36CallFunction(Player_Hit)37end if3839Object.XPos = TempValue240Object.YPos = TempValue341end sub424344sub ObjectDraw45DrawSprite(0)46TempValue0 = 047TempValue1 = 164849TempValue4 = Object.PropertyValue50TempValue4--51while TempValue0 < TempValue452Cos(TempValue2, Object.Angle)53TempValue2 *= TempValue154TempValue2 <<= 755TempValue2 += Object.XPos5657Sin(TempValue3, Object.Angle)58TempValue3 *= TempValue159TempValue3 <<= 760TempValue3 += Object.YPos61DrawSpriteXY(1, TempValue2, TempValue3)6263TempValue0++64TempValue1 += 1665loop6667Cos(TempValue2, Object.Angle)68TempValue2 *= TempValue169TempValue2 <<= 770TempValue2 += Object.XPos7172Sin(TempValue3, Object.Angle)73TempValue3 *= TempValue174TempValue3 <<= 775TempValue3 += Object.YPos76DrawSpriteXY(2, TempValue2, TempValue3)77end sub787980sub ObjectStartup81LoadSpriteSheet("R4/Objects.gif")8283SpriteFrame(-8, -8, 16, 16, 163, 52) // #0 - Spike Joint84SpriteFrame(-8, -8, 16, 16, 180, 52) // #1 - Chain85SpriteFrame(-16, -16, 32, 32, 221, 53) // #2 - Spike Ball86end sub878889// ========================90// Editor Subs91// ========================9293sub RSDKDraw94DrawSprite(0)95TempValue0 = 096TempValue1 = 169798TempValue4 = Object.PropertyValue99TempValue4--100while TempValue0 < TempValue4101Cos(TempValue2, Object.Angle)102TempValue2 *= TempValue1103TempValue2 <<= 7104TempValue2 += Object.XPos105106Sin(TempValue3, Object.Angle)107TempValue3 *= TempValue1108TempValue3 <<= 7109TempValue3 += Object.YPos110DrawSpriteXY(1, TempValue2, TempValue3)111112TempValue0++113TempValue1 += 16114loop115116Cos(TempValue2, Object.Angle)117TempValue2 *= TempValue1118TempValue2 <<= 7119TempValue2 += Object.XPos120121Sin(TempValue3, Object.Angle)122TempValue3 *= TempValue1123TempValue3 <<= 7124TempValue3 += Object.YPos125DrawSpriteXY(2, TempValue2, TempValue3)126end sub127128129sub RSDKLoad130LoadSpriteSheet("R4/Objects.gif")131132SpriteFrame(-8, -8, 16, 16, 163, 52) // #0 - Spike Joint133SpriteFrame(-8, -8, 16, 16, 180, 52) // #1 - Chain134SpriteFrame(-16, -16, 32, 32, 221, 53) // #2 - Spike Ball135136SetVariableAlias(ALIAS_VAR_PROPVAL, "chainAmount")137end sub138139140