コード例 #1
0
 private void OnSettlementEntered(MobileParty party, Settlement settlement, Hero hero)
 {
     if (party != null)
     {
         if ((!party.IsCaravan || !settlement.IsTown ? false : party.LeaderHero != null))
         {
             party.LeaderHero.AddSkillXp(DefaultSkills.Trade, 10f);
             if (party.Party.NumberOfRegularMembers < party.Party.PartySizeLimit - 1)
             {
                 if ((settlement.Town.MercenaryData.HasAvailableMercenary(Occupation.CaravanGuard) ? true : settlement.Town.MercenaryData.HasAvailableMercenary(Occupation.Mercenary)))
                 {
                     CharacterObject troopType = settlement.Town.MercenaryData.TroopType;
                     int             num       = 1;
                     if (party.Party.NumberOfRegularMembers < party.Party.PartySizeLimit / 2)
                     {
                         num = 5;
                     }
                     RecruitAction.ApplyRecruitMercenary(party, settlement, troopType, num);
                     party.LeaderHero.AddSkillXp(DefaultSkills.Leadership, (float)(5 * num));
                     MobileParty partyTradeGold = party;
                     partyTradeGold.PartyTradeGold = partyTradeGold.PartyTradeGold - 50 * num;
                 }
             }
         }
     }
 }
コード例 #2
0
ファイル: RecruitMenu.cs プロジェクト: Einsich/Map-Generator
    public static void AddToQueue(BaseRegiment regiment)
    {
        RecruitAction act = new RecruitAction(Player.curRegion.data, regiment, regiment.time);

        Player.curRegion.data.AddRecruit(act);
        instance.UpdateQueue();
    }
コード例 #3
0
 public void AddRecruit(RecruitAction act)
 {
     region.owner.SpendTreasure(act.regiment.cost);
     recruitQueue.Add(act);
 }
コード例 #4
0
 public void RemoveRecruit(RecruitAction act)
 {
     region.owner.IncomeTreasure(act.regiment.cost * 0.5f);
     recruitQueue.Remove(act);
 }
コード例 #5
0
ファイル: RecruitMenu.cs プロジェクト: Einsich/Map-Generator
 public static void RemoveFromQueue(RecruitAction act)
 {
     act.actually = false;
     Player.curRegion.data.RemoveRecruit(act);
     instance.UpdateQueue();
 }