コード例 #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
ファイル: Utility.cs プロジェクト: battousai999/CharPad
        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);
        }
コード例 #6
0
 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
ファイル: BattleUnit.cs プロジェクト: Zer0Ph34r/GUI_Branch
        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;
            }
        }
コード例 #21
0
        public void OnEventAboutToTrigger(RuleCalculateWeaponStats evt)
        {
            WeaponCategory category = evt.Weapon.Blueprint.Type.Category;

            if (category != WeaponCategory.Dagger)
            {
                return;
            }
            evt.AddBonusDamage(1);
        }
コード例 #22
0
        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;
	}
コード例 #24
0
 public static WeaponCategory[] GetGroup(WeaponCategory category)
 {
     foreach (WeaponCategory[] group in groups)
     {
         if (group.Contains(category))
         {
             return(group);
         }
     }
     return(Array.Empty <WeaponCategory>());
 }
コード例 #25
0
        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;
 }
コード例 #27
0
    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
ファイル: Weapon.cs プロジェクト: ghostmonk/CSharpTutorials
 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);
	}