Lootdrop level filtering adjustments

This commit is contained in:
Akkadius
2020-08-15 16:37:38 -05:00
parent bda13383ef
commit 94d87584aa
16 changed files with 300 additions and 172 deletions
+19 -3
View File
@@ -25,6 +25,7 @@
#include "zonedb.h"
#include "zone_store.h"
#include "zonedump.h"
#include "../common/loottable.h"
#include <deque>
#include <list>
@@ -193,7 +194,7 @@ public:
void CheckGlobalLootTables();
void DescribeAggro(Client *towho, Mob *mob, bool verbose);
void RemoveItem(uint32 item_id, uint16 quantity = 0, uint16 slot = 0);
void CheckMinMaxLevel(Mob *them);
void CheckTrivialMinMaxLevelDrop(Mob *killer);
void ClearItemList();
ServerLootItem_Struct* GetItem(int slot_id);
void AddCash(uint16 in_copper, uint16 in_silver, uint16 in_gold, uint16 in_platinum);
@@ -291,7 +292,22 @@ public:
void PickPocket(Client* thief);
void Disarm(Client* client, int chance);
void StartSwarmTimer(uint32 duration) { swarm_timer.Start(duration); }
void AddLootDrop(const EQ::ItemData*dbitem, ItemList* itemlistconst, int16 charges, uint8 minlevel, uint8 maxlevel, bool equipit, bool wearchange = false, uint32 aug1 = 0, uint32 aug2 = 0, uint32 aug3 = 0, uint32 aug4 = 0, uint32 aug5 = 0, uint32 aug6 = 0);
void AddLootDrop(
const EQ::ItemData *item2,
ItemList *itemlist,
LootDropEntries_Struct loot_drop,
bool wear_change = false,
uint32 aug1 = 0,
uint32 aug2 = 0,
uint32 aug3 = 0,
uint32 aug4 = 0,
uint32 aug5 = 0,
uint32 aug6 = 0
);
bool MeetsLevelRequirements(LootDropEntries_Struct loot_drop);
virtual void DoClassAttacks(Mob *target);
void CheckSignal();
inline bool IsNotTargetableWithHotkey() const { return no_target_hotkey; }
@@ -620,12 +636,12 @@ protected:
bool ignore_despawn; //NPCs with this set to 1 will ignore the despawn value in spawngroup
private:
uint32 loottable_id;
bool skip_global_loot;
bool skip_auto_scale;
bool p_depop;
};
#endif