+
|
一致団結 |
class 一致団結
{
private MainControl ctrl;
//武将コントロールを取得
MemoryMap.cCharacter Daimyo;
public 一致団結(MainControl cnt)
{
ctrl = cnt;
ctrl.Event.SeasonEvent += new cEventControl.EventHandler(一致団結処理);
}
void 一致団結処理(object o, EventArgs e)
{
//全勢力を検索
for (uint i = 0; i < cInfluenceInfo.LIMIT; i++)
{
//特定技術を持っていたら先へ
if (ctrl.MemControls.InfluenceControl.Influence(i).HasSkill( ここに技術のIDを入れる ))
{
//その勢力の武将をIDListに入れる
Daimyo = ctrl.MemControls.InfluenceControl.Influence(i).Daimyo;
uint[] IDList = ctrl.MemControls.CharaControl.SameInfluenceCharaList(Daimyo.Name);
foreach (uint ID in IDList)
{
//大名と武将の血族Noが同じだったら先へ
if (Daimyo.Info.Blood == ctrl.MemControls.CharaControl.Chara(ID).Info.Blood)
{
//0~3の値をランダムで出すことで譜代補正のような上がり方を再現(できてるかなぁ・・・)
System.Random cRandom = new System.Random();
int iResult = cRandom.Next(4);
switch (iResult)
{
case 0:
//統率を1増やす
ctrl.MemControls.CharaControl.Chara(ID).StatusUP(1, 0, 0, 0);
//対象武将の名前、上昇前の値 => 上昇後の値をログに表示
ctrl.Event.AddMessage(string.Format("【一致団結】 {0}:統率 {1}=>{2}",
ctrl.MemControls.CharaControl.RegistedName(ID),
ctrl.MemControls.CharaControl.Chara(ID).Status.Manage - 1,
ctrl.MemControls.CharaControl.Chara(ID).Status.Manage));
break;
case 1:
ctrl.MemControls.CharaControl.Chara(ID).StatusUP(0, 1, 0, 0);
ctrl.Event.AddMessage(string.Format("【一致団結】 {0}:武勇 {1}=>{2}",
ctrl.MemControls.CharaControl.RegistedName(ID),
ctrl.MemControls.CharaControl.Chara(ID).Status.Power - 1,
ctrl.MemControls.CharaControl.Chara(ID).Status.Power));
break;
case 2:
ctrl.MemControls.CharaControl.Chara(ID).StatusUP(0, 0, 1, 0);
ctrl.MemControls.CharaControl.Chara(ID).Status.Intellect += 1;
ctrl.Event.AddMessage(string.Format("【一致団結】 {0}:知略 {1}=>{2}",
ctrl.MemControls.CharaControl.RegistedName(ID),
ctrl.MemControls.CharaControl.Chara(ID).Status.Intellect - 1,
ctrl.MemControls.CharaControl.Chara(ID).Status.Intellect));
break;
case 3:
ctrl.MemControls.CharaControl.Chara(ID).StatusUP(0, 0, 0, 1);
ctrl.Event.AddMessage(string.Format("【一致団結】 {0}:政治 {1}=>{2}",
ctrl.MemControls.CharaControl.RegistedName(ID),
ctrl.MemControls.CharaControl.Chara(ID).Status.Government - 1,
ctrl.MemControls.CharaControl.Chara(ID).Status.Government));
break;
}
}
}
}
}
}
}
|