Add an FC splash
This commit is contained in:
@@ -3,7 +3,7 @@ local raveChildren
|
|||||||
local bg = Def.ActorFrame{
|
local bg = Def.ActorFrame{
|
||||||
Def.Quad{
|
Def.Quad{
|
||||||
InitCommand=cmd(FullScreen;diffuse,color("0,0,0,0"));
|
InitCommand=cmd(FullScreen;diffuse,color("0,0,0,0"));
|
||||||
StartTransitioningCommand=cmd(linear,3;diffusealpha,1);
|
StartTransitioningCommand=cmd(sleep,0.8;linear,3;diffusealpha,1);
|
||||||
};
|
};
|
||||||
|
|
||||||
Def.ActorFrame{
|
Def.ActorFrame{
|
||||||
@@ -32,17 +32,17 @@ local bg = Def.ActorFrame{
|
|||||||
LoadActor(THEME:GetPathG("_rave result","P1"))..{
|
LoadActor(THEME:GetPathG("_rave result","P1"))..{
|
||||||
Name="P1Win";
|
Name="P1Win";
|
||||||
InitCommand=cmd(Center;cropbottom,1;fadebottom,1);
|
InitCommand=cmd(Center;cropbottom,1;fadebottom,1);
|
||||||
StartTransitioningCommand=cmd(sleep,1.0;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0);
|
StartTransitioningCommand=cmd(sleep,1.8;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0);
|
||||||
};
|
};
|
||||||
LoadActor(THEME:GetPathG("_rave result","P2"))..{
|
LoadActor(THEME:GetPathG("_rave result","P2"))..{
|
||||||
Name="P2Win";
|
Name="P2Win";
|
||||||
InitCommand=cmd(Center;cropbottom,1;fadebottom,1);
|
InitCommand=cmd(Center;cropbottom,1;fadebottom,1);
|
||||||
StartTransitioningCommand=cmd(sleep,1.0;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0);
|
StartTransitioningCommand=cmd(sleep,1.8;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0);
|
||||||
};
|
};
|
||||||
LoadActor(THEME:GetPathG("_rave result","draw"))..{
|
LoadActor(THEME:GetPathG("_rave result","draw"))..{
|
||||||
Name="Draw";
|
Name="Draw";
|
||||||
InitCommand=cmd(Center;cropbottom,1;fadebottom,1);
|
InitCommand=cmd(Center;cropbottom,1;fadebottom,1);
|
||||||
StartTransitioningCommand=cmd(sleep,1.0;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0);
|
StartTransitioningCommand=cmd(sleep,1.8;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,143 @@
|
|||||||
|
--FullCombo base from moonlight by AJ
|
||||||
|
|
||||||
|
local pn = ...;
|
||||||
|
assert(pn);
|
||||||
|
|
||||||
|
local t = Def.ActorFrame{};
|
||||||
|
|
||||||
|
local IsUsingSoloSingles = PREFSMAN:GetPreference('Center1Player');
|
||||||
|
local NumPlayers = GAMESTATE:GetNumPlayersEnabled();
|
||||||
|
local NumSides = GAMESTATE:GetNumSidesJoined();
|
||||||
|
local pStats = STATSMAN:GetCurStageStats():GetPlayerStageStats(pn);
|
||||||
|
|
||||||
|
local function GetPosition(pn)
|
||||||
|
if IsUsingSoloSingles and NumPlayers == 1 and NumSides == 1 then return SCREEN_CENTER_X; end;
|
||||||
|
|
||||||
|
return THEME:GetMetric("ScreenGameplay","Player".. ToEnumShortString(pn) .. "MiscX");
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
-- Reuse screen filter code for width-based explosion
|
||||||
|
local style = GAMESTATE:GetCurrentStyle()
|
||||||
|
local cols = style:ColumnsPerPlayer()
|
||||||
|
local padding = 8 -- 4px on each side
|
||||||
|
local arrowWidth = 96 -- until noteskin metrics are implemented...
|
||||||
|
local filterWidth = (arrowWidth * cols) + padding
|
||||||
|
|
||||||
|
-- Ripple
|
||||||
|
t[#t+1] = Def.ActorFrame {
|
||||||
|
InitCommand=cmd(visible,false);
|
||||||
|
OffCommand=function(self)
|
||||||
|
if pStats:FullCombo() then
|
||||||
|
self:visible(true);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Def.Quad {
|
||||||
|
InitCommand=function(self)
|
||||||
|
self:diffusealpha(0):x( GetPosition(pn) ):y(SCREEN_CENTER_Y):blend('add'):zoomto(filterWidth,1)
|
||||||
|
end;
|
||||||
|
OffCommand=function(self)
|
||||||
|
if pStats:FullCombo() then
|
||||||
|
if pStats:FullComboOfScore('TapNoteScore_W1') == true then
|
||||||
|
self:diffuse(color("#A0DBF1"))
|
||||||
|
elseif pStats:FullComboOfScore('TapNoteScore_W2') == true then
|
||||||
|
self:diffuse(color("#F1E4A2"))
|
||||||
|
elseif pStats:FullComboOfScore('TapNoteScore_W3') == true then
|
||||||
|
self:diffuse(color("#ABE39B"))
|
||||||
|
end
|
||||||
|
self:diffusealpha(1):decelerate(1.4):zoomto(filterWidth,400):diffusealpha(0):fadetop(1):fadebottom(1);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
-- Milestone ripple
|
||||||
|
t[#t+1] = Def.ActorFrame {
|
||||||
|
InitCommand=cmd(visible,false);
|
||||||
|
OffCommand=function(self)
|
||||||
|
if pStats:FullCombo() then
|
||||||
|
self:visible(true);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
LoadActor("_splash") .. {
|
||||||
|
InitCommand=function(self)
|
||||||
|
self:diffusealpha(0):x( GetPosition(pn) ):y(SCREEN_CENTER_Y):blend('add');
|
||||||
|
end;
|
||||||
|
OffCommand=function(self)
|
||||||
|
if pStats:FullCombo() then
|
||||||
|
if pStats:FullComboOfScore('TapNoteScore_W1') == true then
|
||||||
|
self:diffuse(color("#A0DBF1"))
|
||||||
|
elseif pStats:FullComboOfScore('TapNoteScore_W2') == true then
|
||||||
|
self:diffuse(color("#F1E4A2"))
|
||||||
|
elseif pStats:FullComboOfScore('TapNoteScore_W3') == true then
|
||||||
|
self:diffuse(color("#ABE39B"))
|
||||||
|
end
|
||||||
|
self:zoom(0.5):diffusealpha(0.5):decelerate(1):zoom(1):diffusealpha(0)
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
--W1
|
||||||
|
t[#t+1] = LoadActor(THEME:GetPathG("FullCombo", "W1 text")) .. {
|
||||||
|
InitCommand=cmd(diffusealpha,0;x,GetPosition(pn);y,SCREEN_CENTER_Y);
|
||||||
|
OffCommand=function(self)
|
||||||
|
local fct = STATSMAN:GetCurStageStats():GetPlayerStageStats(pn);
|
||||||
|
if fct:FullComboOfScore('TapNoteScore_W1') == true then
|
||||||
|
self:glowblink():effectperiod(0.05):effectcolor1(color("1,1,1,0")):effectcolor2(color("1,1,1,0.25"))
|
||||||
|
self:zoomy(0.75):zoomx(1.4):diffusealpha(0):decelerate(0.4):zoomx(0.75):diffusealpha(1):sleep(0.75):decelerate(0.5):zoom(1.1):diffusealpha(0)
|
||||||
|
elseif fct:FullComboOfScore('TapNoteScore_W2') == true then
|
||||||
|
self:visible(false);
|
||||||
|
elseif fct:FullComboOfScore('TapNoteScore_W3') == true then
|
||||||
|
self:visible(false);
|
||||||
|
else
|
||||||
|
self:visible(false);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
|
||||||
|
--W1
|
||||||
|
t[#t+1] = LoadActor(THEME:GetPathG("FullCombo", "W2 text")) .. {
|
||||||
|
InitCommand=cmd(diffusealpha,0;x,GetPosition(pn);y,SCREEN_CENTER_Y);
|
||||||
|
OffCommand=function(self)
|
||||||
|
local fct = STATSMAN:GetCurStageStats():GetPlayerStageStats(pn);
|
||||||
|
if fct:FullComboOfScore('TapNoteScore_W1') == true then
|
||||||
|
self:visible(false);
|
||||||
|
elseif fct:FullComboOfScore('TapNoteScore_W2') == true then
|
||||||
|
self:zoomy(0.75):zoomx(1.4):diffusealpha(0):decelerate(0.4):zoomx(0.75):diffusealpha(1):sleep(0.5):decelerate(0.3):zoom(1.1):diffusealpha(0)
|
||||||
|
elseif fct:FullComboOfScore('TapNoteScore_W3') == true then
|
||||||
|
self:visible(false);
|
||||||
|
else
|
||||||
|
self:visible(false);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
|
||||||
|
--W3
|
||||||
|
t[#t+1] = LoadActor(THEME:GetPathG("FullCombo", "W3 text")) .. {
|
||||||
|
InitCommand=cmd(diffusealpha,0;x,GetPosition(pn);y,SCREEN_CENTER_Y);
|
||||||
|
OffCommand=function(self)
|
||||||
|
local fct = STATSMAN:GetCurStageStats():GetPlayerStageStats(pn);
|
||||||
|
if fct:FullComboOfScore('TapNoteScore_W1') == true then
|
||||||
|
self:visible(false);
|
||||||
|
elseif fct:FullComboOfScore('TapNoteScore_W2') == true then
|
||||||
|
self:visible(false);
|
||||||
|
elseif fct:FullComboOfScore('TapNoteScore_W3') == true then
|
||||||
|
self:zoomy(0.75):zoomx(1.4):diffusealpha(0):decelerate(0.4):zoomx(0.75):diffusealpha(1):sleep(0.5):decelerate(0.3):zoom(1.1):diffusealpha(0)
|
||||||
|
else
|
||||||
|
self:visible(false);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
|
||||||
|
-- Sound
|
||||||
|
-- t[#t+1] = LoadActor("_splash") .. {
|
||||||
|
-- OffCommand=function(self)
|
||||||
|
-- local fct = STATSMAN:GetCurStageStats():GetPlayerStageStats(pn);
|
||||||
|
-- if fct:FullCombo() then
|
||||||
|
-- self:play();
|
||||||
|
-- end;
|
||||||
|
-- end;
|
||||||
|
-- };
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -227,4 +227,10 @@ t.InitCommand=cmd(SetUpdateFunction,UpdateTime);
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
for pn in ivalues(GAMESTATE:GetHumanPlayers()) do
|
||||||
|
t[#t+1] = LoadActor("_fcsplash", pn) .. {
|
||||||
|
};
|
||||||
|
end;
|
||||||
|
|
||||||
return t
|
return t
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
Reference in New Issue
Block a user