Fixed the credit roll in Marathon 2020.

This commit is contained in:
Joe Z 2019-05-26 16:34:35 -04:00
parent df489a2603
commit 99f7ff72fd
3 changed files with 20 additions and 8 deletions

View File

@ -8,10 +8,10 @@ current_ruleset = 1
game_modes = { game_modes = {
require 'tetris.modes.marathon_2020', require 'tetris.modes.marathon_2020',
require 'tetris.modes.survival_2020', require 'tetris.modes.survival_2020',
require 'tetris.modes.demon_mode',
require 'tetris.modes.strategy', require 'tetris.modes.strategy',
require 'tetris.modes.interval_training', require 'tetris.modes.interval_training',
require 'tetris.modes.pacer_test', require 'tetris.modes.pacer_test',
require 'tetris.modes.demon_mode',
require 'tetris.modes.phantom_mania', require 'tetris.modes.phantom_mania',
require 'tetris.modes.phantom_mania2', require 'tetris.modes.phantom_mania2',
require 'tetris.modes.phantom_mania_n', require 'tetris.modes.phantom_mania_n',

View File

@ -165,7 +165,9 @@ function Marathon2020Game:onPieceEnter()
end end
function Marathon2020Game:whilePieceActive() function Marathon2020Game:whilePieceActive()
if not self.clear then
self.grade_point_decay_counter = self.grade_point_decay_counter + self.grade + 2 self.grade_point_decay_counter = self.grade_point_decay_counter + self.grade + 2
end
if self.grade_point_decay_counter > 240 then if self.grade_point_decay_counter > 240 then
self.grade_point_decay_counter = 0 self.grade_point_decay_counter = 0
self.grade_points = math.max(0, self.grade_points - 1) self.grade_points = math.max(0, self.grade_points - 1)
@ -375,19 +377,29 @@ function Marathon2020Game:updateScore(level, drop_bonus, cleared_lines)
end end
end end
Marathon2020Game.mRollOpacityFunction = function(age) Marathon2020Game.rollOpacityFunction = function(age)
if age > 300 then return 0 if age > 300 then return 0
elseif age < 240 then return 1 elseif age < 240 then return 1
else return (300 - age) / 60 end else return (300 - age) / 60 end
end end
Marathon2020Game.rollOpacityFunction = function(age) Marathon2020Game.mRollOpacityFunction = function(age)
if age > 4 then return 0 if age > 4 then return 0
else return 1 - age / 4 end else return 1 - age / 4 end
end end
function Marathon2020Game:qualifiesForMRoll() function Marathon2020Game:qualifiesForMRoll()
return false -- until I actually have grading working return false -- until I actually have grading working
--[[
GM-roll requirements
You qualify for the GM roll if you:
- Reach level 2020
- with a grade of 50
- in less than 13:30.00 total.
]]--
end end
function Marathon2020Game:drawGrid() function Marathon2020Game:drawGrid()

View File

@ -36,8 +36,8 @@ function Survival2020Game:getARE()
elseif self.level < 300 then return 10 elseif self.level < 300 then return 10
elseif self.level < 500 then return 6 elseif self.level < 500 then return 6
elseif self.level < 1000 then return 4 elseif self.level < 1000 then return 4
elseif self.level < 1500 then return 3 elseif self.level < 1500 then return 5
else return 2 end else return 6 end
end end
function Survival2020Game:getLineARE() function Survival2020Game:getLineARE()
@ -71,12 +71,12 @@ end
function Survival2020Game:getTotalDelay() function Survival2020Game:getTotalDelay()
if self.level < 500 then return 60 if self.level < 500 then return 60
elseif self.level < 600 then return 45 -- lock delay: 15 elseif self.level < 600 then return 45 -- lock delay: 13
elseif self.level < 700 then return 36 elseif self.level < 700 then return 36
elseif self.level < 800 then return 27 elseif self.level < 800 then return 27
elseif self.level < 900 then return 21 elseif self.level < 900 then return 21
elseif self.level < 1000 then return 15 elseif self.level < 1000 then return 15
elseif self.level < 1100 then return 36 -- lock delay: 11 elseif self.level < 1100 then return 36 -- lock delay: 10
elseif self.level < 1200 then return 27 elseif self.level < 1200 then return 27
elseif self.level < 1300 then return 21 elseif self.level < 1300 then return 21
elseif self.level < 1400 then return 15 elseif self.level < 1400 then return 15