重构next和hold系统,支持多next
This commit is contained in:
@@ -18,7 +18,7 @@ return{
|
||||
minarr=1,
|
||||
drop=0,lock=15,
|
||||
wait=15,fall=6,
|
||||
next=3,
|
||||
nextCount=3,
|
||||
visible="fast",
|
||||
freshLimit=15,
|
||||
dropPiece=score,
|
||||
|
||||
@@ -5,7 +5,7 @@ return{
|
||||
color=COLOR.red,
|
||||
env={
|
||||
drop=30,lock=60,
|
||||
next=1,
|
||||
nextCount=1,
|
||||
block=false,center=0,ghost=0,
|
||||
dropFX=0,lockFX=0,
|
||||
visible="none",
|
||||
|
||||
@@ -24,7 +24,7 @@ return{
|
||||
irs=false,ims=false,
|
||||
center=0,ghost=0,
|
||||
drop=3,lock=3,wait=10,fall=25,
|
||||
next=1,hold=false,
|
||||
nextCount=1,hold=false,
|
||||
sequence="rnd",
|
||||
RS="Classic",
|
||||
freshLimit=0,
|
||||
|
||||
@@ -50,41 +50,41 @@ return{
|
||||
env={},
|
||||
load=function()
|
||||
for k,v in next,CUSTOMENV do
|
||||
modeEnv[k]=v
|
||||
MODEENV[k]=v
|
||||
end
|
||||
if BAG[1]then
|
||||
modeEnv.bag=BAG
|
||||
MODEENV.bag=BAG
|
||||
else
|
||||
modeEnv.bag=nil
|
||||
MODEENV.bag=nil
|
||||
end
|
||||
if MISSION[1]then
|
||||
modeEnv.mission=MISSION
|
||||
MODEENV.mission=MISSION
|
||||
else
|
||||
modeEnv.mission=nil
|
||||
MODEENV.mission=nil
|
||||
end
|
||||
modeEnv.dropPiece=PLY.check_lineReach
|
||||
MODEENV.dropPiece=PLY.check_lineReach
|
||||
for y=1,20 do
|
||||
if notAir(FIELD[1][y])then
|
||||
--Switch clear mode on
|
||||
modeEnv.dropPiece=checkClear
|
||||
MODEENV.dropPiece=checkClear
|
||||
break
|
||||
end
|
||||
end
|
||||
PLY.newPlayer(1,340,15)
|
||||
local L=modeEnv.opponent
|
||||
local L=MODEENV.opponent
|
||||
if L~=0 then
|
||||
modeEnv.target=nil
|
||||
MODEENV.target=nil
|
||||
if L<6 then
|
||||
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("9S",2*L))
|
||||
else
|
||||
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("CC",2*L-11,int(L*.5-1.5),modeEnv.hold,4000*L))
|
||||
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("CC",2*L-11,int(L*.5-1.5),MODEENV.hold,4000*L))
|
||||
end
|
||||
end
|
||||
for _,P in next,PLAYERS.alive do
|
||||
setField(P,1)
|
||||
end
|
||||
modeEnv.bg=CUSTOMENV.bg
|
||||
modeEnv.bgm=CUSTOMENV.bgm
|
||||
MODEENV.bg=CUSTOMENV.bg
|
||||
MODEENV.bgm=CUSTOMENV.bgm
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
setFont(55)
|
||||
|
||||
@@ -39,30 +39,30 @@ return{
|
||||
},
|
||||
load=function()
|
||||
for k,v in next,CUSTOMENV do
|
||||
modeEnv[k]=v
|
||||
MODEENV[k]=v
|
||||
end
|
||||
if BAG[1]then
|
||||
modeEnv.bag=BAG
|
||||
MODEENV.bag=BAG
|
||||
else
|
||||
modeEnv.bag=nil
|
||||
MODEENV.bag=nil
|
||||
end
|
||||
if MISSION[1]then
|
||||
modeEnv.mission=MISSION
|
||||
MODEENV.mission=MISSION
|
||||
else
|
||||
modeEnv.mission=nil
|
||||
MODEENV.mission=nil
|
||||
end
|
||||
PLY.newPlayer(1,340,15)
|
||||
local L=modeEnv.opponent
|
||||
local L=MODEENV.opponent
|
||||
if L~=0 then
|
||||
modeEnv.target=nil
|
||||
MODEENV.target=nil
|
||||
if L<6 then
|
||||
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("9S",2*L))
|
||||
else
|
||||
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("CC",2*L-11,int(L*.5-1.5),modeEnv.hold,4000*L))
|
||||
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("CC",2*L-11,int(L*.5-1.5),MODEENV.hold,4000*L))
|
||||
end
|
||||
end
|
||||
modeEnv.bg=CUSTOMENV.bg
|
||||
modeEnv.bgm=CUSTOMENV.bgm
|
||||
MODEENV.bg=CUSTOMENV.bg
|
||||
MODEENV.bgm=CUSTOMENV.bgm
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
|
||||
@@ -4,7 +4,7 @@ return{
|
||||
env={
|
||||
drop=5,lock=60,
|
||||
fall=6,
|
||||
next=3,
|
||||
nextCount=3,
|
||||
freshLimit=15,
|
||||
pushSpeed=2,
|
||||
task=function(P)
|
||||
|
||||
@@ -4,7 +4,7 @@ return{
|
||||
env={
|
||||
drop=30,lock=60,
|
||||
fall=10,
|
||||
next=3,
|
||||
nextCount=3,
|
||||
freshLimit=15,
|
||||
pushSpeed=1,
|
||||
task=function(P)
|
||||
|
||||
@@ -7,7 +7,7 @@ return{
|
||||
for _=1,3 do P:getNext(7)end
|
||||
end,
|
||||
freshMethod=function(P)
|
||||
if not P.next[1] then
|
||||
if not P.nextQueue[1] then
|
||||
local height=FREEROW.get(0)
|
||||
local max=#P.field
|
||||
if max>0 then
|
||||
@@ -92,7 +92,7 @@ return{
|
||||
end
|
||||
end,
|
||||
target=100,dropPiece=PLY.check_lineReach,
|
||||
next=1,hold=false,
|
||||
nextCount=1,hold=false,
|
||||
ospin=false,
|
||||
freshLimit=15,
|
||||
bg="glow",bgm="reason",
|
||||
|
||||
@@ -6,7 +6,7 @@ return{
|
||||
sequence="bag",
|
||||
bag={1,1,2,2,3,3,4,4,5,5,6,6},
|
||||
target=100,dropPiece=PLY.check_lineReach,
|
||||
next=3,
|
||||
nextCount=3,
|
||||
ospin=false,
|
||||
freshLimit=15,
|
||||
bg="glow",bgm="reason",
|
||||
|
||||
@@ -20,7 +20,7 @@ local function check_LVup(P)
|
||||
ENV.target=26
|
||||
SFX.play("reach")
|
||||
elseif T==26 then--Stage 3: dig to bottom
|
||||
if not P.hd then P.life=P.life+1 end--1 up if ban hold
|
||||
if not P.holdQueue[1]then P.life=P.life+1 end--1 up if ban hold
|
||||
P.waiting=45
|
||||
ENV.skin[1],ENV.skin[2]=ENV.skin[2],ENV.skin[1]
|
||||
ENV.skin[3],ENV.skin[4]=ENV.skin[4],ENV.skin[3]
|
||||
@@ -135,7 +135,7 @@ return{
|
||||
das=5,arr=1,
|
||||
drop=0,lock=15,
|
||||
wait=10,fall=10,
|
||||
next=2,
|
||||
nextCount=2,
|
||||
sequence="his4",
|
||||
target=12,dropPiece=check_LVup,
|
||||
mission={4,4,4,64},
|
||||
|
||||
@@ -49,7 +49,7 @@ end
|
||||
return{
|
||||
color=COLOR.red,
|
||||
env={
|
||||
next=4,
|
||||
nextCount=4,
|
||||
hold=false,
|
||||
drop=60,lock=60,
|
||||
fall=20,
|
||||
|
||||
@@ -42,7 +42,7 @@ end
|
||||
return{
|
||||
color=COLOR.green,
|
||||
env={
|
||||
next=4,
|
||||
nextCount=4,
|
||||
hold=false,
|
||||
drop=120,lock=180,
|
||||
fall=20,
|
||||
|
||||
@@ -2,7 +2,7 @@ return{
|
||||
color=COLOR.green,
|
||||
env={
|
||||
drop=60,lock=60,
|
||||
next=0,hold=false,
|
||||
nextCount=0,hold=false,
|
||||
sequence="rnd",
|
||||
target=40,dropPiece=PLY.check_lineReach,
|
||||
bg="aura",bgm="waterfall",
|
||||
|
||||
Reference in New Issue
Block a user