Example #1
0
        private void trainPawnDone(string def)
        {
            var request = new PawnGenerationRequest(DefDatabase <PawnKindDef> .GetNamed(def), Faction.OfPlayer,
                                                    PawnGenerationContext.NonPlayer, -1, false, false, false, false, true, true, 1f, false, true, true,
                                                    false);
            var item = PawnGenerator.GeneratePawn(request);
            var ps   = item.story;

            ps.childhood        = null;
            ps.adulthood        = null;
            ps.traits.allTraits = new List <Trait>();
            ps.traits.GainTrait(new Trait(DefDatabase <TraitDef> .GetNamed("ra2_MakeSoldier")));
            ps.traits.GainTrait(new Trait(TraitDefOf.Psychopath));


            var pws = item.workSettings;

            pws.DisableAll();
            var pps = item.playerSettings;

            pps.hostilityResponse = HostilityResponseMode.Attack;

            var triple = NameTriple.FromString(item.kindDef.label.Replace(" ", ""));

            item.Name = triple;
            item.inventory.DestroyAll();


            YuriSoldierMakeUp.tryMakeUp(item);


            DefDatabase <SoundDef> .GetNamed(parent.def.defName + "_UnitReady").PlayOneShotOnCamera();


            var loc = CellFinder.RandomClosewalkCellNear(parent.Position, parent.Map, 3);

            Pawn unused;

            if (trainPawns[0] != "ra2_AlliedTanya")
            {
                unused = (Pawn)GenSpawn.Spawn(item, loc, parent.Map);
            }
            else
            {
                // bool flag = true;
                if (getAllTanya().Count > 0)
                {
                    foreach (var tanya in getAllTanya())
                    {
                        tanya.Destroy();
                    }
                }

                unused = (Pawn)GenSpawn.Spawn(getTanya(), loc, parent.Map);
            }


            trainPawns.Remove(trainPawns[0]);
            ticks = 0;
        }
Example #2
0
        private void trainPawnDone(String def)
        {
            PawnGenerationRequest request = new PawnGenerationRequest(DefDatabase <PawnKindDef> .GetNamed(def, true), Faction.OfPlayer, PawnGenerationContext.NonPlayer, -1, false, false, false, false, true, true, 1f, false, true, true, false, false, false, false, null, null, null, null, null, null, null);
            Pawn item            = PawnGenerator.GeneratePawn(request);
            Pawn_StoryTracker ps = item.story;

            ps.childhood        = null;
            ps.adulthood        = null;
            ps.traits.allTraits = new List <Trait>();
            ps.traits.GainTrait(new Trait(DefDatabase <TraitDef> .GetNamed("ra2_MakeSoldier", true)));
            ps.traits.GainTrait(new Trait(TraitDefOf.Psychopath));


            Pawn_WorkSettings pws = item.workSettings;

            pws.DisableAll();
            Pawn_PlayerSettings pps = item.playerSettings;

            pps.hostilityResponse = HostilityResponseMode.Attack;

            NameTriple triple = NameTriple.FromString(item.kindDef.label.Replace(" ", ""));

            item.Name = triple;
            item.inventory.DestroyAll();


            YuriSoldierMakeUp.tryMakeUp(item);



            SoundStarter.PlayOneShotOnCamera(DefDatabase <SoundDef> .GetNamed(this.parent.def.defName + "_UnitReady", true));


            IntVec3 loc = CellFinder.RandomClosewalkCellNear(this.parent.Position, this.parent.Map, 3, null);

            Pawn pp;

            if (this.trainPawns[0] != "ra2_AlliedTanya")
            {
                pp = (Pawn)(GenSpawn.Spawn(item, loc, this.parent.Map, WipeMode.Vanish));
            }
            else
            {
                // bool flag = true;
                if (getAllTanya().Count > 0)
                {
                    foreach (Pawn tanya in getAllTanya())
                    {
                        tanya.Destroy(DestroyMode.Vanish);
                    }
                }
                pp = (Pawn)(GenSpawn.Spawn(getTanya(), loc, this.parent.Map, WipeMode.Vanish));
            }


            this.trainPawns.Remove(this.trainPawns[0]);
            this.ticks = 0;
        }