覚醒プログラム


特殊能力


ゲームシステム

+ 一致団結
   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;
                           }
                       }
                   }
               }
           }
       }
   }
  • 季節の初めに実行されるプログラム
  • 特定の技術を持つ勢力に所属している一門の能力のどれかを1上昇させる
+ じわじわ
   class じわじわ
   {
       private MainControl ctrl;
       //武将コントロールを取得
       MemoryMap.cCharacter BS;
       public じわじわ(MainControl cnt)
       {
           ctrl = cnt;
           ctrl.Event.SeasonEvent += new cEventControl.EventHandler(じわじわ処理);
       }
       void じわじわ処理(object o, EventArgs e)
       {
           //全武将を検索
           for (uint ID = 0; ID < cCharacter.LIMIT; ID++)
           {
               BS = ctrl.MemControls.CharaControl.Chara(ID);
               //プレイヤー勢力に所属していなかったら先へ
               if (BS.isEnemy)
               {
                   //能力のどれかを1増やす
                   System.Random cRandom = new System.Random();
                   int iResult = cRandom.Next(4);
                   switch (iResult)
                   {
                       case 0: BS.StatusUP(1, 0, 0, 0); break;
                       case 1: BS.StatusUP(0, 1, 0, 0); break;
                       case 2: BS.StatusUP(0, 0, 1, 0); break;
                       case 3: BS.StatusUP(0, 0, 0, 1); break;
                   }
               }
           }
       }
   }
  • 一致団結の応用
  • プレイヤー勢力以外の武将の能力のどれかが四季の初めに+1される


コメント欄
名前:
コメント:

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年06月16日 16:25