/
Vendor.h
56 lines (40 loc) · 1.18 KB
/
Vendor.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#pragma once
#include "Monster.h"
#include "VendorProfile.h"
class CVendorItem
{
public:
CVendorItem();
~CVendorItem();
CWeenieObject *weenie = NULL;
int amount = -1;
};
class CVendor : public CMonsterWeenie
{
public:
CVendor();
virtual ~CVendor() override;
virtual class CVendor *AsVendor() { return this; }
virtual int DoUseResponse(CWeenieObject *player) override;
void DoVendorEmote(int type, DWORD target_id);
virtual void PreSpawnCreate() override;
void SendVendorInventory(CWeenieObject *other);
void ResetItems();
void GenerateItems();
void GenerateAllItems();
void ValidateItems();
void AddVendorItem(DWORD wcid, int ptid, float shade, int amount);
void AddVendorItem(DWORD wcid, int amount);
void AddVendorItemByAllMatchingNames(const char *name);
CVendorItem *FindVendorItem(DWORD item_id);
int TrySellItemsToPlayer(CPlayerWeenie *buyer, const std::list<class ItemProfile *> &desiredItems);
int TryBuyItemsFromPlayer(CPlayerWeenie *seller, const std::list<ItemProfile *> &desiredItems);
VendorProfile profile;
std::list<CVendorItem *> m_Items;
};
class CAvatarVendor : public CVendor
{
public:
CAvatarVendor() { }
virtual void PreSpawnCreate() override;
};