return Def.ActorFrame{
Name= "xtl_actor_a",
Def.Quad{
Name= "xtl_actor_uf",
InitCommand= function(self)
self:visible(false);
self:sleep(9999);
function math_fmod(int, base)
fmod = int - math.floor(int/base)*base;
return fmod
end
end,
},
Def.Quad{
OnCommand= function(self)
self:queuecommand('Update');
end,
UpdateCommand= function(self)
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Quad{
Name= "xtl_actor_b",
InitCommand= function(self)
flag_show_misslayer1 = 0;
flag_show_misslayer2 = 0;
flag_show_fuyumi1 = 0;
flag_show_fuyumi2 = 0;
flag_show_fuyumi3 = 0;
flag_show_billy0 = 0;
flag_show_billy1 = 0;
flag_show_billy2 = 0;
flag_show_billy3 = 0;
flag_show_billy4 = 0;
counter = 0;
last_missed_counter = -9999;
float_higherscore = 0.0;
end,
OnCommand= function(self)
if (GAMESTATE:IsPlayerEnabled(PLAYER_1)) then
if (GAMESTATE:IsPlayerEnabled(PLAYER_2)) then
combo_1P = STATSMAN:GetCurStageStats():GetPlayerStageStats(0):GetCurrentCombo();
combo_2P = STATSMAN:GetCurStageStats():GetPlayerStageStats(1):GetCurrentCombo();
else
combo_1P = STATSMAN:GetCurStageStats():GetPlayerStageStats(0):GetCurrentCombo();
combo_2P = combo_1P;
end
else
combo_2P = STATSMAN:GetCurStageStats():GetPlayerStageStats(1):GetCurrentCombo();
combo_1P = combo_2P;
end
self:queuecommand('Update');
end,
UpdateCommand= function(self)
if (GAMESTATE:IsPlayerEnabled(PLAYER_1)) then
if (GAMESTATE:IsPlayerEnabled(PLAYER_2)) then
current_combo_1P = STATSMAN:GetCurStageStats():GetPlayerStageStats(0):GetCurrentCombo();
current_combo_2P = STATSMAN:GetCurStageStats():GetPlayerStageStats(1):GetCurrentCombo();
else
current_combo_1P = STATSMAN:GetCurStageStats():GetPlayerStageStats(0):GetCurrentCombo();
current_combo_2P = current_combo_1P;
end
else
current_combo_2P = STATSMAN:GetCurStageStats():GetPlayerStageStats(1):GetCurrentCombo();
current_combo_1P = current_combo_2P;
end
if (combo_1P > current_combo_1P or combo_2P > current_combo_2P) then
last_missed_counter = counter;
if (math.random() < 0.03) then
flag_show_misslayer2 = 1;
else
flag_show_misslayer1 = 1;
end
end
if (counter > last_missed_counter + 40) then
flag_show_misslayer1 = 0;
flag_show_misslayer2 = 0;
end
combo_1P = current_combo_1P;
combo_2P = current_combo_2P;
counter = counter + 1;
if (GAMESTATE:GetSongBeat() < 92) then
flag_show_fuyumi1 = 1;
elseif (GAMESTATE:GetSongBeat() < 124) then
flag_show_fuyumi2 = 1;
elseif (GAMESTATE:GetSongBeat() < 152) then
flag_show_fuyumi3 = 1;
else
if (GAMESTATE:IsPlayerEnabled(PLAYER_1)) then
if (GAMESTATE:IsPlayerEnabled(PLAYER_2)) then
if (STATSMAN:GetCurStageStats():GetPlayerStageStats(0):GetPercentDancePoints() > STATSMAN:GetCurStageStats():GetPlayerStageStats(1):GetPercentDancePoints()) then
float_higherscore = STATSMAN:GetCurStageStats():GetPlayerStageStats(0):GetPercentDancePoints();
else
float_higherscore = STATSMAN:GetCurStageStats():GetPlayerStageStats(1):GetPercentDancePoints();
end
else
float_higherscore = STATSMAN:GetCurStageStats():GetPlayerStageStats(0):GetPercentDancePoints();
end
else
float_higherscore = STATSMAN:GetCurStageStats():GetPlayerStageStats(1):GetPercentDancePoints();
end
if (float_higherscore < 0.5 and float_higherscore > 0.0) then
flag_show_billy0 = 1;
elseif (float_higherscore < 0.7) then
flag_show_billy1 = 1;
elseif (float_higherscore < 0.8) then
flag_show_billy2 = 1;
elseif (float_higherscore < 0.85) then
flag_show_billy3 = 1;
else
flag_show_billy4 = 1;
end
end
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "mata_kimini_koishiteru.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_fuyumi1);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "fuyumi_reach.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_fuyumi2);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "fuyumi_kourin.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_fuyumi3);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "Billy.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_billy0);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "BillyBan.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_billy1);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "BillyBanBan.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_billy2);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "BillyBanBanBan.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_billy3);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "BillyBanBanBanBan.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_billy4);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_d",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "iichiko.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_misslayer1);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
Def.Sprite{
Name= "xtl_actor_e",
OnCommand= function(self)
self:x(SCREEN_CENTER_X);
self:y(SCREEN_CENTER_Y);
self:stretchto(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM);
self:queuecommand('Update');
end,
Texture= "kannoko.png",
UpdateCommand= function(self)
self:diffusealpha(flag_show_misslayer2);
self:sleep(0.02);
self:queuecommand('Update');
end,
},
}