Merge pull request #54 from kitty624/ExtraItemsDir

Extra Items by difficulty

- sector specific xml that allow to add extra items
- based on difficulty level
- as I understand, it's realtime
- an old forgotten feature, now revived
- added a few examples, nothing realy fancy, just to show the idea
- when novice the stuff is slightly usefull, when insane it's bonkers
- the readme informs about details
This commit is contained in:
Kitty
2023-08-22 03:01:46 +02:00
committed by GitHub
17 changed files with 356 additions and 0 deletions
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>201</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>14469</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>205</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>14469</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>257</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>14469</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>201</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>14469</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>1029</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>14469</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>1022</uiIndex>
<quantity>4</quantity>
<condition>100</condition>
<gridno>12298</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>1022</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>12298</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>1022</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>12298</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>257</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>12298</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>1022</uiIndex>
<quantity>4</quantity>
<condition>100</condition>
<gridno>12298</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>245</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>12298</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>1754</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>5523</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>222</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>5523</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>1753</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>5523</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>245</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>5523</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>257</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>5523</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>255</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>5523</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>49</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>5523</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>222</uiIndex>
<quantity>4</quantity>
<condition>100</condition>
<gridno>5523</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,71 @@
This is an old 1.13 Feature which seems to be hidden for Modders long time.
This feature has been reworked by Headrock
(edit: and since it got lost again, now revived)
-------------------------
XML filename format:
-------------------------
\tabledata\Map\ExtraItems\[SectorGrid]_[ZLevel]_ExtraItems_[DifficultyName].xml
Examples:
\TableData\Map\A9_0_ExtraItems_Novice.xml -> for entering the A9 surface sector (Omerta) when playing novice difficulty.
\TableData\Map\D13_1_ExtraItems_Expert.xml -> for entering the first level of the Drassen Mine on Expert difficulty.
The following "DifficultyNames" are valid:
- Novice
- Experienced
- Expert
- Insane
-------------------------
XML content format:
-------------------------
<ExtraItems>
<Item>
<uiIndex>#</uiIndex>
<quantity>#</quantity>
<condition>#</condition>
<gridno>#</gridno>
<visible>#</visible>
</Item>
</ExtraItems>
-------------------------
XML notes:
-------------------------
- For clarity, uiIndex should always come first. However, I've set it so that the position of uiIndex
in the list is not relevant (so long as it exists). Most XMLs work that way, and I think that's fine.
- All other tags can come in any order.
- Quantity can be set to any number, but will only create an item (or more) if above 0.
Quantity of 0 or less will not crash the game, it simply won't create items.
If this tag is completely omitted, the game will create one item by default.
- Condition can be set to 1-100. If it is set outside these values, the item will not be created
(the game won't crash). If this tag is completely omitted, the item will have 100 condition.
- Gridno can be set to any positive number, including 0. However, if it is out of bounds,
the game will generate a screen message that it could not place the item, but will not crash the game.
Obviously, there is no rational default for this tag, so it must always be included.
- Visible can be set to 0 or 1. When 1, will create an item that is visible from the moment you enter the map.
Otherwise, a merc must spot the item by simple sight, like all other items on the map.
If this tag is omitted, the item is created with 0 visibility by default (must be spotted).
- if GridNo is at closed container (like a crate, furniture, etc.), visible should be set to 1 (hidden)
- random-items can also be used
- it's happening in realtime
- added a few example files to portrait the idea
(edited 22.08.2023)
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>121</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>12413</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>123</uiIndex>
<quantity>1</quantity>
<condition>100</condition>
<gridno>12413</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>116</uiIndex>
<quantity>3</quantity>
<condition>100</condition>
<gridno>12413</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>981</uiIndex>
<quantity>4</quantity>
<condition>100</condition>
<gridno>12413</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>257</uiIndex>
<quantity>2</quantity>
<condition>100</condition>
<gridno>12413</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>264</uiIndex>
<quantity>3</quantity>
<condition>100</condition>
<gridno>12413</gridno>
<visible>1</visible>
</Item>
</ExtraItems>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
see the ExtraSectorItems-Readme.txt for details
-->
<ExtraItems>
<Item>
<uiIndex>112</uiIndex>
<quantity>5</quantity>
<condition>100</condition>
<gridno>12413</gridno>
<visible>1</visible>
</Item>
<Item>
<uiIndex>123</uiIndex>
<quantity>4</quantity>
<condition>100</condition>
<gridno>12413</gridno>
<visible>1</visible>
</Item>
</ExtraItems>