强化水印&系统优化
This commit is contained in:
@@ -128,7 +128,9 @@ local keyDown,keyUp={},{}
|
|||||||
local gamepadDown,gamepadUp={},{}
|
local gamepadDown,gamepadUp={},{}
|
||||||
|
|
||||||
function keyDown.load(k)
|
function keyDown.load(k)
|
||||||
if k=="s"then
|
if k=="a"then
|
||||||
|
sceneTemp.skip=true
|
||||||
|
elseif k=="s"then
|
||||||
marking=nil
|
marking=nil
|
||||||
sceneTemp.skip=true
|
sceneTemp.skip=true
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ local langList={
|
|||||||
{
|
{
|
||||||
anykey="按任意键继续",
|
anykey="按任意键继续",
|
||||||
newVersion="检测到更新!存档格式可能更新,设置已重置",
|
newVersion="检测到更新!存档格式可能更新,设置已重置",
|
||||||
marking="游戏作者:MrZ_26\n出现此水印则为非法录屏上传",
|
marking="游戏作者:MrZ_26\n任何视频不得出现此水印",
|
||||||
lang="中文",
|
lang="中文",
|
||||||
atkModeName={"随机","徽章","击杀","反击"},
|
atkModeName={"随机","徽章","击杀","反击"},
|
||||||
royale_remain=function(n)return"剩余 "..n.." 名玩家"end,
|
royale_remain=function(n)return"剩余 "..n.." 名玩家"end,
|
||||||
@@ -430,7 +430,7 @@ local langList={
|
|||||||
{
|
{
|
||||||
anykey="按任意键继续",
|
anykey="按任意键继续",
|
||||||
newVersion="检测到更新!存档格式可能更新,设置已重置",
|
newVersion="检测到更新!存档格式可能更新,设置已重置",
|
||||||
marking="游戏作者:MrZ_26\n出现此水印则为非法录屏上传",
|
marking="游戏作者:MrZ_26\n任何视频不得出现此水印",
|
||||||
lang="全中文",
|
lang="全中文",
|
||||||
atkModeName={"随机","徽章","击杀","反击"},
|
atkModeName={"随机","徽章","击杀","反击"},
|
||||||
royale_remain=function(n)return"剩余 "..n.." 名玩家"end,
|
royale_remain=function(n)return"剩余 "..n.." 名玩家"end,
|
||||||
|
|||||||
@@ -357,6 +357,12 @@ function Pnt.draw()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
function Pnt.play()
|
function Pnt.play()
|
||||||
|
if marking then
|
||||||
|
setFont(36)
|
||||||
|
local x=game.frame*2%1800-260
|
||||||
|
gc.setColor(1,1,1,abs(0.26*(1-x/640))-0.0626)
|
||||||
|
mStr(text.marking,x,260+62*sin(Timer()))
|
||||||
|
end
|
||||||
for p=1,#players do
|
for p=1,#players do
|
||||||
players[p]:draw()
|
players[p]:draw()
|
||||||
end
|
end
|
||||||
@@ -465,7 +471,7 @@ function Pnt.pause()
|
|||||||
mText(game.result and drawableText[game.result]or drawableText.pause,640,50-10*(5-sceneTemp.timer*.1)^1.5)
|
mText(game.result and drawableText[game.result]or drawableText.pause,640,50-10*(5-sceneTemp.timer*.1)^1.5)
|
||||||
|
|
||||||
--Infos
|
--Infos
|
||||||
if frame>180 then
|
if game.frame>180 then
|
||||||
_=S.list
|
_=S.list
|
||||||
setFont(26)
|
setFont(26)
|
||||||
for i=1,10 do
|
for i=1,10 do
|
||||||
@@ -475,7 +481,7 @@ function Pnt.pause()
|
|||||||
end
|
end
|
||||||
|
|
||||||
--Radar Chart
|
--Radar Chart
|
||||||
if T>.5 and frame>180 then
|
if T>.5 and game.frame>180 then
|
||||||
T=T*2-1
|
T=T*2-1
|
||||||
gc.setLineWidth(2)
|
gc.setLineWidth(2)
|
||||||
gc.push("transform")
|
gc.push("transform")
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ function Tmr.draw()
|
|||||||
if sceneTemp.sure>0 then sceneTemp.sure=sceneTemp.sure-1 end
|
if sceneTemp.sure>0 then sceneTemp.sure=sceneTemp.sure-1 end
|
||||||
end
|
end
|
||||||
function Tmr.play(dt)
|
function Tmr.play(dt)
|
||||||
frame=frame+1
|
game.frame=game.frame+1
|
||||||
stat.time=stat.time+dt
|
stat.time=stat.time+dt
|
||||||
local P1=players[1]
|
local P1=players[1]
|
||||||
for i=#FX_attack,1,-1 do
|
for i=#FX_attack,1,-1 do
|
||||||
@@ -199,10 +199,10 @@ function Tmr.play(dt)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if frame<180 then
|
if game.frame<180 then
|
||||||
if frame==179 then
|
if game.frame==179 then
|
||||||
gameStart()
|
gameStart()
|
||||||
elseif frame==60 or frame==120 then
|
elseif game.frame==60 or game.frame==120 then
|
||||||
SFX.play("ready")
|
SFX.play("ready")
|
||||||
end
|
end
|
||||||
for p=1,#players do
|
for p=1,#players do
|
||||||
@@ -232,14 +232,11 @@ function Tmr.play(dt)
|
|||||||
local P=players[p]
|
local P=players[p]
|
||||||
P:update(dt)
|
P:update(dt)
|
||||||
end
|
end
|
||||||
if frame%120==0 then
|
if game.frame%120==0 then
|
||||||
if modeEnv.royaleMode then freshMostDangerous()end
|
if modeEnv.royaleMode then freshMostDangerous()end
|
||||||
if marking and rnd()<.2 then
|
|
||||||
TEXT.show(text.marking,rnd(162,scr.w-162),rnd(126,scr.h-200),40,"mark",.626)
|
|
||||||
end--mark 2s each 10s
|
|
||||||
end
|
end
|
||||||
if P1.alive then
|
if P1.alive then
|
||||||
if frame%26==0 and setting.warn then
|
if game.frame%26==0 and setting.warn then
|
||||||
local F=P1.field
|
local F=P1.field
|
||||||
local M=#F
|
local M=#F
|
||||||
local height=0
|
local height=0
|
||||||
|
|||||||
@@ -218,6 +218,9 @@ function WIDGET.press(x,y)
|
|||||||
local W=WIDGET.sel
|
local W=WIDGET.sel
|
||||||
if not W then return end
|
if not W then return end
|
||||||
if W.type=="button"then
|
if W.type=="button"then
|
||||||
|
for k,v in next,W do
|
||||||
|
print(k,v)
|
||||||
|
end
|
||||||
W.code()
|
W.code()
|
||||||
W:FX()
|
W:FX()
|
||||||
SFX.play("button")
|
SFX.play("button")
|
||||||
|
|||||||
@@ -155,10 +155,10 @@ local Widgets={
|
|||||||
back= newButton(1200, 640,120,120,C.white, 35,BACK),
|
back= newButton(1200, 640,120,120,C.white, 35,BACK),
|
||||||
},
|
},
|
||||||
play={
|
play={
|
||||||
pause= newButton(1235,45,80,80,C.white,25,pauseGame),
|
pause= newButton(1235,45,80,80,C.white,25,function()pauseGame()end),
|
||||||
},
|
},
|
||||||
pause={
|
pause={
|
||||||
resume= newButton(640,290,240,100,C.white,30,resumeGame),
|
resume= newButton(640,290,240,100,C.white,30,function()resumeGame()end),
|
||||||
restart=newButton(640,445,240,100,C.white,33,function()
|
restart=newButton(640,445,240,100,C.white,33,function()
|
||||||
TASK.clear("play")
|
TASK.clear("play")
|
||||||
mergeStat(stat,players[1].stat)
|
mergeStat(stat,players[1].stat)
|
||||||
|
|||||||
2
conf.lua
2
conf.lua
@@ -17,7 +17,7 @@ function love.conf(t)
|
|||||||
W.resizable=true
|
W.resizable=true
|
||||||
W.fullscreentype="desktop"--"exclusive"
|
W.fullscreentype="desktop"--"exclusive"
|
||||||
W.fullscreen=false
|
W.fullscreen=false
|
||||||
W.vsync=0--infinite fps
|
W.vsync=0--unlimit
|
||||||
W.msaa=false--num of samples to use with multi-sampled antialiasing
|
W.msaa=false--num of samples to use with multi-sampled antialiasing
|
||||||
W.depth=0--bits/samp of depth buffer
|
W.depth=0--bits/samp of depth buffer
|
||||||
W.stencil=1--bits/samp of stencil buffer
|
W.stencil=1--bits/samp of stencil buffer
|
||||||
|
|||||||
@@ -223,6 +223,7 @@ function loadGame(M)
|
|||||||
end
|
end
|
||||||
function resetPartGameData()
|
function resetPartGameData()
|
||||||
game={
|
game={
|
||||||
|
frame=150-setting.reTime*15,
|
||||||
result=false,
|
result=false,
|
||||||
pauseTime=0,
|
pauseTime=0,
|
||||||
pauseCount=0,
|
pauseCount=0,
|
||||||
@@ -230,7 +231,6 @@ function resetPartGameData()
|
|||||||
warnLVL0=0,
|
warnLVL0=0,
|
||||||
warnLVL=0,
|
warnLVL=0,
|
||||||
}
|
}
|
||||||
frame=150-setting.reTime*15
|
|
||||||
destroyPlayers()
|
destroyPlayers()
|
||||||
curMode.load()
|
curMode.load()
|
||||||
TEXT.clear()
|
TEXT.clear()
|
||||||
@@ -258,6 +258,7 @@ function resetPartGameData()
|
|||||||
end
|
end
|
||||||
function resetGameData()
|
function resetGameData()
|
||||||
game={
|
game={
|
||||||
|
frame=150-setting.reTime*15,
|
||||||
result=false,
|
result=false,
|
||||||
pauseTime=0,--Time paused
|
pauseTime=0,--Time paused
|
||||||
pauseCount=0,--Pausing count
|
pauseCount=0,--Pausing count
|
||||||
@@ -265,7 +266,6 @@ function resetGameData()
|
|||||||
warnLVL0=0,
|
warnLVL0=0,
|
||||||
warnLVL=0,
|
warnLVL=0,
|
||||||
}
|
}
|
||||||
frame=150-setting.reTime*15
|
|
||||||
destroyPlayers()
|
destroyPlayers()
|
||||||
modeEnv=curMode.env
|
modeEnv=curMode.env
|
||||||
curMode.load()--bg/bgm need redefine in custom,so up here
|
curMode.load()--bg/bgm need redefine in custom,so up here
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ local TRS={
|
|||||||
[13]={{ 0,-1},{ 0, 1},{ 1, 0}},
|
[13]={{ 0,-1},{ 0, 1},{ 1, 0}},
|
||||||
[31]={{ 0, 1},{ 0,-1},{-1, 0}},
|
[31]={{ 0, 1},{ 0,-1},{-1, 0}},
|
||||||
},--J
|
},--J
|
||||||
{},--L
|
{},--L
|
||||||
{
|
{
|
||||||
[01]={{-1, 0},{-1, 1},{ 0,-2},{-1,-2},{-1,-1}},
|
[01]={{-1, 0},{-1, 1},{ 0,-2},{-1,-2},{-1,-1}},
|
||||||
[10]={{ 1, 0},{ 1,-1},{ 0, 2},{ 1, 2},{ 0,-1},{ 1, 1}},
|
[10]={{ 1, 0},{ 1,-1},{ 0, 2},{ 1, 2},{ 0,-1},{ 1, 1}},
|
||||||
|
|||||||
110
parts/player.lua
110
parts/player.lua
@@ -226,7 +226,7 @@ end
|
|||||||
local function Pupdate_alive(P,dt)
|
local function Pupdate_alive(P,dt)
|
||||||
if P.timing then P.stat.time=P.stat.time+dt end
|
if P.timing then P.stat.time=P.stat.time+dt end
|
||||||
if P.keyRec then
|
if P.keyRec then
|
||||||
local _=frame
|
local _=game.frame
|
||||||
local v=0
|
local v=0
|
||||||
for i=2,10 do v=v+i*(i-1)*7.2/(_-P.keyTime[i])end P.keySpeed=P.keySpeed*.99+v*.1
|
for i=2,10 do v=v+i*(i-1)*7.2/(_-P.keyTime[i])end P.keySpeed=P.keySpeed*.99+v*.1
|
||||||
v=0
|
v=0
|
||||||
@@ -518,7 +518,6 @@ local function Pdraw_norm(P)
|
|||||||
end
|
end
|
||||||
end--Grid
|
end--Grid
|
||||||
gc.translate(0,P.fieldBeneath)
|
gc.translate(0,P.fieldBeneath)
|
||||||
gc.setScissor(scr.x+(P.absFieldX+P.fieldOff.x)*scr.k,scr.y+(P.absFieldY+P.fieldOff.y)*scr.k,300*P.size*scr.k,610*P.size*scr.k)
|
|
||||||
if P.falling==-1 then
|
if P.falling==-1 then
|
||||||
for j=int(P.fieldBeneath/30+1),#P.field do
|
for j=int(P.fieldBeneath/30+1),#P.field do
|
||||||
for i=1,10 do
|
for i=1,10 do
|
||||||
@@ -599,57 +598,54 @@ local function Pdraw_norm(P)
|
|||||||
gc.translate(0,dy)
|
gc.translate(0,dy)
|
||||||
end
|
end
|
||||||
::E::
|
::E::
|
||||||
gc.setScissor()--In-playField things
|
|
||||||
gc.translate(0,-P.fieldBeneath)
|
gc.translate(0,-P.fieldBeneath)
|
||||||
gc.setBlendMode("replace","alphamultiply")--SPEED UPUP(?)
|
gc.setLineWidth(2)
|
||||||
gc.setLineWidth(2)
|
gc.setColor(1,1,1)
|
||||||
gc.setColor(1,1,1)
|
gc.rectangle("line",-1,-11,302,612)--Draw boarder
|
||||||
gc.rectangle("line",-1,-11,302,612)--Draw boarder
|
gc.rectangle("line",301,0,15,601)--Draw atkBuffer boarder
|
||||||
gc.rectangle("line",301,0,15,601)--Draw atkBuffer boarder
|
local h=0
|
||||||
local h=0
|
for i=1,#P.atkBuffer do
|
||||||
for i=1,#P.atkBuffer do
|
local A=P.atkBuffer[i]
|
||||||
local A=P.atkBuffer[i]
|
local bar=A.amount*30
|
||||||
local bar=A.amount*30
|
if h+bar>600 then bar=600-h end
|
||||||
if h+bar>600 then bar=600-h end
|
if not A.sent then
|
||||||
if not A.sent then
|
if A.time<20 then
|
||||||
if A.time<20 then
|
bar=bar*(20*A.time)^.5*.05
|
||||||
bar=bar*(20*A.time)^.5*.05
|
--Appear
|
||||||
--Appear
|
|
||||||
end
|
|
||||||
if A.countdown>0 then
|
|
||||||
gc.setColor(attackColor[A.lv][1])
|
|
||||||
gc.rectangle("fill",303,599-h,11,-bar+3)
|
|
||||||
gc.setColor(attackColor[A.lv][2])
|
|
||||||
gc.rectangle("fill",303,599-h+(-bar+3),11,-(-bar+3)*(1-A.countdown/A.cd0))
|
|
||||||
--Timing
|
|
||||||
else
|
|
||||||
local t=math.sin((Timer()-i)*30)*.5+.5
|
|
||||||
local c1,c2=attackColor[A.lv][1],attackColor[A.lv][2]
|
|
||||||
gc.setColor(c1[1]*t+c2[1]*(1-t),c1[2]*t+c2[2]*(1-t),c1[3]*t+c2[3]*(1-t))
|
|
||||||
gc.rectangle("fill",303,599-h,11,-bar+3)
|
|
||||||
--Warning
|
|
||||||
end
|
|
||||||
else
|
|
||||||
gc.setColor(attackColor[A.lv][1])
|
|
||||||
bar=bar*(20-A.time)*.05
|
|
||||||
gc.rectangle("fill",303,599-h,11,-bar+2)
|
|
||||||
--Disappear
|
|
||||||
end
|
end
|
||||||
h=h+bar
|
if A.countdown>0 then
|
||||||
end--Buffer line
|
gc.setColor(attackColor[A.lv][1])
|
||||||
local a,b=P.b2b,P.b2b1 if a>b then a,b=b,a end
|
gc.rectangle("fill",303,599-h,11,-bar+3)
|
||||||
gc.setColor(.8,1,.2)
|
gc.setColor(attackColor[A.lv][2])
|
||||||
gc.rectangle("fill",-14,599,11,-b*.5)
|
gc.rectangle("fill",303,599-h+(-bar+3),11,-(-bar+3)*(1-A.countdown/A.cd0))
|
||||||
gc.setColor(P.b2b<40 and color.white or P.b2b<=1e3 and color.lightRed or color.lightBlue)
|
--Timing
|
||||||
gc.rectangle("fill",-14,599,11,-a*.5)
|
else
|
||||||
gc.setColor(1,1,1)
|
local t=math.sin((Timer()-i)*30)*.5+.5
|
||||||
if Timer()%.5<.3 then
|
local c1,c2=attackColor[A.lv][1],attackColor[A.lv][2]
|
||||||
gc.rectangle("fill",-15,b<40 and 578.5 or 98.5,13,3)
|
gc.setColor(c1[1]*t+c2[1]*(1-t),c1[2]*t+c2[2]*(1-t),c1[3]*t+c2[3]*(1-t))
|
||||||
|
gc.rectangle("fill",303,599-h,11,-bar+3)
|
||||||
|
--Warning
|
||||||
|
end
|
||||||
|
else
|
||||||
|
gc.setColor(attackColor[A.lv][1])
|
||||||
|
bar=bar*(20-A.time)*.05
|
||||||
|
gc.rectangle("fill",303,599-h,11,-bar+2)
|
||||||
|
--Disappear
|
||||||
end
|
end
|
||||||
gc.rectangle("line",-16,-3,15,604)--Draw b2b bar boarder
|
h=h+bar
|
||||||
--B2B indictator
|
end--Buffer line
|
||||||
gc.translate(-P.fieldOff.x,-P.fieldOff.y)
|
local a,b=P.b2b,P.b2b1 if a>b then a,b=b,a end
|
||||||
gc.setBlendMode("alpha")
|
gc.setColor(.8,1,.2)
|
||||||
|
gc.rectangle("fill",-14,599,11,-b*.5)
|
||||||
|
gc.setColor(P.b2b<40 and color.white or P.b2b<=1e3 and color.lightRed or color.lightBlue)
|
||||||
|
gc.rectangle("fill",-14,599,11,-a*.5)
|
||||||
|
gc.setColor(1,1,1)
|
||||||
|
if Timer()%.5<.3 then
|
||||||
|
gc.rectangle("fill",-15,b<40 and 578.5 or 98.5,13,3)
|
||||||
|
end
|
||||||
|
gc.rectangle("line",-16,-3,15,604)--Draw b2b bar boarder
|
||||||
|
--B2B indictator
|
||||||
|
gc.translate(-P.fieldOff.x,-P.fieldOff.y)
|
||||||
|
|
||||||
if P.gameEnv.hold then
|
if P.gameEnv.hold then
|
||||||
mText(drawableText.hold,-81,-15)
|
mText(drawableText.hold,-81,-15)
|
||||||
@@ -691,8 +687,8 @@ local function Pdraw_norm(P)
|
|||||||
gc.draw(drawableText.modeName,-135,-65)
|
gc.draw(drawableText.modeName,-135,-65)
|
||||||
gc.draw(drawableText.levelName,437-drawableText.levelName:getWidth(),-65)
|
gc.draw(drawableText.levelName,437-drawableText.levelName:getWidth(),-65)
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
if frame<180 then
|
if game.frame<180 then
|
||||||
local count=179-frame
|
local count=179-game.frame
|
||||||
gc.push("transform")
|
gc.push("transform")
|
||||||
gc.translate(155,220)
|
gc.translate(155,220)
|
||||||
setFont(95)
|
setFont(95)
|
||||||
@@ -1349,7 +1345,7 @@ end
|
|||||||
function player.drop(P)--Place piece
|
function player.drop(P)--Place piece
|
||||||
local _
|
local _
|
||||||
local CHN=VOC.getFreeChannel()
|
local CHN=VOC.getFreeChannel()
|
||||||
P.dropTime[11]=ins(P.dropTime,1,frame)--update speed dial
|
P.dropTime[11]=ins(P.dropTime,1,game.frame)--update speed dial
|
||||||
local cmb=P.combo
|
local cmb=P.combo
|
||||||
P.waiting=P.gameEnv.wait
|
P.waiting=P.gameEnv.wait
|
||||||
local STAT=P.stat
|
local STAT=P.stat
|
||||||
@@ -1771,17 +1767,17 @@ function player.pressKey(P,i)
|
|||||||
P.act[i](P)
|
P.act[i](P)
|
||||||
if P.control then
|
if P.control then
|
||||||
if P.keyRec then
|
if P.keyRec then
|
||||||
ins(P.keyTime,1,frame)
|
ins(P.keyTime,1,game.frame)
|
||||||
P.keyTime[11]=nil
|
P.keyTime[11]=nil
|
||||||
end
|
end
|
||||||
P.stat.key=P.stat.key+1
|
P.stat.key=P.stat.key+1
|
||||||
end
|
end
|
||||||
--ins(rec,{i,frame})
|
--ins(rec,{i,game.frame})
|
||||||
end
|
end
|
||||||
function player.releaseKey(P,i)
|
function player.releaseKey(P,i)
|
||||||
if P.keyPressing[i]then
|
if P.keyPressing[i]then
|
||||||
P.keyPressing[i]=false
|
P.keyPressing[i]=false
|
||||||
-- if recording then ins(rec,{-i,frame})end
|
-- if recording then ins(rec,{-i,game.frame})end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--------------------------</Methods>--------------------------
|
--------------------------</Methods>--------------------------
|
||||||
@@ -2146,7 +2142,7 @@ function player.act.func(P)
|
|||||||
P.gameEnv.Fkey(P)
|
P.gameEnv.Fkey(P)
|
||||||
end
|
end
|
||||||
function player.act.restart(P)
|
function player.act.restart(P)
|
||||||
if P.gameEnv.quickR or frame<180 then
|
if P.gameEnv.quickR or game.frame<180 then
|
||||||
TASK.clear("play")
|
TASK.clear("play")
|
||||||
resetPartGameData()
|
resetPartGameData()
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
local S=[=[
|
local S=[=[
|
||||||
"Patron"(time ordered,may not accurate):
|
"Patron"(time ordered,may not accurate):
|
||||||
[rmb100+]:
|
[rmb100+]:
|
||||||
那没事了(T6300)
|
那没事了(T6300) 加油啊,钉钉动了的大哥哥(T3228)
|
||||||
加油啊,钉钉动了的大哥哥(T3228)
|
弥佑瑶 Alan
|
||||||
弥佑瑶
|
幽灵3383 靏鸖龘龘
|
||||||
Alan
|
込余 saki
|
||||||
幽灵3383
|
|
||||||
靏鸖龘龘
|
|
||||||
込余
|
|
||||||
[rmb10+]:
|
[rmb10+]:
|
||||||
八零哥 蕴空之灵 gggf127 dtg
|
八零哥 蕴空之灵 gggf127 dtg
|
||||||
ThTsOd Fireboos 金巧 10元
|
ThTsOd Fireboos 金巧 10元
|
||||||
@@ -19,7 +16,7 @@ local S=[=[
|
|||||||
PCX kagura77 呆喂 GlowingEmbers
|
PCX kagura77 呆喂 GlowingEmbers
|
||||||
轩辕辚 HimuroAki TCV100 tech有养成系统了@7065
|
轩辕辚 HimuroAki TCV100 tech有养成系统了@7065
|
||||||
HAGE KANOBU 闪电和拐棍 葡萄味的曼妥思 世界沃德
|
HAGE KANOBU 闪电和拐棍 葡萄味的曼妥思 世界沃德
|
||||||
蓝绿 天生的魔法师 saki 琳雨空 T8779.易缄
|
蓝绿 天生的魔法师 琳雨空 T8779.易缄 吃水榴莲
|
||||||
|
|
||||||
Thanks!!!
|
Thanks!!!
|
||||||
|
|
||||||
@@ -83,14 +80,16 @@ Future outlook:
|
|||||||
new:
|
new:
|
||||||
--TODO: custom sequence
|
--TODO: custom sequence
|
||||||
many new tips
|
many new tips
|
||||||
|
better watermark
|
||||||
changed:
|
changed:
|
||||||
faster&harder attacker-ultimate
|
faster & harder attacker-ultimate
|
||||||
little easier to get S in PC challenge (easy mode)
|
little easier to get S in PC challenge (easy mode)
|
||||||
easier to get S in infinite mode, c4w, PC
|
easier to get S in infinite mode, c4w, PC
|
||||||
harder to unlock sprint 400/1000
|
harder to unlock sprint 400/1000
|
||||||
code:
|
code:
|
||||||
file sorted
|
file sorted
|
||||||
task system rewrited, now perfect
|
task system rewrited, now perfect (maybe)
|
||||||
|
remove scissors/blendMode setting in drawing players
|
||||||
fixed:
|
fixed:
|
||||||
hard move won't deactive "spin"
|
hard move won't deactive "spin"
|
||||||
do not clear dead enemies' field
|
do not clear dead enemies' field
|
||||||
|
|||||||
Reference in New Issue
Block a user