mirror of
https://github.com/SashLilac/cambridge.git
synced 2024-11-22 14:19:02 -06:00
Score overhauls
This commit is contained in:
parent
c6482c423e
commit
febb5d546c
@ -127,20 +127,21 @@ function MarathonA2Game:onLineClear(cleared_row_count)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function MarathonA2Game:updateScore(level, drop_bonus, cleared_lines)
|
function MarathonA2Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if self.grid:checkForBravo(cleared_lines) then self.bravo = 4 else self.bravo = 1 end
|
if not self.clear then
|
||||||
cleared_lines = cleared_lines / 2
|
cleared_lines = cleared_lines / 2
|
||||||
self:updateGrade(cleared_lines)
|
self:updateGrade(cleared_lines)
|
||||||
if cleared_lines > 0 then
|
if self.grid:checkForBravo(cleared_lines) then self.bravo = 4 else self.bravo = 1 end
|
||||||
self.combo = self.combo + (cleared_lines - 1) * 2
|
if cleared_lines > 0 then
|
||||||
self.score = self.score + (
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.score = self.score + (
|
||||||
cleared_lines * self.combo * self.bravo
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
)
|
cleared_lines * self.combo * self.bravo
|
||||||
self.lines = self.lines + cleared_lines
|
)
|
||||||
else
|
else
|
||||||
self.combo = 1
|
self.combo = 1
|
||||||
|
end
|
||||||
|
self.drop_bonus = 0
|
||||||
end
|
end
|
||||||
self.drop_bonus = 0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local grade_point_bonuses = {
|
local grade_point_bonuses = {
|
||||||
|
@ -172,16 +172,17 @@ function SurvivalCKGame:onPieceLock(piece, cleared_row_count)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function SurvivalCKGame:updateScore(level, drop_bonus, cleared_lines)
|
function SurvivalCKGame:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if cleared_lines > 0 then
|
if not self.clear then
|
||||||
self.score = self.score + (
|
if cleared_lines > 0 then
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
cleared_lines * (cleared_lines * 2 - 1) * (self.combo * 2 - 1)
|
self.score = self.score + (
|
||||||
)
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
self.lines = self.lines + cleared_lines
|
cleared_lines * self.combo
|
||||||
self.combo = self.combo + cleared_lines - 1
|
)
|
||||||
else
|
else
|
||||||
|
self.combo = 1
|
||||||
|
end
|
||||||
self.drop_bonus = 0
|
self.drop_bonus = 0
|
||||||
self.combo = 1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -187,16 +187,17 @@ function DemonModeGame:updateSectionTimes(old_level, new_level)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function DemonModeGame:updateScore(level, drop_bonus, cleared_lines)
|
function DemonModeGame:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if cleared_lines > 0 then
|
if not self.clear then
|
||||||
self.score = self.score + (
|
if cleared_lines > 0 then
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
cleared_lines * (cleared_lines * 2 - 1) * (self.combo * 2 - 1)
|
self.score = self.score + (
|
||||||
)
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
self.lines = self.lines + cleared_lines
|
cleared_lines * self.combo
|
||||||
self.combo = self.combo + cleared_lines - 1
|
)
|
||||||
else
|
else
|
||||||
|
self.combo = 1
|
||||||
|
end
|
||||||
self.drop_bonus = 0
|
self.drop_bonus = 0
|
||||||
self.combo = 1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -137,30 +137,30 @@ function MarathonA1Game:onLineClear(cleared_row_count)
|
|||||||
self:checkGMRequirements(self.level, self.level + cleared_row_count)
|
self:checkGMRequirements(self.level, self.level + cleared_row_count)
|
||||||
if not self.clear then
|
if not self.clear then
|
||||||
local new_level = math.min(self.level + cleared_row_count, 999)
|
local new_level = math.min(self.level + cleared_row_count, 999)
|
||||||
if self.level == 999 then
|
if new_level == 999 then
|
||||||
self.clear = true
|
self.clear = true
|
||||||
else
|
else
|
||||||
self.level = new_level
|
self.level = new_level
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function MarathonA1Game:updateScore(level, drop_bonus, cleared_lines)
|
function MarathonA1Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if self.grid:checkForBravo(cleared_lines) then
|
if not self.clear then
|
||||||
self.bravo = 4
|
if self.grid:checkForBravo(cleared_lines) then
|
||||||
self.bravos = self.bravos + 1
|
self.bravo = 4
|
||||||
else self.bravo = 1 end
|
self.bravos = self.bravos + 1
|
||||||
if cleared_lines > 0 then
|
else self.bravo = 1 end
|
||||||
self.combo = self.combo + (cleared_lines - 1) * 2
|
if cleared_lines > 0 then
|
||||||
self.score = self.score + (
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.score = self.score + (
|
||||||
cleared_lines * self.combo * self.bravo
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
)
|
cleared_lines * self.combo * self.bravo
|
||||||
self.lines = self.lines + cleared_lines
|
)
|
||||||
else
|
else
|
||||||
self.combo = 1
|
self.combo = 1
|
||||||
|
end
|
||||||
|
self.drop_bonus = 0
|
||||||
end
|
end
|
||||||
self.drop_bonus = 0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function MarathonA1Game:checkGMRequirements(old_level, new_level)
|
function MarathonA1Game:checkGMRequirements(old_level, new_level)
|
||||||
|
@ -126,17 +126,21 @@ function MarathonA2Game:onPieceEnter()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function MarathonA2Game:onLineClear(cleared_row_count)
|
function MarathonA2Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
self:updateSectionTimes(self.level, self.level + cleared_row_count)
|
if not self.clear then
|
||||||
self.level = math.min(self.level + cleared_row_count, 999)
|
self:updateGrade(cleared_lines)
|
||||||
if self.level == 999 and not self.clear then
|
if self.grid:checkForBravo(cleared_lines) then self.bravo = 4 else self.bravo = 1 end
|
||||||
self.clear = true
|
if cleared_lines > 0 then
|
||||||
if self:qualifiesForMRoll() then
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
self.grade = 32
|
self.score = self.score + (
|
||||||
end
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
self.grid:clear()
|
cleared_lines * self.combo * self.bravo
|
||||||
self.roll_frames = -150
|
)
|
||||||
end
|
else
|
||||||
|
self.combo = 1
|
||||||
|
end
|
||||||
|
self.drop_bonus = 0
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function MarathonA2Game:updateScore(level, drop_bonus, cleared_lines)
|
function MarathonA2Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
|
@ -225,18 +225,19 @@ function MarathonA3Game:updateSectionTimes(old_level, new_level)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function MarathonA3Game:updateScore(level, drop_bonus, cleared_lines)
|
function MarathonA3Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
self:updateGrade(cleared_lines)
|
if not self.clear then
|
||||||
if cleared_lines > 0 then
|
self:updateGrade(cleared_lines)
|
||||||
self.combo = self.combo + (cleared_lines - 1) * 2
|
if cleared_lines > 0 then
|
||||||
self.score = self.score + (
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.score = self.score + (
|
||||||
cleared_lines * self.combo
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
)
|
cleared_lines * self.combo
|
||||||
self.lines = self.lines + cleared_lines
|
)
|
||||||
else
|
else
|
||||||
self.combo = 1
|
self.combo = 1
|
||||||
|
end
|
||||||
|
self.drop_bonus = 0
|
||||||
end
|
end
|
||||||
self.drop_bonus = 0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local grade_point_bonuses = {
|
local grade_point_bonuses = {
|
||||||
|
@ -117,16 +117,17 @@ function PhantomManiaGame:onLineClear(cleared_row_count)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function PhantomManiaGame:updateScore(level, drop_bonus, cleared_lines)
|
function PhantomManiaGame:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if cleared_lines > 0 then
|
if not self.clear then
|
||||||
self.score = self.score + (
|
if cleared_lines > 0 then
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
cleared_lines * (cleared_lines * 2 - 1) * (self.combo * 2 - 1)
|
self.score = self.score + (
|
||||||
)
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
self.lines = self.lines + cleared_lines
|
cleared_lines * self.combo
|
||||||
self.combo = self.combo + cleared_lines - 1
|
)
|
||||||
else
|
else
|
||||||
|
self.combo = 1
|
||||||
|
end
|
||||||
self.drop_bonus = 0
|
self.drop_bonus = 0
|
||||||
self.combo = 1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -181,16 +181,17 @@ function PhantomMania2Game:onHold()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function PhantomMania2Game:updateScore(level, drop_bonus, cleared_lines)
|
function PhantomMania2Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if cleared_lines > 0 then
|
if not self.clear then
|
||||||
self.score = self.score + (
|
if cleared_lines > 0 then
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
cleared_lines * (cleared_lines * 2 - 1) * (self.combo * 2 - 1)
|
self.score = self.score + (
|
||||||
)
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
self.lines = self.lines + cleared_lines
|
cleared_lines * self.combo
|
||||||
self.combo = self.combo + cleared_lines - 1
|
)
|
||||||
else
|
else
|
||||||
|
self.combo = 1
|
||||||
|
end
|
||||||
self.drop_bonus = 0
|
self.drop_bonus = 0
|
||||||
self.combo = 1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -99,16 +99,17 @@ function StrategyGame:onLineClear(cleared_row_count)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function StrategyGame:updateScore(level, drop_bonus, cleared_lines)
|
function StrategyGame:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if cleared_lines > 0 then
|
if not self.clear then
|
||||||
self.score = self.score + (
|
if cleared_lines > 0 then
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
cleared_lines * (cleared_lines * 2 - 1) * (self.combo * 2 - 1)
|
self.score = self.score + (
|
||||||
)
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
self.lines = self.lines + cleared_lines
|
cleared_lines * self.combo
|
||||||
self.combo = self.combo + cleared_lines - 1
|
)
|
||||||
else
|
else
|
||||||
|
self.combo = 1
|
||||||
|
end
|
||||||
self.drop_bonus = 0
|
self.drop_bonus = 0
|
||||||
self.combo = 1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -174,16 +174,17 @@ function Survival2020Game:onLineClear(cleared_row_count)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function Survival2020Game:updateScore(level, drop_bonus, cleared_lines)
|
function Survival2020Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if cleared_lines > 0 then
|
if not self.clear then
|
||||||
self.score = self.score + (
|
if cleared_lines > 0 then
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
cleared_lines * (cleared_lines * 2 - 1) * (self.combo * 2 - 1)
|
self.score = self.score + (
|
||||||
)
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
self.lines = self.lines + cleared_lines
|
cleared_lines * self.combo
|
||||||
self.combo = self.combo + cleared_lines - 1
|
)
|
||||||
else
|
else
|
||||||
|
self.combo = 1
|
||||||
|
end
|
||||||
self.drop_bonus = 0
|
self.drop_bonus = 0
|
||||||
self.combo = 1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -109,30 +109,31 @@ function SurvivalA1Game:onLineClear(cleared_row_count)
|
|||||||
self:checkGMRequirements(self.level, self.level + cleared_row_count)
|
self:checkGMRequirements(self.level, self.level + cleared_row_count)
|
||||||
if not self.clear then
|
if not self.clear then
|
||||||
local new_level = math.min(self.level + cleared_row_count, 999)
|
local new_level = math.min(self.level + cleared_row_count, 999)
|
||||||
if self.level == 999 then
|
if new_level == 999 then
|
||||||
self.clear = true
|
self.clear = true
|
||||||
else
|
else
|
||||||
self.level = new_level
|
self.level = new_level
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function SurvivalA1Game:updateScore(level, drop_bonus, cleared_lines)
|
function SurvivalA1Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if self.grid:checkForBravo(cleared_lines) then
|
if not self.clear then
|
||||||
self.bravo = 4
|
if self.grid:checkForBravo(cleared_lines) then
|
||||||
self.bravos = self.bravos + 1
|
self.bravo = 4
|
||||||
else self.bravo = 1 end
|
self.bravos = self.bravos + 1
|
||||||
if cleared_lines > 0 then
|
else self.bravo = 1 end
|
||||||
self.combo = self.combo + (cleared_lines - 1) * 2
|
if cleared_lines > 0 then
|
||||||
self.score = self.score + (
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.score = self.score + (
|
||||||
cleared_lines * self.combo * self.bravo
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
)
|
cleared_lines * self.combo * self.bravo
|
||||||
self.lines = self.lines + cleared_lines
|
)
|
||||||
else
|
else
|
||||||
self.combo = 1
|
self.combo = 1
|
||||||
|
end
|
||||||
|
self.drop_bonus = 0
|
||||||
end
|
end
|
||||||
self.drop_bonus = 0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function SurvivalA1Game:checkGMRequirements(old_level, new_level)
|
function SurvivalA1Game:checkGMRequirements(old_level, new_level)
|
||||||
|
@ -108,18 +108,19 @@ function SurvivalA2Game:onLineClear(cleared_row_count)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function SurvivalA2Game:updateScore(level, drop_bonus, cleared_lines)
|
function SurvivalA2Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if self.grid:checkForBravo(cleared_lines) then self.bravo = 4 else self.bravo = 1 end
|
if not self.clear then
|
||||||
if cleared_lines > 0 then
|
if self.grid:checkForBravo(cleared_lines) then self.bravo = 4 else self.bravo = 1 end
|
||||||
self.combo = self.combo + (cleared_lines - 1) * 2
|
if cleared_lines > 0 then
|
||||||
self.score = self.score + (
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.score = self.score + (
|
||||||
cleared_lines * self.combo * self.bravo
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
)
|
cleared_lines * self.combo * self.bravo
|
||||||
self.lines = self.lines + cleared_lines
|
)
|
||||||
else
|
else
|
||||||
self.combo = 1
|
self.combo = 1
|
||||||
|
end
|
||||||
|
self.drop_bonus = 0
|
||||||
end
|
end
|
||||||
self.drop_bonus = 0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function SurvivalA2Game:getLetterGrade()
|
function SurvivalA2Game:getLetterGrade()
|
||||||
|
@ -166,17 +166,18 @@ function SurvivalA3Game:onPieceLock(piece, cleared_row_count)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function SurvivalA3Game:updateScore(level, drop_bonus, cleared_lines)
|
function SurvivalA3Game:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if cleared_lines > 0 then
|
if not self.clear then
|
||||||
self.combo = self.combo + (cleared_lines - 1) * 2
|
if cleared_lines > 0 then
|
||||||
self.score = self.score + (
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.score = self.score + (
|
||||||
cleared_lines * self.combo
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
)
|
cleared_lines * self.combo
|
||||||
self.lines = self.lines + cleared_lines
|
)
|
||||||
else
|
else
|
||||||
self.combo = 1
|
self.combo = 1
|
||||||
|
end
|
||||||
|
self.drop_bonus = 0
|
||||||
end
|
end
|
||||||
self.drop_bonus = 0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function SurvivalA3Game:updateSectionTimes(old_level, new_level)
|
function SurvivalA3Game:updateSectionTimes(old_level, new_level)
|
||||||
|
@ -137,18 +137,19 @@ function TGMPlusGame:advanceBottomRow()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function TGMPlusGame:updateScore(level, drop_bonus, cleared_lines)
|
function TGMPlusGame:updateScore(level, drop_bonus, cleared_lines)
|
||||||
if self.grid:checkForBravo(cleared_lines) then self.bravo = 4 else self.bravo = 1 end
|
if not self.clear then
|
||||||
if cleared_lines > 0 then
|
if self.grid:checkForBravo(cleared_lines) then self.bravo = 4 else self.bravo = 1 end
|
||||||
self.combo = self.combo + (cleared_lines - 1) * 2
|
if cleared_lines > 0 then
|
||||||
self.score = self.score + (
|
self.combo = self.combo + (cleared_lines - 1) * 2
|
||||||
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
self.score = self.score + (
|
||||||
cleared_lines * self.combo * self.bravo
|
(math.ceil((level + cleared_lines) / 4) + drop_bonus) *
|
||||||
)
|
cleared_lines * self.combo * self.bravo
|
||||||
self.lines = self.lines + cleared_lines
|
)
|
||||||
else
|
else
|
||||||
self.combo = 1
|
self.combo = 1
|
||||||
|
end
|
||||||
|
self.drop_bonus = 0
|
||||||
end
|
end
|
||||||
self.drop_bonus = 0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function TGMPlusGame:drawGrid(ruleset)
|
function TGMPlusGame:drawGrid(ruleset)
|
||||||
|
Loading…
Reference in New Issue
Block a user