-
Notifications
You must be signed in to change notification settings - Fork 48
Creature loot exemples
cyberium edited this page Jan 10, 2024
·
2 revisions
-- Creature Template
INSERT INTO `creature_template`(`Entry`, `Name`, `SubName`, `MinLevel`, `MaxLevel`, `ModelId1`, `ModelId2`, `ModelId3`, `ModelId4`, `Faction`, `Scale`, `Family`, `CreatureType`, `InhabitType`, `RegenerateStats`, `RacialLeader`, `NpcFlags`, `UnitFlags`, `DynamicFlags`, `ExtraFlags`, `CreatureTypeFlags`, `StaticFlags1`, `StaticFlags2`, `StaticFlags3`, `StaticFlags4`, `SpeedWalk`, `SpeedRun`, `Detection`, `CallForHelp`, `Pursuit`, `Leash`, `Timeout`, `UnitClass`, `Rank`, `HealthMultiplier`, `PowerMultiplier`, `DamageMultiplier`, `DamageVariance`, `ArmorMultiplier`, `ExperienceMultiplier`, `MinLevelHealth`, `MaxLevelHealth`, `MinLevelMana`, `MaxLevelMana`, `MinMeleeDmg`, `MaxMeleeDmg`, `MinRangedDmg`, `MaxRangedDmg`, `Armor`, `MeleeAttackPower`, `RangedAttackPower`, `MeleeBaseAttackTime`, `RangedBaseAttackTime`, `DamageSchool`, `MinLootGold`, `MaxLootGold`, `LootId`, `PickpocketLootId`, `SkinningLootId`, `KillCredit1`, `KillCredit2`, `MechanicImmuneMask`, `SchoolImmuneMask`, `ResistanceHoly`, `ResistanceFire`, `ResistanceNature`, `ResistanceFrost`, `ResistanceShadow`, `ResistanceArcane`, `PetSpellDataId`, `MovementType`, `TrainerType`, `TrainerSpell`, `TrainerClass`, `TrainerRace`, `TrainerTemplateId`, `VendorTemplateId`, `GossipMenuId`, `InteractionPauseTimer`, `CorpseDecay`, `SpellList`, `StringId1`, `StringId2`, `EquipmentTemplateId`, `Civilian`, `AIName`, `ScriptName`) VALUES
(1002958, 'Prairie Wolf', NULL, 5, 6, 1100, 0, 0, 0, 38, 0, 1, 1, 1, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1.14286, 18, 0, 15000, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 102, 120, 0, 0, 3, 6, 8.624, 11.858, 174, 2, 100, 1500, 2000, 0, 0, 0, 2958, 0, 2958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5936, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 'EventAI', '');
After the above added to your DB you’ll be able to add this npc using following command ingame in gm mode.
.npc add 1002958
You can test drop stats by using following ingame command in gm mode:
.debug lootdrop 1002958
In this creature template based on an existing creature from vanilla, we modified only the `Entry` and `LootId` to arbitrary values.
Now, let’s add some chance to get Malachite. We will use `groupid` = 0 since there are no more rules for this drop, and it should be treated separately.
-- Malachite
INSERT INTO `creature_loot_template`(`entry`, `item`, `ChanceOrQuestChance`, `groupid`, `mincountOrRef`, `maxcount`, `condition_id`, `comments`) VALUES
(1002958, 774, 0.66, 0, 1, 1, 0, 'Malachite');
-- Tigerseye
INSERT INTO `creature_loot_template`(`entry`, `item`, `ChanceOrQuestChance`, `groupid`, `mincountOrRef`, `maxcount`, `condition_id`, `comments`) VALUES
(1002958, 818, 0.24, 0, 1, 1, 0, 'Tigerseye');
At this stage, we have a chance to get either nothing, Malachite, Tigerseye, or both Malachite and Tigerseye.
Now, let’s add a chance to get some patterns. We want only one pattern from a pattern list. We’ll create a list in `reference_loot_template`:
-- Patterns
INSERT INTO `reference_loot_template`(`entry`, `item`, `ChanceOrQuestChance`, `groupid`, `mincountOrRef`, `maxcount`, `condition_id`, `comments`) VALUES
(1002958, 2406, 0, 1, 1, 1, 0, 'Pattern: Fine Leather Boots');
INSERT INTO `reference_loot_template`(`entry`, `item`, `ChanceOrQuestChance`, `groupid`, `mincountOrRef`, `maxcount`, `condition_id`, `comments`) VALUES
(1002958, 2407, 0, 1, 1, 1, 0, 'Pattern: White Leather Jerkin');
You can see that used a group here, because groupid is different than 0.
Whenever item are grouped that mean only one of them will picked from the list after the roll.
Chance is set to 0 meaning they all have same chance to get picked.
As there is 2 then it mean that there is 50% chance for each of them to be picked when this reference is processed.
Now, link this list to the creature:
INSERT INTO `creature_loot_template`(`entry`, `item`, `ChanceOrQuestChance`, `groupid`, `mincountOrRef`, `maxcount`, `condition_id`, `comments`) VALUES
(1002958, 0, 0.3, 0, -1002958, 1, 0, 'Patterns');
Group is set to 0 meaning not grouped and thus will be processed each time.
Chance to 0.3% mean 0.3% chance to evaluate the items list in `1002958` without any conditions. (one time because maxcount = 1)
-- Greens, Blue, and Epic
INSERT INTO `creature_loot_template`(`entry`, `item`, `ChanceOrQuestChance`, `groupid`, `mincountOrRef`, `maxcount`, `condition_id`, `comments`) VALUES
(1002958, 0, 70, 1, -2001001, 2, 0, 'Greens'),
(1002958, 5426, 29.9, 1, 1, 1, 0, 'Blue'),
(1002958, 0, 0.1, 1, -4001001, 1, 0, 'Epic');
This means there’s a 70% chance to get 2 green items, a 29.9% chance to get a blue item, and a 0.1% chance to get an epic item.
-- Quest start items
INSERT INTO `reference_loot_template`(`entry`, `item`, `ChanceOrQuestChance`, `groupid`, `mincountOrRef`, `maxcount`, `condition_id`, `comments`) VALUES
(5001001, 4851, 1, 1, 1, 1, 0, 'Dirt-stained Map'),
(5001001, 4881, 1, 1, 1, 1, 0, 'Aged Envelope');
This will give 1% chance to get dropped for both item in that list.
The result may be then either no item or Dirt-stained Map or Aged Envelope.
Now, link this list to the creature:
INSERT INTO `creature_loot_template`(`entry`, `item`, `ChanceOrQuestChance`, `groupid`, `mincountOrRef`, `maxcount`, `condition_id`, `comments`) VALUES
(1002958, 0, 100, 0, -5001001, 1, 0, 'Quest start items');
This gives a 100% chance to trigger the referenced list `-5001001` each time the creature drops loot.
But ofc in that list there is other rules that will be used to determine what items will be dropped.