Example #1
0
        // Token: 0x060002E6 RID: 742 RVA: 0x0001C3FC File Offset: 0x0001A7FC
        protected override IEnumerable <Toil> MakeNewToils()
        {
            this.FailOnDespawnedOrNull(TargetIndex.A);
            yield return(Toils_bunker.GotoThing(TargetIndex.A, PathEndMode.ClosestTouch));//Toils_Goto.GotoThing(TargetIndex.A, PathEndMode.ClosestTouch);

            Toil enter = new Toil();

            enter.initAction = delegate
            {
                Pawn            actor  = enter.actor;
                Building_Bunker pod    = (Building_Bunker)actor.CurJob.targetA.Thing;
                Action          action = delegate
                {
                    if (pod.GetInner().InnerListForReading.Count >= pod.maxCount)
                    {
                        return;
                    }
                    actor.DeSpawn(DestroyMode.Vanish);
                    pod.TryAcceptThing(actor, true);
                };

                action();
            };
            enter.defaultCompleteMode = ToilCompleteMode.Instant;
            yield return(enter);

            yield break;
        }
Example #2
0
        public void ResetVerb()
        {
            if (bunker == null)
            {
                bunker = (Building_Bunker)caster;
            }

            foreach (var pawn in bunker.GetInner().InnerListForReading)
            {
                if (pawn.TryGetAttackVerb(currentTarget.Thing) == null)
                {
                    continue;
                }

                //Log.Warning(pawn.TryGetAttackVerb(this.currentTarget.Thing).TryStartCastOn(this.currentTarget) + "OH" + pawn.Name);
                pawn.TryGetAttackVerb(currentTarget.Thing).caster = pawn;
            }
        }