Пример #1
0
 static void Postfix(WeaponCategory category, WeaponSubCategory subCategory, ref bool __result)
 {
     if ((category == WeaponCategory.Dagger || category == WeaponCategory.Starknife) && subCategory == WeaponSubCategory.Ranged)
     {
         __result = true;
     }
 }
Пример #2
0
 static void Postfix(WeaponCategory category, ref WeaponSubCategory[] __result)
 {
     if (category == WeaponCategory.Dagger || category == WeaponCategory.Starknife)
     {
         __result = __result.AddToArray(WeaponSubCategory.Ranged);
     }
 }
Пример #3
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get MeleeWithHighestPriorityEnemyNode_Tick Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
Пример #4
0
        public static string GetWeaponCategoryName(WeaponCategory weaponCategory)
        {
            switch (weaponCategory)
            {
            case WeaponCategory.SimpleMelee:
                return("Simple Melee");

            case WeaponCategory.SimpleRanged:
                return("Simple Ranged");

            case WeaponCategory.MilitaryMelee:
                return("Military Melee");

            case WeaponCategory.MilitaryRanged:
                return("Military Ranged");

            case WeaponCategory.SuperiorMelee:
                return("Superior Melee");

            case WeaponCategory.SuperiorRanged:
                return("Superior Ranged");

            case WeaponCategory.PureImplement:
                return("Implement");

            default:
                return(Enum.Format(typeof(WeaponCategory), weaponCategory, "G"));
            }
        }
Пример #5
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get SelectionStateMove_ProjectedHeatForState Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
 private IEnumerable <HardpointDef> CreateEntries(WeaponCategory category, int count)
 {
     for (var i = 0; i < count; i++)
     {
         yield return(new HardpointDef(category, false));
     }
 }
Пример #7
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get MechRepresentation_PlayImpactAnim Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
Пример #8
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get HostileDamageFactor_expectedDamageForMelee Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
Пример #9
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get CombatHUDWeaponSlot_SetHitChance Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
Пример #10
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get CombatTestFire_MeleeAttackSequence Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
Пример #11
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get MoveTowardsHighestPriorityMoveCandidateNode_Tick Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
Пример #12
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get AIUtil_ExpectedDamageForMeleeAttackUsingUnitsBVs Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
Пример #13
0
        private static WeaponCategory Category(Weapon weapon)
        {
            WeaponCategory result = CustomAmmoCategories.isWeaponUseInMelee(weapon);

            CustomAmmoCategoriesLog.Log.LogWrite("get AttackEvaluator_MakeAttackOrderForTarget_AP Category " + weapon.Category + "->" + result + "\n");
            return(result);
        }
Пример #14
0
        public static List <BlueprintItemWeapon> GetFilterWeapons(List <String> allowedEnchantments1,
                                                                  List <string> allowedEnchantments2 = null, List <string> allowedEnchantments3 = null,
                                                                  WeaponCategory category            = WeaponCategory.Touch, bool uniqueByName  = true)
        {
            // Gets all armors and filters them by provided enchantment GUID lists.
            // If more than one GUID list is provided, then the weapons must have an enchantment
            // from all provided lists.

            var weapons = ResourcesLibrary.GetBlueprints <BlueprintItemWeapon>();

            var weaponsGeneric = weapons.Where(weapon =>
                                               (weapon.FlavorText == "" &&
                                                weapon.IsMagic &&
                                                weapon.SellPrice > 25 &&
                                                weapon.DamageType.Physical.Material == 0 &&
                                                weapon.Icon != null &&
                                                weapon.Description == "" &&
                                                weapon.IsNonRemovable == false &&
                                                !WeaponCategoriesDisabled.Contains(weapon.Category) &&
                                                !WeaponGUIDSDisallowed.Contains(weapon.AssetGuid)));

            if (uniqueByName)
            {
                weaponsGeneric = weaponsGeneric
                                 .GroupBy(weapon => weapon.Name)
                                 .Select(group => group.First());
            }

            var weaponsFiltered = weaponsGeneric;

            if (category != WeaponCategory.Touch)
            {
                weaponsFiltered = weaponsFiltered.Where(weapon => weapon.Category == category);
            }

            if (allowedEnchantments2 == null)
            {
                weaponsFiltered = weaponsFiltered.Where(weapon =>
                                                        (weapon.Enchantments.Count == 1 &&
                                                         weapon.Enchantments.Any(enchantment => allowedEnchantments1.Contains(enchantment.AssetGuid))));
            }
            else if (allowedEnchantments3 == null)
            {
                weaponsFiltered = weaponsFiltered.Where(weapon =>
                                                        (weapon.Enchantments.Count == 2 &&
                                                         weapon.Enchantments.Any(enchantment => allowedEnchantments1.Contains(enchantment.AssetGuid)) &&
                                                         weapon.Enchantments.Any(enchantment => allowedEnchantments2.Contains(enchantment.AssetGuid))));
            }
            else
            {
                weaponsFiltered = weaponsFiltered.Where(weapon =>
                                                        (weapon.Enchantments.Count == 3 &&
                                                         weapon.Enchantments.Any(enchantment => allowedEnchantments1.Contains(enchantment.AssetGuid)) &&
                                                         weapon.Enchantments.Any(enchantment => allowedEnchantments2.Contains(enchantment.AssetGuid)) &&
                                                         weapon.Enchantments.Any(enchantment => allowedEnchantments3.Contains(enchantment.AssetGuid))));
            }

            return(weaponsFiltered.ToList());
        }
Пример #15
0
 static bool Prefix(ref WeaponCategory weaponCategory, string text)
 {
     if (text == "0/0" || text == "0")
     {
         weaponCategory = WeaponCategory.NotSet;
     }
     return(true);
 }
Пример #16
0
 public WeaponType(WeaponCategory weaponCategory, string name, Attack attack, HitEffect hitEffect, string[] properties)
 {
     SimpleMeleeWeapon = weaponCategory;
     Name       = name;
     Attack     = attack;
     HitEffect  = hitEffect;
     Properties = properties;
 }
Пример #17
0
 public bool hasProficiency(WeaponCategory required_category)
 {
     if (race == null || this.Owner.Progression.Race == race)
     {
         return(category == required_category);
     }
     return(false);
 }
Пример #18
0
    public static void RerollWeapon()
    {
        var values = Enum.GetValues(typeof(WeaponCategory));
        var random = new Random();
        var randomWeaponCategory = (WeaponCategory)values.GetValue(random.Next(values.Length));

        weaponCategory  = randomWeaponCategory;
        numberOfBullets = GetAmountOfBullets(weaponCategory);
    }
Пример #19
0
        public Boolean HasCategory(WeaponCategory category)
        {
            if (Data.weapon == null)
            {
                return(false);
            }

            return(((WeaponCategory)Data.weapon.category & category) != 0);
        }
Пример #20
0
        public HardPointSetStored(HardPointSet hardPointSet)
        {
            Category   = hardPointSet.Category;
            HardPoints = new Vector3[hardPointSet.HardPoints.Count];

            for (int i = 0; i < HardPoints.Length; i++)
            {
                HardPoints[i] = hardPointSet.HardPoints[i].transform.localPosition;
            }
        }
        public void OnEventAboutToTrigger(RuleCalculateWeaponStats evt)
        {
            WeaponCategory category = evt.Weapon.Blueprint.Type.Category;

            if (category != WeaponCategory.Dagger)
            {
                return;
            }
            evt.AddBonusDamage(1);
        }
        public static void GiveFeat(UnitDescriptor unit, string Guid, WeaponCategory category)
        {
            BlueprintFeature feature = Kingmaker.Cheats.Utilities.GetBlueprintByGuid <BlueprintFeature>(Guid);
            FeatureParam     param   = new FeatureParam(new WeaponCategory?(category));

            if (unit.GetFeature(feature, param) == null)
            {
                unit.AddFact(Kingmaker.Cheats.Utilities.GetBlueprintByGuid <BlueprintFeature>(Guid), null, param);
            }
        }
Пример #23
0
	public Weapon(string pmName, WeaponType pmType, WeaponCategory pmCategory, int pmDieceType, int pmDieceNumber, List<EquipementTypes> pmTypes, int pmRangeNormal, int pmRangeLong)
	{
		mName = pmName;
		mType = pmType;
		mDieceType = pmDieceType;
		mDieceNumber = pmDieceNumber;
		mCategory = pmCategory;
		mEquipementTypes = pmTypes;
		rangeNormal = pmRangeNormal;
		rangeLong = pmRangeLong;
	}
 public static WeaponCategory[] GetGroup(WeaponCategory category)
 {
     foreach (WeaponCategory[] group in groups)
     {
         if (group.Contains(category))
         {
             return(group);
         }
     }
     return(Array.Empty <WeaponCategory>());
 }
        static void Process(UnitDescriptor unit, string guid, WeaponCategory category)
        {
            Main.DebugLog("Category: " + category.ToString());

            var group = GetGroup(category);

            foreach (var sub in group)
            {
                Main.DebugLog("Try give Feat: " + sub.ToString());
                GiveFeat(unit, guid, sub);
            }
        }
Пример #26
0
 public Firearm(
     string name,
     WeaponCategory weaponCategory,
     WeaponClass weaponClass,
     InventorySlot inventorySlot,
     int unlockCost,
     int roundsPerMagazine,
     decimal roundsPerSecond,
     int damagePerBullet,
     int armorPiercingLevel,
     decimal muzzleDropDistanceMeters,
     int moveSpeedLocalModifierPercent,
     int turnSpeedLocalModifierPercent,
     int numPellets,
     decimal spreadAt10Meters,
     bool silenced,
     decimal shotSoundMeters,
     bool closedBolt,
     bool cyclicReload,
     int reloadTime,
     int reloadEmptyTime,
     int changeInTime,
     int changeOutTime,
     int readyTime,
     int guardTime
     )
 {
     Name                          = name;
     WeaponCategory                = weaponCategory;
     WeaponClass                   = weaponClass;
     InventorySlot                 = inventorySlot;
     UnlockCost                    = unlockCost;
     RoundsPerMagazine             = roundsPerMagazine;
     RoundsPerSecond               = roundsPerSecond;
     DamagePerBullet               = damagePerBullet;
     ArmorPiercingLevel            = armorPiercingLevel;
     MuzzleDropDistanceMeters      = muzzleDropDistanceMeters;
     MoveSpeedLocalModifierPercent = moveSpeedLocalModifierPercent;
     TurnSpeedLocalModifierPercent = turnSpeedLocalModifierPercent;
     NumPellets                    = numPellets;
     SpreadAt10Meters              = spreadAt10Meters;
     Silenced                      = silenced;
     ShotSoundMeters               = shotSoundMeters;
     ClosedBolt                    = closedBolt;
     CyclicReload                  = cyclicReload;
     ReloadTime                    = reloadTime;
     ReloadEmptyTime               = reloadEmptyTime;
     ChangeInTime                  = changeInTime;
     ChangeOutTime                 = changeOutTime;
     ReadyTime                     = readyTime;
     GuardTime                     = guardTime;
 }
    void OnWeaponTypeClick(Weapontype weapontype)
    {
        playerprefz.SetCurrentWeaponCategory((int)weapontype);
        CurrentWeapon = WeaponSpecs[(int)weapontype];
        currentitem   = playerprefz.getCurrentGun();
        for (int i = 0; i < WeaponSpecs.Length; i++)
        {
            WeaponSpecs[i].BTN_TypeSelect.GetComponent <Image>().color = Color.white;
        }
        CurrentWeapon.BTN_TypeSelect.GetComponent <Image>().color = CurrentWeapon.ClickedColor;

        WeaponItemsUpdate();
    }
Пример #28
0
    private static int GetAmountOfBullets(WeaponCategory weaponCategory)
    {
        switch (weaponCategory)
        {
        case WeaponCategory.Pistol: return(8);

        case WeaponCategory.Shotgun: return(4);

        case WeaponCategory.Rifle: return(20);

        default: return(8);
        }
    }
Пример #29
0
 public Weapon(string name, int proficiencyBonus, Dice damage, string range, WeaponGroup group, WeaponProperties properties, int basePrice, WeaponCategory category, bool isTwoHanded, int enhancementBonus)
 {
     this.name             = name;
     this.proficiencyBonus = proficiencyBonus;
     this.damage           = damage;
     this.range            = range;
     this.group            = group;
     this.properties       = properties;
     this.enhancementBonus = enhancementBonus;
     this.basePrice        = basePrice;
     this.category         = category;
     this.isTwoHanded      = isTwoHanded;
 }
Пример #30
0
            public bool hasFullProficiency(WeaponCategory category)
            {
                bool is_ok = false;

                foreach (var b in buffs)
                {
                    b.CallComponents <FullProficiency>(c => is_ok = c.hasProficiency(category));
                    if (is_ok)
                    {
                        return(true);
                    }
                }
                return(false);
            }
Пример #31
0
        private string getDirectoryName(WeaponCategory weaponCategory)
        {
            switch (weaponCategory)
            {
            case WeaponCategory.OneHanded:
                return("One Handed");

            case WeaponCategory.TwoHanded:
                return("Two Handed");

            default:
                return("" + weaponCategory);
            }
        }
Пример #32
0
 public Weapon(WeaponCategory category, int skillLevel)
 {
     this.skillLevel = skillLevel;
      this.category = category;
 }
Пример #33
0
	public int GetWeaponProficiency(WeaponCategory pmTestedCategory)
	{
		if (mProficiencyBonus == 0)
			return 0;
		
		if (mWeaponCategoryProficiency.Contains (pmTestedCategory))
			return mProficiencyBonus;
		else
			return 0;
	}
Пример #34
0
	public void AddWeaponProficiency(WeaponCategory pmCategory)
	{
		if (!mWeaponCategoryProficiency.Contains (pmCategory))
			mWeaponCategoryProficiency.Add (pmCategory);
	}