************************************************************

* Merged GameDir from Development Trunk: Revision 4063 *
************************************************************
- Merged from SVN: https://81.169.133.124/source/ja2/branches/Wanne/JA2%201.13%20MP

git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@1257 4f8fa57e-7814-0410-bad4-adc449f26b7c
This commit is contained in:
Wanne
2011-01-18 10:24:49 +00:00
parent 826c4a2590
commit 0a62ebd22b
3975 changed files with 201787 additions and 67273 deletions
@@ -0,0 +1,95 @@
Right now their merchandise selection is configurable but how they actually select from the list,
how much money they have, and a few other things are hard coded.
This is actually quite easy to do and I was nearly done with it but I'm not sure where I stashed the changes.
------------------------------------
In doing this I am thinking of just adding some new stuff into the existing .XML files.
If the new stuff doesn't exist the current built-in behavior would be the default.
So one of the XXXXInventory.XML files would in the future look something like this (Using Tony as an example):
- setting Tony to be a repair guy probably will not work
<ARMSDEALERINDEX>0</ARMSDEALERINDEX> <!-- 0 to 18 -->
<SHOPKEEPERID>91</SHOPKEEPERID> <!-- Prof*.dat / MercProfiles.xml ID -->
----------------------
A few notes:
0) You MUST specify ARMSDEALERINDEX if you use any other field.
1) You don't have to update any of the dealer inventory files as they all default to the existing behavior. You can do things piecemeal, too. So if you just want to change Tony's max cash you can change just that.
2) You can't change dealer basic functions (yet). So Tony will buy and sell and not repair things and so on.
3) I don't know what effect changing those ARMS_DEALER_XXXX flags have. Use at your own peril!
4) Changing ARMSDEALERINDEX and SHOPKEEPERID will probably break things in the game. Again, change at your own peril!
The arms dealer indices are: ProfileID
<ARMSDEALERINDEX> <SHOPKEEPERID>
0: Tony 91
1: Franz Hinkle 124
2: Keith Hemps 147
3: Jake Cameron 113
4: Gabby Mulnick 104
5: Devin Connell 61
6: Howard Filmore 125
7: Sam Rozen 126
8: Frank 92
9: Bar Bro 1 151
10: Bar Bro 2 152
11: Bar Bro 3 153
12: Bar Bro 4 154
13: Micky O'Brien 96
14: Arnie Brunzwell 128
15: Fredo 130
16: Perko 74
17: Elgin 112
18: Manny 155
-----------------
You edit one of the xxxxxInventory.xml files as I show above.
In your case to just change the dealer's cash. So to increase Tony's daily cash to $45,000 you would do:
<?xml version="1.0" encoding="utf-8"?>
<INVENTORYLIST>
<ARMSDEALERINDEX>0</ARMSDEALERINDEX> <!-- 0 to 18 -->
<CASH>
<INITIAL>45000</INITIAL>
<DAILY>
<INCREMENT>45000</INCREMENT>
<CASHMAXIMUM>45000</CASHMAXIMUM>
<RETAINED>0</RETAINED>
</DAILY>
</CASH>
</CONTROL>
<INVENTORY>
...etc. as usual...
----------------
<CONTROL>
<ARMSDEALERINDEX>2</ARMSDEALERINDEX> <!-- 0 to 19 -->
<CASH>
<INITIAL>10000</INITIAL>
<DAILY>
<INCREMENT>10000</INCREMENT>
<CASHMAXIMUM>10000</CASHMAXIMUM>
<RETAINED>0</RETAINED>
</DAILY>
</CASH>
</CONTROL>
That would change Keith to have 10,000 to start and $10,000 a day
-----------------------
. Initial is what it is set to at start of game.
. Retained is the % of the previous days $$$ that they retain.
. Increment is what is added each day.
. Maximum is the most they will keep after incrementing.
I did it that way so you could have a merchant slowly build up a fairly significant amount: set init and increment small with drain at some no-zero value plus max large
Or maybe someone who keeps a lot of cash after sales but it slowly drains away.
--------------------
+296
View File
@@ -0,0 +1,296 @@
Version 0.1 by Jazz
You can alter/define more groups, than the 14 defined JA2 Vanilla groups (Rebel, Kingpin, Beggars, ...)
in the file TableData\CivGroupNames.
The CIV-Quote files (CIV*.edt) are stored in the Data\NPCDATA folder.
The files (civ40.edt to civ519.edt) are optional files for new groups (which are not used by the default 1.13).
The game random texts from 15 records defined in the edt file.
----------------------------------------------------------------------------------------
Here you have the CIV EDT mapping to the groups from TableData\CivGroupNames.
Friendly edt | Enemies edt | Group |
NONE
civ20.edt civ21.edt REBEL
civ18.edt civ19.edt KINGPIN
SANMONA ARMS
ANGELS
BEGGARS
TOURISTS
ALMA MIL
DOCTORS
COUPLE1
civ16.edt civ17.edt HICKS
WARDEN
JUNKYARD
civ33.edt civ34.edt FACTORY KIDS
QUEENS
civ40.edt civ41.edt Empty Slot 15
civ42.edt civ43.edt Empty Slot 16
civ44.edt civ45.edt Empty Slot 17
civ46.edt civ47.edt Empty Slot 18
civ48.edt civ49.edt Empty Slot 19
civ50.edt civ51.edt Empty Slot 20
civ52.edt civ53.edt Empty Slot 21
civ54.edt civ55.edt Empty Slot 22
civ56.edt civ57.edt Empty Slot 23
civ58.edt civ59.edt Empty Slot 24
civ60.edt civ61.edt Empty Slot 25
civ62.edt civ63.edt Empty Slot 26
civ64.edt civ65.edt Empty Slot 27
civ66.edt civ67.edt Empty Slot 28
civ68.edt civ69.edt Empty Slot 29
civ70.edt civ71.edt Empty Slot 30
civ72.edt civ73.edt Empty Slot 31
civ74.edt civ75.edt Empty Slot 32
civ76.edt civ77.edt Empty Slot 33
civ78.edt civ79.edt Empty Slot 34
civ80.edt civ81.edt Empty Slot 35
civ82.edt civ83.edt Empty Slot 36
civ84.edt civ85.edt Empty Slot 37
civ86.edt civ87.edt Empty Slot 38
civ88.edt civ89.edt Empty Slot 39
civ90.edt civ91.edt Empty Slot 40
civ92.edt civ93.edt Empty Slot 41
civ94.edt civ95.edt Empty Slot 42
civ96.edt civ97.edt Empty Slot 43
civ98.edt civ99.edt Empty Slot 44
civ100.edt civ101.edt Empty Slot 45
civ102.edt civ103.edt Empty Slot 46
civ104.edt civ105.edt Empty Slot 47
civ106.edt civ107.edt Empty Slot 48
civ108.edt civ109.edt Empty Slot 49
civ110.edt civ111.edt Empty Slot 50
civ112.edt civ113.edt Empty Slot 51
civ114.edt civ115.edt Empty Slot 52
civ116.edt civ117.edt Empty Slot 53
civ118.edt civ119.edt Empty Slot 54
civ120.edt civ121.edt Empty Slot 55
civ122.edt civ123.edt Empty Slot 56
civ124.edt civ125.edt Empty Slot 57
civ126.edt civ127.edt Empty Slot 58
civ128.edt civ129.edt Empty Slot 59
civ130.edt civ131.edt Empty Slot 60
civ132.edt civ133.edt Empty Slot 61
civ134.edt civ135.edt Empty Slot 62
civ136.edt civ137.edt Empty Slot 63
civ138.edt civ139.edt Empty Slot 64
civ140.edt civ141.edt Empty Slot 65
civ142.edt civ143.edt Empty Slot 66
civ144.edt civ145.edt Empty Slot 67
civ146.edt civ147.edt Empty Slot 68
civ148.edt civ149.edt Empty Slot 69
civ150.edt civ151.edt Empty Slot 70
civ152.edt civ153.edt Empty Slot 71
civ154.edt civ155.edt Empty Slot 72
civ156.edt civ157.edt Empty Slot 73
civ158.edt civ159.edt Empty Slot 74
civ160.edt civ161.edt Empty Slot 75
civ162.edt civ163.edt Empty Slot 76
civ164.edt civ165.edt Empty Slot 77
civ166.edt civ167.edt Empty Slot 78
civ168.edt civ169.edt Empty Slot 79
civ170.edt civ171.edt Empty Slot 80
civ172.edt civ173.edt Empty Slot 81
civ174.edt civ175.edt Empty Slot 82
civ176.edt civ177.edt Empty Slot 83
civ178.edt civ179.edt Empty Slot 84
civ180.edt civ181.edt Empty Slot 85
civ182.edt civ183.edt Empty Slot 86
civ184.edt civ185.edt Empty Slot 87
civ186.edt civ187.edt Empty Slot 88
civ188.edt civ189.edt Empty Slot 89
civ190.edt civ191.edt Empty Slot 90
civ192.edt civ193.edt Empty Slot 91
civ194.edt civ195.edt Empty Slot 92
civ196.edt civ197.edt Empty Slot 93
civ198.edt civ199.edt Empty Slot 94
civ200.edt civ201.edt Empty Slot 95
civ202.edt civ203.edt Empty Slot 96
civ204.edt civ205.edt Empty Slot 97
civ206.edt civ207.edt Empty Slot 98
civ208.edt civ209.edt Empty Slot 99
civ210.edt civ211.edt Empty Slot 100
civ212.edt civ213.edt Empty Slot 101
civ214.edt civ215.edt Empty Slot 102
civ216.edt civ217.edt Empty Slot 103
civ218.edt civ219.edt Empty Slot 104
civ220.edt civ221.edt Empty Slot 105
civ222.edt civ223.edt Empty Slot 106
civ224.edt civ225.edt Empty Slot 107
civ226.edt civ227.edt Empty Slot 108
civ228.edt civ229.edt Empty Slot 109
civ230.edt civ231.edt Empty Slot 110
civ232.edt civ233.edt Empty Slot 111
civ234.edt civ235.edt Empty Slot 112
civ236.edt civ237.edt Empty Slot 113
civ238.edt civ239.edt Empty Slot 114
civ240.edt civ241.edt Empty Slot 115
civ242.edt civ243.edt Empty Slot 116
civ244.edt civ245.edt Empty Slot 117
civ246.edt civ247.edt Empty Slot 118
civ248.edt civ249.edt Empty Slot 119
civ250.edt civ251.edt Empty Slot 120
civ252.edt civ253.edt Empty Slot 121
civ254.edt civ255.edt Empty Slot 122
civ256.edt civ257.edt Empty Slot 123
civ258.edt civ259.edt Empty Slot 124
civ260.edt civ261.edt Empty Slot 125
civ262.edt civ263.edt Empty Slot 126
civ264.edt civ265.edt Empty Slot 127
civ266.edt civ267.edt Empty Slot 128
civ268.edt civ269.edt Empty Slot 129
civ270.edt civ271.edt Empty Slot 130
civ272.edt civ273.edt Empty Slot 131
civ274.edt civ275.edt Empty Slot 132
civ276.edt civ277.edt Empty Slot 133
civ278.edt civ279.edt Empty Slot 134
civ280.edt civ281.edt Empty Slot 135
civ282.edt civ283.edt Empty Slot 136
civ284.edt civ285.edt Empty Slot 137
civ286.edt civ287.edt Empty Slot 138
civ288.edt civ289.edt Empty Slot 139
civ290.edt civ291.edt Empty Slot 140
civ292.edt civ293.edt Empty Slot 141
civ294.edt civ295.edt Empty Slot 142
civ296.edt civ297.edt Empty Slot 143
civ298.edt civ299.edt Empty Slot 144
civ300.edt civ301.edt Empty Slot 145
civ302.edt civ303.edt Empty Slot 146
civ304.edt civ305.edt Empty Slot 147
civ306.edt civ307.edt Empty Slot 148
civ308.edt civ309.edt Empty Slot 149
civ310.edt civ311.edt Empty Slot 150
civ312.edt civ313.edt Empty Slot 151
civ314.edt civ315.edt Empty Slot 152
civ316.edt civ317.edt Empty Slot 153
civ318.edt civ319.edt Empty Slot 154
civ320.edt civ321.edt Empty Slot 155
civ322.edt civ323.edt Empty Slot 156
civ324.edt civ325.edt Empty Slot 157
civ326.edt civ327.edt Empty Slot 158
civ328.edt civ329.edt Empty Slot 159
civ330.edt civ331.edt Empty Slot 160
civ332.edt civ333.edt Empty Slot 161
civ334.edt civ335.edt Empty Slot 162
civ336.edt civ337.edt Empty Slot 163
civ338.edt civ339.edt Empty Slot 164
civ340.edt civ341.edt Empty Slot 165
civ342.edt civ343.edt Empty Slot 166
civ344.edt civ345.edt Empty Slot 167
civ346.edt civ347.edt Empty Slot 168
civ348.edt civ349.edt Empty Slot 169
civ350.edt civ351.edt Empty Slot 170
civ352.edt civ353.edt Empty Slot 171
civ354.edt civ355.edt Empty Slot 172
civ356.edt civ357.edt Empty Slot 173
civ358.edt civ359.edt Empty Slot 174
civ360.edt civ361.edt Empty Slot 175
civ362.edt civ363.edt Empty Slot 176
civ364.edt civ365.edt Empty Slot 177
civ366.edt civ367.edt Empty Slot 178
civ368.edt civ369.edt Empty Slot 179
civ370.edt civ371.edt Empty Slot 180
civ372.edt civ373.edt Empty Slot 181
civ374.edt civ375.edt Empty Slot 182
civ376.edt civ377.edt Empty Slot 183
civ378.edt civ379.edt Empty Slot 184
civ380.edt civ381.edt Empty Slot 185
civ382.edt civ383.edt Empty Slot 186
civ384.edt civ385.edt Empty Slot 187
civ386.edt civ387.edt Empty Slot 188
civ388.edt civ389.edt Empty Slot 189
civ390.edt civ391.edt Empty Slot 190
civ392.edt civ393.edt Empty Slot 191
civ394.edt civ395.edt Empty Slot 192
civ396.edt civ397.edt Empty Slot 193
civ398.edt civ399.edt Empty Slot 194
civ400.edt civ401.edt Empty Slot 195
civ402.edt civ403.edt Empty Slot 196
civ404.edt civ405.edt Empty Slot 197
civ406.edt civ407.edt Empty Slot 198
civ408.edt civ409.edt Empty Slot 199
civ410.edt civ411.edt Empty Slot 200
civ412.edt civ413.edt Empty Slot 201
civ414.edt civ415.edt Empty Slot 202
civ416.edt civ417.edt Empty Slot 203
civ418.edt civ419.edt Empty Slot 204
civ420.edt civ421.edt Empty Slot 205
civ422.edt civ423.edt Empty Slot 206
civ424.edt civ425.edt Empty Slot 207
civ426.edt civ427.edt Empty Slot 208
civ428.edt civ429.edt Empty Slot 209
civ430.edt civ431.edt Empty Slot 210
civ432.edt civ433.edt Empty Slot 211
civ434.edt civ435.edt Empty Slot 212
civ436.edt civ437.edt Empty Slot 213
civ438.edt civ439.edt Empty Slot 214
civ440.edt civ441.edt Empty Slot 215
civ442.edt civ443.edt Empty Slot 216
civ444.edt civ445.edt Empty Slot 217
civ446.edt civ447.edt Empty Slot 218
civ448.edt civ449.edt Empty Slot 219
civ450.edt civ451.edt Empty Slot 220
civ452.edt civ453.edt Empty Slot 221
civ454.edt civ455.edt Empty Slot 222
civ456.edt civ457.edt Empty Slot 223
civ458.edt civ459.edt Empty Slot 224
civ460.edt civ461.edt Empty Slot 225
civ462.edt civ463.edt Empty Slot 226
civ464.edt civ465.edt Empty Slot 227
civ466.edt civ467.edt Empty Slot 228
civ468.edt civ469.edt Empty Slot 229
civ470.edt civ471.edt Empty Slot 230
civ472.edt civ473.edt Empty Slot 231
civ474.edt civ475.edt Empty Slot 232
civ476.edt civ477.edt Empty Slot 233
civ478.edt civ479.edt Empty Slot 234
civ480.edt civ481.edt Empty Slot 235
civ482.edt civ483.edt Empty Slot 236
civ484.edt civ485.edt Empty Slot 237
civ486.edt civ487.edt Empty Slot 238
civ488.edt civ489.edt Empty Slot 239
civ490.edt civ491.edt Empty Slot 240
civ492.edt civ493.edt Empty Slot 241
civ494.edt civ495.edt Empty Slot 242
civ496.edt civ497.edt Empty Slot 243
civ498.edt civ499.edt Empty Slot 244
civ500.edt civ501.edt Empty Slot 245
civ502.edt civ503.edt Empty Slot 246
civ504.edt civ505.edt Empty Slot 247
civ506.edt civ507.edt Empty Slot 248
civ508.edt civ509.edt Empty Slot 249
civ510.edt civ512.edt Empty Slot 250
civ513.edt civ514.edt Empty Slot 251
civ514.edt civ515.edt Empty Slot 252
civ516.edt civ517.edt Empty Slot 253
civ518.edt civ519.edt Empty Slot 254
+5
View File
@@ -0,0 +1,5 @@
o Removed: three way toggle from "END"
o Added: Enemy-View while pressing "DELETE"
o Added: Enemy-View toggle with SHIFT-C
o Added: Merc-View while pressing "END"
o Added: Merc-View toggle with SHIFT-V
+41
View File
@@ -0,0 +1,41 @@
*** A nice face guide by Kazuya ***
Well, two programs, that you certanly need, when you want to seriously work with sti files are STI Edit and GRV.
you can get them here:
http://kermi.pp.fi/JA_2/Modding_Tools/
If you want to edit an existing portrait, the best thing would be to open the sti file in STI Edit and export it to bmp. Then you can edit the face with any graphics program and reimport it to sti later.
Keep in mind that there are different faces for different types of characters.
Those are the following face files:
The bigface files. Can be found in the ".../data/faces/bigfaces/" folder.
Their dimensions are 106x122. The files name is a two or three digits number (the slot index number). They are used in the mercenaries overvie screen in the laptop as well as in the AIM and MERC webpage. This file is just one picture with no animations.
The NPC files. Can be found in the ".../data/faces/" folder.
Their dimensions are 90x100. The files name always starts with a "B" followed by the slot index number. They are used for characters that are either NPC or ingame recruitable characters. They appear whenever you talk to a character in the sector. AIM and MERC mercenaries, don't need this file, because they are all hired via the webpages. This file contains the entire face plus seven smaller subsurface for the animation (first four for the eyes and the last three for the mouth)
Mercenaries files. Can be found in the ".../data/faces/" folder.
Their dimensions are 48x43. They are in the same folder as the NPC files, but their name is only their index slot number. All characters that can be hired or escorted, need this file. These portraites are used in various places for your mercenaries, most notably in the mercenary panel in the tactical screen. Like the NPC files, this files contains the face and the animation subsurfaces.
small mercenary files. Can be found in the ".../data/faces/65face" folder.
Dimension is 31x27. Name is the corresponding index slot again. The small faces are used in the panel, when a battle is auto resolved. Although the original face files from JA2 all contain animation subsurface, they are not used in the game.
very small files. Can be found in the ".../data/faces/33face" folder.
Dimension is 15x14. I probably don't need to mention what they are the named like. Don't ask what they are used for, every. Seriously I'm not kidding. Just don't do it.
All other kind of face files you might find, have been put there for entertainment purposes only by the original JA2 developers.
When you convert a new portrait to sti, keep in mind that the sti files use a reduced colour palette with a maximum of 256 colours, so reduce the colours of your new portrait, before you attempt to convert them. STI Edit and GRV don't do a good job, when handling files with more colours.
If you merely want to change portraits with new ones from the user-made portraits thread, then you have several options. The easiest one, that will always work, would be to simply go to your JA2 data folder and paste the files in the correct folders (see above) and rename the files to the cooresponding index slot number you want to change. You can find out the correct number by starting poredit.exe in the /data/binarydata/ folder. You then might need to change the face coordinates in proedit. You won't be able to change the coordinates for the IMPs and you wont be able to change the mercenary portrait coordinates for RPCs this way.
If you have a recent version of 1.13, you can change the coordinates in the mercprofile.xml in the /data-1.13/tabledata folder (the slotindex number is here called uiIndex)
An even more sophisticated way, would be to load your new faces over the old ones via vfs, but that's another topic.
The eyes and mouth coordinates are the position of the top left pixel of the eyes and mouth subsurface, in the original face. Even the slightest deviation of only one pixel will cause the animation to look strange.
+56
View File
@@ -0,0 +1,56 @@
This is an old 1.13 Feature which seems to be hidden for Modders long time.
This feature has been reworked by Headrock
-------------------------
XML filename format:
-------------------------
\tabledata\Map\[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).
+27
View File
@@ -0,0 +1,27 @@
JA2 UB tilesets for JA2.
Snap <tacpans@yahoo.com>
This package contains files that are necessary to import maps using JA2 UB
tilesets #50-59 into JA2.
Installation: Unpack the archive into the JA2 main directory. The files will be
unpacked into Data-1.13 subdirectory. If you are using a different custom data
directory, you need to move all of the included files and subdirectories there:
Binarydata\ja2set.dat
Tilesets\50
...
Tilesets\59
Notes:
This add-on will only work in JA2 1.13, or any version of JA2 that has been
modified to accept tilesets with numbers 50 or higher. Alternatively, the UB
tilesets can be used to replace existing JA2 tilesets (for that, ja2set.dat
needs to be modified accordingly).
Maps created with the UB editor or original UB campaign maps need to be
converted to JA2 format first.
In tilesets 53-59 snow-covered graphics, such as sandbags, were replaced with
more appropriate JA2 graphics.
+16
View File
@@ -0,0 +1,16 @@
Per default, merging (overwriting existing property values + adding missing ones) of INI files is disabled.
BUt you can enable it for specific INI files inside your ja2.ini.
Just put the property "MERGE_INI_FILES" in your ja2.ini.
For example, if you want to enable merging for the files "Ja2_Options.ini" and "Ja2Settings.ini" just enter
the following line in your ja2.ini file:
MERGE_INI_FILES = Ja2_Options.ini, Ja2Settings.ini
Now you can put your custom Ja2_Options.ini and Ja2Settings.ini inside your
"Profiles\UserProfile_JA2113" folder. Please note, you only need to put the custom properties (that differ from the base 1.13 INI) plus the section name
inside your custom INI-Files. That's all.
@@ -0,0 +1,398 @@
##################### General Information #####################
NAS is short for the New Attachment System.
The aim of NAS is to grant more freedom with attachments, keeping everything externalized.
In short, what NAS offers:
* More attachments (or less, if the modder decides to)
* A more intuitive way of displaying attachments around the item.
* A new way of determining wether attachments fit or not. However by default all items accept the same attachments as in normal 1.13.
* More freedom in general with attachments.
* Almost everything is costumizable, even the position of the slots on the screen. (but you need to edit xml)
* Many new tooltips concerning attachments.
* Enemies may have more attachments, and they have only a small chance to drop them (customizable).
* More possible default attachments for weapons.
* Attachments can now add and/or remove slots (but merges are still needed to change the caliber of a gun).
* Big slots are now possible.
* Mag extenders don't have to be permanent attachments anymore (they still are though, but you can easily change it in the items.xml)
* You can choose in what attachment system items are available.
* Multishot launchers with separate grenades are possible.
* Attachment swapping is more intuitive.
* The result of merges is now checked for validity.
* Default slots for undefined items.
* Scopes are more customizable.
* The option to use attachments balanced for NAS.
NAS will NOT work with the Old Inventory System and it will NOT work in 640*480 mode.
This is because there just isn't enough space in those cases.
If you try you will get a warning and you will not be able to start the game (but nothing should spontaneously combust).
Also, attachments to LBE gear are no longer possible in NAS.
Bugs should to be reported at the NAS thread at the Bear Pit:
http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=256358
------------------- Ja2_options.ini -------------------
4 new options have been added to the Ja2_options.ini under [Item Property Settings] (the settings need to be in this section or they will not work).
;------------------------------------------------------------------------------------------------------------------------------
; This option lets you turn NAS on or off. It can be changed in the middle of a game, but it's not recommended (attachments may disappear if they don't fit the item anymore).
;------------------------------------------------------------------------------------------------------------------------------
USE_NEW_ATTACHMENT_SYSTEM = TRUE
;------------------------------------------------------------------------------------------------------------------------------
; When attachments have not been assigned for NAS, the game can add default slots that differ per item type.
; It is recommended to play with this set to FALSE when the attachments are assigned properly.
; This option is best used when playing a XML based mod that does not have the NAS xml fully updated.
; However when the mod is too different from 1.13, there will be a lot of strange and/or wrong attachments.
;------------------------------------------------------------------------------------------------------------------------------
USE_DEFAULT_SLOTS_WHEN_MISSING = FALSE
;------------------------------------------------------------------------------------------------------------------------------
; The chance in percentages that an attachment will have to drop with the item if an NPC dies.
; Setting this higher than 20% will unbalance your game unless you change MAX_ENEMY_ATTACHMENTS.
; Inseperable attachments will always drop. Range: 0 - 100%
;------------------------------------------------------------------------------------------------------------------------------
ATTACHMENT_DROP_RATE = 10
;------------------------------------------------------------------------------------------------------------------------------
; The maximum amount of attachments NPC's can get on their gun when they get random equipment.
; They will usually get less attachments than this value because of randomness. Range: 2 - 30
;------------------------------------------------------------------------------------------------------------------------------
MAX_ENEMY_ATTACHMENTS = 6
Under [Tactical Gameplay Settings] there are another 3 options:
; From what aiming bonus a scope is considered very high power (Sniper Scope 10x)
VERY_HIGH_POWER_SCOPE_AIM_THRESHOLD = 18
; From what aiming bonus a scope is considered high power (Battle Scope 7x)
HIGH_POWER_SCOPE_AIM_THRESHOLD = 13
; From what aiming bonus a scope is considered medium power (ACOG 4x)
MEDIUM_POWER_SCOPE_AIM_THRESHOLD = 8
##################### How to install #####################
1: Get a clean JA2 install
2: Install the one click installer or checkout from SVN.
3: Download JA_3547_NAS_0.60b
4: Extract it into your main JA2 folder.
5: Report any bugs you find. (this is probably the most important step!)
NAS was built on SVN revision 3547.
##################### New Items.xml #####################
Because NAS allows many more attachments to be attached, the main reason that made you consider what attachments to use is now gone.
You could slap on just about any attachment you wanted to, so a change was needed.
This change is optional however, because I don't want to force it on anyone. However in my opinion it's needed to restore the balance.
The general idea was to give every attachment a drawback, so that you would at least have to think before you slap just any attachment on your gun.
A general list of changes:
Scopes now have a base CTH penalty and min range was increased. They're now only for long ranges, and will leave you at a disadvantage in CQC.
The combination of a battle scope x7 and the reflex sight is no longer possible for balance reasons.
All silencers now have a small penalty to damage, because the silencer might reduce bullet velocity (and I couldn't think of any other reasonable drawback).
Mag extenders now suffer from a small CTH penalty, due to being heavy, but are now separable from the gun. (otherwise the weight it adds is enough of a drawback)
Lasers and Flashlights now reduce your camo and stealth, because this is the only way I could make you more visable when using them.
Bipods have a penalty to the ready costs, while grippods have only had their penalties decreased. Foregrips have remained unchanged.
Rod & Spring gives a penalty to reliability now. It's just not a very solid construction...
Folding stocks now have a slightly higher To-Hit penalty.
The trigger group no longer adds reliability to your gun, it gives a small CTH penalty.
##################### Version History #####################
Update 0.61b:
* Fixed CTD bug when merging.
* Some readme parts weren't updated.
* Included new map editor exe, because the old exe didn't know about default attachments, but it's just the latest editor and I've not tested it beyond seeing it it crashed.
Update 0.60b:
* Moved gun picture a bit to the left to allow 2 slots next to each other on the right.
* Fixed game sometimes not knowing about altered slots.
* Merged AttachmentSlotAssign.xml and AttachmentSlots.xml (Now there is just AttachmentSlots.xml)
* Revamped the adding and removing of slots.
Now you can add slots depending on the attachment ID, and if you want the item class / ID of the item it is attached to.
It is no longer dependant on the slot the attachment was in, because this restricted the system.
This change means it's now completely possible to add/remove slots in slots that were not originally on the gun.
* Fixed a crash when attaching in certain cases.
* Fixed grenade not attaching to the gun after adding the slot with the UGL.
* Made the amount of aimclicks dependant on wether you are actually using your scope.
* Added ini options to determine when a scope is considered "high powered"
* Default attachments per item class for items that do not have slots assigned. This can also be turned on or off in the ini.
* Fixed a 1.13 bug with reloadable rockets, also made semi-auto rocket launchers possible. Auto rocket launchers are still a problem.
* Increased the max amount of default attachments to 20 (by request).
* The result of merges is now checked for validity. This also means I had to change the coolness of these items to something that's not 0.
* Some general speed/readability improvements for the source that I shall not bother you with.
Update 0.503b: (also minor)
* Added a readme.
* Added an optional items.xml with more balanced attachments.
Update 0.502b: (even more minor)
* Fixed attachments possibly showing up multiple times in BR tooltips.
Update 0.501b: (minor and should not bother anyone. You don't have to redownload it.)
* Fixed default ini
* fixed shift+f not removing attachments
* fixed players being able to start a game with NAS in OIV (which is not supported)
* removed svn files from the download archive.
Updates in 0.42a:
* Fixed a crash when trying to attach in certain situations.
* Fixed "can't attach" messaging not always doing what I wanted.
* Fixed removing prohibited attachments sometimes being weird.
Updates in 0.41a:
* Up to 10 default attachments. (just add the tags more times in items.xml)
* Added a listing of default attachments in bobby rays.
* Because there can now be more default attachments, they also have the same dropchance other attachments do. (Unless they are inseparable.)
This should balance the drops of default attachments a lot.
* Fixed a bug when creating items and then initializing them only to re-use them. (yeah whatever)
* Made some things more efficient and clear in the source. (but should not be noticed)
Updates in 0.40a:
* More attachment for enemies, and a droprate for attachments in options in the Ja2_Options.ini.
* Made attachment swapping much more intuitive for the new system.
* Multiple launchables can be attached and fired when you add more slots to a launcher.
* Implemented big slots for bigger attachments than average.
* Fixed some undesirable behaviour when removing invalid attachments.
* Tooltips and warnings involving attachments improved.
* Fixed a crash when attaching something to some LBE gears
Updates in 0.36a:
* Improved structure (for better stability later).
* Changed the way the game checks for invalid attachments.
* Fixed a crash with grenade slots (for real this time).
Updates in 0.35a:
* Fixed savegame compatibility.
* Fixed a crash with grenade slots. (hopefully)
* Fixed a crash when adding slots through attachments
Updates in 0.34a:
* Fixed slot adding/removing attachments
* Made everything more reliable internally (a big change internally, but you shouldn't notice it, the game now doesn't need ewish checks to work.)
* Magazine Adapters can now be made detachable safely (in your own items.xml), they still aren't by default though.
* Broke your savegame >:D
* Fixed a crash when sorting the map inventory, and then trying to sell it
Updates in 0.33a:
* a few important bugfixes
Updates in 0.32a:
* Renamed some things for more clarity
* New xml structure for ItemSlotAssign.xml.
* Added the possibility to add attachments that can add/remove item slots (people can make stuff like expansion rails now)
* Added a neater way of telling the player he can't play with OIV or the lowest resolution.
* Fixed some xml entries
* Gave underslung grenade launchers their own slot because you can apparently sometimes attach a grip alongside a UGL. This was causing the overlapping slots.
Updates in 0.31a:
* Added all xml entries for *usefull* non-gun attachments
* Added all xml entries for combo-merges
* Fixed a minor placement issue and placed the default attachment slots elsewhere
* Moved from a debug exe to a normal exe. (It's just more practical)
Updates in 0.30a:
* Fixed a few random lockups and crashes.
* GL's now work as intended
* Added support for ALL gun attachments (including weird ones such as ISM-V-IR)
##################### Modders Section #####################
If you want to add a new weapon, here is what you do.
1: Check if the slot you want exists in AttachmentSlots.xml, if it does, skip to step 3, otherwise you'll have to make a new slot.
2: Make a slot in AttachmentSlots, following the exmaples in the specific XML explenations under this section.
3: You can now add the slot to the itemID that you want in ItemSlotAssign.xml
Booleans can be either 0 (false) or 1 (true).
Some of these attributes will have defaults, meaning if the tags are not found, the default value will be used.
These tags do not have to be used.
------------------- Items.xml -------------------
There are some extra tags in items.xml:
<AttachmentSystem>0</AttachmentSystem>
1 -> This item is only available with the old attachment system.
2 -> This item is only available with the new attachment system.
0 -> This item is available in both modes (default).
<DefaultAttachment>5</DefaultAttachment> This was already in the old items.xml, but it can now be used up to 20 times.
<DefaultAttachment>6</DefaultAttachment> Like this.
<DefaultAttachment>2</DefaultAttachment>
------------------- AttachmentSlots.xml -------------------
This xml is used to define the possible slots than can be used in other xml's.
It needs to be contiguous (e.g. the first block needs to have uiSlotIndex 0, the next one needs to be 1, then 2, etc).
Usable tags:
<ATTACHMENTSLOTLIST> Start of the xml.
<ATTACHMENTSLOT> Start of this slot.
<uiSlotIndex>0</uiSlotIndex> This number will be used to identify this slot throughout the other xml's.
<czSlotName>I'm an example!</czSlotName> The slot name, it is not (yet) used or read ingame so don't worry too much about it. It's just to more easily identify these slots (really, you'll be doing yourself a favor if you fill in these names).
<usDescPanelPosX>0</usDescPanelPosX> This is the position along the X axis relative to the upper left corner of the description box.
<usDescPanelPosY>0</usDescPanelPosY> This is the position along the Y axis relative to the upper left corner of the description box.
<fLauncherSlot>0</fLauncherSlot> This is a boolean determining wether or not this slot will fit a launchable that suits this weapon. Default is 0.
<fBigSlot>0</fBigSlot> Another boolean, this one determines if this is a bigger slot than usual. Default is 0.
<fDefaultSlot>0</fDefaultSlot> Boolean, slots with this tag are assigned to items that have no other slots (after other default slots have been applied). Default is 0.
<fDefaultPistolSlot>0</fDefaultPistolSlot> Boolean, default slots for pistols without slots. Default is 0.
<fDefaultMachinePistolSlot>0</fDefaultMachinePistolSlot> Boolean, default slots for machine pistols without slots. Default is 0.
<fDefaultSubMachineGunSlot>0</fDefaultSubMachineGunSlot> Boolean, default slots for SMG's without slots. Default is 0.
<fDefaultRifleSlot>0</fDefaultRifleSlot> Boolean, default slots for rifles without slots. Default is 0.
<fDefaultSniperRifleSlot>0</fDefaultSniperRifleSlot> Boolean, default slots for sniper rifles without slots. Default is 0.
<fDefaultAssaultRifleSlot>0</fDefaultAssaultRifleSlot> Boolean, default slots for assault rifles without slots. Default is 0.
<fDefaultLightMachineGunSlot>0</fDefaultLightMachineGunSlot> Boolean, default slots for light machine guns without slots. Default is 0.
<fDefaultShotgunSlot>0</fDefaultShotgunSlot> Boolean, default slots for pistols shotguns slots. Default is 0.
<fDefaultRocketLauncherSlot>0</fDefaultRocketLauncherSlot> Boolean, default slots for rocket launchers without slots. Default is 0.
<fDefaultGrenadeLauncherSlot>0</fDefaultGrenadeLauncherSlot> Boolean, default slots for grenade launchers without slots. Default is 0.
<fDefaultMortarSlot>0</fDefaultMortarSlot> Boolean, default slots for mortars without slots. Default is 0.
<fDefaultHelmetSlot>0</fDefaultHelmetSlot> Boolean, default slots for helmets without slots. Default is 0.
<fDefaultVestSlot>0</fDefaultVestSlot> Boolean, default slots for vests without slots. Default is 0.
<fDefaultLeggingsSlot>0</fDefaultLeggingsSlot> Boolean, default slots for leggings without slots. Default is 0.
<ATTACHMENTASSIGN> Bind an attachment to this slot.
<usAttachmentIndex>0</usAttachmentIndex> The item Index (found in items.xml) of the attachment.
<APCost>0</APCost> The AP it costs to attach this item to this slot. (whichever item it's on and ONLY to this slot)
</ATTACHMENTASSIGN>
<ATTACHMENTASSIGN> You can have as many of these as you like.
<usAttachmentIndex>0</usAttachmentIndex>
<APCost>0</APCost>
</ATTACHMENTASSIGN>
</ATTACHMENTSLOT> End of this slot.
</ATTACHMENTSLOTLIST> End of the xml.
------------------- AlteringAttachments.xml -------------------
This xml is used to add or remove slots with attachments. The tags that are there twice means you can add more of them.
If ubWeaponClass and usItemInclude are both left empty, all items will get their slots changed by addsSlot and removesSlot, unless they are explicitly excluded by usItemExclude.
If you dont want to use a tag, just don't put it there. Things may go wrong if you add tags with just a 0 and expect them to not do anything.
Usable tags:
<ALTERINGATTACHMENTLIST>
<ALTERINGATTACHMENT>
<usAttachmentIndex>902</usAttachmentIndex> This is the ID of the attachment we want to add slots.
<ALTERATION>
<ubWeaponClass>0</ubWeaponClass> The weapon class of items we want to change the slots of.
<ubWeaponClass>0</ubWeaponClass>
<usItemExclude>0</usItemExclude> The item IDs of items we DON'T want to change the slots of.
<usItemExclude>0</usItemExclude>
<usItemInclude>0</usItemInclude> Items ID of the item we want to change the slots of.
<usItemInclude>0</usItemInclude>
<addsSlot>0</addsSlot> Slots to add if the above conditions are met.
<addsSlot>0</addsSlot>
<removesSlot>0</removesSlot> Slots to remove if the above conditions are met.
<removesSlot>0</removesSlot>
</ALTERATION>
<ALTERATION> You can have more effects per attachments, for different items. The game will pick the first valid ALTERATION it finds for the item.
<ubWeaponClass>2</ubWeaponClass> This ALTERATION will add slots to items with weaponclass 2 (AR's) or item ID 1, unless they have item ID 500.
<usItemExclude>500</usItemExclude>
<usItemInclude>1</usItemInclude>
<addsSlot>5</addsSlot>
<removesSlot>40</removesSlot>
</ALTERATION>
</ALTERINGATTACHMENT>
</ALTERINGATTACHMENTLIST>
------------------- ItemSlotAssign.xml -------------------
Assigns slots to items, so that the game knows what slots every item has (and in turn, that will reveal what attachments fit on the item).
Items that are not defined here, will get 4 default slots in which no attachments will fit, they are just there for merges.
The order in which items are added does not matter.
Usable tags:
<ITEMSLOTASSIGNLIST> Start of the xml.
<ITEMSLOTASSIGN> Start of this item.
<itemIndex>1337</itemIndex> The ID of this item, as defined in items.xml.
<itemSlotAssignIndex>3</itemSlotAssignIndex> This refers to uiSlotIndex in AttachmentSlots.xml.
<itemSlotAssignIndex>5</itemSlotAssignIndex> It defines that the slot with this index will be available on this item.
<itemSlotAssignIndex>7</itemSlotAssignIndex> You can use up to 30 of these tags, right now. (because that is the maximum number of attachments)
<itemSlotAssignIndex>4</itemSlotAssignIndex> Nobody cares about the order in which it is done.
<itemSlotAssignIndex>8</itemSlotAssignIndex>
</ITEMSLOTASSIGN> End of this item.
<ITEMSLOTASSIGN> New item.
<itemIndex>5</itemIndex>
<itemSlotAssignIndex>2</itemSlotAssignIndex>
</ITEMSLOTASSIGN>
</ITEMSLOTASSIGNLIST> End of the xml.
------------------- NASIncompatibleAttachments.xml -------------------
Some attachments will prohobit the use of other attachments that go in a different slot. Normally NAS would allow this, because it's another slot.
This xml is made so that you can prohibit the use of these attachments when a certain attachment is attached (this is very similair to the way the old attachment system worked).
Usable tags:
<NASINCOMPATIBLEATTACHMENTLIST> Start of the xml (just in case you haven't been paying attention before)
<NASINCOMPATIBLEATTACHMENT>
<attachmentIndex>20</attachmentIndex> The item ID of the attachment (as defined in items.xml).
<incompatibleAttachmentIndex>50</incompatibleAttachmentIndex> The item ID of the attachment that this attachment is incompatible with.
</NASINCOMPATIBLEATTACHMENT>
<NASINCOMPATIBLEATTACHMENT>
<attachmentIndex>20</attachmentIndex>
<incompatibleAttachmentIndex>46</incompatibleAttachmentIndex>
</NASINCOMPATIBLEATTACHMENT>
</NASINCOMPATIBLEATTACHMENTLIST> End of the xml.
##################### Contact #####################
I can be found at the Bear Pit, at the NAS thread:
http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=256358
Or I can be pm'd on the Bear Pit forums on WarmSteel.
All NAS files can be found here:
http://www.mediafire.com/NewAttachmentSystem
Sorry, no email :)
@@ -0,0 +1,110 @@
,--.
,--.'| .--.--. ,----.. ,---,
,--,: : | / / '. / / \ ,`--.' |
,`--.'`| ' :| : /`. / | : : | : :
| : : | |; | |--` . | ;. / : | '
: | \ | :| : ;_ . ; /--` | : |
| : ' '; | \ \ `. ; | ; __ ' ' ;
' ' ;. ; `----. \| : |.' .'| | |
| | | \ | __ \ \ |. | '_.' :' : ;
' : | ; .' / /`--' /' ; : \ || | '
| | '`--' '--'. / ' | '/ .'' : |
' : | `--'---' | : / ; |.'
; |.' \ \ .' '---'
'---' `---`
New Starting Gear Interface Beta 0.4
Build from MP Beta Branch Rev. 3582
Credits for helping: Warmsteel, Headrock and smeagol
Description:
Purpose of this modification is to make all starting gear items visible in the AIM website, at the
same time functionality to select up to 5 starting gear kits has been added.
This modification will change the way that the AIM website will look, adjustments have been made to
the size and position of certain items to create space for the extra items that are displayed.
For testing purposes the MercStartingGear.xml file has some changes, GEARKIT's from Mercs have been
randomly copied/pasted to act as extra GEARKIT's for other Mercs, the clean file is included in a 7z
file in the root of the folder.
The new MercStartingGear.xml file is not compatible with the XML Editor nor is it compatible with the
vanilla executable!
Included in this release is a new hotkey for in the strategic view, SHIFT+W will make your selected merc drop ALL ITEMS
instead of just carried items in the case of SHIFT+E
There's also a modification to the way the Merc on assignment system works.
In Ja2_Options.INI there's a way to set if a Merc can be on assignment at the start of the game, this
has been upgraded so that there's an option
that makes Mercs not go on any other assignments than yours during the whole duration of the campaign.
As default it's set to standard behaviour, so if you don't like it don't edit it.
The ini setting is placed under category [Recruitment Settings]
;Mercs can be on assignment?
; 0 = default behaviour, mercs are on assignment at start, mercs go on assignment during campaign
; 1 = all mercs available at the start of the game, during the campaign they will go on assignment
; 2 = all mercs at your disposal. nobody goes on any other assignment than yours
MERCS_CAN_BE_ON_ASSIGNMENT = 0
new in 0.4 is the possibility to enable/disable NSGI in Ja2_Options.ini under the category [Graphics Settings]
NSGI is ofcourse enabled in the ini in this package
;New Starting Gear Interface
;This will enable the 21 item view in the AIM page and the possibility to select gearkits
;If set to FALSE, the game will use the original AIM page and 21 item view and gearkit selection are disabled (1st kit is used)
;If set to TRUE, the game will use the new starting gear interface, this will enable 21 item view and gearkit selection
USE_NEW_STARTING_GEAR_INTERFACE = TRUE
There are no settings for NSGI, it expects an altered MercStartingGear.xml
where the gear is put into GEARKIT's.
If only one GEARKIT is defined for a merc no selection buttons will be shown.
Up to 5 GEARKIT's can be defined per merc, the amount of GEARKIT's can vary per merc.
More than one GEARKIT will only work for AIM Merc's!!
Here under a demo of how the new XML looks, this is just for one Merc...
single gearkit, only the mIndex and mName tag stay outside the GEARKIT, everything else goes into the GEARKIT
<MERCGEARLIST>
<MERCGEAR>
<mIndex>0</mIndex>
<mName>Barry</mName>
<GEARKIT>
items...
</GEARKIT>
</MERCGEAR>
</GEARLIST>
or multiple gearkits
<MERCGEARLIST>
<MERCGEAR>
<mIndex>0</mIndex>
<mName>Barry</mName>
<GEARKIT>
items...
</GEARKIT>
<GEARKIT>
items...
</GEARKIT>
<GEARKIT>
items...
</GEARKIT>
<GEARKIT>
items...
</GEARKIT>
<GEARKIT>
items...
</GEARKIT>
</MERCGEAR>
</GEARLIST>
compared to the original way
<MERCGEARLIST>
<MERCGEAR>
<mIndex>0</mIndex>
<mName>Barry</mName>
items...
</MERCGEAR>
</GEARLIST>