New feature: random items allow spawn not themselves, but an item from a brad selection

- specify random items in RandomItems.xml
- when the game creates a random item, it searches all vialbe items according to random item class and picks one randomly
- this allows mappers to place items in maps that are more independent of the xml-set used, however the random items themselves msut be the same in map&mod
- can also be used to broaden the enemy gun/item choices selection
- for more reference, see http://www.bears-pit.com/board/ubbthreads.php/topics/310793.html#Post310793

FIX: sector curfew value was interpreted wrong

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5594 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2012-09-30 21:59:47 +00:00
parent 84c86d96ad
commit ff157fd96b
13 changed files with 577 additions and 9 deletions
+17
View File
@@ -1138,8 +1138,25 @@ typedef struct
// Flugente: clothes type that 'links' to an entry in Clothes.xml
UINT32 clothestype;
// Flugente: a link to RandomItemsClass.xml. Out of such an item, a random object is created, depending on the entries in the xml
UINT16 randomitem;
INT8 randomitemcoolnessmodificator; // alters the allowed maximum coolness a random item can have
} INVTYPE;
// Flugente: move this to a better position
typedef struct RANDOM_ITEM_CHOICE_TYPE
{
UINT16 uiIndex;
//CHAR16 szName[80]; // name of this choice (not used ingame, only for readability)
UINT16 randomitem[10]; // room to link to other random item choices
UINT16 item[10]; // room for up to 10 items
} RANDOM_ITEM_CHOICE_TYPE;
extern RANDOM_ITEM_CHOICE_TYPE gRandomItemClass[200];
// CHRISL: Added new structures to handle LBE gear and the two new XML files that will be needed to deal
// with the IC pockets and the new inventory system.
//DBrot: Increased the LBE combo to 32bit to allow for multiple combos (using a bitwise system)