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/BlueShield.txt
1480 views
1
// ----------------------------------
2
// RSDK Project: Sonic 1
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
// 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 player shouldn't have any shield
33
if player[-playerCount].state == Player_State_Death
34
object.type = TypeName[Blank Object]
35
end if
36
37
// Drowned player shouldn't have any shield, 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.timer++
44
if object.timer == 2
45
object.timer = 0
46
object.frame++
47
if object.frame > 5
48
object.frame = 0
49
end if
50
end if
51
end event
52
53
54
event ObjectDraw
55
// Super characters shouldn't have shields
56
// Object isn't just erased in case the player untransforms
57
if Player_superState != SUPERSTATE_SUPER
58
DrawSpriteFX(object.frame, FX_INK, player[-playerCount].xpos, player[-playerCount].ypos)
59
end if
60
end event
61
62
63
event ObjectStartup
64
LoadSpriteSheet("Global/Items2.gif")
65
66
// Shield frames
67
SpriteFrame(-24, -24, 48, 48, 109, 196)
68
SpriteFrame(0, 0, 0, 0, 109, 196)
69
SpriteFrame(-24, -24, 48, 48, 158, 196)
70
SpriteFrame(0, 0, 0, 0, 109, 196)
71
SpriteFrame(-24, -24, 48, 48, 207, 196)
72
SpriteFrame(0, 0, 0, 0, 109, 196)
73
end event
74
75
76
// ========================
77
// Editor Events
78
// ========================
79
80
event RSDKDraw
81
DrawSprite(0)
82
end event
83
84
85
event RSDKLoad
86
LoadSpriteSheet("Global/Items2.gif")
87
SpriteFrame(-24, -24, 48, 48, 109, 196)
88
89
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
90
end event
91
92