mirror of
https://github.com/1dot13/gamedir.git
synced 2026-07-22 13:40:25 +02:00
Fix: game does not start in 'Data'-configuration due to missing xmls
git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@2432 4f8fa57e-7814-0410-bad4-adc449f26b7c
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<DISEASESLIST>
|
||||
<DISEASE>
|
||||
<uiIndex>0</uiIndex>
|
||||
<szName>Disease</szName>
|
||||
<szFatName>|D|i|s|e|a|s|e</szFatName>
|
||||
<szDescription>Disease wasn't a feature in vanilla, so nothing to see here.</szDescription>
|
||||
<sInfectionPtsInitial>0</sInfectionPtsInitial>
|
||||
<sInfectionPtsOutbreak>0</sInfectionPtsOutbreak>
|
||||
<sInfectionPtsFull>0</sInfectionPtsFull>
|
||||
<sInfectionPtsGainPerHour>0</sInfectionPtsGainPerHour>
|
||||
<InfectionChance_SWAMP>0</InfectionChance_SWAMP>
|
||||
<InfectionChance_TROPICS>0</InfectionChance_TROPICS>
|
||||
<InfectionChance_SEX>0</InfectionChance_SEX>
|
||||
<InfectionChance_CONTACT_HUMAN>0</InfectionChance_CONTACT_HUMAN>
|
||||
<InfectionChance_CONTACT_CORPSE>0</InfectionChance_CONTACT_CORPSE>
|
||||
<InfectionChance_WOUND_ANIMAL>0</InfectionChance_WOUND_ANIMAL>
|
||||
<InfectionChance_WOUND_OPEN>0</InfectionChance_WOUND_OPEN>
|
||||
<InfectionChance_WOUND_GUNSHOT>0</InfectionChance_WOUND_GUNSHOT>
|
||||
<InfectionChance_WOUND_AGI>0</InfectionChance_WOUND_AGI>
|
||||
<InfectionChance_WOUND_DEX>0</InfectionChance_WOUND_DEX>
|
||||
<InfectionChance_WOUND_STR>0</InfectionChance_WOUND_STR>
|
||||
<InfectionChance_WOUND_WIS>0</InfectionChance_WOUND_WIS>
|
||||
<InfectionChance_WOUND_TRAUMATIC>0</InfectionChance_WOUND_TRAUMATIC>
|
||||
<InfectionChance_BADFOOD>0</InfectionChance_BADFOOD>
|
||||
<InfectionChance_BADWATER>0</InfectionChance_BADWATER>
|
||||
<fCanBeCured>0</fCanBeCured>
|
||||
<fReverseOnFull>0</fReverseOnFull>
|
||||
<fCanReInfect>0</fCanReInfect>
|
||||
<fHideSymbol>0</fHideSymbol>
|
||||
<fDisgusting>0</fDisgusting>
|
||||
<fSpecialFlagPTSDBuns>0</fSpecialFlagPTSDBuns>
|
||||
<sEffStatAGI>0</sEffStatAGI>
|
||||
<sEffStatDEX>0</sEffStatDEX>
|
||||
<sEffStatSTR>0</sEffStatSTR>
|
||||
<sEffStatWIS>0</sEffStatWIS>
|
||||
<sEffStatEXP>0</sEffStatEXP>
|
||||
<sEffAP>0</sEffAP>
|
||||
<usMaxBreath>0</usMaxBreath>
|
||||
<sEffCarryStrength>0</sEffCarryStrength>
|
||||
<sLifeRegenHundreds>0</sLifeRegenHundreds>
|
||||
<sNeedToSleep>0</sNeedToSleep>
|
||||
<sDrinkModifier>0</sDrinkModifier>
|
||||
<sFoodModifier>0</sFoodModifier>
|
||||
<moralemodifier>1.0</moralemodifier>
|
||||
</DISEASE>
|
||||
</DISEASESLIST>
|
||||
@@ -0,0 +1,114 @@
|
||||
<STRUCTURESLIST>
|
||||
<STRUCTURE><!--sandbags-->
|
||||
<usCreationItem>1540</usCreationItem>
|
||||
<usItemStatusLoss>1</usItemStatusLoss>
|
||||
<szTileSetDisplayName>Sandbags</szTileSetDisplayName>
|
||||
<szTileSetName>sandbag.sti</szTileSetName>
|
||||
<dCreationCost>7.5</dCreationCost>
|
||||
<fFortifyAdjacentAdjustment>1</fFortifyAdjacentAdjustment>
|
||||
<northfacingtile>3</northfacingtile>
|
||||
<northfacingtile>4</northfacingtile>
|
||||
<southfacingtile>3</southfacingtile>
|
||||
<southfacingtile>4</southfacingtile>
|
||||
<eastfacingtile>8</eastfacingtile>
|
||||
<eastfacingtile>9</eastfacingtile>
|
||||
<westfacingtile>8</westfacingtile>
|
||||
<westfacingtile>9</westfacingtile>
|
||||
</STRUCTURE>
|
||||
<STRUCTURE><!--concertina wire-->
|
||||
<usCreationItem>1542</usCreationItem>
|
||||
<usItemStatusLoss>1</usItemStatusLoss>
|
||||
<szTileSetDisplayName>Concertina wire</szTileSetDisplayName>
|
||||
<szTileSetName>spot_1.sti</szTileSetName>
|
||||
<dCreationCost>1.0</dCreationCost>
|
||||
<fFortifyAdjacentAdjustment>1</fFortifyAdjacentAdjustment>
|
||||
<northfacingtile>3</northfacingtile>
|
||||
<northfacingtile>5</northfacingtile>
|
||||
<southfacingtile>3</southfacingtile>
|
||||
<southfacingtile>5</southfacingtile>
|
||||
<eastfacingtile>2</eastfacingtile>
|
||||
<eastfacingtile>4</eastfacingtile>
|
||||
<westfacingtile>2</westfacingtile>
|
||||
<westfacingtile>4</westfacingtile>
|
||||
</STRUCTURE>
|
||||
<STRUCTURE><!--medium debris -->
|
||||
<usCreationItem>1724</usCreationItem>
|
||||
<usItemStatusLoss>50</usItemStatusLoss>
|
||||
<szTileSetDisplayName>medium debris</szTileSetDisplayName>
|
||||
<szTileSetName>deb_02.sti</szTileSetName>
|
||||
<dCreationCost>1.0</dCreationCost>
|
||||
<fFortifyAdjacentAdjustment>0</fFortifyAdjacentAdjustment>
|
||||
<northfacingtile>1</northfacingtile>
|
||||
<southfacingtile>1</southfacingtile>
|
||||
<eastfacingtile>2</eastfacingtile>
|
||||
<westfacingtile>2</westfacingtile>
|
||||
</STRUCTURE>
|
||||
<STRUCTURE><!--large debris -->
|
||||
<usCreationItem>1724</usCreationItem>
|
||||
<usItemStatusLoss>100</usItemStatusLoss>
|
||||
<szTileSetDisplayName>large debris</szTileSetDisplayName>
|
||||
<szTileSetName>deb_02.sti</szTileSetName>
|
||||
<dCreationCost>2.0</dCreationCost>
|
||||
<fFortifyAdjacentAdjustment>0</fFortifyAdjacentAdjustment>
|
||||
<northfacingtile>0</northfacingtile>
|
||||
<northfacingtile>3</northfacingtile>
|
||||
<northfacingtile>4</northfacingtile>
|
||||
<northfacingtile>5</northfacingtile>
|
||||
<southfacingtile>0</southfacingtile>
|
||||
<southfacingtile>3</southfacingtile>
|
||||
<southfacingtile>4</southfacingtile>
|
||||
<southfacingtile>5</southfacingtile>
|
||||
<eastfacingtile>0</eastfacingtile>
|
||||
<eastfacingtile>3</eastfacingtile>
|
||||
<eastfacingtile>4</eastfacingtile>
|
||||
<eastfacingtile>5</eastfacingtile>
|
||||
<westfacingtile>0</westfacingtile>
|
||||
<westfacingtile>3</westfacingtile>
|
||||
<westfacingtile>4</westfacingtile>
|
||||
<westfacingtile>5</westfacingtile>
|
||||
</STRUCTURE>
|
||||
<STRUCTURE><!--wooden wall, large -->
|
||||
<usCreationItem>1725</usCreationItem>
|
||||
<usItemStatusLoss>100</usItemStatusLoss>
|
||||
<szTileSetDisplayName>wooden wall large</szTileSetDisplayName>
|
||||
<szTileSetName>BUILD_06.sti</szTileSetName>
|
||||
<dCreationCost>13.0</dCreationCost>
|
||||
<fFortifyAdjacentAdjustment>0</fFortifyAdjacentAdjustment>
|
||||
<northfacingtile>3</northfacingtile>
|
||||
<northfacingtile>4</northfacingtile>
|
||||
<northfacingtile>5</northfacingtile>
|
||||
<northfacingtile>20</northfacingtile>
|
||||
<northfacingtile>21</northfacingtile>
|
||||
<northfacingtile>22</northfacingtile>
|
||||
<northfacingtile>61</northfacingtile>
|
||||
<southfacingtile>3</southfacingtile>
|
||||
<southfacingtile>4</southfacingtile>
|
||||
<southfacingtile>5</southfacingtile>
|
||||
<southfacingtile>20</southfacingtile>
|
||||
<southfacingtile>21</southfacingtile>
|
||||
<southfacingtile>22</southfacingtile>
|
||||
<southfacingtile>61</southfacingtile>
|
||||
<eastfacingtile>0</eastfacingtile>
|
||||
<eastfacingtile>1</eastfacingtile>
|
||||
<eastfacingtile>2</eastfacingtile>
|
||||
<eastfacingtile>12</eastfacingtile>
|
||||
<eastfacingtile>16</eastfacingtile>
|
||||
<eastfacingtile>17</eastfacingtile>
|
||||
<eastfacingtile>18</eastfacingtile>
|
||||
<eastfacingtile>19</eastfacingtile>
|
||||
<eastfacingtile>56</eastfacingtile>
|
||||
<eastfacingtile>62</eastfacingtile>
|
||||
<eastfacingtile>64</eastfacingtile>
|
||||
<westfacingtile>0</westfacingtile>
|
||||
<westfacingtile>1</westfacingtile>
|
||||
<westfacingtile>2</westfacingtile>
|
||||
<westfacingtile>12</westfacingtile>
|
||||
<westfacingtile>16</westfacingtile>
|
||||
<westfacingtile>17</westfacingtile>
|
||||
<westfacingtile>18</westfacingtile>
|
||||
<westfacingtile>19</westfacingtile>
|
||||
<westfacingtile>56</westfacingtile>
|
||||
<westfacingtile>62</westfacingtile>
|
||||
<westfacingtile>64</westfacingtile>
|
||||
</STRUCTURE>
|
||||
</STRUCTURESLIST>
|
||||
@@ -0,0 +1,84 @@
|
||||
<STRUCTURESLIST>
|
||||
<STRUCTURE><!-- sandbag -->
|
||||
<usDeconstructItem>1543</usDeconstructItem>
|
||||
<usItemToCreate>1540</usItemToCreate>
|
||||
<usCreatedItemStatus>1</usCreatedItemStatus>
|
||||
<szTileSetDisplayName>Sandbags</szTileSetDisplayName>
|
||||
<szTileSetName>sandbag.sti</szTileSetName>
|
||||
<dCreationCost>2.5</dCreationCost>
|
||||
<allowedtile>0</allowedtile>
|
||||
<allowedtile>1</allowedtile>
|
||||
<allowedtile>2</allowedtile>
|
||||
<allowedtile>3</allowedtile>
|
||||
<allowedtile>4</allowedtile>
|
||||
<allowedtile>5</allowedtile>
|
||||
<allowedtile>6</allowedtile>
|
||||
<allowedtile>7</allowedtile>
|
||||
<allowedtile>8</allowedtile>
|
||||
<allowedtile>9</allowedtile>
|
||||
</STRUCTURE>
|
||||
<STRUCTURE><!--concertina wire-->
|
||||
<usDeconstructItem>243</usDeconstructItem>
|
||||
<usItemToCreate>1542</usItemToCreate>
|
||||
<usCreatedItemStatus>1</usCreatedItemStatus>
|
||||
<szTileSetDisplayName>Concertina wire</szTileSetDisplayName>
|
||||
<szTileSetName>spot_1.sti</szTileSetName>
|
||||
<dCreationCost>5.0</dCreationCost>
|
||||
<allowedtile>2</allowedtile>
|
||||
<allowedtile>3</allowedtile>
|
||||
<allowedtile>4</allowedtile>
|
||||
<allowedtile>5</allowedtile>
|
||||
<allowedtile>6</allowedtile>
|
||||
<allowedtile>7</allowedtile>
|
||||
<allowedtile>8</allowedtile>
|
||||
<allowedtile>9</allowedtile>
|
||||
</STRUCTURE>
|
||||
<STRUCTURE><!-- medium debris -->
|
||||
<usDeconstructItem>1543</usDeconstructItem>
|
||||
<usItemToCreate>1724</usItemToCreate>
|
||||
<usCreatedItemStatus>50</usCreatedItemStatus>
|
||||
<szTileSetDisplayName>medium debris</szTileSetDisplayName>
|
||||
<szTileSetName>deb_02.sti</szTileSetName>
|
||||
<dCreationCost>3.0</dCreationCost>
|
||||
<allowedtile>1</allowedtile>
|
||||
<allowedtile>2</allowedtile>
|
||||
</STRUCTURE>
|
||||
<STRUCTURE><!-- large debris -->
|
||||
<usDeconstructItem>1543</usDeconstructItem>
|
||||
<usItemToCreate>1724</usItemToCreate>
|
||||
<usCreatedItemStatus>100</usCreatedItemStatus>
|
||||
<szTileSetDisplayName>large debris</szTileSetDisplayName>
|
||||
<szTileSetName>deb_02.sti</szTileSetName>
|
||||
<dCreationCost>3.0</dCreationCost>
|
||||
<allowedtile>0</allowedtile>
|
||||
<allowedtile>3</allowedtile>
|
||||
<allowedtile>4</allowedtile>
|
||||
<allowedtile>5</allowedtile>
|
||||
</STRUCTURE>
|
||||
<STRUCTURE><!-- wooden wall -->
|
||||
<usDeconstructItem>1543</usDeconstructItem>
|
||||
<usItemToCreate>1725</usItemToCreate>
|
||||
<usCreatedItemStatus>70</usCreatedItemStatus>
|
||||
<szTileSetDisplayName>wooden wall</szTileSetDisplayName>
|
||||
<szTileSetName>BUILD_06.sti</szTileSetName>
|
||||
<dCreationCost>5.0</dCreationCost>
|
||||
<allowedtile>3</allowedtile>
|
||||
<allowedtile>4</allowedtile>
|
||||
<allowedtile>5</allowedtile>
|
||||
<allowedtile>20</allowedtile>
|
||||
<allowedtile>21</allowedtile>
|
||||
<allowedtile>22</allowedtile>
|
||||
<allowedtile>61</allowedtile>
|
||||
<allowedtile>0</allowedtile>
|
||||
<allowedtile>1</allowedtile>
|
||||
<allowedtile>2</allowedtile>
|
||||
<allowedtile>12</allowedtile>
|
||||
<allowedtile>16</allowedtile>
|
||||
<allowedtile>17</allowedtile>
|
||||
<allowedtile>18</allowedtile>
|
||||
<allowedtile>19</allowedtile>
|
||||
<allowedtile>56</allowedtile>
|
||||
<allowedtile>62</allowedtile>
|
||||
<allowedtile>64</allowedtile>
|
||||
</STRUCTURE>
|
||||
</STRUCTURESLIST>
|
||||
@@ -0,0 +1,38 @@
|
||||
<!--
|
||||
We define various map interactions in this xml. If we hover our mouse (after right click) over a tile and it fits a set of data from here,
|
||||
we can interact with it, setting of various actions that.
|
||||
We can define interactions very broadly (example: we define all water taps found in any location in any map to behave a certain way) or
|
||||
very precise (example: set a specific computer in a specific to do something). Note that more precise actions override broad descriptions
|
||||
(so we can set a very broad action for all water taps, and then define one specific one to behave differently).
|
||||
|
||||
SectorGrid sector that this action happens in
|
||||
sectorlevel 0: surface 1-3: basement
|
||||
|
||||
If we do not set SectorGrid and sectorlevel, this action will work in any sector in any location (sStructureGridno and sLevel are no longer used).
|
||||
|
||||
szTileSetName tileset that the structure we 'interact' with is part of
|
||||
usTileIndex index of the structure in the tileset, multiple ones can be set
|
||||
|
||||
These have to be set, and define what specific structures are valid for the action. We can set multiple indizes via usTileIndex (see examples).
|
||||
|
||||
sStructureGridno location of the structure (you can get that by pressing [f] in tactical), multiple ones can be set
|
||||
sLevel 0: floor level 1: on a roof -1: don't care
|
||||
|
||||
If a specific map was set above, we can set a specific location here.
|
||||
|
||||
sActionType what kind of action is possible here?
|
||||
0: nothing
|
||||
1: hack a computer
|
||||
2: read a file from a file cabinet
|
||||
3: take water from a water tap
|
||||
4: buy soda from a soda machine
|
||||
5: play a minigame
|
||||
difficulty how hard it is to perform action
|
||||
luaactionid if this is set, lua script HandleInteractiveActionResult() in Overhead.lua is called
|
||||
with this Id to perform special actions. If no ID is set, the standard action is called.
|
||||
|
||||
In this file we always define in general with what we can interact, and then set specific interactions.
|
||||
-->
|
||||
<INTERACTIVEACTIONS>
|
||||
|
||||
</INTERACTIVEACTIONS>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
uiIndex number of profile, 0 is a template
|
||||
szName name of soldier
|
||||
uiBodyType body type:
|
||||
1: REGMALE
|
||||
2: BIGMALE
|
||||
3: STOCKYMALE
|
||||
4: REGFEMALE
|
||||
|
||||
uiHair hair colour:
|
||||
1: WHITEHEAD
|
||||
2: BLACKHEAD
|
||||
3: BROWNHEAD
|
||||
4: BLONDHEAD
|
||||
5: REDHEAD
|
||||
|
||||
uiSkin skin colour:
|
||||
1: PINKSKIN
|
||||
2: TANSKIN
|
||||
3: DARKSKIN
|
||||
4: BLACKSKIN
|
||||
|
||||
uiTrait1, uiTrait2, uiTrait3: according to the trait numbers:
|
||||
// MAJOR TRAITS
|
||||
AUTO_WEAPONS_NT, // 1
|
||||
HEAVY_WEAPONS_NT, // 2
|
||||
SNIPER_NT, // 3
|
||||
RANGER_NT, // 4
|
||||
GUNSLINGER_NT, // 5
|
||||
MARTIAL_ARTS_NT, // 6
|
||||
SQUADLEADER_NT, // 7
|
||||
TECHNICIAN_NT, // 8
|
||||
DOCTOR_NT, // 9
|
||||
|
||||
// MINOR TRAITS
|
||||
AMBIDEXTROUS_NT, // 10
|
||||
MELEE_NT, // 11
|
||||
THROWING_NT, // 12
|
||||
NIGHT_OPS_NT, // 13
|
||||
STEALTHY_NT, // 14
|
||||
ATHLETICS_NT, // 15
|
||||
BODYBUILDING_NT, // 16
|
||||
DEMOLITIONS_NT, // 17
|
||||
TEACHING_NT, // 18
|
||||
SCOUTING_NT, // 19
|
||||
|
||||
COVERT_NT, // 20
|
||||
-->
|
||||
<PROFILES>
|
||||
<PROFILE>
|
||||
<uiIndex>0</uiIndex>
|
||||
<szName>This template should never show up ingame...</szName>
|
||||
<uiBodyType>0</uiBodyType>
|
||||
<uiHair>0</uiHair>
|
||||
<uiSkin>0</uiSkin>
|
||||
<uiTrait1>0</uiTrait1>
|
||||
<uiTrait2>0</uiTrait2>
|
||||
<uiTrait3>0</uiTrait3>
|
||||
</PROFILE>
|
||||
</PROFILES>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
uiIndex number of profile, 0 is a template
|
||||
szName name of soldier
|
||||
uiBodyType body type:
|
||||
1: REGMALE
|
||||
2: BIGMALE
|
||||
3: STOCKYMALE
|
||||
4: REGFEMALE
|
||||
|
||||
uiHair hair colour:
|
||||
1: WHITEHEAD
|
||||
2: BLACKHEAD
|
||||
3: BROWNHEAD
|
||||
4: BLONDHEAD
|
||||
5: REDHEAD
|
||||
|
||||
uiSkin skin colour:
|
||||
1: PINKSKIN
|
||||
2: TANSKIN
|
||||
3: DARKSKIN
|
||||
4: BLACKSKIN
|
||||
|
||||
uiTrait1, uiTrait2, uiTrait3: according to the trait numbers:
|
||||
// MAJOR TRAITS
|
||||
AUTO_WEAPONS_NT, // 1
|
||||
HEAVY_WEAPONS_NT, // 2
|
||||
SNIPER_NT, // 3
|
||||
RANGER_NT, // 4
|
||||
GUNSLINGER_NT, // 5
|
||||
MARTIAL_ARTS_NT, // 6
|
||||
SQUADLEADER_NT, // 7
|
||||
TECHNICIAN_NT, // 8
|
||||
DOCTOR_NT, // 9
|
||||
|
||||
// MINOR TRAITS
|
||||
AMBIDEXTROUS_NT, // 10
|
||||
MELEE_NT, // 11
|
||||
THROWING_NT, // 12
|
||||
NIGHT_OPS_NT, // 13
|
||||
STEALTHY_NT, // 14
|
||||
ATHLETICS_NT, // 15
|
||||
BODYBUILDING_NT, // 16
|
||||
DEMOLITIONS_NT, // 17
|
||||
TEACHING_NT, // 18
|
||||
SCOUTING_NT, // 19
|
||||
|
||||
COVERT_NT, // 20
|
||||
-->
|
||||
<PROFILES>
|
||||
<PROFILE>
|
||||
<uiIndex>0</uiIndex>
|
||||
<szName>This template should never show up ingame...</szName>
|
||||
<uiBodyType>0</uiBodyType>
|
||||
<uiHair>0</uiHair>
|
||||
<uiSkin>0</uiSkin>
|
||||
<uiTrait1>0</uiTrait1>
|
||||
<uiTrait2>0</uiTrait2>
|
||||
<uiTrait3>0</uiTrait3>
|
||||
</PROFILE>
|
||||
</PROFILES>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
uiIndex number of profile, 0 is a template
|
||||
szName name of soldier
|
||||
uiBodyType body type:
|
||||
1: REGMALE
|
||||
2: BIGMALE
|
||||
3: STOCKYMALE
|
||||
4: REGFEMALE
|
||||
|
||||
uiHair hair colour:
|
||||
1: WHITEHEAD
|
||||
2: BLACKHEAD
|
||||
3: BROWNHEAD
|
||||
4: BLONDHEAD
|
||||
5: REDHEAD
|
||||
|
||||
uiSkin skin colour:
|
||||
1: PINKSKIN
|
||||
2: TANSKIN
|
||||
3: DARKSKIN
|
||||
4: BLACKSKIN
|
||||
|
||||
uiTrait1, uiTrait2, uiTrait3: according to the trait numbers:
|
||||
// MAJOR TRAITS
|
||||
AUTO_WEAPONS_NT, // 1
|
||||
HEAVY_WEAPONS_NT, // 2
|
||||
SNIPER_NT, // 3
|
||||
RANGER_NT, // 4
|
||||
GUNSLINGER_NT, // 5
|
||||
MARTIAL_ARTS_NT, // 6
|
||||
SQUADLEADER_NT, // 7
|
||||
TECHNICIAN_NT, // 8
|
||||
DOCTOR_NT, // 9
|
||||
|
||||
// MINOR TRAITS
|
||||
AMBIDEXTROUS_NT, // 10
|
||||
MELEE_NT, // 11
|
||||
THROWING_NT, // 12
|
||||
NIGHT_OPS_NT, // 13
|
||||
STEALTHY_NT, // 14
|
||||
ATHLETICS_NT, // 15
|
||||
BODYBUILDING_NT, // 16
|
||||
DEMOLITIONS_NT, // 17
|
||||
TEACHING_NT, // 18
|
||||
SCOUTING_NT, // 19
|
||||
|
||||
COVERT_NT, // 20
|
||||
-->
|
||||
<PROFILES>
|
||||
<PROFILE>
|
||||
<uiIndex>0</uiIndex>
|
||||
<szName>This template should never show up ingame...</szName>
|
||||
<uiBodyType>0</uiBodyType>
|
||||
<uiHair>0</uiHair>
|
||||
<uiSkin>0</uiSkin>
|
||||
<uiTrait1>0</uiTrait1>
|
||||
<uiTrait2>0</uiTrait2>
|
||||
<uiTrait3>0</uiTrait3>
|
||||
</PROFILE>
|
||||
</PROFILES>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
uiIndex number of profile, 0 is a template
|
||||
szName name of soldier
|
||||
uiBodyType body type:
|
||||
1: REGMALE
|
||||
2: BIGMALE
|
||||
3: STOCKYMALE
|
||||
4: REGFEMALE
|
||||
|
||||
uiHair hair colour:
|
||||
1: WHITEHEAD
|
||||
2: BLACKHEAD
|
||||
3: BROWNHEAD
|
||||
4: BLONDHEAD
|
||||
5: REDHEAD
|
||||
|
||||
uiSkin skin colour:
|
||||
1: PINKSKIN
|
||||
2: TANSKIN
|
||||
3: DARKSKIN
|
||||
4: BLACKSKIN
|
||||
|
||||
uiTrait1, uiTrait2, uiTrait3: according to the trait numbers:
|
||||
// MAJOR TRAITS
|
||||
AUTO_WEAPONS_NT, // 1
|
||||
HEAVY_WEAPONS_NT, // 2
|
||||
SNIPER_NT, // 3
|
||||
RANGER_NT, // 4
|
||||
GUNSLINGER_NT, // 5
|
||||
MARTIAL_ARTS_NT, // 6
|
||||
SQUADLEADER_NT, // 7
|
||||
TECHNICIAN_NT, // 8
|
||||
DOCTOR_NT, // 9
|
||||
|
||||
// MINOR TRAITS
|
||||
AMBIDEXTROUS_NT, // 10
|
||||
MELEE_NT, // 11
|
||||
THROWING_NT, // 12
|
||||
NIGHT_OPS_NT, // 13
|
||||
STEALTHY_NT, // 14
|
||||
ATHLETICS_NT, // 15
|
||||
BODYBUILDING_NT, // 16
|
||||
DEMOLITIONS_NT, // 17
|
||||
TEACHING_NT, // 18
|
||||
SCOUTING_NT, // 19
|
||||
|
||||
COVERT_NT, // 20
|
||||
-->
|
||||
<PROFILES>
|
||||
<PROFILE>
|
||||
<uiIndex>0</uiIndex>
|
||||
<szName>This template should never show up ingame...</szName>
|
||||
<uiBodyType>0</uiBodyType>
|
||||
<uiHair>0</uiHair>
|
||||
<uiSkin>0</uiSkin>
|
||||
<uiTrait1>0</uiTrait1>
|
||||
<uiTrait2>0</uiTrait2>
|
||||
<uiTrait3>0</uiTrait3>
|
||||
</PROFILE>
|
||||
</PROFILES>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
uiIndex number of profile, 0 is a template
|
||||
szName name of soldier
|
||||
uiBodyType body type:
|
||||
1: REGMALE
|
||||
2: BIGMALE
|
||||
3: STOCKYMALE
|
||||
4: REGFEMALE
|
||||
|
||||
uiHair hair colour:
|
||||
1: WHITEHEAD
|
||||
2: BLACKHEAD
|
||||
3: BROWNHEAD
|
||||
4: BLONDHEAD
|
||||
5: REDHEAD
|
||||
|
||||
uiSkin skin colour:
|
||||
1: PINKSKIN
|
||||
2: TANSKIN
|
||||
3: DARKSKIN
|
||||
4: BLACKSKIN
|
||||
|
||||
uiTrait1, uiTrait2, uiTrait3: according to the trait numbers:
|
||||
// MAJOR TRAITS
|
||||
AUTO_WEAPONS_NT, // 1
|
||||
HEAVY_WEAPONS_NT, // 2
|
||||
SNIPER_NT, // 3
|
||||
RANGER_NT, // 4
|
||||
GUNSLINGER_NT, // 5
|
||||
MARTIAL_ARTS_NT, // 6
|
||||
SQUADLEADER_NT, // 7
|
||||
TECHNICIAN_NT, // 8
|
||||
DOCTOR_NT, // 9
|
||||
|
||||
// MINOR TRAITS
|
||||
AMBIDEXTROUS_NT, // 10
|
||||
MELEE_NT, // 11
|
||||
THROWING_NT, // 12
|
||||
NIGHT_OPS_NT, // 13
|
||||
STEALTHY_NT, // 14
|
||||
ATHLETICS_NT, // 15
|
||||
BODYBUILDING_NT, // 16
|
||||
DEMOLITIONS_NT, // 17
|
||||
TEACHING_NT, // 18
|
||||
SCOUTING_NT, // 19
|
||||
|
||||
COVERT_NT, // 20
|
||||
-->
|
||||
<PROFILES>
|
||||
<PROFILE>
|
||||
<uiIndex>0</uiIndex>
|
||||
<szName>This template should never show up ingame...</szName>
|
||||
<uiBodyType>0</uiBodyType>
|
||||
<uiHair>0</uiHair>
|
||||
<uiSkin>0</uiSkin>
|
||||
<uiTrait1>0</uiTrait1>
|
||||
<uiTrait2>0</uiTrait2>
|
||||
<uiTrait3>0</uiTrait3>
|
||||
</PROFILE>
|
||||
</PROFILES>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
uiIndex number of profile, 0 is a template
|
||||
szName name of soldier
|
||||
uiBodyType body type:
|
||||
1: REGMALE
|
||||
2: BIGMALE
|
||||
3: STOCKYMALE
|
||||
4: REGFEMALE
|
||||
|
||||
uiHair hair colour:
|
||||
1: WHITEHEAD
|
||||
2: BLACKHEAD
|
||||
3: BROWNHEAD
|
||||
4: BLONDHEAD
|
||||
5: REDHEAD
|
||||
|
||||
uiSkin skin colour:
|
||||
1: PINKSKIN
|
||||
2: TANSKIN
|
||||
3: DARKSKIN
|
||||
4: BLACKSKIN
|
||||
|
||||
uiTrait1, uiTrait2, uiTrait3: according to the trait numbers:
|
||||
// MAJOR TRAITS
|
||||
AUTO_WEAPONS_NT, // 1
|
||||
HEAVY_WEAPONS_NT, // 2
|
||||
SNIPER_NT, // 3
|
||||
RANGER_NT, // 4
|
||||
GUNSLINGER_NT, // 5
|
||||
MARTIAL_ARTS_NT, // 6
|
||||
SQUADLEADER_NT, // 7
|
||||
TECHNICIAN_NT, // 8
|
||||
DOCTOR_NT, // 9
|
||||
|
||||
// MINOR TRAITS
|
||||
AMBIDEXTROUS_NT, // 10
|
||||
MELEE_NT, // 11
|
||||
THROWING_NT, // 12
|
||||
NIGHT_OPS_NT, // 13
|
||||
STEALTHY_NT, // 14
|
||||
ATHLETICS_NT, // 15
|
||||
BODYBUILDING_NT, // 16
|
||||
DEMOLITIONS_NT, // 17
|
||||
TEACHING_NT, // 18
|
||||
SCOUTING_NT, // 19
|
||||
|
||||
COVERT_NT, // 20
|
||||
-->
|
||||
<PROFILES>
|
||||
<PROFILE>
|
||||
<uiIndex>0</uiIndex>
|
||||
<szName>This template should never show up ingame...</szName>
|
||||
<uiBodyType>0</uiBodyType>
|
||||
<uiHair>0</uiHair>
|
||||
<uiSkin>0</uiSkin>
|
||||
<uiTrait1>0</uiTrait1>
|
||||
<uiTrait2>0</uiTrait2>
|
||||
<uiTrait3>0</uiTrait3>
|
||||
</PROFILE>
|
||||
</PROFILES>
|
||||
@@ -0,0 +1,232 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SPREADPATTERNLIST>
|
||||
<!--
|
||||
<SPREADPATTERN>
|
||||
Defines the pattern.
|
||||
Can have 1 <NAME>, 1 <xpsread>, 1 <yspread>, 1 <method>, and any number of <p>
|
||||
<NAME>
|
||||
The Name used by other XML files.
|
||||
Case insensitive, leading and trailing spaces are trimmed on load.
|
||||
No actual naming convention is specified, but I use full UpperCamelCase and put Spread at the end of every name.
|
||||
<DESC>
|
||||
Description, for informative purposes only.
|
||||
Not used in game at all.
|
||||
<p>
|
||||
Defines a specific pellet angle. Must have 1 <x> and 1 <y>
|
||||
<x>
|
||||
Defines a pellet angle's horizontal deviation from a Mer'c line of sight.
|
||||
Similar to yaw, but not the same.
|
||||
Can be negative, positive, or zero.
|
||||
<y>
|
||||
As <x> but vertical.
|
||||
Similar to pitch, but not the same.
|
||||
<xspread>
|
||||
Defines a spread range's horizontal range for randomized pellets. Negative numbers will be made positive on load.
|
||||
Any pellets fired in the range could fall anwhere between -xspread and +xspread.
|
||||
Keep in mind that since this defines maximum spread, normal distribution will cause most pellets to land closer to the center, so the group may be tighter than you expect.
|
||||
If both xspread and yspread are zero, then they are ignored.
|
||||
<yspread>
|
||||
As <xspread> but vertical.
|
||||
<method>
|
||||
The distribution method to use for a random spread.
|
||||
These are pretty self explanitory. Think of it this way: if you fired the shotgun at the side of a barn from 10 meters, this is the rough shape the pellets would make on it.
|
||||
Can be one of:
|
||||
Rectangle
|
||||
Diamond
|
||||
Ellipse
|
||||
If left unspecified, the pattern will default to the value of giSpreadPatternMethod_Default, which is Ellipse.
|
||||
This default value may be moved to the INI file in the future.
|
||||
|
||||
The first spread pattern defined here is the default used if no other pattern is specified in other XML files.
|
||||
Sections are commented below, and initial arrangement is organized, but this is not necesary for the code.
|
||||
Any number of SPREADPATTERN tags can exist in any order... but clarity is nice to have.
|
||||
|
||||
If specific pellet angles are defined (e.g. <p><x> 0.0000</x><y> 0.0000</y></p> ) then they will be used first, in the order they are listed.
|
||||
If more pellet angles are defined than the number of pellets an AmmoType fires, then the excess angles are ignored.
|
||||
If an AmmoType has more shots than the number of angles that are defined, and there no spread ranges defined, then the pellet angles are recycled.
|
||||
E.g. if 9 pellet angles are defined, no xspread or yspread, then pellet 10 will follow angle 0, 11 will follow 1, etc.
|
||||
(pellets angles are created as arrays on load, so if nine pellet angles are defined the first is index 0 and the last is index 8)
|
||||
|
||||
If an AmmoType has more shots than the number of angles that are defined, and there are spread ranges defined, then the excess pellets will fire at random angles within the spread.
|
||||
E.g. 9 pellet angles defined, xspread=0.032 and yspread=0.032 then the first nine pellets follow the defined angles, and all remaining pellets fired will be at random angles between -0.032 and +0.032
|
||||
|
||||
If no pellet angles are defined, and spread are defined, then all pellets will fire at random angles within the defined range.
|
||||
In order for the spread to be used, one value must be non-zero. If both are zero, it is ignored.
|
||||
|
||||
All angles (for individual pellet angles and random spread) are defined in radians.
|
||||
Traditional shotgun chokes are talked about in how much spread they have on paper at a particular range.
|
||||
For example, 10inch spread at 20 yards, or 25cm at 20m.
|
||||
If you are thinking in these terms when designing your pattern, here are some equations to help you on your way.
|
||||
(note that these work for both xspread and yspread, and that the unit of measure for spread_on_paper and distance is the same)
|
||||
Eq.1: Finding the amount of spread for a given xspread angle at a given distance:
|
||||
spread_on_paper = 2 * distance * tan(xspread)
|
||||
Eq.2: Finding the distance at which a known spread will occur for a known angle:
|
||||
distance = spread_on_paper / (2 * tan(xspread) )
|
||||
Eq.3: Finding the angle needed for a known desired spread at a desired range:
|
||||
xspread = cot( spread_on_paper / (2 * distance) )
|
||||
If trying to find out where a pellet would land for a <p> angle specified, just remove to 2 from the equations above.
|
||||
These only work as expected for xspread < pi/2 and are decreasingly useful as you approach pi/2
|
||||
|
||||
Please note that real world spread patterns open up in a non-linear manner. That is to say, the flight path of real shotgun pellets more closely resembles a funnel than a cone.
|
||||
The methods used here are strickly conical, which is fine for the purposes of a game.
|
||||
|
||||
Also note that the JA2 game engine sends bullets in a flat trajectory as if they were fired in zero gravity.
|
||||
So there is no bullet drop or pellet drop at any time in the game, regardless of bullet type.
|
||||
|
||||
Please show a sign for positive and negative numbers, and no sign for 0, for pellet angles.
|
||||
For xspread and yspread, please use positive number and never use a sign.
|
||||
Please use the decimal format shown. That is, 0.0000
|
||||
Doing so makes everything a lot easier to read.
|
||||
|
||||
-->
|
||||
<SPREADPATTERN>
|
||||
<NAME>Default</NAME>
|
||||
<DESC>First pellet straight ahead, then follow the original game's shotgun pattern, then wide random spread.</DESC>
|
||||
<!-- First fires straight -->
|
||||
<p><x> 0.0000</x><y> 0.0000</y></p>
|
||||
<!-- Normal Shotgun. Spread of about 2 degrees in all directions, from original game code -->
|
||||
<p><x>-0.0120</x><y> 0.0000</y></p>
|
||||
<p><x>+0.0120</x><y> 0.0000</y></p>
|
||||
<p><x> 0.0000</x><y>-0.0120</y></p>
|
||||
<p><x> 0.0000</x><y>+0.0120</y></p>
|
||||
<p><x>-0.0080</x><y>-0.0080</y></p>
|
||||
<p><x>-0.0080</x><y>+0.0080</y></p>
|
||||
<p><x>+0.0080</x><y>-0.0080</y></p>
|
||||
<p><x>+0.0080</x><y>+0.0080</y></p>
|
||||
<!-- Fairly wide spread range, slightly wider than the Flamer was in the original game, about +-7 degrees both ways -->
|
||||
<xspread>0.1234</xspread> <yspread>0.1234</yspread>
|
||||
</SPREADPATTERN>
|
||||
<!--
|
||||
*** Section for AmmoType spread patterns ***
|
||||
-->
|
||||
<SPREADPATTERN>
|
||||
<NAME>Buckshot</NAME>
|
||||
<DESC>Spread range slightly wider than the original game.</DESC>
|
||||
<xspread>0.0150</xspread> <yspread>0.0150</yspread>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Flechette</NAME>
|
||||
<DESC>Flechettes spread much wider than shot.</DESC>
|
||||
<xspread>0.0250</xspread> <yspread>0.0250</yspread>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Duplex</NAME>
|
||||
<DESC>Also for triplex, quadplex, or any other inline multiple projectile.</DESC>
|
||||
<xspread>0.0120</xspread> <yspread>0.0120</yspread>
|
||||
<p><x> 0.0000</x><y> 0.0000</y></p>
|
||||
</SPREADPATTERN>
|
||||
<!--
|
||||
*** Section for Ammo item specific spread patterns ***
|
||||
-->
|
||||
<SPREADPATTERN>
|
||||
<NAME>Tungsten</NAME>
|
||||
<DESC>
|
||||
(not used anywhere right now, just an example)
|
||||
Tungsten shot groups better and hits harder at range.
|
||||
Of course, it also groups better out of a choke, so this would ideally be cumulative
|
||||
with choke or weapon, but no need to complicate things more than I already have.
|
||||
</DESC>
|
||||
<xspread>0.0090</xspread> <yspread>0.0090</yspread>
|
||||
</SPREADPATTERN>
|
||||
<!--
|
||||
*** Section for Weapon item specific spread patterns ***
|
||||
-->
|
||||
<SPREADPATTERN>
|
||||
<NAME>Flamer</NAME>
|
||||
<DESC>Flamethrower more spread out. Uses static angles, unchanged from original game.</DESC>
|
||||
<p><x> 0.0000</x><y> 0.0000</y></p>
|
||||
<p><x>-0.1200</x><y> 0.0000</y></p>
|
||||
<p><x>+0.1200</x><y> 0.0000</y></p>
|
||||
<p><x> 0.0000</x><y>-0.1200</y></p>
|
||||
<p><x> 0.0000</x><y>+0.1200</y></p>
|
||||
<p><x>-0.0080</x><y>-0.0080</y></p>
|
||||
<p><x>-0.0080</x><y>+0.0080</y></p>
|
||||
<p><x>+0.0080</x><y>-0.0080</y></p>
|
||||
<p><x>+0.0080</x><y>+0.0080</y></p>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Sawed off</NAME>
|
||||
<DESC>
|
||||
Very wide spread from a crudely cut-off barrel.
|
||||
Use weapon based spread patterns spareingly, since ammo will likely be tweaked to have a specific
|
||||
performance at specific ranges, and spreads are non-cumulative.
|
||||
</DESC>
|
||||
<xspread>0.0300</xspread> <yspread>0.0300</yspread>
|
||||
</SPREADPATTERN>
|
||||
<!--
|
||||
*** Section for Attachment item specific spread patterns ***
|
||||
-->
|
||||
<SPREADPATTERN>
|
||||
<NAME>Duckbill</NAME>
|
||||
<DESC>Duckbill flattens the spread and makes it wider horizontally.</DESC>
|
||||
<xspread>0.0350</xspread> <yspread>0.0050</yspread>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Imp Mod Choke</NAME>
|
||||
<DESC>A improved modified choke for standard 12ga shotguns.</DESC>
|
||||
<xspread>0.0110</xspread> <yspread>0.0100</yspread>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Full Choke</NAME>
|
||||
<DESC>A full choke for standard 12ga shotguns.
|
||||
Not for use with slugs or steel shot!
|
||||
Well, in real life, but it won't hurt you in the game.
|
||||
Very tight pattern.
|
||||
</DESC>
|
||||
<xspread>0.0080</xspread> <yspread>0.0080</yspread>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Rifled Choke</NAME>
|
||||
<DESC>A rifled choke for standard 12ga shotguns.
|
||||
This is a little bit of a hack, and a good example of what can be done when getting creative.
|
||||
Rifled chokes are intended to increase the range and accuracy of slugs.
|
||||
So, the attachment will do so.
|
||||
However, rifled chokes also spray out the pellets wildly, making them rather bad for shot.
|
||||
They also tend to give shot _less_ range, but we can't accomplish that, so the spread is exaggerated.
|
||||
Hopefully, spread will have the desired impact on reducing the usefulness of shot at range.
|
||||
(though unskilled characters may find that it inadvertantly increases their chance to hit the target
|
||||
with at least one pellet)
|
||||
</DESC>
|
||||
<xspread>0.7853</xspread> <yspread>0.7853</yspread>
|
||||
</SPREADPATTERN>
|
||||
<!--
|
||||
*** Section for other unused, special case, testing, or quicky mod-related spread patterns ***
|
||||
-->
|
||||
<SPREADPATTERN>
|
||||
<NAME>Random</NAME>
|
||||
<DESC>Random angles, from straight ahead to straight back, up, down, left, right.</DESC>
|
||||
<method>Rectangle</method>
|
||||
<xspread>3.1415</xspread> <yspread>3.1415</yspread>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Crazy</NAME>
|
||||
<DESC>Everything firing with moderate spread, but backwards</DESC>
|
||||
<p><x>+3.1415</x><y> 0.0000</y></p>
|
||||
<p><x>-3.1415</x><y> 0.0000</y></p>
|
||||
<p><x>+3.0415</x><y>+0.0050</y></p>
|
||||
<p><x>-3.0415</x><y>-0.0050</y></p>
|
||||
<p><x>+3.0000</x><y>+0.0100</y></p>
|
||||
<p><x>-3.0000</x><y>-0.0100</y></p>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Axis</NAME>
|
||||
<DESC>In straight lines along every axis</DESC>
|
||||
<p><x> 0.0000</x><y> 0.0000</y></p> <!-- forward -->
|
||||
<p><x>+3.1415</x><y> 0.0000</y></p> <!-- backward -->
|
||||
<p><x> 0.0000</x><y>+1.5707</y></p> <!-- up -->
|
||||
<p><x> 0.0000</x><y>-1.5707</y></p> <!-- down -->
|
||||
<p><x>+1.5707</x><y> 0.0000</y></p> <!-- right -->
|
||||
<p><x>-1.5707</x><y> 0.0000</y></p> <!-- left -->
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Nada</NAME>
|
||||
<DESC>Nothing defined.</DESC>
|
||||
</SPREADPATTERN>
|
||||
<SPREADPATTERN>
|
||||
<NAME>Template</NAME>
|
||||
<DESC>Template</DESC>
|
||||
<method>Ellipse</method>
|
||||
<xspread>0.0000</xspread> <yspread>0.0000</yspread>
|
||||
<p><x> 0.0000</x><y> 0.0000</y></p>
|
||||
</SPREADPATTERN>
|
||||
</SPREADPATTERNLIST>
|
||||
Reference in New Issue
Block a user