Exemple #1
0
        public MilUnitFC CreateMilUnit()
        {
            MilUnitFC unit = new MilUnitFC(false)
            {
                name       = name,
                isCivilian = isCivilian,
                isTrader   = isTrader,
                animal     = animal,
                pawnKind   = pawnKind
            };

            unit.generateDefaultPawn();

            if (weapon.thing != null)
            {
                unit.equipWeapon((ThingWithComps)weapon.CreateThing());
            }

            apparel.ForEach(a =>
            {
                if (a.thing != null)
                {
                    unit.wearEquipment((Apparel)a.CreateThing(), true);
                }
            });

            unit.changeTick();
            unit.updateEquipmentTotalCost();

            return(unit);
        }
Exemple #2
0
        public MilUnitFC CreateMilUnit()
        {
            MilUnitFC unit = new MilUnitFC(false)
            {
                name       = name,
                isCivilian = isCivilian,
                isTrader   = isTrader,
                animal     = animal,
                pawnKind   = pawnKind
            };

            if (!Find.World.GetComponent <FactionFC>().raceFilter.Allows(pawnKind.race))
            {
                unit.pawnKind = FactionColonies.getPlayerColonyFaction().RandomPawnKind();
            }
            unit.generateDefaultPawn();

            if (weapon.thing != null)
            {
                unit.equipWeapon((ThingWithComps)weapon.CreateThing());
            }

            apparel.ForEach(a =>
            {
                if (a.thing != null)
                {
                    unit.wearEquipment((Apparel)a.CreateThing(), true);
                }
            });

            unit.changeTick();
            unit.updateEquipmentTotalCost();

            return(unit);
        }