mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 07:18:37 +00:00
[Quest API] Add Charges/Augment/Attuned Support to Varlink. (#2685)
# Perl - Add `quest::varlink(item_id, charges)`. - Add `quest::varlink(item_id, charges, aug1)`. - Add `quest::varlink(item_id, charges, aug1, aug2)`. - Add `quest::varlink(item_id, charges, aug1, aug2, aug3)`. - Add `quest::varlink(item_id, charges, aug1, aug2, aug3, aug4)`. - Add `quest::varlink(item_id, charges, aug1, aug2, aug3, aug4, aug5)`. - Add `quest::varlink(item_id, charges, aug1, aug2, aug3, aug4, aug5, aug6)`. - Add `quest::varlink(item_id, charges, aug1, aug2, aug3, aug4, aug5, aug6, attuned)`. # Lua - Add `eq.item_link(item_id, charges)`. - Add `eq.item_link(item_id, charges, aug1)`. - Add `eq.item_link(item_id, charges, aug1, aug2)`. - Add `eq.item_link(item_id, charges, aug1, aug2, aug3)`. - Add `eq.item_link(item_id, charges, aug1, aug2, aug3, aug4)`. - Add `eq.item_link(item_id, charges, aug1, aug2, aug3, aug4, aug5)`. - Add `eq.item_link(item_id, charges, aug1, aug2, aug3, aug4, aug5, aug6)`. - Add `eq.item_link(item_id, charges, aug1, aug2, aug3, aug4, aug5, aug6, attuned)`. # Notes - Allows operators to link items with specific charges, augments, and attuned flag. - Gives much more versatility to the varlink/item_link methods.
This commit is contained in:
+24
-6
@@ -1525,15 +1525,24 @@ bool SharedDatabase::LoadFactionAssociation(const std::string &prefix)
|
||||
}
|
||||
|
||||
// Create appropriate EQ::ItemInstance class
|
||||
EQ::ItemInstance* SharedDatabase::CreateItem(uint32 item_id, int16 charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5, uint32 aug6, uint8 attuned)
|
||||
{
|
||||
EQ::ItemInstance* SharedDatabase::CreateItem(
|
||||
uint32 item_id,
|
||||
int16 charges,
|
||||
uint32 aug1,
|
||||
uint32 aug2,
|
||||
uint32 aug3,
|
||||
uint32 aug4,
|
||||
uint32 aug5,
|
||||
uint32 aug6,
|
||||
bool attuned
|
||||
) {
|
||||
EQ::ItemInstance* inst = nullptr;
|
||||
|
||||
const EQ::ItemData* item = GetItem(item_id);
|
||||
if (item) {
|
||||
inst = CreateBaseItem(item, charges);
|
||||
|
||||
if (inst == nullptr) {
|
||||
if (!inst) {
|
||||
LogError("Error: valid item data returned a null reference for EQ::ItemInstance creation in SharedDatabase::CreateItem()");
|
||||
LogError("Item Data = ID: {}, Name: {}, Charges: {}", item->ID, item->Name, charges);
|
||||
return nullptr;
|
||||
@@ -1553,13 +1562,22 @@ EQ::ItemInstance* SharedDatabase::CreateItem(uint32 item_id, int16 charges, uint
|
||||
|
||||
|
||||
// Create appropriate EQ::ItemInstance class
|
||||
EQ::ItemInstance* SharedDatabase::CreateItem(const EQ::ItemData* item, int16 charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5, uint32 aug6, uint8 attuned)
|
||||
{
|
||||
EQ::ItemInstance* SharedDatabase::CreateItem(
|
||||
const EQ::ItemData* item,
|
||||
int16 charges,
|
||||
uint32 aug1,
|
||||
uint32 aug2,
|
||||
uint32 aug3,
|
||||
uint32 aug4,
|
||||
uint32 aug5,
|
||||
uint32 aug6,
|
||||
bool attuned
|
||||
) {
|
||||
EQ::ItemInstance* inst = nullptr;
|
||||
if (item) {
|
||||
inst = CreateBaseItem(item, charges);
|
||||
|
||||
if (inst == nullptr) {
|
||||
if (!inst) {
|
||||
LogError("Error: valid item data returned a null reference for EQ::ItemInstance creation in SharedDatabase::CreateItem()");
|
||||
LogError("Item Data = ID: {}, Name: {}, Charges: {}", item->ID, item->Name, charges);
|
||||
return nullptr;
|
||||
|
||||
Reference in New Issue
Block a user