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/EggmanLaser.txt
1480 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: Eggman Laser 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
private alias object.value1 : object.lastGroundPos.x
14
15
// Path ID Aliases
16
private alias 0 : PATH_A
17
18
19
// ========================
20
// Events
21
// ========================
22
23
event ObjectUpdate
24
object.xpos += object.xvel
25
26
foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)
27
BoxCollisionTest(C_TOUCH, object.entityPos, -16, -2, 16, 2, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)
28
if checkResult == true
29
CallFunction(Player_Hit)
30
end if
31
next
32
33
temp0 = object.xpos
34
temp0 >>= 20
35
if temp0 != object.lastGroundPos.x
36
object.lastGroundPos.x = object.xpos
37
object.lastGroundPos.x >>= 20
38
ObjectTileGrip(CSIDE_FLOOR, 0, 1, PATH_A)
39
if checkResult == true
40
temp0 = object.lastGroundPos.x
41
temp0 <<= 20
42
temp0 += 0x80000
43
temp1 = object.ypos
44
temp1 += 0x20000
45
CreateTempObject(TypeName[Eggman Flame], 0, temp0, temp1)
46
47
PlaySfx(SfxName[Laser Skim], false)
48
end if
49
end if
50
51
if object.timer < 2
52
object.timer++
53
else
54
object.frame = 1
55
end if
56
57
if object.outOfBounds == true
58
object.type = TypeName[Blank Object]
59
end if
60
end event
61
62
63
event ObjectDraw
64
DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)
65
end event
66
67
68
event ObjectStartup
69
CheckCurrentStageFolder("Zone07")
70
if checkResult == true
71
LoadSpriteSheet("OOZ/Objects.gif")
72
SpriteFrame(-16, -2, 16, 4, 149, 241)
73
SpriteFrame(-16, -2, 32, 4, 149, 241)
74
else
75
LoadSpriteSheet("MBZ/Objects.gif")
76
SpriteFrame(-16, -2, 16, 4, 594, 176)
77
SpriteFrame(-16, -2, 32, 4, 594, 176)
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(-16, -2, 16, 4, 149, 241)
96
else
97
LoadSpriteSheet("MBZ/Objects.gif")
98
SpriteFrame(-16, -2, 16, 4, 594, 176)
99
end if
100
101
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
102
end event
103
104