add Radar Master scoring
This commit is contained in:
@@ -6,7 +6,7 @@ local ZeroIfNotFound = { __index = function() return 0 end; };
|
||||
--DDR 1st Mix and 2nd Mix Scoring
|
||||
-----------------------------------------------------------
|
||||
r['DDR 1stMIX'] = function(params, pss)
|
||||
local dCombo = math.floor(pss:GetCurrentCombo()/4);
|
||||
local dCombo = math.floor((pss:GetCurrentCombo()+1)/4);
|
||||
local bScore = (dCombo^2+1) * 100;
|
||||
local multLookup = { ['TapNoteScore_W1']=3, ['TapNoteScore_W2']=3, ['TapNoteScore_W3']=1 };
|
||||
setmetatable(multLookup, ZeroIfNotFound);
|
||||
@@ -18,7 +18,7 @@ end;
|
||||
r['DDR 4thMIX'] = function(params, pss)
|
||||
local scoreLookupTable = { ['TapNoteScore_W1']=777, ['TapNoteScore_W2']=777, ['TapNoteScore_W3']=555 };
|
||||
setmetatable(scoreLookupTable, ZeroIfNotFound);
|
||||
local comboBonusForThisStep = pss:GetCurrentCombo()*333;
|
||||
local comboBonusForThisStep = (pss:GetCurrentCombo()+1)*333;
|
||||
pss:SetScore(pss:GetScore()+scoreLookupTable[params.TapNoteScore]+comboBonusForThisStep);
|
||||
end;
|
||||
-----------------------------------------------------------
|
||||
@@ -37,4 +37,31 @@ r['DDR SuperNOVA 2'] = function(params, pss)
|
||||
if dp == 0 then pss:SetScore(0) return nil end
|
||||
pss:SetScore(math.round((pss:GetActualDancePoints()/dp)*100000)*10);
|
||||
end;
|
||||
-----------------------------------------------------------
|
||||
--Radar Master
|
||||
-----------------------------------------------------------
|
||||
r['[SSC] Radar Master'] = function(params, pss)
|
||||
local masterTable = {
|
||||
['RadarCategory_Stream'] = 0,
|
||||
['RadarCategory_Voltage'] = 0,
|
||||
['RadarCategory_Air'] = 0,
|
||||
['RadarCategory_Freeze'] = 0,
|
||||
['RadarCategory_Chaos'] = 0
|
||||
};
|
||||
local totalRadar = 0;
|
||||
local finalScore = 0;
|
||||
for k,v in ipairs(masterTable) do
|
||||
local firstRadar = pss:GetRadarPossible():GetValue(k);
|
||||
if firstRadar == 0 then
|
||||
masterTable[k] = nil;
|
||||
else
|
||||
v = pss:GetRadarPossible():GetValue(k);
|
||||
totalRadar = totalRadar + v[1];
|
||||
end;
|
||||
end;
|
||||
for k,v in ipairs(masterTable) do
|
||||
local curPortion = pss:GetRadarActual():GetValue(k) / v;
|
||||
finalScore = finalScore + curPortion*(500000000*(v/totalRadar));
|
||||
end;
|
||||
end;
|
||||
SpecialScoring = r;
|
||||
|
||||
Reference in New Issue
Block a user