add retrobar for dance and kb7, remove kb7's default-p2
|
After Width: | Height: | Size: 363 B |
|
After Width: | Height: | Size: 362 B |
|
After Width: | Height: | Size: 350 B |
|
After Width: | Height: | Size: 350 B |
@@ -0,0 +1,3 @@
|
|||||||
|
return LoadActor("_bar hold explosion bright")..{
|
||||||
|
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||||
|
};
|
||||||
|
After Width: | Height: | Size: 507 B |
|
After Width: | Height: | Size: 521 B |
|
After Width: | Height: | Size: 283 B |
|
After Width: | Height: | Size: 283 B |
@@ -0,0 +1,23 @@
|
|||||||
|
local t = Def.ActorFrame{
|
||||||
|
-- normal
|
||||||
|
Def.Sprite {
|
||||||
|
Texture=NOTESKIN:GetPath( '_bar', 'receptor base' );
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||||
|
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||||
|
PressCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'PressCommand');
|
||||||
|
};
|
||||||
|
-- flashpert
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_bar receptor tap";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'InitCommand');
|
||||||
|
PressCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'PressCommand');
|
||||||
|
LiftCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'LiftCommand');
|
||||||
|
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
return t;
|
||||||
|
After Width: | Height: | Size: 503 B |
|
After Width: | Height: | Size: 505 B |
|
After Width: | Height: | Size: 408 B |
|
After Width: | Height: | Size: 406 B |
@@ -0,0 +1,3 @@
|
|||||||
|
return LoadActor("_bar hold explosion bright")..{
|
||||||
|
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||||
|
};
|
||||||
|
After Width: | Height: | Size: 572 B |
|
After Width: | Height: | Size: 569 B |
|
After Width: | Height: | Size: 303 B |
|
After Width: | Height: | Size: 303 B |
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,15 @@
|
|||||||
|
return Def.Sprite {
|
||||||
|
Texture=NOTESKIN:GetPath( '_bar', 'mine' );
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
Frame0001=1;
|
||||||
|
Delay0001=1;
|
||||||
|
Frame0002=2;
|
||||||
|
Delay0002=1;
|
||||||
|
Frame0003=3;
|
||||||
|
Delay0003=1;
|
||||||
|
Frame0004=2;
|
||||||
|
Delay0004=1;
|
||||||
|
Frame0005=1;
|
||||||
|
Delay0005=1;
|
||||||
|
};
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
return Def.Sprite {
|
||||||
|
Texture=NOTESKIN:GetPath( '_bar', 'tap note' );
|
||||||
|
Frames = Sprite.LinearFrames( 4, 1 );
|
||||||
|
};
|
||||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1 @@
|
|||||||
|
Bar Tap explosion bright
|
||||||
|
After Width: | Height: | Size: 750 B |
@@ -0,0 +1,86 @@
|
|||||||
|
-- from scratch, with various references.
|
||||||
|
local Noteskin = ... or {};
|
||||||
|
|
||||||
|
-- element redirs
|
||||||
|
Noteskin.ElementRedirs = {
|
||||||
|
-- ["element"] = "redir_element";
|
||||||
|
};
|
||||||
|
|
||||||
|
-- button redirs (since this is a bar noteskin, it's all the same)
|
||||||
|
Noteskin.ButtonRedirs = {
|
||||||
|
Left = "Bar";
|
||||||
|
UpLeft = "Bar";
|
||||||
|
Up = "Bar";
|
||||||
|
Down = "Bar";
|
||||||
|
UpRight = "Bar";
|
||||||
|
Right = "Bar";
|
||||||
|
};
|
||||||
|
|
||||||
|
-- things to blank out
|
||||||
|
Noteskin.Hide = {
|
||||||
|
-- ["element"] = true/false;
|
||||||
|
};
|
||||||
|
|
||||||
|
-- rotations
|
||||||
|
Noteskin.BaseRotX = {
|
||||||
|
Left = 0;
|
||||||
|
UpLeft = 0;
|
||||||
|
Up = 0;
|
||||||
|
Down = 0;
|
||||||
|
UpRight = 0;
|
||||||
|
Right = 0;
|
||||||
|
};
|
||||||
|
Noteskin.BaseRotY = {
|
||||||
|
Left = 0;
|
||||||
|
UpLeft = 0;
|
||||||
|
Up = 0;
|
||||||
|
Down = 0;
|
||||||
|
UpRight = 0;
|
||||||
|
Right = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
local function NoteskinLoader()
|
||||||
|
local Button = Var "Button"
|
||||||
|
local Element = Var "Element"
|
||||||
|
|
||||||
|
if Noteskin.Hide[Element] then
|
||||||
|
-- Return a blank element. If SpriteOnly is set, we need to return a
|
||||||
|
-- sprite; otherwise just return a dummy actor.
|
||||||
|
local t;
|
||||||
|
if Var "SpriteOnly" then
|
||||||
|
t = LoadActor( "_blank" );
|
||||||
|
else
|
||||||
|
t = Def.Actor {};
|
||||||
|
end
|
||||||
|
return t .. {
|
||||||
|
cmd(visible,false);
|
||||||
|
};
|
||||||
|
end;
|
||||||
|
|
||||||
|
-- load element and button, using redirs
|
||||||
|
local LoadElement = Noteskin.ElementRedirs[Element]
|
||||||
|
if not LoadElement then
|
||||||
|
LoadElement = Element;
|
||||||
|
end;
|
||||||
|
|
||||||
|
local LoadButton = Noteskin.ButtonRedirs[Button]
|
||||||
|
if not LoadButton then
|
||||||
|
LoadButton = Button;
|
||||||
|
end;
|
||||||
|
|
||||||
|
-- get path to thing
|
||||||
|
local sPath = NOTESKIN:GetPath( LoadButton, LoadElement );
|
||||||
|
|
||||||
|
-- make actor
|
||||||
|
local t = LoadActor( sPath );
|
||||||
|
|
||||||
|
-- apply rotation
|
||||||
|
t.BaseRotationX=Noteskin.BaseRotX[sButton]
|
||||||
|
t.BaseRotationY=Noteskin.BaseRotY[sButton]
|
||||||
|
|
||||||
|
return t;
|
||||||
|
end
|
||||||
|
|
||||||
|
Noteskin.Load = NoteskinLoader;
|
||||||
|
Noteskin.CommonLoad = NoteskinLoader;
|
||||||
|
return Noteskin;
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 506 B |
|
After Width: | Height: | Size: 731 B |
|
After Width: | Height: | Size: 796 B |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
@@ -0,0 +1,16 @@
|
|||||||
|
[NoteDisplay]
|
||||||
|
HoldLetGoGrayPercent=.8
|
||||||
|
|
||||||
|
[ReceptorArrow]
|
||||||
|
InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color(".8,.8,.8,1");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05
|
||||||
|
NoneCommand=finishtweening;zoom,.85;diffusealpha,.9;linear,.11;diffusealpha,1;zoom,1
|
||||||
|
|
||||||
|
[ReceptorOverlay]
|
||||||
|
InitCommand=diffusealpha,0
|
||||||
|
PressCommand=finishtweening;zoom,1;blend,"BlendMode_Add";diffusealpha,.8;decelerate,0.2;diffusealpha,0.4
|
||||||
|
LiftCommand=stoptweening;decelerate,.2;diffusealpha,0;zoom,1.2
|
||||||
|
|
||||||
|
[HoldGhostArrow]
|
||||||
|
HoldingOnCommand=diffusealpha,0.625;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1
|
||||||
|
HoldingOffCommand=diffusealpha,0
|
||||||
|
InitCommand=finishtweening;playcommand,"HoldingOff"
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
local ret = ... or {};
|
|
||||||
|
|
||||||
ret.RedirTable =
|
|
||||||
{
|
|
||||||
Key1 = "Key",
|
|
||||||
Key2 = "Key",
|
|
||||||
Key3 = "Key",
|
|
||||||
Key4 = "Space",
|
|
||||||
Key5 = "Key",
|
|
||||||
Key6 = "Key",
|
|
||||||
Key7 = "Key",
|
|
||||||
};
|
|
||||||
|
|
||||||
local OldRedir = ret.Redir;
|
|
||||||
ret.Redir = function(sButton, sElement)
|
|
||||||
sButton, sElement = OldRedir(sButton, sElement);
|
|
||||||
|
|
||||||
-- Instead of separate hold heads, use the tap note graphics.
|
|
||||||
if sElement == "Hold Head Inactive" or
|
|
||||||
sElement == "Hold Head Active" or
|
|
||||||
sElement == "Roll Head Inactive" or
|
|
||||||
sElement == "Roll Head Active"
|
|
||||||
then
|
|
||||||
sElement = "Tap Note";
|
|
||||||
end
|
|
||||||
|
|
||||||
sButton = ret.RedirTable[sButton];
|
|
||||||
|
|
||||||
return sButton, sElement;
|
|
||||||
end
|
|
||||||
|
|
||||||
-- To have separate graphics for each hold part:
|
|
||||||
--[[
|
|
||||||
local OldRedir = ret.Redir;
|
|
||||||
ret.Redir = function(sButton, sElement)
|
|
||||||
-- Redirect non-hold, non-roll parts.
|
|
||||||
if string.find(sElement, "hold") then
|
|
||||||
return sButton, sElement;
|
|
||||||
end
|
|
||||||
return OldRedir(sButton, sElement);
|
|
||||||
end
|
|
||||||
]]
|
|
||||||
|
|
||||||
local OldFunc = ret.Load;
|
|
||||||
function ret.Load()
|
|
||||||
local t = OldFunc();
|
|
||||||
|
|
||||||
-- The main "Explosion" part just loads other actors; don't rotate
|
|
||||||
-- it. The "Hold Explosion" part should not be rotated.
|
|
||||||
if Var "Element" == "Explosion" or
|
|
||||||
Var "Element" == "Roll Explosion" or
|
|
||||||
Var "Element" == "Hold Explosion" then
|
|
||||||
t.BaseRotationZ = nil;
|
|
||||||
end
|
|
||||||
return t;
|
|
||||||
end
|
|
||||||
|
|
||||||
ret.PartsToRotate =
|
|
||||||
{
|
|
||||||
["Go Receptor"] = true,
|
|
||||||
["Ready Receptor"] = true,
|
|
||||||
["Tap Explosion Bright"] = true,
|
|
||||||
["Tap Explosion Dim"] = true,
|
|
||||||
["Tap Note"] = true,
|
|
||||||
["Hold Head Active"] = true,
|
|
||||||
["Hold Head Inactive"] = true,
|
|
||||||
["Roll Head Active"] = true,
|
|
||||||
["Roll Head Inactive"] = true,
|
|
||||||
};
|
|
||||||
ret.Rotate =
|
|
||||||
{
|
|
||||||
Key1 = 0,
|
|
||||||
Key2 = 0,
|
|
||||||
Key3 = 0,
|
|
||||||
Key4 = 0,
|
|
||||||
Key5 = 0,
|
|
||||||
Key6 = 0,
|
|
||||||
Key7 = 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
--
|
|
||||||
-- If a derived skin wants to have separate UpLeft graphics,
|
|
||||||
-- use this:
|
|
||||||
--
|
|
||||||
-- ret.RedirTable.UpLeft = "UpLeft";
|
|
||||||
-- ret.RedirTable.UpRight = "UpLeft";
|
|
||||||
-- ret.Rotate.UpLeft = 0;
|
|
||||||
-- ret.Rotate.UpRight = 90;
|
|
||||||
--
|
|
||||||
ret.Blank =
|
|
||||||
{
|
|
||||||
["Hold Topcap Active"] = true,
|
|
||||||
["Hold Topcap Inactive"] = true,
|
|
||||||
["Roll Topcap Active"] = true,
|
|
||||||
["Roll Topcap Inactive"] = true,
|
|
||||||
["Hold Tail Active"] = true,
|
|
||||||
["Hold Tail Inactive"] = true,
|
|
||||||
["Roll Tail Active"] = true,
|
|
||||||
["Roll Tail Inactive"] = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
@@ -1 +0,0 @@
|
|||||||
return Def.Actor {}
|
|
||||||
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
@@ -1,5 +0,0 @@
|
|||||||
return Def.Sprite {
|
|
||||||
Texture=NOTESKIN:GetPath( '_space', 'tap note' );
|
|
||||||
-- probably don't need this line
|
|
||||||
Frames = Sprite.LinearFrames( 1, 1 );
|
|
||||||
};
|
|
||||||
|
Before Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 363 B |
|
After Width: | Height: | Size: 362 B |
|
After Width: | Height: | Size: 350 B |
|
After Width: | Height: | Size: 350 B |
@@ -0,0 +1,3 @@
|
|||||||
|
return LoadActor("_bar hold explosion bright")..{
|
||||||
|
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||||
|
};
|
||||||
|
After Width: | Height: | Size: 507 B |
|
After Width: | Height: | Size: 521 B |
|
After Width: | Height: | Size: 283 B |
|
After Width: | Height: | Size: 283 B |
@@ -0,0 +1,23 @@
|
|||||||
|
local t = Def.ActorFrame{
|
||||||
|
-- normal
|
||||||
|
Def.Sprite {
|
||||||
|
Texture=NOTESKIN:GetPath( '_bar', 'receptor base' );
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||||
|
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||||
|
PressCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'PressCommand');
|
||||||
|
};
|
||||||
|
-- flashpert
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_bar receptor tap";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'InitCommand');
|
||||||
|
PressCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'PressCommand');
|
||||||
|
LiftCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'LiftCommand');
|
||||||
|
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
return t;
|
||||||
|
After Width: | Height: | Size: 503 B |
|
After Width: | Height: | Size: 505 B |
|
After Width: | Height: | Size: 408 B |
|
After Width: | Height: | Size: 406 B |
@@ -0,0 +1,3 @@
|
|||||||
|
return LoadActor("_bar hold explosion bright")..{
|
||||||
|
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||||
|
};
|
||||||
|
After Width: | Height: | Size: 572 B |
|
After Width: | Height: | Size: 569 B |
|
After Width: | Height: | Size: 303 B |
|
After Width: | Height: | Size: 303 B |
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,15 @@
|
|||||||
|
return Def.Sprite {
|
||||||
|
Texture=NOTESKIN:GetPath( '_bar', 'mine' );
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
Frame0001=1;
|
||||||
|
Delay0001=1;
|
||||||
|
Frame0002=2;
|
||||||
|
Delay0002=1;
|
||||||
|
Frame0003=3;
|
||||||
|
Delay0003=1;
|
||||||
|
Frame0004=2;
|
||||||
|
Delay0004=1;
|
||||||
|
Frame0005=1;
|
||||||
|
Delay0005=1;
|
||||||
|
};
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
return Def.Sprite {
|
||||||
|
Texture=NOTESKIN:GetPath( '_bar', 'tap note' );
|
||||||
|
Frames = Sprite.LinearFrames( 4, 1 );
|
||||||
|
};
|
||||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1 @@
|
|||||||
|
Bar Tap explosion bright
|
||||||
|
After Width: | Height: | Size: 750 B |
@@ -0,0 +1,93 @@
|
|||||||
|
-- from scratch, with various references.
|
||||||
|
local Noteskin = ... or {};
|
||||||
|
|
||||||
|
-- element redirs
|
||||||
|
Noteskin.ElementRedirs = {
|
||||||
|
-- ["element"] = "redir_element";
|
||||||
|
};
|
||||||
|
|
||||||
|
-- button redirs (since this is a bar noteskin, it's all the same)
|
||||||
|
Noteskin.ButtonRedirs = {
|
||||||
|
Left = "Bar";
|
||||||
|
UpLeft = "Bar";
|
||||||
|
Up = "Bar";
|
||||||
|
Down = "Bar";
|
||||||
|
UpRight = "Bar";
|
||||||
|
Right = "Bar";
|
||||||
|
Key1 = "Bar";
|
||||||
|
Key2 = "Bar";
|
||||||
|
Key3 = "Bar";
|
||||||
|
Key4 = "Bar";
|
||||||
|
Key5 = "Bar";
|
||||||
|
Key6 = "Bar";
|
||||||
|
Key7 = "Bar";
|
||||||
|
};
|
||||||
|
|
||||||
|
-- things to blank out
|
||||||
|
Noteskin.Hide = {
|
||||||
|
-- ["element"] = true/false;
|
||||||
|
};
|
||||||
|
|
||||||
|
-- rotations
|
||||||
|
Noteskin.BaseRotX = {
|
||||||
|
Left = 0;
|
||||||
|
UpLeft = 0;
|
||||||
|
Up = 0;
|
||||||
|
Down = 0;
|
||||||
|
UpRight = 0;
|
||||||
|
Right = 0;
|
||||||
|
};
|
||||||
|
Noteskin.BaseRotY = {
|
||||||
|
Left = 0;
|
||||||
|
UpLeft = 0;
|
||||||
|
Up = 0;
|
||||||
|
Down = 0;
|
||||||
|
UpRight = 0;
|
||||||
|
Right = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
local function NoteskinLoader()
|
||||||
|
local Button = Var "Button"
|
||||||
|
local Element = Var "Element"
|
||||||
|
|
||||||
|
if Noteskin.Hide[Element] then
|
||||||
|
-- Return a blank element. If SpriteOnly is set, we need to return a
|
||||||
|
-- sprite; otherwise just return a dummy actor.
|
||||||
|
local t;
|
||||||
|
if Var "SpriteOnly" then
|
||||||
|
t = LoadActor( "_blank" );
|
||||||
|
else
|
||||||
|
t = Def.Actor {};
|
||||||
|
end
|
||||||
|
return t .. {
|
||||||
|
cmd(visible,false);
|
||||||
|
};
|
||||||
|
end;
|
||||||
|
|
||||||
|
-- load element and button, using redirs
|
||||||
|
local LoadElement = Noteskin.ElementRedirs[Element]
|
||||||
|
if not LoadElement then
|
||||||
|
LoadElement = Element;
|
||||||
|
end;
|
||||||
|
|
||||||
|
local LoadButton = Noteskin.ButtonRedirs[Button]
|
||||||
|
if not LoadButton then
|
||||||
|
LoadButton = Button;
|
||||||
|
end;
|
||||||
|
|
||||||
|
-- get path to thing
|
||||||
|
local sPath = NOTESKIN:GetPath( LoadButton, LoadElement );
|
||||||
|
|
||||||
|
-- make actor
|
||||||
|
local t = LoadActor( sPath );
|
||||||
|
|
||||||
|
-- apply rotation
|
||||||
|
t.BaseRotationX=Noteskin.BaseRotX[sButton]
|
||||||
|
t.BaseRotationY=Noteskin.BaseRotY[sButton]
|
||||||
|
|
||||||
|
return t;
|
||||||
|
end
|
||||||
|
|
||||||
|
Noteskin.Load = NoteskinLoader;
|
||||||
|
Noteskin.CommonLoad = NoteskinLoader;
|
||||||
|
return Noteskin;
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 506 B |
|
After Width: | Height: | Size: 731 B |
|
After Width: | Height: | Size: 796 B |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
@@ -0,0 +1,16 @@
|
|||||||
|
[NoteDisplay]
|
||||||
|
HoldLetGoGrayPercent=.8
|
||||||
|
|
||||||
|
[ReceptorArrow]
|
||||||
|
InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color(".8,.8,.8,1");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05
|
||||||
|
NoneCommand=finishtweening;zoom,.85;diffusealpha,.9;linear,.11;diffusealpha,1;zoom,1
|
||||||
|
|
||||||
|
[ReceptorOverlay]
|
||||||
|
InitCommand=diffusealpha,0
|
||||||
|
PressCommand=finishtweening;zoom,1;blend,"BlendMode_Add";diffusealpha,.8;decelerate,0.2;diffusealpha,0.4
|
||||||
|
LiftCommand=stoptweening;decelerate,.2;diffusealpha,0;zoom,1.2
|
||||||
|
|
||||||
|
[HoldGhostArrow]
|
||||||
|
HoldingOnCommand=diffusealpha,0.625;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1
|
||||||
|
HoldingOffCommand=diffusealpha,0
|
||||||
|
InitCommand=finishtweening;playcommand,"HoldingOff"
|
||||||