--KyokiShinsa note
--I pulled this file from a Japanese friend a few years ago. I supposed they copied it from Kid.
--Since I never fully studied and understood how everything beneath this line works, I left it all untouched until after line 52.

--TaroNuke's Mod system. Taken from Puuro's 'Hopes And Dreams' file.
--Because I don't know how to program a mods system, and I don't want to right now.
LoadActor("mods-taro.lua") --Load another lua file.
return Def.ActorFrame{
  Name= "actor_d",
  Def.Quad{
    Name= "actor_e",
    OnCommand= cmd(sleep,2000),
  },
  Def.Quad{
    Name= "actor_f",
    InitCommand= cmd(diffusealpha,0;queuecommand,"Start"),
    ShooterCommand= function(self)
            beat = GAMESTATE:GetSongBeat()
            for m, mod in ipairs(mods) do
                if (beat >= mod[1] and last_beat < mod[1]) then
                    --GAMESTATE:ApplyGameCommand('mod, ' .. mod[2])
		    for i=1,2 do
		      taronuke_mods(mod[2],i)
		    end
                elseif (beat < mod[1]) then
                    break
                end
            end
            last_beat = beat
	    if beat >= 1068.500 and zoomcommand == 1 then
	      for i=1,2 do
		if SCREENMAN:GetTopScreen():GetChild('PlayerP'..i) then
		  SCREENMAN:GetTopScreen():GetChild('PlayerP'..i):linear(0.034):zoomz(11);--SM5's pretty silly, ain't it? -Kid
		end
	      end
	      zoomcommand = zoomcommand + 1
	    end
	    if beat >= 1069.667 and zoomcommand == 2 then
	      for i=1,2 do
		if SCREENMAN:GetTopScreen():GetChild('PlayerP'..i) then
		  SCREENMAN:GetTopScreen():GetChild('PlayerP'..i):linear(0.034):zoomz(1);
		end
	      end
	      zoomcommand = zoomcommand + 1
	    end
            self:sleep(0.02)
            self:queuecommand('Shooter')
        end,
    StartCommand= function(self)
            last_beat = 0
	    zoomcommand = 1--Yes, I'm doing this. -Kid
            mods = {
         		{02.750, '*1 25% Drunk'},
			{02.750, '*0.5 25% Stealth'},
			{04.500, '*0.25 0% Stealth'},
			{06.250, '*0.5 25% Stealth'},
			{08.000, '*0.25 0% Stealth'},
			{09.750, '*0.5 25% Stealth'},
			{11.500, '*0.25 0% Stealth'},
			{13.250, '*0.5 25% Stealth'},
			{14.125, '*0.25 0% Stealth'},
			{15.000, '*0.5 25% Stealth'},
			{15.875, '*0.25 0% Stealth'},
			{16.250, '*0.5 25% Stealth'},
			{18.500, '*0.25 0% Stealth'},
			{13.250, '*0.5 25% Stealth'},
			{14.125, '*0.25 0% Stealth'},
			{20.250, '*0.5 25% Stealth'},
			{22.000, '*0.25 0% Stealth'},
			{23.750, '*0.5 25% Stealth'},
			{25.500, '*0.25 0% Stealth'},
			{27.250, '*0.25 0% Drunk'},
			{27.250, '*0.5 25% Stealth'},
			{28.125, '*0.5 0% Stealth'},
			{29.000, '*2 50% Stealth'},
			{29.250, '*2 0% Stealth'},
			{29.500, '*2 50% Stealth'},
			{29.750, '*2 0% Stealth'},
			{30.000, '*2 50% Stealth'},
			{30.250, '*2 0% Stealth'},
			{30.500, '*2 50% Stealth'},
			{30.750, '*2 0% Stealth'},
			{255.000, '*0.05 12.5% Flip'},
			{263.000, '*0.05 25% Flip'},
			{267.000, '*0.5 16.7% Flip'},
			{268.000, '*0.5 8.3% Flip'},
			{269.000, '*0.5 0% Flip'},
			{285.000, '*0.1 25% Flip'},
			{293.750, '*1 0% Flip'},
			{293.750, '*200 2000% Twirl'},
			{295.000, '*0.05 25% Flip'},
			{295.000, '*200 0% Twirl'},
			{297.000, '*1 0% Flip'},
			{297.000, '*200 2000% Twirl'},
			{297.500, '*0.1 25% Flip'},
			{297.500, '*200 0% Twirl'},
			{299.000, '*0.5 4% Flip'},
			{300.000, '*0.5 2% Flip'},
			{301.000, '*0.5 0% Flip'},
         	}
            self:queuecommand('Shooter')
        end,
  },
}