Handle noteskin lua. Thanks to Jousway.
This commit is contained in:
@@ -1,10 +1,21 @@
|
||||
return Def.ActorFrame {
|
||||
-- We want this under the noteskin, so that we it looks like a laser (?)
|
||||
LoadActor( NOTESKIN:GetPath("", "_Tap Receptor"), NOTESKIN:LoadActor( Var "Button", "KeypressBlock" ) ) .. {
|
||||
InitCommand=cmd(vertalign,top;zoomx,0);
|
||||
InitCommand=function(self)
|
||||
self:vertalign(top);
|
||||
self:zoomx(0);
|
||||
end;
|
||||
-- Press/Lift allows this to appear and disappear
|
||||
PressCommand=cmd(zoomx,0;linear,0.02;zoomx,1);
|
||||
LiftCommand=cmd(zoomx,1;linear,0.14;zoomx,0);
|
||||
PressCommand=function(self)
|
||||
self:zoomx(0);
|
||||
self:linear(0.02);
|
||||
self:zoomx(1);
|
||||
end;
|
||||
LiftCommand=function(self)
|
||||
self:zoomx(1);
|
||||
self:linear(0.14);
|
||||
self:zoomx(0);
|
||||
end;
|
||||
};
|
||||
-- Overlay the receptor.
|
||||
LoadActor( NOTESKIN:GetPath("", "_Tap Receptor"), NOTESKIN:LoadActor( Var "Button", "Go Receptor" ) );
|
||||
|
||||
@@ -1,29 +1,59 @@
|
||||
local t = Def.ActorFrame { };
|
||||
t[#t+1] = NOTESKIN:LoadActor( Var "Button", "Hold Explosion" ) .. {
|
||||
HoldingOnCommand=cmd(visible,true);
|
||||
HoldingOffCommand=cmd(visible,false);
|
||||
InitCommand=cmd(visible,false;finishtweening;blend,"BlendMode_Add");
|
||||
HoldingOnCommand=function(self)
|
||||
self:visible(true);
|
||||
end;
|
||||
HoldingOffCommand=function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
InitCommand=function(self)
|
||||
self:visible(false);
|
||||
self:finishtweening();
|
||||
self:blend("BlendMode_Add");
|
||||
end;
|
||||
Frames = Sprite.LinearFrames(
|
||||
NOTESKIN:GetMetricF( "GhostArrowDim", "HoldFrames" ),
|
||||
NOTESKIN:GetMetricF( "GhostArrowDim", "HoldSeconds" ) );
|
||||
};
|
||||
|
||||
t[#t+1] = NOTESKIN:LoadActor( Var "Button", "Roll Explosion" ) .. {
|
||||
RollOnCommand=cmd(visible,true);
|
||||
RollOffCommand=cmd(visible,false);
|
||||
InitCommand=cmd(visible,false;finishtweening;blend,"BlendMode_Add");
|
||||
RollOnCommand=function(self)
|
||||
self:visible(true);
|
||||
end;
|
||||
RollOffCommand=function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
InitCommand=function(self)
|
||||
self:visible(false);
|
||||
self:finishtweening();
|
||||
self:blend("BlendMode_Add");
|
||||
end;
|
||||
Frames = Sprite.LinearFrames(
|
||||
NOTESKIN:GetMetricF( "GhostArrowDim", "HoldFrames" ),
|
||||
NOTESKIN:GetMetricF( "GhostArrowDim", "HoldSeconds" ) );
|
||||
};
|
||||
|
||||
t[#t+1] = NOTESKIN:LoadActor( Var "Button", "Tap Explosion Dim" ) .. {
|
||||
InitCommand=cmd(diffusealpha,0;blend,"BlendMode_Add");
|
||||
HeldCommand=cmd(zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0);
|
||||
InitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
self:blend("BlendMode_Add");
|
||||
end;
|
||||
HeldCommand=function(self)
|
||||
self:zoom(1);
|
||||
self:linear(0.06);
|
||||
self:zoom(1.1);
|
||||
self:linear(0.06);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
ColumnJudgmentCommand=function(self, params)
|
||||
if params.TapNoteScore == "TapNoteScore_HitMine" then return; end
|
||||
|
||||
(cmd(finishtweening;loop,0;diffusealpha,1;setstate,0;sleep,self:GetAnimationLengthSeconds()-0.001;diffusealpha,0))(self);
|
||||
self:finishtweening();
|
||||
self:loop(0);
|
||||
self:diffusealpha(1);
|
||||
self:setstate(0);
|
||||
self:sleep(self:GetAnimationLengthSeconds()-0.001);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
Frames = Sprite.LinearFrames(
|
||||
NOTESKIN:GetMetricF( "GhostArrowDim", "JudgmentFrames" ),
|
||||
@@ -31,7 +61,9 @@ t[#t+1] = NOTESKIN:LoadActor( Var "Button", "Tap Explosion Dim" ) .. {
|
||||
};
|
||||
|
||||
local mine = NOTESKIN:LoadActor( Var "Button", "HitMine Explosion" ) .. {
|
||||
InitCommand=cmd(diffusealpha,0);
|
||||
InitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
Frames = Sprite.LinearFrames(
|
||||
NOTESKIN:GetMetricF( "GhostArrowDim", "MineFrames" ),
|
||||
NOTESKIN:GetMetricF( "GhostArrowDim", "MineSeconds" ) );
|
||||
@@ -47,7 +79,11 @@ t[#t+1] = Def.ActorFrame {
|
||||
|
||||
local c = self:GetChild(Next);
|
||||
Next = Next == "1" and "2" or "1";
|
||||
(cmd(stoptweening;setstate,0;diffusealpha,1;sleep,self:GetAnimationLengthSeconds()-0.001;diffusealpha,0))(c);
|
||||
c:stoptweening();
|
||||
c:setstate(0);
|
||||
c:diffusealpha(1);
|
||||
c:sleep(self:GetAnimationLengthSeconds()-0.001);
|
||||
c:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
|
||||
|
||||
@@ -4,18 +4,30 @@ return Def.ActorFrame {
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
|
||||
InitCommand=cmd(playcommand, "Set");
|
||||
GameplayLeadInChangedMessageCommand=cmd(playcommand,"Set");
|
||||
SetCommand=cmd(visible,GAMESTATE:GetGameplayLeadIn());
|
||||
InitCommand=function(self)
|
||||
self:playcommand("Set");
|
||||
end;
|
||||
GameplayLeadInChangedMessageCommand=function(self)
|
||||
self:playcommand("Set");
|
||||
end;
|
||||
SetCommand=function(self)
|
||||
self:visible(GAMESTATE:GetGameplayLeadIn());
|
||||
end;
|
||||
};
|
||||
|
||||
LoadActor( "_Tap Receptor", NOTESKIN:LoadActor(Var "Button", "Go Receptor") ) .. {
|
||||
Frame0000=0;
|
||||
Delay0000=0;
|
||||
|
||||
InitCommand=cmd(playcommand, "Set");
|
||||
GameplayLeadInChangedMessageCommand=cmd(playcommand,"Set");
|
||||
SetCommand=cmd(visible,not GAMESTATE:GetGameplayLeadIn());
|
||||
InitCommand=function(self)
|
||||
self:playcommand("Set");
|
||||
end;
|
||||
GameplayLeadInChangedMessageCommand=function(self)
|
||||
self:playcommand("Set");
|
||||
end;
|
||||
SetCommand=function(self)
|
||||
self:visible(not GAMESTATE:GetGameplayLeadIn());
|
||||
end;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_center', 'explosion' );
|
||||
InitCommand=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8);
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_center', 'explosion' );
|
||||
InitCommand=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:finishtweening();
|
||||
self:diffusealpha(0.2);
|
||||
self:zoom(0.6);
|
||||
self:linear(0.1);
|
||||
self:diffusealpha(0);
|
||||
self:zoom(0.8);
|
||||
end;
|
||||
};
|
||||
@@ -1,8 +1,48 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_center', 'explosion' );
|
||||
W1Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8);
|
||||
W2Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8);
|
||||
W3Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8);
|
||||
W4Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8);
|
||||
W5Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8);
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_center', 'explosion' );
|
||||
W1Command=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:finishtweening();
|
||||
self:diffusealpha(0.2);
|
||||
self:zoom(0.6);
|
||||
self:linear(0.1);
|
||||
self:diffusealpha(0);
|
||||
self:zoom(0.8);
|
||||
end;
|
||||
W2Command=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:finishtweening();
|
||||
self:diffusealpha(0.2);
|
||||
self:zoom(0.6);
|
||||
self:linear(0.1);
|
||||
self:diffusealpha(0);
|
||||
self:zoom(0.8);
|
||||
end;
|
||||
W3Command=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:finishtweening();
|
||||
self:diffusealpha(0.2);
|
||||
self:zoom(0.6);
|
||||
self:linear(0.1);
|
||||
self:diffusealpha(0);
|
||||
self:zoom(0.8);
|
||||
end;
|
||||
W4Command=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:finishtweening();
|
||||
self:diffusealpha(0.2);
|
||||
self:zoom(0.6);
|
||||
self:linear(0.1);
|
||||
self:diffusealpha(0);
|
||||
self:zoom(0.8);
|
||||
end;
|
||||
W5Command=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:finishtweening();
|
||||
self:diffusealpha(0.2);
|
||||
self:zoom(0.6);
|
||||
self:linear(0.1);
|
||||
self:diffusealpha(0);
|
||||
self:zoom(0.8);
|
||||
end;
|
||||
};
|
||||
@@ -1,21 +1,27 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( "_centerp1", "Tap Note" );
|
||||
Frame0000=99;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0);
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command");
|
||||
W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command");
|
||||
W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command");
|
||||
W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command");
|
||||
W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command");
|
||||
};
|
||||
};
|
||||
return t;
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( "_centerp1", "Tap Note" );
|
||||
Frame0000=99;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:glowblink();
|
||||
self:effectcolor1(0.4, 0.4, 0.4, 0.4);
|
||||
self:effectcolor2(0.8, 0.8, 0.8, 0.4);
|
||||
self:effectclock('beat');
|
||||
self:effecttiming(0.2, 0, 0.8, 0);
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command");
|
||||
W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command");
|
||||
W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command");
|
||||
W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command");
|
||||
W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command");
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'explosion' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(diffuseblink;effectcolor1,1,1,1,0.8;effectcolor2,1,1,1,1;effectclock,'beat';effectperiod,0.25);
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'explosion' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:diffuseblink();
|
||||
self:effectcolor1(1, 1, 1, 0.8);
|
||||
self:effectcolor2(1, 1, 1, 1);
|
||||
self:effectclock('beat');
|
||||
self:effectperiod(0.25);
|
||||
end;
|
||||
};
|
||||
@@ -1,21 +1,27 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( "_Down", "Tap Note" );
|
||||
Frame0000=69;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0);
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command");
|
||||
W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command");
|
||||
W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command");
|
||||
W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command");
|
||||
W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command");
|
||||
};
|
||||
};
|
||||
return t;
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( "_Down", "Tap Note" );
|
||||
Frame0000=69;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:glowblink();
|
||||
self:effectcolor1(0.4, 0.4, 0.4, 0.4);
|
||||
self:effectcolor2(0.8, 0.8, 0.8, 0.4);
|
||||
self:effectclock('beat');
|
||||
self:effecttiming(0.2, 0, 0.8, 0);
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command");
|
||||
W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command");
|
||||
W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command");
|
||||
W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command");
|
||||
W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command");
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,18 +1,31 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine underlay' );
|
||||
Frames = Sprite.LinearFrames( 1, 1 );
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,0.4,0,0,1;effectcolor2,1,0,0,1;effectclock,'beat');
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine base' );
|
||||
Frames = Sprite.LinearFrames( 1, 1 );
|
||||
InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,80);
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine overlay' );
|
||||
Frames = Sprite.LinearFrames( 1, 1 );
|
||||
InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-40);
|
||||
};
|
||||
};
|
||||
return t;
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine underlay' );
|
||||
Frames = Sprite.LinearFrames( 1, 1 );
|
||||
InitCommand=function(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(0.4, 0, 0, 1);
|
||||
self:effectcolor2(1, 0, 0, 1);
|
||||
self:effectclock('beat');
|
||||
end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine base' );
|
||||
Frames = Sprite.LinearFrames( 1, 1 );
|
||||
InitCommand=function(self)
|
||||
self:spin();
|
||||
self:effectclock('beat');
|
||||
self:effectmagnitude(0, 0, 80);
|
||||
end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine overlay' );
|
||||
Frames = Sprite.LinearFrames( 1, 1 );
|
||||
InitCommand=function(self)
|
||||
self:spin();
|
||||
self:effectclock('beat');
|
||||
self:effectmagnitude(0, 0, -40);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,21 +1,27 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( "_downleftp1", "Tap Note" );
|
||||
Frame0000=99;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0);
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command");
|
||||
W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command");
|
||||
W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command");
|
||||
W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command");
|
||||
W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command");
|
||||
};
|
||||
};
|
||||
return t;
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( "_downleftp1", "Tap Note" );
|
||||
Frame0000=99;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:glowblink();
|
||||
self:effectcolor1(0.4, 0.4, 0.4, 0.4);
|
||||
self:effectcolor2(0.8, 0.8, 0.8, 0.4);
|
||||
self:effectclock('beat');
|
||||
self:effecttiming(0.2, 0, 0.8, 0);
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command");
|
||||
W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command");
|
||||
W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command");
|
||||
W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command");
|
||||
W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command");
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,227 +1,235 @@
|
||||
--[[
|
||||
USW Noteskin.lua Version V2
|
||||
Made for Version Stepmania 5 Preview 4
|
||||
|
||||
I am the bone of my noteskin
|
||||
Arrows are my body, and explosions are my blood
|
||||
I have created over a thousand noteskins
|
||||
Unknown to death
|
||||
Nor known to life
|
||||
Have withstood pain to create many noteskins
|
||||
Yet these hands will never hold anything
|
||||
So as I pray, Unlimited Stepman Works
|
||||
|
||||
If you want to know the list of lua commands you can use here is the main page for help http://kki.ajworld.net/lua/sm5/Lua.xml
|
||||
--]]
|
||||
|
||||
local ret = ... or {};
|
||||
|
||||
--I always had the problem were I wrote var instead of Var, which really iritated me wondering why a code wouldnt work
|
||||
--You can edit it out if you want, But I'm just gonna leave it here so incase a person wants to make a noteskin
|
||||
--And gets the same problem as me were you use var instead of Var, atleast this should make it still work
|
||||
--But its best to use Var, And make sure to check all your code for little mistakes while you write ;)
|
||||
local var = Var;
|
||||
|
||||
--[[
|
||||
This is the general redirect table, Not the general redirect code, We use this if we are lazy ;)
|
||||
Or if we cant a directon of a noteskin use the exact same files as another direction
|
||||
The most re used direction in this case is "Down"
|
||||
You can add and remove values if you want, It works for every game type,
|
||||
If you want an easy way to know how all directions are called go in to stepmaniaoptions and change gametype
|
||||
Then if you go to key configure look at the names for the keys, They are the same names that are used in the noteskin.lua
|
||||
--]]
|
||||
ret.RedirTable =
|
||||
{
|
||||
Up = "Down",
|
||||
Down = "Down",
|
||||
Left = "Down",
|
||||
Right = "Down",
|
||||
Center = "Down",
|
||||
DownLeft = "Down",
|
||||
DownRight = "Down",
|
||||
UpLeft = "Down",
|
||||
UpRight = "Down",
|
||||
};
|
||||
|
||||
--[[
|
||||
This is the general redirect code, We use this if we want to redirect parts of noteskins to other parts
|
||||
Because unlike the ret.RedirTable which redirects everything to the defined direction.
|
||||
Here we can add redirects for seperate elements which means we can use separate images if we want
|
||||
--]]
|
||||
local OldRedir = ret.Redir;
|
||||
ret.Redir = function(sButton, sElement)
|
||||
sButton, sElement = OldRedir(sButton, sElement);
|
||||
|
||||
--This is were we call the ret.RedirTable and define it as sButton
|
||||
--So it get called when we return sButton including the code under here
|
||||
sButton = ret.RedirTable[sButton];
|
||||
|
||||
--We want to use custom hold/roll per direction, But keep global hold/roll heads and explosions.
|
||||
if string.find(sElement, "Hold") or string.find(sElement, "Roll") then
|
||||
if not string.find(sElement, "Head") and not string.find(sElement, "Explosion") then
|
||||
if Var "Button" == "Left" then sButton = "Left"; end
|
||||
if Var "Button" == "Right" then sButton = "Right"; end
|
||||
if Var "Button" == "Down" then sButton = "Down"; end
|
||||
if Var "Button" == "Up" then sButton = "Up"; end
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "dance" then
|
||||
if Var "Button" == "UpLeft" then sButton = "UpLeft"; end
|
||||
if Var "Button" == "UpRight" then sButton = "UpRight"; end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
--Making Roll Head/Explosion fallback on Hold
|
||||
if sElement == "Roll Head Inactive" then sElement = "Hold Head Inactive"; end
|
||||
if sElement == "Roll Head Active" then sElement = "Hold Head Active"; end
|
||||
if sElement == "Roll Explosion" then sElement = "Hold Explosion"; end
|
||||
|
||||
--Adding stuff for more directions for diffrent gametypes
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "dance" then
|
||||
--Making the Upleft and Upright Hold/Roll body/BottomCap/TopCap but not Explosions use SoloUpLeft and SoloUpRight instead
|
||||
--When the gametype is dance this way we can define diffrent images for diffrent gametypes
|
||||
if string.find(sElement, "Hold") or string.find(sElement, "Roll") then
|
||||
if Var "Button" == "UpLeft" and not string.find(sElement, "Explosion") then sButton = "SoloUpLeft"; end
|
||||
if Var "Button" == "UpRight" and not string.find(sElement, "Explosion") then sButton = "SoloUpRight"; end
|
||||
end
|
||||
elseif GAMESTATE:GetCurrentGame():GetName() == "techno" then
|
||||
-- See below for why two options.
|
||||
if GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P1" then
|
||||
if Var "Button" == "Center" then sButton = "Centerp1"; end
|
||||
elseif GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P2" then
|
||||
if Var "Button" == "Center" then sButton = "Centerp2"; end
|
||||
end
|
||||
if string.find(sButton, "Center") then
|
||||
if string.find(sElement, "Bottomcap") then sButton = "Center"; end
|
||||
if string.find(sElement, "Topcap") then sButton = "Center"; end
|
||||
if string.find(sElement, "Body") then sButton = "Center"; end
|
||||
end
|
||||
if string.find(sElement, "Explosion") then sButton = "Center"; end
|
||||
if sElement == "Tap Explosion Dim" then sElement = "Tap Explosion Bright"; end
|
||||
--]]
|
||||
elseif GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
--Making Pump it up be rythm color based, Only problem is that in sm player 1 and player 2 noteskins are both defined as player 1
|
||||
--Need a way to get the parent but atm it ends up as nil because of no parent
|
||||
--So Player 1 and 2 both use Player 1 images for now
|
||||
--We also let every direction aside from Center use DownLeftp1
|
||||
if GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P1" then
|
||||
if Var "Button" == "UpLeft" then sButton = "DownLeftp1"; end
|
||||
if Var "Button" == "UpRight" then sButton = "DownLeftp1"; end
|
||||
if Var "Button" == "DownLeft" then sButton = "DownLeftp1"; end
|
||||
if Var "Button" == "DownRight" then sButton = "DownLeftp1"; end
|
||||
if Var "Button" == "Center" then sButton = "Centerp1"; end
|
||||
elseif GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P2" then
|
||||
if Var "Button" == "UpLeft" then sButton = "Downleftp2"; end
|
||||
if Var "Button" == "UpRight" then sButton = "Downleftp2"; end
|
||||
if Var "Button" == "DownLeft" then sButton = "DownLeftp2"; end
|
||||
if Var "Button" == "DownRight" then sButton = "DownLeftp2"; end
|
||||
if Var "Button" == "Center" then sButton = "Centerp2"; end
|
||||
end
|
||||
--We already defined everything for diffrent players above
|
||||
--But we want to use the same Center hold images for every direction and player
|
||||
if string.find(sElement, "Bottomcap") then sButton = "Center"; end
|
||||
if string.find(sElement, "Topcap") then sButton = "Center"; end
|
||||
if string.find(sElement, "Body") then sButton = "Center"; end
|
||||
--Lets also add explosion as Center
|
||||
if string.find(sElement, "Explosion") then sButton = "Center"; end
|
||||
if sElement == "Tap Explosion Dim" then sElement = "Tap Explosion Bright"; end
|
||||
end
|
||||
|
||||
--Define that every direction uses Tap Mine from Down
|
||||
if Var "Element" == "Tap Mine" then sButton = "Down"; end
|
||||
|
||||
return sButton, sElement;
|
||||
end
|
||||
|
||||
--[[
|
||||
This is the general function code
|
||||
In here we can define how we want the stuff to act
|
||||
Which basicly means instead of using a load of lua files for just some effect
|
||||
We can just use code in here so we need to use less files
|
||||
Which is nice if you want to save up space ;)
|
||||
Only problem is that the Hold/Roll parts are written down in the code as sprite files
|
||||
Which is the original old 3.9 code, Which basicly means that their code doesnt work in here
|
||||
|
||||
Also unlike the general redirect code which has sElement and sButton defined in the common noteskin
|
||||
They need to be defined here manualy which can be done with
|
||||
local sElement = Var "Element";
|
||||
local sButton = Var "Button";
|
||||
To make it easier for everyone I already added them
|
||||
The reason we use local to define the stuff is for when a code doesnt accept the full code
|
||||
Like for example if we did string.find(Var "Element", "Down") it wouldnt work
|
||||
--]]
|
||||
local OldFunc = ret.Load;
|
||||
function ret.Load()
|
||||
local t = OldFunc();
|
||||
local sElement = Var "Element";
|
||||
local sButton = Var "Button";
|
||||
|
||||
--Explosion should not be rotated; it calls other actors.
|
||||
if Var "Element" == "Explosion" then
|
||||
t.BaseRotationZ = nil;
|
||||
end
|
||||
|
||||
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "dance" then
|
||||
--We define that we dont want the hold heads for UpLeft and UpRight to be rotated because we rotate them in a lua file
|
||||
if Var "Button" == "UpLeft" and string.find(sElement, "Head") then t.BaseRotationZ = nil; end
|
||||
if Var "Button" == "UpRight" and string.find(sElement, "Head") then t.BaseRotationZ = nil; end
|
||||
elseif GAMESTATE:GetCurrentGame():GetName() == "techno" then
|
||||
if Var "Element" == "Tap Mine" then t.InitCommand=cmd(zoom,-0.8); end
|
||||
elseif GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
--Because the images for Pump it up are using the DownLeft for every direction aside from center, We let it be rotated here
|
||||
--Because the rotate table is set up for dance and these are for PIU
|
||||
if Var "Button" == "UpLeft" then t.BaseRotationZ = 90; end
|
||||
if Var "Button" == "UpRight" then t.BaseRotationZ = 180; end
|
||||
if Var "Button" == "DownLeft" then t.BaseRotationZ = nil; end
|
||||
if Var "Button" == "DownRight" then t.BaseRotationZ = -90; end
|
||||
if Var "Element" == "Tap Mine" then t.InitCommand=cmd(zoom,-0.8); end
|
||||
end
|
||||
return t;
|
||||
end
|
||||
-- >
|
||||
|
||||
|
||||
--Define which parts of noteskins which we want to rotate
|
||||
ret.PartsToRotate =
|
||||
{
|
||||
["Receptor"] = true,
|
||||
["Tap Explosion Bright"] = true,
|
||||
["Tap Explosion Dim"] = true,
|
||||
["Tap Note"] = true,
|
||||
["Tap Fake"] = true,
|
||||
["Tap Lift"] = true,
|
||||
["Tap Addition"] = true,
|
||||
["Hold Explosion"] = true,
|
||||
["Hold Head Active"] = true,
|
||||
["Hold Head Inactive"] = true,
|
||||
["Roll Explosion"] = true,
|
||||
["Roll Head Active"] = true,
|
||||
["Roll Head Inactive"] = true,
|
||||
};
|
||||
--Defined the parts to be rotated at which degree
|
||||
ret.Rotate =
|
||||
{
|
||||
Up = 180,
|
||||
Down = 0,
|
||||
Left = 90,
|
||||
Right = -90,
|
||||
UpLeft = 135,
|
||||
UpRight = -135,
|
||||
Center = 0,
|
||||
DownLeft = 45,
|
||||
DownRight = -45,
|
||||
};
|
||||
|
||||
--Parts that should be Redirected to _Blank.png
|
||||
--you can add/remove stuff if you want
|
||||
ret.Blank =
|
||||
{
|
||||
["Hold Tail Active"] = true,
|
||||
["Hold Tail Inactive"] = true,
|
||||
["Roll Tail Active"] = true,
|
||||
["Roll Tail Inactive"] = true,
|
||||
};
|
||||
|
||||
--dont forget to close the ret cuz else it wont work ;>
|
||||
return ret;
|
||||
--[[
|
||||
USW Noteskin.lua Version V2
|
||||
Made for Version Stepmania 5 Preview 4
|
||||
|
||||
I am the bone of my noteskin
|
||||
Arrows are my body, and explosions are my blood
|
||||
I have created over a thousand noteskins
|
||||
Unknown to death
|
||||
Nor known to life
|
||||
Have withstood pain to create many noteskins
|
||||
Yet these hands will never hold anything
|
||||
So as I pray, Unlimited Stepman Works
|
||||
|
||||
If you want to know the list of lua commands you can use here is the main page for help http://kki.ajworld.net/lua/sm5/Lua.xml
|
||||
--]]
|
||||
|
||||
local ret = ... or {};
|
||||
|
||||
--I always had the problem were I wrote var instead of Var, which really iritated me wondering why a code wouldnt work
|
||||
--You can edit it out if you want, But I'm just gonna leave it here so incase a person wants to make a noteskin
|
||||
--And gets the same problem as me were you use var instead of Var, atleast this should make it still work
|
||||
--But its best to use Var, And make sure to check all your code for little mistakes while you write ;)
|
||||
local var = Var;
|
||||
|
||||
--[[
|
||||
This is the general redirect table, Not the general redirect code, We use this if we are lazy ;)
|
||||
Or if we cant a directon of a noteskin use the exact same files as another direction
|
||||
The most re used direction in this case is "Down"
|
||||
You can add and remove values if you want, It works for every game type,
|
||||
If you want an easy way to know how all directions are called go in to stepmaniaoptions and change gametype
|
||||
Then if you go to key configure look at the names for the keys, They are the same names that are used in the noteskin.lua
|
||||
--]]
|
||||
ret.RedirTable =
|
||||
{
|
||||
Up = "Down",
|
||||
Down = "Down",
|
||||
Left = "Down",
|
||||
Right = "Down",
|
||||
Center = "Down",
|
||||
DownLeft = "Down",
|
||||
DownRight = "Down",
|
||||
UpLeft = "Down",
|
||||
UpRight = "Down",
|
||||
};
|
||||
|
||||
--[[
|
||||
This is the general redirect code, We use this if we want to redirect parts of noteskins to other parts
|
||||
Because unlike the ret.RedirTable which redirects everything to the defined direction.
|
||||
Here we can add redirects for seperate elements which means we can use separate images if we want
|
||||
--]]
|
||||
local OldRedir = ret.Redir;
|
||||
ret.Redir = function(sButton, sElement)
|
||||
sButton, sElement = OldRedir(sButton, sElement);
|
||||
|
||||
--This is were we call the ret.RedirTable and define it as sButton
|
||||
--So it get called when we return sButton including the code under here
|
||||
sButton = ret.RedirTable[sButton];
|
||||
|
||||
--We want to use custom hold/roll per direction, But keep global hold/roll heads and explosions.
|
||||
if string.find(sElement, "Hold") or string.find(sElement, "Roll") then
|
||||
if not string.find(sElement, "Head") and not string.find(sElement, "Explosion") then
|
||||
if Var "Button" == "Left" then sButton = "Left"; end
|
||||
if Var "Button" == "Right" then sButton = "Right"; end
|
||||
if Var "Button" == "Down" then sButton = "Down"; end
|
||||
if Var "Button" == "Up" then sButton = "Up"; end
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "dance" then
|
||||
if Var "Button" == "UpLeft" then sButton = "UpLeft"; end
|
||||
if Var "Button" == "UpRight" then sButton = "UpRight"; end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
--Making Roll Head/Explosion fallback on Hold
|
||||
if sElement == "Roll Head Inactive" then sElement = "Hold Head Inactive"; end
|
||||
if sElement == "Roll Head Active" then sElement = "Hold Head Active"; end
|
||||
if sElement == "Roll Explosion" then sElement = "Hold Explosion"; end
|
||||
|
||||
--Adding stuff for more directions for diffrent gametypes
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "dance" then
|
||||
--Making the Upleft and Upright Hold/Roll body/BottomCap/TopCap but not Explosions use SoloUpLeft and SoloUpRight instead
|
||||
--When the gametype is dance this way we can define diffrent images for diffrent gametypes
|
||||
if string.find(sElement, "Hold") or string.find(sElement, "Roll") then
|
||||
if Var "Button" == "UpLeft" and not string.find(sElement, "Explosion") then sButton = "SoloUpLeft"; end
|
||||
if Var "Button" == "UpRight" and not string.find(sElement, "Explosion") then sButton = "SoloUpRight"; end
|
||||
end
|
||||
elseif GAMESTATE:GetCurrentGame():GetName() == "techno" then
|
||||
-- See below for why two options.
|
||||
if GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P1" then
|
||||
if Var "Button" == "Center" then sButton = "Centerp1"; end
|
||||
elseif GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P2" then
|
||||
if Var "Button" == "Center" then sButton = "Centerp2"; end
|
||||
end
|
||||
if string.find(sButton, "Center") then
|
||||
if string.find(sElement, "Bottomcap") then sButton = "Center"; end
|
||||
if string.find(sElement, "Topcap") then sButton = "Center"; end
|
||||
if string.find(sElement, "Body") then sButton = "Center"; end
|
||||
end
|
||||
if string.find(sElement, "Explosion") then sButton = "Center"; end
|
||||
if sElement == "Tap Explosion Dim" then sElement = "Tap Explosion Bright"; end
|
||||
--]]
|
||||
elseif GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
--Making Pump it up be rythm color based, Only problem is that in sm player 1 and player 2 noteskins are both defined as player 1
|
||||
--Need a way to get the parent but atm it ends up as nil because of no parent
|
||||
--So Player 1 and 2 both use Player 1 images for now
|
||||
--We also let every direction aside from Center use DownLeftp1
|
||||
if GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P1" then
|
||||
if Var "Button" == "UpLeft" then sButton = "DownLeftp1"; end
|
||||
if Var "Button" == "UpRight" then sButton = "DownLeftp1"; end
|
||||
if Var "Button" == "DownLeft" then sButton = "DownLeftp1"; end
|
||||
if Var "Button" == "DownRight" then sButton = "DownLeftp1"; end
|
||||
if Var "Button" == "Center" then sButton = "Centerp1"; end
|
||||
elseif GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P2" then
|
||||
if Var "Button" == "UpLeft" then sButton = "Downleftp2"; end
|
||||
if Var "Button" == "UpRight" then sButton = "Downleftp2"; end
|
||||
if Var "Button" == "DownLeft" then sButton = "DownLeftp2"; end
|
||||
if Var "Button" == "DownRight" then sButton = "DownLeftp2"; end
|
||||
if Var "Button" == "Center" then sButton = "Centerp2"; end
|
||||
end
|
||||
--We already defined everything for diffrent players above
|
||||
--But we want to use the same Center hold images for every direction and player
|
||||
if string.find(sElement, "Bottomcap") then sButton = "Center"; end
|
||||
if string.find(sElement, "Topcap") then sButton = "Center"; end
|
||||
if string.find(sElement, "Body") then sButton = "Center"; end
|
||||
--Lets also add explosion as Center
|
||||
if string.find(sElement, "Explosion") then sButton = "Center"; end
|
||||
if sElement == "Tap Explosion Dim" then sElement = "Tap Explosion Bright"; end
|
||||
end
|
||||
|
||||
--Define that every direction uses Tap Mine from Down
|
||||
if Var "Element" == "Tap Mine" then sButton = "Down"; end
|
||||
|
||||
return sButton, sElement;
|
||||
end
|
||||
|
||||
--[[
|
||||
This is the general function code
|
||||
In here we can define how we want the stuff to act
|
||||
Which basicly means instead of using a load of lua files for just some effect
|
||||
We can just use code in here so we need to use less files
|
||||
Which is nice if you want to save up space ;)
|
||||
Only problem is that the Hold/Roll parts are written down in the code as sprite files
|
||||
Which is the original old 3.9 code, Which basicly means that their code doesnt work in here
|
||||
|
||||
Also unlike the general redirect code which has sElement and sButton defined in the common noteskin
|
||||
They need to be defined here manualy which can be done with
|
||||
local sElement = Var "Element";
|
||||
local sButton = Var "Button";
|
||||
To make it easier for everyone I already added them
|
||||
The reason we use local to define the stuff is for when a code doesnt accept the full code
|
||||
Like for example if we did string.find(Var "Element", "Down") it wouldnt work
|
||||
--]]
|
||||
local OldFunc = ret.Load;
|
||||
function ret.Load()
|
||||
local t = OldFunc();
|
||||
local sElement = Var "Element";
|
||||
local sButton = Var "Button";
|
||||
|
||||
--Explosion should not be rotated; it calls other actors.
|
||||
if Var "Element" == "Explosion" then
|
||||
t.BaseRotationZ = nil;
|
||||
end
|
||||
|
||||
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "dance" then
|
||||
--We define that we dont want the hold heads for UpLeft and UpRight to be rotated because we rotate them in a lua file
|
||||
if Var "Button" == "UpLeft" and string.find(sElement, "Head") then t.BaseRotationZ = nil; end
|
||||
if Var "Button" == "UpRight" and string.find(sElement, "Head") then t.BaseRotationZ = nil; end
|
||||
elseif GAMESTATE:GetCurrentGame():GetName() == "techno" then
|
||||
if Var "Element" == "Tap Mine" then
|
||||
t.InitCommand=function(self)
|
||||
self:zoom(-0.8);
|
||||
end;
|
||||
end
|
||||
elseif GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
--Because the images for Pump it up are using the DownLeft for every direction aside from center, We let it be rotated here
|
||||
--Because the rotate table is set up for dance and these are for PIU
|
||||
if Var "Button" == "UpLeft" then t.BaseRotationZ = 90; end
|
||||
if Var "Button" == "UpRight" then t.BaseRotationZ = 180; end
|
||||
if Var "Button" == "DownLeft" then t.BaseRotationZ = nil; end
|
||||
if Var "Button" == "DownRight" then t.BaseRotationZ = -90; end
|
||||
if Var "Element" == "Tap Mine" then
|
||||
t.InitCommand=function(self)
|
||||
self:zoom(-0.8);
|
||||
end;
|
||||
end
|
||||
end
|
||||
return t;
|
||||
end
|
||||
-- >
|
||||
|
||||
|
||||
--Define which parts of noteskins which we want to rotate
|
||||
ret.PartsToRotate =
|
||||
{
|
||||
["Receptor"] = true,
|
||||
["Tap Explosion Bright"] = true,
|
||||
["Tap Explosion Dim"] = true,
|
||||
["Tap Note"] = true,
|
||||
["Tap Fake"] = true,
|
||||
["Tap Lift"] = true,
|
||||
["Tap Addition"] = true,
|
||||
["Hold Explosion"] = true,
|
||||
["Hold Head Active"] = true,
|
||||
["Hold Head Inactive"] = true,
|
||||
["Roll Explosion"] = true,
|
||||
["Roll Head Active"] = true,
|
||||
["Roll Head Inactive"] = true,
|
||||
};
|
||||
--Defined the parts to be rotated at which degree
|
||||
ret.Rotate =
|
||||
{
|
||||
Up = 180,
|
||||
Down = 0,
|
||||
Left = 90,
|
||||
Right = -90,
|
||||
UpLeft = 135,
|
||||
UpRight = -135,
|
||||
Center = 0,
|
||||
DownLeft = 45,
|
||||
DownRight = -45,
|
||||
};
|
||||
|
||||
--Parts that should be Redirected to _Blank.png
|
||||
--you can add/remove stuff if you want
|
||||
ret.Blank =
|
||||
{
|
||||
["Hold Tail Active"] = true,
|
||||
["Hold Tail Inactive"] = true,
|
||||
["Roll Tail Active"] = true,
|
||||
["Roll Tail Inactive"] = true,
|
||||
};
|
||||
|
||||
--dont forget to close the ret cuz else it wont work ;>
|
||||
return ret;
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_upleftsolo', 'underlay' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd();
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(rotationz,135);
|
||||
};
|
||||
};
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_upleftsolo', 'underlay' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self) end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:rotationz(135);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
@@ -1,15 +1,17 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_upleftsolo', 'underlay' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd();
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frame0000=1;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(rotationz,135);
|
||||
};
|
||||
};
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_upleftsolo', 'underlay' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self) end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frame0000=1;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:rotationz(135);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
@@ -1,15 +1,19 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_upleftsolo', 'underlay' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(zoomx,-1);
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(rotationz,-135);
|
||||
};
|
||||
};
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_upleftsolo', 'underlay' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:zoomx(-1);
|
||||
end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:rotationz(-135);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
@@ -1,15 +1,19 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_upleftsolo', 'underlay' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(zoomx,-1);
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frame0000=1;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(rotationz,-135);
|
||||
};
|
||||
};
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_upleftsolo', 'underlay' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:zoomx(-1);
|
||||
end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frame0000=1;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:rotationz(-135);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
@@ -2,39 +2,64 @@ local t = Def.ActorFrame {
|
||||
NOTESKIN:LoadActor( Var "Button", "Hold Explosion" ) .. {
|
||||
HoldingOnCommand=NOTESKIN:GetMetricA("HoldGhostArrow", "HoldingOnCommand");
|
||||
HoldingOffCommand=NOTESKIN:GetMetricA("HoldGhostArrow", "HoldingOffCommand");
|
||||
InitCommand=cmd(playcommand,"HoldingOff";finishtweening);
|
||||
InitCommand=function(self)
|
||||
self:playcommand("HoldingOff");
|
||||
self:finishtweening();
|
||||
end;
|
||||
};
|
||||
NOTESKIN:LoadActor( Var "Button", "Roll Explosion" ) .. {
|
||||
RollOnCommand=NOTESKIN:GetMetricA("HoldGhostArrow", "RollOnCommand");
|
||||
RollOffCommand=NOTESKIN:GetMetricA("HoldGhostArrow", "RollOffCommand");
|
||||
InitCommand=cmd(playcommand,"RollOff";finishtweening);
|
||||
InitCommand=function(self)
|
||||
self:playcommand("RollOff");
|
||||
self:finishtweening();
|
||||
end;
|
||||
};
|
||||
NOTESKIN:LoadActor( Var "Button", "Tap Explosion Dim" ) .. {
|
||||
InitCommand=cmd(diffusealpha,0);
|
||||
InitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
W5Command=NOTESKIN:GetMetricA("GhostArrowDim", "W5Command");
|
||||
W4Command=NOTESKIN:GetMetricA("GhostArrowDim", "W4Command");
|
||||
W3Command=NOTESKIN:GetMetricA("GhostArrowDim", "W3Command");
|
||||
W2Command=NOTESKIN:GetMetricA("GhostArrowDim", "W2Command");
|
||||
W1Command=NOTESKIN:GetMetricA("GhostArrowDim", "W1Command");
|
||||
HeldCommand=NOTESKIN:GetMetricA("GhostArrowDim", "HeldCommand");
|
||||
JudgmentCommand=cmd(finishtweening);
|
||||
BrightCommand=cmd(visible,false);
|
||||
DimCommand=cmd(visible,true);
|
||||
JudgmentCommand=function(self)
|
||||
self:finishtweening();
|
||||
end;
|
||||
BrightCommand=function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
DimCommand=function(self)
|
||||
self:visible(true);
|
||||
end;
|
||||
};
|
||||
NOTESKIN:LoadActor( Var "Button", "Tap Explosion Bright" ) .. {
|
||||
InitCommand=cmd(diffusealpha,0);
|
||||
InitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
W5Command=NOTESKIN:GetMetricA("GhostArrowBright", "W5Command");
|
||||
W4Command=NOTESKIN:GetMetricA("GhostArrowBright", "W4Command");
|
||||
W3Command=NOTESKIN:GetMetricA("GhostArrowBright", "W3Command");
|
||||
W2Command=NOTESKIN:GetMetricA("GhostArrowBright", "W2Command");
|
||||
W1Command=NOTESKIN:GetMetricA("GhostArrowBright", "W1Command");
|
||||
HeldCommand=NOTESKIN:GetMetricA("GhostArrowBright", "HeldCommand");
|
||||
JudgmentCommand=cmd(finishtweening);
|
||||
BrightCommand=cmd(visible,true);
|
||||
DimCommand=cmd(visible,false);
|
||||
JudgmentCommand=function(self)
|
||||
self:finishtweening();
|
||||
end;
|
||||
BrightCommand=function(self)
|
||||
self:visible(true);
|
||||
end;
|
||||
DimCommand=function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
NOTESKIN:LoadActor( Var "Button", "HitMine Explosion" ) .. {
|
||||
InitCommand=cmd(blend,"BlendMode_Add";diffusealpha,0);
|
||||
InitCommand=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
HitMineCommand=NOTESKIN:GetMetricA("GhostArrowBright", "HitMineCommand");
|
||||
};
|
||||
}
|
||||
|
||||
@@ -35,7 +35,9 @@ local function func()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end
|
||||
|
||||
|
||||
@@ -4,9 +4,15 @@ return Def.ActorFrame {
|
||||
{ Frame = 2; Delay = 1; };
|
||||
};
|
||||
|
||||
InitCommand=cmd(playcommand, "Set");
|
||||
GameplayLeadInChangedMessageCommand=cmd(playcommand,"Set");
|
||||
SetCommand=cmd(visible,GAMESTATE:GetGameplayLeadIn());
|
||||
InitCommand=function(self)
|
||||
self:playcommand("Set");
|
||||
end;
|
||||
GameplayLeadInChangedMessageCommand=function(self)
|
||||
self:playcommand("Set");
|
||||
end;
|
||||
SetCommand=function(self)
|
||||
self:visible(GAMESTATE:GetGameplayLeadIn());
|
||||
end;
|
||||
};
|
||||
|
||||
LoadActor( "_Tap Receptor", NOTESKIN:LoadActor(Var "Button", "Go Receptor") ) .. {
|
||||
@@ -16,8 +22,14 @@ return Def.ActorFrame {
|
||||
{ Frame = 2; };
|
||||
};
|
||||
|
||||
InitCommand=cmd(playcommand, "Set");
|
||||
GameplayLeadInChangedMessageCommand=cmd(playcommand,"Set");
|
||||
SetCommand=cmd(visible,not GAMESTATE:GetGameplayLeadIn());
|
||||
InitCommand=function(self)
|
||||
self:playcommand("Set");
|
||||
end;
|
||||
GameplayLeadInChangedMessageCommand=function(self)
|
||||
self:playcommand("Set");
|
||||
end;
|
||||
SetCommand=function(self)
|
||||
self:visible(not GAMESTATE:GetGameplayLeadIn());
|
||||
end;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
local File = ...;
|
||||
|
||||
return LoadActor( File ) .. {
|
||||
InitCommand=cmd(playcommand,"Lift");
|
||||
InitCommand=function(self)
|
||||
self:playcommand("Lift");
|
||||
end;
|
||||
ReverseOnCommand=NOTESKIN:GetMetricA("Press", "ReverseOnCommand");
|
||||
ReverseOffCommand=NOTESKIN:GetMetricA("Press", "ReverseOffCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("Press", "PressCommand");
|
||||
|
||||
@@ -3,7 +3,12 @@ local t = Def.ActorFrame {
|
||||
Texture="_arrow";
|
||||
Frame0000=7;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(animate,false;pulse;effectclock,"beat";effectmagnitude,0.9,1,1);
|
||||
InitCommand=function(self)
|
||||
self:animate(false);
|
||||
self:pulse();
|
||||
self:effectclock("beat");
|
||||
self:effectmagnitude(0.9, 1, 1);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -8,25 +8,53 @@ local t = Def.ActorFrame {
|
||||
Texture="_circle";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(y,15;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.35");effectoffset,0);
|
||||
InitCommand=function(self)
|
||||
self:y(15);
|
||||
self:effectclock("beat");
|
||||
self:diffuseramp();
|
||||
self:effectcolor1(color("1,1,1,0"));
|
||||
self:effectcolor2(color("1,1,1,0.35"));
|
||||
self:effectoffset(0);
|
||||
end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture="_circle";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(y,5;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.35");effectoffset,0.25);
|
||||
InitCommand=function(self)
|
||||
self:y(5);
|
||||
self:effectclock("beat");
|
||||
self:diffuseramp();
|
||||
self:effectcolor1(color("1,1,1,0"));
|
||||
self:effectcolor2(color("1,1,1,0.35"));
|
||||
self:effectoffset(0.25);
|
||||
end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture="_circle";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(y,-5;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.35");effectoffset,0.5);
|
||||
InitCommand=function(self)
|
||||
self:y(-5);
|
||||
self:effectclock("beat");
|
||||
self:diffuseramp();
|
||||
self:effectcolor1(color("1,1,1,0"));
|
||||
self:effectcolor2(color("1,1,1,0.35"));
|
||||
self:effectoffset(0.5);
|
||||
end;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture="_circle";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(y,-15;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.35");effectoffset,0.75);
|
||||
InitCommand=function(self)
|
||||
self:y(-15);
|
||||
self:effectclock("beat");
|
||||
self:diffuseramp();
|
||||
self:effectcolor1(color("1,1,1,0"));
|
||||
self:effectcolor2(color("1,1,1,0.35"));
|
||||
self:effectoffset(0.75);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath("_Center", "Go Receptor" );
|
||||
InitCommand=cmd(effectclock,"beat");
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath("_Down", "Go Receptor" );
|
||||
InitCommand=cmd(effectclock,"beat");
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath("_DownLeft", "Go Receptor" );
|
||||
InitCommand=cmd(effectclock,"beat");
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath("_Center", "Go Receptor" );
|
||||
InitCommand=cmd(effectclock,"beat");
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath("_Down", "Go Receptor" );
|
||||
InitCommand=cmd(effectclock,"beat");
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command.
|
||||
--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use function(self) end; to define command.
|
||||
--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation.
|
||||
--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini");
|
||||
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath("_DownLeft", "Go Receptor" );
|
||||
InitCommand=cmd(effectclock,"beat");
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
end;
|
||||
NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand");
|
||||
PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand");
|
||||
LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand");
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Hold Head Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,1"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Hold Head Active');
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,1"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Roll Head Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,1"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Roll Head Active');
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,1"));
|
||||
end;
|
||||
};
|
||||
@@ -1,9 +1,13 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-180);
|
||||
};
|
||||
};
|
||||
return t;
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=function(self)
|
||||
self:spin();
|
||||
self:effectclock('beat');
|
||||
self:effectmagnitude(0, 0, -180);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Hold BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Hold BottomCap Active');
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,0.5"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Roll BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Roll BottomCap Active');
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,0.5"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Hold BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Hold BottomCap Active');
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,0.5"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Roll BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Roll BottomCap Active');
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,0.5"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Hold Head Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,1"));
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,1"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Roll Head Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,1"));
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,1"));
|
||||
end;
|
||||
};
|
||||
@@ -3,7 +3,11 @@ local t = Def.ActorFrame {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-180);
|
||||
InitCommand=function(self)
|
||||
self:spin();
|
||||
self:effectclock('beat');
|
||||
self:effectmagnitude(0, 0, -180);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Hold BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,0.5"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Roll BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,0.5"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Hold BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,0.5"));
|
||||
end;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Roll BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
InitCommand=function(self)
|
||||
self:diffuse(color("0.5,0.5,0.5,0.5"));
|
||||
end;
|
||||
};
|
||||
@@ -3,7 +3,11 @@ local t = Def.ActorFrame {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-180);
|
||||
InitCommand=function(self)
|
||||
self:spin();
|
||||
self:effectclock('beat');
|
||||
self:effectmagnitude(0, 0, -180);
|
||||
end;
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frames = Sprite.LinearFrames( 8, 1 );
|
||||
InitCommand=cmd(setstate,2);
|
||||
InitCommand=function(self)
|
||||
self:setstate(2);
|
||||
end;
|
||||
DrawTapNoteMessageCommand=function(self,parent)
|
||||
parent:spin();
|
||||
end;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("Down Tap Explosion Bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("UpLeft Tap Explosion Bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -61,7 +61,9 @@ local function NoteskinLoader()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -66,7 +66,9 @@ local function NoteskinLoader()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end;
|
||||
|
||||
|
||||
@@ -74,7 +74,9 @@ local function NoteskinLoader()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end;
|
||||
|
||||
|
||||
@@ -75,7 +75,9 @@ local function NoteskinLoader()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -75,7 +75,9 @@ local function NoteskinLoader()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -66,7 +66,9 @@ local function NoteskinLoader()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end;
|
||||
|
||||
|
||||
@@ -69,7 +69,9 @@ local function NoteskinLoader()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,5 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
CheckpointHitCommand=function(self)
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
@@ -66,7 +66,9 @@ local function NoteskinLoader()
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(visible,false);
|
||||
function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
end;
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
return NOTESKIN:LoadActor("Center","Tap Note")..{
|
||||
InitCommand=cmd(effectclock,"beat";effectmagnitude,0.5,1,0);
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
self:effectmagnitude(0.5, 1, 0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,6 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{
|
||||
InitCommand=cmd(effectclock,"beat";effectmagnitude,0.5,1,0)
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
self:effectmagnitude(0.5, 1, 0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,6 @@
|
||||
return NOTESKIN:LoadActor("DownRight","Tap Note")..{
|
||||
InitCommand=cmd(effectclock,"beat";effectmagnitude,0.5,1,0)
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
self:effectmagnitude(0.5, 1, 0);
|
||||
end;
|
||||
};
|
||||
@@ -119,7 +119,11 @@ local function func()
|
||||
end
|
||||
|
||||
if sElement == "Tap Lift" then
|
||||
t.InitCommand=cmd(pulse;effectclock,"beat";effectmagnitude,1,0.75,0);
|
||||
t.InitCommand=function(self)
|
||||
self:pulse();
|
||||
self:effectclock("beat");
|
||||
self:effectmagnitude(1, 0.75, 0);
|
||||
end;
|
||||
end
|
||||
|
||||
return t
|
||||
|
||||
@@ -1,43 +1,109 @@
|
||||
return Def.ActorFrame {
|
||||
--note graphic
|
||||
NOTESKIN:LoadActor(Var "Button", "Tap Note") .. {
|
||||
InitCommand=cmd(blend,"BlendMode_Add";playcommand,"Glow");
|
||||
W1Command=cmd(playcommand,"Glow");
|
||||
W2Command=cmd(playcommand,"Glow");
|
||||
W3Command=cmd(playcommand,"Glow");
|
||||
W4Command=cmd();
|
||||
W5Command=cmd();
|
||||
|
||||
HitMineCommand=cmd(playcommand,"Glow");
|
||||
GlowCommand=cmd(setstate,0;finishtweening;diffusealpha,1.0;zoom,1.0;linear,0.15;diffusealpha,0.9;zoom,1.15;linear,0.15;diffusealpha,0.0;zoom,1.3);
|
||||
HeldCommand=cmd(playcommand,"Glow");
|
||||
};
|
||||
--tap
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Tap";
|
||||
--Frames = { { Frame = 2 ; Delay = 1 } };
|
||||
TapCommand=cmd(finishtweening;diffusealpha,1;zoom,1;linear,0.2;diffusealpha,0;zoom,1.2);
|
||||
InitCommand=cmd(pause;setstate,2;playcommand,"Tap");
|
||||
HeldCommand=cmd(playcommand,"Tap");
|
||||
ColumnJudgmentMessageCommand=cmd(playcommand,"Tap");
|
||||
--TapNoneCommand=cmd(playcommand,"Tap");
|
||||
};
|
||||
--explosion
|
||||
LoadActor("_flash")..{
|
||||
InitCommand=cmd(blend,"BlendMode_Add";playcommand,"Glow");
|
||||
W1Command=cmd(playcommand,"Glow");
|
||||
W2Command=cmd(playcommand,"Glow");
|
||||
W3Command=cmd(playcommand,"Glow");
|
||||
W4Command=cmd();
|
||||
W5Command=cmd();
|
||||
--HoldingOnCommand=cmd(playcommand,"Glow");
|
||||
HitMineCommand=cmd(playcommand,"Glow");
|
||||
HeldCommand=cmd(playcommand,"Glow");
|
||||
GlowCommand=cmd(setstate,0;finishtweening;diffusealpha,1;zoom,1;linear,0.2;diffusealpha,0;zoom,1.2);
|
||||
};
|
||||
--thing...
|
||||
Def.Quad {
|
||||
InitCommand=cmd(zoomto,50,5000;diffusealpha,0);
|
||||
HitMineCommand=cmd(finishtweening;diffusealpha,1;linear,0.3;diffusealpha,0);
|
||||
};
|
||||
return Def.ActorFrame {
|
||||
--note graphic
|
||||
NOTESKIN:LoadActor(Var "Button", "Tap Note") .. {
|
||||
InitCommand=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W1Command=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W2Command=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W3Command=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W4Command=function(self) end;
|
||||
W5Command=function(self) end;
|
||||
HitMineCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
HeldCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
GlowCommand=function(self)
|
||||
self:setstate(0);
|
||||
self:finishtweening();
|
||||
self:diffusealpha(1.0);
|
||||
self:zoom(1.0);
|
||||
self:linear(0.15);
|
||||
self:diffusealpha(0.9);
|
||||
self:zoom(1.15);
|
||||
self:linear(0.15);
|
||||
self:diffusealpha(0.0);
|
||||
self:zoom(1.3);
|
||||
end;
|
||||
|
||||
};
|
||||
--tap
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Tap";
|
||||
--Frames = { { Frame = 2 ; Delay = 1 } };
|
||||
TapCommand=function(self)
|
||||
self:finishtweening();
|
||||
self:diffusealpha(1);
|
||||
self:zoom(1);
|
||||
self:linear(0.2);
|
||||
self:diffusealpha(0);
|
||||
self:zoom(1.2);
|
||||
end;
|
||||
InitCommand=function(self)
|
||||
self:pause();
|
||||
self:setstate(2);
|
||||
self:playcommand("Tap");
|
||||
end;
|
||||
HeldCommand=function(self)
|
||||
self:playcommand("Tap");
|
||||
end;
|
||||
ColumnJudgmentMessageCommand=function(self)
|
||||
self:playcommand("Tap");
|
||||
end;
|
||||
};
|
||||
--explosion
|
||||
LoadActor("_flash")..{
|
||||
InitCommand=function(self)
|
||||
self:blend("BlendMode_Add");
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W1Command=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W2Command=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W3Command=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W4Command=function(self) end;
|
||||
W5Command=function(self) end;
|
||||
HitMineCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
HeldCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
GlowCommand=function(self)
|
||||
self:setstate(0);
|
||||
self:finishtweening();
|
||||
self:diffusealpha(1);
|
||||
self:zoom(1);
|
||||
self:linear(0.2);
|
||||
self:diffusealpha(0);
|
||||
self:zoom(1.2);
|
||||
end;
|
||||
};
|
||||
--thing...
|
||||
Def.Quad {
|
||||
InitCommand=function(self)
|
||||
self:zoomto(50, 5000);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
HitMineCommand=function(self)
|
||||
self:finishtweening();
|
||||
self:diffusealpha(1);
|
||||
self:linear(0.3);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
}
|
||||
@@ -1,64 +1,66 @@
|
||||
local player = Var "Player" or GAMESTATE:GetMasterPlayerNumber()
|
||||
|
||||
local function Beat(self)
|
||||
-- too many locals
|
||||
local this = self:GetChildren()
|
||||
local playerstate = GAMESTATE:GetPlayerState( player )
|
||||
local songposition = playerstate:GetSongPosition() -- GAMESTATE:GetSongPosition()
|
||||
|
||||
local beat = songposition:GetSongBeat() -- GAMESTATE:GetSongBeat()
|
||||
|
||||
local part = beat%1
|
||||
part = clamp(part,0,0.5)
|
||||
local eff = scale(part,0,0.5,1,0)
|
||||
if (songposition:GetDelay() or false) and part == 0 then eff = 0 end
|
||||
if beat < 0 then
|
||||
eff = 0
|
||||
end
|
||||
this.Glow:diffusealpha(eff);
|
||||
end
|
||||
|
||||
return Def.ActorFrame {
|
||||
-- COMMANDS --
|
||||
InitCommand=cmd(SetUpdateFunction,Beat);
|
||||
|
||||
-- LAYERS --
|
||||
NOTESKIN:LoadActor("Center", "Outline Receptor")..{
|
||||
Name="Outline Full";
|
||||
Condition=Var "Button" == "Center" and GAMESTATE:GetCurrentStyle():GetStepsType() ~= 'StepsType_Pump_Halfdouble';
|
||||
--InitCommand=cmd(x,96);
|
||||
};
|
||||
NOTESKIN:LoadActor("DownLeft", "Outline Receptor")..{
|
||||
Name="Outline Half";
|
||||
Condition=Var "Button" == "DownLeft" and GAMESTATE:GetCurrentStyle():GetStepsType() == 'StepsType_Pump_Halfdouble';
|
||||
--InitCommand=cmd(x,96);
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Base";
|
||||
Frames={
|
||||
{ Frame = 0, Delay = 0 }
|
||||
};
|
||||
PressCommand=cmd(finishtweening;linear,0.05;zoom,0.9;linear,0.1;zoom,1);
|
||||
};
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Glow";
|
||||
Frames= {
|
||||
{ Frame = 1, Delay = 0 }
|
||||
};
|
||||
InitCommand=cmd(blend,'BlendMode_Add');
|
||||
PressCommand=cmd(finishtweening;linear,0.05;zoom,0.9;linear,0.1;zoom,1);
|
||||
};
|
||||
--[[
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Tap";
|
||||
Frames = { Frame = 2 };
|
||||
InitCommand=cmd(zoom,1;diffusealpha,0;glow,1,1,1,0);
|
||||
--NOTESKIN:GetMetricA(Var "Button", "TapInitCommand");
|
||||
--
|
||||
PressCommand=cmd(finishtweening;glow,1,1,1,1;zoom,1;linear,0.2;glow,1,1,1,0;zoom,1.2);
|
||||
--NOTESKIN:GetMetricA(Var "Button", "TapHeldCommand");
|
||||
--
|
||||
};
|
||||
--]]
|
||||
local player = Var "Player" or GAMESTATE:GetMasterPlayerNumber()
|
||||
|
||||
local function Beat(self)
|
||||
-- too many locals
|
||||
local this = self:GetChildren()
|
||||
local playerstate = GAMESTATE:GetPlayerState( player )
|
||||
local songposition = playerstate:GetSongPosition() -- GAMESTATE:GetSongPosition()
|
||||
|
||||
local beat = songposition:GetSongBeat() -- GAMESTATE:GetSongBeat()
|
||||
|
||||
local part = beat%1
|
||||
part = clamp(part,0,0.5)
|
||||
local eff = scale(part,0,0.5,1,0)
|
||||
if (songposition:GetDelay() or false) and part == 0 then eff = 0 end
|
||||
if beat < 0 then
|
||||
eff = 0
|
||||
end
|
||||
this.Glow:diffusealpha(eff);
|
||||
end
|
||||
|
||||
return Def.ActorFrame {
|
||||
-- COMMANDS --
|
||||
InitCommand=function(self)
|
||||
self:SetUpdateFunction(Beat);
|
||||
end;
|
||||
|
||||
-- LAYERS --
|
||||
NOTESKIN:LoadActor("Center", "Outline Receptor")..{
|
||||
Name="Outline Full";
|
||||
Condition=Var "Button" == "Center" and GAMESTATE:GetCurrentStyle():GetStepsType() ~= 'StepsType_Pump_Halfdouble';
|
||||
};
|
||||
NOTESKIN:LoadActor("DownLeft", "Outline Receptor")..{
|
||||
Name="Outline Half";
|
||||
Condition=Var "Button" == "DownLeft" and GAMESTATE:GetCurrentStyle():GetStepsType() == 'StepsType_Pump_Halfdouble';
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Base";
|
||||
Frames={
|
||||
{ Frame = 0, Delay = 0 }
|
||||
};
|
||||
PressCommand=function(self)
|
||||
self:finishtweening();
|
||||
self:linear(0.05);
|
||||
self:zoom(0.9);
|
||||
self:linear(0.1);
|
||||
self:zoom(1);
|
||||
end;
|
||||
};
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Glow";
|
||||
Frames= {
|
||||
{ Frame = 1, Delay = 0 }
|
||||
};
|
||||
InitCommand=function(self)
|
||||
self:blend('BlendMode_Add');
|
||||
end;
|
||||
PressCommand=function(self)
|
||||
self:finishtweening();
|
||||
self:linear(0.05);
|
||||
self:zoom(0.9);
|
||||
self:linear(0.1);
|
||||
self:zoom(1);
|
||||
end;
|
||||
};
|
||||
}
|
||||
@@ -1,3 +1,6 @@
|
||||
return NOTESKIN:LoadActor("UpLeft","Tap Note")..{
|
||||
InitCommand=cmd(effectclock,"beat";effectmagnitude,0.5,1,0)
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
self:effectmagnitude(0.5, 1, 0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,6 @@
|
||||
return NOTESKIN:LoadActor("UpRight","Tap Note")..{
|
||||
InitCommand=cmd(effectclock,"beat";effectmagnitude,0.5,1,0)
|
||||
InitCommand=function(self)
|
||||
self:effectclock("beat");
|
||||
self:effectmagnitude(0.5,1,0);
|
||||
end;
|
||||
};
|
||||
@@ -1,3 +1,6 @@
|
||||
return LoadActor("_CenterHit")..{
|
||||
InitCommand=cmd(x,2;y,2);
|
||||
return LoadActor("_CenterHit")..{
|
||||
InitCommand=function(self)
|
||||
self:x(2);
|
||||
self:y(2);
|
||||
end;
|
||||
}
|
||||
@@ -1,3 +1,6 @@
|
||||
return LoadActor("_DownLeftHit")..{
|
||||
InitCommand=cmd(y,5;x,2);
|
||||
return LoadActor("_DownLeftHit")..{
|
||||
InitCommand=fnction(self)
|
||||
self:y(5);
|
||||
self:x(2);
|
||||
end;
|
||||
}
|
||||
@@ -1,3 +1,6 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","NoteHit")..{
|
||||
OnCommand=cmd(x,-2;zoomx,-1);
|
||||
return NOTESKIN:LoadActor("DownLeft","NoteHit")..{
|
||||
OnCommand=function(self)
|
||||
self:x(-2);
|
||||
self:zoomx(-1);
|
||||
end;
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
return NOTESKIN:LoadActor("DownLeft", "Ready Receptor")..{
|
||||
Frames = {
|
||||
{ Frame = 0 };
|
||||
{ Frame = 1 };
|
||||
{ Frame = 2 };
|
||||
};
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
return NOTESKIN:LoadActor("DownLeft", "Ready Receptor")..{
|
||||
Frames = {
|
||||
{ Frame = 0 };
|
||||
{ Frame = 1 };
|
||||
{ Frame = 2 };
|
||||
};
|
||||
};
|
||||
@@ -1,3 +1,2 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{
|
||||
};
|
||||
@@ -1,40 +1,113 @@
|
||||
return Def.ActorFrame {
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=cmd(animate,0;blend,Blend.Add;diffusealpha,0);
|
||||
|
||||
NoneCommand=cmd(playcommand,"Glow");
|
||||
PressCommand=cmd(playcommand,"Glow");
|
||||
W1Command=cmd(setstate,0;playcommand,"W2");
|
||||
W2Command=cmd(setstate,0;playcommand,"Glow");
|
||||
W3Command=cmd(setstate,1;playcommand,"Glow");
|
||||
W4Command=cmd(setstate,2;playcommand,"Glow");
|
||||
W5Command=cmd();
|
||||
HitMineCommand=cmd(playcommand,"Glow");
|
||||
HeldCommand=cmd(setstate,0;playcommand,"Glow");
|
||||
GlowCommand=cmd(stoptweening,zoom,1.05;diffusealpha,1;linear,0.25;zoom,1.1;diffusealpha,0);
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=cmd(animate,0;blend,Blend.Add;diffusealpha,0);
|
||||
|
||||
NoneCommand=cmd(playcommand,"Glow");
|
||||
PressCommand=cmd(playcommand,"Glow");
|
||||
W1Command=cmd(setstate,0;playcommand,"W2");
|
||||
W2Command=cmd(setstate,0;playcommand,"Glow");
|
||||
W3Command=cmd(setstate,1;playcommand,"Glow");
|
||||
W4Command=cmd(setstate,2;playcommand,"Glow");
|
||||
W5Command=cmd();
|
||||
HitMineCommand=cmd(playcommand,"Glow");
|
||||
HeldCommand=cmd(setstate,0;playcommand,"Glow");
|
||||
GlowCommand=cmd(stoptweening,zoom,1;diffusealpha,0.4;linear,0.3;zoom,1.2;diffusealpha,0);
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=cmd(animate,0;zoom,1.1;blend,Blend.Add;visible,false);
|
||||
HoldingOnCommand=cmd(visible,true);
|
||||
HoldingOffCommand=cmd(visible,false);
|
||||
};
|
||||
|
||||
|
||||
return Def.ActorFrame {
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:blend(Blend.Add);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
|
||||
NoneCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
PressCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W1Command=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("W2");
|
||||
end;
|
||||
W2Command=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W3Command=function(self)
|
||||
self:setstate(1);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W4Command=function(self)
|
||||
self:setstate(2);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W5Command=function(self) end;
|
||||
HitMineCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
HeldCommand=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
GlowCommand=function(self)
|
||||
self:stoptweening();
|
||||
self:zoom(1.05);
|
||||
self:diffusealpha(1);
|
||||
self:linear(0.25);
|
||||
self:zoom(1.1);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:blend(Blend.Add);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
|
||||
NoneCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
PressCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W1Command=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("W2");
|
||||
end;
|
||||
W2Command=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W3Command=function(self)
|
||||
self:setstate(1);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W4Command=function(self)
|
||||
self:setstate(2);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W5Command=function(self) end;
|
||||
HitMineCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
HeldCommand=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
GlowCommand=function(self)
|
||||
self:stoptweening();
|
||||
self:zoom(1);
|
||||
self:diffusealpha(0.4);
|
||||
self:linear(0.3);
|
||||
self:zoom(1.2);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:zoom(1.1);
|
||||
self:blend(Blend.Add);
|
||||
self:visible(false);
|
||||
end;
|
||||
HoldingOnCommand=function(self)
|
||||
self:visible(true);
|
||||
end;
|
||||
HoldingOffCommand=function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
@@ -1,3 +1,8 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","NoteHit")..{
|
||||
InitCommand=cmd(rotationy,180;rotationz,180;y,-6;x,2);
|
||||
}
|
||||
return NOTESKIN:LoadActor("DownLeft","NoteHit")..{
|
||||
InitCommand=function(self)
|
||||
self:rotationy(180);
|
||||
self:rotationz(180);
|
||||
self:y(-6);
|
||||
self:x(2);
|
||||
end;
|
||||
}
|
||||
|
||||
@@ -1,22 +1,53 @@
|
||||
return Def.ActorFrame {
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Base";
|
||||
InitCommand=cmd(animate,0;setstate,0);
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Glow";
|
||||
InitCommand=cmd(animate,0;setstate,1);
|
||||
OnCommand=cmd(effectclock,"bgm";diffuseshift;effectcolor1,color("#FFFFFFFF");effectcolor2,color("#FFFFFF00");effecttiming,1,0,0,0);
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Tap";
|
||||
InitCommand=cmd(animate,0;setstate,2;zoom,1;diffusealpha,0;blend,'BlendMode_Add');
|
||||
PressCommand=cmd(diffuse,color("#FFFFAA");stoptweening;zoom,1.1;linear,0.1;diffusealpha,0.6;zoom,1);
|
||||
LiftCommand=cmd(diffuse,color("#FFFFAA");stoptweening;diffusealpha,0.6;zoom,1;linear,0.15;zoom,1.2;diffusealpha,0);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
--Vin.il was here... =)
|
||||
return Def.ActorFrame {
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Base";
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:setstate(0);
|
||||
end;
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Glow";
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:setstate(1);
|
||||
end;
|
||||
OnCommand=function(self)
|
||||
self:effectclock("bgm");
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#FFFFFFFF"));
|
||||
self:effectcolor2(color("#FFFFFF00"));
|
||||
self:effecttiming(1, 0, 0, 0);
|
||||
end;
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||
Name="Tap";
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:setstate(2);
|
||||
self:zoom(1);
|
||||
self:diffusealpha(0);
|
||||
self:blend('BlendMode_Add');
|
||||
end;
|
||||
PressCommand=function(self)
|
||||
self:diffuse(color("#FFFFAA"));
|
||||
self:stoptweening();
|
||||
self:zoom(1.1);
|
||||
self:linear(0.1);
|
||||
self:diffusealpha(0.6);
|
||||
self:zoom(1);
|
||||
end;
|
||||
LiftCommand=function(self)
|
||||
self:diffuse(color("#FFFFAA"));
|
||||
self:stoptweening();
|
||||
self:diffusealpha(0.6);
|
||||
self:zoom(1);
|
||||
self:linear(0.15);
|
||||
self:zoom(1.2);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
}
|
||||
@@ -1,26 +1,50 @@
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Base");
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Fill")..{
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,color("#FFFFFFFF");effectcolor2,color("#FFFFFF22");effectclock,"bgm";effectperiod,2);
|
||||
}
|
||||
t[#t+1] = LoadActor("Mine_Fill")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#FFFFFFFF");effectcolor2,color("#FFFFFF22");effectclock,"bgm";effectperiod,2);
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Border")..{
|
||||
InitCommand=cmd(spin;effectmagnitude,0,0,36);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Overlay");
|
||||
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Light")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#FFFFFF55");effectcolor2,color("#FFFFFF00");effectclock,"bgm";zoom,1.15;effectperiod,2);
|
||||
}
|
||||
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Base");
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Fill")..{
|
||||
InitCommand=function(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#FFFFFFFF"));
|
||||
self:effectcolor2(color("#FFFFFF22"));
|
||||
self:effectclock("bgm");
|
||||
self:effectperiod(2);
|
||||
end;
|
||||
}
|
||||
t[#t+1] = LoadActor("Mine_Fill")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#FFFFFFFF"));
|
||||
self:effectcolor2(color("#FFFFFF22"));
|
||||
self:effectclock("bgm");
|
||||
self:effectperiod(2);
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Border")..{
|
||||
InitCommand=function(self)
|
||||
self:spin();
|
||||
self:effectmagnitude(0, 0, 36);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Overlay");
|
||||
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Mine_Light")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#FFFFFF55"));
|
||||
self:effectcolor2(color("#FFFFFF00"));
|
||||
self:effectclock("bgm");
|
||||
self:zoom(1.15);
|
||||
self:effectperiod(2);
|
||||
end;
|
||||
}
|
||||
|
||||
return t
|
||||
@@ -1,3 +1,8 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","NoteHit")..{
|
||||
InitCommand=cmd(rotationy,180;rotationz,180;y,-6;x,-2);
|
||||
return NOTESKIN:LoadActor("DownLeft","NoteHit")..{
|
||||
InitCommand=function(self)
|
||||
self:rotationy(180);
|
||||
self:rotationz(180);
|
||||
self:y(-6);
|
||||
self:x(-2);
|
||||
end;
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
return NOTESKIN:LoadActor("UpLeft", "Ready Receptor")..{
|
||||
Frames = {
|
||||
{ Frame = 0 };
|
||||
{ Frame = 1 };
|
||||
{ Frame = 2 };
|
||||
};
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
return NOTESKIN:LoadActor("UpLeft", "Ready Receptor")..{
|
||||
Frames = {
|
||||
{ Frame = 0 };
|
||||
{ Frame = 1 };
|
||||
{ Frame = 2 };
|
||||
};
|
||||
};
|
||||
@@ -1,4 +1,2 @@
|
||||
return NOTESKIN:LoadActor("UpLeft","Tap Note")..{
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
--BaseRotationY=180;
|
||||
return NOTESKIN:LoadActor("UpLeft","Tap Note")..{
|
||||
};
|
||||
@@ -1,24 +1,44 @@
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,color("#9b8737FF");effectcolor2,color("#9b8737FF");fadetop,0.5);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#ccb752FF");effectcolor2,color("#ccb75233");effectclock,"bgm";effecttiming,1,0,0,0;);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_fill")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#ccb752FF");effectcolor2,color("#ccb752FF"));
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_feet")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffusealpha,0.6);
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Center border");
|
||||
|
||||
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#9b8737FF"));
|
||||
self:effectcolor2(color("#9b8737FF"));
|
||||
self:fadetop(0.5);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#ccb752FF"));
|
||||
self:effectcolor2(color("#ccb75233"));
|
||||
self:effectclock("bgm");
|
||||
self:effecttiming(1, 0, 0, 0);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_fill")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#ccb752FF"));
|
||||
self:effectcolor2(color("#ccb752FF"));
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_feet")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffusealpha(0.6);
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Center border");
|
||||
|
||||
|
||||
return t
|
||||
@@ -1,3 +1,6 @@
|
||||
return LoadActor("_CenterHit")..{
|
||||
InitCommand=cmd(x,2;y,2);
|
||||
return LoadActor("_CenterHit")..{
|
||||
InitCommand=function(self)
|
||||
self:x(2);
|
||||
self:y(2);
|
||||
end;
|
||||
}
|
||||
@@ -1,28 +1,52 @@
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,color("#9b873766");effectcolor2,color("#9b873766"));
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#ccb752FF");effectcolor2,color("#ccb75266");effectclock,"bgm";effecttiming,1,0,0,0;);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,color("#ccb752FF");effectcolor2,color("#ccb752FF");fadetop,1);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_fill")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#ccb752FF");effectcolor2,color("#ccb752FF"));
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_feet")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffusealpha,0.6);
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Center border");
|
||||
|
||||
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#9b873766"));
|
||||
self:effectcolor2(color("#9b873766"));
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#ccb752FF"));
|
||||
self:effectcolor2(color("#ccb75266"));
|
||||
self:effectclock("bgm");
|
||||
self:effecttiming(1, 0, 0, 0);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#ccb752FF"));
|
||||
self:effectcolor2(color("#ccb752FF"));
|
||||
self:fadetop(1);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_fill")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#ccb752FF"));
|
||||
self:effectcolor2(color("#ccb752FF"));
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("Center_feet")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffusealpha(0.6);
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("Center border");
|
||||
|
||||
|
||||
return t
|
||||
@@ -1,20 +1,37 @@
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,color("#376f9bFF");effectcolor2,color("#376f9bFF");fadetop,0.5);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#5899ccFF");effectcolor2,color("#5899cc33");effectclock,"bgm";effecttiming,1,0,0,0;);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_fill")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#5899ccFF");effectcolor2,color("#5899ccFF"));
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft border");
|
||||
|
||||
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#376f9bFF"));
|
||||
self:effectcolor2(color("#376f9bFF"));
|
||||
self:fadetop(0.5);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#5899ccFF"));
|
||||
self:effectcolor2(color("#5899cc33"));
|
||||
self:effectclock("bgm");
|
||||
self:effecttiming(1, 0, 0, 0);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_fill")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#5899ccFF"));
|
||||
self:effectcolor2(color("#5899ccFF"));
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft border");
|
||||
|
||||
|
||||
return t
|
||||
@@ -1,3 +1,6 @@
|
||||
return LoadActor("_DownLeftHit")..{
|
||||
InitCommand=cmd(y,5;x,2);
|
||||
return LoadActor("_DownLeftHit")..{
|
||||
InitCommand=fnction(self)
|
||||
self:y(5);
|
||||
self:x(2);
|
||||
end;
|
||||
}
|
||||
@@ -1,24 +1,45 @@
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,color("#376f9b66");effectcolor2,color("#376f9b66"));
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#5899ccFF");effectcolor2,color("#5899cc66");effectclock,"bgm";effecttiming,1,0,0,0;);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,color("#5899ccFF");effectcolor2,color("#5899ccFF");fadetop,1);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_fill")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#5899ccFF");effectcolor2,color("#5899ccFF"));
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft border");
|
||||
|
||||
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=fnction(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#376f9b66"));
|
||||
self:effectcolor2(color("#376f9b66"));
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#5899ccFF"));
|
||||
self:effectcolor2(color("#5899cc66"));
|
||||
self:effectclock("bgm");
|
||||
self:effecttiming(1, 0, 0, 0);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#5899ccFF"));
|
||||
self:effectcolor2(color("#5899ccFF"));
|
||||
self:fadetop(1);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft_fill")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#5899ccFF"));
|
||||
self:effectcolor2(color("#5899ccFF"));
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("DownLeft border");
|
||||
|
||||
|
||||
return t
|
||||
@@ -1,3 +1,3 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","Hold Head")..{
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
return NOTESKIN:LoadActor("DownLeft","Hold Head")..{
|
||||
|
||||
};
|
||||
@@ -1,3 +1,6 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","NoteHit")..{
|
||||
OnCommand=cmd(x,-2;zoomx,-1);
|
||||
return NOTESKIN:LoadActor("DownLeft","NoteHit")..{
|
||||
OnCommand=function(self)
|
||||
self:x(-2);
|
||||
self:zoomx(-1);
|
||||
end;
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
return NOTESKIN:LoadActor("DownLeft", "Ready Receptor")..{
|
||||
Frames = {
|
||||
{ Frame = 0 };
|
||||
{ Frame = 1 };
|
||||
{ Frame = 2 };
|
||||
};
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
return NOTESKIN:LoadActor("DownLeft", "Ready Receptor")..{
|
||||
Frames = {
|
||||
{ Frame = 0 };
|
||||
{ Frame = 1 };
|
||||
{ Frame = 2 };
|
||||
};
|
||||
};
|
||||
@@ -1,3 +1,2 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{
|
||||
};
|
||||
+134
-130
@@ -1,131 +1,135 @@
|
||||
local Noteskin = {}
|
||||
|
||||
--bBlanks:
|
||||
Noteskin.bBlanks = {
|
||||
--["element"] = true|false;
|
||||
["Hold Tail Active"] = true;
|
||||
["Hold Tail Active"] = true;
|
||||
["Roll Tail Inactive"] = true;
|
||||
["Roll Tail Inactive"] = true;
|
||||
}
|
||||
Noteskin.PartsToRotate = {
|
||||
--["elemenu"] = true|false;
|
||||
["Roll Head Active"] = false;
|
||||
["Roll Head Inactive"] = false;
|
||||
}
|
||||
Noteskin.ElementRedirs = {
|
||||
--["element"] = "redirected_element";
|
||||
["Hold Head Active"] = "Tap Note";
|
||||
["Hold Head Inactive"] = "Tap Note";
|
||||
["Roll Head Active"] = "Roll Head Active";
|
||||
["Roll Head Inactive"] = "Roll Head Active";
|
||||
["Tap Fake"] = "Tap Note";
|
||||
["Tap Lift"] = "Tap Note";
|
||||
--
|
||||
["Hold Topcap Inactive"] = "Hold Topcap Active";
|
||||
["Hold Body Inactive"] = "Hold Body Active";
|
||||
["Hold Bottomcap Inactive"] = "Hold Bottomcap Active";
|
||||
["Hold Tail Inactive"] = "Hold Tail Active";
|
||||
--
|
||||
["Roll Topcap Active"] = "Hold Topcap Active";
|
||||
["Roll Body Active"] = "Hold Body Active";
|
||||
["Roll Bottomcap Active"] = "Hold Bottomcap Active";
|
||||
["Roll Tail Active"] = "Hold Tail Active";
|
||||
--
|
||||
["Roll Topcap Inactive"] = "Hold Topcap Active";
|
||||
["Roll Body Inactive"] = "Hold Body Active";
|
||||
["Roll Bottomcap Inactive"] = "Hold Bottomcap Active";
|
||||
["Roll Tail Inactive"] = "Hold Tail Active";
|
||||
}
|
||||
-- explicit, n/w
|
||||
--[[Noteskin.ButtonRedirs = {
|
||||
Center = "Center";
|
||||
UpLeft = "UpLeft";
|
||||
UpRight = "UpRight";
|
||||
DownLeft = "DownLeft";
|
||||
DownRight = "DownRight";
|
||||
}]]
|
||||
Noteskin.BaseRotX = {
|
||||
Center = 0;
|
||||
UpLeft = 0;
|
||||
UpRight = 0;
|
||||
DownLeft = 0;
|
||||
DownRight = 0;
|
||||
}
|
||||
Noteskin.BaseRotY = {
|
||||
Center = 0;
|
||||
UpLeft = 0;
|
||||
UpRight = 180;
|
||||
DownLeft = 0;
|
||||
DownRight = 180;
|
||||
}
|
||||
Noteskin.BaseRotZ = {
|
||||
Center = 0;
|
||||
UpLeft = 0;
|
||||
UpRight = 0;
|
||||
DownLeft = 0;
|
||||
DownRight = 0;
|
||||
}
|
||||
|
||||
--[[--------------------------------------------------------------------------
|
||||
DONT EDIT THE FUNCTION, DON'T COPY AND PASTE THE WHOLE NOTESKIN.LUA
|
||||
JUST MAKE A NEW ONE AND GRAB WHATEVER IS USEFUL FOR YOUR NOTESKIN.
|
||||
phew~
|
||||
|
||||
See cmd-routine-p* noteskin.lua for a simple and clear example on
|
||||
how to do this properly, notice how the rest of the noteskins just
|
||||
have graphics and at least a metrics.ini with few things
|
||||
--]]--------------------------------------------------------------------------
|
||||
local function func()
|
||||
local sButton = Var "Button"
|
||||
local sElement = Var "Element"
|
||||
|
||||
if Noteskin.bBlanks[sElement] then
|
||||
local t = Def.Actor {};
|
||||
if Var "SpriteOnly" then
|
||||
t = LoadActor( "_blank" );
|
||||
end
|
||||
return t
|
||||
end
|
||||
|
||||
--local ButtonToLoad = Noteskin.ButtonRedirs[sButton]
|
||||
local ElementToLoad = Noteskin.ElementRedirs[sElement]
|
||||
if not ElementToLoad then
|
||||
ElementToLoad = sElement
|
||||
end
|
||||
|
||||
if sElement == "Explosion"
|
||||
or sElement == "Tap Mine"
|
||||
or sElement == "Receptor"
|
||||
then
|
||||
sButton = "UpLeft"
|
||||
end
|
||||
local path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
||||
if ( string.find(sElement,"Hold") or string.find(sElement,"Roll") )
|
||||
and not ( string.find(sElement,"Head") or string.find(sElement,"Tail") )
|
||||
then
|
||||
path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
||||
end
|
||||
|
||||
local t = LoadActor(path)
|
||||
|
||||
local bRotate = Noteskin.PartsToRotate[ElementToLoad]
|
||||
--rotate by default
|
||||
if bRotate == nil then bRotate = true end
|
||||
if bRotate then
|
||||
t.BaseRotationX=Noteskin.BaseRotX[sButton]
|
||||
t.BaseRotationY=Noteskin.BaseRotY[sButton]
|
||||
t.BaseRotationZ=Noteskin.BaseRotZ[sButton]
|
||||
end
|
||||
|
||||
if sElement == "Tap Lift" then
|
||||
t.InitCommand=cmd(pulse;effectclock,"beat";effectmagnitude,1,0.75,0);
|
||||
end
|
||||
|
||||
return t
|
||||
end
|
||||
|
||||
Noteskin.Load = func
|
||||
Noteskin.CommonLoad = func
|
||||
|
||||
local Noteskin = {}
|
||||
|
||||
--bBlanks:
|
||||
Noteskin.bBlanks = {
|
||||
--["element"] = true|false;
|
||||
["Hold Tail Active"] = true;
|
||||
["Hold Tail Active"] = true;
|
||||
["Roll Tail Inactive"] = true;
|
||||
["Roll Tail Inactive"] = true;
|
||||
}
|
||||
Noteskin.PartsToRotate = {
|
||||
--["elemenu"] = true|false;
|
||||
["Roll Head Active"] = false;
|
||||
["Roll Head Inactive"] = false;
|
||||
}
|
||||
Noteskin.ElementRedirs = {
|
||||
--["element"] = "redirected_element";
|
||||
["Hold Head Active"] = "Tap Note";
|
||||
["Hold Head Inactive"] = "Tap Note";
|
||||
["Roll Head Active"] = "Roll Head Active";
|
||||
["Roll Head Inactive"] = "Roll Head Active";
|
||||
["Tap Fake"] = "Tap Note";
|
||||
["Tap Lift"] = "Tap Note";
|
||||
--
|
||||
["Hold Topcap Inactive"] = "Hold Topcap Active";
|
||||
["Hold Body Inactive"] = "Hold Body Active";
|
||||
["Hold Bottomcap Inactive"] = "Hold Bottomcap Active";
|
||||
["Hold Tail Inactive"] = "Hold Tail Active";
|
||||
--
|
||||
["Roll Topcap Active"] = "Hold Topcap Active";
|
||||
["Roll Body Active"] = "Hold Body Active";
|
||||
["Roll Bottomcap Active"] = "Hold Bottomcap Active";
|
||||
["Roll Tail Active"] = "Hold Tail Active";
|
||||
--
|
||||
["Roll Topcap Inactive"] = "Hold Topcap Active";
|
||||
["Roll Body Inactive"] = "Hold Body Active";
|
||||
["Roll Bottomcap Inactive"] = "Hold Bottomcap Active";
|
||||
["Roll Tail Inactive"] = "Hold Tail Active";
|
||||
}
|
||||
-- explicit, n/w
|
||||
--[[Noteskin.ButtonRedirs = {
|
||||
Center = "Center";
|
||||
UpLeft = "UpLeft";
|
||||
UpRight = "UpRight";
|
||||
DownLeft = "DownLeft";
|
||||
DownRight = "DownRight";
|
||||
}]]
|
||||
Noteskin.BaseRotX = {
|
||||
Center = 0;
|
||||
UpLeft = 0;
|
||||
UpRight = 0;
|
||||
DownLeft = 0;
|
||||
DownRight = 0;
|
||||
}
|
||||
Noteskin.BaseRotY = {
|
||||
Center = 0;
|
||||
UpLeft = 0;
|
||||
UpRight = 180;
|
||||
DownLeft = 0;
|
||||
DownRight = 180;
|
||||
}
|
||||
Noteskin.BaseRotZ = {
|
||||
Center = 0;
|
||||
UpLeft = 0;
|
||||
UpRight = 0;
|
||||
DownLeft = 0;
|
||||
DownRight = 0;
|
||||
}
|
||||
|
||||
--[[--------------------------------------------------------------------------
|
||||
DONT EDIT THE FUNCTION, DON'T COPY AND PASTE THE WHOLE NOTESKIN.LUA
|
||||
JUST MAKE A NEW ONE AND GRAB WHATEVER IS USEFUL FOR YOUR NOTESKIN.
|
||||
phew~
|
||||
|
||||
See cmd-routine-p* noteskin.lua for a simple and clear example on
|
||||
how to do this properly, notice how the rest of the noteskins just
|
||||
have graphics and at least a metrics.ini with few things
|
||||
--]]--------------------------------------------------------------------------
|
||||
local function func()
|
||||
local sButton = Var "Button"
|
||||
local sElement = Var "Element"
|
||||
|
||||
if Noteskin.bBlanks[sElement] then
|
||||
local t = Def.Actor {};
|
||||
if Var "SpriteOnly" then
|
||||
t = LoadActor( "_blank" );
|
||||
end
|
||||
return t
|
||||
end
|
||||
|
||||
--local ButtonToLoad = Noteskin.ButtonRedirs[sButton]
|
||||
local ElementToLoad = Noteskin.ElementRedirs[sElement]
|
||||
if not ElementToLoad then
|
||||
ElementToLoad = sElement
|
||||
end
|
||||
|
||||
if sElement == "Explosion"
|
||||
or sElement == "Tap Mine"
|
||||
or sElement == "Receptor"
|
||||
then
|
||||
sButton = "UpLeft"
|
||||
end
|
||||
local path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
||||
if ( string.find(sElement,"Hold") or string.find(sElement,"Roll") )
|
||||
and not ( string.find(sElement,"Head") or string.find(sElement,"Tail") )
|
||||
then
|
||||
path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
||||
end
|
||||
|
||||
local t = LoadActor(path)
|
||||
|
||||
local bRotate = Noteskin.PartsToRotate[ElementToLoad]
|
||||
--rotate by default
|
||||
if bRotate == nil then bRotate = true end
|
||||
if bRotate then
|
||||
t.BaseRotationX=Noteskin.BaseRotX[sButton]
|
||||
t.BaseRotationY=Noteskin.BaseRotY[sButton]
|
||||
t.BaseRotationZ=Noteskin.BaseRotZ[sButton]
|
||||
end
|
||||
|
||||
if sElement == "Tap Lift" then
|
||||
t.InitCommand=function(self)
|
||||
self:pulse();
|
||||
self:effectclock("beat");
|
||||
self:effectmagnitude(1, 0.75, 0);
|
||||
end;
|
||||
end
|
||||
|
||||
return t
|
||||
end
|
||||
|
||||
Noteskin.Load = func
|
||||
Noteskin.CommonLoad = func
|
||||
|
||||
return Noteskin
|
||||
@@ -1,40 +1,113 @@
|
||||
return Def.ActorFrame {
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=cmd(animate,0;blend,Blend.Add;diffusealpha,0);
|
||||
|
||||
NoneCommand=cmd(playcommand,"Glow");
|
||||
PressCommand=cmd(playcommand,"Glow");
|
||||
W1Command=cmd(setstate,0;playcommand,"W2");
|
||||
W2Command=cmd(setstate,0;playcommand,"Glow");
|
||||
W3Command=cmd(setstate,1;playcommand,"Glow");
|
||||
W4Command=cmd(setstate,2;playcommand,"Glow");
|
||||
W5Command=cmd();
|
||||
HitMineCommand=cmd(playcommand,"Glow");
|
||||
HeldCommand=cmd(setstate,0;playcommand,"Glow");
|
||||
GlowCommand=cmd(stoptweening,zoom,1.05;diffusealpha,1;linear,0.25;zoom,1.1;diffusealpha,0);
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=cmd(animate,0;blend,Blend.Add;diffusealpha,0);
|
||||
|
||||
NoneCommand=cmd(playcommand,"Glow");
|
||||
PressCommand=cmd(playcommand,"Glow");
|
||||
W1Command=cmd(setstate,0;playcommand,"W2");
|
||||
W2Command=cmd(setstate,0;playcommand,"Glow");
|
||||
W3Command=cmd(setstate,1;playcommand,"Glow");
|
||||
W4Command=cmd(setstate,2;playcommand,"Glow");
|
||||
W5Command=cmd();
|
||||
HitMineCommand=cmd(playcommand,"Glow");
|
||||
HeldCommand=cmd(setstate,0;playcommand,"Glow");
|
||||
GlowCommand=cmd(stoptweening,zoom,1;diffusealpha,0.4;linear,0.3;zoom,1.2;diffusealpha,0);
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=cmd(animate,0;zoom,1.1;blend,Blend.Add;visible,false);
|
||||
HoldingOnCommand=cmd(visible,true);
|
||||
HoldingOffCommand=cmd(visible,false);
|
||||
};
|
||||
|
||||
|
||||
return Def.ActorFrame {
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:blend(Blend.Add);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
|
||||
NoneCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
PressCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W1Command=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("W2");
|
||||
end;
|
||||
W2Command=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W3Command=function(self)
|
||||
self:setstate(1);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W4Command=function(self)
|
||||
self:setstate(2);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W5Command=function(self) end;
|
||||
HitMineCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
HeldCommand=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
GlowCommand=function(self)
|
||||
self:stoptweening();
|
||||
self:zoom(1.05);
|
||||
self:diffusealpha(1);
|
||||
self:linear(0.25);
|
||||
self:zoom(1.1);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:blend(Blend.Add);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
|
||||
NoneCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
PressCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W1Command=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("W2");
|
||||
end;
|
||||
W2Command=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W3Command=function(self)
|
||||
self:setstate(1);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W4Command=function(self)
|
||||
self:setstate(2);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
W5Command=function(self) end;
|
||||
HitMineCommand=function(self)
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
HeldCommand=function(self)
|
||||
self:setstate(0);
|
||||
self:playcommand("Glow");
|
||||
end;
|
||||
GlowCommand=function(self)
|
||||
self:stoptweening();
|
||||
self:zoom(1);
|
||||
self:diffusealpha(0.4);
|
||||
self:linear(0.3);
|
||||
self:zoom(1.2);
|
||||
self:diffusealpha(0);
|
||||
end;
|
||||
};
|
||||
|
||||
NOTESKIN:LoadActor(Var "Button","NoteHit") .. {
|
||||
InitCommand=function(self)
|
||||
self:animate(0);
|
||||
self:zoom(1.1);
|
||||
self:blend(Blend.Add);
|
||||
self:visible(false);
|
||||
end;
|
||||
HoldingOnCommand=function(self)
|
||||
self:visible(true);
|
||||
end;
|
||||
HoldingOffCommand=function(self)
|
||||
self:visible(false);
|
||||
end;
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
@@ -1,21 +1,38 @@
|
||||
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("UpLeft_blend")..{
|
||||
InitCommand=cmd(diffuseshift;effectcolor1,color("#9b376dFF");effectcolor2,color("#9b376dFF");fadetop,0.5);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("UpLeft_blend")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#cc5176FF");effectcolor2,color("#cc517633");effectclock,"bgm";effecttiming,1,0,0,0;);
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("UpLeft_fill")..{
|
||||
InitCommand=cmd(blend,Blend.Add;diffuseshift;effectcolor1,color("#cc5176FF");effectcolor2,color("#cc5176FF"));
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("UpLeft border");
|
||||
|
||||
|
||||
|
||||
local t = Def.ActorFrame{}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("UpLeft_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#9b376dFF"));
|
||||
self:effectcolor2(color("#9b376dFF"));
|
||||
self:fadetop(0.5);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("UpLeft_blend")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#cc5176FF"));
|
||||
self:effectcolor2(color("#cc517633"));
|
||||
self:effectclock("bgm");
|
||||
self:effecttiming(1, 0, 0, 0);
|
||||
end;
|
||||
}
|
||||
|
||||
t[#t+1] = LoadActor("UpLeft_fill")..{
|
||||
InitCommand=function(self)
|
||||
self:blend(Blend.Add);
|
||||
self:diffuseshift();
|
||||
self:effectcolor1(color("#cc5176FF"));
|
||||
self:effectcolor2(color("#cc5176FF"));
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
t[#t+1] = LoadActor("UpLeft border");
|
||||
|
||||
|
||||
return t
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user