Changes for page Looting System

Last modified by Alexandros Mloukie on 2026/01/26 19:12

From version 3.1
edited by Alexandros Mloukie
on 2026/01/20 01:56
Change comment: Deleted image "slice1.png"
To version 7.4
edited by Alexandros Mloukie
on 2026/01/20 21:17
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -4,26 +4,22 @@
4 4  
5 5  ----
6 6  
7 -= 1 - Looting Process =
7 +(% class="wikigeneratedid" %)
8 +[[image:Looting Manual.png]]
8 8  
9 -== 1.1 - Enemy Inventory ==
10 += 1 - Enemy Inventory =
10 10  
11 -For looting to be possible, the enemies need to have their own inventory components, similar to the ones the player has. This inventory also has to be populated with the enemy drops, which must be **changeable later using a designer-friendly approach**.
12 +Every enemy in the game needs to have access to their very own inventory. This can probably use the {{info}}MAWInventoryComponent{{/info}} already used for the player, though there are gonna be some extra things to it so a new component might be needed. The inventory will be populated with items on __enemy spawn__ instead of on-death. The items that will occupy the inventory will be defined through a {{success}}Data Table{{/success}}, so designers can easily tweak values later on.
12 12  
13 -{{info}}
14 -My suggestion would be the use of a Data Table, where each enemy will have an entry that holds an array of ItemStacks. The appropriate Data Table entry is then used on the enemy's to populate the enemy inventory.
15 -{{/info}}
14 +== 1.1 - Enemy Loot Data Table ==
16 16  
17 -== 1.2 - Loot Display ==
16 +The loot entries struct that will fill the {{success}}Loot Data Table{{/success}} will be in the following form:
18 18  
19 -When interacting with the corpse of an enemy to loot them, both the player and enemy inventories must be displayed side by side:
18 +(% class="table-bordered" %)
19 +(% class="active" %)|=(% style="width: 140px;" %)Variable|=(% style="width: 170px;" %)Type|=(% style="width: 852px;" %)Description
20 +|(% style="width:140px" %)Item|(% style="width:170px" %){{info}}FItemStack{{/info}}|(% style="width:852px" %)The item that will be added to the enemy inventory.
21 +|(% style="width:140px" %)DropWeight|(% style="width:170px" %){{success}}float{{/success}}|(% style="width:852px" %)The chance that this item will be added to the enemy inventory. The value must be between 0 and 1 (mapped to 0% - 100%)
20 20  
21 -[[image:slice1.png||data-xwiki-image-style-border="true" height="319" width="561"]]
23 +The enemy uses a {{info}}[[Data Table Row Handle>>https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Engine/FDataTableRowHandle]]{{/info}} to define which entry in the Data Table they will be using to populate their inventory.
22 22  
23 -== 1.3 - Item Movement ==
24 -
25 -With the looting engaged, the player can now move items from the enemy's inventory to their own. Items are only moved if they can fit in the inventory.
26 -
27 -* Should the player attempt to move an item but ends the interaction with the enemy corpse, the item is not moved and retains its original place on the enemy's inventory.
28 -* Items cannot be moved from the player's inventory to that of the enemy's. One-way only.
29 -* Items cannot be placed onto the toolbar directly from the enemy inventory.
25 += 2 - =
Looting Manual.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.AlexandrosMloukie
Size
... ... @@ -1,0 +1,1 @@
1 +8.0 MB
Content