Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-Sonic-2-2013-Script-Decompilation
Path: blob/master/Sonic 2/Scripts/OOZ/EggmanFlame.txt
1483 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: Eggman Flame Object
4
// Script Author: Christian Whitehead/Simon Thomley
5
// Unpacked by Rubberduckycooly's script unpacker
6
// ----------------------------------
7
8
// ========================
9
// Aliases
10
// ========================
11
12
private alias object.value0 : object.timer
13
14
15
// ========================
16
// Tables
17
// ========================
18
19
// This is probably meant for hitbox top or something... except for the fact its not actually used
20
// Using it as the value for hitbox top displays hitboxes that suit the animated frame far better so...
21
private table OOZEggmanFlame_unusedTable
22
-4, -12, -20, -24, -24, -20, -12, -4
23
end table
24
25
26
// ========================
27
// Events
28
// ========================
29
30
event ObjectUpdate
31
foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)
32
GetTableValue(temp0, object.frame, OOZEggmanFlame_unusedTable) // fetch the value... but don't do anything with it?
33
34
// BoxCollisionTest(C_TOUCH, object.entityPos, -8, temp0, 8, 0, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX) // presumably this is how it used to be before?
35
BoxCollisionTest(C_TOUCH, object.entityPos, -8, -8, 8, 0, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)
36
if checkResult == true
37
CallFunction(Player_Hit)
38
end if
39
next
40
41
object.frame = object.timer
42
object.frame >>= 2
43
44
object.timer++
45
if object.timer == 32
46
object.type = TypeName[Blank Object]
47
end if
48
end event
49
50
51
event ObjectDraw
52
DrawSprite(object.frame)
53
end event
54
55
56
event ObjectStartup
57
CheckCurrentStageFolder("Zone07")
58
if checkResult == true
59
LoadSpriteSheet("OOZ/Objects.gif")
60
SpriteFrame(-8, -7, 16, 7, 328, 231)
61
SpriteFrame(-8, -16, 16, 16, 328, 239)
62
SpriteFrame(-8, -24, 16, 24, 345, 231)
63
SpriteFrame(-8, -31, 16, 31, 362, 224)
64
SpriteFrame(-8, -31, 16, 31, 362, 224)
65
SpriteFrame(-8, -24, 16, 24, 345, 231)
66
SpriteFrame(-8, -16, 16, 16, 328, 239)
67
SpriteFrame(-8, -7, 16, 7, 328, 231)
68
else
69
LoadSpriteSheet("MBZ/Objects.gif")
70
SpriteFrame(-8, -7, 16, 7, 380, 55)
71
SpriteFrame(-8, -16, 16, 16, 470, 207)
72
SpriteFrame(-8, -24, 16, 24, 453, 199)
73
SpriteFrame(-8, -31, 16, 31, 380, 63)
74
SpriteFrame(-8, -31, 16, 31, 380, 63)
75
SpriteFrame(-8, -24, 16, 24, 453, 199)
76
SpriteFrame(-8, -16, 16, 16, 470, 207)
77
SpriteFrame(-8, -7, 16, 7, 380, 55)
78
end if
79
end event
80
81
82
// ========================
83
// Editor Events
84
// ========================
85
86
event RSDKDraw
87
DrawSprite(0)
88
end event
89
90
91
event RSDKLoad
92
CheckCurrentStageFolder("Zone07")
93
if checkResult == true
94
LoadSpriteSheet("OOZ/Objects.gif")
95
SpriteFrame(-8, -24, 16, 24, 345, 231)
96
else
97
LoadSpriteSheet("MBZ/Objects.gif")
98
SpriteFrame(-8, -24, 16, 24, 453, 199)
99
end if
100
101
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
102
end event
103
104