Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ecc1ae826f | ||
|
|
408377e51b | ||
|
|
1f5698ce15 | ||
|
|
d4a23ee68c | ||
|
|
b76b82d6ee | ||
|
|
2a0154dfa0 | ||
|
|
622177e0df |
@@ -1,28 +1,25 @@
|
||||
local fs=love.filesystem
|
||||
local FILE={}
|
||||
function FILE.load(name)
|
||||
local F=fs.newFile(name)
|
||||
if F:open("r")then
|
||||
local s=F:read()
|
||||
F:close()
|
||||
if s:sub(1,6)=="return"then
|
||||
s=loadstring(s)
|
||||
if s then
|
||||
setfenv(s,{})
|
||||
return s()
|
||||
if fs.getInfo(name)then
|
||||
local F=fs.newFile(name)
|
||||
if F:open("r")then
|
||||
local s=F:read()
|
||||
F:close()
|
||||
if s:sub(1,6)=="return"then
|
||||
s=loadstring(s)
|
||||
if s then
|
||||
setfenv(s,{})
|
||||
return s()
|
||||
end
|
||||
else
|
||||
LOG.print(name.." "..text.loadError,COLOR.red)
|
||||
return
|
||||
end
|
||||
else
|
||||
local res=json.decode(s)
|
||||
if res then
|
||||
return res
|
||||
else
|
||||
LOG.print(name.." "..text.loadError,COLOR.red)
|
||||
return
|
||||
local res=json.decode(s)
|
||||
if res then
|
||||
return res
|
||||
end
|
||||
end
|
||||
end
|
||||
LOG.print(name.." "..text.loadError,COLOR.red)
|
||||
end
|
||||
end
|
||||
function FILE.save(data,name,mode)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
local gc=love.graphics
|
||||
local rnd,rem=math.random,table.remove
|
||||
local int,rnd,rem=math.floor,math.random,table.remove
|
||||
local setFont,mStr=setFont,mStr
|
||||
|
||||
local texts={}
|
||||
@@ -79,7 +79,7 @@ function TEXT.show(text,x,y,font,style,spd,stop)
|
||||
text=text, --String
|
||||
x=x or 0, --X
|
||||
y=y or 0, --Y
|
||||
font=font or 40, --Font
|
||||
font=int(font/5)*5 or 40, --Font
|
||||
spd=(spd or 1)/60, --Timing speed(1=last 1 sec)
|
||||
stop=stop, --Stop time(sustained text)
|
||||
draw=textFX[style]or error("unavailable type:"..style), --Draw method
|
||||
@@ -91,7 +91,7 @@ function TEXT.getText(text,x,y,font,style,spd,stop)--Another version of TEXT.sho
|
||||
text=text,
|
||||
x=x or 0,
|
||||
y=y or 0,
|
||||
font=font or 40,
|
||||
font=int(font/5)*5 or 40,
|
||||
spd=(spd or 1)/60,
|
||||
stop=stop,
|
||||
draw=textFX[style]or error("unavailable type:"..style),
|
||||
|
||||
4
conf.lua
4
conf.lua
@@ -1,5 +1,5 @@
|
||||
VERSION_CODE=1208
|
||||
VERSION_NAME="Alpha V0.12.8"
|
||||
VERSION_CODE=1209
|
||||
VERSION_NAME="Alpha V0.12.9"
|
||||
love.setDeprecationOutput(false)
|
||||
function love.conf(t)
|
||||
t.identity="Techmino"--Saving folder
|
||||
|
||||
@@ -8,7 +8,7 @@ function FREEROW.reset(num)
|
||||
end
|
||||
elseif num>len then
|
||||
for i=len+1,num do
|
||||
L[i]={0,0,0,0,0,0,0,0,0,0}
|
||||
L[i]={0,0,0,0,0,0,0,0,0,0,garbage=false}
|
||||
end
|
||||
end
|
||||
len=num
|
||||
@@ -16,7 +16,7 @@ end
|
||||
function FREEROW.get(val,ifGarbage)
|
||||
if len==0 then
|
||||
for i=1,10 do
|
||||
L[i]={0,0,0,0,0,0,0,0,0,0}
|
||||
L[i]={0,0,0,0,0,0,0,0,0,0,garbage=false}
|
||||
end
|
||||
len=len+10
|
||||
end
|
||||
|
||||
@@ -6,7 +6,6 @@ local Player={}--Player class
|
||||
|
||||
local int,ceil,rnd=math.floor,math.ceil,math.random
|
||||
local max,min=math.max,math.min
|
||||
local lg=math.log10
|
||||
local ins,rem=table.insert,table.remove
|
||||
local ct=coroutine
|
||||
|
||||
@@ -154,15 +153,13 @@ local function task_movePosition(P,x,y,size)
|
||||
local x1,y1,size1=P.x,P.y,P.size
|
||||
while true do
|
||||
coroutine.yield()
|
||||
local d=((x1-x)^2+(y1-y)^2)^.5
|
||||
if d<.626 then
|
||||
if (x1-x)^2+(y1-y)^2<1 then
|
||||
P:setPosition(x,y,size)
|
||||
return true
|
||||
else
|
||||
d=max(.085-lg(d)*.02,.03)
|
||||
x1=x1+(x-x1)*d
|
||||
y1=y1+(y-y1)*d
|
||||
size1=size1+(size-size1)*d
|
||||
x1=x1+(x-x1)*.126
|
||||
y1=y1+(y-y1)*.126
|
||||
size1=size1+(size-size1)*.126
|
||||
P:setPosition(x1,y1,size1)
|
||||
end
|
||||
end
|
||||
@@ -1196,45 +1193,42 @@ do--Player.drop(P)--Place piece
|
||||
end
|
||||
|
||||
--Send Lines
|
||||
atk=int(atk*(1+P.strength*.25))--Badge Buff
|
||||
send=atk
|
||||
if send>0 then
|
||||
if exblock>0 then
|
||||
exblock=int(exblock*(1+P.strength*.25))--Badge Buff
|
||||
P:showText("+"..exblock,0,53,20,"fly")
|
||||
off=off+P:cancel(exblock)
|
||||
end
|
||||
|
||||
send=int(send*(1+P.strength*.25))--Badge Buff
|
||||
if exblock>0 then
|
||||
exblock=int(exblock*(1+P.strength*.25))--Badge Buff
|
||||
P:showText("+"..exblock,0,53,20,"fly")
|
||||
off=off+P:cancel(exblock)
|
||||
end
|
||||
if send>=1 then
|
||||
P:showText(send,0,80,35,"zoomout")
|
||||
_=P:cancel(send)
|
||||
send=send-_
|
||||
off=off+_
|
||||
if send>0 then
|
||||
P:showText(send,0,80,35,"zoomout")
|
||||
_=P:cancel(send)
|
||||
send=send-_
|
||||
off=off+_
|
||||
if send>0 then
|
||||
local T
|
||||
if GAME.modeEnv.royaleMode then
|
||||
if P.atkMode==4 then
|
||||
local M=#P.atker
|
||||
if M>0 then
|
||||
for i=1,M do
|
||||
P:attack(P.atker[i],send,CB.color)
|
||||
end
|
||||
else
|
||||
T=randomTarget(P)
|
||||
local T
|
||||
if GAME.modeEnv.royaleMode then
|
||||
if P.atkMode==4 then
|
||||
local M=#P.atker
|
||||
if M>0 then
|
||||
for i=1,M do
|
||||
P:attack(P.atker[i],send,CB.color)
|
||||
end
|
||||
else
|
||||
T=P.atking
|
||||
P:freshTarget()
|
||||
T=randomTarget(P)
|
||||
end
|
||||
elseif #PLAYERS.alive>1 then
|
||||
T=randomTarget(P)
|
||||
end
|
||||
if T then
|
||||
P:attack(T,send,CB.color)
|
||||
else
|
||||
T=P.atking
|
||||
P:freshTarget()
|
||||
end
|
||||
elseif #PLAYERS.alive>1 then
|
||||
T=randomTarget(P)
|
||||
end
|
||||
if T then
|
||||
P:attack(T,send,CB.color)
|
||||
end
|
||||
if P.sound and send>3 then SFX.play("emit",min(send,7)*.1)end
|
||||
end
|
||||
if P.sound and send>3 then SFX.play("emit",min(send,7)*.1)end
|
||||
end
|
||||
|
||||
--SFX & Vibrate
|
||||
@@ -1282,7 +1276,7 @@ do--Player.drop(P)--Place piece
|
||||
|
||||
cscore=int(cscore)
|
||||
if ENV.score then
|
||||
P:showText(cscore,(P.curX+P.sc[2]-5.5)*30,(10-P.curY-P.sc[1])*30+P.fieldBeneath+P.fieldUp,int(8-120/(cscore+20))*5,"score",2)
|
||||
P:showText(cscore,(P.curX+P.sc[2]-5.5)*30,(10-P.curY-P.sc[1])*30+P.fieldBeneath+P.fieldUp,40-600/(cscore+20),"score",2)
|
||||
end
|
||||
|
||||
piece.row,piece.dig=cc,gbcc
|
||||
@@ -1342,7 +1336,9 @@ do--Player.drop(P)--Place piece
|
||||
end
|
||||
if gbcc>0 then
|
||||
STAT.dig=STAT.dig+gbcc
|
||||
STAT.digatk=STAT.digatk+atk*gbcc/cc
|
||||
if atk>0 then
|
||||
STAT.digatk=STAT.digatk+atk*gbcc/cc
|
||||
end
|
||||
end
|
||||
local n=CB.name
|
||||
if dospin then
|
||||
|
||||
@@ -177,7 +177,9 @@ function scene.update()
|
||||
if newVersionLaunch then--Delete old ranks & Unlock modes which should be unlocked
|
||||
for name,rank in next,RANKS do
|
||||
local M=MODES[name]
|
||||
if M and M.unlock and rank>0 then
|
||||
if type(rank)~="number"then
|
||||
RANKS[name]=nil
|
||||
elseif M and M.unlock and rank>0 then
|
||||
for _,unlockName in next,M.unlock do
|
||||
if not RANKS[unlockName]then
|
||||
RANKS[unlockName]=0
|
||||
|
||||
@@ -45,8 +45,17 @@ local S=[=[
|
||||
特殊控件(虚拟摇杆等); task-Z(新AI); 机器人调试模式
|
||||
热更新; 工程编译到字节码; 超60帧; 跳帧开关
|
||||
|
||||
0.12.9: 修复更新 Fixup Update
|
||||
改动:
|
||||
玩家出场动画加速
|
||||
代码:
|
||||
几处细节调整
|
||||
修复:
|
||||
开局硬降后卡顿
|
||||
|
||||
0.12.8: 皮肤调整 Better Skins
|
||||
改动:
|
||||
攻击力统计算法修改
|
||||
b3b触发点和上限都减小200,变为800和1000
|
||||
新增/删除几个方块皮肤
|
||||
调整部分皮肤亮度
|
||||
|
||||
Reference in New Issue
Block a user