Difference between revisions of "Extensions:Giftwrap"

From Lorekeeper Wiki
Jump to navigation Jump to search
m
Tag: 2017 source edit
m
Tag: 2017 source edit
Line 30: Line 30:
 
// Give the user the item             
 
// Give the user the item             
 
if(!(new InventoryManager)->creditItem(null, $user, 'Collected from Donation Tree', [
 
if(!(new InventoryManager)->creditItem(null, $user, 'Collected from Donation Tree', [
                 'data' => 'Collected from Donation Tree by '.$user->displayName,
+
                 'data' => 'Collected from Donation Shop by '.$user->displayName,
 
                 'notes' => null,
 
                 'notes' => null,
 
], $stock->item, 1)) throw new \Exception("Failed to collect item.");
 
], $stock->item, 1)) throw new \Exception("Failed to collect item.");
Line 39: Line 39:
 
// Give the user the item             
 
// Give the user the item             
 
if(!(new InventoryManager)->creditItem(null, $user, 'Collected from Donation Tree',$stock->stack->data + [
 
if(!(new InventoryManager)->creditItem(null, $user, 'Collected from Donation Tree',$stock->stack->data + [
                 'data' => 'Collected from Donation Tree by '.$user->displayName,
+
                 'data' => 'Collected from Donation Shop by '.$user->displayName,
 
                 'notes' => isset($stock->stack->data['notes']) ? $stock->stack->data['notes'] : null,
 
                 'notes' => isset($stock->stack->data['notes']) ? $stock->stack->data['notes'] : null,
 
], $stock->item, 1)) throw new \Exception("Failed to collect item.");
 
], $stock->item, 1)) throw new \Exception("Failed to collect item.");
 
</code></pre>
 
</code></pre>
 +
 +
When you do this copy, make sure that the phrasing 'Collected From Donation Shop by' matches what you already have in your code!! It plays into other Donation Shop logic, so you want to make sure you keep that the same.
  
 
== See Also ==
 
== See Also ==

Revision as of 10:09, 25 November 2022

Giftwrap
Description Adds the ability to wrap items or MYO in "giftwrap" such that they can be unwrapped after.
Author(s) moif
Status stable
Github AW0005/lorekeeper-extensions/extension/giftwrap-tag
LK Version 2.0.0




About the Extension

This extension adds two new item tags "Giftwrap" and "Giftwrapped". The "Giftwrap" tag needs to be associated via the edit panel for it, to a "Giftwrapped" tagged item. Then when a "Giftwrap" item is used to wrap an item, myo, or currency from a user's inventory it generates the "Giftwrapped" item that was specified.

Installation

  1. Pull and deal with conflicts
  2. `php artisan optimize`

Configuration

  1. Set up an item tagged "Giftwrapped" - this will be the "filled" or "wrapped" version of an item
  2. Set up an item tagged "Giftwrap" and associate the "Giftwrapped" item to it"
  3. Sell or grant the "Giftwrap" item to your users as you see fit!

It also optionally includes some commented out code in "app/Services/Item/GiftwrapService.php" and "resources/views/inventory/_giftwrap.blade.php" that can be un-commented to allow the wrapping of characters as well.

Images

Use with Other Extensions

Donation Shop

The donation shop by default overwrites the data for items, which would overwrite the item wrapped information. To make sure that information isn't lost you'll want to go to app/Services/ShopManager.php and look for public function collectDonation.

Replace this line:

<code>
// Give the user the item            
if(!(new InventoryManager)->creditItem(null, $user, 'Collected from Donation Tree', [
                'data' => 'Collected from Donation Shop by '.$user->displayName,
                'notes' => null,
], $stock->item, 1)) throw new \Exception("Failed to collect item.");
</code>

With this:

<code>
// Give the user the item            
if(!(new InventoryManager)->creditItem(null, $user, 'Collected from Donation Tree',$stock->stack->data + [
                'data' => 'Collected from Donation Shop by '.$user->displayName,
                'notes' => isset($stock->stack->data['notes']) ? $stock->stack->data['notes'] : null,
], $stock->item, 1)) throw new \Exception("Failed to collect item.");
</code>

When you do this copy, make sure that the phrasing 'Collected From Donation Shop by' matches what you already have in your code!! It plays into other Donation Shop logic, so you want to make sure you keep that the same.

See Also

Feel free to ping moif in the LK discord if you have questions!

https://ko-fi.com/moifdoesart