Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-Sonic-2-2013-Script-Decompilation
Path: blob/master/Sonic 1/Scripts/Enemies/BombShrapnel.txt
1483 views
1
// ----------------------------------
2
// RSDK Project: Sonic 1
3
// Script Description: Bomb Shrapnel Object
4
// Script Author: Christian Whitehead/Simon Thomley
5
// Unpacked by Rubberduckycooly's script unpacker
6
// ----------------------------------
7
8
// ========================
9
// Events
10
// ========================
11
12
event ObjectUpdate
13
object.xpos += object.xvel
14
object.ypos += object.yvel
15
object.yvel += 0x1800
16
17
temp1 = 0
18
temp0 = object.xpos
19
temp0 >>= 16
20
temp0 -= camera[0].xpos
21
Abs(temp0)
22
temp0 -= 16
23
if temp0 <= screen.xcenter
24
temp0 = object.ypos
25
temp0 >>= 16
26
temp0 -= camera[0].ypos
27
Abs(temp0)
28
temp0 -= 16
29
if temp0 <= screen.ycenter
30
temp1 = 1
31
end if
32
end if
33
34
if temp1 == 0
35
object.type = TypeName[Blank Object]
36
end if
37
38
foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)
39
BoxCollisionTest(C_TOUCH, object.entityPos, -6, -6, 6, 6, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)
40
if checkResult == true
41
CallFunction(Player_ProjectileHit)
42
end if
43
next
44
45
object.frame = object.animationTimer
46
object.frame >>= 2
47
object.animationTimer++
48
object.animationTimer &= 7
49
end event
50
51
52
event ObjectDraw
53
DrawSprite(object.frame)
54
end event
55
56
57
event ObjectStartup
58
CheckCurrentStageFolder("Zone05")
59
if checkResult == true
60
LoadSpriteSheet("SLZ/Objects.gif")
61
SpriteFrame(-4, -4, 8, 8, 67, 170)
62
SpriteFrame(-4, -4, 8, 8, 67, 179)
63
end if
64
65
CheckCurrentStageFolder("Zone06")
66
if checkResult == true
67
LoadSpriteSheet("SBZ/Objects.gif")
68
SpriteFrame(-4, -4, 8, 8, 66, 79)
69
SpriteFrame(-4, -4, 8, 8, 66, 88)
70
end if
71
72
CheckCurrentStageFolder("Zone07")
73
if checkResult == true
74
LoadSpriteSheet("MBZ/Objects.gif")
75
SpriteFrame(-4, -4, 8, 8, 67, 367)
76
SpriteFrame(-4, -4, 8, 8, 67, 376)
77
end if
78
end event
79
80
81
// ========================
82
// Editor Events
83
// ========================
84
85
event RSDKDraw
86
DrawSprite(0)
87
end event
88
89
90
event RSDKLoad
91
// Make sure we have a fall-back, in case the current folder isn't actually a valid one
92
temp0 = false
93
94
CheckCurrentStageFolder("Zone06")
95
temp0 |= checkResult
96
if checkResult == true
97
LoadSpriteSheet("SBZ/Objects.gif")
98
SpriteFrame(-4, -4, 8, 8, 66, 79)
99
SpriteFrame(-4, -4, 8, 8, 66, 88)
100
end if
101
102
CheckCurrentStageFolder("Zone07")
103
temp0 |= checkResult
104
if checkResult == true
105
LoadSpriteSheet("MBZ/Objects.gif")
106
SpriteFrame(-4, -4, 8, 8, 67, 367)
107
SpriteFrame(-4, -4, 8, 8, 67, 376)
108
end if
109
110
if temp0 == false
111
// We use SLZ's sprites as the fallback, "Zone05" (SLZ's folder) will come here too
112
LoadSpriteSheet("SLZ/Objects.gif")
113
SpriteFrame(-4, -4, 8, 8, 67, 170)
114
SpriteFrame(-4, -4, 8, 8, 67, 179)
115
end if
116
117
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
118
end event
119
120