View the list:
* Added new metric to cap the max life of a hold. No sanity checking yet: need a way to keep <= 1. * Added more Pump specific behavior to lua. * Fixed combo and hold judgment graphics due to it being defined twice. Minor cleanup of the ProductivityHelpers is going to have to happen later on.
This commit is contained in:
@@ -173,24 +173,60 @@ function ComboPerRow()
|
||||
end;
|
||||
end;
|
||||
|
||||
function HitCombo()
|
||||
sGame = GAMESTATE:GetCurrentGame():GetName();
|
||||
local Combo = {
|
||||
dance = "2",
|
||||
pump = "4",
|
||||
beat = "2",
|
||||
kb7 = "2",
|
||||
para = "2",
|
||||
};
|
||||
return Combo[sGame]
|
||||
end;
|
||||
|
||||
function MissCombo()
|
||||
sGame = GAMESTATE:GetCurrentGame():GetName();
|
||||
local Combo = {
|
||||
dance = "2",
|
||||
pump = "4",
|
||||
beat = "",
|
||||
kb7 = "",
|
||||
para = "",
|
||||
};
|
||||
return Combo[sGame]
|
||||
end;
|
||||
|
||||
function FailCombo() -- The combo that causes game failure.
|
||||
sGame = GAMESTATE:GetCurrentGame():GetName();
|
||||
local Combo = {
|
||||
dance = "30", -- ITG/Pump Pro does it this way.
|
||||
pump = "51",
|
||||
beat = "-1",
|
||||
kb7 = "-1",
|
||||
para = "-1",
|
||||
};
|
||||
return Combo[sGame]
|
||||
end;
|
||||
|
||||
function HoldTiming()
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
return "0";
|
||||
return 0;
|
||||
else return PREFSMAN:GetPreference("TimingWindowSecondsHold");
|
||||
end;
|
||||
end;
|
||||
|
||||
function HoldJudgmentFail()
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
return "";
|
||||
else return "shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0";
|
||||
return cmd();
|
||||
else return cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0);
|
||||
end;
|
||||
end;
|
||||
|
||||
function HoldJudgmentPass()
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
return "";
|
||||
else return "shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0";
|
||||
return cmd();
|
||||
else return cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0);
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -208,6 +244,13 @@ function InitialHoldLife()
|
||||
end;
|
||||
end;
|
||||
|
||||
function MaxHoldLife()
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
return 0.05;
|
||||
else return 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
function ImmediateHoldLetGo()
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
return false;
|
||||
|
||||
@@ -161,8 +161,6 @@ MeterWidth=0.0
|
||||
MeterHeight=0.0
|
||||
|
||||
[Combo]
|
||||
ShowComboAt=(GAMESTATE:GetCurrentGame():GetName() == "pump") and 4 or 2
|
||||
ShowMissesAt=(GAMESTATE:GetCurrentGame():GetName() == "pump") and 4 or ""
|
||||
|
||||
NumberMinZoom=0.8
|
||||
NumberMaxZoom=1
|
||||
@@ -711,6 +709,7 @@ ImmediateHoldLetGo=ImmediateHoldLetGo()
|
||||
RequireStepOnHoldHeads=HoldHeadStep()
|
||||
CheckpointsUseTimeSignatures=(GAMESTATE:GetCurrentGame():GetName() == "pump")
|
||||
InitialHoldLife=InitialHoldLife()
|
||||
MaxHoldLife=MaxHoldLife()
|
||||
RollBodyIncrementsCombo=RollBodyIncrementsCombo()
|
||||
CheckpointsTapsSeparateJudgment=CheckpointsTapsSeparateJudgment()
|
||||
ScoreMissedHoldsAndRolls=ScoreMissedHoldsAndRolls()
|
||||
@@ -2488,7 +2487,7 @@ PlayerInitCommand=y,SCREEN_CENTER_Y;zoom,(THEME:GetMetric("Common","ScreenHeight
|
||||
StartGivesUp=true
|
||||
BackGivesUp=false
|
||||
#
|
||||
FailOnMissCombo=-1
|
||||
FailOnMissCombo=FailCombo()
|
||||
GivingUpGoesToPrevScreen=false
|
||||
GivingUpGoesToNextScreen=false
|
||||
#
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
function HitCombo()
|
||||
sGame = GAMESTATE:GetCurrentGame():GetName();
|
||||
local Combo = {
|
||||
dance = 2,
|
||||
pump = 4,
|
||||
beat = 2,
|
||||
kb7 = 2,
|
||||
para = 2,
|
||||
};
|
||||
return Combo[sGame]
|
||||
end;
|
||||
|
||||
function MissCombo()
|
||||
sGame = GAMESTATE:GetCurrentGame():GetName();
|
||||
local Combo = {
|
||||
dance = 2,
|
||||
pump = 4,
|
||||
beat = cmd(),
|
||||
kb7 = cmd(),
|
||||
para = cmd(),
|
||||
};
|
||||
return Combo[sGame]
|
||||
end;
|
||||
|
||||
function FailCombo() -- The combo that causes game failure.
|
||||
sGame = GAMESTATE:GetCurrentGame():GetName();
|
||||
local Combo = {
|
||||
dance = "30", -- ITG/Pump Pro does it this way.
|
||||
pump = "51",
|
||||
beat = "-1",
|
||||
kb7 = "-1",
|
||||
para = "-1",
|
||||
};
|
||||
return Combo[sGame]
|
||||
end;
|
||||
|
||||
function HoldJudgmentFail()
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
return cmd();
|
||||
else return cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0);
|
||||
end;
|
||||
end;
|
||||
|
||||
function HoldJudgmentPass()
|
||||
if GAMESTATE:GetCurrentGame():GetName() == "pump" then
|
||||
return cmd();
|
||||
else return cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0);
|
||||
end;
|
||||
end;
|
||||
@@ -31,7 +31,8 @@ ShowQMarksInRandomCycle=true
|
||||
[HelpDisplay]
|
||||
TipShowTime=7
|
||||
[Combo]
|
||||
ShowComboAt=2
|
||||
ShowComboAt=HitCombo()
|
||||
ShowMissesAt=MissCombo()
|
||||
|
||||
NumberMinZoom=0.8
|
||||
NumberMaxZoom=1
|
||||
@@ -43,8 +44,8 @@ LabelOnCommand=x,6;y,22;shadowlength,1;horizalign,left;vertalign,bottom
|
||||
|
||||
[HoldJudgment]
|
||||
# !!! #
|
||||
HoldJudgmentLetGoCommand=finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
|
||||
HoldJudgmentHeldCommand=finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
|
||||
HoldJudgmentLetGoCommand=HoldJudgmentFail()
|
||||
HoldJudgmentHeldCommand=HoldJudgmentPass()
|
||||
|
||||
[Judgment]
|
||||
# New #
|
||||
|
||||
+2
-1
@@ -127,6 +127,7 @@ static Preference<bool> g_bEnableMineSoundPlayback ( "EnableMineHitSound", true
|
||||
Preference<float> g_fTimingWindowHopo ( "TimingWindowHopo", 0.25 ); // max time between notes in a hopo chain
|
||||
Preference<float> g_fTimingWindowStrum ( "TimingWindowStrum", 0.1f ); // max time between strum and when the frets must match
|
||||
ThemeMetric<float> INITIAL_HOLD_LIFE ( "Player", "InitialHoldLife" );
|
||||
ThemeMetric<float> MAX_HOLD_LIFE ( "Player", "MaxHoldLife" );
|
||||
ThemeMetric<bool> PENALIZE_TAP_SCORE_NONE ( "Player", "PenalizeTapScoreNone" );
|
||||
ThemeMetric<bool> JUDGE_HOLD_NOTES_ON_SAME_ROW_TOGETHER ( "Player", "JudgeHoldNotesOnSameRowTogether" );
|
||||
ThemeMetric<bool> HOLD_CHECKPOINTS ( "Player", "HoldCheckpoints" );
|
||||
@@ -1039,7 +1040,7 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector<TrackRowTap
|
||||
if( bInitiatedNote && bIsHoldingButton )
|
||||
{
|
||||
// Increase life
|
||||
fLife = 1;
|
||||
fLife = MAX_HOLD_LIFE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user