public void log()
 {
     if (World.logging)
     {
         if (logbox == null)
         {
             logbox = new LogBox(this);
         }
         logbox.takeLine("--------Turn " + map.turn + "------");
     }
 }
예제 #2
0
        public void turnTick()
        {
            if (World.logging)
            {
                log.takeLine("---------Turn " + map.turn + "------------");
            }

            this.targetPrestige = getTargetPrestige(null);
            if (Math.Abs(prestige - targetPrestige) < map.param.person_prestigeDeltaPerTurn)
            {
                prestige = targetPrestige;
            }
            else if (prestige < targetPrestige)
            {
                prestige += map.param.person_prestigeDeltaPerTurn;
            }
            else if (prestige > targetPrestige)
            {
                prestige -= map.param.person_prestigeDeltaPerTurn;
            }

            foreach (RelObj rel in relations.Values)
            {
                rel.turnTick(this);
            }

            List <Title> rems = new List <Title>();

            foreach (Title t in titles)
            {
                if (t.heldBy != this || t.society != this.society)
                {
                    rems.Add(t);
                }
            }
            foreach (Title t in rems)
            {
                titles.Remove(t);
            }

            foreach (Trait t in traits)
            {
                t.turnTick(this);
            }

            processEnshadowment();
            computeAwareness();
            computeSuspicionGain();
            //processActions();
            processThreats();
            processSanity();

            map.data_awarenessSum   += this.awareness;
            map.awarenessReportings += 1;
        }