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/Global/BlueShield.txt
1480 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: Blue Shield 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
private alias -1 : DRAWORDER_PLAYER
15
16
// Player aliases
17
private alias object.state : player.state
18
private alias object.xpos : player.xpos
19
private alias object.ypos : player.ypos
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 player 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
object.timer++
46
object.timer %= 10
47
end event
48
49
50
event ObjectDraw
51
// Super characters shouldn't have shields
52
if Player_superState != SUPERSTATE_SUPER
53
DrawSpriteFX(object.frame, FX_INK, player[-playerCount].xpos, player[-playerCount].ypos)
54
DrawSpriteFX(5, FX_INK, player[-playerCount].xpos, player[-playerCount].ypos)
55
end if
56
end event
57
58
59
event ObjectStartup
60
LoadSpriteSheet("Global/Items.gif")
61
62
// Shield frames
63
SpriteFrame(-16, -16, 32, 32, 190, 50) // 0
64
SpriteFrame(-16, -16, 32, 32, 223, 50) // 1
65
SpriteFrame(-16, -16, 32, 32, 190, 83) // 2
66
SpriteFrame(-16, -16, 32, 32, 223, 83) // 3
67
SpriteFrame(-16, -16, 32, 32, 190, 116) // 4
68
SpriteFrame(-24, -24, 48, 48, 151, 1) // Center circle
69
end event
70
71
72
// ========================
73
// Editor Events
74
// ========================
75
76
event RSDKDraw
77
DrawSprite(0)
78
end event
79
80
81
event RSDKLoad
82
LoadSpriteSheet("Global/Display.gif")
83
SpriteFrame(-16, -16, 32, 32, 1, 143)
84
85
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
86
end event
87
88