예제 #1
0
        public string GetCommand(int questId, int idx, int objIndex, int mapId, int wmaId, int floorId,
            int unk3, int unk4)
        {
            var builder = new CommandBuilder("quest_poi");

            builder.AddColumnValue("questid", questId);

            if (SQLOutput.Format == SqlFormat.Trinity)
                builder.AddColumnValue("id", idx);

            builder.AddColumnValue("objIndex", objIndex);
            builder.AddColumnValue("mapId", mapId);

            if (SQLOutput.Format == SqlFormat.Trinity)
            {
                builder.AddColumnValue("WorldMapAreaId", wmaId);
                builder.AddColumnValue("FloorId", floorId);
            }
            else
            {
                builder.AddColumnValue("unk1", wmaId);
                builder.AddColumnValue("unk2", floorId);
            }

            builder.AddColumnValue("unk3", unk3);
            builder.AddColumnValue("unk4", unk4);

            return builder.BuildInsert(true);
        }
예제 #2
0
        public string GetCommand(int entry, float[] prob, string[] text1, string[] text2,
            Language[] lang, int[][] emDelay, int[][] emEmote)
        {
            var builder = new CommandBuilder("npc_text");

            builder.AddColumnValue("ID", entry);

            for (var i = 0; i < 8; i++)
            {
                builder.AddColumnValue("text" + i + "_0", text1[i]);
                builder.AddColumnValue("text" + i + "_1", text2[i]);
                builder.AddColumnValue("lang" + i, (int)lang[i]);
                builder.AddColumnValue("prob" + i, prob[i]);

                var k = 0;
                for (var j = 0; j < 3; j++)
                {
                    builder.AddColumnValue("em" + i + "_" + k, emDelay[i][j]);
                    k++;
                    builder.AddColumnValue("em" + i + "_" + k, emEmote[i][j]);
                    k++;
                }
            }

            return builder.BuildInsert(true);
        }
예제 #3
0
        public string GetCommand(Race race, Class clss, int spellId)
        {
            var builder = new CommandBuilder("playercreateinfo_spell");

            builder.AddColumnValue("race", (int)race);
            builder.AddColumnValue("class", (int)clss);
            builder.AddColumnValue("Spell", spellId);
            builder.AddColumnValue("Note", string.Empty);

            return builder.BuildInsert(true);
        }
예제 #4
0
        public string GetCommand(Race race, Class clss, int action, int button, ActionButtonType type)
        {
            var builder = new CommandBuilder("playercreateinfo_action");

            builder.AddColumnValue("race", (int)race);
            builder.AddColumnValue("class", (int)clss);
            builder.AddColumnValue("button", button);
            builder.AddColumnValue("action", action);
            builder.AddColumnValue("type", (int)type);

            return builder.BuildInsert(true);
        }
예제 #5
0
        public string GetCommand(Race race, Class clss, int map, int zone, Vector3 pos)
        {
            var builder = new CommandBuilder("playercreateinfo");

            builder.AddColumnValue("race", (int)race);
            builder.AddColumnValue("class", (int)clss);
            builder.AddColumnValue("map", map);
            builder.AddColumnValue("zone", zone);
            builder.AddColumnValue("position_x", pos.X);
            builder.AddColumnValue("position_y", pos.Y);
            builder.AddColumnValue("position_z", pos.Z);

            return builder.BuildInsert(true);
        }
예제 #6
0
        public string GetCommand(int questId, int idx, int objIndex, int pointX, int pointY)
        {
            var builder = new CommandBuilder("quest_poi_points");

            builder.AddColumnValue("questId", questId);

            if (SQLOutput.Format == SqlFormat.Trinity)
                builder.AddColumnValue("id", idx);
            else
                builder.AddColumnValue("objIndex", objIndex);

            builder.AddColumnValue("x", pointX);
            builder.AddColumnValue("y", pointY);

            return builder.BuildInsert(true);
        }
예제 #7
0
        public string GetCommand(uint entry, int map, int phaseMask, Vector3 pos, float orient)
        {
            var builder = new CommandBuilder("gameobject");

            builder.AddColumnValue("id", entry);
            builder.AddColumnValue("map", map);
            builder.AddColumnValue("spawnMask", 1);
            builder.AddColumnValue("phaseMask", phaseMask);
            builder.AddColumnValue("position_x", pos.X);
            builder.AddColumnValue("position_y", pos.Y);
            builder.AddColumnValue("position_z", pos.Z);
            builder.AddColumnValue("orientation", orient);
            builder.AddColumnValue("rotation0", 0);
            builder.AddColumnValue("rotation1", 0);
            builder.AddColumnValue("rotation2", 0);
            builder.AddColumnValue("rotation3", 0);
            builder.AddColumnValue("spawntimesecs", 120);
            builder.AddColumnValue("animprogress", 0);
            builder.AddColumnValue("state", 1);

            return builder.BuildInsert(true);
        }
예제 #8
0
        public string GetCommand(int entry, GameObjectType type, int dispId, string name,
            string iconName, string castCaption, string unkStr, int[] data, float size,
            int[] qItem)
        {
            var builder = new CommandBuilder("gameobject_template");

            builder.AddColumnValue("entry", entry);
            builder.AddColumnValue("type", (int)type);
            builder.AddColumnValue("displayId", dispId);
            builder.AddColumnValue("name", name);
            builder.AddColumnValue("castBarCaption", castCaption);
            builder.AddColumnValue("unk1", unkStr);
            builder.AddColumnValue("faction", 35);
            builder.AddColumnValue("flags", 0);
            builder.AddColumnValue("size", size);

            for (var i = 0; i < 24; i++)
                builder.AddColumnValue("data" + i, data[i]);

            builder.AddColumnValue("ScriptName", string.Empty);

            return builder.BuildInsert(true);
        }
예제 #9
0
        public string GetCommand(uint entry, int map, int phaseMask, Vector3 position, float orient)
        {
            var builder = new CommandBuilder("creature");

            builder.AddColumnValue("id", entry);
            builder.AddColumnValue("map", map);
            builder.AddColumnValue("spawnMask", 1);
            builder.AddColumnValue("phaseMask", "0x" + phaseMask.ToString("X8"));
            builder.AddColumnValue("modelid", 0);
            builder.AddColumnValue("equipment_id", 0);
            builder.AddColumnValue("position_x", position.X);
            builder.AddColumnValue("position_y", position.Y);
            builder.AddColumnValue("position_z", position.Z);
            builder.AddColumnValue("orientation", orient);
            builder.AddColumnValue("spawntimesecs", 120);
            builder.AddColumnValue("spawndist", 0.0f);
            builder.AddColumnValue("currentwaypoint", 0);
            builder.AddColumnValue("curhealth", 1);
            builder.AddColumnValue("curmana", 0);
            builder.AddColumnValue("DeathState", 0);
            builder.AddColumnValue("MovementType", 0);

            return builder.BuildInsert(true);
        }
예제 #10
0
        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);
        }
예제 #11
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);
        }
예제 #12
0
        public string GetCommand(int entry, QuestMethod method, int level, int minLevel,
            QuestSort sort, QuestType type, int players, int[] factId, int[] factRep,
            int nextQuest, int xpId, int rewReqMoney, int rewMoneyMaxLvl, int rewSpell,
            int rewSpellCast, int rewHonor, float rewHonorBonus, int srcItemId,
            QuestFlag flags, int titleId, int reqPlayerKills, int bonusTalents,
            int bonusArenaPoints, int bonusUnk, int[] rewItemId, int[] rewItemCnt,
            int[] rewChoiceItemId, int[] rewChoiceItemCnt, int[] rewFactionId,
            int[] rewFactionIdx, int[] rewRepOverride, int pointMap, float pointX,
            float pointY, int pointOpt, string title, string objectives, string details,
            string endText, string returnText, KeyValuePair<int, bool>[] reqId, int[] reqCnt,
            int[] srcId, int[] srcCnt, int[] reqItemId, int[] reqItemCnt,
            string[] objectiveText)
        {
            var builder = new CommandBuilder("quest_template");

            builder.AddColumnValue("entry", entry);
            builder.AddColumnValue("Method", (int)method);
            builder.AddColumnValue("ZoneOrSort", (int)sort);
            builder.AddColumnValue("SkillOrClass", 0);
            builder.AddColumnValue("MinLevel", minLevel);
            builder.AddColumnValue("QuestLevel", level);
            builder.AddColumnValue("Type", (int)type);
            builder.AddColumnValue("RequiredRaces", 0);
            builder.AddColumnValue("RequiredSkillValue", 0);
            builder.AddColumnValue("RepObjectiveFaction", factId[0]);
            builder.AddColumnValue("RepObjectiveValue", factRep[0]);

            if (SQLOutput.Format == SqlFormat.Trinity)
            {
                builder.AddColumnValue("RepObjectiveFaction2", factId[1]);
                builder.AddColumnValue("RepObjectiveValue2", factRep[1]);
            }

            builder.AddColumnValue("RequiredMinRepFaction", 0);
            builder.AddColumnValue("RequiredMinRepValue", 0);
            builder.AddColumnValue("RequiredMaxRepFaction", 0);
            builder.AddColumnValue("RequiredMaxRepValue", 0);
            builder.AddColumnValue("SuggestedPlayers", players);
            builder.AddColumnValue("LimitTime", 0);
            builder.AddColumnValue("QuestFlags", (int)flags);
            builder.AddColumnValue("SpecialFlags", 0);
            builder.AddColumnValue("CharTitleId", titleId);
            builder.AddColumnValue("PlayersSlain", reqPlayerKills);
            builder.AddColumnValue("BonusTalents", bonusTalents);

            if (SQLOutput.Format == SqlFormat.Trinity)
                builder.AddColumnValue("BonusArenaPoints", bonusArenaPoints);

            builder.AddColumnValue("PrevQuestId", 0);
            builder.AddColumnValue("NextQuestId", 0);
            builder.AddColumnValue("ExclusiveGroup", 0);
            builder.AddColumnValue("NextQuestInChain", nextQuest);
            builder.AddColumnValue("RewXPId", xpId);
            builder.AddColumnValue("SrcItemId", srcItemId);
            builder.AddColumnValue("SrcItemCount", 0);
            builder.AddColumnValue("SrcSpell", 0);
            builder.AddColumnValue("Title", title);
            builder.AddColumnValue("Details", details);
            builder.AddColumnValue("Objectives", objectives);
            builder.AddColumnValue("OfferRewardText", string.Empty);
            builder.AddColumnValue("RequestItemsText", string.Empty);
            builder.AddColumnValue("EndText", endText);
            builder.AddColumnValue("CompletedText", returnText);

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("ObjectiveText" + (i + 1), objectiveText[i]);

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("ReqItemId" + (i + 1), reqItemId[i]);

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("ReqItemCount" + (i + 1), reqItemCnt[i]);

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("ReqSourceId" + (i + 1), srcId[i]);

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("ReqSourceCount" + (i + 1), srcCnt[i]);

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("ReqCreatureOrGOId" + (i + 1), reqId[i].Value ?
                    -reqId[i].Key : reqId[i].Key);

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("ReqCreatureOrGOCount" + (i + 1), reqCnt[i]);

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

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

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

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("RewItemId" + (i + 1), rewItemId[i]);

            for (var i = 0; i < 4; i++)
                builder.AddColumnValue("RewItemCount" + (i + 1), rewItemCnt[i]);

            for (var i = 0; i < 5; i++)
                builder.AddColumnValue("RewRepFaction" + (i + 1), rewFactionId[i]);

            for (var i = 0; i < 5; i++)
                builder.AddColumnValue("RewRepValueId" + (i + 1), rewRepOverride[i]);

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

            builder.AddColumnValue("RewHonorAddition", rewHonor);
            builder.AddColumnValue("RewHonorMultiplier", rewHonorBonus);

            if (SQLOutput.Format == SqlFormat.Trinity)
                builder.AddColumnValue("unk0", bonusUnk);

            builder.AddColumnValue("RewOrReqMoney", rewReqMoney);
            builder.AddColumnValue("RewMoneyMaxLevel", rewMoneyMaxLvl);
            builder.AddColumnValue("RewSpell", rewSpell);
            builder.AddColumnValue("RewSpellCast", rewSpellCast);
            builder.AddColumnValue("RewMailTemplateId", 0);
            builder.AddColumnValue("RewMailDelaySecs", 0);
            builder.AddColumnValue("PointMapId", pointMap);
            builder.AddColumnValue("PointX", pointX);
            builder.AddColumnValue("PointY", pointY);
            builder.AddColumnValue("PointOpt", pointOpt);

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

            builder.AddColumnValue("IncompleteEmote", 0);
            builder.AddColumnValue("CompleteEmote", 0);

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

            builder.AddColumnValue("StartScript", 0);
            builder.AddColumnValue("CompleteScript", 0);

            return builder.BuildInsert(true);
        }
예제 #13
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));
        }