Example #1
0
        public static void InitAnimalEvil(Critter critter)
        {
            var builder = new CritterBehaviorBuilder (critter);

            builder
                .Do (new CallReinforcements (BlackboardKeys.Attackers))
                .DoSequence ("3% to attack weakest animal from my team - fight over the area")
                    .Do (new AtFixedRate<CritterBlackboard> (Time.RealSecond (10)))
                    .Do (new AtChance<CritterBlackboard> (3))
                    .Do (new FindCritters (Find.Life).Choose (new Weakest ())).If (new SeesCritter ()).If (new IsTeamMember ())
                    .Do (new Attack ())
                .End ()
                .DoSequence ("10% to attack animal of same type from other team")
                    .Do (new AtFixedRate<CritterBlackboard> (Time.RealSecond (10)))
                    .Do (new AtChance<CritterBlackboard> (10))
                    .Do (new FindCritters (Find.Life).Choose (new BT.Random ())).If (new SeesCritter ()).IfNot (new IsTeamMember ())
                    .Do (new Attack ())
                .End ()
                .DoSequence ("Attack every non member and not same type critter")
                    .Do (new FindCritters (Find.Life)).IfNot (new AmAttacking ()).If (new SeesCritter ()).If (new IsTeamMember ()).IfNot (new IsSameType ())
                    .Do (new Attack ())
                .End ()
                .Do (new ProvideReinforcements ()).IfNot (new AmAttacking ());

            Global.RegisterBehaviorTask (builder.MainTask);
        }
Example #2
0
        public static void InitGyro(Critter npc)
        {
            var builder = new CritterBehaviorBuilder(npc);

            builder
                .DoSequence("I am attacked")
                    .Do(new CallReinforcements(BlackboardKeys.Attackers, BlackboardKeys.SeenAttackers, BlackboardKeys.Killers))
            //TODO: maybe run to guard
                .End();

            Global.RegisterBehaviorTask(builder.MainTask);
        }
Example #3
0
        public static void InitAnimalGood(Critter critter)
        {
            var builder = new CritterBehaviorBuilder (critter);

            builder
                .Do (new CallReinforcements (BlackboardKeys.Attackers))
                .Do (new ProvideReinforcements ()).IfNot (new AmAttacking ())
                .DoSequence ("Move randomly every 10-20 seconds")
                    .Do (new AtFixedRate<CritterBlackboard> (Time.RealSecond (10), Time.RealSecond (20)))
                    .Do (new MoveRandomly (1, 5))
                .End ();

            Global.RegisterBehaviorTask (builder.MainTask);
        }
Example #4
0
        public static Critter InitBully(IntPtr ptr, bool firstTime)
        {
            Global.Log ("Initializing bully");
            Critter npc = (Critter)ptr;
            CritterBehaviorBuilder builder = new CritterBehaviorBuilder (npc);

            builder
                .DoSequence ()
                    .Do (new BT.Say (FOnline.Say.NormOnHead, "Hello Wasteland!"))
                    .Do (new ChangeDirection ())
                    .Do (new Wait (Time.RealSecond (3), Time.RealSecond (10)))
                .End ();

            Global.RegisterBehaviorTask (builder.MainTask);
            return npc;
        }
Example #5
0
        /**
         * Init methods for use in Mono
         */
        public static void InitGuard(Critter npc)
        {
            var builder = new CritterBehaviorBuilder(npc);

            builder
                .DoSequence()
                    .Do(new CallReinforcements(BlackboardKeys.Attackers, BlackboardKeys.SeenAttackers, BlackboardKeys.Killers))
                    .Do(new BT.Say(FOnline.Say.NormOnHead, TextMsg.Text, 70140))
                    .Do(new Attack(BlackboardKeys.Attackers))
                .End()
                .DoSelection()
                    .Do(new ProvideReinforcements())
                .End();

            Global.RegisterBehaviorTask(builder.MainTask);
        }
Example #6
0
        /**
         * Init methods for use in Mono
         */
        public static void InitGuard(Critter npc)
        {
            var builder = new CritterBehaviorBuilder(npc);

            builder
                .DoSequence()
                    .Do(new CallReinforcements(BlackboardKeys.Attackers, BlackboardKeys.SeenAttackers, BlackboardKeys.Killers))
                    .Do(new Attack(BlackboardKeys.Attackers))
                .End()
                .DoSelection()
                    .Do(new ProvideReinforcements())
                .End()
                .DoSequence()
                    .Do(new Patrol(Entire.Patrol))
                    .Do(new LookAround(3, Time.RealSecond(15)))
                .End();

            Global.RegisterBehaviorTask(builder.MainTask);
        }
        public static void InitCritter1(Critter npc)
        {
            var builder = new CritterBehaviorBuilder(npc);

            builder
                .Do(new TakeDrug(ItemPack.HealingDrugs).If(new IsHurt(70)))
                .DoSequence("Attack and call reinforcements")
                    .Do(new CallReinforcements(BlackboardKeys.Attackers, BlackboardKeys.SeenAttackers, BlackboardKeys.Killers))
                    .Do(new CallReinforcements(VirtualRealityReinforcements, BlackboardKeys.Attackers, BlackboardKeys.Killers))
                    .Do(new Attack(BlackboardKeys.Attackers))
                .End()
                .Do(new ProvideReinforcements()).IfNot(new AmAttacking())
                .Do(new ProvideReinforcements(VirtualRealityReinforcements)).IfNot(new AmAttacking()).If(new SeesCritter())
                .DoSequence("Find player and attack him")
                    .Do(new FindCritters(Find.Life | Find.OnlyPlayers).Choose(new Weakest())).If(new SeesCritter()).IfNot(new AmAttacking())
                    .Do(new Attack())
                .End();

            Global.RegisterBehaviorTask(builder.MainTask);
        }
Example #8
0
        public static Critter InitPatrol(IntPtr ptr, bool firstTime)
        {
            Global.Log ("Initializing patrol");
            Critter npc = (Critter)ptr;
            CritterBehaviorBuilder builder = new CritterBehaviorBuilder (npc);

            builder
                .DoSelection ()
                    .Do (new Attack ("dsadsa"))
                .End ()
                .DoSequence ()
                    .Do (new BT.Say (FOnline.Say.NormOnHead, "Patrolling..."))
                    .Do (new Patrol (401))
                    .Do (new LookAround (3, Time.RealSecond (3)))
                    .Do (new Wait (Time.RealSecond (3), Time.RealSecond (10)))
                .End ();

            Global.RegisterBehaviorTask (builder.MainTask);
            return npc;
        }
Example #9
0
        /**
         * Init methods for use in Mono
         */
        public static void InitHumanEvil(Critter critter)
        {
            var builder = new CritterBehaviorBuilder (critter);

            builder
                .Do (new CallReinforcements (BlackboardKeys.Attackers))
                .Do (new TakeDrug (ItemPack.HealingDrugs)).If (new IsHurt (70))
                .DoSequence ("20% to find weakest player and attack him instead")
                    .Do (new AtFixedRate<CritterBlackboard> (Time.RealSecond (10)))
                    .Do (new AtChance<CritterBlackboard> (20))
                    .Do (new FindCritters (Find.Life | Find.OnlyPlayers).Choose (new Weakest ())).If (new SeesCritter ()).IfNot (new IsTeamMember ())
                    .Do (new Attack ())
                .End ()
                .DoSequence ("Attack every non member")
                    .Do (new FindCritters (Find.Life)).If (new SeesCritter ()).IfNot (new AmAttacking ()).IfNot (new IsTeamMember ())
                    .Do (new Attack ())
                .End ()
                .Do (new ProvideReinforcements ()).IfNot (new AmAttacking ());

            Global.RegisterBehaviorTask (builder.MainTask);
        }
Example #10
0
        public static Critter InitPerformanceTestFindCritters(IntPtr ptr, bool firstTime)
        {
            Critter npc = (Critter)ptr;
            CritterBehaviorBuilder builder = new CritterBehaviorBuilder (npc);

            builder
                .DoSequence ()
                    .Do (new FindCritters (Find.KO | Find.OnlyPlayers))
                    .If (new IsInRange (4))
                    .Do (new LookAt ())
                    .Do (new BT.Say (FOnline.Say.Norm, "Knocked down!"))
                    .Do (new Wait (Time.RealSecond (3), Time.RealSecond (10)))
                .End ()
                .DoSequence ()
                    .Do (new ChangeDirection ())
                    .Do (new Wait (Time.RealSecond (5), Time.RealSecond (10)))
                .End ();

            Global.RegisterBehaviorTask (builder.MainTask);
            return npc;
        }
Example #11
0
        public static void InitHumanGood(Critter critter)
        {
            var builder = new CritterBehaviorBuilder (critter);

            builder
                .Do (new CallReinforcements (BlackboardKeys.Attackers))
                .Do (new TakeDrug (ItemPack.HealingDrugs)).If (new IsHurt (70))
                .DoSequence ("Attack enemies in sight")
                    .Do (new FindCritters (Find.Life).Choose (new BT.Random ())).IfNot (new AmAttacking ()).If (new SeesCritter ()).If (new IsEnemy ())
                    .Do (new Attack ())
                .End ()
                .Do (new ProvideReinforcements ()).IfNot (new AmAttacking ())
                .Do (new Attack (BlackboardKeys.Attackers));

            Global.RegisterBehaviorTask (builder.MainTask);
        }