2020年 3月 26日
前回の検証から画像は .pngで統一した方が良さそうだったので全部 pngに直した。
併せて mes命令による文字表示を全部画像に変更した。
文字をグラソフトで全部描かなければいけないため、結構作業量があって結局 3ヶ月くらいを要した。
こんな感じ(PNGの透明が白で見えないため、画像は JPGに加工してあります)


少し大変だったのは、キャラやアイテムのカード絵の自動描き出しのグラ。
全部を 1枚にして BMPで描き出ししてあるんだけど、この背景の黒を抜くのが手間で、最終的には背景の色を特定の色で描いて描き出しして、グラソフトで色域選択で選択して消去した。
これはなぜかと言うと画像の中に 0黒を使っていた場所があったため。


キャラの方は抜いた後、カードとカードの隙間を全部抜かなければいけない。
アイテムの方は流石に面倒になって背景色を変更し、一括選択できるようにした。
そんな感じで背景を透明にしてから改めて pngで描きだした。
表示が改まったのは。
国の画面と

装備画面


政府表示

ユニット一覧表示

アイテム一覧表示

属領一覧表示

SAVE、LOAD画面

そんな感じ。
それではソースを公開するけど、今回は表示関係をほとんどまとめてある「put.hsp」ファイルを。
まとめてあるのは、その方が把握と管理が楽になるから。
緑色の文字はコメントアウトになっていてプログラムには反映されない。
左端に寄せて書いてあるのは大体デバッグ用のコード。
/////// 表示 ///////////////////////////////
*put_syoki ; 初期
; 灰、赤、青、緑、黄、白、紫
col_r=238,215,86,107,255,255,153
col_g=238,26,116,222,240,255,122
col_b=238,0,215,57,0,255,232
; タイトル
tix1=200 : tix2=440
dim tiy1,6
dim tiy2,6
repeat 5,1
tiy1(cnt)=117+cnt*40
tiy2(cnt)=tiy1(cnt)+36
loop
; マップ選択
ngx1=150 : ngx2=490
dim ngy1,4
dim ngy2,4
ngy1(1)=75 : ngy2(1)=ngy1(1)+50
ngy1(2)=155 : ngy2(2)=ngy1(2)+50
ngy1(3)=235 : ngy2(3)=ngy1(3)+50
; 国インフォ画面
infx1=5 : infx2=640-infx1 ; 枠
infy1=5 : infy2=360-infy1
infx3=224 : infy3=11 ; 領主座標
dim infx,3 ; 部隊座標
infx=55,358,358
dim infy,3
infy=186,6,186
dim inffox,3 ; force
inffox=28,331,331
dim infkx1,45 ; タップ座標
dim infkx2,45
dim infky1,45
dim infky2,45
;(0=領主、1~9=部隊、10~19=装備、20~29=remove)
y1=80 : y2=50 ; 区切り
infkx1(0)=infx3 : infkx2(0)=infkx1(0)+80 ; 領主タップ座標
infky1(0)=infy3 : infky2(0)=infky1(0)+y1
infkx1(10)=infx3 : infkx2(10)=infkx1(10)+80 ; 領主装備タップ座標
infky1(10)=infy3+y1 : infky2(10)=infky1(10)+y2
infkx1(20)=infx3 : infkx2(20)=infkx1(10)+80 ; 領主removeタップ座標
infky1(20)=infy3+coy+4 : infky2(20)=infky1(20)+18
repeat 3 : cn=cnt
infkx1(31+cnt)=inffox(cnt) : infkx2(31+cnt)=inffox(cnt)+20
infky1(31+cnt)=infy(cnt) : infky2(31+cnt)=infy(cnt)+130
repeat 3
n1=cn*3+cnt+1 : n2=n1+10 : n3=n2+10
infkx1(n1)=infx(cn)+cnt*89 : infkx2(n1)=infkx1(n1)+80 ; 部隊タップ座標
infky1(n1)=infy(cn) : infky2(n1)=infky1(n1)+y1
infkx1(n2)=infx(cn)+cnt*89 : infkx2(n2)=infkx1(n2)+80 ; 部隊装備タップ座標
infky1(n2)=infy(cn)+y1 : infky2(n2)=infky1(n2)+y2
infkx1(n3)=infx(cn)+cnt*89 : infkx2(n3)=infkx1(n3)+80 ; 部隊removeタップ座標
infky1(n3)=infy(cn)+coy+21 : infky2(n3)=infky1(n3)+18
loop
loop
; Government ordinance
dim govx1,31 ; タップ座標
dim govx2,31
dim govy1,31
dim govy2,31
govcx=wx/2-cox/2 ; センター
govy1=6 ; y1
govy2=203 ; y2
govxk=120 ; 枠座標x
govx1(1)=govcx : govx1(4)=govcx
govx1(3)=govcx-govxk : govx1(2)=govx1(3)-govxk
govx1(5)=govcx+govxk : govx1(6)=govx1(5)+govxk
repeat 6,1 ; タップ座標
govx1(10+cnt)=govx1(cnt) : govx1(20+cnt)=govx1(cnt)
govx2(cnt)=govx1(cnt)+cox
govx2(10+cnt)=govx2(cnt) : govx2(20+cnt)=govx2(cnt)
if cnt=1 : govy1(cnt)=govy1
if cnt>1 : govy1(cnt)=govy2
govy2(cnt)=govy1(cnt)+79
govy1(10+cnt)=govy2(cnt)+1 ; 装備
govy2(10+cnt)=govy1(10+cnt)+49
govy1(20+cnt)=govy2(10+cnt)+4 ; remove
govy2(20+cnt)=govy1(20+cnt)+18
loop
govs1="","首領","行政","魔術","宗教","警察","軍務"
govs2="","Leader","Population","Magic","Religion","Police","Military"
govs3="","LEADER","POPULATION","MAGIC","RELIGION","POLICE","MILITARY"
; Build、Talent、Order
dim ordx1,4
dim ordx2,4
dim ordy1,4
dim ordy2,4
ord_ox=64 ; 大きさx
ord_oy=32 ; 大きさy
ordk=41 ; 間隔
repeat 3,1
ordx1(cnt)=123 : ordx2(cnt)=ordx1(cnt)+ord_ox ; x
loop
ordy1(1)=11 : ordy2(1)=ordy1(1)+ord_oy
ordy1(2)=ordy1(1)+ordk : ordy2(2)=ordy1(2)+ord_oy
ordy1(3)=ordy1(2)+ordk : ordy2(3)=ordy1(3)+ord_oy
repeat 3,1 ; タップ座標
infkx1(40+cnt)=ordx1(cnt)
infkx2(40+cnt)=ordx2(cnt)
infky1(40+cnt)=ordy1(cnt)
infky2(40+cnt)=ordy2(cnt)
loop
infkx1(44)=infx1+2 ; Government
infkx2(44)=infx1+26
infky1(44)=infy1+2
infky2(44)=infy1+26
; Talent、ユニット
talx1=60 : talxk=110 ; 枠座標x
taly1=58 : talyk=150 ; 枠座標y
talx2=20 : taly2=14 ; 国
talx3=110 : talx4=310 ; 魔術レベル
talx5=400 ; マナポイント
talcx=320-cox/2 : talcy=75
dim talkx1,11 ; タップ座標
dim talkx2,11
dim talky1,11
dim talky2,11
repeat 10 ; タップ座標
talkx1(cnt+1)=talx1+talxk*(cnt\5)
talkx2(cnt+1)=talx1+talxk*(cnt\5)+cox
if cnt<5 : y=taly1 : else : y=taly1+talyk
talky1(cnt+1)=y
talky2(cnt+1)=y+coy
loop
; オプション
dim optx1,12 ; 点座標
x=75 : xk=50
repeat 11 : optx1(cnt)=x : x+=xk : loop
dim optx2,13 ; タップ座標
x=50
repeat 12 : optx2(cnt)=x : x+=xk : loop
dim opty1,4 ; y
y=50 : yk=60
repeat 4
opty1(cnt)=y : y+=yk
if cnt=2 : y+=8
loop
optyk=30 ; 厚さ
dim opt2fx1,4
opt2fx1(1)=96 : opt2fx1(2)=134 : opt2fx1(3)=394
dim opt2fx2,4
opt2fx2(1)=544 : opt2fx2(2)=246 : opt2fx2(3)=506
dim opt2fy1,4
opt2fy1(1)=70 : opt2fy1(2)=230 : opt2fy1(3)=230
dim opt2fy2,4
opt2fy2(1)=182 : opt2fy2(2)=294 : opt2fy2(3)=294
color 255,255,255
/*
dim opty1,3 ; y
y=50 : yk=80
repeat 3 : opty1(cnt)=y : y+=yk : loop
optyk=50 ; 厚さ
*/
exitx=288 : exity=280
exitkx1=exitx : exitkx2=exitx+64
exitky1=exity : exitky2=exity+64
opbt1x=100 : opbt1y=307
opbt1kx1=opbt1x-10 : opbt1kx2=opbt1x+81
opbt1ky1=opbt1y-10 : opbt1ky2=opbt1y+28
opbt2x=480 : opbt2y=307
opbt2kx1=opbt2x-30 : opbt2kx2=opbt2x+81
opbt2ky1=opbt2y-10 : opbt2ky2=opbt2y+28
opt1x=130 : opt1y=56
opt2x=380
opt3x=480
opmbx1=45 : opmbx2=opmbx1+450 ; 選曲
dim opmby,5
y=140 : opmbyk=35
repeat 4,1 : opmby(cnt)=y : y+=opmbyk : loop
; 選択画面--------------------------------
self=0 ; モード切り替え
selx1=0;7 ; 名前
selx2=180 ; 降順
selx3=245 ; 昇順
selx4=0 ; ページ左
selx5=150 ; 戻る
selx6=490 ; ページ右
selxk=56 ; 間隔
selx7=310 ; 種別始め
selx8=selx7+selxk
selx9=selx8+selxk
selx10=selx9+selxk
selx11=selx10+selxk
selxk=69 ; 間隔
selx12=310 ; HP
selx13=selx12+selxk ; 配備
selx14=selx13+selxk ; コスト
selx15=selx14+selxk ; 属性
selx16=selx15+selxk ; 削除
sely1=0;10 ; 種別始め
sely2=47 ; ユニット始め
selyk=38 ; 行間隔
sely3=sely2+selyk*7 ; ページ切り替え、戻る
dim selkx1,40 ; タップ座標
dim selkx2,40
dim selky1,40
dim selky2,40
repeat 7,1 ; ユニットxy座標
selkx1(cnt)=0 : selkx2(cnt)=640-1
selky1(cnt)=sely2+selyk*(cnt-1)
selky2(cnt)=sely2+selyk*(cnt)-1
selkx1(30+cnt)=selx16 : selkx2(30+cnt)=640-1 ; 削除
selky1(30+cnt)=sely2+selyk*(cnt-1)
selky2(30+cnt)=sely2+selyk*(cnt)-1
loop
selkx1(11)=0 : selkx2(11)=selx2-1 ; 名前
selkx1(12)=selx2 : selkx2(12)=selx3-1 ; 降順
selkx1(13)=selx3 : selkx2(13)=selx7-1 ; 昇順
repeat 3,11 ; 上のy座標
selky1(cnt)=0 : selky2(cnt)=sely2-1
loop
selkx1(17)=selx7 : selkx2(17)=selx8-1 ; 筋力
selkx1(18)=selx8 : selkx2(18)=selx9-1 ; 魔力
selkx1(19)=selx9 : selkx2(19)=selx10-1 ; 知力
selkx1(20)=selx10 : selkx2(20)=selx11-1 ; 魅力
selkx1(21)=selx11 : selkx2(21)=wx-1 ; 特殊
repeat 10,17 ; 上のy座標
selky1(cnt)=0 : selky2(cnt)=sely2-1
loop
selkx1(14)=selx4 : selkx2(14)=selx5-1 ; ←
selkx1(15)=selx5 : selkx2(15)=selx6-1 ; 戻る
selkx1(16)=selx6 : selkx2(16)=wx-1 ; →
repeat 3,14 ; 下のy座標
selky1(cnt)=sely3 : selky2(cnt)=wy-1
loop
selkx1(22)=selx12 : selkx2(22)=selx13-1 ; HP
selkx1(23)=selx13 : selkx2(23)=selx14-1 ; 配備
selkx1(24)=selx14 : selkx2(24)=selx15-1 ; コスト
selkx1(25)=selx15 : selkx2(25)=selx16-1 ; 属性
selkx1(26)=selx16 : selkx2(26)=wx-1 ; 消去
; アイテム選択画面--------------------------------
iself=0 ; モード切り替え
iselx1=0;7 ; 名前
iselx2=180 ; 降順
iselx3=245 ; 昇順
iselx4=0 ; ページ左
iselx5=150 ; 戻る
iselx6=490 ; ページ右
iselxk=56 ; 間隔
iselx7=310 ; 種別始め
iselx8=iselx7+iselxk
iselx9=iselx8+iselxk
iselx10=iselx9+iselxk
iselx11=iselx10+iselxk
iselxk=69 ; 間隔
iselx12=310 ; HP
iselx13=iselx12+iselxk ; 配備
iselx14=iselx13+iselxk ; コスト
iselx15=iselx14+iselxk ; 属性
iselx16=iselx15+iselxk ; 削除
iselxk2=55 ; 間隔
iselx17=310 ; 火、水、風、地、光、闇
isely1=0;10 ; 種別始め
isely2=47 ; ユニット始め
iselyk=38 ; 行間隔
isely3=isely2+iselyk*7 ; ページ切り替え、戻る
dim iselkx1,50 ; タップ座標
dim iselkx2,50
dim iselky1,50
dim iselky2,50
repeat 7,1 ; ユニットxy座標
iselkx1(cnt)=0 : iselkx2(cnt)=640
iselky1(cnt)=isely2+iselyk*(cnt-1)
iselky2(cnt)=isely2+iselyk*(cnt)
iselkx1(30+cnt)=iselx16 : iselkx2(30+cnt)=640 ; 削除
iselky1(30+cnt)=isely2+iselyk*(cnt-1)
iselky2(30+cnt)=isely2+iselyk*(cnt)
loop
iselkx1(11)=0 : iselkx2(11)=iselx2 ; 名前
iselkx1(12)=iselx2 : iselkx2(12)=iselx3 ; 降順
iselkx1(13)=iselx3 : iselkx2(13)=iselx7 ; 昇順
repeat 3,11 ; 上のy座標
iselky1(cnt)=0 : iselky2(cnt)=isely2
loop
iselkx1(17)=iselx7 : iselkx2(17)=iselx8 ; 筋力
iselkx1(18)=iselx8 : iselkx2(18)=iselx9 ; 魔力
iselkx1(19)=iselx9 : iselkx2(19)=iselx10 ; 知力
iselkx1(20)=iselx10 : iselkx2(20)=iselx11 ; 魅力
iselkx1(21)=iselx11 : iselkx2(21)=wx ; 特殊
repeat 10,17 ; 上のy座標
iselky1(cnt)=0 : iselky2(cnt)=isely2
loop
iselkx1(14)=iselx4 : iselkx2(14)=iselx5 ; ←
iselkx1(15)=iselx5 : iselkx2(15)=iselx6 ; 戻る
iselkx1(16)=iselx6 : iselkx2(16)=wx ; →
repeat 3,14 ; 下のy座標
iselky1(cnt)=isely3 : iselky2(cnt)=wy
loop
iselkx1(22)=iselx12 : iselkx2(22)=iselx13 ; HP
iselkx1(23)=iselx13 : iselkx2(23)=iselx14 ; 配備
iselkx1(24)=iselx14 : iselkx2(24)=iselx15 ; コスト
iselkx1(25)=iselx15 : iselkx2(25)=iselx16 ; 属性
iselkx1(26)=iselx16 : iselkx2(26)=wx ; 消去
repeat 6,41 ; 火、水、風、地、光、闇
iselkx1(cnt)=iselx17+(cnt-41)*iselxk2
iselkx2(cnt)=iselx17+(cnt-40)*iselxk2
iselky1(cnt)=0
iselky2(cnt)=isely2
loop
/*
repeat
redraw 0
color 1,1,1 : boxf : color 255,255,255
iself=2
ky=isel_key()
repeat 7,1
n=255-10*cnt : color n,n,n
boxf iselkx1(cnt),iselky1(cnt),iselkx2(cnt),iselky2(cnt)
loop
repeat 6,11
n=255-10*(cnt) : color n,n,n
boxf iselkx1(cnt),iselky1(cnt),iselkx2(cnt),iselky2(cnt)
loop
repeat 5,17
n=255-10*(cnt-17) : color n,n,n
boxf iselkx1(cnt),iselky1(cnt),iselkx2(cnt),iselky2(cnt)
loop
repeat 5,22
n=255-10*(cnt-22) : color n,n,n
boxf iselkx1(cnt),iselky1(cnt),iselkx2(cnt),iselky2(cnt)
loop
repeat 7,31
n=255-10*(cnt-31+16) : color n,n,n
boxf iselkx1(cnt),iselky1(cnt),iselkx2(cnt),iselky2(cnt)
loop
repeat 6,41
n=255-10*(cnt-41) : color n,n,n
boxf iselkx1(cnt),iselky1(cnt),iselkx2(cnt),iselky2(cnt)
loop
color 255,0,0 : pos 10,100 : mes ky
redraw 1
await 1000/10
loop
stop
*/
/*
iselx1=10 : iselxk=60
isely1=11 : isely2=51 : iselyk=38
iselx2=305
iselx3=iselx2+iselxk
iselx4=iselx3+iselxk
iselx5=iselx4+iselxk
iselx6=iselx5+iselxk
dim iselkx1,20 ; タップ座標
dim iselkx2,20
dim iselky1,20
dim iselky2,20
repeat 9,1
iselkx1(cnt)=0 : iselkx2(cnt)=wx
iselky1(cnt)=isely2+iselyk*(cnt-1)-6
iselky2(cnt)=isely2+iselyk*(cnt)-6
iselky1(cnt+10)=0
iselky2(cnt+10)=isely2-6
loop
iselky1(9)=iselky1(8) : iselky2(8)=wy : selky2(9)=wy
k=4
iselkx1(8)=0 : iselkx2(8)=wx/2
iselkx1(9)=wx/2 : iselkx2(9)=wx
iselkx1(11)=0 : iselkx2(11)=iselx2-k
iselkx1(12)=iselx2-k : iselkx2(12)=iselx3-k
iselkx1(13)=iselx3-k : iselkx2(13)=iselx4-k
iselkx1(14)=iselx4-k : iselkx2(14)=iselx5-k
iselkx1(15)=iselx5-k : iselkx2(15)=iselx6-k
iselkx1(16)=iselx6-k : iselkx2(16)=wx
*/
; 属領選択画面
dim mselkx1,20
dim mselkx2,20
dim mselky1,20
dim mselky2,20
mselkx1(11)=9 : mselkx2(11)=72 : k=115
mselkx1(12)=mselkx2(11) : mselkx2(12)=mselkx1(12)+k
mselkx1(13)=mselkx2(12) : mselkx2(13)=mselkx1(13)+k
mselkx1(14)=mselkx2(13) : mselkx2(14)=mselkx1(14)+k
mselkx1(15)=mselkx2(14) : mselkx2(15)=mselkx1(15)+k
mselkx1(16)=mselkx2(15) : mselkx2(16)=wx
mselkx1(17)=0 : mselkx2(17)=wx
repeat 6,11
mselky1(cnt)=0 : mselky2(cnt)=44
loop
mselky1(17)=44+38*7 : mselky2(17)=wy
repeat 7,1
mselkx1(cnt)=0 : mselkx2(cnt)=wx
mselky1(cnt)=47+37*(cnt-1)
mselky2(cnt)=47+37*(cnt)
loop
/*
repeat
ky=msel_key()
redraw 0
repeat 16,1
n=255-10*cnt : color n,n,n
boxf mselkx1(cnt),mselky1(cnt),mselkx2(cnt),mselky2(cnt)
loop
color 0,255,0
pos 100,100 : mes ky
redraw 1
await 10
loop
pkey
*/
; インフォメーションウインドウ-------------------
iwdx1=200 : iwdx2=630
iwdy1=10 : iwdy2=170 : iwdy3=190 : iwdy4=350
iwdxk=430 : iwdyk=160
equx1=20 : equy1=20
equx2=126 : equy2=10
equx3=280
; ユーザーカラー
cccx=280 : y=60 : cccxk=256 : cccyk=60 : cccyk2=85
dim cccy,4
repeat 3,1 : cccy(cnt)=y : y+=cccyk2 : loop
ccto=60 : cctk=20
cctx1=cccx-ccto-cctk : cctx2=cccx+cccxk+cctk
; SAVE画面
svx1=28+16+8
svx2=28+16+8+34*16
dim svy1,4
dim svy2,4
repeat 3
svy1(cnt+1)=24+8+cnt*64
svy2(cnt+1)=svy1(cnt+1)+64
loop
svy1(4)=264
svy2(4)=264+64
; 装備画面---------------------------------------
equx4=10 : equxk=90
equy4=190 : equx5=514
equy5=equy4+coy+9
dim equkx1,20 ; タップ座標
dim equkx2,20
dim equky1,20
dim equky2,20
repeat 7 : n1=cnt : n2=cnt+10 : n3=cnt+20
equkx1(n1)=equx4+equxk*(n1) : equkx1(n2)=equkx1(n1) : equkx1(n3)=equkx1(n1)
equkx2(n1)=equkx1(n1)+80 : equkx2(n2)=equkx2(n1) : equkx2(n3)=equkx2(n1)
equky1(n1)=equy4 : equky1(n2)=equy4+80 : equky1(n3)=equy5
equky2(n1)=equky1(n1)+80 : equky2(n2)=equky1(n1)+130 : equky2(n3)=equky1(n3)+18
loop
equs="右手","左手","防具","アイテム or アクセサリー","HAND"
; 戦闘画面
btlx1=18 : btlxk=96
btlx2=wx-btlx1-btlxk*3+(btlxk-80)
btlck=btlx2-btlx1-btlxk*3;+(btlxk-80) ; センターの間隔
btly1=140
dim btlcx,4 ; カードx座標
repeat 3,1
bcx1(cnt)=btlx1+btlxk*(3-cnt)
bcx2(cnt)=btlx2+btlxk*(cnt-1)
loop
hpbpy=btly1+141 ; HPバーの座標y
hpbpxk=cox-4 ; HPバーの長さ
hpbpyk=10 ; HPバーの幅
; ダメージ表示
dmpb=20
dim dmp,6*dmpb ; ダメージ表示(0=フラグ、1=n、2=x、3=y、4=color、5=カウンター)
; エフェクト表示
efb=20 ; 最大数
efd=12 ; データ数
dim ef,efd*efb ; データ
;(0=種類、1=グラNo.2=表示場所、3=アニメc、4=速さc、5=速さ、
; 6=x、7=y、8=x動き、9=y動き、10=透明 or 加算、11=移動時間)
ddim eff,4*efb ; 実数データ
; (0=反転x、1=反転y、2=回転、3=回転速度)
; エンディング文字表示
oemjb=20
dim oemjf,oemjb ; フラグ、グラNo.(0=op、1=ed、2=cr)
dim oemjn,oemjb ; 文字No.
dim oemjc,oemjb ; カラーNo.
dim oemjx,oemjb ; x座標
dim oemjy,oemjb ; y座標
dim oemjm,oemjb ; 移動方向
dim oemjd,oemjb ; 移動量
/*
edmjb=10
dim edmjf,edmjb
dim edmjy,edmjb
dim edmjz,edmjb
edcrb=12
dim edcrf,edcrb ; グラNo.
dim edcrn,edcrb ; 文字No.
dim edcrx,edcrb ; x座標
dim edcrc,edcrb ; カラーNo.
dim edcry,edcrb
dim edcrz,edcrb
*/
; カードショー表示
cdswb=20
dim cdswf,cdswb ; フラグ
dim cdswx,cdswb ; x座標
dim cdswy,cdswb ; y座標
dim cdswz,cdswb ; 回転
return
#deffunc card_put int cpn1,int cpn2,int cpn3,int cpn4,int cpn6 ; カード表示
; cpn6=反転表示(0=通常、1=反転)
cpx=cpn1+cox/2
cpy=cpn2 : cpun=cpn3 ; un=ユニットNo
if cpn6=0 : cpn6f=1.0 : else : cpn6f=-1.0
cpug=cpun*udb
cpcn=ud(cpug)
if cpn4=0 : cpn5=255 : else : cpn5=cpn4
gmode 3,,,cpn5 : gmulcolor 255,255,255
pos cpx,cpy : celput cw,cpcn-1,cpn6f
/*
color 0,255,0
pos cpx+2,cpy+2 : mes cs2(cn)
repeat 6,1
pos cpx+4,cpy+cnt*20 : mes ud(un*udb+cnt+20)
loop
*/
return
#deffunc map_put
repeat 25,1 ; HEX
x=hxyd(0,cnt) : y=hxyd(1,cnt)
gmode 2
gmulcolor 255,255,255
; HEX描画
pos x,y
if map(cnt)=1 : celput m1w ; 地形、火
if map(cnt)=2 : celput m2w ; 地形、水
if map(cnt)=3 : celput m3w ; 地形、風
if map(cnt)=4 : celput m4w ; 地形、地
if map(cnt)=5 : celput m5w ; 地形、光
if map(cnt)=6 : celput m6w ; 地形、闇
if map(cnt)>0 { ; 建物
mdg=cnt*mdb
if md(mdg+7)>0 { ; 建築物
if md(mdg+7)=1 : n=40 : else : n=md(mdg+7)-2
pos x+40-4,y+14-3 : celput atw,n,1.2,1.2
}
n=(md(mdg+1)+100000)/200000 : if n>4 : n=4
pos x+40-4,y+43-4 : celput atw,10+n,1.2,1.2 ; 街
n=(md(mdg+2)+10000)/20000 : if n>4 : n=4
pos x+66-4,y+33-4 : celput atw,20+n,1.2,1.2 ; 魔法学院
n=(md(mdg+3)+10000)/20000 : if n>4 : n=4
pos x+14-4,y+33-4 : celput atw,30+n,1.2,1.2 ; マナ
;pos x+40,y+14 : /*n=rnd(10)*/ : celput atw,0;nnnn\10 :nnnn+ ; 建物
;pos x+40,y+43 : n=rnd(5) : celput atw,10;+n ; 街
;pos x+66,y+33 : n=rnd(5) : celput atw,20;+n ; 魔法学院
;pos x+14,y+33 : n=rnd(5) : celput atw,30;+n ; マナ
; 治安バー
x2=x+26 : y2=y+70 : yk=4
color 0,72,200 ; 外枠
boxf x2,y2,x2+52,y2+yk+1
color 32,64,96 ; 背景
boxf x2+1,y2+1,x2+1+50,y2+yk
color 0+48,192,255 ; 中
n=md(mdg+4)/2000
boxf x2+1,y2+1,x2+1+n,y2+yk
}
if mpl(cnt)>0 { ; 0=誰も支配してない
n=mpl(cnt)
gmulcolor cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 色指定
pos x,y : celput hsw ; ふち描画
gmode 5,,,160 ; 加算合成
pos x,y : celput hiw ; ふちグラデ描画
}
if debugf=1 and map(cnt)>0 {
;if map(cnt)>0 {
;s="mp" : bfp s,x+25,y+3 :
gmulcolor 255,255,255
fp wp(cnt),x+20,y+3,0
;fp hdn(cnt),x+20,y+23
fp wpb(cnt),x+20,y+23
fp pmp(mpl(cnt)),x+15,y+48,0
;fp hdk_dgn(mpl(cnt)),x+50,y+48,1
;fp md(cnt*mdb+7),x+15,y+48,0
;pos x+45,y+48 : mes md(cnt*mdb+9)
;fp md(cnt*mdb+9),x+45,y+48,0
fp cnt,x+25,y+68,0
fp matp_dgn(mpl(cnt)),x+50,y+68,3
fp matp_dgn2(mpl(cnt)),x,y+35,3
;}
}
;color 255,255,255 : pos x+25,y+48 : mes cnt;n ;map(cnt) ; マス番号表示
;if map(cnt)>0 : pos x+25,y+3 : mes "wp "+wp(cnt);n ;map(cnt) ; 戦力値表示
continue
if debugf=0 : continue
color 255,255,255
pos x+25,y+25 : mes "hd "+hdn(cnt);n ;map(cnt) ; 脅威値表示
loop
if pn>0 { ; 操作plの首都選択外枠表示
n=mpc(pn) ; 首都国
x=hxyd(0,n)-8 : y=hxyd(1,n)-8 ; 座標
gmode 5,,,224 : gmulcolor 255,255,255
pos x,y : celput hcw
}
if pmpnc>0 { ; マナポイントが足りない表示
pmpnc-
evw 0,108,132,27,6 ; イベントウインドウ表示
evw 1,108,132,27,6 ; イベントウインドウ表示
; color 240,240,240 : boxf 320-100,180-50,320+100,180+50
; color 1,1,1 : boxf 320-98,180-48,320+98,180+48
; color 240,240,240
s="MANA PONT" : pfp28 s,144,165
pos 144+163,165 : celput mj28_lngw,9; mes "マナポイントが足りません"
; pos 320-70,180-30 : mes "マナポイントが"
; pos 320-70,180+10 : mes "足りません"
}
; HEX外周空き欄 --------------------
;color 255,255,255 : pos 5,5 : mes plb
gmode 2 : gmulcolor 255,255,255
; 外周コマンド
pos cxyd(0,4)+6,cxyd(1,4)+10 : celput cicow,5 ; マップ
pos cxyd(0,6)+12,cxyd(1,6)+3 : celput cicow,0 ; 政府
pos cxyd(0,7)+12,cxyd(1,7)+3 : celput cicow,1 ; ユニット一覧
pos cxyd(0,8)+12,cxyd(1,8)+3 : celput cicow,2 ; アイテム一覧
pos cxyd(0,9 )+12,cxyd(1,9 )-11
if mt_muf=0 : gmulcolor 255,255,255 : celput cicow,10 ; Music
if mt_muf=1 : gmulcolor 160,160,160 : celput cicow,10
pos cxyd(0,10)+12,cxyd(1,10)-11
if btlputf=0 : gmulcolor 255,255,255 : celput cicow,25 ; バトルアニメ
if btlputf=1 : gmulcolor 160,160,160 : celput cicow,25
;if mt_sef=0 : gmulcolor 255,255,255 : celput cicow,12 ; SE
;if mt_sef=1 : gmulcolor 160,160,160 : celput cicow,13
gmulcolor 255,255,255
pos cxyd(0,11)+12,cxyd(1,11)-11 : celput cicow,14 ; OPSION
pos cxyd(0,13)+0,cxyd(1,13)+10 : celput cicow,6 ; SAVE
pos cxyd(0,14)+0,cxyd(1,14)+10 : celput cicow,7 ; LOAD
pos cxyd(0,15)+0,cxyd(1,15)+10 : celput cicow,8 ; ダーンエンド
pos cxyd(0,3)+6,cxyd(1,3)+10 : celput cicow,3 ; プレイヤー
;pos cxyd(0,4)+10,cxyd(1,4)+3 : celput cicow,4 ; CPU
/*
; 枠
repeat 5
pos -44,-45+90*cnt : celput how
pos 581,-45+90*cnt : celput how
loop
repeat 3
pos 112+156*cnt,-45 : celput how
pos 112+156*cnt,315 : celput how
loop
*/
; ターン表示
s=str(trn) : n=strlen(s) ; ケタ
x=cxyd(0,2)+21-n*8 : y=cxyd(1,2)
;x=cxyd(0,2)+51-n*16 : y=cxyd(1,2)
fp2 trn,x,y,0
s="turn" : bfp s,cxyd(0,2)+2,cxyd(1,2)+27,0
/*
color 192,192,255
pos 10,10 : mes ""+trn+" ターン"
pos 100,10 : mes "kn1 "+kn1+" "+"kn2 "+kn2
*/
color 255,255,255
;s="Turn" : bfp s,cxyd(0,15),cxyd(1,15)+20,0
;s=" End" : bfp s,cxyd(0,15),cxyd(1,15)+40,0
if debugf=1 {
s="dbgf" : bfp s,cxyd(0,16),cxyd(1,16)+10,0
}
/*
pos 10,300 : mes "pn "+pn
pos 10,320 : mes "sf "+str_plbn
pos 10,340 : mes "hf "+hextf
*/
/*
color 244,244,244
pos 10,110 : mes "kc "+kc
pos 10,130 : mes "hink "+hink
pos 10,150 : mes "mainf "+mainf
pos 10,180 : mes "kn "+kn
pos 10,210 : mes "ckn "+ckn
pos 10,240 : mes "kc2 "+kc2
*/
return
#deffunc map_put2
repeat 25,1 ; HEX
x=hxyd(0,cnt) : y=hxyd(1,cnt)
gmode 2
gmulcolor 255,255,255
; HEX描画
pos x,y
if map(cnt)=1 : celput m1w ; 地形、火
if map(cnt)=2 : celput m2w ; 地形、水
if map(cnt)=3 : celput m3w ; 地形、風
if map(cnt)=4 : celput m4w ; 地形、地
if map(cnt)=5 : celput m5w ; 地形、光
if map(cnt)=6 : celput m6w ; 地形、闇
if map(cnt)>0 { ; 建物
mdg=cnt*mdb
if md(mdg+7)>0 { ; 建築物
if md(mdg+7)=1 : n=40 : else : n=md(mdg+7)-2
pos x+40-4,y+14-3 : celput atw,n,1.2,1.2
}
n=(md(mdg+1)+100000)/200000 : if n>4 : n=4
pos x+40-4,y+43-4 : celput atw,10+n,1.2,1.2 ; 街
n=(md(mdg+2)+10000)/20000 : if n>4 : n=4
pos x+66-4,y+33-4 : celput atw,20+n,1.2,1.2 ; 魔法学院
n=(md(mdg+3)+10000)/20000 : if n>4 : n=4
pos x+14-4,y+33-4 : celput atw,30+n,1.2,1.2 ; マナ
; 治安バー
x2=x+26 : y2=y+70 : yk=4
color 0,72,200 ; 外枠
boxf x2,y2,x2+52,y2+yk+1
color 32,64,96 ; 背景
boxf x2+1,y2+1,x2+1+50,y2+yk
color 0+48,192,255 ; 中
n=md(mdg+4)/2000
boxf x2+1,y2+1,x2+1+n,y2+yk
}
if mpl(cnt)>0 { ; 0=誰も支配してない
color 255,255,255 : pos x+25,y+10 : mes mpl(cnt)
n=mpl(cnt)
color 255,255,255 : pos x+25,y+30 : mes pcln(n)
gmulcolor cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 色指定
pos x,y : celput hsw ; ふち描画
gmode 5,,,160 ; 加算合成
pos x,y : celput hiw ; ふちグラデ描画
}
loop
repeat 25,1 ; 枠
if hf(mpl(cnt))=1 {
x=hxyd(0,cnt)-8 : y=hxyd(1,cnt)-8 ; 座標
gmode 5,,,224 : gmulcolor 255,255,255
pos x,y : celput hcw
}
loop
return
#deffunc map_put3
repeat 25,1 ; HEX
x=hxyd(0,cnt) : y=hxyd(1,cnt)
gmode 2
gmulcolor 255,255,255
; pos x,y : celput hexw,0
pos x,y : celput m3w ; 地形、風
gmulcolor cld((cnt-1)*3+1),cld((cnt-1)*3+2),cld((cnt-1)*3+3) ; 色指定
pos x,y : celput hsw ; ふち描画
gmode 5,,,160 ; 加算合成
pos x,y : celput hiw ; ふちグラデ描画
loop
return
#deffunc map_put4
repeat 25,1 ; HEX
x=hxyd(0,cnt) : y=hxyd(1,cnt)
gmode 2
gmulcolor 255,255,255
; pos x,y : celput hexw,0
pos x,y : celput m3w ; 地形、風
gmulcolor cld((cnt-1)*3+1),cld((cnt-1)*3+2),cld((cnt-1)*3+3) ; 色指定
pos x,y : celput hsw ; ふち描画
gmode 5,,,160 ; 加算合成
pos x,y : celput hiw ; ふちグラデ描画
loop
return
#deffunc dis_put
pn=0
redraw 0
color 0,0,0 : boxf : color 255,255,255
map_put ; マップ表示
repeat 25,1
if map(cnt)=0 : continue
if dism(cnt)=0 : continue
x=hxyd(0,cnt)+10 : y=hxyd(1,cnt)+24
pos x,y
if dism(cnt)=1 : celput disw,0,0.8,0.8 ; mes "地震"
if dism(cnt)=2 : celput disw,1,0.8,0.8 ; mes "火災"
if dism(cnt)=3 : celput disw,2,0.8,0.8 ; mes "嵐"
if dism(cnt)=4 : celput disw,3,0.8,0.8 ; mes "暴動"
loop
dg_put ; デバッグ表示
redraw 1
return
; HEX情報表示 --------------------
#deffunc inf_put
;font "",20
;color 255,255,255 : boxf infx1,infy1,infx2,infy2 ; 枠
color 1,1,1 : boxf ;infx1+2,infy1+2,infx2-2,infy2-2
n=map(m) : pos 0,0
if n=1 : celput hai1w,0,2.0,2.0 ; 火
if n=2 : celput hai2w,0,2.0,2.0 ; 水
if n=3 : celput hai3w ; 風
if n=4 : celput hai4w ; 地
if n=5 : celput hai5w,0,2.0,2.0 ; 光
if n=6 : celput hai6w,0,2.0,2.0 ; 闇
n=mpl(m)
if n=0 { ; 中立
;color 240,240,240 : pos infx1+5,infy1 : mes ""+m+" 国"
fp2 m,infx1+27,infy1,5
}
if n>0{ ; ヒーロー
color 255,255,255 : boxf infx1+2,infy1+2,infx1+26,infy1+26
color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
boxf infx1+4,infy1+4,infx1+24,infy1+24
fp2 m,infx1+27,infy1,5
;pos infx1,infy1 : mes ""+m+" 国"
mdg=m*mdb
if md(mdg+7)>0 { ; 建築物
if md(mdg+7)=1 : n=40 : else : n=md(mdg+7)-2
pos infx1+73,infy1-2 : celput atw,n,1.2,1.2
}
;if mpc(n)=m : pos infx1+80,infy1 : mes "首都";""+n+" 勢力 首都"
;boxf infx1+100,infy1+20,infx1+130,infy1+50
}
x=infx1+5 : y=infy1+35 : k=23
s="popu" : bfp s,x,y,5 ;population
n=md(m*mdb+1)/100 : fp n,x+50,y,5 : y+=k
s="magi" : bfp s,x,y,5 ;Magic
n=md(m*mdb+2)/100 : fp n,x+50,y,5 : y+=k
s="mana" : bfp s,x,y,5 ;Mana
n=md(m*mdb+3)/100 : fp n,x+50,y,5 : y+=k
s="safe" : bfp s,x,y,5 ;safe
n=md(m*mdb+4)/1000 : fp n,x+50,y,5
s="%" : bfp s,x+80,y,5
s="cost" : bfp s,x,infy1+131,4 ; force cost
n=wp_cost(m) : fp n,x+50,infy1+131,4
s="mana" : bfp s,x,infy1+154,2 ; mana point
n=pmp(mpl(hink)) : fp n,x+50,infy1+154,2
/*
k=6
color 244,244,244
pos infx1+10,infy1+20+k : mes "人口 "+md(m*mdb+1)/100
pos infx1+10,infy1+40+k : mes "魔術 "+md(m*mdb+2)/100
pos infx1+10,infy1+60+k : mes "マナ "+md(m*mdb+3)/100
pos infx1+10,infy1+80+K : mes "治安 "+(md(m*mdb+4)/1000)+" %"
if mpl(m)>0 {
pos infx1+10,infy1+100+k : mes ""+pubg(mpl(m))+" / "+pubn(mpl(m));"攻撃 "+md(m*mdb+5)
pos infx1+10,infy1+120+K : mes ""+pibg(mpl(m))+" / "+pibn(mpl(m));"防御 "+md(m*mdb+6)
}
color 0,255,255
pos infx1,infy1+154 : mes "マナP "+pmp(mpl(hink))
color 255,0,0
pos infx1+105,infy1+154 : mes "コスト "+wp_cost(m)
*/
; Government ordinance
if mpl(m)=pn { ; プレイヤーのみ
c=0
if mpc(pn)=m : n=128 : else : n=255 : if md(m*mdb+7)>0 : c=1
gmode 3,,,n
pos ordx1(1),ordy1(1) : celput ordw,c ; Build、Disma
gmode 2
pos ordx1(2),ordy1(2) : celput ordw,2 ; Talent
pos ordx1(3),ordy1(3) : celput ordw,3 ; Order
}
/*
if hf(mpl(m))!pn {
pos ordx1(1),ordy1(1)+0 : mes ""+pubg(mpl(m))+"/"+pubn(mpl(m))
pos ordx1(1),ordy1(1)+20 : mes "pubsn "+pubsn(mpl(m))
pos ordx1(1),ordy1(1)+50 : mes ""+pibg(mpl(m))+"/"+pibn(mpl(m))
pos ordx1(1),ordy1(1)+70 : mes "pibsn "+pibsn(mpl(m))
}
*/
gmode 2 : gmulcolor 255,255,255
;pos 50,190 : celput 4
;pos 340,40 : celput 4
;pos 340,190 : celput 4
mun=mu(m*mdb)
if mun!0 { ; 領主がいる
pos infx3,infy3 : ;celput krwkw
card_put infx3,infy3,mun
pos infkx1(20),infky1(20) : celput rmw ; rmove
}
if mun=0 { ; 領主がいない
pos infx3,infy3 : celput cslwkw ; 領主
pos infkx1(20),infky1(20) : celput rmw ; rmove
}
pos infx3-27,infy3 : celput fow,0 ; load
/*
s="l" : bfp s,infx3-22,infy3+11
s="o" : bfp s,infx3-22,infy3+40
s="r" : bfp s,infx3-22,infy3+69
s="d" : bfp s,infx3-22,infy3+98
*/
; 部隊表示 ----------
repeat 3 : cnt2=cnt
repeat 3
mun=mu(m*mdb+cnt2*3+cnt+1)
gmode 2
pos infx(cnt2)+cnt*89,infy(cnt2)
if mun!0 : celput krwkw
if mun=0 : celput cslwkw : continue
x=infx(cnt2)+cnt*89 : y=infy(cnt2)
if ud(mun*udb+26)>0 : n=255 : else : n=128
if ud(mun*udb+28)=1 : n=192 ; 終了フラグ
card_put x,y,mun,n
;if ud(mun*udb+26)>0 { ; HPバー
hpn=ud(mun*udb+26) ; HP
if hpn>0 : nn=255 : else : nn=128 ; 表示透明度
; card_put bcx1(n),btly1,fn1(n),nn,0 ; カード表示
hpbpn=int(double(hpbpxk)/double(ud(mun*udb+25))*double(hpn)) ; HPバーの長さ
color 208,0,0 ; ダメージ
/*
boxf x+2,y-17,x+2+hpbpxk,y-17+hpbpyk
color 112,112,255 ; HP
boxf x+2,y-17,x+2+hpbpn,y-17+hpbpyk
pos x,y-19 : celput hww ; hpバーの枠
*/
boxf x+2,y+coy+5,x+2+hpbpxk,y+coy+5+hpbpyk
color 112,112,255 ; HP
boxf x+2,y+coy+5,x+2+hpbpn,y+coy+5+hpbpyk
pos x,y+coy+3 : celput hww ; hpバーの枠
;}
if ud(mun*udb+28)=0 : pos x,y+coy+21 : celput rmw ; rmove
/*
if debugf=1 {
color 255,255,255
pos bcx1(n),btly1+160 : mes ud(fn1(n)*udb+26) ; HP
pos bcx1(n)+60,btly1+160 : mes fn1(n) ; unNo.
}
*/
if debugf=1 { ; unNo,表示
color 255,255,255
pos infx(cnt2)+cnt*89+19,infy(cnt2)-20
mes "unNo."+mun
;mes "コスト "+ud(mun*udb+27)
}
loop
/*
s="f" : bfp s,infx(cnt2)-22,infy(cnt2)+7;,5
s="o" : bfp s,infx(cnt2)-22,infy(cnt2)+27;,5
s="r" : bfp s,infx(cnt2)-22,infy(cnt2)+47;,5
s="c" : bfp s,infx(cnt2)-22,infy(cnt2)+67;,5
s="e" : bfp s,infx(cnt2)-22,infy(cnt2)+87;,5
f=cnt2+1 : fp f,infx(cnt2)-22,infy(cnt2)+109;,5
*/
loop
gmode 2
repeat 3 ; 部隊出撃表示
pos inffox(cnt),infy(cnt)
n=(m-1)*3+cnt+1 : if fsorf(n)=0 : n=1 : else : n=4
celput fow,cnt+n
loop
if infof=1 {
iwdf=0
if ky2=0 or ky2=10 : iwdf=1
if 4<=ky2 and ky2<=6 : iwdf=1
if 14<=ky2 and ky2<=16 : iwdf=1
if 1<=ky2 and ky2<=3 : iwdf=2
if 7<=ky2 and ky2<=9 : iwdf=2
if 11<=ky2 and ky2<=13 : iwdf=2
if 17<=ky2 and ky2<=19 : iwdf=2
if iwdf=1 : iwdy=iwdy3+10
if iwdf=2 : iwdy=iwdy1+10
iwdx=64
evw 0,iwdx,iwdy,33,10 ; イベントウインドウ表示
evw 1,iwdx,iwdy,33,10 ; イベントウインドウ表示
/*
if iwdf=1 : iwdx=iwdx1 : iwdy=iwdy3
if iwdf=2 : iwdx=iwdx1 : iwdy=iwdy1
color 255,255,255
boxf iwdx,iwdy,iwdx+iwdxk,iwdy+iwdyk
color 8,8,8
boxf iwdx+2,iwdy+2,iwdx+iwdxk-2,iwdy+iwdyk-2
*/
gmode 5,,,128
pos infkx1(ky2\10)-4,infky1(ky2\10)-4 : celput swakuw,0 ; 選択カーソル
un=mu(m*10+ky2\10) : ug=un*udb : cn=ud(ug)
gmode 2 : gmulcolor 255,255,255;: color 255,255,255
pos iwdx+10,iwdy+8 : celput cd_ftw,cn ; mes ""+cs2(cn)+" Lv"+cd(15,cn)+" us"+cn+" un "+un
;pos iwdx+100,iwdy+5 : mes "un "+un+" "+ud(ug+27)
pos iwdx+15,iwdy+38 : celput mojiw,0 ; HP
n=ud(ug+26) : nx=fpk(n) : fp n,iwdx+39+nx,iwdy+39,0
pos iwdx+91,iwdy+39 : celput bfpw,207 ; /
n=ud(ug+25) : fp n,iwdx+106,iwdy+39,0
pos iwdx+15,iwdy+62 : celput mojiw,1 : s="STR" : bfp s,iwdx+60,iwdy+65,0
n=ud(ug+21) : nx=fpk(n) : fp n,iwdx+92+nx,iwdy+65,0
pos iwdx+15,iwdy+84 : celput mojiw,2 : s="MAG" : bfp s,iwdx+60,iwdy+87,0
n=ud(ug+22) : nx=fpk(n) : fp n,iwdx+92+nx,iwdy+87,0
pos iwdx+15,iwdy+106 : celput mojiw,3 : s="INT" : bfp s,iwdx+60,iwdy+109,0
n=ud(ug+23) : nx=fpk(n) : fp n,iwdx+92+nx,iwdy+109,0
pos iwdx+15,iwdy+128 : celput mojiw,4 : s="CHA" : bfp s,iwdx+60,iwdy+131,0
n=ud(ug+24) : nx=fpk(n) : fp n,iwdx+92+nx,iwdy+131,0
pos iwdx+162,iwdy+36 : celput mojiw,5 : s="ATK" : bfp s,iwdx+207,iwdy+39,0
n=ud(ug+11)+ud(ug+20) : nx=fpk(n) : fp n,iwdx+240+nx,iwdy+39,0
pos iwdx+162,iwdy+62 : celput mojiw,6 : s="DEF" : bfp s,iwdx+207,iwdy+64,0
n=ud(ug+12) : nx=fpk(n) : fp n,iwdx+240+nx,iwdy+64,0
pos iwdx+162,iwdy+95 : celput mojiw,7 : s="ability" : bfp s,iwdx+207,iwdy+98,0
pos iwdx+160,iwdy+122 : celput abft20w,ud(ug+8);mes utks(ud(ug+8))
f=0 : cntn=0
repeat sbkn+2 ; アイテム装備表示
pos iwdx+309,iwdy+10+cntn*20
switch f
case 0 ; 右手
if ud(ug+16)=0 : f=3 : swbreak ; 無し
if ud(ug+16)>2 : f=2 : swbreak ; 複数手
if ud(ug+40)=0 : cntn+ : f=1 : swbreak ; 装備してない
if ud(ug+40)=-2 : cntn+ : f=1 : swbreak ; 左両手装備
celput it_ftw,id(ud(ug+40+cntn)*idb),0.7,0.7 : cntn+ : f=1 ; 表示
;mes is2(id(ud(ug+40)*idb)) : cntn+ : f=1 ; 表示
swbreak
case 1 ; 左手
if ud(ug+41)=0 : cntn+ : f=3 : swbreak ; 装備してない
if ud(ug+41)=-1 : cntn+ : f=3 : swbreak ; 右両手装備
celput it_ftw,id(ud(ug+40+cntn)*idb),0.7,0.7 : cntn+ : f=3 ; 表示
;mes is2(id(ud(ug+41)*idb)) : cntn+ : f=3 ; 表示
swbreak
case 2 ; 複数手
if ud(ug+16)<=cntn : f=3 : swbreak ; 終わり
if ud(ug+40+cntn)=0 : cntn+ : swbreak ; 装備してない
if ud(ug+40+cntn)=-1 : cntn+ : swbreak ; 右両手装備
if ud(ug+40+cntn)=-2 : cntn+ : swbreak ; 左両手装備
celput it_ftw,id(ud(ug+40+cntn)*idb),0.7,0.7 : cntn+ ; 表示
;mes is2(id(ud(ug+40+cntn)*idb)) : cntn+ ; 表示
swbreak
case 3 ; 防具
if ud(ug+17)=0 : f=4 : swbreak ; 無し
if ud(ug+40+cntn)=0 : cntn+ : f=4 : swbreak ; 装備してない
celput it_ftw,id(ud(ug+40+cntn)*idb),0.7,0.7 : cntn+ : f=5 ; 表示
;mes is2(id(ud(ug+40+cntn)*idb)) : cntn+ : f=4 ; 表示
swbreak
case 4 ; 特殊アイテム
if ud(ug+18)=0 : f=5 : swbreak ; 無し
if ud(ug+40+cntn)=0 : cntn+ : f=5 : swbreak ; 装備してない
celput it_ftw,id(ud(ug+40+cntn)*idb),0.7,0.7 : cntn+ : f=5 ; 表示
;mes is2(id(ud(ug+40+cntn)*idb)) : cntn+ : f=5 ; 表示
swbreak
case 5 ; アイテム
;if ud(ug+19)=0 : /*f=6*/ : swbreak ; 無し
if cntn>=sbkn/*ud(ug+16)+ud(ug+17)+ud(ug+18)+ud(ug+19)*/ : f=6 : swbreak ; 終わり
if ud(ug+40+cntn)=0 : cntn+ : swbreak ; 装備してない
celput it_ftw,id(ud(ug+40+cntn)*idb),0.7,0.7 : cntn+ ; 表示
;mes is2(id(ud(ug+40+cntn)*idb)) : cntn+ ; 表示
swbreak
swend
if f=6 : break
loop
}
return
#deffunc clr_put
infx1=200 : infx2=440
infy1=150 : infy2=210
color 255,255,255 : boxf infx1,infy1,infx2,infy2
color 1,1,1 : boxf infx1+2,infy1+2,infx2-2,infy2-2
color 255,255,255
pos 270,170 : mes "GAME CLEAR"
return
#deffunc sel_put
/*
repeat 16,1
n=235-10*cnt : color n,n,n
boxf selkx1(cnt),selky1(cnt),selkx2(cnt),selky2(cnt)
loop
repeat 5,17;22
n=235-10*(cnt-8) : color n,n,n
boxf selkx1(cnt),selky1(cnt),selkx2(cnt),selky2(cnt)
loop
*/
/*
repeat 7,31
n=235-10*(cnt-31+16) : color n,n,n
boxf selkx1(cnt),selky1(cnt),selkx2(cnt),selky2(cnt)
loop
*/
gmulcolor 255,255,255
color 255,255,255 : font "",26
pos selkx1(11)+43,selky1(11)+11 : celput mj26_4w,0;mes "N A M E"
pos selkx1(12)+16,selky1(12)+7 : celput slw,0 ; 降順
pos selkx1(13)+16,selky1(13)+7 : celput slw,1 ; 昇順
switch self
case 0
pos selkx1(22)+12,selky1(22)+11 : celput mj26_4w,5;mes "H.P"
pos selkx1(23)+8,selky1(23)+9 : celput mj26_4w,10;mes "配備"
pos selkx1(24)+7,selky1(24)+11 : celput mj26_4w,11;mes "COST"
pos selkx1(25)+8,selky1(25)+9 : celput mj26_4w,12;mes "属性"
pos selkx1(26)+7,selky1(26)+11 : celput mj26_4w,13;mes "DEL"
n=sel_yg
repeat 7,31
un=sel(n) : n+ : if un=0 : break
pos selkx1(cnt)+12,selky1(cnt)+2 : celput slw,5 ; DEL
loop
swbreak
case 1
pos selkx1(17)+7,selky1(17)+11 : celput mj26_4w,1;mes "STR"
pos selkx1(18)+7,selky1(18)+11 : celput mj26_4w,2;mes "MAG"
pos selkx1(19)+7,selky1(19)+11 : celput mj26_4w,3;mes "INT"
pos selkx1(20)+7,selky1(20)+11 : celput mj26_4w,4;mes "CRI"
pos selkx1(21)+6,selky1(21)+11 : celput mj26_4w,15;mes "ABILITY" ; ability特殊
swbreak
case 2
pos selkx1(17)+7,selky1(17)+11 : celput mj26_4w,6;mes "ATK"
pos selkx1(18)+7,selky1(18)+11 : celput mj26_4w,7;mes "DEF"
pos selkx1(19)+7,selky1(19)+11 : celput mj26_4w,8;mes "MAT"
pos selkx1(20)+7,selky1(20)+11 : celput mj26_4w,9;mes "MDF"
pos selkx1(21)+7,selky1(21)+11 : celput mj26_4w,14;mes "EQU INT"
swbreak
swend
pos selkx1(14)+60,selky1(14)+7 : celput slw,2 ; ページ左
pos selkx1(15)+154,selky1(15)+7 : celput slw,4 ; 戻る
pos selkx1(15)+60,selky1(15)+13 : celput mj26_4w,16;mes "BACK"
pos selkx1(15)+230,selky1(15)+11 : celput mj26_4w,17;mes "戻る"
pos selkx1(16)+60,selky1(16)+7 : celput slw,3 ; ページ右
;gmode 3,,,255
;gmode 2
n=sel_yg : f=0
repeat 7 : cnt2=cnt
if sel(n)=0 : break
un=sel(n) : n+ : ug=un*udb
if ud(ug+13)=0 { ; 通常
repeat 1
if ud(ug+28)=0 : color 255,255,255 : gmulcolor 255,255,255 : break
color 192,192,192 : gmulcolor 192,192,192 ; 通常行動済み
loop
}
if ud(ug+13)>0 and ud(ug+13)<1000 { ; 配備
repeat 1
if ud(ug+28)=0 : color 144,248,144 : gmulcolor 144,248,144 : break
color 80,200,80 : gmulcolor 80,200,80 ; 配属済み
loop
}
if ud(ug+13)>=1000 { ; 政府
c=100
if ud(ug+28)=0 : color 255,40,24 : gmulcolor 255,40,24
if ud(ug+28)=1 : color 208,32,16 : gmulcolor 208,32,16 ; 配属済み
}
y=selky1(cnt2+1)+2
;font "",26
pos selx1+4,y+3 : celput cd_ftw,ud(ug) ;mes ""+cs2(ud(ug));+" "+ud(ug+10)+" "+ud(ug+13) ; 名前
;pos 200,y+3 : mes ud(ug+13) ; 配属
;pos 260,y+3 : mes cd(15,ud(ug+0)) ; レベル
;font "",28
switch self
case 0
s=str(ud(ug+26)) : pfp28 s,selkx1(22),y+3,3 ; HP
mug=ud(ug+13)
if mug=0 : s="-" : pfp28 s,selkx1(23)+16,y+3
if mug>0 and mug<1000 {
s=str(mug/10) ; 国
g=mug\10
if g=0 : s+="L" ; 領主
if g=1 or g=2 or g=3 : s+="A" ; 部隊1
if g=4 or g=5 or g=6 : s+="B" ; 部隊2
if g=7 or g=8 or g=9 : s+="C" ; 部隊3
if g=1 or g=4 or g=7 : s+="1" ; 隊列1
if g=2 or g=5 or g=8 : s+="2" ; 隊列2
if g=3 or g=6 or g=9 : s+="3" ; 隊列3
pfp28 s,selkx1(23),y+2 ; 配備
}
if mug>1000 {
;s=str((mug-1000)/10) ; プレイヤー
;govs3="","LEADER","POPULATION","MAGIC","RELIGION","POLICE","MILITARY"
g=mug\10
if g=1 : s="LEA" ; 首領
if g=2 : s="POP" ; 政務
if g=3 : s="MAG" ; 魔術
if g=4 : s="REL" ; 宗教
if g=5 : s="POL" ; 警察
if g=6 : s="MIL" ; 軍務
/*
if g=1 : s="LEAD" ; 首領
if g=2 : s="POPU" ; 政務
if g=3 : s="MAGI" ; 魔術
if g=4 : s="RELI" ; 宗教
if g=5 : s="POLI" ; 警察
if g=6 : s="MILI" ; 軍務
*/
pfp28 s,selkx1(23),y+2 ; 配備
}
gmulcolor 255,255,255
s=str(ud(ug+29)) : pfp28 s,selkx1(24)-5,y+2,5 ; コスト
pos selkx1(25)+25,y+4 : celput mjzk26w,ud(ug+7)-1 ; 属性
swbreak
case 1
s=str(ud(ug+21)) : pfp28 s,selkx1(17)-10,y+2,3 ; 筋力
s=str(ud(ug+22)) : pfp28 s,selkx1(18)-10,y+2,3 ; 魔力
s=str(ud(ug+23)) : pfp28 s,selkx1(19)-10,y+2,3 ; 知力
s=str(ud(ug+24)) : pfp28 s,selkx1(20)-10,y+2,3 ; 魅力
pos selkx1(21)-1,y+6 : celput abft20w,ud(ug+8) ; 特殊
swbreak
case 2
s=str(ud(ug+11)) : pfp28 s,selkx1(17)-10,y+2,3 ; 攻撃
s=str(ud(ug+12)) : pfp28 s,selkx1(18)-10,y+2,3 ; 防御
s=str(ud(ug+14)) : pfp28 s,selkx1(19)-10,y+2,3 ; 魔攻
s=str(ud(ug+15)) : pfp28 s,selkx1(20)-10,y+2,3 ; 魔防
gmulcolor 255,255,255
s=str(ud(ug+30)) : pfp28 s,selkx1(21)-10,y+2,3 ; 装備知力
pos selkx1(21)+37,y+2 : celput pft28w,51
s=str(ud(ug+23)) : pfp28 s,selkx1(21)+49,y+2,3
;pos selkx1(17)+5,y+3 : mes ud(ug+11) ; 攻撃
;pos selkx1(18)+5,y+3 : mes ud(ug+12) ; 防御
;pos selkx1(19)+5,y+3 : mes ud(ug+14) ; 魔攻
;pos selkx1(20)+5,y+3 : mes ud(ug+15) ; 魔防
;pos selkx1(21)+5,y+3 : mes ""+ud(ug+30)+"/"+ud(ug+23) ; 装備知力
swbreak
swend
loop
return
#deffunc isel_put ; アイテム選択
/*
c=100
repeat 16,1
color c,c,c
boxf iselkx1(cnt),iselky1(cnt),iselkx2(cnt),iselky2(cnt)
c+=20
loop
*/
gmulcolor 255,255,255
;color 255,255,255 : font "",26
pos iselkx1(11)+43,iselky1(11)+12 : celput mj26_4w,0;mes "N A M E"
pos iselkx1(12)+16,iselky1(12)+7 : celput slw,0 ; 降順
pos iselkx1(13)+16,iselky1(13)+7 : celput slw,1 ; 昇順
switch iself
case 0
pos iselkx1(17)+7,iselky1(17)+11 : celput mj26_4w,6;mes "ATK"
pos iselkx1(18)+7,iselky1(18)+11 : celput mj26_4w,7;mes "DEF"
pos iselkx1(19)+7,iselky1(19)+11 : celput mj26_4w,18;mes "RAN"
pos iselkx1(20)+7,iselky1(20)+11 : celput mj26_4w,19;mes "VAL"
pos iselkx1(21)+6,iselky1(21)+11 : celput mj26_4w,15;mes "ABILITY" ; ability特殊
swbreak
case 1
pos iselkx1(17)+7,iselky1(17)+11 : celput mj26_4w,1;mes "STR"
pos iselkx1(18)+7,iselky1(18)+11 : celput mj26_4w,2;mes "MAG"
pos iselkx1(19)+7,iselky1(19)+11 : celput mj26_4w,3;mes "INT"
pos iselkx1(20)+7,iselky1(20)+11 : celput mj26_4w,4;mes "CRI"
pos iselkx1(21)+6,iselky1(21)+11 : celput mj26_4w,14;mes "EQU INT"
swbreak
case 2
pos iselkx1(41)+11,iselky1(17)+10 : celput mjzk26w,0;mes "火"
pos iselkx1(42)+11,iselky1(18)+10 : celput mjzk26w,1;mes "水"
pos iselkx1(43)+11,iselky1(19)+10 : celput mjzk26w,2;mes "風"
pos iselkx1(44)+11,iselky1(20)+10 : celput mjzk26w,3;mes "地"
pos iselkx1(45)+11,iselky1(21)+10 : celput mjzk26w,4;mes "光"
pos iselkx1(46)+11,iselky1(21)+10 : celput mjzk26w,5;mes "闇"
swbreak
case 3
;pos iselkx1(22)+12,iselky1(22)+11 : celput mj26_4w,5;mes "H.P"
pos iselkx1(23)+8,iselky1(23)+9 : celput mj26_4w,10;mes "配備"
pos iselkx1(24)+7,iselky1(24)+11 : celput mj26_4w,11;mes "COST"
pos iselkx1(25)+8,iselky1(25)+9 : celput mj26_4w,12;mes "属性"
pos iselkx1(26)+7,iselky1(26)+11 : celput mj26_4w,13;mes "DEL"
n=isel_yg
repeat 7,31
in=isel(n) : n+ : if in=0 : break
pos iselkx1(cnt)+12,iselky1(cnt)+2 : celput slw,5 ; DEL
loop
swbreak
swend
pos iselkx1(14)+60,iselky1(14)+7 : celput slw,2 ; ページ左
pos iselkx1(15)+154,iselky1(15)+7 : celput slw,4 ; 戻る
pos iselkx1(15)+60,iselky1(15)+13 : celput mj26_4w,16;mes "BACK"
pos iselkx1(15)+230,iselky1(15)+11 : celput mj26_4w,17;mes "戻る"
pos iselkx1(16)+60,iselky1(16)+7 : celput slw,3 ; ページ右
n=isel_yg : f=0
repeat 7 : cnt2=cnt
if isel(n)=0 : break
in=isel(n) : n+ : ig=in*idb
mug=ud(id(ig+13)*udb+13)
if mug=0 { ; 通常
if id(ig+28)=0 : color 255,255,255 : gmulcolor 255,255,255
if id(ig+28)=1 : color 192,192,192 : gmulcolor 192,192,192 ; 通常行動済み
}
if mug>0 and mug<1000 { ; 配備してる
if id(ig+28)=0 : color 144,248,144 : gmulcolor 144,248,144
if id(ig+28)=1 : color 80,200,80 : gmulcolor 80,200,80 ; 配属済み
}
if mug>1000 { ; 政府
if id(ig+28)=0 : color 255,40,24 : gmulcolor 255,40,24
if id(ig+28)=1 : color 208,32,16 : gmulcolor 208,32,16 ; 配属済み
}
if iselectf=0 {
if ud(ug+30)<id(ig+37)-isel_int : color 96,96,255 : gmulcolor 96,96,255 ; 必要装備知力が足りない
}
;if id(ig+13)=0 : if id(ig+28)=0 : color 255,255,255 : else : color 192,192,192 ; 通常行動済み
;if id(ig+13)>0 : if id(ig+28)=0 : color 144,248,144 : else : color 80,200,80 ; 配属済み
;if ud(ug+30)<id(ig+37)-isel_int : color 96,96,255 ; 必要装備知力が足りない
y=iselky1(cnt2+1)+2
;gmode 3,,,255 ; 加算合成
pos iselx1+4,y+3 : celput it_ftw,id(ig)
;pos 200,y+3 : mes ""+mug
;pos 260,y+3 : mes itd(15,id(ig+0)) ; レベル
;pos iselx1+270,y+4 : mes ""+id(ig)
;font "",26
; pos iselx1+5,y+4 : mes ""+is2(id(ig));+" "+id(ig+13);+" "+ud(ug+13) ; 名前
font "",28
switch iself
case 0
if id(ig+11)>0 : s=str(id(ig+11)) : pfp28 s,iselkx1(17)-10,y+2,3; : mes id(ig+11) ; 攻撃
if id(ig+12)>0 : s=str(id(ig+12)) : pfp28 s,iselkx1(18)-10,y+2,3; : mes id(ig+12) ; 防御
if id(ig+17)>0 : s=str(id(ig+17)) : pfp28 s,iselkx1(19)-10,y+2,3; : mes id(ig+17) ; 射程
if id(ig+9)>0 : s=str(id(ig+9)) : pfp28 s,iselkx1(20)-10,y+2,3; : mes id(ig+9) ; 能力値
if id(ig+8)>0 : pos iselkx1(21)+7,y+2 : celput iabft20w,id(ig+8);mes itks(id(ig+8)) ; 特殊
swbreak
case 1
if id(ig+1)>0 : s=str(id(ig+1)) : pfp28 s,iselkx1(17)-10,y+2,3; : mes id(ig+1) ; 筋力
if id(ig+2)>0 : s=str(id(ig+2)) : pfp28 s,iselkx1(18)-10,y+2,3; : mes id(ig+2) ; 魔力
if id(ig+3)>0 : s=str(id(ig+3)) : pfp28 s,iselkx1(19)-10,y+2,3; : mes id(ig+3) ; 知力
if id(ig+4)>0 : s=str(id(ig+4)) : pfp28 s,iselkx1(20)-10,y+2,3; : mes id(ig+4) ; 魅力
if id(ig+37)>0 : s=str(id(ig+37)): pfp28 s,iselkx1(21)+14,y+2,3; : mes id(ig+37) ; 装備知力
swbreak
case 2
if id(ig+31)>0 : s=str(id(ig+31)) : pfp28 s,iselkx1(41)+1,y+3,2; : mes id(ig+31) ; 火
if id(ig+32)>0 : s=str(id(ig+32)) : pfp28 s,iselkx1(42)+1,y+3,2; : mes id(ig+32) ; 水
if id(ig+33)>0 : s=str(id(ig+33)) : pfp28 s,iselkx1(43)+1,y+3,2; : mes id(ig+33) ; 風
if id(ig+34)>0 : s=str(id(ig+34)) : pfp28 s,iselkx1(44)+1,y+3,2; : mes id(ig+34) ; 地
if id(ig+35)>0 : s=str(id(ig+35)) : pfp28 s,iselkx1(45)+1,y+3,2; : mes id(ig+35) ; 光
if id(ig+36)>0 : s=str(id(ig+36)) : pfp28 s,iselkx1(46)+1,y+3,2; : mes id(ig+36) ; 闇
swbreak
case 3
;if id(ig+26)>0 : pos iselkx1(22)+5,y+4 : mes id(ig+26) ; HP
mug=0 : mun=id(ig+13) : if mun>0 : mug=ud(mun*udb+13)
if mug=0 : s="-" : pfp28 s,iselkx1(23)+16,y+3
;if mug=0 : pos iselkx1(23)+5,y+3 : mes "-"
if mug>0 and mug<1000 {
s=str(mug/10) ; 国
g=mug\10
if g=0 : s+="L" ; 領主
if g=1 or g=2 or g=3 : s+="A" ; 部隊1
if g=4 or g=5 or g=6 : s+="B" ; 部隊2
if g=7 or g=8 or g=9 : s+="C" ; 部隊3
if g=1 or g=4 or g=7 : s+="1" ; 隊列1
if g=2 or g=5 or g=8 : s+="2" ; 隊列2
if g=3 or g=6 or g=9 : s+="3" ; 隊列3
pfp28 s,iselkx1(23),y+2 ; 配備
}
if mug>1000 {
;s=str((mug-1000)/10) ; プレイヤー
g=mug\10
if g=1 : s="LEA" ; 首領
if g=2 : s="POP" ; 政務
if g=3 : s="MAG" ; 魔術
if g=4 : s="REL" ; 宗教
if g=5 : s="POL" ; 警察
if g=6 : s="MIL" ; 軍務
pfp28 s,selkx1(23),y+2 ; 配備
}
gmulcolor 255,255,255
s=str(id(ig+29)) : pfp28 s,iselkx1(24)-5,y+2,5 ; コスト
if id(ig+7)>0 : pos iselkx1(25)+25,y+4 : celput mjzk26w,id(ig+7)-1 ; 属性
swbreak
swend
loop
/*
color 190,190,190
boxf iselkx1(8),iselky1(8),iselkx2(8),iselky2(8)
boxf iselkx1(9),iselky1(9),iselkx2(9),iselky2(9)
;color 160,160,160
; boxf iselkx1(8)+1,iselky1(8)+1,iselkx2(8)-1,iselky2(8)-1
; boxf iselkx1(9)+1,iselky1(9)+1,iselkx2(9)-1,iselky2(9)-1
color 0,0,0
boxf iselkx1(8)+1,iselky1(8)+1,iselkx2(8)-1,iselky2(8)-1
boxf iselkx1(9)+1,iselky1(9)+1,iselkx2(9)-1,iselky2(9)-1
color 240,240,240
pos iselkx1(8)+80,iselky1(8)+12 : mes "外す RELEASE"
pos iselkx1(9)+95,iselky1(9)+12 : mes "戻る BACK"
;celput moji3,iselx1,isely1 : mes "アイテム"
pos iselx2,isely1 : celput moji3w,0 ; 攻撃
pos iselx3,isely1 : celput moji3w,1 ; 防御
pos iselx4,isely1 : celput moji3w,2 ; 射程
pos iselx5,isely1 : celput moji3w,3 ; 属性
pos iselx6,isely1 : celput moji3w,4 ; 特殊
n=sel_yg : f=0
repeat 7 : cnt2=cnt
if isel(n)=0 : f=1 : break
in=isel(n) : n+ : ig=in*idb
if f=1 : break
;if id(ig+28)=0 : color 255,255,255 : else : color 192,192,192
if id(ig+13)=0 : if id(ig+28)=0 : color 255,255,255 : else : color 192,192,192 ; 通常行動済み
if id(ig+13)>0 : if id(ig+28)=0 : color 144,248,144 : else : color 72,192,72 ; 配属済み
if ud(ug+30)<id(ig+37) : color 96,96,255 ; 必要装備知力が足りない
y=isely2+cnt2*iselyk
font "",26
pos iselx1,y : mes is2(id(ig)) ; 名前
;font "",28
;pos iselx2,y : mes itss(id(ig+16))
font "",28
;fp id(ig+11),iselx3,y,0
if id(ig+11)>0 : fp2 id(ig+11),iselx2,y-1,5 ; 攻撃
if id(ig+12)>0 : fp2 id(ig+12),iselx3,y-1,5 ; 防御
if id(ig+17)>0 : fp2 id(ig+17),iselx4,y-1,5 ; 射程
font "",26
pos iselx5,y : mes zks(id(ig+7)) ; 属性
pos iselx6,y : mes itks(id(ig+8)) ; 特殊
loop
*/
return
#deffunc msel_put
gmode 2 : gmulcolor 255,255,255
;color 240,240,240 : font "",26
pos mselkx1(11)+5,mselky1(11)+11 : celput mj26_4w,20;mes "MAP"
pos mselkx1(12)+12,mselky1(12)+11 : celput mj26_4w,21;mes "人 口"
pos mselkx1(13)+8,mselky1(13)+11 : celput mj26_4w,22;mes "魔 術"
pos mselkx1(14)+7,mselky1(14)+11 : celput mj26_4w,23;mes "マ ナ"
pos mselkx1(15)+8,mselky1(15)+11 : celput mj26_4w,24; mes "治 安"
pos mselkx1(16)+7,mselky1(16)+11 : celput mj26_4w,25;mes "建築物"
pos mselkx1(17)+304,mselky1(17)+7 : celput slw,4 ; 戻る
pos mselkx1(17)+210,mselky1(17)+12 : celput mj26_4w,16;mes "BACK"
pos mselkx1(17)+380,mselky1(17)+12 : celput mj26_4w,17;mes "戻る"
n=msel_yg : f=0
repeat 7 : cnt2=cnt
if msel(n)=0 : break
mdg=msel(n)*mdb
y=mselky1(cnt2+1)+2
;font "",28
if mpc(pn)=msel(n) : gmulcolor cld(pcln(pn-1)*3+1),cld(pcln(pn-1)*3+2),cld(pcln(pn-1)*3+3)
s=str(msel(n)) : pfp28 s,mselkx1(11),y+2; : mes msel(n) ; 国
gmulcolor 255,255,255
s=str(md(mdg+1)/100) : pfp28 s,mselkx1(12)-5,y+2,5; : mes md(mdg+1)/100 ; 人口
s=str(md(mdg+2)/100) : pfp28 s,mselkx1(13)-5,y+2,4; : mes md(mdg+2)/100 ; 魔術
s=str(md(mdg+3)/100) : pfp28 s,mselkx1(14)-5,y+2,4; : mes md(mdg+3)/100 ; マナ
s=str(md(mdg+4)/1000): pfp28 s,mselkx1(15)+7,y+2,3; : mes md(mdg+4)/1000 ; 治安
pos mselkx1(16)+5,y+2 : celput bulftw,md(mdg+7); : mes buls(md(mdg+7)) ; 建築物
n+
loop
return
#deffunc equ_put ; 装備画面表示
card_put equx1,equy1,un
ug=un*udb : cn=ud(ug)
gmode 2
if equif=0 {
color 255,255,255 : pos 119,equy2-1 : celput cd_ftw,cn;mes ""+cs2(cn)+" un "+un ; 名前
y=38
pos equx2+12,equy2+y : celput mojiw,0 ; HP
n=ud(ug+26) : nx=fpk(n) : fp n,equx2+39+nx,equy2+y+1,0
pos equx2+89,equy2+y+1 : celput bfpw,207 ; /
n=ud(ug+25) : fp n,equx2+106,equy2+y+1,0
y=65 : yk=24
pos equx2+12,equy2+y : celput mojiw,1 : s="STR" : bfp s,equx2+57,equy2+y+2,0
n=ud(ug+21) : nx=fpk(n) : fp n,equx2+92+nx,equy2+y+2,0
y+=yk
pos equx2+12,equy2+y : celput mojiw,2 : s="MAG" : bfp s,equx2+57,equy2+y+2,0
n=ud(ug+22) : nx=fpk(n) : fp n,equx2+92+nx,equy2+y+2,0
y+=yk
pos equx2+12,equy2+y : celput mojiw,3 : s="INT" : bfp s,equx2+57,equy2+y+2,0
n=ud(ug+23) : nx=fpk(n) : fp n,equx2+92+nx,equy2+y+2,0
y+=yk
pos equx2+12,equy2+y : celput mojiw,4 : s="CHA" : bfp s,equx2+57,equy2+y+2,0
n=ud(ug+24) : nx=fpk(n) : fp n,equx2+92+nx,equy2+y+2,0
y=36 : yk=24 : x=175
pos equx2+x,equy2+y : celput mojiw,5 : s="ATK" : bfp s,equx2+x+47,equy2+y+2,0
n=ud(ug+11) : nx=fpk(n) : fp n,equx2+x+80+nx,equy2+y+2,0
y+=yk
pos equx2+x,equy2+y : celput mojiw,6 : s="DEF" : bfp s,equx2+x+47,equy2+y+2,0
n=ud(ug+12) : nx=fpk(n) : fp n,equx2+x+80+nx,equy2+y+2,0
pos equx2+x,equy2+89 : celput mojiw,7 : s="ability" : bfp s,equx2+x+47,equy2+91,0
pos equx2+x+5,equy2+112 : celput abft20w,ud(ug+8);mes utks(ud(ug+8))
pos equx2+x,equy2+142 : celput moji2w,0;mes "装備知力 "+ud(ug+30)
n=ud(ug+30) : nx=fpk(n) : fp n,equx2+x+80+nx,equy2+144,0
repeat 6
pos equx5,equy1+26*cnt-3 : celput mjzkw,cnt
bfp zkes(cnt+1),equx5+26,equy1+26*cnt-1,cnt+1
n=ud(ug+31+cnt) : nx=fpk(n) : fp n,equx5+56+nx,equy1+26*cnt-1,0
loop
;火 FIRE
;水 WATER
;風 WIND
;地 EARTH
;光 LIGHT
;闇 DARKNESS
}
/*
repeat 7
dg ud(ug+40+cnt),cnt+10
loop
*/
f=0 : cntn=0 : color 240,240,240
repeat 20 ; アイテム装備表示
pos equx4+equxk*cntn,equy4
k=27
switch f
case 0 ; 右手
if ud(ug+16)=0 : f=3 : swbreak ; 無し
if ud(ug+16)>2 : f=2 : swbreak ; 複数手
;pos equx4+equxk*cntn,equy4-k : mes "in "+ud(ug+40+cntn)
;pos equx4+equxk*cntn,equy4-30 : mes ud(ug+40)
;pos equx4+equxk*cntn,equy4+140 : mes equs(0)
pos equx4+equxk*cntn,equy4
if ud(ug+40)=0 : celput wkhw : cntn+ : f=1 : swbreak ; 装備してない
pos equx4+equxk*cntn,equy5 : celput rmw ; rmove
pos equx4+equxk*cntn+cox/2,equy4
if ud(ug+40)=-2 : gmode 3,,,128 : celput iw,id(ud(ug+41)*idb)-1 : gmode 2 : cntn+ : f=1 : swbreak ; 左両手装備
celput iw,id(ud(ug+40)*idb)-1 ; 表示
cntn+ : f=1
swbreak
case 1 ; 左手
;pos equx4+equxk*cntn,equy4-k : mes "in "+ud(ug+40+cntn)
;pos equx4+equxk*cntn,equy4-30 : mes ud(ug+41)
;pos equx4+equxk*cntn,equy4+140 : mes equs(1)
pos equx4+equxk*cntn,equy4
if ud(ug+41)=0 : celput wkhw : cntn+ : f=3 : swbreak ; 装備してない
pos equx4+equxk*cntn,equy5 : celput rmw ; rmove
pos equx4+equxk*cntn+cox/2,equy4
if ud(ug+41)=-1 : gmode 3,,,128 : celput iw,id(ud(ug+40)*idb)-1 : gmode 2 : cntn+ : f=3 : swbreak ; 右両手装備
celput iw,id(ud(ug+41)*idb)-1 ; 表示
cntn+ : f=3
swbreak
case 2 ; 複数手
;pos equx4+equxk*cntn,equy4-k : mes "in "+ud(ug+40+cntn)
if ud(ug+16)<=cntn : f=3 : swbreak ; 終わり
;pos equx4+equxk*cntn,equy4+140 : mes ""+equs(4)+" "+(cntn+1)
pos equx4+equxk*cntn,equy4
if ud(ug+40+cntn)=0 : celput wkhw : cntn+ : swbreak ; 装備してない
pos equx4+equxk*cntn+cox/2,equy4
if ud(ug+40+cntn)=-1 : gmode 3,,,128 : celput iw,id(ud(ug+40+cntn-1)*idb)-1 : gmode 2 : cntn+ : swbreak ; 右両手装備
if ud(ug+40+cntn)=-2 : gmode 3,,,128 : celput iw,id(ud(ug+40+cntn+1)*idb)-1 : gmode 2 : cntn+ : swbreak ; 左両手装備
celput iw,id(ud(ug+40+cntn)*idb)-1
pos equx4+equxk*cntn,equy5 : celput rmw ; rmove
cntn+ : swbreak ; 表示
swbreak
case 3 ; 防具
;pos equx4+equxk*cntn,equy4-k : mes "in "+ud(ug+40+cntn)
if ud(ug+17)=0 : f=4 : swbreak ; 無し
;pos equx4+equxk*cntn,equy4+140 : mes equs(2) :
pos equx4+equxk*cntn,equy4
if ud(ug+40+cntn)=0 : celput wkaw : cntn+ : f=4 : swbreak ; 装備してない
pos equx4+equxk*cntn+cox/2,equy4
celput iw,id(ud(ug+40+cntn)*idb)-1 ; 表示
pos equx4+equxk*cntn,equy5 : celput rmw ; rmove
cntn+ : f=4
swbreak
case 4 ; 特殊アイテム
;pos equx4+equxk*cntn,equy4-k : mes "in "+ud(ug+40+cntn)
;pos equx4+equxk*cntn,equy4-30 : mes ""+id(ud(ug+40+cntn)*idb+9)+" "+id(ud(ug+40+cntn)*idb+17)
if ud(ug+18)=0 : f=5 : swbreak ; 無し
;pos equx4+equxk*cntn,equy4+140 : mes equs(3) :
pos equx4+equxk*cntn,equy4
if ud(ug+40+cntn)<=0 : celput wksw : cntn+ : f=5 : swbreak ; 装備してない
pos equx4+equxk*cntn+cox/2,equy4
celput iw,id(ud(ug+40+cntn)*idb)-1 ; 表示
pos equx4+equxk*cntn,equy5 : celput rmw ; rmove
cntn+ : f=5
swbreak
case 5 ; アイテム
;pos equx4+equxk*cntn,equy4-k : mes "in "+ud(ug+40+cntn)
if cntn>=ud(ug+16)+ud(ug+17)+ud(ug+18)+ud(ug+19) : f=6 : swbreak ; 終わり
if ud(ug+19)=0 : f=6 : swbreak ; 無し
pos equx4+equxk*cntn,equy4
if ud(ug+40+cntn)=0 : celput wkiw : cntn+ : swbreak ; 装備してない
;sbk_put2 un
pos equx4+equxk*cntn+cox/2,equy4
if ud(ug+40+cntn)>0 : celput iw,id(ud(ug+40+cntn)*idb)-1 ; 表示
pos equx4+equxk*cntn,equy5 : celput rmw ; rmove
cntn+
swbreak
swend
if f=6 : break
loop
if equif=1 and ud(ug+40+(ky2\10))>0 { ; アイテム情報表示
in=ud(ug+40+(ky2\10)) : ig=in*idb : itn=id(ig)
gmode 5,,,255
pos equx4+equxk*(ky2\10)-4,equy4-4 : celput swakuw,0 ; 選択カーソル
iwdx=iwdx1-15 : iwdy=iwdy1
evw 0,iwdx,iwdy,22,10 ; イベントウインドウ表示
evw 1,iwdx,iwdy,22,10 ; イベントウインドウ表示
/*
color 255,255,255
boxf iwdx,iwdy,iwdx+iwdxk,iwdy+iwdyk
color 8,8,8
boxf iwdx+2,iwdy+2,iwdx+iwdxk-2,iwdy+iwdyk-2
*/
color 255,255,255 : pos iwdx+12,iwdy+9 : celput it_ftw,id(ig) ; 名前
x=iwdx+19 : y=iwdy+40
pos x,y : celput mojiw,0 ; HP
n=id(ig+6) : nx=fpk(n) : fp n,x+25+nx,y+2,0
pos x+75,y+2 : celput bfpw,207 ; /
n=id(ig+5) : fp n,x+92,y+2,0
x=iwdx+19 : y=iwdy+62 : yk=22
pos x,y : celput mojiw,1 : s="STR" : bfp s,x+50,y+3,0
n=id(ig+1) : nx=fpk(n) : fp n,x+82+nx,y+3,0
y+=yk
pos x,y : celput mojiw,2 : s="MAG" : bfp s,x+50,y+3,0
n=id(ig+2) : nx=fpk(n) : fp n,x+82+nx,y+3,0
y+=yk
pos x,y : celput mojiw,3 : s="INT" : bfp s,x+50,y+3,0
n=id(ig+3) : nx=fpk(n) : fp n,x+82+nx,y+3,0
y+=yk
pos x,y : celput mojiw,4 : s="CHA" : bfp s,x+50,y+3,0
n=id(ig+4) : nx=fpk(n) : fp n,x+82+nx,y+3,0
x=iwdx+185 : y=iwdy+40
pos x,y : celput mojiw,5 : s="ATK" : bfp s,x+50,y+3,0
n=id(ig+11) : nx=fpk(n) : fp n,x+82+nx,y+3,0
y+=22
pos x,y : celput mojiw,6 : s="DEF" : bfp s,x+50,y+3,0
n=id(ig+12) : nx=fpk(n) : fp n,x+82+nx,y+3,0
y+=24
pos x,y : celput mojiw,7 : s="ability" : bfp s,x+50,y+3,0
y+=22
if id(ig+8)>0 : pos x+5,y : celput iabft20w,id(ig+8); mes utks(id(ig+8))
y+=22
pos x,y : celput moji2w,1 ;mes "必要知性 "+
n=id(ig+37) : nx=fpk(n) : fp n,x+82+nx,y+2,0
}
return
#deffunc btl_put
;n1=(fg1-1)*3 ; 現在の部隊
;n2=(fg2-1)*3
gmode 2
pos 0,0
n=map(kn2)
if n=1 : celput hai1w,0,2.0,2.0 ; 火
if n=2 : celput hai2w,0,2.0,2.0 ; 水
if n=3 : celput hai3w ; 風
if n=4 : celput hai4w ; 地
if n=5 : celput hai5w,0,2.0,2.0 ; 光
if n=6 : celput hai6w,0,2.0,2.0 ; 闇
repeat 3,1 ; ユニット表示
bp_n=cnt ; ユニットNo.
if fn1(bp_n)>0 {
hpn=ud(fn1(bp_n)*udb+26) ; HP
if hpn>0 : bp_nn=255 : else : bp_nn=128 ; 表示透明度
card_put bcx1(bp_n),btly1,fn1(bp_n),bp_nn,0 ; カード表示
hpbpn=int(double(hpbpxk)/double(ud(fn1(bp_n)*udb+25))*double(hpn)) ; HPバーの長さ
color 208,0,0 ; ダメージ
boxf bcx1(bp_n)+2,hpbpy+2,bcx1(bp_n)+2+hpbpxk,hpbpy+2+hpbpyk
color 112,112,255 ; HP
boxf bcx1(bp_n)+2,hpbpy+2,bcx1(bp_n)+2+hpbpn,hpbpy+2+hpbpyk
pos bcx1(bp_n),hpbpy : celput hww ; hpバーの枠
;color 255,255,255
;pos bcx1(bp_n),hpbpy+5+hpbpyk : mes ""+ud(fn1(bp_n)*udb+26)+"/"+ud(fn1(bp_n)*udb+25)
c=0 : k=-22 : bsg=bsp(fn1(bp_n))
repeat 6 ; 状態異常表示
if bs(bsg+cnt+1)<=0 : continue
pos bcx1(bp_n)+c*20,btly1+k : celput staw,cnt
c+ : if c=4 : c=0 : k-=22
loop
if debugf=1 {
color 255,255,255
pos bcx1(bp_n),btly1+160 : mes ud(fn1(bp_n)*udb+26) ; HP
pos bcx1(bp_n)+60,btly1+160 : mes fn1(bp_n) ; unNo.
}
}
bp_n=cnt ; ユニットNo.
if fn2(bp_n)>0 {
hpn=ud(fn2(bp_n)*udb+26) ; HP
if hpn>0 : bp_nn=255 : else : bp_nn=128 ; 表示透明度
card_put bcx2(bp_n),btly1,fn2(bp_n),bp_nn,1 ; カード表示
hpbpn=int(double(hpbpxk)/double(ud(fn2(bp_n)*udb+25))*double(hpn)) ; HPバーの長さ
color 208,0,0 ; ダメージ
boxf bcx2(bp_n)+2,hpbpy+2,bcx2(bp_n)+2+hpbpxk,hpbpy+2+hpbpyk
color 112,112,255 ; HP
boxf bcx2(bp_n)+2,hpbpy+2,bcx2(bp_n)+2+hpbpn,hpbpy+2+hpbpyk
pos bcx2(bp_n),hpbpy : celput hww ; hpバーの枠
c=0 : k=-22 : bsg=bsp(fn2(bp_n))
repeat 6 ; 状態異常表示
if bs(bsg+cnt+1)<=0 : continue
pos bcx2(bp_n)+c*20,btly1+k : celput staw,cnt
c+ : if c=4 : c=0 : k-=22
loop
if debugf=1 {
color 255,255,255
pos bcx2(bp_n),btly1+160 : mes ud(fn2(bp_n)*udb+26) ; HP
pos bcx2(bp_n)+60,btly1+160 : mes fn2(bp_n) ; unNo.
}
}
loop
if fs=1 {
if temp_atkf=0 : pos bcx1(ut)-8,btly1-7
if temp_atkf=1 : pos bcx2(ut)-8,btly1-7
}
if fs=2 {
if temp_atkf=0 : pos bcx2(ut)-8,btly1-7
if temp_atkf=1 : pos bcx1(ut)-8,btly1-7
}
if cslf=0 : celput kwakuw ; 行動者枠表示
if debugf=1 {
; 戦闘ステータス
s="UN","傷","氷","痺","絶","魅","毒","火","氷","風","雷","地","聖","闇","攻","防","加","減","水","風","聖","","",""
color 196,196,196
repeat 7 : cnt2=cnt
repeat bsb
if cnt=0 : pos 70,cnt2*19+2
if cnt>0 : pos 100+cnt*23,cnt2*19+2
if cnt2=0 : mes s(cnt) : continue ; 名
mes bs(bsb*(cnt2-1)+cnt) ; 値
loop
loop
}
if af=1 {
color 0,255,0
repeat 7
pos 580,cnt*20 : mes ""+zputs(cnt)+""+zputn(cnt)
loop
pos 500,300 : mes "rpic"
repeat 3
pos 540,300+cnt*20 : mes rdpd(cnt)
loop
}
/*
repeat 10
pos 10+cnt*20,320 : mes ft2(cnt)
loop
repeat 4
pos 10+cnt*20,340 : mes fn2(cnt)
loop
/*
pos 200,10 : mes "始点 "+ss1
pos 200,30 : mes "距離 "+ss4
pos 200,50 : mes "数 "+ss3
pos 200,70 : mes "速さ "+ss2
pos 200,90 : mes "btlck"+btlck
pos 200,110: mes "c数 "+ss5
/*
pos 200,300 : mes "smnfn "
repeat 6
pos 250+cnt*30,300 : mes smnfn(cnt)
loop
/*
repeat 3,1
pos 250+cnt*30,300 : mes ud(fn1(cnt)*udb+26)
loop
*/
/*
pos 200,330 : mes "rfn"
repeat 4
pos 250+cnt*30,330 : mes rfn(cnt)
loop
*/
return
#deffunc un_find_put ; ユニット発見表示
mn=m;pc(pn)
if 1<=mn and mn<=14 : ufpx=420
if 15<=mn and mn<=25 : ufpx=100
ufpy=115 : ufpk=40
gmode 2
redraw 0
color 1,1,1 : boxf
un_find_put_pn=pn : pn=0
map_put
x=hxyd(0,mn)-8 : y=hxyd(1,mn)-8 ; 座標
gmode 5,,,224 : gmulcolor 255,255,255
pos x,y : celput hcw
gmode 2
pn=un_find_put_pn
evw 0,ufpx-ufpk,ufpy-ufpk-5,10,14 ; イベントウインドウ表示
evw 1,ufpx-ufpk,ufpy-ufpk-5,10,14 ; イベントウインドウ表示
card_put ufpx,ufpy,un
/*
dg_put
color 255,255,255
boxf ufpx-ufpk,ufpy-ufpk,ufpx+cox+ufpk,ufpy+coy+ufpk
color 1,1,1
boxf ufpx-ufpk+2,ufpy-ufpk+2,ufpx+cox+ufpk-2,ufpy+coy+ufpk-2
card_put ufpx,ufpy,un
color 255,255,255 : pos ufpx-20,ufpy-20 : mes m
*/
redraw 1
;pkey
;dg_clr
return
#deffunc in_find_put ; アイテム発見表示
mn=m;pc(pn)
if 1<=mn and mn<=14 : ufpx=420
if 15<=mn and mn<=25 : ufpx=100
ufpy=115 : ufpk=40
gmode 2
redraw 0
color 1,1,1 : boxf
in_find_put_pn=pn : pn=0
map_put
x=hxyd(0,mn)-8 : y=hxyd(1,mn)-8 ; 座標
gmode 5,,,224 : gmulcolor 255,255,255
pos x,y : celput hcw
gmode 2
pn=in_find_put_pn
evw 0,ufpx-ufpk,ufpy-ufpk-5,10,14 ; イベントウインドウ表示
evw 1,ufpx-ufpk,ufpy-ufpk-5,10,14 ; イベントウインドウ表示
pos ufpx+cox/2,ufpy : celput iw,id(in*idb)-1
/*
dg_put
color 255,255,255
boxf ufpx-ufpk,ufpy-ufpk,ufpx+cox+ufpk,ufpy+coy+ufpk
color 1,1,1
boxf ufpx-ufpk+2,ufpy-ufpk+2,ufpx+cox+ufpk-2,ufpy+coy+ufpk-2
pos ufpx+cox/2,ufpy : celput iw,id(in*idb)-1
color 255,255,255
pos ufpx+10,ufpy+coy+5 : mes in
pos ufpx-20,ufpy-20 : mes m
*/
redraw 1
;pkey
;dg_clr
return
; Government ordinance ------------------------------------------
; Build、建築
#deffunc bul_put int bul_putf
;font "",24,0
n=mpl(m)
/*
if n=0 {
color 240,240,240 : pos talx2,taly2 : mes ""+m+" 国"
}
*/
if n>0{
color 255,255,255 : boxf infx1+2,infy1+2,infx1+26,infy1+26
color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
boxf infx1+4,infy1+4,infx1+24,infy1+24
fp2 m,infx1+27,infy1,5
; color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
; pos talx2,taly2 : mes ""+m+" 国"
}
;color 240,240,240
;pos talx3,taly2 : mes "魔術 LEVEL "+ml
s="MANA POINT " : pfp28 s,talx3,taly2-1
s=str(pmp(pn)) : pfp28 s,talx3+163,taly2-1,7
if bul_putf=1 : return
repeat 10 ; 枠
;if cnt=3 or cnt=6 or cnt=8 : continue
if cnt<5 {
evw 0,talx1+talxk*(cnt\5),taly1,5,8
evw 1,talx1+talxk*(cnt\5),taly1,5,8
;pos talx1+talxk*(cnt\5)+cox/2,taly1 : celput owkw
}
if cnt>4 {
evw 0,talx1+talxk*(cnt\5),taly1+talyk,5,8
evw 1,talx1+talxk*(cnt\5),taly1+talyk,5,8
;pos talx1+talxk*(cnt\5)+cox/2,taly1+talyk : celput owkw
}
loop
;font "",20,0
repeat 10,1
pos talkx1(cnt)+16,talky1(cnt)+20 : celput atw,(cnt-1),2.0,2.0
cnt2=cnt+1
x=10 ; 3文字
if cnt2=1 or cnt2=7 : x=30 ; 1文字
if cnt2=4 or cnt2=9 or cnt2=11 : x=20 ; 2文字
pos talkx1(cnt)+x,talky1(cnt)+85 : celput mj20_bulw,cnt2;mes buls(cnt+1)
loop
return
#deffunc disma_put ; 解体表示
font "",24,0
n=mpl(m)
/*
if n=0 {
color 240,240,240 : pos talx2,taly2 : mes ""+m+" 国"
}
*/
if n>0{
color 255,255,255 : boxf infx1+2,infy1+2,infx1+26,infy1+26
color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
boxf infx1+4,infy1+4,infx1+24,infy1+24
fp2 m,infx1+27,infy1,5
color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
; pos talx2,taly2 : mes ""+m+" 国"
}
color 240,240,240
;pos talx3,taly2 : mes "魔術 LEVEL "+ml
;pos talx3,taly2 : mes "MANA POINT "+pmp(pn)
s="MANA POINT " : pfp28 s,talx3,taly2-1
s=str(pmp(pn)) : pfp28 s,talx3+163,taly2-1,7
pos 320-56,95 : celput atw,md(mdg+7)-2,4.0,4.0
;pos 180,80 : celput owkw
evw 0,140,80,5,8
evw 1,140,80,5,8
;pos 155,110 : mes "はい"
s="YES" : pfp28 s,148,130; : mes "YES"
;pos 450,80 : celput owkw
evw 0,410,80,5,8
evw 1,410,80,5,8
;pos 415,110 : mes "いいえ"
s="NO" : pfp28 s,418,130; : mes "NO"
pos 170,245 : celput bulftw,md(mdg+7);mes ""+buls(md(mdg+7))
pos 265,245 : celput mj28_lngw,8;mes " を解体しますか?"
;pos 220,300 : mes "MANA POINT -"+bul_mp(12)
s="MANA POINT -" : pfp28 s,220,300
s=str(bul_mp(12)) : pfp28 s,220+197,300
return
#deffunc bul_ad_put int bul_ad_putf ; 建設、解体表示
c=5
repeat
redraw 0
color 1,1,1 : boxf : color 240,240,240
bul_put 1
if bul_ad_putf=0 {
pos 320-56,95 : celput atw,(ky-1),4.0,4.0
pos 190,245 : celput bulftw,ky+1;mes ""+buls(ky+1)
pos 280,245 : celput mj28_lngw,6;mes " を建てました"
s="MANA POINT -" : pfp28 s,220,300
s=str(bul_mp(ky+1)) : pfp28 s,220+197,300
;pos 220,300 : mes "MANA POINT -"+bul_mp(ky+1)
}
if bul_ad_putf=1 {
pos 320-56,95 : celput atw,(md(mdg+7)-2),4.0,4.0
pos 170,245 : celput bulftw,md(mdg+7)
;pos 170,245 : mes ""+buls(md(mdg+7))
pos 265,245 : celput mj28_lngw,7;mes " を解体しました"
;pos 220,300 : mes "MANA POINT -"+bul_mp(12)
}
redraw 1
if c>0 : c- : else : stick kb : if kb=256 : break
await 1000/40
loop
return
; Talent、ユニット
#deffunc tal_put int tal_putf
;font "",24,0
n=mpl(m)
/*
if n=0 {
color 240,240,240 : pos talx2,taly2 : mes ""+m+" 国"
}
*/
if n>0{
color 255,255,255 : boxf infx1+2,infy1+2,infx1+26,infy1+26
color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
boxf infx1+4,infy1+4,infx1+24,infy1+24
fp2 m,infx1+27,infy1,5
;color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
; pos talx2,taly2 : mes ""+m+" 国"
}
;color 240,240,240
;pos talx3,taly2 : mes "人材LEVEL "+r;ml
pos talx3,taly2 : celput mj28w,0
s="LEVEL" : pfp28 s,talx3+61,taly2
s=str(r) : pfp28 s,talx3+154,taly2
; pos talx4,taly2 : mes "MANA POINT "+pmp(pn)
s="MANA POINT " : pfp28 s,talx4+10,taly2
s=str(pmp(pn)) : pfp28 s,talx4+182,taly2
;pos talx5,taly2 : mes "キャラ総数 "+pmp(m)
if tal_putf=1 : return
pos talcx+cox/2,talcy : celput owkw
/*
repeat 5 ; 枠
if ml>cnt : pos talx1+talxk*cnt+cox/2,taly1 : celput owkw
if ml>cnt+5 : pos talx1+talxk*cnt+cox/2,taly1+talyk: celput owkw
loop
font "",20,0
repeat 10,1
if ml<cnt : break
pos talkx1(cnt)+10,talky1(cnt)+10
mes "LEVEL"+cnt
pos talkx1(cnt)+20,talky1(cnt)+50
mes "~"+cnt*10
pos talkx1(cnt)+10,talky1(cnt)+100
mes tal_mp(cnt) ; 必要マナポイント
loop
*/
return
#deffunc tal_fd_put
f=0 : cf=1.0 : kb=0
x=320-cox/2 : y=135-coy/2
repeat
redraw 0
color 1,1,1 : boxf : color 240,240,240
tal_put 1
switch f
case 0
pos talcx+cox/2,talcy : celput owkw,0,cf
cf-=0.1 : if cf<=0.0 : f=1
swbreak
case 1
pos talcx+cox/2,talcy : celput cw,cn-1,cf
cf+=0.1 : if cf>=1.0 : f=2
swbreak
case 2
pos talcx+cox/2,talcy : celput cw,cn-1,cf
stick kb : if kb=256 : f=3
swbreak
swend
pos talcx-30,talcy+150 : celput cd_ftw,cn
s="LEVEL" : pfp28 s,talcx-25,talcy+190 ;: mes "LEVEL "+cd(15,cn)
s=str(cd(15,cn)) : pfp28 s,talcx+73,talcy+190
s="MANA POINT" : pfp28 s,talcx-60,talcy+230 ;: mes "MANA POINT "+tal_mp(cd(15,cn))
s=str(tal_mp(cd(15,cn))) : pfp28 s,talcx+115,talcy+230
redraw 1
await 1000/40
if f=3 : break
loop
return
; Order、アイテム、表示
#deffunc ord_put int ord_putf
;font "",24,0
n=mpl(m)
/*
if n=0 {
color 240,240,240 : pos talx2,taly2 : mes ""+m+" 国"
}
*/
if n>0{
color 255,255,255 : boxf infx1+2,infy1+2,infx1+26,infy1+26
color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
boxf infx1+4,infy1+4,infx1+24,infy1+24
fp2 m,infx1+27,infy1,5
; color cld((pcln(n)-1)*3+1),cld((pcln(n)-1)*3+2),cld((pcln(n)-1)*3+3) ; 勢力
; pos talx2,taly2 : mes ""+m+" 国"
}
;color 240,240,240
;pos talx3,taly2 : mes "技術 LEVEL "+ml
pos talx3,taly2 : celput mj28w,1
s="LEVEL" : pfp28 s,talx3+61,taly2
s=str(ml) : pfp28 s,talx3+154,taly2
;pos talx4,taly2 : mes "MANA POINT "+pmp(pn)
s="MANA POINT " : pfp28 s,talx4,taly2-1
s=str(pmp(pn)) : pfp28 s,talx4+165,taly2-1
if ord_putf=1 : return
repeat 10 ; 枠
if cnt=3 or cnt=6 or cnt=8 : continue
;if cnt<5 : pos talx1+talxk*(cnt\5)+cox/2,taly1 : celput owkw
;if cnt>4 : pos talx1+talxk*(cnt\5)+cox/2,taly1+talyk : celput owkw
if cnt<5 {
evw 0,talx1+talxk*(cnt\5),taly1,6,8
evw 1,talx1+talxk*(cnt\5),taly1,6,8
}
if cnt>4 {
evw 0,talx1+talxk*(cnt\5),taly1+talyk,6,8
evw 1,talx1+talxk*(cnt\5),taly1+talyk,6,8
}
loop
;font "",20,0
; 近距離武器、中距離武器、遠距離武器、防具、アクセサリー、アイテム、魔法
; SHORT、MEDIUM、LONG、GUARD、ACCESSORY、ITEM、MAGIC
x1=19 : x2=29
y1=14 : y2=58 : y3=83
pos talkx1(1)+x1,talky1(1)+y1
celput moji2w,2 ; mes "近距離"
;pos talkx1(1)+15,talky1(1)+55
s="SHORT" : pfp20 s,talkx1(1)+18,talky1(1)+y2 ; mes "SHORT"
s="WEAPON" : pfp20 s,talkx1(1)+13,talky1(1)+y3 ; mes "WEAPON"
pos talkx1(2)+x1,talky1(2)+y1
celput moji2w,3 ; mes "中距離"
s="MEDIUM" : pfp20 s,talkx1(2)+13,talky1(2)+y2 ; mes "MEDIUM"
s="WEAPON" : pfp20 s,talkx1(2)+13,talky1(2)+y3 ; mes "WEAPON"
pos talkx1(3)+x1,talky1(3)+y1
celput moji2w,4 ; mes "遠距離"
s="LONG" : pfp20 s,talkx1(3)+22,talky1(3)+y2 ; mes "LONG"
s="WEAPON" : pfp20 s,talkx1(3)+13,talky1(3)+y3 ; mes "WEAPON"
pos talkx1(5)+x2,talky1(5)+y1
celput moji2w,5 ; mes "防具"
s="GUARD" : pfp20 s,talkx1(5)+18,talky1(5)+y2 ; mes "GUARD"
pos talkx1(6)+18,talky1(6)+y1
celput moji2w,6 ; mes "アクセサリー"
s="ACCES" : pfp20 s,talkx1(6)+13,talky1(6)+y2 ; mes "ACCES"
s="SORY" : pfp20 s,talkx1(6)+33,talky1(6)+78 ; mes "SORY"
pos talkx1(8)+9,talky1(8)+y1
celput moji2w,7 ; mes "アイテム"
s="ITEM" : pfp20 s,talkx1(8)+22,talky1(8)+y2 ; mes "ITEM"
pos talkx1(10)+x2,talky1(10)+y1
celput moji2w,8 ; mes "魔法"
s="MAGIC" : pfp20 s,talkx1(10)+18,talky1(10)+y2 ; mes "MAGIC"
return
#deffunc ord_ms_put int ord_ms_putf ; メッセージ
repeat 20
redraw 0
color 1,1,1 : boxf : color 255,255,255
ord_put 1
evw 0,108,132,27,6 ; イベントウインドウ表示
evw 1,108,132,27,6 ; イベントウインドウ表示
;color 240,240,240 : boxf 100,100,wx-100,wy-100
;color 1,1,1 : boxf 100+2,100+2,wx-100-2,wy-100-2
;color 240,240,240
x=144 : y=165 : pos x,y
if ord_ms_putf=0 : celput mj28_lngw,0; mes "製作できるものがありません"
if ord_ms_putf=1 {
s="MANA PONT" : pfp28 s,x,y
pos x+163,y : celput mj28_lngw,9; mes "マナポイントが足りません"
}
if ord_ms_putf=2 : celput mj28_lngw,1; mes "人材府の数が最大です"
if ord_ms_putf=3 : celput mj28_lngw,2; mes "倉庫の数が最大です"
if ord_ms_putf=4 : celput mj28_lngw,3; mes "人材がいませんでした"
if ord_ms_putf=5 {
s="UNIT" : pfp28 s,x,y
pos x+83,y : celput mj28_lngw,4; mes "ユニットの登録が満杯です"
}
if ord_ms_putf=6 {
s="ITEM" : pfp28 s,x,y
pos x+83,y : celput mj28_lngw,4; mes "アイテムの登録が満杯です"
}
if ord_ms_putf=7 : celput mj28_lngw,5; mes "既に建物が建っています"
redraw 1
await 1000/20
loop
return
#deffunc ord_fd_put ; 発見表示
f=0 : cf=1.0 : kb=0
repeat
redraw 0
color 1,1,1 : boxf : color 240,240,240
ord_put 1
switch f
case 0
pos talcx+cox/2,talcy : celput owkw,0,cf
cf-=0.1 : if cf<=0.0 : f=1
swbreak
case 1
pos talcx+cox/2,talcy : celput iw,itn-1,cf
cf+=0.1 : if cf>=1.0 : f=2
swbreak
case 2
pos talcx+cox/2,talcy : celput iw,itn-1,cf
stick kb : if kb=256 : f=3
swbreak
swend
pos talcx-30,talcy+150 : celput it_ftw,itn
s="LEVEL" : pfp28 s,talcx-25,talcy+190 ;: mes "LEVEL "+itd(15,itn)
s=str(itd(15,itn)) : pfp28 s,talcx+73,talcy+190
s="MANA POINT" : pfp28 s,talcx-60,talcy+230 ;: mes "MANA POINT "+ord_mp(itd(15,itn))
s=str(ord_mp(itd(15,itn))) : pfp28 s,talcx+115,talcy+230
redraw 1
await 1000/40
if f=3 : break
loop
return
; 政府、ガバメント、Government
#deffunc gov_put
color 1,1,1 : boxf
color 255,255,255 : boxf infx1+2,infy1+2,infx1+26,infy1+26
color cld((pcln(pn)-1)*3+1),cld((pcln(pn)-1)*3+2),cld((pcln(pn)-1)*3+3) ; 勢力
boxf infx1+4,infy1+4,infx1+24,infy1+24
color 255,255,255
gmulcolor 255,255,255
repeat 6,1
pos govx1(20+cnt),govy1(20+cnt) : celput rmw
n=mgv(pn*mgvb+cnt)
if n>0 : pos govx1(cnt)+cox/2,govy1(cnt) : celput cw,ud(n*udb)-1
if n=0 : pos govx1(cnt),govy1(cnt) : celput krwkw
loop
font "",20
pos govx2(1)+22,govy1(1)+43 : celput mojiw,17 ;mes govs1(1)
s=govs3(1) : pfp20 s,govx2(1)+17,govy1(1)+68 ;: mes govs3(1)
repeat 5,2
pos govx1(cnt),govy1(cnt)-40 : celput mojiw,10+cnt ;mes govs1(cnt)
s=govs3(cnt) : pfp20 s,govx1(cnt)-5,govy1(cnt)-21 ;: mes govs3(cnt)
loop
font "",32
pos 98,32 : celput mj32w,0 ;mes "政府"
pos 53,80 : celput mj32w,1 ;mes "GOVERNMENT";"Government"
s="unit" : pfp20 s,496,34,5
s=str(pubg(pn)) : pfp20 s,516,55,3
pos 556,55 : celput pft20w,51
s=str(pubn(pn)) : pfp20 s,574,55,3
s="item" : pfp20 s,496,84,5
s=str(pibg(pn)) : pfp20 s,516,105,3
pos 556,105 : celput pft20w,51
s=str(pibn(pn)) : pfp20 s,574,105,3
/*
s="unit" : bfp s,496,34,5
fp pubg(pn),516,54,5
s="/" : bfp s,546,54,5
fp pubn(pn),576,54,5
s="item" : bfp s,496,84,5
fp pibg(pn),516,104,5
s="/" : bfp s,546,104,5
fp pibn(pn),576,104,5
*/
/*
n=255
repeat 3 : c=cnt*10
repeat 6,1 : nn=c+cnt
color n,n,n
boxf govx1(nn),govy1(nn),govx2(nn),govy2(nn)
n-=10
loop
loop
*/
return
; op、ed表示 ------------------------------------------------------
oemjb=20
dim oemjf,oemjb ; フラグ、グラNo.(0=op、1=ed、2=cr)
dim oemjn,oemjb ; 文字No.
dim oemjc,oemjb ; カラーNo.
dim oemjx,oemjb ; x座標
dim oemjy,oemjb ; y座標
dim oemjm,oemjb ; 移動方向
dim oemjd,oemjb ; 移動量
#deffunc edmj_set int edmj_setn ; ed文字セット
f=0
repeat edmjb : n=cnt
if edmjf(n)=0 : f=1 : break
loop
if f=0 : return
edmjf(n)=edmj_setn ; 文字No.
edmjy(n)=wy ; y座標
edmjz(n)=1 ; スピード
return
#deffunc edmj_put ; ed文字表示
gmode 2
repeat edmjb : n=cnt
if edmjf(n)=0 : continue
edmjy(n)-=edmjz(n)
if edmjy(n)<-35 : edmjf(n)=0 : continue
pos 48,edmjy(n) : celput mj32_edw,edmjf(n)-1
loop
return
#deffunc edcr_set int edcr_n1,int edcr_n2,int edcr_n3,int edcr_n4 ; edクレジット文字セット
;n1=x座標、n2=グラNo.、n3=文字No.、n4=カラー
f=0
repeat edcrb : n=cnt
if edcrf(n)=0 : f=1 : break
loop
if f=0 : return
edcrx(n)=edcr_n1 ; x座標
edcrf(n)=edcr_n2 ; グラNo.
edcrn(n)=edcr_n3 ; 文字No.
edcrc(n)=edcr_n4 ; カラーNo.
edcry(n)=wy ; y座標
edcrz(n)=2 ; スピード
return
#deffunc edcr_put ; edクレジット文字表示
gmode 2
repeat edcrb : n=cnt
if edcrf(n)=0 : continue
if edcrc(n)=0 : gmulcolor 255,255,255 ; 白
if edcrc(n)=1 : gmulcolor 160,160,255 ; 青
if edcrc(n)=2 : gmulcolor 128,255,128 ; 緑
if edcrc(n)=3 : gmulcolor 228+27,85+27,139+27 ; ピンク
if edcrc(n)=4 : gmulcolor 255,96,96 ; 火
if edcrc(n)=5 : gmulcolor 96,96,255 ; 水
if edcrc(n)=6 : gmulcolor 96,255,96 ; 風
if edcrc(n)=7 : gmulcolor 255,255,96 ; 地
if edcrc(n)=8 : gmulcolor 255,255,255 ; 光
if edcrc(n)=9 : gmulcolor 160,160,160 ; 闇
edcry(n)-=edcrz(n)
if edcry(n)<-35 : edcrf(n)=0 : continue
pos edcrx(n),edcry(n)
if edcrf(n)=1 : celput cre_ftw,edcrn(n)-1
if edcrf(n)=2 : celput cre_ft2w,edcrn(n)-1
loop
gmulcolor 255,255,255
return
/*
#deffunc edmj_set int edmj_setn ; ed文字セット
f=0
repeat edmjb : n=cnt
if edmjf(n)=0 : f=1 : break
loop
if f=0 : return
edmjf(n)=edmj_setn ; 文字No.
edmjy(n)=wy ; y座標
edmjz(n)=1 ; スピード
return
#deffunc edmj_put ; ed文字表示
gmode 2
repeat edmjb : n=cnt
if edmjf(n)=0 : continue
edmjy(n)-=edmjz(n)
if edmjy(n)<-35 : edmjf(n)=0 : continue
pos 48,edmjy(n) : celput mj32_edw,edmjf(n)-1
loop
return
#deffunc edcr_set int edcr_n1,int edcr_n2,int edcr_n3,int edcr_n4 ; edクレジット文字セット
;n1=x座標、n2=グラNo.、n3=文字No.、n4=カラー
f=0
repeat edcrb : n=cnt
if edcrf(n)=0 : f=1 : break
loop
if f=0 : return
edcrx(n)=edcr_n1 ; x座標
edcrf(n)=edcr_n2 ; グラNo.
edcrn(n)=edcr_n3 ; 文字No.
edcrc(n)=edcr_n4 ; カラーNo.
edcry(n)=wy ; y座標
edcrz(n)=2 ; スピード
return
#deffunc edcr_put ; edクレジット文字表示
gmode 2
repeat edcrb : n=cnt
if edcrf(n)=0 : continue
if edcrc(n)=0 : gmulcolor 255,255,255 ; 白
if edcrc(n)=1 : gmulcolor 160,160,255 ; 青
if edcrc(n)=2 : gmulcolor 128,255,128 ; 緑
if edcrc(n)=3 : gmulcolor 228+27,85+27,139+27 ; ピンク
if edcrc(n)=4 : gmulcolor 255,96,96 ; 火
if edcrc(n)=5 : gmulcolor 96,96,255 ; 水
if edcrc(n)=6 : gmulcolor 96,255,96 ; 風
if edcrc(n)=7 : gmulcolor 255,255,96 ; 地
if edcrc(n)=8 : gmulcolor 255,255,255 ; 光
if edcrc(n)=9 : gmulcolor 160,160,160 ; 闇
edcry(n)-=edcrz(n)
if edcry(n)<-35 : edcrf(n)=0 : continue
pos edcrx(n),edcry(n)
if edcrf(n)=1 : celput cre_ftw,edcrn(n)-1
if edcrf(n)=2 : celput cre_ft2w,edcrn(n)-1
loop
gmulcolor 255,255,255
return
*/
#deffunc cdsw_set int cdsw_setf ; カードショーセット
f=0
repeat cdswb : n=cnt
if cdswf(n)=0 : f=1 : break
loop
if f=0 : return
zk=rnd(6)+1 ; 属性種類
r=rnd(cha_syu(zk))
cn=cha_zoks(zk)+r ; キャラNo.
cdswf(n)=cn ; フラグ
if cdsw_setf=0 { ; 真ん中
cdswx(n)=wx/2
cdswy(n)=77
cdswz(n)=0
}
if cdsw_setf=3 { ; 右から左へ
cdswx(n)=wx+10
cdswy(n)=rnd(wy-coy)
cdswz(n)=rnd(157)
if cdswz(n)\2=1 : cdswz(n)+=1
}
cdswd(n)=cdsw_setf ; 移動方向
return
#deffunc cdsw_put ; カードショー表示
gmode 2
repeat cdswb : n=cnt
if cdswf(n)=0 : continue
cn=cdswf(n)
if cdswd(n)=3 : cdswx(n)-=1 : if cdswx(n)<(0-cox) : cdswf(n)=0 : continue ; 左へ
cdswz(n)+=2
if cdswz(n)\314=0 {
zk=rnd(6)+1 ; 属性種類
r=rnd(cha_syu(zk))
cdswf(n)=cha_zoks(zk)+r ; キャラNo.
}
zf=sin(double(cdswz(n))*0.01)
pos cdswx(n),cdswy(n) : celput cw,cn-1,zf
loop
return
; SAVE、LOAD ---------------------------------------------------
#deffunc save_put
;color 190,190,190
;boxf 400,svy1(4),500,svy2(4)
evw 0,28+16,24,35,13 ; イベントウインドウ表示
evw 1,28+16,24,35,13 ; イベントウインドウ表示
color 203,172,49
repeat 2,1
line svx1,24+8+cnt*64,svx2,24+8+cnt*64
loop
gmulcolor 255,255,255
s="SAVE 1" : bfp s,svx1+32,svy1(1)+24,5
if dtf1=1 : s="TURN "+trn1 : bfp s,svx1+200,svy1(1)+24,5
s="SAVE 2" : bfp s,svx1+32,svy1(2)+24,5
if dtf2=1 : s="TURN "+trn2 : bfp s,svx1+200,svy1(2)+24,5
s="SAVE 3" : bfp s,svx1+32,svy1(3)+24,5
if dtf3=1 : s="TURN "+trn3 : bfp s,svx1+200,svy1(3)+24,5
evw 0,28+16,192+24+24+16,35,5 ; イベントウインドウ表示
evw 1,28+16,192+24+24+16,35,5 ; イベントウインドウ表示
switch savef
case 0
s="AUTO SAVE" : bfp s,svx1+32,svy1(4)+24,0
if dtf0=1 : s="TURN "+trn0 : bfp s,svx1+200,svy1(4)+24,5
swbreak
case 1
color 255,255,255
if dt_no=4 {
s="AUTO SAVE" : pfp20 s,svx1+32,svy1(4)+22 ; mes "AUTO SAVE にセーブしますか"
pos svx1+142,svy1(4)+22 : celput mj20_svldw,0
}
else {
s=str(dt_no) : pfp20 s,svx1+32,svy1(4)+23 ; mes ""+dt_no+" 番にセーブしますか"
pos svx1+62,svy1(4)+22 : celput mj20_svldw,1
}
pos 400,svy1(4)+24 : s="YES" : bfp s,400,svy1(4)+24,5
pos 400,svy1(4)+24 : s="NO" : bfp s,500,svy1(4)+24,5
swbreak
case 2
;color 255,255,255
s=str(dt_no) : pfp20 s,svx1+32,svy1(4)+23 ; mes ""+dt_no+" 番にセーブしました"
pos svx1+62,svy1(4)+22 : celput mj20_svldw,2
swbreak
swend
return
#deffunc load_put
evw 0,28+16,24,35,13 ; イベントウインドウ表示
evw 1,28+16,24,35,13 ; イベントウインドウ表示
color 203,172,49
repeat 3,1
line svx1,24+8+cnt*64,svx2,24+8+cnt*64
loop
gmulcolor 255,255,255
s="SAVE 1" : bfp s,svx1+32,svy1(1)+24,5
if dtf1=1 : s="TURN "+trn1 : bfp s,svx1+200,svy1(1)+24,5
s="SAVE 2" : bfp s,svx1+32,svy1(2)+24,5
if dtf2=1 : s="TURN "+trn2 : bfp s,svx1+200,svy1(2)+24,5
s="SAVE 3" : bfp s,svx1+32,svy1(3)+24,5
if dtf3=1 : s="TURN "+trn3 : bfp s,svx1+200,svy1(3)+24,5
evw 0,28+16,192+24+24+16,35,5 ; イベントウインドウ表示
evw 1,28+16,192+24+24+16,35,5 ; イベントウインドウ表示
switch savef
case 0
s="AUTO SAVE" : bfp s,svx1+32,svy1(4)+24,0
if dtf0=1 : s="TURN "+trn0 : bfp s,svx1+200,svy1(4)+24,5
swbreak
case 1
color 255,255,255
if dt_no=0 {
s="AUTO SAVE" : pfp20 s,svx1+32,svy1(4)+22 ; mes "AUTO SAVE からロードしますか"
pos svx1+142,svy1(4)+22 : celput mj20_svldw,3
}
else {
s=str(dt_no) : pfp20 s,svx1+32,svy1(4)+23 ; mes ""+dt_no+" 番からロードしますか"
pos svx1+62,svy1(4)+22 : celput mj20_svldw,4
}
pos 400,svy1(4)+24 : s="YES" : bfp s,400,svy1(4)+24,5
pos 400,svy1(4)+24 : s="NO" : bfp s,500,svy1(4)+24,5
swbreak
case 2
color 255,255,255
if dt_no=0 {
s="AUTO SAVE" : pfp20 s,svx1+32,svy1(4)+22 ; mes "AUTO SAVE からロードしました" : swbreak
pos svx1+142,svy1(4)+22 : celput mj20_svldw,5
}
else {
s=str(dt_no) : pfp20 s,svx1+32,svy1(4)+23 ; mes ""+dt_no+" 番からロードしました"
pos svx1+62,svy1(4)+22 : celput mj20_svldw,6
}
swbreak
swend
return
; エフェクト ---------------------------------------------------
#deffunc dmp_set int dmp_setn1,int dmp_setn2,int dmp_setn3 ; ダメージ表示セット
; 1=値、2=位置No.、3=カラー
repeat 20 : n=cnt*6 ; フラグ
if dmp(n)=0 : dmp(n)=1 : break
loop
dmp(n+1)=dmp_setn1 ; 値
if dmp_setn2<=3 : dmp(n+2)=bcx1(dmp_setn2) ; x
if dmp_setn2>=4 : dmp(n+2)=bcx2(dmp_setn2-3) ; x
dmp(n+3)=btly1-30 ; y
dmp(n+4)=dmp_setn3 ; カラー
dmp(n+5)=25 ; カウンター
return
#deffunc dmp_put ; ダメージ表示
repeat 20 : n=cnt*6
if dmp(n)=0 : continue
fp48 dmp(n+1),dmp(n+2),dmp(n+3),dmp(n+4)
;fp3 dmp(n+1),dmp(n+2),dmp(n+3),dmp(n+4)
dmp(n+3)-=4
dmp(n+5)- : if dmp(n+5)=0 : dmp(n)=0
loop
return
#deffunc bp int bpn2
;pos 150,325 : mes bpn2
if bpn2=0 : return
;font "",30 : color 255,255,255
x=230 : y=314
if bpn2=1 : pos x,y : celput mj26_4w,26 ;mes "右素手"
if bpn2=2 : pos x,y : celput it_ftw,bpn3 ;mes is2(bpn3)
if bpn2=3 : pos x,y : celput mj26_4w,27 ;mes "左素手"
if bpn2=4 : pos x,y : celput it_ftw,bpn3 ;mes is2(bpn3)
if bpn2=5 : pos x,y : celput mj26_4w,28 ;mes "素ATK"
if bpn2=6 : pos x,y : celput mj26_4w,29 ;mes "急降下"
if bpn2>15 and bpn2<100 : pos x,y : celput abft26w,bpn
;if bpn2>15 and bpn2<100 : pos x,y : mes utks(bpn)
if bpn2>100 : pos x,y : celput it_ftw,bpn ;mes is2(bpn)
;font "",20
return
#deffunc efsx ; 座標x
if efsn2<=3 : ef(efg+6)=bcx1(efsn2)+40 ; x
if efsn2>=4 : ef(efg+6)=bcx2(efsn2-3)+40 ; x
return
#deffunc efsm int efsmf ; 向き
repeat 1
if efsmf=1 : eff(efg2+0)*=1.0 : eff(efg2+1)*=1.0 : break ; 正
if efsmf=2 : eff(efg2+0)*=-1.0 : eff(efg2+1)*=1.0 : break ; 左右反転
if efsmf=3 : eff(efg2+0)*=1.0 : eff(efg2+1)*=-1.0 : break ; 上下反転
if efsmf=4 : eff(efg2+0)*=-1.0 : eff(efg2+1)*=-1.0 : break ; 全反転
loop
if efsn2<=3 : eff(efg2+0)*=-1.0 ; 左の隊の場合の反転
return
#deffunc efs int efsf,int efsn1,int efsn3,int efsd,int efsa,int efse,int efsox,int efsoy ; int efsx,int efsy,int dfsr,int dfsrn
; エフェクトセット(フラグ、グラ、速さ、反転、移動時間、透明か加算か、大きさx、大きさy); 動きx、動きy、回転、回転速度)
if efsf=0 : return
f=0
repeat efb ; No,ピック
if ef(efd*cnt)=0 : efg=efd*cnt : efg2=4*cnt : f=1 : break
loop
if f=0 : return ; 空きが無い
ef(efg)=efsf ; 表示種類
ef(efg+1)=efsn1 ; グラNo.
;ef(efg+2)=efsn2 ; 表示場所
ef(efg+3)=0 ; アニメカウント
ef(efg+4)=0 ; アニメ速さカウント
ef(efg+5)=efsn3 ; アニメ速さ
ef(efg+6)=0 ; x
ef(efg+7)=btly1+65 ; y
ef(efg+8)=0 ; 動きx
ef(efg+9)=0 ; 動きy
ef(efg+10)=efse ; 表示種類(0=通常、1=加算)
ef(efg+11)=efsa ; 移動時間
repeat 4
eff(efg2+cnt)=0.0 ; リセット
loop
switch efsf ; 表示種類
case 1 ; 自分固定
if fs=1 : efsn2=ut : else : efsn2=ut+3 ; 場所x
swbreak
case 2 ; 敵固定
if fs=1 : efsn2=et+3 : else : efsn2=et ; 場所x
swbreak
case 3 ; 投射
if fs=1 : efsn2=ut : else : efsn2=ut+3 ; 場所x
n=ut+et-1 : ef(efg+8)=(btlxk*n+btlck)/efsa : if fs=2 : ef(efg+8)*=-1 ; 距離とスピード
swbreak
case 4 ; 敵全体投射
if fs=1 : efsn2=4 : else : efsn2=1 ; 場所x
ef(efg+8)=(btlxk*3)/efsa : if fs=2 : ef(efg+8)*=-1 ; 距離とスピード
swbreak
case 5 ; 味方全体
if fs=1 : efsn2=2 : else : efsn2=5 ; 場所x
swbreak
case 6 ; 敵全体
if fs=1 : efsn2=5 : else : efsn2=2 ; 場所x
swbreak
case 7 ; 召還
if fs=1 : efsn2=smn : else : efsn2=smn+3 ; 場所x
swbreak
case 8 ; リザレクション
if fs=1 : efsn2=rt : else : efsn2=rt+3 ; 場所x
swbreak
swend
efsx ; x
if efsox=0 : eff(efg2+0)=1.0 : else : eff(efg2+0)=1.0*double(efsox)/10.0 ; 大きさ修正x
if efsoy=0 : eff(efg2+1)=1.0 : else : eff(efg2+1)=1.0*double(efsoy)/10.0 ; 大きさ修正y
efsm efsd ; 向き
; 回転
if btsn=5 : if efsn2<=3 : eff(efg2+2)=0.6 : else : eff(efg2+2)=-0.6 ; 曲刀
if btsn=6 : if efsn2<=3 : eff(efg2+2)=-0.3 : else : eff(efg2+2)=0.3 ; 刺突剣
if btsn=8 : if efsn2<=3 : eff(efg2+2)=-0.9 : else : eff(efg2+2)=0.9 ; 大剣
if btsn=11 : if efsn2<=3 : eff(efg2+2)=0.6 : else : eff(efg2+2)=-0.6 ; 槌
if btsn=15 { ; 大砲
if fs=1 : eff(efg2+3)=2.0 ; 回転
if fs=2 : eff(efg2+3)=-2.0
}
if btsf2=10 : if efsn2<=3 : eff(efg2+2)=1.6 : else : eff(efg2+2)=-1.6 ; フャイヤー
if btsf2=14 : if efsn2<=3 : eff(efg2+2)=0.6 : else : eff(efg2+2)=-0.6 ; フレイムアロー
if btsf2=20 : if efsn2<=3 : eff(efg2+2)=-1.5 : else : eff(efg2+2)=1.5 ; アイスニードル
if btsf2=21 : if efsn2<=3 : eff(efg2+2)=1.6 : else : eff(efg2+2)=-1.6 ; ウォーターストリーム
if btsf2=24 { ; アイスジャベリン
if efsn2<=3 : eff(efg2+2)=-1.6 : else : eff(efg2+2)=1.6
ef(efg+3)=10 : ef(efg+11)=30 ; グラ途中から
}
if btsf2=25 : eff(efg2+2)=-1.7 : eff(efg2+2)=1.7 ; アイスピラー
if btsf2=28 : ef(efg+7)+=24 ; メイルシュトローム
if btsf2=37 { ; ライトニングボルト
if efsn2<=3 : eff(efg2+2)=1.6 : else : eff(efg2+2)=-1.6
}
if btsf2=38 { ; ウィンドストーム
if fs=1 : ef(efg+6)-=60 : else : ef(efg+6)+=60 ; x
}
if btsf2=40 : ef(efg+7)-=20 ; アースキュア
if btsf2=42 : ef(efg+7)-=15 ; ネイチャーヒール
if btsf2=46 : if efsn2<=3 : eff(efg2+2)=1.6 : else : eff(efg2+2)=-1.6 ; ストーンブラスト
if btsf2=57 : if efsn2<=3 : eff(efg2+2)=1.6 : else : eff(efg2+2)=-1.6 ; サイキックフォース
if btsf2=59 : ef(efg+6)-=1 : ef(efg+7)-=60 ; ホーリーライトサークル
if btsf2=60 : ef(efg+7)-=10 ; レイブレイド
if btsf2=92 : ef(efg+7)-=40 ; スタン
if btsf2=105 or btsf2=106 { ; ファイヤーブレス、コールドブレス
if fs=1 : eff(efg2+2)=1.5 : ef(efg+6)-=20
if fs=2 : eff(efg2+2)=-1.5 : ef(efg+6)+=20
}
if btsf2=108 { ; 咆哮
if fs=1 : ef(efg+6)-=60 : else : ef(efg+6)+=60 ; x
}
if btsf2=110 { ; ポイズンブレス
if fs=1 : ef(efg+6)-=60 : else : ef(efg+6)+=60 ; x
}
if btsf2=119 { ; 火炎弾
if fs=1 : eff(efg2+2)=-1.6 : else : eff(efg2+2)=1.6
}
if btsf2=122 : ef(efg+7)-=14 ; ヒールオール
if btsf2=210 { ; ダイナマイト
if fs=1 : eff(efg2+3)=0.8 ; 回転
if fs=2 : eff(efg2+3)=-0.8
}
if btsf2=211 { ; 爆弾
if fs=1 : eff(efg2+3)=1.7 ; 回転
if fs=2 : eff(efg2+3)=-1.7
}
return
#deffunc efp ; エフェクトプット
repeat efb
efg=efd*cnt : efg2=4*cnt ; データの先頭
if ef(efg)=0 : continue ; 無い
ef(efg+4)+ : if ef(efg+4)>=ef(efg+5) : ef(efg+3)+ : ef(efg+4)=0 : ; アニメウエイト処理
if ef(efg+10)=0 : gmode 3,,,255 : else : gmode 5,,,255 ; 透明、加算
pos ef(efg+6),ef(efg+7)
celput efw(ef(efg+1)),ef(efg+3),eff(efg2+0),eff(efg2+1),eff(efg2+2)
if ef(efg+3)>=efga(ef(efg+1)) : ef(efg)=0 : break ; アニメ
if ef(efg+3)<=ef(efg+11) : ef(efg+6)+=ef(efg+8) ; 動きx
ef(efg+7)+=ef(efg+9) ; 動きy
eff(efg2+2)+=eff(efg2+3) ; 回転
loop
return
#deffunc bts int btsf,int btsc ; エフェクト分配
btsn=0 : btsf2=btsf ; 種類
switch btsf
case 1 ; 素アタック
if us=6 or us=11 or us=13 or us=33 or us=36 or us=46 or us=51 or us=72 or us=74 or us=97 or us=111 or us=167 or us=181 or us=185 or us=205 : btsn=1
if us=71 or us=92 or us=96 or us=118 or us=132 or us=184 : btsn=2
if us=7 or us=16 or us=52 or us=135 or us=168 : btsn=3
if us=1 or us=8 or us=12 or us=32 or us=35 or us=43 or us=50 or us=73 or us=94 or us=95 or us=112 or us=120 or us=151 or us=152 or us=153 or us=169 or us=190 or us=192 : btsn=4
if us=31 or us=183 : btsn=17 ; 急降下
if btsn=0 : efs 2,1,2,1,0,0 : mmplays 21 : swbreak ; 素手
if btsn=1 : efs 2,3,2,1,0,0 : mmplays 22 : swbreak ; 牙
if btsn=2 : efs 2,2,2,2,0,0 : mmplays 23 : swbreak ; 爪
if btsn=3 : efs 2,4,2,2,0,0 : mmplays 24 : swbreak ; 尾
if btsn=4 : efs 2,9,2,1,0,0 : mmplays 25 : swbreak ; 体当たり
if btsn=17 : efs 2,100,2,1,0,0 : mmplays 26 : swbreak ; 急降下
swbreak
case 2 ; 近接武器アタック
itn=id(ig)
/*
redraw 0
color 255,0,0
pos 100,100 : mes itn
redraw 1
pkey
*/
if itn=9 or itn=10 or itn=16 or itn=24 : btsn=5 : efs 2,5,1,1,0,0 : mmplays 27 : swbreak ; 曲刀
if itn=8 or itn=11 or itn=14 or itn=23 : btsn=6 : efs 2,7,2,2,0,0 : mmplays 28 : swbreak ; 刺突剣
if id(ig+19)=1 : btsn=7 : efs 2,15,2,2,0,0 : mmplays 29 : swbreak ; 剣
if id(ig+19)=2 : btsn=8 : efs 2,11,2,1,0,0 : mmplays 30 : swbreak ; 大剣
if id(ig+19)=3 : btsn=9 : efs 2, 8,2,1,0,0 : mmplays 31 : swbreak ; 槍
if id(ig+19)=4 : btsn=10 : efs 2,12,2,2,0,0 : mmplays 32 : swbreak ; 斧
if id(ig+19)=5 : btsn=11 : efs 2,13,2,2,0,0 : mmplays 33 : swbreak ; 槌
if id(ig+19)=6 : btsn=12 : efs 2,14,2,4,0,0 : mmplays 34 : swbreak ; 杖
if id(ig+8)=1 : btsn=7 : efs 2,15,2,2,0,0 : mmplays 39 : swbreak ; その他投擲
swbreak
case 3 ; 投射武器アタック
if id(ig+19)=7 : btsn=13 : efs 3,16 ,1,1,8,0 : mmplays 35 : swbreak ; 弓
if id(ig+19)=8 : btsn=14 : efs 3,18 ,1,2,9,0 : mmplays 36 : swbreak ; ボウ
if id(ig)=90 : btsn=15 : efs 3,107,7,1,5,1,16,16 : mmplays 37 : swbreak ; 大砲
if id(ig+19)=9 : btsn=16 : efs 2,17 ,1,1,0,0 : mmplays 38 : swbreak ; 銃
if id(ig+8)=1 : efs 3,104,1,1,8,0 : mmplays 39 : swbreak ; 投擲
swbreak
case 10 : efs 3,20,2,3,14,1 : mmplays 49 : swbreak ; ファイヤー
case 11 : efs 1,21,1,1,0 ,1,7 ,7 : mmplays 50 : swbreak ; ファイヤーウェポン
case 12 : efs 1,22,2,1,0 ,1 : mmplays 51 : swbreak ; バーサーク
case 13 : efs 2,23,2,1,0 ,1 : mmplays 52 : swbreak ; ファイヤーピレイム
case 14 : efs 3,24,1,1,13,1 : mmplays 53 : swbreak ; フレイムアロー
case 15 : efs 1,25,1,1,0 ,1 : mmplays 54 : swbreak ; バトルソング
case 16 : efs 3,26,1,1,7 ,1 : mmplays 55 : swbreak ; ファイアーボール
case 17 : efs 6,28,3,1,0 ,1 : mmplays 57 : swbreak ; ファイヤーウォール
case 18 : efs 6,29,3,1,0 ,1 : mmplays 58 : swbreak ; エクスプロージョン
case 20 : efs 3,30,1,1,18,1,2 ,0 : mmplays 58 : swbreak ; アイスニードル
case 21 : efs 3,31,2,3,17,1 : mmplays 59 : swbreak ; ウォーターストリーム
case 22 : efs 1,59,1,1,0 ,1 : mmplays 60 : swbreak ; ピュリファイ
case 23 : efs 1,33,1,1,0 ,1,8 ,8 : mmplays 61 : swbreak ; アイスエンチャント
case 24 : efs 3,34,1,1,18,1,2 ,18 : mmplays 62 : swbreak ; アイスジャベリン
case 25 : efs 2,35,3,4,0 ,0 : mmplays 63 : swbreak ; アイスピラー
case 26 : efs 1,36,2,1,0 ,1 : mmplays 64 : swbreak ; ウォータースクリーン
case 27 : efs 6,37,3,1,0 ,1 : mmplays 65 : swbreak ; 津波
case 28 : efs 6,38,3,1,0 ,1,25,0 : mmplays 66 : swbreak ; メイルシュトローム
case 29 ; ブリザード
repeat 3,1
et=cnt : efs 2,39,2,1,0 ,1,8 ,8
loop
mmplays 67
swbreak
case 30 : efs 3,40,1,1,8 ,1,0 ,3 : mmplays 68 : swbreak ; ウインドカッター
case 31 : efs 1,41,2,1,0 ,1,7 ,7 : mmplays 69 : swbreak ; ウインドムーブ
case 32 : efs 2,42,1,1,0 ,0,6 ,6 : mmplays 70 : swbreak ; サンダー
case 33 : efs 1,43,1,1,0 ,0,8 ,8 : mmplays 71 : swbreak ; ウィンドエンチャント
case 34 : efs 1,44,1,1,0 ,1,8 ,18 : mmplays 72 : swbreak ; サンダーウエポン
case 35 : efs 6,45,2,1,0 ,0 : mmplays 73 : swbreak ; セイレーンボイス
case 36 : efs 1,46,2,1,0 ,1 : mmplays 74 : swbreak ; ウィンドウォール
case 37 : efs 6,47,2,1,0 ,1,8 ,30 : mmplays 75 : swbreak ; ライトニングボルト
case 38 : efs 4,48,3,1,26,1,14,14 : mmplays 76 : swbreak ; ウィンドストーム
case 40 : efs 1,49,2,1,0 ,1,14,14 : mmplays 79 : swbreak ; アースキュア
case 41 : efs 1,50,2,1,0 ,1,12,12 : mmplays 78 : swbreak ; ハードコーティング
case 42 : efs 1,58,2,1,0 ,1,12,12 : mmplays 77 : swbreak ; ネイチャーヒール
case 43 : efs 2,52,1,1,0 ,1,8 ,8 : mmplays 80 : swbreak ; グラヴィティマグネット
case 44 : efs 1,53,2,1,0 ,1 : mmplays 81 : swbreak ; グラビティウエポン
case 45 : efs 2,54,2,1,0 ,1 : mmplays 82 : swbreak ; バインディングブランチ
case 46 : efs 3,55,2,1,14,0 : mmplays 83 : swbreak ; ストーンブラスト
case 47 : efs 7,56,2,1,0 ,1 : mmplays 84 : swbreak ; ゴーレムクリエイト
case 48 : efs 6,57,3,1,0 ,0,0 ,13 : mmplays 85 : swbreak ; アースクエイク
case 50 : efs 1,60,1,1,0 ,1,7 ,7 : mmplays 86 : swbreak ; ヒール
case 51 : efs 2,61,2,1,0 ,1,8 ,8 : mmplays 87 : swbreak ; ターンアンデッド
case 52 : efs 1,62,1,1,0 ,1,7 ,7 : mmplays 88 : swbreak ; フォースセンス
case 53 : efs 1,63,2,1,0 ,1 : mmplays 89 : swbreak ; ホーリーライトキュア
case 54 : efs 1,64,1,1,0 ,1,7 ,7 : mmplays 90 : swbreak ; ホーリーウエポン
case 55 : efs 1,65,2,1,0 ,1 : mmplays 91 : swbreak ; プロテクト
case 56 : efs 3,66,1,2,5 ,1,0 ,17 : mmplays 92 : swbreak ; レイアロー
case 57 : efs 3,67,1,3,8 ,1 : mmplays 93 : swbreak ; サイキックフォース
case 58 : efs 1,68,1,1,0 ,1,7 ,7 : mmplays 94 : swbreak ; ブレス
case 59 : efs 1,69,1,1,0 ,1,17,17 : mmplays 95 : swbreak ; ホーリーライトサークル
case 60 : efs 2,70,2,2,0 ,1,9 ,9 : mmplays 96 : swbreak ; レイブレイド
case 61 : efs 5,71,3,1,0 ,1,50,7 : swbreak ; ホーリーライトヒール
case 62 : efs 7,72,2,1,0 ,1 : mmplays 98 : swbreak ; ウィル・オ・ウィスプ
case 63 : efs 8,32,2,1,0 ,1 : mmplays 99 : swbreak ; リザレクション
case 70 : efs 2,73,1,1,0 ,1,9 ,9 : mmplays 100 : swbreak ; マインドブラスト
case 71 : efs 2,74,2,1,0 ,1,16,16 : mmplays 101 : swbreak ; ポイズン
case 72 : efs 2,75,2,1,0 ,0,20,20 : mmplays 102 : swbreak ; 邪眼
case 73 : efs 2,76,1,1,0 ,1 : mmplays 103 : swbreak ; チャーム
case 74 : efs 2,77,1,1,0 ,1 : mmplays 104 : swbreak ; ウィークネス
case 75 : efs 2,78,2,1,0 ,1 : mmplays 105 : swbreak ; カース
case 76 : efs 2,79,1,1,0 ,1 : mmplays 106 : swbreak ; ダークネス
case 77 ; フレイムカース
repeat 3,1
et=cnt : efs 2,80,2,1,0 ,1,14,14
loop
mmplays 107
swbreak
case 78 : efs 7,81,2,1,0 ,1 : mmplays 108 : swbreak ; デモンズゲート
; その他のエフェクト
case 90 : efs 2,27,1,1,0 ,1 : mmplays 56 : swbreak ; ファイアーボールの爆発
case 91 : n=btsc+1 : efs n,91,2,1,0 ,0,8 ,8 : swbreak ; 麻痺
case 92 : n=btsc+1 : efs n,90,1,1,0 ,1 : swbreak ; スタン
case 93 : n=btsc+1 : efs n,92,1,1,0 ,1 : swbreak ; 魅惑、自
case 94 : n=btsc+1 : efs n,93,2,1,0 ,1 : swbreak ; 火傷
case 95 : n=btsc+1 : efs n,74,2,1,0 ,1 : swbreak ; 毒
case 96 : efs 1,43,2,1,0 ,1,9 ,9 : mmplays 114 : swbreak ; 再生
case 97 : efs 2,92,1,1,0 ,1 : mmplays 103 : swbreak ; 魅惑、敵
; 特殊
case 101 : efs 2,76,1,1,0 ,1 : mmplays 103 : swbreak ; チャーム
case 102 : efs 7,81,2,1,0 ,1 : mmplays 117 : swbreak ; ネクロマンサー
case 103 : efs 2,82,1,1,0 ,1 : mmplays 118 : swbreak ; 吸血
case 104 : efs 2,83,1,1,0 ,1,7 ,7 : mmplays 119 : swbreak ; ナイトメア
case 105 : efs 6,84,1,4,0 ,1,5 ,18 : mmplays 120 : swbreak ; ファイヤーブレス
case 106 : efs 6,85,1,4,0 ,1,5 ,18 : mmplays 121 : swbreak ; コールドブレス
case 107 : efs 6,47,2,1,0 ,1 : mmplays 75 : swbreak ; サンダーブレス
case 108 : efs 4,86,1,2,15,1 : mmplays 123 : swbreak ; 咆哮
case 109 : efs 6,87,1,1,0 ,1,20,0 : mmplays 124 : swbreak ; ホーリーブレス
case 110 : efs 4,78,2,1,20,1 : mmplays 125 : swbreak ; ポイズンブレス
case 111 : efs 6,37,3,1,0 ,1 : mmplays 65 : swbreak ; 津波
case 112 : efs 2,89,2,1,0 ,1 : mmplays 127 : swbreak ; 火の息
case 113 : efs 2,27,1,1,0 ,1 : mmplays 56 : swbreak ; ファイアーボールの爆発
case 114 : efs 3,26,1,1,7 ,1 : mmplays 55 : swbreak ; ファイアーボール
case 115 : efs 6,29,3,1,0 ,1 : mmplays 130 : swbreak ; ファイアーストーム
case 116 : efs 6,39,2,1,0 ,1 : mmplays 131 : swbreak ; コールドストーム
case 117 : efs 2,80,2,1,0 ,1 : mmplays 132 : swbreak ; ダークスフィア
case 118 : efs 3,48,3,0,20,1 : mmplays 133 : swbreak ; ウィンドストーム
case 119 : efs 3,23,2,0,17,1 : mmplays 134 : swbreak ; 火炎弾
case 120 : efs 2,101,1,0,0,1 : mmplays 135 : swbreak ; 岩投下
case 121 : efs 1,102,2,0,0,1 : mmplays 86 : swbreak ; 天使系ヒール
case 122 : efs 5,69,3,1,0 ,1,50,15 : swbreak ; 天使系ヒールオール
case 123 : efs 1,103,1,1,0,1 : swbreak ; ヒールソング
; アイテム
case 201 : efs 1,94,2,1,0 ,1,6,6 : mmplays 41 : swbreak ; 包帯
case 202 : efs 1,95,2,1,0 ,1 : mmplays 42 : swbreak ; ポーション
case 203 : efs 1,94,2,1,0 ,1,7,7 : swbreak ; 救急箱
case 204 : efs 1,95,2,1,0 ,1,14,14 : mmplays 43 : swbreak ; ラージポーション
case 205 : efs 1,96,2,1,0 ,1,8,8 : mmplays 44 : swbreak ; 火傷の塗り薬
case 206 : efs 1,97,2,1,0 ,1,8,8 : mmplays 45 : swbreak ; ファイアードロップ
case 207 : efs 1,98,2,1,0 ,1,8,8 : mmplays 46 : swbreak ; マヒ消し
case 208 : efs 1,56,2,1,0 ,1,8,8 : mmplays 47 : swbreak ; 気付け薬
case 209 : efs 1,99,2,1,0 ,1,8,8 : mmplays 48 : swbreak ; 毒消し
case 210 : efs 3,105,10,1,7,1,25,25 : swbreak ; ダイナマイト
case 211 : efs 3,106,10,1,7,1,25,25 : swbreak ; 爆弾
; 投擲 96、剣45
; ヒールソング 112f
; 天使系ヒール 074,回復系1-1,
; 急降下085、084.剣2-3
; 岩投下、地1-2、1-3、地1、
; 火炎弾102a火16
;包帯 008.013b-1.51.116a,
;POT 107f.029,
;キュア 025,029.051~.065~、073.013a,013a-1,013a-2,
;解毒 回復12,
;解麻痺、気絶 回復2,光3.
;解火傷 火2,火3,
;解氷 水1
;解呪 闇17、
swend
return
たくさん(3500行)書いてあるけど、これがこのゲームの表示のほとんど全てだ。
それと 660行までは表示のための変数定義になってる。
mes命令がコメントアウトで残ってるから、どこが変更になったのか多少分かると思う。
以上です。
後残ってる作業はオープニングとエンディング、後はテストプレイ、デバッグ、バランス調整。
発売は 4月か 5月になると思うけど、3年前の 5月から作り始めてるみたいなので、丸 3年かかったという事になりそう。