commonplacebook9019 @ ウィキ
N6のMod用自作関数 状態取得
最終更新:
commonplacebook9019
-
view
ある能力がほかの能力の二倍以上
bool Is_政治の2倍以上戦闘(int 武将番号) {
if (0 <= 武将番号 && 武将番号 < 最大数::武将情報::配列数) {
int 政治 = p武将情報[武将番号].最大政才;
int 戦闘 = p武将情報[武将番号].最大戦才;
政治 += int(政治*0.95);
if (戦闘 >= 政治 && p武将情報[武将番号].足軽適性 > 3 ) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
bool Is_戦闘の2倍以上政治(int 武将番号) {
if (0 <= 武将番号 && 武将番号 < 最大数::武将情報::配列数) {
int 政治 = p武将情報[武将番号].最大政才;
int 戦闘 = p武将情報[武将番号].最大戦才;
戦闘 += int(戦闘*0.95);
if (政治 >= 戦闘) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
bool Is_戦闘の2倍以上智謀(int 武将番号) {
if (0 <= 武将番号 && 武将番号 < 最大数::武将情報::配列数) {
int 智謀 = p武将情報[武将番号].最大智才;
int 戦闘 = p武将情報[武将番号].最大戦才;
戦闘 += int(戦闘*0.95);
if (智謀 >= 戦闘) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
大名家AとB、AとCは友好的だがBとCは友好が低い
bool ●_812追加_AとB、AとCは仲がいいが、BとCは仲が悪い(int 大名1番号【配列用】, int 大名2番号【配列用】, int 大名3番号【配列用】) {
if (0 <= 大名1番号【配列用】 && 大名1番号【配列用】 < 最大数::大名情報::配列数 &&
0 <= 大名2番号【配列用】 && 大名2番号【配列用】 < 最大数::大名情報::配列数 &&
0 <= 大名3番号【配列用】 && 大名3番号【配列用】 < 最大数::大名情報::配列数) {
int 今の友好度1 = Get_友好関係(大名1番号【配列用】, 大名2番号【配列用】);
int 今の友好度2 = Get_友好関係(大名1番号【配列用】, 大名3番号【配列用】);
int 今の友好度3 = Get_友好関係(大名2番号【配列用】, 大名2番号【配列用】);
if ((今の友好度1 >= 60 && 今の友好度2 >= 60) && (今の友好度3 <= 40)) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
軍団に任意数値以上の物資はある
bool Is_資金はちゃんとある(int 金額, int 軍団) {
if (0 <= 軍団 && 軍団 < 最大数::軍団情報::配列数) {
int 金 = p軍団情報[軍団].金;
if (金 > 金額) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
bool Is_物資はちゃんとある(int 物資, int 軍団) {
if (0 <= 軍団 && 軍団 < 最大数::軍団情報::配列数) {
int 金 = p軍団情報[軍団].米;
if (金 > 物資) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
城は大名拠点と接続されている
int ●_812追加_補給路は通っている(int 城番号【配列用】) {
int 補給路あり = 0;
int G1 = p城情報[城番号【配列用】].所属軍団【軍団番号】 - 1;
int 大名番号 = p軍団情報[G1].所属大名【大名番号】 - 1;
if (0 <= 城番号【配列用】 && 城番号【配列用】 < 最大数::城情報::配列数 &&
0 <= 大名番号 && 大名番号 < 最大数::大名情報::配列数) {
Set_城経路グラフ初期化();
番号リスト型 大名List = Get_大名番号リスト【配列用】(FALSE);
for each(int 大名List1 in 大名List) {
if (0 <= 大名List1 && 大名List1 < 最大数::大名情報::配列数) {
番号リスト型 城list = Get_大名所持城番号リスト【配列用】(大名List1);
for each(int 城3 in 城list) {
if (0 <= 城3 && 城3 < 最大数::城情報::配列数) {
if (Is_同盟関係(大名番号, 大名List1)) {
}
else {
Set_城経路グラフから城削除(城3);
}
}
}
}
}
int iDaimyo武将D1 = p大名情報[大名番号].大名【武将番号】 - 1;
int iDaimyo拠点D1 = p武将情報[iDaimyo武将D1].所属居城【城番号】 - 1;
番号リスト型 clist = Get_経路上の城番号リスト【配列用】(iDaimyo拠点D1, 城番号【配列用】); // 躑躅ヶ崎館 から 月山富田城まで
if (clist.size() < 2) {
}
else {
for each(int iCastleID in clist) {
補給路あり++;
}
}
return 補給路あり;
}
return 補給路あり;
}
家紋番号の大名家は存在しない
bool bool関数_大名現存せず(int 家紋) {
番号リスト型 大名 = Get_大名番号リスト【配列用】(FALSE);
int 家紋なし = 0;
for each(int 大名3 in 大名) {
if (0 <= 大名3 && 大名3 < 最大数::大名情報::配列数) {
if (p大名情報[大名3].家紋 == 家紋) { 家紋なし++; }
}
}
if (家紋なし == 0) {return true;}
else {return false;}
}
城は開墾可能
bool Is_城は開墾可能(int 城番号【配列用】) {
if (0 <= 城番号【配列用】 && 城番号【配列用】 < 最大数::城情報::配列数) {
int 現在石高 = p城情報[城番号【配列用】].石高;
int 最大石高 = int(p城付加情報[城番号【配列用】].最大石高÷10 * 10);
if (現在石高 < 最大石高) {
return true;
}
}
return false;
}
城は指定した大名が支配している
bool bool関数_城を大名が占領(int 城a, int 大名番号【配列用】) {
if (0 <= 大名番号【配列用】 && 大名番号【配列用】 < 最大数::大名情報::配列数) {
if (0 <= 城a && 城a < 最大数::城情報::配列数) {
int 城aa = p城情報[城a].所属軍団【軍団番号】 - 1;
if (0 <= 城aa && 城aa < 最大数::軍団情報::配列数 && 0) {
int 城aaD = p軍団情報[城aa].所属大名【大名番号】 - 1;
if (0 <= 城aaD && 城aaD < 最大数::大名情報::配列数) {
if (大名番号【配列用】 == 城aaD) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
else {
return false;
}
}
else {
return false;
}
return false;
}
else {
return false;
}
}