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/Global/BlueShield2.txt
1480 views
1
// ----------------------------------
2
// RSDK Project: Sonic 1
3
// Script Description: Blue Shield 2 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
// Player Aliases
15
private alias object.state : player.state
16
private alias object.xpos : player.xpos
17
private alias object.ypos : player.ypos
18
19
private alias -1 : DRAWORDER_PLAYER
20
21
// Super States
22
private alias 1 : SUPERSTATE_SUPER
23
24
25
// ========================
26
// Events
27
// ========================
28
29
event ObjectUpdate
30
object.drawOrder = DRAWORDER_PLAYER
31
32
// Dead players shouldn't have any shields
33
if player[-playerCount].state == Player_State_Death
34
object.type = TypeName[Blank Object]
35
end if
36
37
// No shields here, either
38
if player[-playerCount].state == Player_State_Drown
39
object.type = TypeName[Blank Object]
40
end if
41
42
// Update the object's animation
43
object.frame = object.timer
44
object.frame >>= 1
45
46
object.timer++
47
object.timer %= 10
48
end event
49
50
51
event ObjectDraw
52
// Super characters shouldn't have shields
53
if Player_superState != SUPERSTATE_SUPER
54
DrawSpriteFX(object.frame, FX_INK, player[-playerCount].xpos, player[-playerCount].ypos)
55
DrawSpriteFX(5, FX_INK, player[-playerCount].xpos, player[-playerCount].ypos)
56
end if
57
end event
58
59
60
event ObjectStartup
61
LoadSpriteSheet("Global/Items.gif")
62
63
// Shield frames
64
SpriteFrame(-16, -16, 32, 32, 18, 34) // 0
65
SpriteFrame(-16, -16, 32, 32, 18, 67) // 1
66
SpriteFrame(-16, -16, 32, 32, 85, 27) // 2
67
SpriteFrame(-16, -16, 32, 32, 85, 60) // 3
68
SpriteFrame(-16, -16, 32, 32, 85, 93) // 4
69
SpriteFrame(-24, -24, 48, 48, 35, 117) // Center circle thing that always gets drawn
70
end event
71
72
73
// ========================
74
// Editor Events
75
// ========================
76
77
event RSDKDraw
78
DrawSprite(0)
79
DrawSprite(1)
80
end event
81
82
83
event RSDKLoad
84
LoadSpriteSheet("Global/Items.gif")
85
SpriteFrame(-16, -16, 32, 32, 18, 34)
86
SpriteFrame(-24, -24, 48, 48, 35, 117)
87
88
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
89
end event
90
91