2020年 12月 4日
cα 1.05

更新内容は次の通り。
外交館を廃止
アイテムストックの種類のバランスを取るアルゴリズムを追加
倉庫の支配人の能力によりアイテムの最大数増加
外交館を廃止してみた。

外交館は設置した HEXの戦力を相手側に増して見せて攻め込まれないようにするという建設物だったけど、マップが狭いし CPUが全然攻め込まなくなるので廃止してみた。
合わせて CPUが攻め込む条件や城壁値のバランス等を調整して CPUが積極的に攻め込んで状況が変化するようにした。
倉庫の支配人の能力によりアイテムの最大数増加。

INT/5で最大 20個倉庫のアイテムストック数が増えるようにした。

通常は 30個で、INTの補整 8個分増えてる、城の初期値は 50個、左の数字は現数。
アイテムストックの種類のバランスを取るアルゴリズムを追加

後半戦で戦力が拮抗して攻め切れない原因の一つがストックするアイテムのバランスで、今までは単にアイテム Lvで入れ替えしていただけだったので、種類のバランスが悪くて弱体化していた。
出現時にバランスよく出現するように調整した。
itsf1=itd(25,itn) ; ストック種類
itsf2=0 ; 個数
itsf3=0 ; 入れ替えフラグ(0=無し、1=一種、2=レベル順)
itsf4=0 ; 1種の個数
repeat pib,idsh(pn) : ig=cnt*idb
if id(cnt*idb+25)=itsf1 : itsf2+ ; 個数
loop
n=pibsn(pn)+1 : soukon=n ; 倉庫の数
if itsf1=1 : itsf3=1 : itsf4=n*3;2 ;: if itsf2>=itsf4 : itsf3=2 ; 剣
if itsf1=2 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 両剣
if itsf1=3 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 棍
if itsf1=4 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; ロッド
if itsf1=5 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 槍
if itsf1=6 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 弓
if itsf1=7 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 銃
if itsf1=8 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 大砲
if itsf1=9 : itsf3=0 : itsf4=n*2/*1*/ : if itsf2>=itsf4 : itsf3=2 ; ボウ
if itsf1=10 : itsf3=0/*1*/ : itsf4=n*2/*1*/ : if itsf2>=itsf4 : itsf3=2 ; 投擲
;11
if itsf1=11 : itsf3=1 : itsf4=n*3;2 ;: if itsf2>=itsf4 : itsf3=2 ; 防具
if itsf1=12 : itsf3=1 : itsf4=n*2;2 ;: if itsf2>=itsf4 : itsf3=2 ; ステ防具
if itsf1=13 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 盾
;16
if itsf1=14 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 帽子
if itsf1=15 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; ステ帽子
if itsf1=16 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 篭手
if itsf1=17 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 靴
;20
if itsf1=18 : itsf3=3 : itsf4=n*10;: if itsf2>=itsf4 : itsf3=2 ; アクセ
;30
if itsf1=19 : itsf3=0 : itsf4=n*2 : if itsf2>=itsf4 : itsf3=2 ; ガイド
if itsf1=20 : itsf3=1 : itsf4=n*3;1 ;: if itsf2>=itsf4 : itsf3=2 ; 本
if itsf1=21 : itsf3=0 : itsf4=n*3/*2*/ : if itsf2>=itsf4 : itsf3=2 ; 爆弾
;35
if itsf1=22 : itsf3=3 : itsf4=n*9 ;: if itsf2>=itsf4 : itsf3=2 ; アイテム
;44
if itsf1=23 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 矢筒
if itsf1=24 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 矢
if itsf1=25 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 弾
if itsf1=26 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 砲弾
;48
if itsf1=27 : itsf3=1 : itsf4=n*6;2 ;: if itsf2>=itsf4 : itsf3=2 ; 魔法
;50
if itsf3=0 { ; 空きがある
in=0
repeat pibn(pn),idsh(pn) : ig=cnt*idb ; アイテムNo,
if id(ig)=0 : in=cnt : pibg(pn)+ : break ; 空き
loop
if in=0 : itsf3=2 ; swbreak ; 空きが無かった
}
if itsf3=1 or itsf3=3 { ; 1種1個
c=0 : f=0
repeat pibn(pn),idsh(pn) : in2=cnt : ig2=in2*idb
if id(ig2)!itn : continue ; 違うアイテム
if itsf3=1 : f=1 : break
if itsf3=3 : c+ : if c>=soukon : f=1 : break ; 既に個数有るので終わり
loop
if f=1 : swbreak ; 個数有る
; 空き確認
in=0
if itsf2<itsf4 {
repeat pibn(pn),idsh(pn) : ig=cnt*idb ; アイテムNo,
if id(ig)=0 : in=cnt : pibg(pn)+ : break ; 空き
loop
}
if in=0 { ; 空きが無かった
n1=itd(15,itn) ; 作成レベル
; 入れ替え
repeat pibn(pn),idsh(pn) : in2=cnt : ig2=in2*idb
if id(ig2)=0 or id(ig2+25)!itsf1 : continue ; 比較外
n2=id(ig2+15)
if n2<n1 : in=cnt : n1=n2 ; 最弱
loop
if in=0 : swbreak ; 入れ替えなかった
}
}
if itsf3=2 { ; レベル順:
n1=itd(15,itn) ; 作成レベル
; 入れ替え
;nn=1 : gosub *ijyun_put1
in=0
repeat pibn(pn),idsh(pn) : in2=cnt : ig2=in2*idb
if id(ig2)=0 or id(ig2+25)!itsf1 : continue ; 比較外
n2=id(ig2+15) ; レベル
if n2<n1 : in=cnt : n1=n2 ; 最弱
loop
if in=0 : swbreak ; 入れ替えなかった
;nn=2 : gosub *ijyun_put1
}
これを作るのに 3週間かかった、ちょっと調子悪かったのもある、大統領戦が・・・(笑)
そのためにアイテムエディッターに後付でストック種類の項目をデータに追加、編集してる。

これで後半戦でも CPUのアイテムストックバランスはよくなった。



また CPU任せでも統一してくれるようになった。

後細かい修正で、残ってた mes表示を改修。

という事で、今度こそそろそろオープンベータへの移行を考えてる。