コード例 #1
0
 internal void PrepareCreaturePage()
 {
     PrepCb(rankCb, XmlKeyValue.FromXml("CreatureRank"));
     PrepCb(dmgSchoolCb, DamageType.GetDamageTypes());
     PrepCb(unitClassCb, XmlKeyValue.FromXml("UnitClass"));
     PrepCb(familyCb, CreatureFamily.GetCreatureFamilies());
     PrepCb(trainerCb, TrainerData.GetTrainerData());
     PrepCb(creatureTypeCb, XmlKeyValue.FromXml("CreatureType"));
     PrepCb(aiNameCb, XmlKeyValue.FromXml("AI"));
     PrepCb(movementCb, XmlKeyValue.FromXml("MovementType"));
 }
コード例 #2
0
 public CreatureInfo(Dump.SQL.Custom.creature_template creature_template)
 {
     Entry = creature_template.entry.GetValueOrDefault();
     Name = creature_template.name;
     SubName = creature_template.subname;
     IconName = creature_template.iconname;
     TypeFlags = (CreatureTypeFlags)creature_template.flags_extra.GetValueOrDefault();
     Type = (CreatureType)creature_template.type.GetValueOrDefault();
     Family = (CreatureFamily)creature_template.family.GetValueOrDefault();
     Rank = (CreatureRank)creature_template.rank.GetValueOrDefault();
 }
コード例 #3
0
 public void PrepareCreaturePage()
 {
     PrepCb(rankCb, XmlKeyValue.FromXml("CreatureRank"));
     PrepCb(dmgSchoolCb, DamageType.GetDamageTypes());
     PrepCb(unitClassCb, XmlKeyValue.FromXml("UnitClass"));
     PrepCb(familyCb, CreatureFamily.GetCreatureFamilies());
     PrepCb(trainerCb, TrainerData.GetTrainerData());
     PrepCb(creatureTypeCb, XmlKeyValue.FromXml("CreatureType"));
     PrepCb(aiNameCb, XmlKeyValue.FromXml("AI"));
     PrepCb(movementCb, XmlKeyValue.FromXml("MovementType"));
     UiHelper.PrepareCustomDisplayFields(customDisplayFieldGb, Creature);
     Profile.ActiveProfileChangedEvent += Profile_ActiveProfileChangedEvent;
 }
 /// <inheritdoc />
 public CreatureQueryResponseInfo_Vanilla(string[] creatureNames, string alternativeName, CreatureTypeFlags flags, CreatureType creatureType, CreatureFamily family, CreatureEliteType classification, int unk1, int petSpellDataId, int creatureDisplayId, bool isCivilian, bool isLeader)
 {
     CreatureNames     = creatureNames;
     AlternativeName   = alternativeName;
     Flags             = flags;
     CreatureType      = creatureType;
     Family            = family;
     Classification    = classification;
     Unk1              = unk1;
     PetSpellDataId    = petSpellDataId;
     CreatureDisplayId = creatureDisplayId;
     IsCivilian        = isCivilian;
     IsLeader          = isLeader;
 }
コード例 #5
0
 //TODO: Validate parameters
 //TODO: Ctor overloads
 /// <inheritdoc />
 public CreatureQueryResponseInfo(string[] creatureNames, string alternativeName, string cursorName, CreatureTypeFlags flags, CreatureType creatureType, CreatureFamily family, CreatureEliteType classification, int[] proxyCreatureIds, int[] creatureDisplayIds, float healthMultiplier, float energyMultiplier, bool isLeader, int[] questItemIds, int creatureMovementInfoId)
 {
     CreatureNames          = creatureNames;
     AlternativeName        = alternativeName;
     CursorName             = cursorName;
     Flags                  = flags;
     CreatureType           = creatureType;
     Family                 = family;
     Classification         = classification;
     ProxyCreatureIds       = proxyCreatureIds;
     CreatureDisplayIds     = creatureDisplayIds;
     HealthMultiplier       = healthMultiplier;
     EnergyMultiplier       = energyMultiplier;
     IsLeader               = isLeader;
     QuestItemIds           = questItemIds;
     CreatureMovementInfoId = creatureMovementInfoId;
 }
コード例 #6
0
        public string GetCommand(int entry, string name, string subName, string iconName,
            CreatureTypeFlag typeFlags, CreatureType type, CreatureFamily family, CreatureRank rank,
            int[] killCredit, int[] dispId, float mod1, float mod2, bool racialLeader, int[] qItem,
            int moveId)
        {
            var builder = new CommandBuilder("creature_template");

            builder.AddColumnValue("entry", entry);

            for (var i = 0; i < 3; i++)
                builder.AddColumnValue("difficulty_entry_" + (i + 1), 0);

            for (var i = 0; i < 2; i++)
                builder.AddColumnValue("KillCredit" + (i + 1), killCredit[i]);

            if (Store.Format == SqlFormat.Trinity)
            {
                for (var i = 0; i < 4; i++)
                    builder.AddColumnValue("modelid" + (i + 1), dispId[i]);
            }
            else
            {
                builder.AddColumnValue("modelid_1", dispId[0]);
                builder.AddColumnValue("modelid_2", dispId[1]);
                builder.AddColumnValue("modelid_3", dispId[2]);
                builder.AddColumnValue("modelid_4", dispId[3]);
            }

            builder.AddColumnValue("name", name);
            builder.AddColumnValue("subname", subName);
            builder.AddColumnValue("IconName", iconName);
            builder.AddColumnValue("gossip_menu_id", 0);
            builder.AddColumnValue("minlevel", 1);
            builder.AddColumnValue("maxlevel", 1);

            if (Store.Format != SqlFormat.Trinity)
            {
                builder.AddColumnValue("minhealth", 0);
                builder.AddColumnValue("maxhealth", 0);
                builder.AddColumnValue("minmana", 0);
                builder.AddColumnValue("maxmana", 0);
                builder.AddColumnValue("armor", 0);
            }
            else
                builder.AddColumnValue("exp", 0);

            builder.AddColumnValue("faction_A", 35);
            builder.AddColumnValue("faction_H", 35);
            builder.AddColumnValue("npcflag", 0);
            builder.AddColumnValue("speed_walk", 1.0f);
            builder.AddColumnValue("speed_run", 1.14286f);
            builder.AddColumnValue("scale", 0.0f);
            builder.AddColumnValue("rank", (int)rank);
            builder.AddColumnValue("mindmg", 0);
            builder.AddColumnValue("maxdmg", 0);
            builder.AddColumnValue("dmgschool", 0);
            builder.AddColumnValue("attackpower", 0);
            builder.AddColumnValue("dmg_multiplier", 1.0f);
            builder.AddColumnValue("baseattacktime", 0);
            builder.AddColumnValue("rangeattacktime", 0);
            builder.AddColumnValue("unit_class", 1);
            builder.AddColumnValue("unit_flags", 0);
            builder.AddColumnValue("dynamicflags", 0);
            builder.AddColumnValue("family", (int)family);
            builder.AddColumnValue("trainer_type", 0);
            builder.AddColumnValue("trainer_spell", 0);
            builder.AddColumnValue("trainer_class", 0);
            builder.AddColumnValue("trainer_race", 0);
            builder.AddColumnValue("minrangedmg", 0.0f);
            builder.AddColumnValue("maxrangedmg", 0.0f);
            builder.AddColumnValue("rangedattackpower", 0);
            builder.AddColumnValue("type", (int)type);
            builder.AddColumnValue("type_flags", (int)typeFlags);
            builder.AddColumnValue("lootid", 0);
            builder.AddColumnValue("pickpocketloot", 0);
            builder.AddColumnValue("skinloot", 0);

            for (var i = 0; i < 6; i++)
                builder.AddColumnValue("resistance" + (i + 1), 0);

            var spellI = 4;
            if (Store.Format == SqlFormat.Trinity)
                spellI = 8;

            for (var i = 0; i < spellI; i++)
                builder.AddColumnValue("spell" + (i + 1), 0);

            builder.AddColumnValue("PetSpellDataId", 0);

            if (Store.Format == SqlFormat.Trinity)
                builder.AddColumnValue("VehicleId", 0);

            builder.AddColumnValue("mingold", 0);
            builder.AddColumnValue("maxgold", 0);
            builder.AddColumnValue("AIName", string.Empty);
            builder.AddColumnValue("MovementType", 0);
            builder.AddColumnValue("InhabitType", 0);

            if (Store.Format == SqlFormat.Trinity)
            {
                builder.AddColumnValue("Health_mod", mod1);
                builder.AddColumnValue("Mana_mod", mod2);
                builder.AddColumnValue("Armor_mod", 1);
            }
            else
            {
                builder.AddColumnValue("unk16", mod1);
                builder.AddColumnValue("unk17", mod2);
            }

            builder.AddColumnValue("RacialLeader", racialLeader.ToByte());

            for (var i = 0; i < 6; i++)
                builder.AddColumnValue("questItem" + (i + 1), qItem[0]);

            builder.AddColumnValue("movementId", moveId);
            builder.AddColumnValue("RegenHealth", 1);
            builder.AddColumnValue("equipment_id", 0);
            builder.AddColumnValue("mechanic_immune_mask", 0);
            builder.AddColumnValue("flags_extra", 0);
            builder.AddColumnValue("ScriptName", string.Empty);

            return builder.BuildInsert(true);
        }
コード例 #7
0
        public string GetCommand(int entry, string name, string subName, string iconName,
                                 CreatureTypeFlag typeFlags, CreatureType type, CreatureFamily family, CreatureRank rank,
                                 int[] killCredit, int[] dispId, float mod1, float mod2, bool racialLeader, int[] qItem,
                                 int moveId)
        {
            var builder = new CommandBuilder("creature_template");

            builder.AddColumnValue("entry", entry);

            for (var i = 0; i < 3; i++)
            {
                builder.AddColumnValue("difficulty_entry_" + (i + 1), 0);
            }

            for (var i = 0; i < 2; i++)
            {
                builder.AddColumnValue("KillCredit" + (i + 1), killCredit[i]);
            }

            if (SQLOutput.Format == SqlFormat.Trinity)
            {
                for (var i = 0; i < 4; i++)
                {
                    builder.AddColumnValue("modelid" + (i + 1), dispId[i]);
                }
            }
            else
            {
                builder.AddColumnValue("modelid_A", dispId[0]);
                builder.AddColumnValue("modelid_A2", dispId[1]);
                builder.AddColumnValue("modelid_H", dispId[2]);
                builder.AddColumnValue("modelid_H2", dispId[3]);
            }

            builder.AddColumnValue("name", name);
            builder.AddColumnValue("subname", subName);
            builder.AddColumnValue("IconName", iconName);
            builder.AddColumnValue("gossip_menu_id", 0);
            builder.AddColumnValue("minlevel", 1);
            builder.AddColumnValue("maxlevel", 1);

            if (SQLOutput.Format != SqlFormat.Trinity)
            {
                builder.AddColumnValue("minhealth", 0);
                builder.AddColumnValue("maxhealth", 0);
                builder.AddColumnValue("minmana", 0);
                builder.AddColumnValue("maxmana", 0);
                builder.AddColumnValue("armor", 0);
            }
            else
            {
                builder.AddColumnValue("exp", 0);
            }

            builder.AddColumnValue("faction_A", 35);
            builder.AddColumnValue("faction_H", 35);
            builder.AddColumnValue("npcflag", 0);
            builder.AddColumnValue("speed_walk", 1.0f);
            builder.AddColumnValue("speed_run", 1.14286f);
            builder.AddColumnValue("scale", 0.0f);
            builder.AddColumnValue("rank", (int)rank);
            builder.AddColumnValue("mindmg", 0);
            builder.AddColumnValue("maxdmg", 0);
            builder.AddColumnValue("dmgschool", 0);
            builder.AddColumnValue("attackpower", 0);
            builder.AddColumnValue("dmg_multiplier", 1.0f);
            builder.AddColumnValue("baseattacktime", 0);
            builder.AddColumnValue("rangeattacktime", 0);
            builder.AddColumnValue("unit_class", 1);
            builder.AddColumnValue("unit_flags", 0);
            builder.AddColumnValue("dynamicflags", 0);
            builder.AddColumnValue("family", (int)family);
            builder.AddColumnValue("trainer_type", 0);
            builder.AddColumnValue("trainer_spell", 0);
            builder.AddColumnValue("trainer_class", 0);
            builder.AddColumnValue("trainer_race", 0);
            builder.AddColumnValue("minrangedmg", 0.0f);
            builder.AddColumnValue("maxrangedmg", 0.0f);
            builder.AddColumnValue("rangedattackpower", 0);
            builder.AddColumnValue("type", (int)type);
            builder.AddColumnValue("type_flags", (int)typeFlags);
            builder.AddColumnValue("lootid", 0);
            builder.AddColumnValue("pickpocketloot", 0);
            builder.AddColumnValue("skinloot", 0);

            for (var i = 0; i < 6; i++)
            {
                builder.AddColumnValue("resistance" + (i + 1), 0);
            }

            var spellI = 4;

            if (SQLOutput.Format == SqlFormat.Trinity)
            {
                spellI = 8;
            }

            for (var i = 0; i < spellI; i++)
            {
                builder.AddColumnValue("spell" + (i + 1), 0);
            }

            builder.AddColumnValue("PetSpellDataId", 0);

            if (SQLOutput.Format == SqlFormat.Trinity)
            {
                builder.AddColumnValue("VehicleId", 0);
            }

            builder.AddColumnValue("mingold", 0);
            builder.AddColumnValue("maxgold", 0);
            builder.AddColumnValue("AIName", string.Empty);
            builder.AddColumnValue("MovementType", 0);
            builder.AddColumnValue("InhabitType", 0);

            if (SQLOutput.Format == SqlFormat.Trinity)
            {
                builder.AddColumnValue("Health_mod", mod1);
                builder.AddColumnValue("Mana_mod", mod2);
                builder.AddColumnValue("Armor_mod", 1);
            }
            else
            {
                builder.AddColumnValue("unk16", mod1);
                builder.AddColumnValue("unk17", mod2);
            }

            builder.AddColumnValue("RacialLeader", racialLeader.ToByte());

            for (var i = 0; i < 6; i++)
            {
                builder.AddColumnValue("questItem" + (i + 1), qItem[0]);
            }

            builder.AddColumnValue("movementId", moveId);
            builder.AddColumnValue("RegenHealth", 1);
            builder.AddColumnValue("equipment_id", 0);
            builder.AddColumnValue("mechanic_immune_mask", 0);
            builder.AddColumnValue("flags_extra", 0);
            builder.AddColumnValue("ScriptName", string.Empty);

            return(builder.BuildInsert(true));
        }