コード例 #1
0
 public bool CheckRaceClassConditions(RaceMask raceMask, ClassMask classMask)
 {
     return((RaceMask.HasFlag(raceMask) && ClassMask.HasFlag(classMask)) ||
            (RaceMask.HasFlag(raceMask) && ClassMask == ClassMask.All) ||
            (RaceMask == RaceMask.All && ClassMask.HasFlag(classMask)) ||
            (RaceMask == RaceMask.All && ClassMask == ClassMask.All));
 }
コード例 #2
0
 public bool CheckRaceClassConditions(RaceMask raceMask, ClassMask classMask)
 {
     return (RaceMask.HasFlag(raceMask) && ClassMask.HasFlag(classMask)) ||
            (RaceMask.HasFlag(raceMask) && ClassMask == ClassMask.All) ||
            (RaceMask == RaceMask.All && ClassMask.HasFlag(classMask)) ||
            (RaceMask == RaceMask.All && ClassMask == ClassMask.All);
 }
コード例 #3
0
ファイル: WhoSearch.cs プロジェクト: 0xFh/Asda2-Project
 /// <summary>
 /// Method used to add custom search criterias. Added Who List custom search criterias to the default ones.
 /// </summary>
 /// <param name="character">The <see cref="T:WCell.RealmServer.Entities.Character" /> to be checked against custom search criterias.</param>
 /// <returns>True if the character pass all custom search criterias. False otherwise.</returns>
 protected override bool IncludeCharacter(Character character)
 {
     return(base.IncludeCharacter(character) &&
            (Faction == FactionGroup.Invalid || character.Faction.Group == Faction) &&
            (string.IsNullOrEmpty(GuildName) && RaceMask.HasAnyFlag(character.RaceMask2) &&
             ClassMask.HasAnyFlag(character.ClassMask2)) &&
            ((Zones.Count <= 0 || Zones.Contains(character.Zone.Id)) &&
             (Names.Count <= 0 || Names.Contains(character.Name.ToLower()))));
 }
コード例 #4
0
ファイル: TrainerEntry.cs プロジェクト: 0xFh/Asda2-Project
 /// <summary>Determine Trainer-information, based on first Spell</summary>
 /// <param name="spell"></param>
 private void SetupTrainer(Spell spell)
 {
     if (spell.Ability == null)
     {
         return;
     }
     RaceMask  = spell.Ability.RaceMask;
     ClassMask = spell.Ability.ClassMask;
 }
コード例 #5
0
 /// <summary>
 /// Determine Trainer-information, based on first Spell
 /// </summary>
 /// <param name="spell"></param>
 private void SetupTrainer(Spell spell)
 {
     // determine Classes & Races
     if (spell.Ability != null)
     {
         RaceMask  = spell.Ability.RaceMask;
         ClassMask = spell.Ability.ClassMask;
     }
 }
コード例 #6
0
ファイル: WCellConstants.cs プロジェクト: uvbs/Asda2-Server
        public static RaceId GetRaceType(RaceMask mask)
        {
            RaceId raceId;

            if (!WCellConstants.RaceTypesByMask.TryGetValue(mask, out raceId))
            {
                Debugger.Break();
            }
            return(raceId);
        }
コード例 #7
0
ファイル: WCellConstants.cs プロジェクト: NecroSharper/WCell
        public static RaceId GetRaceType(RaceMask mask)
        {
            RaceId id;

            if (!RaceTypesByMask.TryGetValue(mask, out id))
            {
                Debugger.Break();
            }
            return(id);
        }
コード例 #8
0
ファイル: WhoSearch.cs プロジェクト: NecroSharper/WCell
        /// <summary>
        /// Method used to add custom search criterias. Added Who List custom search criterias to the default ones.
        /// </summary>
        /// <param name="character">The <see cref="Character"/> to be checked against custom search criterias.</param>
        /// <returns>True if the character pass all custom search criterias. False otherwise.</returns>
        protected override bool IncludeCharacter(Character character)
        {
            if (!base.IncludeCharacter(character))
            {
                return(false);
            }

            if (Faction != FactionGroup.Invalid && character.Faction.Group != Faction)
            {
                return(false);
            }

            if (!string.IsNullOrEmpty(GuildName) /*&& character.Guild.Name != GuildName */)
            {
                return(false);
            }

            if (!RaceMask.HasAnyFlag(character.RaceMask2))
            {
                return(false);
            }

            if (!ClassMask.HasAnyFlag(character.ClassMask2))
            {
                return(false);
            }

            if (Zones.Count > 0 && !Zones.Contains(character.Zone.Id))
            {
                return(false);
            }

            if (Names.Count > 0 && !Names.Contains(character.Name.ToLower()))
            {
                return(false);
            }

            return(true);
        }
コード例 #9
0
ファイル: TrainerEntry.cs プロジェクト: KroneckerX/WCell
		/// <summary>
		/// Determine Trainer-information, based on first Spell
		/// </summary>
		/// <param name="spell"></param>
		private void SetupTrainer(Spell spell)
		{
			// determine Classes & Races
			if (spell.Ability != null)
			{
				RaceMask = spell.Ability.RaceMask;
				ClassMask = spell.Ability.ClassMask;
			}
		}
コード例 #10
0
ファイル: WCellDef.cs プロジェクト: NVN/WCell
		public static RaceId GetRaceType(RaceMask mask)
		{
			RaceId id;
			if (!RaceTypesByMask.TryGetValue(mask, out id))
			{
				Debugger.Break();
			}
			return id;
		}
コード例 #11
0
ファイル: Extensions.cs プロジェクト: 0xFh/Asda2-Project
 public static bool HasAnyFlag(this RaceMask flags, RaceMask otherFlags)
 {
     return((flags & otherFlags) != ~RaceMask.AllRaces1);
 }
コード例 #12
0
ファイル: Extensions.cs プロジェクト: remixod/netServer
		public static bool HasAnyFlag(this  RaceMask flags, RaceMask otherFlags)
		{
			return (flags & otherFlags) != 0;
		}
コード例 #13
0
ファイル: ItemStore.cs プロジェクト: xerkoss/Project-WoW
        public string GetCommand(int entry, ItemClass iClass, int subClass, int unk0, string[] name,
                                 int dispId, ItemQuality quality, ItemFlag flags, ItemFlagExtra flags2, int buyPrice,
                                 int sellPrice, InventoryType invType, ClassMask allowClass, RaceMask allowRace, int itemLvl,
                                 int reqLvl, int reqSkill, int reqSkLvl, int reqSpell, int reqHonor, int reqCity,
                                 int reqRepFaction, int reqRepValue, int maxCount, int stacks, int contSlots, int statsCount,
                                 ItemModType[] statType, int[] statValue, int ssdId, int ssdVal, float[] dmgMin,
                                 float[] dmgMax, DamageType[] dmgType, int[] resistance, int delay, AmmoType ammoType,
                                 float rangedMod, int[] spellId, ItemSpellTriggerType[] spellTrigger, int[] spellCharges,
                                 int[] spellCooldown, int[] spellCategory, int[] spellCatCooldown, ItemBonding binding,
                                 string description, int pageText, Language langId, PageMaterial pageMat, int startQuest,
                                 int lockId, Material material, SheathType sheath, int randomProp, int randomSuffix,
                                 int block, int itemSet, int maxDura, int area, int map, BagFamilyMask bagFamily,
                                 TotemCategory totemCat, ItemSocketColor[] color, int[] content, int socketBonus,
                                 int gemProps, int reqDisEnchSkill, float armorDmgMod, int duration, int limitCategory,
                                 Holiday holidayId)
        {
            var builder = new CommandBuilder("item_template");

            builder.AddColumnValue("entry", entry);
            builder.AddColumnValue("class", (int)iClass);
            builder.AddColumnValue("subclass", subClass);
            builder.AddColumnValue("unk0", unk0);
            builder.AddColumnValue("name", name[0]);
            builder.AddColumnValue("displayid", dispId);
            builder.AddColumnValue("Quality", (int)quality);
            builder.AddColumnValue("Flags", (int)flags);
            builder.AddColumnValue("BuyCount", 1);
            builder.AddColumnValue("BuyPrice", buyPrice);
            builder.AddColumnValue("SellPrice", sellPrice);
            builder.AddColumnValue("InventoryType", (int)invType);
            builder.AddColumnValue("AllowableClass", (int)allowClass);
            builder.AddColumnValue("AllowableRace", (int)allowRace);
            builder.AddColumnValue("ItemLevel", itemLvl);
            builder.AddColumnValue("RequiredLevel", reqLvl);
            builder.AddColumnValue("RequiredSkill", reqSkill);
            builder.AddColumnValue("RequiredSkillRank", reqSkLvl);
            builder.AddColumnValue("requiredspell", reqSpell);
            builder.AddColumnValue("requiredhonorrank", reqHonor);
            builder.AddColumnValue("RequiredCityRank", reqCity);
            builder.AddColumnValue("RequiredReputationFaction", reqRepFaction);
            builder.AddColumnValue("RequiredReputationRank", reqRepValue);
            builder.AddColumnValue("maxcount", maxCount);

            var stackVal = stacks;

            if (SQLOutput.Format == SqlFormat.Mangos && stacks > 1000)
            {
                stackVal = -1;
            }

            builder.AddColumnValue("stackable", stackVal);
            builder.AddColumnValue("ContainerSlots", contSlots);
            builder.AddColumnValue("StatsCount", statsCount);

            for (var i = 0; i < 10; i++)
            {
                int type;
                int value;

                if (i > statsCount - 1)
                {
                    type  = 0;
                    value = 0;
                }
                else
                {
                    type  = (int)statType[i];
                    value = statValue[i];
                }

                builder.AddColumnValue("stat_type" + (i + 1), type);
                builder.AddColumnValue("stat_value" + (i + 1), value);
            }

            builder.AddColumnValue("ScalingStatDistribution", ssdId);
            builder.AddColumnValue("ScalingStatValue", ssdVal);

            for (var i = 0; i < 2; i++)
            {
                builder.AddColumnValue("dmg_min" + (i + 1), dmgMin[i]);
                builder.AddColumnValue("dmg_max" + (i + 1), dmgMax[i]);
                builder.AddColumnValue("dmg_type" + (i + 1), (int)dmgType[i]);
            }

            builder.AddColumnValue("armor", resistance[0]);
            builder.AddColumnValue("holy_res", resistance[1]);
            builder.AddColumnValue("fire_res", resistance[2]);
            builder.AddColumnValue("nature_res", resistance[3]);
            builder.AddColumnValue("frost_res", resistance[4]);
            builder.AddColumnValue("shadow_res", resistance[5]);
            builder.AddColumnValue("arcane_res", resistance[6]);
            builder.AddColumnValue("delay", delay);
            builder.AddColumnValue("ammo_type", (int)ammoType);
            builder.AddColumnValue("RangedModRange", rangedMod);

            for (var i = 0; i < 5; i++)
            {
                builder.AddColumnValue("spellid_" + (i + 1), spellId[i]);
                builder.AddColumnValue("spelltrigger_" + (i + 1), (int)spellTrigger[i]);
                builder.AddColumnValue("spellcharges_" + (i + 1), spellCharges[i]);
                builder.AddColumnValue("spellppmRate_" + (i + 1), 0);
                builder.AddColumnValue("spellcooldown_" + (i + 1), spellCooldown[i]);
                builder.AddColumnValue("spellcategory_" + (i + 1), spellCategory[i]);
                builder.AddColumnValue("spellcategorycooldown_" + (i + 1), spellCatCooldown[i]);
            }

            builder.AddColumnValue("bonding", (int)binding);
            builder.AddColumnValue("description", description);
            builder.AddColumnValue("PageText", pageText);
            builder.AddColumnValue("LanguageID", (int)langId);
            builder.AddColumnValue("PageMaterial", (int)pageMat);
            builder.AddColumnValue("startquest", startQuest);
            builder.AddColumnValue("lockid", lockId);
            builder.AddColumnValue("Material", (int)material);
            builder.AddColumnValue("sheath", (int)sheath);
            builder.AddColumnValue("RandomProperty", randomProp);
            builder.AddColumnValue("RandomSuffix", randomSuffix);
            builder.AddColumnValue("block", block);
            builder.AddColumnValue("itemset", itemSet);
            builder.AddColumnValue("MaxDurability", maxDura);
            builder.AddColumnValue("area", area);
            builder.AddColumnValue("map", map);
            builder.AddColumnValue("BagFamily", (int)bagFamily);
            builder.AddColumnValue("TotemCategory", (int)totemCat);

            for (var i = 0; i < 3; i++)
            {
                builder.AddColumnValue("socketColor_" + (i + 1), (int)color[i]);
                builder.AddColumnValue("socketContent_" + (i + 1), content[i]);
            }

            builder.AddColumnValue("socketBonus", socketBonus);
            builder.AddColumnValue("GemProperties", gemProps);
            builder.AddColumnValue("RequiredDisenchantSkill", reqDisEnchSkill);
            builder.AddColumnValue("ArmorDamageModifier", armorDmgMod);
            builder.AddColumnValue("Duration", duration);
            builder.AddColumnValue("ItemLimitCategory", limitCategory);
            builder.AddColumnValue("HolidayID", (int)holidayId);
            builder.AddColumnValue("ScriptName", string.Empty);
            builder.AddColumnValue("DisenchantID", 0);
            builder.AddColumnValue("FoodType", 0);
            builder.AddColumnValue("minMoneyLoot", 0);
            builder.AddColumnValue("maxMoneyLoot", 0);
            builder.AddColumnValue("NonConsumable", 0);

            return(builder.BuildInsert(true));
        }
コード例 #14
0
ファイル: ItemStore.cs プロジェクト: AriDEV/AriDEVParser
        public string GetCommand(int entry, ItemClass iClass, int subClass, int unk0, string[] name,
            int dispId, ItemQuality quality, ItemFlag flags, ItemFlagExtra flags2, int buyPrice,
            int sellPrice, InventoryType invType, ClassMask allowClass, RaceMask allowRace, int itemLvl,
            int reqLvl, int reqSkill, int reqSkLvl, int reqSpell, int reqHonor, int reqCity,
            int reqRepFaction, int reqRepValue, int maxCount, int stacks, int contSlots, int statsCount,
            ItemModType[] statType, int[] statValue, int ssdId, int ssdVal, float[] dmgMin,
            float[] dmgMax, DamageType[] dmgType, int[] resistance, int delay, AmmoType ammoType,
            float rangedMod, int[] spellId, ItemSpellTriggerType[] spellTrigger, int[] spellCharges,
            int[] spellCooldown, int[] spellCategory, int[] spellCatCooldown, ItemBonding binding,
            string description, int pageText, Language langId, PageMaterial pageMat, int startQuest,
            int lockId, Material material, SheathType sheath, int randomProp, int randomSuffix,
            int block, int itemSet, int maxDura, int area, int map, BagFamilyMask bagFamily,
            TotemCategory totemCat, ItemSocketColor[] color, int[] content, int socketBonus,
            int gemProps, int reqDisEnchSkill, float armorDmgMod, int duration, int limitCategory,
            Holiday holidayId)
        {
            var builder = new CommandBuilder("item_template");

            builder.AddColumnValue("entry", entry);
            builder.AddColumnValue("class", (int)iClass);
            builder.AddColumnValue("subclass", subClass);
            builder.AddColumnValue("unk0", unk0);
            builder.AddColumnValue("name", name[0]);
            builder.AddColumnValue("displayid", dispId);
            builder.AddColumnValue("Quality", (int)quality);
            builder.AddColumnValue("Flags", (int)flags);
            builder.AddColumnValue("BuyCount", 1);
            builder.AddColumnValue("BuyPrice", buyPrice);
            builder.AddColumnValue("SellPrice", sellPrice);
            builder.AddColumnValue("InventoryType", (int)invType);
            builder.AddColumnValue("AllowableClass", (int)allowClass);
            builder.AddColumnValue("AllowableRace", (int)allowRace);
            builder.AddColumnValue("ItemLevel", itemLvl);
            builder.AddColumnValue("RequiredLevel", reqLvl);
            builder.AddColumnValue("RequiredSkill", reqSkill);
            builder.AddColumnValue("RequiredSkillRank", reqSkLvl);
            builder.AddColumnValue("requiredspell", reqSpell);
            builder.AddColumnValue("requiredhonorrank", reqHonor);
            builder.AddColumnValue("RequiredCityRank", reqCity);
            builder.AddColumnValue("RequiredReputationFaction", reqRepFaction);
            builder.AddColumnValue("RequiredReputationRank", reqRepValue);
            builder.AddColumnValue("maxcount", maxCount);

            var stackVal = stacks;
            if (SQLOutput.Format == SqlFormat.Mangos && stacks > 1000)
                stackVal = -1;

            builder.AddColumnValue("stackable", stackVal);
            builder.AddColumnValue("ContainerSlots", contSlots);
            builder.AddColumnValue("StatsCount", statsCount);

            for (var i = 0; i < 10; i++)
            {
                int type;
                int value;

                if (i > statsCount - 1)
                {
                    type = 0;
                    value = 0;
                }
                else
                {
                    type = (int)statType[i];
                    value = statValue[i];
                }

                builder.AddColumnValue("stat_type" + (i + 1), type);
                builder.AddColumnValue("stat_value" + (i + 1), value);
            }

            builder.AddColumnValue("ScalingStatDistribution", ssdId);
            builder.AddColumnValue("ScalingStatValue", ssdVal);

            for (var i = 0; i < 2; i++)
            {
                builder.AddColumnValue("dmg_min" + (i + 1), dmgMin[i]);
                builder.AddColumnValue("dmg_max" + (i + 1), dmgMax[i]);
                builder.AddColumnValue("dmg_type" + (i + 1), (int)dmgType[i]);
            }

            builder.AddColumnValue("armor", resistance[0]);
            builder.AddColumnValue("holy_res", resistance[1]);
            builder.AddColumnValue("fire_res", resistance[2]);
            builder.AddColumnValue("nature_res", resistance[3]);
            builder.AddColumnValue("frost_res", resistance[4]);
            builder.AddColumnValue("shadow_res", resistance[5]);
            builder.AddColumnValue("arcane_res", resistance[6]);
            builder.AddColumnValue("delay", delay);
            builder.AddColumnValue("ammo_type", (int)ammoType);
            builder.AddColumnValue("RangedModRange", rangedMod);

            for (var i = 0; i < 5; i++)
            {
                builder.AddColumnValue("spellid_" + (i + 1), spellId[i]);
                builder.AddColumnValue("spelltrigger_" + (i + 1), (int)spellTrigger[i]);
                builder.AddColumnValue("spellcharges_" + (i + 1), spellCharges[i]);
                builder.AddColumnValue("spellppmRate_" + (i + 1), 0);
                builder.AddColumnValue("spellcooldown_" + (i + 1), spellCooldown[i]);
                builder.AddColumnValue("spellcategory_" + (i + 1), spellCategory[i]);
                builder.AddColumnValue("spellcategorycooldown_" + (i + 1), spellCatCooldown[i]);
            }

            builder.AddColumnValue("bonding", (int)binding);
            builder.AddColumnValue("description", description);
            builder.AddColumnValue("PageText", pageText);
            builder.AddColumnValue("LanguageID", (int)langId);
            builder.AddColumnValue("PageMaterial", (int)pageMat);
            builder.AddColumnValue("startquest", startQuest);
            builder.AddColumnValue("lockid", lockId);
            builder.AddColumnValue("Material", (int)material);
            builder.AddColumnValue("sheath", (int)sheath);
            builder.AddColumnValue("RandomProperty", randomProp);
            builder.AddColumnValue("RandomSuffix", randomSuffix);
            builder.AddColumnValue("block", block);
            builder.AddColumnValue("itemset", itemSet);
            builder.AddColumnValue("MaxDurability", maxDura);
            builder.AddColumnValue("area", area);
            builder.AddColumnValue("map", map);
            builder.AddColumnValue("BagFamily", (int)bagFamily);
            builder.AddColumnValue("TotemCategory", (int)totemCat);

            for (var i = 0; i < 3; i++)
            {
                builder.AddColumnValue("socketColor_" + (i + 1), (int)color[i]);
                builder.AddColumnValue("socketContent_" + (i + 1), content[i]);
            }

            builder.AddColumnValue("socketBonus", socketBonus);
            builder.AddColumnValue("GemProperties", gemProps);
            builder.AddColumnValue("RequiredDisenchantSkill", reqDisEnchSkill);
            builder.AddColumnValue("ArmorDamageModifier", armorDmgMod);
            builder.AddColumnValue("Duration", duration);
            builder.AddColumnValue("ItemLimitCategory", limitCategory);
            builder.AddColumnValue("HolidayID", (int)holidayId);
            builder.AddColumnValue("ScriptName", string.Empty);
            builder.AddColumnValue("DisenchantID", 0);
            builder.AddColumnValue("FoodType", 0);
            builder.AddColumnValue("minMoneyLoot", 0);
            builder.AddColumnValue("maxMoneyLoot", 0);
            builder.AddColumnValue("NonConsumable", 0);

            return builder.BuildInsert(true);
        }
コード例 #15
0
ファイル: Extensions.cs プロジェクト: pallmall/WCell
		public static bool Has(this RaceMask mask, RaceMask toCheck)
		{
			return (mask & toCheck) != 0;
		}