diff --git a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Inventory/MercStartingGear25.xml b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Inventory/MercStartingGear25.xml
index efec942d5..d4e780a94 100644
--- a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Inventory/MercStartingGear25.xml
+++ b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Inventory/MercStartingGear25.xml
@@ -6248,9 +6248,9 @@
0
0
1
- 1362
- 100
- 1
+ 0
+ 0
+ 0
1
116
100
diff --git a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Experienced.xml b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Experienced.xml
new file mode 100644
index 000000000..8b66b9e83
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Experienced.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ -
+ 1354
+ 3
+ 100
+ 5366
+ 1
+
+ -
+ 1352
+ 1
+ 100
+ 5366
+ 1
+
+
diff --git a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Expert.xml b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Expert.xml
new file mode 100644
index 000000000..080212e4b
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Expert.xml
@@ -0,0 +1,18 @@
+
+
+
+ -
+ 1354
+ 3
+ 100
+ 5366
+ 1
+
+ -
+ 1352
+ 1
+ 100
+ 5366
+ 1
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Insane.xml b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Insane.xml
new file mode 100644
index 000000000..080212e4b
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Insane.xml
@@ -0,0 +1,18 @@
+
+
+
+ -
+ 1354
+ 3
+ 100
+ 5366
+ 1
+
+ -
+ 1352
+ 1
+ 100
+ 5366
+ 1
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Novice.xml b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Novice.xml
new file mode 100644
index 000000000..080212e4b
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/Map/H11_0_ExtraItems_Novice.xml
@@ -0,0 +1,18 @@
+
+
+
+ -
+ 1354
+ 3
+ 100
+ 5366
+ 1
+
+ -
+ 1352
+ 1
+ 100
+ 5366
+ 1
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/BettyInventory.xml b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/BettyInventory.xml
new file mode 100644
index 000000000..22340751e
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/BettyInventory.xml
@@ -0,0 +1,268 @@
+
+
+
+ 0
+ 1356
+ 0
+
+
+ 1
+ 1357
+ 0
+
+
+ 2
+ 1358
+ 0
+
+
+ 3
+ 201
+ 5
+
+
+ 4
+ 202
+ 3
+
+
+ 5
+ 216
+ 1
+
+
+ 6
+ 183
+ 1
+
+
+ 7
+ 315
+ 1
+
+
+ 8
+ 257
+ 1
+
+
+ 9
+ 37
+ 2
+
+
+ 10
+ 38
+ 3
+
+
+ 11
+ 54
+ 1
+
+
+ 12
+ 161
+ 2
+
+
+ 13
+ 176
+ 3
+
+
+ 14
+ 176
+ 3
+
+
+ 15
+ 188
+ 1
+
+
+ 16
+ 212
+ 3
+
+
+ 17
+ 213
+ 1
+
+
+ 18
+ 211
+ 3
+
+
+ 19
+ 210
+ 2
+
+
+ 20
+ 205
+ 2
+
+
+ 21
+ 214
+ 5
+
+
+ 22
+ 64
+ 1
+
+
+ 23
+ 220
+ 3
+
+
+ 24
+ 243
+ 1
+
+
+ 25
+ 304
+ 1
+
+
+ 26
+ 304
+ 1
+
+
+ 27
+ 204
+ 4
+
+
+ 28
+ 203
+ 3
+
+
+ 29
+ 203
+ 3
+
+
+ 30
+ 266
+ 1
+
+
+ 31
+ 267
+ 1
+
+
+ 32
+ 267
+ 1
+
+
+ 33
+ 318
+ 1
+
+
+ 34
+ 264
+ 1
+
+
+ 35
+ 265
+ 1
+
+
+ 36
+ 309
+ 1
+
+
+ 37
+ 316
+ 2
+
+
+ 38
+ 322
+ 3
+
+
+ 39
+ 146
+ 5
+
+
+ 40
+ 146
+ 5
+
+
+ 41
+ 194
+ 2
+
+
+ 42
+ 269
+ 3
+
+
+ 43
+ 320
+ 1
+
+
+ 44
+ 256
+ 2
+
+
+ 45
+ 255
+ 2
+
+
+ 46
+ 245
+ 2
+
+
+ 47
+ 269
+ 1
+
+
+ 48
+ 1359
+ 0
+
+
+ 49
+ 1360
+ 0
+
+
+ 50
+ 1353
+ 0
+
+
+ 51
+ 1355
+ 0
+
+
+ 52
+ 1361
+ 0
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/Merchants.xml b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/Merchants.xml
new file mode 100644
index 000000000..692a210a2
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/Merchants.xml
@@ -0,0 +1,1016 @@
+
+
+ubShopKeeperID must be of enum NPCIDs
+{
+ BIFF = 40,
+ HAYWIRE,
+ GASKET,
+ RAZOR,
+ FLO,
+ GUMPY,
+ LARRY_NORMAL,
+ LARRY_DRUNK,
+ COUGAR,
+ NUMB,
+ BUBBA,
+#ifdef JA2UB
+ MIGUEL = 58, //Ja25: Was 57
+#else
+ MIGUEL = 57,
+#endif
+ CARLOS,
+ IRA,
+ DIMITRI,
+
+ DEVIN, // 61
+ ROBOT,
+ HAMOUS,
+ SLAY,
+#ifdef JA2UB
+// RPC65,
+#else
+ RPC65,
+#endif
+ DYNAMO,
+ SHANK,
+ IGGY,
+ VINCE,
+ CONRAD,
+
+ RPC71, // 71
+ MADDOG,
+ DARREL,
+ PERKO,
+ QUEEN,
+ AUNTIE,
+ ENRICO, //GABBY, //ENRICO,
+ CARMEN,
+ JOE,
+ STEVE,
+
+ RAT, // 81
+ ANNIE,
+ CHRIS,
+ BOB,
+ BRENDA,
+ KINGPIN,
+ DARREN,
+ MARIA,
+ ANGEL,
+ JOEY,
+
+ TONY, // 91
+ FRANK,
+ SPIKE,
+ DAMON,
+ KYLE,
+ MICKY,
+ SKYRIDER,
+ PABLO,
+ SAL,
+ FATHER,
+
+ FATIMA, // 101
+ WARDEN,
+ GORDON,
+ GABBY, //ENRICO, //GABBY,
+ ERNEST,
+ FRED,
+ MADAME,
+ YANNI,
+ MARTHA,
+ TIFFANY,
+
+ T_REX, // 111
+ DRUGGIST, // ELGIN
+ JAKE,
+ PACOS,
+ GERARD,
+ SKIPPER,
+ HANS,
+ JOHN,
+ MARY,
+ GENERAL,
+
+ SERGEANT, // 121
+ ARMAND,
+ LORA,
+ FRANZ,
+ HOWARD,
+ SAM,
+ ELDIN,
+ ARNIE,
+ TINA,
+ FREDO,
+
+ WALTER, // 131
+ JENNY,
+ BILLY,
+ BREWSTER,
+ ELLIOT,
+ DEREK,
+ OLIVER,
+ WALDO,
+ DOREEN,
+ JIM,
+
+ JACK, // 141
+ OLAF,
+ RAY,
+ OLGA,
+ TYRONE,
+ MADLAB,
+ KEITH,
+ MATT,
+ MIKE,
+ DARYL,
+
+ HERVE, // 151
+ PETER,
+ ALBERTO,
+ CARLO,
+ MANNY,
+ OSWALD,
+ CALVIN,
+ CARL,
+ SPECK,
+
+ PROF_HUMMER,
+
+ PROF_ELDERODO, // 161
+ PROF_ICECREAM,
+ PROF_HELICOPTER,
+ NPC164,
+#ifdef JA2UB
+ NPC165,
+ NPC166,
+ NPC167,
+ NPC168,
+ NPC169,
+#else
+ GASTON,
+ STOGIE,
+ TEX,
+ BIGGENS,
+ NPC169,
+#endif
+ NPC170 = NPC169 + 84,
+} ;
+
+ubTypeOfArmsDealer must be of enum
+{
+ ARMS_DEALER_BUYS_SELLS = 0,
+ ARMS_DEALER_SELLS_ONLY,
+ ARMS_DEALER_BUYS_ONLY,
+ ARMS_DEALER_REPAIRS,
+};
+
+uiFlags must be of
+#define ARMS_DEALER_ONLY_USED_ITEMS 0x08000000 // 134217728
+#define ARMS_DEALER_GIVES_CHANGE 0x10000000 // 268435456 //The arms dealer will give the required change when doing a transaction
+#define ARMS_DEALER_ACCEPTS_GIFTS 0x20000000 // 536870912 //The arms dealer is the kind of person who will accept gifts
+#define ARMS_DEALER_SOME_USED_ITEMS 0x40000000 // 1073741824 //The arms dealer can have used items in his inventory
+#define ARMS_DEALER_HAS_NO_INVENTORY 0x80000000 // 2147483648 //The arms dealer does not carry any inventory
+-->
+
+
+ 0
+ Tony
+ 0.75
+ 1.25
+ 91
+ 0
+ 15000
+ 1342177280
+ 15000
+ 15000
+ 0
+ 1
+ 10
+ 1
+ 10
+ 2
+ 3
+ 0
+ 0
+
+
+ 1
+ Franz
+ 1.0
+ 1.5
+ 124
+ 0
+ 5000
+ 1342177280
+ 5000
+ 5000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 2
+ Keith
+ 0.75
+ 1.0
+ 147
+ 0
+ 1500
+ 402653184
+ 1500
+ 1500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 3
+ Jake
+ 0.8
+ 1.1
+ 113
+ 0
+ 2500
+ 402653184
+ 2500
+ 2500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 4
+ Gabby
+ 1.0
+ 1.0
+ 104
+ 0
+ 3000
+ 268435456
+ 3000
+ 3000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 5
+ Howard
+ 1.0
+ 1.0
+ 125
+ 1
+ 3000
+ 268435456
+ 3000
+ 3000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 6
+ Sam
+ 1.0
+ 1.0
+ 126
+ 1
+ 3000
+ 268435456
+ 3000
+ 3000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 7
+ Frank
+ 1.0
+ 1.0
+ 92
+ 1
+ 500
+ 536870912
+ 500
+ 500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 8
+ Herve
+ 1.0
+ 1.0
+ 151
+ 1
+ 250
+ 536870912
+ 250
+ 250
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 9
+ Peter
+ 1.0
+ 1.0
+ 152
+ 1
+ 250
+ 536870912
+ 250
+ 250
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 10
+ Alberto
+ 1.0
+ 1.0
+ 153
+ 1
+ 250
+ 536870912
+ 250
+ 250
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 11
+ Carlo
+ 1.0
+ 1.0
+ 154
+ 1
+ 250
+ 536870912
+ 250
+ 250
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 12
+ Micky
+ 1.0
+ 1.4
+ 96
+ 2
+ 10000
+ 2415919104
+ 10000
+ 10000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 13
+ Arnie
+ 0.1
+ 0.8
+ 128
+ 3
+ 1500
+ 2415919104
+ 1500
+ 1500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 14
+ Fredo
+ 0.6
+ 0.6
+ 130
+ 3
+ 1000
+ 2415919104
+ 1000
+ 1000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 15
+ Raul
+ 0.8
+ 1.8
+ 74
+ 0
+ 20000
+ 1342177280
+ 1000
+ 1000
+ 0
+ 1
+ 10
+ 0
+ 10
+ 1
+ 2
+ 0
+ 1
+
+
+ 16
+ Druggist
+ 1.0
+ 1.0
+ 112
+ 1
+ 500
+ 536870912
+ 500
+ 500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 17
+ Manny
+ 1.0
+ 1.0
+ 155
+ 1
+ 500
+ 536870912
+ 500
+ 500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 18
+ Betty
+ 0.75
+ 1.25
+ 73
+ 0
+ 10000
+ 1342177280
+ 1000
+ 1000
+ 0
+ 1
+ 10
+ 0
+ 10
+ 1
+ 2
+ 0
+ 1
+
+
+ 19
+ Tina
+ 1.0
+ 1.0
+ 129
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 20
+ additional dealer 1
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 21
+ additional dealer 2
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 22
+ additional dealer 3
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 23
+ additional dealer 4
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 24
+ additional dealer 5
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 25
+ additional dealer 6
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 26
+ additional dealer 7
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 27
+ additional dealer 8
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 28
+ additional dealer 9
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 29
+ additional dealer 10
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 30
+ additional dealer 11
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 31
+ additional dealer 12
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 32
+ additional dealer 13
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 33
+ additional dealer 14
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 34
+ additional dealer 15
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 35
+ additional dealer 16
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 36
+ additional dealer 17
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 37
+ additional dealer 18
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 38
+ additional dealer 19
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 39
+ additional dealer 20
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/RaulInventory.xml b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/RaulInventory.xml
new file mode 100644
index 000000000..b3dbfb6ad
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-1.13/TableData/NPCInventory/RaulInventory.xml
@@ -0,0 +1,748 @@
+
+
+
+ 0
+ 55
+ 0
+
+
+ 1
+ 65
+ 0
+
+
+ 2
+ 56
+ 0
+
+
+ 3
+ 1
+ 0
+
+
+ 4
+ 2
+ 1
+
+
+ 5
+ 3
+ 0
+
+
+ 6
+ 4
+ 0
+
+
+ 7
+ 5
+ 0
+
+
+ 8
+ 6
+ 0
+
+
+ 9
+ 7
+ 1
+
+
+ 10
+ 8
+ 0
+
+
+ 11
+ 9
+ 1
+
+
+ 12
+ 10
+ 1
+
+
+ 13
+ 11
+ 0
+
+
+ 14
+ 12
+ 1
+
+
+ 15
+ 13
+ 0
+
+
+ 16
+ 14
+ 0
+
+
+ 17
+ 16
+ 0
+
+
+ 18
+ 17
+ 0
+
+
+ 19
+ 18
+ 0
+
+
+ 20
+ 19
+ 0
+
+
+ 21
+ 20
+ 1
+
+
+ 22
+ 21
+ 0
+
+
+ 23
+ 22
+ 0
+
+
+ 24
+ 23
+ 1
+
+
+ 25
+ 24
+ 1
+
+
+ 26
+ 25
+ 0
+
+
+ 27
+ 26
+ 0
+
+
+ 28
+ 27
+ 0
+
+
+ 29
+ 29
+ 0
+
+
+ 30
+ 28
+ 0
+
+
+ 31
+ 34
+ 1
+
+
+ 32
+ 35
+ 0
+
+
+ 33
+ 36
+ 1
+
+
+ 34
+ 31
+ 0
+
+
+ 35
+ 32
+ 0
+
+
+ 36
+ 40
+ 0
+
+
+ 37
+ 51
+ 1
+
+
+ 38
+ 41
+ 1
+
+
+ 39
+ 30
+ 1
+
+
+ 40
+ 33
+ 1
+
+
+ 41
+ 15
+ 1
+
+
+ 42
+ 61
+ 1
+
+
+ 43
+ 71
+ 0
+
+
+ 44
+ 72
+ 0
+
+
+ 45
+ 73
+ 0
+
+
+ 46
+ 74
+ 0
+
+
+ 47
+ 75
+ 0
+
+
+ 48
+ 76
+ 0
+
+
+ 49
+ 77
+ 0
+
+
+ 50
+ 78
+ 0
+
+
+ 51
+ 79
+ 0
+
+
+ 52
+ 80
+ 0
+
+
+ 53
+ 81
+ 0
+
+
+ 54
+ 82
+ 0
+
+
+ 55
+ 83
+ 0
+
+
+ 56
+ 84
+ 0
+
+
+ 57
+ 85
+ 0
+
+
+ 58
+ 86
+ 0
+
+
+ 59
+ 87
+ 0
+
+
+ 60
+ 88
+ 0
+
+
+ 61
+ 89
+ 0
+
+
+ 62
+ 90
+ 0
+
+
+ 63
+ 91
+ 0
+
+
+ 64
+ 92
+ 0
+
+
+ 65
+ 93
+ 0
+
+
+ 66
+ 94
+ 0
+
+
+ 67
+ 95
+ 0
+
+
+ 68
+ 96
+ 0
+
+
+ 69
+ 97
+ 0
+
+
+ 70
+ 98
+ 0
+
+
+ 71
+ 99
+ 0
+
+
+ 72
+ 100
+ 0
+
+
+ 73
+ 101
+ 0
+
+
+ 74
+ 102
+ 0
+
+
+ 75
+ 103
+ 0
+
+
+ 76
+ 104
+ 5
+
+
+ 77
+ 105
+ 6
+
+
+ 78
+ 106
+ 3
+
+
+ 79
+ 107
+ 0
+
+
+ 80
+ 108
+ 0
+
+
+ 81
+ 109
+ 5
+
+
+ 82
+ 110
+ 3
+
+
+ 83
+ 111
+ 3
+
+
+ 84
+ 112
+ 1
+
+
+ 85
+ 113
+ 1
+
+
+ 86
+ 114
+ 5
+
+
+ 87
+ 147
+ 2
+
+
+ 88
+ 148
+ 2
+
+
+ 89
+ 149
+ 2
+
+
+ 90
+ 150
+ 2
+
+
+ 91
+ 140
+ 2
+
+
+ 92
+ 37
+ 3
+
+
+ 93
+ 38
+ 6
+
+
+ 94
+ 49
+ 1
+
+
+ 95
+ 54
+ 1
+
+
+ 96
+ 207
+ 3
+
+
+ 97
+ 208
+ 3
+
+
+ 98
+ 241
+ 2
+
+
+ 99
+ 209
+ 3
+
+
+ 100
+ 244
+ 3
+
+
+ 101
+ 131
+ 2
+
+
+ 102
+ 132
+ 2
+
+
+ 103
+ 133
+ 3
+
+
+ 104
+ 134
+ 6
+
+
+ 105
+ 135
+ 4
+
+
+ 106
+ 146
+ 2
+
+
+ 107
+ 151
+ 2
+
+
+ 108
+ 116
+ 3
+
+
+ 109
+ 117
+ 3
+
+
+ 110
+ 118
+ 0
+
+
+ 111
+ 119
+ 0
+
+
+ 112
+ 120
+ 0
+
+
+ 113
+ 66
+ 0
+
+
+ 114
+ 67
+ 0
+
+
+ 115
+ 68
+ 0
+
+
+ 116
+ 69
+ 0
+
+
+ 117
+ 330
+ 1
+
+
+ 118
+ 331
+ 1
+
+
+ 119
+ 332
+ 1
+
+
+ 120
+ 334
+ 1
+
+
+ 121
+ 335
+ 0
+
+
+ 122
+ 1352
+ 0
+
+
+ 123
+ 1354
+ 0
+
+
+ 124
+ 176
+ 0
+
+
+ 125
+ 164
+ 0
+
+
+ 126
+ 167
+ 0
+
+
+ 127
+ 173
+ 0
+
+
+ 128
+ 180
+ 0
+
+
+ 129
+ 177
+ 0
+
+
+ 130
+ 170
+ 0
+
+
+ 131
+ 161
+ 0
+
+
+ 132
+ 1353
+ 0
+
+
+ 133
+ 1007
+ 1
+
+
+ 134
+ 592
+ 1
+
+
+ 135
+ 948
+ 1
+
+
+ 136
+ 949
+ 1
+
+
+ 137
+ 950
+ 1
+
+
+ 138
+ 207
+ 1
+
+
+ 139
+ 999
+ 1
+
+
+ 140
+ 1000
+ 1
+
+
+ 141
+ 1003
+ 1
+
+
+ 142
+ 1004
+ 1
+
+
+ 143
+ 1030
+ 1
+
+
+ 144
+ 1006
+ 1
+
+
+ 145
+ 1012
+ 1
+
+
+ 146
+ 1029
+ 1
+
+
+ 147
+ 1005
+ 1
+
+
+ 148
+ 333
+ 0
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Inventory/MercStartingGear25.xml b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Inventory/MercStartingGear25.xml
index fa298ab0b..ea53b41a0 100644
--- a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Inventory/MercStartingGear25.xml
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Inventory/MercStartingGear25.xml
@@ -5,6 +5,7 @@
Barry
0
+ -1
176
1
97
@@ -68,12 +69,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
1
Blood
0
+ -1
176
1
98
@@ -137,12 +151,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
2
Lynx
0
+ -1
177
1
94
@@ -206,12 +233,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
3
Grizzly
0
+ -1
176
1
99
@@ -275,12 +315,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
4
Vicki
0
+ -1
176
1
99
@@ -344,12 +397,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
5
Trevor
0
+ -1
0
1
0
@@ -413,12 +479,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
6
Grunty
0
+ -1
176
1
98
@@ -482,12 +561,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
7
Ivan
0
+ -1
176
1
99
@@ -551,12 +643,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
8
Steroid
0
+ -1
0
1
0
@@ -620,12 +725,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
9
Igor
0
+ -1
176
1
98
@@ -689,12 +807,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
10
Shadow
0
+ -1
176
1
99
@@ -758,12 +889,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
11
Red
0
+ -1
176
1
91
@@ -827,12 +971,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
12
Reaper
0
+ -1
176
1
97
@@ -896,12 +1053,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
13
Fidel
0
+ -1
176
1
98
@@ -965,12 +1135,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
14
Fox
0
+ -1
176
1
98
@@ -1034,12 +1217,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
15
Sidney
0
+ -1
177
1
99
@@ -1103,12 +1299,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
16
Gus
0
+ -1
177
1
100
@@ -1172,12 +1381,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
17
Buns
0
+ -1
176
1
100
@@ -1241,12 +1463,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
18
Ice
0
+ -1
176
1
100
@@ -1310,12 +1545,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
19
Spider
0
+ -1
176
1
90
@@ -1379,12 +1627,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
20
Cliff
0
+ -1
176
1
95
@@ -1448,12 +1709,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
21
Bull
0
+ -1
0
1
0
@@ -1517,12 +1791,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
22
Hitman
0
+ -1
176
1
99
@@ -1586,12 +1873,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
23
Buzz
0
+ -1
176
1
94
@@ -1655,12 +1955,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
24
Raider
0
+ -1
176
1
100
@@ -1724,12 +2037,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
25
Raven
0
+ -1
176
1
87
@@ -1793,12 +2119,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
26
Static
0
+ -1
176
1
100
@@ -1862,12 +2201,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
27
Len
0
+ -1
177
1
98
@@ -1931,12 +2283,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
28
Danny
0
+ -1
176
1
91
@@ -2000,12 +2365,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
29
Magic
0
+ -1
177
1
100
@@ -2069,12 +2447,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
30
Stephen
0
+ -1
176
1
99
@@ -2138,12 +2529,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
31
Scully
0
+ -1
177
1
99
@@ -2207,12 +2611,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
32
Malice
0
+ -1
176
1
93
@@ -2276,12 +2693,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
33
Dr. Q
0
+ -1
176
1
90
@@ -2345,12 +2775,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
34
Nails
0
+ -1
177
1
99
@@ -2414,12 +2857,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
35
Thor
0
+ -1
176
1
99
@@ -2483,12 +2939,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
36
Scope
0
+ -1
177
1
93
@@ -2552,12 +3021,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
37
Wolf
0
+ -1
176
1
98
@@ -2621,12 +3103,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
38
MD
0
+ -1
176
1
93
@@ -2690,12 +3185,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
39
Meltdown
0
+ -1
0
1
0
@@ -2759,12 +3267,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
40
Biff
0
+ -1
176
1
79
@@ -2828,12 +3349,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
41
Haywire
0
+ -1
176
1
100
@@ -2897,12 +3431,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
42
Gasket
0
+ -1
176
1
100
@@ -2966,12 +3513,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
43
Razor
0
+ -1
0
1
0
@@ -3035,12 +3595,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
44
Flo
0
+ -1
176
1
100
@@ -3104,12 +3677,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
45
Gumpy
0
+ -1
176
1
97
@@ -3173,12 +3759,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
46
Larry
0
+ -1
176
1
91
@@ -3242,12 +3841,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
47
Larry
0
+ -1
0
1
0
@@ -3311,12 +3923,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
48
Cougar
0
+ -1
176
1
98
@@ -3380,12 +4005,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
49
Numb
0
+ -1
176
1
100
@@ -3449,12 +4087,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
50
Bubba
0
+ -1
176
1
100
@@ -3518,12 +4169,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
51
PGmale1
0
+ -1
0
1
0
@@ -3587,12 +4251,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
52
PGmale2
0
+ -1
0
1
0
@@ -3656,12 +4333,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
53
PGmale3
0
+ -1
0
1
0
@@ -3725,12 +4415,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
54
PGLady1
0
+ -1
0
1
0
@@ -3794,12 +4497,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
55
PGLady2
0
+ -1
0
1
0
@@ -3863,12 +4579,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
56
PGLady3
0
+ -1
0
1
0
@@ -3932,12 +4661,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
57
PGmale4
0
+ -1
0
1
0
@@ -4001,12 +4743,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
58
Gaston
0
+ -1
177
1
91
@@ -4070,12 +4825,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
59
Stogie
0
+ -1
176
1
92
@@ -4139,12 +4907,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
60
Manuel
0
+ -1
0
1
0
@@ -4208,12 +4989,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
61
Biggins
0
+ -1
177
1
90
@@ -4277,12 +5071,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
62
John
0
+ -1
176
1
92
@@ -4346,12 +5153,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
63
Robot
0
+ -1
181
1
100
@@ -4415,12 +5235,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
64
Tex
0
+ -1
0
1
0
@@ -4484,12 +5317,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
65
Terry
0
+ -1
176
1
94
@@ -4553,12 +5399,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
66
Dynamo
0
+ -1
0
1
0
@@ -4622,12 +5481,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
67
Shank
0
+ -1
0
1
0
@@ -4691,12 +5563,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
68
Iggy
0
+ -1
177
1
98
@@ -4760,12 +5645,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
69
Vince
0
+ -1
0
1
0
@@ -4829,12 +5727,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
70
Conrad
0
+ -1
0
1
0
@@ -4898,12 +5809,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
71
RPC71
0
+ -1
0
1
0
@@ -4967,12 +5891,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
72
Maddog
0
+ -1
0
1
0
@@ -5036,12 +5973,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
73
Betty
0
+ -1
0
1
0
@@ -5105,12 +6055,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
74
Raul
0
+ -1
181
1
100
@@ -5174,12 +6137,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
75
Morris
0
+ -1
181
1
100
@@ -5196,9 +6172,9 @@
0
0
1
- 1362
- 100
- 1
+ 0
+ 0
+ 0
1
116
100
@@ -5243,12 +6219,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
76
Jerry
0
+ -1
0
1
0
@@ -5312,12 +6301,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
77
Rudy
0
+ -1
0
1
0
@@ -5381,12 +6383,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
78
Carmen
0
+ -1
0
1
0
@@ -5450,12 +6465,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
79
Joe
0
+ -1
180
1
100
@@ -5519,12 +6547,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
80
Steve
0
+ -1
0
1
0
@@ -5588,12 +6629,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
81
Rat
0
+ -1
0
1
0
@@ -5657,12 +6711,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
82
Annie
0
+ -1
177
1
100
@@ -5726,12 +6793,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
83
Chris
0
+ -1
177
1
100
@@ -5795,12 +6875,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
84
Bob
0
+ -1
0
1
0
@@ -5864,12 +6957,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
85
Brenda
0
+ -1
0
1
0
@@ -5933,12 +7039,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
86
Kingpin
0
+ -1
177
1
100
@@ -6002,12 +7121,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
87
Darren
0
+ -1
177
1
100
@@ -6071,12 +7203,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
88
Maria
0
+ -1
0
1
0
@@ -6140,12 +7285,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
89
Angel
0
+ -1
0
1
0
@@ -6209,12 +7367,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
90
Joey
0
+ -1
0
1
0
@@ -6278,12 +7449,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
91
Tony
0
+ -1
177
1
100
@@ -6347,12 +7531,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
92
Frank
0
+ -1
0
1
0
@@ -6416,12 +7613,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
93
Spike
0
+ -1
176
1
100
@@ -6485,12 +7695,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
94
Damon
0
+ -1
177
1
100
@@ -6554,12 +7777,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
95
0
+ -1
0
1
0
@@ -6623,12 +7859,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
96
Micky
0
+ -1
177
1
100
@@ -6692,12 +7941,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
97
Skyrider
0
+ -1
0
1
0
@@ -6761,12 +8023,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
98
Pablo
0
+ -1
0
1
0
@@ -6830,12 +8105,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
99
Sal
0
+ -1
0
1
0
@@ -6899,12 +8187,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
100
Father
0
+ -1
0
1
0
@@ -6968,12 +8269,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
101
Fatima
0
+ -1
0
1
0
@@ -7037,12 +8351,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
102
Warden
0
+ -1
176
1
100
@@ -7106,12 +8433,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
103
Gordon
0
+ -1
0
1
0
@@ -7175,12 +8515,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
104
Gabby
0
+ -1
0
1
0
@@ -7244,12 +8597,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
105
Ernest
0
+ -1
0
1
0
@@ -7313,12 +8679,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
106
Fred
0
+ -1
0
1
0
@@ -7382,12 +8761,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
107
Madame
0
+ -1
0
1
0
@@ -7451,12 +8843,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
108
Yanni
0
+ -1
0
1
0
@@ -7520,12 +8925,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
109
Martha
0
+ -1
0
1
0
@@ -7589,12 +9007,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
110
Joe
0
+ -1
0
1
0
@@ -7658,12 +9089,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
111
Jasmin
0
+ -1
180
1
100
@@ -7727,12 +9171,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
112
Charlie
0
+ -1
177
1
100
@@ -7796,12 +9253,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
113
Jake
0
+ -1
0
1
0
@@ -7865,12 +9335,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
114
Pacos
0
+ -1
0
1
0
@@ -7934,12 +9417,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
115
Dave
0
+ -1
0
1
0
@@ -8003,12 +9499,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
116
Skipper
0
+ -1
0
1
0
@@ -8072,12 +9581,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
117
Hans
0
+ -1
176
1
100
@@ -8141,12 +9663,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
118
John
0
+ -1
0
1
0
@@ -8210,12 +9745,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
119
Mary
0
+ -1
0
1
0
@@ -8279,12 +9827,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
120
General
0
+ -1
177
1
100
@@ -8348,12 +9909,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
121
Sergeant
0
+ -1
177
1
97
@@ -8417,12 +9991,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
122
Armand
0
+ -1
0
1
0
@@ -8486,12 +10073,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
123
Lora
0
+ -1
0
1
0
@@ -8555,12 +10155,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
124
Franz
0
+ -1
0
1
0
@@ -8624,12 +10237,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
125
Howard
0
+ -1
0
1
0
@@ -8693,12 +10319,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
126
Sam
0
+ -1
0
1
0
@@ -8762,12 +10401,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
127
Eldin
0
+ -1
0
1
0
@@ -8831,12 +10483,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
128
Arnie
0
+ -1
0
1
0
@@ -8900,12 +10565,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
129
Tina
0
+ -1
0
1
0
@@ -8969,12 +10647,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
130
Fredo
0
+ -1
0
1
0
@@ -9038,12 +10729,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
131
Walter
0
+ -1
0
1
0
@@ -9107,12 +10811,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
132
Jenny
0
+ -1
0
1
0
@@ -9176,12 +10893,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
133
Billy
0
+ -1
177
1
100
@@ -9245,12 +10975,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
134
Brewster
0
+ -1
0
1
0
@@ -9314,12 +11057,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
135
Elliot
0
+ -1
0
1
0
@@ -9383,12 +11139,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
136
Derek
0
+ -1
0
1
0
@@ -9452,12 +11221,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
137
Oliver
0
+ -1
0
1
0
@@ -9521,12 +11303,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
138
Waldo
0
+ -1
0
1
0
@@ -9590,12 +11385,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
139
Doreen
0
+ -1
0
1
0
@@ -9659,12 +11467,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
140
Jim
0
+ -1
177
1
100
@@ -9728,12 +11549,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
141
Jack
0
+ -1
177
1
88
@@ -9797,12 +11631,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
142
Olaf
0
+ -1
180
1
100
@@ -9866,12 +11713,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
143
Ray
0
+ -1
177
1
98
@@ -9935,12 +11795,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
144
Olga
0
+ -1
180
1
100
@@ -10004,12 +11877,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
145
Tyrone
0
+ -1
177
1
81
@@ -10073,12 +11959,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
146
Madlab
0
+ -1
0
1
0
@@ -10142,12 +12041,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
147
Keith
0
+ -1
0
1
0
@@ -10211,12 +12123,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
148
Matt
0
+ -1
0
1
0
@@ -10280,12 +12205,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
149
Mike
0
+ -1
181
1
100
@@ -10349,12 +12287,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
150
Daryl
0
+ -1
0
1
0
@@ -10418,12 +12369,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
151
Herve
0
+ -1
0
1
0
@@ -10487,12 +12451,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
152
Peter
0
+ -1
0
1
0
@@ -10556,12 +12533,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
153
Alberto
0
+ -1
0
1
0
@@ -10625,12 +12615,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
154
Carlo
0
+ -1
0
1
0
@@ -10694,12 +12697,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
155
Manny
0
+ -1
0
1
0
@@ -10763,12 +12779,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
156
Oswald
0
+ -1
0
1
0
@@ -10832,12 +12861,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
157
Calvin
0
+ -1
0
1
0
@@ -10901,12 +12943,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
158
Carl
0
+ -1
0
1
0
@@ -10970,12 +13025,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
159
Speck
0
+ -1
0
1
0
@@ -11039,12 +13107,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
160
Hummer
0
+ -1
0
1
0
@@ -11108,12 +13189,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
161
El Dorado
0
+ -1
0
1
0
@@ -11177,12 +13271,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
162
Truck
0
+ -1
0
1
0
@@ -11246,12 +13353,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
163
0
+ -1
0
1
0
@@ -11315,12 +13435,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
164
0
+ -1
0
1
0
@@ -11384,12 +13517,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
165
0
+ -1
0
1
0
@@ -11453,12 +13599,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
166
0
+ -1
0
1
0
@@ -11522,12 +13681,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
167
0
+ -1
0
1
0
@@ -11591,12 +13763,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
168
0
+ -1
0
1
0
@@ -11660,12 +13845,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
169
0
+ -1
0
1
0
@@ -11729,12 +13927,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
170
Monk
0
+ -1
176
1
98
@@ -11798,12 +14009,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
171
Brain
0
+ -1
177
1
100
@@ -11867,12 +14091,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
172
Scream
0
+ -1
176
1
95
@@ -11936,12 +14173,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
173
Henning
0
+ -1
177
1
98
@@ -12005,12 +14255,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
174
Lucky
0
+ -1
176
1
99
@@ -12074,12 +14337,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
175
Laura
0
+ -1
177
1
93
@@ -12143,12 +14419,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
176
Grace
0
+ -1
176
1
98
@@ -12212,12 +14501,25 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
177
Rudolf
0
+ -1
176
1
99
@@ -12281,5 +14583,17 @@
0
0
+
+ -1
+
+
+ -1
+
+
+ -1
+
+
+ -1
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Experienced.xml b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Experienced.xml
new file mode 100644
index 000000000..b3cb0a1b6
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Experienced.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ -
+ 338
+ 3
+ 100
+ 5366
+ 1
+
+ -
+ 336
+ 1
+ 100
+ 5366
+ 1
+
+
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Expert.xml b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Expert.xml
new file mode 100644
index 000000000..273588ca0
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Expert.xml
@@ -0,0 +1,18 @@
+
+
+
+ -
+ 338
+ 3
+ 100
+ 5366
+ 1
+
+ -
+ 336
+ 1
+ 100
+ 5366
+ 1
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Insane.xml b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Insane.xml
new file mode 100644
index 000000000..273588ca0
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Insane.xml
@@ -0,0 +1,18 @@
+
+
+
+ -
+ 338
+ 3
+ 100
+ 5366
+ 1
+
+ -
+ 336
+ 1
+ 100
+ 5366
+ 1
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Novice.xml b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Novice.xml
new file mode 100644
index 000000000..273588ca0
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/Map/H11_0_ExtraItems_Novice.xml
@@ -0,0 +1,18 @@
+
+
+
+ -
+ 338
+ 3
+ 100
+ 5366
+ 1
+
+ -
+ 336
+ 1
+ 100
+ 5366
+ 1
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/BettyInventory.xml b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/BettyInventory.xml
new file mode 100644
index 000000000..0905fc08d
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/BettyInventory.xml
@@ -0,0 +1,268 @@
+
+
+
+ 0
+ 340
+ 0
+
+
+ 1
+ 341
+ 0
+
+
+ 2
+ 342
+ 0
+
+
+ 3
+ 201
+ 5
+
+
+ 4
+ 202
+ 3
+
+
+ 5
+ 216
+ 1
+
+
+ 6
+ 183
+ 1
+
+
+ 7
+ 315
+ 1
+
+
+ 8
+ 257
+ 1
+
+
+ 9
+ 37
+ 2
+
+
+ 10
+ 38
+ 3
+
+
+ 11
+ 54
+ 1
+
+
+ 12
+ 161
+ 2
+
+
+ 13
+ 176
+ 3
+
+
+ 14
+ 176
+ 3
+
+
+ 15
+ 188
+ 1
+
+
+ 16
+ 212
+ 3
+
+
+ 17
+ 213
+ 1
+
+
+ 18
+ 211
+ 3
+
+
+ 19
+ 210
+ 2
+
+
+ 20
+ 205
+ 2
+
+
+ 21
+ 214
+ 5
+
+
+ 22
+ 64
+ 1
+
+
+ 23
+ 220
+ 3
+
+
+ 24
+ 243
+ 1
+
+
+ 25
+ 304
+ 1
+
+
+ 26
+ 304
+ 1
+
+
+ 27
+ 204
+ 4
+
+
+ 28
+ 203
+ 3
+
+
+ 29
+ 203
+ 3
+
+
+ 30
+ 266
+ 1
+
+
+ 31
+ 267
+ 1
+
+
+ 32
+ 267
+ 1
+
+
+ 33
+ 318
+ 1
+
+
+ 34
+ 264
+ 1
+
+
+ 35
+ 265
+ 1
+
+
+ 36
+ 309
+ 1
+
+
+ 37
+ 316
+ 2
+
+
+ 38
+ 322
+ 3
+
+
+ 39
+ 146
+ 5
+
+
+ 40
+ 146
+ 5
+
+
+ 41
+ 194
+ 2
+
+
+ 42
+ 269
+ 3
+
+
+ 43
+ 320
+ 1
+
+
+ 44
+ 256
+ 2
+
+
+ 45
+ 255
+ 2
+
+
+ 46
+ 245
+ 2
+
+
+ 47
+ 269
+ 1
+
+
+ 48
+ 343
+ 0
+
+
+ 49
+ 344
+ 0
+
+
+ 50
+ 337
+ 0
+
+
+ 51
+ 339
+ 0
+
+
+ 52
+ 335
+ 0
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/Merchants.xml b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/Merchants.xml
new file mode 100644
index 000000000..692a210a2
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/Merchants.xml
@@ -0,0 +1,1016 @@
+
+
+ubShopKeeperID must be of enum NPCIDs
+{
+ BIFF = 40,
+ HAYWIRE,
+ GASKET,
+ RAZOR,
+ FLO,
+ GUMPY,
+ LARRY_NORMAL,
+ LARRY_DRUNK,
+ COUGAR,
+ NUMB,
+ BUBBA,
+#ifdef JA2UB
+ MIGUEL = 58, //Ja25: Was 57
+#else
+ MIGUEL = 57,
+#endif
+ CARLOS,
+ IRA,
+ DIMITRI,
+
+ DEVIN, // 61
+ ROBOT,
+ HAMOUS,
+ SLAY,
+#ifdef JA2UB
+// RPC65,
+#else
+ RPC65,
+#endif
+ DYNAMO,
+ SHANK,
+ IGGY,
+ VINCE,
+ CONRAD,
+
+ RPC71, // 71
+ MADDOG,
+ DARREL,
+ PERKO,
+ QUEEN,
+ AUNTIE,
+ ENRICO, //GABBY, //ENRICO,
+ CARMEN,
+ JOE,
+ STEVE,
+
+ RAT, // 81
+ ANNIE,
+ CHRIS,
+ BOB,
+ BRENDA,
+ KINGPIN,
+ DARREN,
+ MARIA,
+ ANGEL,
+ JOEY,
+
+ TONY, // 91
+ FRANK,
+ SPIKE,
+ DAMON,
+ KYLE,
+ MICKY,
+ SKYRIDER,
+ PABLO,
+ SAL,
+ FATHER,
+
+ FATIMA, // 101
+ WARDEN,
+ GORDON,
+ GABBY, //ENRICO, //GABBY,
+ ERNEST,
+ FRED,
+ MADAME,
+ YANNI,
+ MARTHA,
+ TIFFANY,
+
+ T_REX, // 111
+ DRUGGIST, // ELGIN
+ JAKE,
+ PACOS,
+ GERARD,
+ SKIPPER,
+ HANS,
+ JOHN,
+ MARY,
+ GENERAL,
+
+ SERGEANT, // 121
+ ARMAND,
+ LORA,
+ FRANZ,
+ HOWARD,
+ SAM,
+ ELDIN,
+ ARNIE,
+ TINA,
+ FREDO,
+
+ WALTER, // 131
+ JENNY,
+ BILLY,
+ BREWSTER,
+ ELLIOT,
+ DEREK,
+ OLIVER,
+ WALDO,
+ DOREEN,
+ JIM,
+
+ JACK, // 141
+ OLAF,
+ RAY,
+ OLGA,
+ TYRONE,
+ MADLAB,
+ KEITH,
+ MATT,
+ MIKE,
+ DARYL,
+
+ HERVE, // 151
+ PETER,
+ ALBERTO,
+ CARLO,
+ MANNY,
+ OSWALD,
+ CALVIN,
+ CARL,
+ SPECK,
+
+ PROF_HUMMER,
+
+ PROF_ELDERODO, // 161
+ PROF_ICECREAM,
+ PROF_HELICOPTER,
+ NPC164,
+#ifdef JA2UB
+ NPC165,
+ NPC166,
+ NPC167,
+ NPC168,
+ NPC169,
+#else
+ GASTON,
+ STOGIE,
+ TEX,
+ BIGGENS,
+ NPC169,
+#endif
+ NPC170 = NPC169 + 84,
+} ;
+
+ubTypeOfArmsDealer must be of enum
+{
+ ARMS_DEALER_BUYS_SELLS = 0,
+ ARMS_DEALER_SELLS_ONLY,
+ ARMS_DEALER_BUYS_ONLY,
+ ARMS_DEALER_REPAIRS,
+};
+
+uiFlags must be of
+#define ARMS_DEALER_ONLY_USED_ITEMS 0x08000000 // 134217728
+#define ARMS_DEALER_GIVES_CHANGE 0x10000000 // 268435456 //The arms dealer will give the required change when doing a transaction
+#define ARMS_DEALER_ACCEPTS_GIFTS 0x20000000 // 536870912 //The arms dealer is the kind of person who will accept gifts
+#define ARMS_DEALER_SOME_USED_ITEMS 0x40000000 // 1073741824 //The arms dealer can have used items in his inventory
+#define ARMS_DEALER_HAS_NO_INVENTORY 0x80000000 // 2147483648 //The arms dealer does not carry any inventory
+-->
+
+
+ 0
+ Tony
+ 0.75
+ 1.25
+ 91
+ 0
+ 15000
+ 1342177280
+ 15000
+ 15000
+ 0
+ 1
+ 10
+ 1
+ 10
+ 2
+ 3
+ 0
+ 0
+
+
+ 1
+ Franz
+ 1.0
+ 1.5
+ 124
+ 0
+ 5000
+ 1342177280
+ 5000
+ 5000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 2
+ Keith
+ 0.75
+ 1.0
+ 147
+ 0
+ 1500
+ 402653184
+ 1500
+ 1500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 3
+ Jake
+ 0.8
+ 1.1
+ 113
+ 0
+ 2500
+ 402653184
+ 2500
+ 2500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 4
+ Gabby
+ 1.0
+ 1.0
+ 104
+ 0
+ 3000
+ 268435456
+ 3000
+ 3000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 5
+ Howard
+ 1.0
+ 1.0
+ 125
+ 1
+ 3000
+ 268435456
+ 3000
+ 3000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 6
+ Sam
+ 1.0
+ 1.0
+ 126
+ 1
+ 3000
+ 268435456
+ 3000
+ 3000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 7
+ Frank
+ 1.0
+ 1.0
+ 92
+ 1
+ 500
+ 536870912
+ 500
+ 500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 8
+ Herve
+ 1.0
+ 1.0
+ 151
+ 1
+ 250
+ 536870912
+ 250
+ 250
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 9
+ Peter
+ 1.0
+ 1.0
+ 152
+ 1
+ 250
+ 536870912
+ 250
+ 250
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 10
+ Alberto
+ 1.0
+ 1.0
+ 153
+ 1
+ 250
+ 536870912
+ 250
+ 250
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 11
+ Carlo
+ 1.0
+ 1.0
+ 154
+ 1
+ 250
+ 536870912
+ 250
+ 250
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 12
+ Micky
+ 1.0
+ 1.4
+ 96
+ 2
+ 10000
+ 2415919104
+ 10000
+ 10000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 13
+ Arnie
+ 0.1
+ 0.8
+ 128
+ 3
+ 1500
+ 2415919104
+ 1500
+ 1500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 14
+ Fredo
+ 0.6
+ 0.6
+ 130
+ 3
+ 1000
+ 2415919104
+ 1000
+ 1000
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 15
+ Raul
+ 0.8
+ 1.8
+ 74
+ 0
+ 20000
+ 1342177280
+ 1000
+ 1000
+ 0
+ 1
+ 10
+ 0
+ 10
+ 1
+ 2
+ 0
+ 1
+
+
+ 16
+ Druggist
+ 1.0
+ 1.0
+ 112
+ 1
+ 500
+ 536870912
+ 500
+ 500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 17
+ Manny
+ 1.0
+ 1.0
+ 155
+ 1
+ 500
+ 536870912
+ 500
+ 500
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 18
+ Betty
+ 0.75
+ 1.25
+ 73
+ 0
+ 10000
+ 1342177280
+ 1000
+ 1000
+ 0
+ 1
+ 10
+ 0
+ 10
+ 1
+ 2
+ 0
+ 1
+
+
+ 19
+ Tina
+ 1.0
+ 1.0
+ 129
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 20
+ additional dealer 1
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 21
+ additional dealer 2
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 22
+ additional dealer 3
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 23
+ additional dealer 4
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 24
+ additional dealer 5
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 25
+ additional dealer 6
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 26
+ additional dealer 7
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 27
+ additional dealer 8
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 28
+ additional dealer 9
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 29
+ additional dealer 10
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 30
+ additional dealer 11
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 31
+ additional dealer 12
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 32
+ additional dealer 13
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 33
+ additional dealer 14
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 34
+ additional dealer 15
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 35
+ additional dealer 16
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 36
+ additional dealer 17
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 37
+ additional dealer 18
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 38
+ additional dealer 19
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
+ 39
+ additional dealer 20
+ 1.0
+ 1.0
+ 255
+ 0
+ 800
+ 268435456
+ 800
+ 800
+ 0
+ 1
+ 10
+ 0
+ 100
+ 1
+ 2
+ 0
+ 1
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/RaulInventory.xml b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/RaulInventory.xml
new file mode 100644
index 000000000..81a501c54
--- /dev/null
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/TableData/NPCInventory/RaulInventory.xml
@@ -0,0 +1,678 @@
+
+
+
+ 0
+ 55
+ 0
+
+
+ 1
+ 65
+ 0
+
+
+ 2
+ 56
+ 0
+
+
+ 3
+ 1
+ 0
+
+
+ 4
+ 2
+ 1
+
+
+ 5
+ 3
+ 0
+
+
+ 6
+ 4
+ 0
+
+
+ 7
+ 5
+ 0
+
+
+ 8
+ 6
+ 0
+
+
+ 9
+ 7
+ 1
+
+
+ 10
+ 8
+ 0
+
+
+ 11
+ 9
+ 1
+
+
+ 12
+ 10
+ 1
+
+
+ 13
+ 11
+ 0
+
+
+ 14
+ 12
+ 1
+
+
+ 15
+ 13
+ 0
+
+
+ 16
+ 14
+ 0
+
+
+ 17
+ 16
+ 0
+
+
+ 18
+ 17
+ 0
+
+
+ 19
+ 18
+ 0
+
+
+ 20
+ 19
+ 0
+
+
+ 21
+ 20
+ 1
+
+
+ 22
+ 21
+ 0
+
+
+ 23
+ 22
+ 0
+
+
+ 24
+ 23
+ 1
+
+
+ 25
+ 24
+ 1
+
+
+ 26
+ 25
+ 0
+
+
+ 27
+ 26
+ 0
+
+
+ 28
+ 27
+ 0
+
+
+ 29
+ 29
+ 0
+
+
+ 30
+ 28
+ 0
+
+
+ 31
+ 34
+ 1
+
+
+ 32
+ 35
+ 0
+
+
+ 33
+ 36
+ 1
+
+
+ 34
+ 31
+ 0
+
+
+ 35
+ 32
+ 0
+
+
+ 36
+ 40
+ 0
+
+
+ 37
+ 51
+ 1
+
+
+ 38
+ 41
+ 1
+
+
+ 39
+ 30
+ 1
+
+
+ 40
+ 33
+ 1
+
+
+ 41
+ 15
+ 1
+
+
+ 42
+ 61
+ 1
+
+
+ 43
+ 71
+ 0
+
+
+ 44
+ 72
+ 0
+
+
+ 45
+ 73
+ 0
+
+
+ 46
+ 74
+ 0
+
+
+ 47
+ 75
+ 0
+
+
+ 48
+ 76
+ 0
+
+
+ 49
+ 77
+ 0
+
+
+ 50
+ 78
+ 0
+
+
+ 51
+ 79
+ 0
+
+
+ 52
+ 80
+ 0
+
+
+ 53
+ 81
+ 0
+
+
+ 54
+ 82
+ 0
+
+
+ 55
+ 83
+ 0
+
+
+ 56
+ 84
+ 0
+
+
+ 57
+ 85
+ 0
+
+
+ 58
+ 86
+ 0
+
+
+ 59
+ 87
+ 0
+
+
+ 60
+ 88
+ 0
+
+
+ 61
+ 89
+ 0
+
+
+ 62
+ 90
+ 0
+
+
+ 63
+ 91
+ 0
+
+
+ 64
+ 92
+ 0
+
+
+ 65
+ 93
+ 0
+
+
+ 66
+ 94
+ 0
+
+
+ 67
+ 95
+ 0
+
+
+ 68
+ 96
+ 0
+
+
+ 69
+ 97
+ 0
+
+
+ 70
+ 98
+ 0
+
+
+ 71
+ 99
+ 0
+
+
+ 72
+ 100
+ 0
+
+
+ 73
+ 101
+ 0
+
+
+ 74
+ 102
+ 0
+
+
+ 75
+ 103
+ 0
+
+
+ 76
+ 104
+ 5
+
+
+ 77
+ 105
+ 6
+
+
+ 78
+ 106
+ 3
+
+
+ 79
+ 107
+ 0
+
+
+ 80
+ 108
+ 0
+
+
+ 81
+ 109
+ 5
+
+
+ 82
+ 110
+ 3
+
+
+ 83
+ 111
+ 3
+
+
+ 84
+ 112
+ 1
+
+
+ 85
+ 113
+ 1
+
+
+ 86
+ 114
+ 5
+
+
+ 87
+ 147
+ 2
+
+
+ 88
+ 148
+ 2
+
+
+ 89
+ 149
+ 2
+
+
+ 90
+ 150
+ 2
+
+
+ 91
+ 140
+ 2
+
+
+ 92
+ 37
+ 3
+
+
+ 93
+ 38
+ 6
+
+
+ 94
+ 49
+ 1
+
+
+ 95
+ 54
+ 1
+
+
+ 96
+ 207
+ 3
+
+
+ 97
+ 208
+ 3
+
+
+ 98
+ 241
+ 2
+
+
+ 99
+ 209
+ 3
+
+
+ 100
+ 244
+ 3
+
+
+ 101
+ 131
+ 2
+
+
+ 102
+ 132
+ 2
+
+
+ 103
+ 133
+ 3
+
+
+ 104
+ 134
+ 6
+
+
+ 105
+ 135
+ 4
+
+
+ 106
+ 146
+ 2
+
+
+ 107
+ 151
+ 2
+
+
+ 108
+ 116
+ 3
+
+
+ 109
+ 117
+ 3
+
+
+ 110
+ 118
+ 0
+
+
+ 111
+ 119
+ 0
+
+
+ 112
+ 120
+ 0
+
+
+ 113
+ 66
+ 0
+
+
+ 114
+ 67
+ 0
+
+
+ 115
+ 68
+ 0
+
+
+ 116
+ 69
+ 0
+
+
+ 117
+ 330
+ 1
+
+
+ 118
+ 331
+ 1
+
+
+ 119
+ 332
+ 1
+
+
+ 120
+ 334
+ 1
+
+
+ 121
+ 335
+ 0
+
+
+ 122
+ 336
+ 0
+
+
+ 123
+ 338
+ 0
+
+
+ 124
+ 176
+ 0
+
+
+ 125
+ 164
+ 0
+
+
+ 126
+ 167
+ 0
+
+
+ 127
+ 173
+ 0
+
+
+ 128
+ 180
+ 0
+
+
+ 129
+ 177
+ 0
+
+
+ 130
+ 170
+ 0
+
+
+ 131
+ 161
+ 0
+
+
+ 132
+ 337
+ 0
+
+
+ 133
+ 207
+ 1
+
+
+ 134
+ 333
+ 0
+
+
\ No newline at end of file
diff --git a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/UB_Options.INI b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/UB_Options.INI
index 897a936a6..dc9f0a731 100644
--- a/gamedir/Data-UB/AddOns/Data-UB-Vanilla/UB_Options.INI
+++ b/gamedir/Data-UB/AddOns/Data-UB-Vanilla/UB_Options.INI
@@ -271,19 +271,19 @@ BOBBY_SITE_ACCESSED = FALSE
[Unfinished Business Items]
-TEX_MOVIE_ATTACK_CLYDESDALES = 1356
-TEX_MOVIE_WILD_EAST = 1357
-TEX_MOVIE_HAVE_HONDA = 1358
-LAPTOP_TRANSMITTER = 1355
-CHE_GUEVARA_CANTEEN = 1359
-MERC_WRISTWATCH = 1360
-SAM_GARVER_COMBAT_KNIFE = 1353
-MERC_UMBRELLA_OLD = 336
-MORRIS_INSTRUCTION_NOTE = 1362
-HAND_CANNON = 1352
+TEX_MOVIE_ATTACK_CLYDESDALES = 340
+TEX_MOVIE_WILD_EAST = 341
+TEX_MOVIE_HAVE_HONDA = 342
+LAPTOP_TRANSMITTER = 339
+CHE_GUEVARA_CANTEEN = 343
+MERC_WRISTWATCH = 344
+SAM_GARVER_COMBAT_KNIFE = 337
+MERC_UMBRELLA_OLD = 345
+MORRIS_INSTRUCTION_NOTE = 346
+HAND_CANNON = 336
HARTFORD_6_SHOOTER = 66
-MERC_UMBRELLA = 336
-CLIP_CANNON_BALL = 1354
+MERC_UMBRELLA = 345
+CLIP_CANNON_BALL = 338
BARRETT_UB = 335
CALICO_960_UB = 69
PSG1_UB = 334
diff --git a/gamedir/Data-UB/Maps/H11.DAT b/gamedir/Data-UB/Maps/H11.DAT
new file mode 100644
index 000000000..3def4a9e0
Binary files /dev/null and b/gamedir/Data-UB/Maps/H11.DAT differ
diff --git a/gamedir/Data-UB/Scripts/ExplosionControl.lua b/gamedir/Data-UB/Scripts/ExplosionControl.lua
index 132dfb9bc..36deed14b 100644
--- a/gamedir/Data-UB/Scripts/ExplosionControl.lua
+++ b/gamedir/Data-UB/Scripts/ExplosionControl.lua
@@ -323,12 +323,12 @@ end
-- BIGGENS BOMBS
if ActionID == 25 then
- if ( ShouldThePlayerStopWhenWalkingOnBiggensActionItem( 17 ) == true ) then
+ if ( UB_ShouldThePlayerStopWhenWalkingOnBiggensActionItem( 17 ) == true ) then
- HavePersonAtGridnoStop( sGridNo )
+ UB_HavePersonAtGridnoStop( sGridNo )
-- Make Biggens run for cover and then detonate the explosives
- TriggerNPCRecord( Profil.BIGGENS , 17 )
+ TriggerNPCRecord( UB_GetBiggensID() , 17 ) -- get id from UB_Options.ini
end
@@ -337,12 +337,12 @@ end
-- BIGGENS WARNING
if ActionID == 26 then
- if ( ShouldThePlayerStopWhenWalkingOnBiggensActionItem( 16 ) == true ) then
+ if ( UB_ShouldThePlayerStopWhenWalkingOnBiggensActionItem( 16 ) == true ) then
- HavePersonAtGridnoStop( sGridNo )
+ UB_HavePersonAtGridnoStop( sGridNo )
-- Make Biggens run for cover and then detonate the explosives
- TriggerNPCRecord( Profil.BIGGENS , 16 )
+ TriggerNPCRecord( UB_GetBiggensID() , 16 ) -- get id from UB_Options.ini
end
@@ -351,14 +351,14 @@ end
-- SEE FORTIFIED DOOR
if ActionID == 27 then
- HandleSeeingFortifiedDoor( sGridNo )
+ UB_HandleSeeingFortifiedDoor( sGridNo )
end
-- OPEN FORTIFED DOOR
if ActionID == 28 then
- HandleSwitchToOpenFortifiedDoor( sGridNo )
+ UB_HandleSwitchToOpenFortifiedDoor( sGridNo )
end
@@ -368,12 +368,12 @@ if ActionID == 29 then
-- if the player is in the power plant
if( gWorldSectorX == 13 and gWorldSectorY == 10 and gbWorldSectorZ == 0 ) then
- HandleSeeingPowerGenFan( sGridNo )
+ UB_HandleSeeingPowerGenFan( sGridNo )
elseif( gWorldSectorX == 15 and gWorldSectorY == 12 and gbWorldSectorZ == 3 ) then
-- The player is hitting the switch to launch the missles
- HandlePlayerHittingSwitchToLaunchMissles()
+ UB_HandlePlayerHittingSwitchToLaunchMissles()
end
end
diff --git a/gamedir/Data-UB/Scripts/GameInit.lua b/gamedir/Data-UB/Scripts/GameInit.lua
index 7313c040c..1b0fd481c 100644
--- a/gamedir/Data-UB/Scripts/GameInit.lua
+++ b/gamedir/Data-UB/Scripts/GameInit.lua
@@ -404,35 +404,36 @@ ShopID = {
}
local function AddTexsVideosToBettysInventory()
- GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, itemTEX_MOVIE_ATTACK_CLYDESDALES, 1 ) -- Attack of the Clydesdales
- GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, itemTEX_MOVIE_WILD_EAST, 1 ) -- Wild, Wild East
- GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, itemTEX_MOVIE_HAVE_HONDA, 1 ) -- Have Honda, Will Travel
+ GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, UB_itemTEX_MOVIE_ATTACK_CLYDESDALES, 1 ) -- Attack of the Clydesdales
+ GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, UB_itemTEX_MOVIE_WILD_EAST, 1 ) -- Wild, Wild East
+ GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, UB_itemTEX_MOVIE_HAVE_HONDA, 1 ) -- Have Honda, Will Travel
end
function InitStrategicLayer()
- InitialHeliCrash(iniINGAMEHELICRASH)
+ UB_InitialHeliCrash(UB_iniINGAMEHELICRASH)
- if ( iniJERRY == true ) then
- InitialProfile ( Profil.JerryMilo, iniDEFAULT_ARRIVAL_SECTOR_X, iniDEFAULT_ARRIVAL_SECTOR_Y,0, iniJERRYGRIDNO )
+ if ( UB_iniJERRY == true ) then
+ AddProfileToMap (UB_GetJerryID(),iniDEFAULT_ARRIVAL_SECTOR_X,iniDEFAULT_ARRIVAL_SECTOR_Y,0,UB_iniJERRYGRIDNO) -- get id from UB_Options.ini
+ --InitialProfile ( UB_GetJerryID(), iniDEFAULT_ARRIVAL_SECTOR_X, iniDEFAULT_ARRIVAL_SECTOR_Y,0, UB_iniJERRYGRIDNO )
end
- InitialJerryQuotes(iniJERRYQUOTES)
- InitialLaptopQuest(iniLAPTOP_QUEST)
+ UB_InitialJerryQuotes(iniJERRYQUOTES)
+ UB_InitialLaptopQuest(iniLAPTOP_QUEST)
- InitialHeliGridNo1(iniINITIALHELIGRIDNO1)
- InitialHeliGridNo2(iniINITIALHELIGRIDNO2)
- InitialHeliGridNo3(iniINITIALHELIGRIDNO3)
- InitialHeliGridNo4(iniINITIALHELIGRIDNO4)
- InitialHeliGridNo5(iniINITIALHELIGRIDNO5)
- InitialHeliGridNo6(iniINITIALHELIGRIDNO6)
- InitialHeliGridNo7(iniINITIALHELIGRIDNO7)
+ UB_InitialHeliGridNo1(iniINITIALHELIGRIDNO1)
+ UB_InitialHeliGridNo2(iniINITIALHELIGRIDNO2)
+ UB_InitialHeliGridNo3(iniINITIALHELIGRIDNO3)
+ UB_InitialHeliGridNo4(iniINITIALHELIGRIDNO4)
+ UB_InitialHeliGridNo5(iniINITIALHELIGRIDNO5)
+ UB_InitialHeliGridNo6(iniINITIALHELIGRIDNO6)
+ UB_InitialHeliGridNo7(iniINITIALHELIGRIDNO7)
-- get DEFAULT_ARRIVAL_SECTOR_X and DEFAULT_ARRIVAL_SECTOR_Y from UB_Options.ini
SetDefaultArrivalSector( iniDEFAULT_ARRIVAL_SECTOR_X, iniDEFAULT_ARRIVAL_SECTOR_Y )
-- get NEW_MERC_ARRIVAL_LOCATION from UB_Options.ini
- InternalLocateGridNo( iniNEW_MERC_ARRIVAL_LOCATION )
+ UB_InternalLocateGridNo( iniNEW_MERC_ARRIVAL_LOCATION )
end
@@ -444,7 +445,7 @@ local ubNumElites = 0
local Test = false
local JohnKulbaText = true
-if ( RandomManuelText == true ) then
+if ( UB_RandomManuelText == true ) then
-- Miguel is dead
Dead = math.random(1, 2)
@@ -478,13 +479,13 @@ if ( RandomManuelText == true ) then
end
-- Random John or Tex
-if ( enabledJohnAndTex == false) then
+if ( UB_enabledJohnAndTex == false) then
ran = math.random(1, 2)
if ( ran == 1 ) then
- if ( JohnKulbaText == true ) then
+ if ( UB_JohnKulbaText == true ) then
-- Mary is dead
MaryDead = math.random(1, 2)
if ( MaryDead == 1 ) then
@@ -493,37 +494,42 @@ ran = math.random(1, 2)
end
--John is available
- Ja25JohnKulbaIsInGame (true)
+ UB_JohnKulbaIsInGame (true)
--Tex is not available
SetFactFalse( Facts.FACT_TEX_IS_IN_GAME_AND_ALIVE_IN_STORE )
- Ja25JohnKulbaInitialSectorY (SectorY.MAP_ROW_I)
+ UB_JohnKulbaInitialSectorY (SectorY.MAP_ROW_I)
-- Randomly choose John's starting sector
if( math.random(1, 100 ) < 50 ) then
- Ja25JohnKulbaInitialSectorX (10)
+ UB_JohnKulbaInitialSectorX (10)
+ AddProfileToMap (UB_GetJohnID(),10,9,0,10503) -- get id from UB_Options.ini
else
- Ja25JohnKulbaInitialSectorX (11)
+ UB_JohnKulbaInitialSectorX (11)
+ AddProfileToMap (UB_GetJohnID(),11,9,0,17674) -- get id from UB_Options.ini
end
+
else
--John is not available
- Ja25JohnKulbaIsInGame (false)
+ UB_JohnKulbaIsInGame (false)
-- added video to Betty Shop
- if ( Ja25CheckJohnKulbaIsInGame() == false ) then
+ if ( UB_CheckJohnKulbaIsInGame() == false ) then
AddTexsVideosToBettysInventory()
end
--Tex is available
SetFactTrue( Facts.FACT_TEX_IS_IN_GAME_AND_ALIVE_IN_STORE )
+
+ AddProfileToMap (UB_GetTexID(),10,9,0,12890) -- get id from UB_Options.ini
end
-- John and Tex in game
-elseif ( enabledJohnAndTex == true) then
+elseif ( UB_enabledJohnAndTex == true) then
- if ( JohnKulbaText == true ) then
+ if ( UB_JohnKulbaText == true ) then
-- Mary is dead
MaryDead = math.random(1, 2)
if ( MaryDead == 1 ) then
@@ -532,328 +538,356 @@ elseif ( enabledJohnAndTex == true) then
end
--John is available
- Ja25JohnKulbaIsInGame (true)
+ UB_JohnKulbaIsInGame (true)
- Ja25JohnKulbaInitialSectorY (SectorY.MAP_ROW_I)
+ UB_JohnKulbaInitialSectorY (SectorY.MAP_ROW_I)
--Randomly choose John's starting sector
- if( math.random(1, 100 ) < 50 ) then
- Ja25JohnKulbaInitialSectorX (10)
- else
- Ja25JohnKulbaInitialSectorX (11)
- end
+ if( math.random(1, 100 ) < 50 ) then
+ UB_JohnKulbaInitialSectorX (10)
+ AddProfileToMap (UB_GetJohnID(),10,9,0,10503) -- get id from UB_Options.ini
+ else
+ UB_JohnKulbaInitialSectorX (11)
+ AddProfileToMap (UB_GetJohnID(),11,9,0,17674) -- get id from UB_Options.ini
+ end
-- added video to Betty Shop
AddTexsVideosToBettysInventory()
--Tex is available
SetFactTrue( Facts.FACT_TEX_IS_IN_GAME_AND_ALIVE_IN_STORE )
+
+ AddProfileToMap (UB_GetTexID(),10,9,0,12890) -- get id from UB_Options.ini
end
+-- Add UB profiles
+AddProfileToMap (UB_GetManuelID(),9,9,0,15758) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetBiggensID(),13,9,0,14824) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetBettyID(),10,9,0,12897) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetRaulID(),11,9,0,10630) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetMorrisID(),15,12,3,14752) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetRudyID(),13,10,0,18320) -- get id from UB_Options.ini
+
+-- Add test UB profiles
+--[[
+AddProfileToMap (UB_GetManuelID(),7,8,0,15108) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetBiggensID(),7,8,0,15107) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetJohnID(),7,8,0,15106) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetTexID(),7,8,0,15105) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetGastonID(),7,8,0,15104) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetJerryID(),7,8,0,15103) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetPgmale4ID(),7,8,0,15102) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetBettyID(),7,8,0,15101) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetRaulID(),7,8,0,15109) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetMorrisID(),7,8,0,15110) -- get id from UB_Options.ini
+AddProfileToMap (UB_GetRudyID(),7,8,0,15111) -- get id from UB_Options.ini
+]]
+
+
-- Added enemy to sector
if ( Test == false ) then
-- H7
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 0
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 0
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 0
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 0
ubNumElites = 0
end
- SetNumberJa25EnemiesInSurfaceSector( 7, 8, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 7, 8, ubNumAdmins, ubNumTroops, ubNumElites )
-- H8
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 6 + math.random( 1, 4 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 13 + math.random( 1, 3 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 16 + math.random( 1, 6 )
ubNumElites = 2 + math.random( 1,2 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 19 + math.random( 1, 9 )
ubNumElites = 2 + math.random( 1, 2 )
end
- SetNumberJa25EnemiesInSurfaceSector( 8,8, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 8,8, ubNumAdmins, ubNumTroops, ubNumElites )
-- Guard Post
-- H9
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 10 + math.random( 1, 5 )
ubNumElites = 1
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 16 + math.random( 1, 4 )
ubNumElites = 1
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 19 + math.random( 1, 4 )
ubNumElites = 3 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 19 + math.random( 1, 6 )
ubNumElites = 3 + math.random( 1, 2 )
end
- SetNumberJa25EnemiesInSurfaceSector( 9,8, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 9,8, ubNumAdmins, ubNumTroops, ubNumElites )
-- H10
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 6 + math.random( 1, 5 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 9 + math.random( 1, 3 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 10 + math.random( 1, 4 )
ubNumElites = 2 + math.random( 1, 4 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 20 + math.random( 1, 4 )
ubNumElites = 2 + math.random( 1, 4 )
end
- SetNumberJa25EnemiesInSurfaceSector( 10,8, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 10,8, ubNumAdmins, ubNumTroops, ubNumElites )
-- H11
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 6 + math.random( 1, 3 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 8 + math.random( 1, 3 )
ubNumElites = 2 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 10 + math.random( 1, 4 )
ubNumElites = 4 + math.random( 1, 3 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 20 + math.random( 1, 4 )
ubNumElites = 2 + math.random( 1, 3 )
end
- SetNumberJa25EnemiesInSurfaceSector( 11,8, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 11,8, ubNumAdmins, ubNumTroops, ubNumElites )
-- I9
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 6 + math.random( 1, 5 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 9 + math.random( 1, 4 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 10 + math.random( 1, 4 )
ubNumElites = 2 + math.random( 1, 4 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 20 + math.random( 1, 6 )
ubNumElites = 2 + math.random( 1, 4 )
end
- SetNumberJa25EnemiesInSurfaceSector( 9,9, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 9,9, ubNumAdmins, ubNumTroops, ubNumElites )
-- First part of town
-- I10
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 13 + math.random( 1, 6 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 16 + math.random( 1, 4 )
ubNumElites = 1 + math.random( 1, 3 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 14 + math.random( 1, 4 )
ubNumElites = 5 + math.random( 1, 3 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 20 + math.random( 1, 4 )
ubNumElites = 5 + math.random( 1, 3 )
end
- SetNumberJa25EnemiesInSurfaceSector( 10,9, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 10,9, ubNumAdmins, ubNumTroops, ubNumElites )
-- Second part of town
-- I11
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 14 + math.random( 1, 7 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 16 + math.random( 1, 5 )
ubNumElites = 2 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 14 + math.random( 1, 4 )
ubNumElites = 5 + math.random( 1, 4 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 17 + math.random( 1, 4 )
ubNumElites = 5 + math.random( 1, 4 )
end
- SetNumberJa25EnemiesInSurfaceSector( 11,9, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 11,9, ubNumAdmins, ubNumTroops, ubNumElites )
-- I12
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 8 + math.random( 1, 6 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 12 + math.random( 1, 5 )
ubNumElites = 2 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 12 + math.random( 1, 6 )
ubNumElites = 3 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 20 + math.random( 1, 6 )
ubNumElites = 3 + math.random( 1, 2 )
end
- SetNumberJa25EnemiesInSurfaceSector( 12,9, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 12,9, ubNumAdmins, ubNumTroops, ubNumElites )
-- Abandoned mine
-- I13
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 0
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 0
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 0
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 0
ubNumElites = 0
end
- SetNumberJa25EnemiesInSurfaceSector( 13,9, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 13,9, ubNumAdmins, ubNumTroops, ubNumElites )
-- J11
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 10 + math.random( 1, 6 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 10 + math.random( 1, 3 )
ubNumElites = 3 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 11 + math.random( 1, 5 )
ubNumElites = 6 + math.random( 1, 3 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 20 + math.random( 1, 5 )
ubNumElites = 6 + math.random( 1, 3 )
end
- SetNumberJa25EnemiesInSurfaceSector( 11,10, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 11,10, ubNumAdmins, ubNumTroops, ubNumElites )
-- J12
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 12 + math.random( 1, 4 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 10 + math.random( 1, 4 )
ubNumElites = 1 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 11 + math.random( 1, 3 )
ubNumElites = 3 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 21 + math.random( 1, 3 )
ubNumElites = 3 + math.random( 1, 2 )
end
- SetNumberJa25EnemiesInSurfaceSector( 12,10, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 12,10, ubNumAdmins, ubNumTroops, ubNumElites )
-- Power Generator, Ground Level
-- J13
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 15 + math.random( 1, 6 )
ubNumElites = 1
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 16 + math.random( 1, 5 )
ubNumElites = 5 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 18 + math.random( 1, 4 )
ubNumElites = 6 + math.random( 1, 3 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 18 + math.random( 1, 4 )
ubNumElites = 7 + math.random( 1, 3 )
end
- SetNumberJa25EnemiesInSurfaceSector( 13,10, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 13,10, ubNumAdmins, ubNumTroops, ubNumElites )
-- Complex, Ground Level
-- K15
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
ubNumAdmins = 0
ubNumTroops = 14 + math.random( 1, 5 )
ubNumElites = 0
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
ubNumAdmins = 0
ubNumTroops = 18 + math.random( 1, 3 )
ubNumElites = 4 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
ubNumAdmins = 0
ubNumTroops = 17 + math.random( 1, 3 )
ubNumElites = 8 + math.random( 1, 2 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
ubNumAdmins = 0
ubNumTroops = 17 + math.random( 1, 3 )
ubNumElites = 8 + math.random( 1, 2 )
end
- SetNumberJa25EnemiesInSurfaceSector( 15,11, ubNumAdmins, ubNumTroops, ubNumElites )
+ UB_SetNumberJa25EnemiesInSurfaceSector( 15,11, ubNumAdmins, ubNumTroops, ubNumElites )
end
-- init hospital variables
diff --git a/gamedir/Data-UB/Scripts/InitStrategicLayer.lua b/gamedir/Data-UB/Scripts/InitStrategicLayer.lua
index e435f00ba..9860e9890 100644
--- a/gamedir/Data-UB/Scripts/InitStrategicLayer.lua
+++ b/gamedir/Data-UB/Scripts/InitStrategicLayer.lua
@@ -8,14 +8,14 @@ local DIF_LEVEL_INSANE = 4
function InitStrategicLayer ()
-- I10 BloodCats
- if ( difficultyLevel == DIF_LEVEL_EASY ) then
- SetNumberOfJa25BloodCatsInSector ( 10, 9, 3, 5 )
- elseif ( difficultyLevel == DIF_LEVEL_MEDIUM ) then
- SetNumberOfJa25BloodCatsInSector ( 10, 9, 4, 5 )
- elseif ( difficultyLevel == DIF_LEVEL_HARD ) then
- SetNumberOfJa25BloodCatsInSector ( 10, 9, 5, 5 )
- elseif ( difficultyLevel == DIF_LEVEL_INSANE ) then
- SetNumberOfJa25BloodCatsInSector ( 10, 9, 5, 5 )
+ if ( newDIFFICULTY_LEVEL == DIF_LEVEL_EASY ) then
+ UB_SetNumberOfJa25BloodCatsInSector ( 10, 9, 3, 5 )
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_MEDIUM ) then
+ UB_SetNumberOfJa25BloodCatsInSector ( 10, 9, 4, 5 )
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_HARD ) then
+ UB_SetNumberOfJa25BloodCatsInSector ( 10, 9, 5, 5 )
+ elseif ( newDIFFICULTY_LEVEL == DIF_LEVEL_INSANE ) then
+ UB_SetNumberOfJa25BloodCatsInSector ( 10, 9, 5, 5 )
end
end
\ No newline at end of file
diff --git a/gamedir/Data-UB/Scripts/Overhead.lua b/gamedir/Data-UB/Scripts/Overhead.lua
index 97470ae74..cc8bc3816 100644
--- a/gamedir/Data-UB/Scripts/Overhead.lua
+++ b/gamedir/Data-UB/Scripts/Overhead.lua
@@ -161,165 +161,23 @@ SectorY =
MAP_ROW_P = 16,
}
--- JA2 Remove
-
---[[
--- local function
-local function HandleJohnArrival( ID )
-
- local ID2 = nil
- local sDist
-
- if ( not ID ) then
- ID = FindSoldierByProfileID (Profil.JOHN)
- if ( not ID ) then
- return
- end
- end
-
- if ( PythSpacesAway( ID,8228) < 40 ) then
-
- if ( CheckFact( Facts.FACT_MARY_ALIVE, 0 ) == true ) then
- ID2 = FindSoldierByProfileID( Profil.MARY )
- if ( ID2 ) then
- if ( PythSpacesAway( ID, GetNPCGridNo(ID2) ) > 8 ) then
- -- Too far away!
- return
- end
- end
- end
-
- SetFactTrue( Facts.FACT_MARY_OR_JOHN_ARRIVED )
- ActionStopMerc(ID)
-
- -- If Mary is alive/dead
- if ( ID2 ) then
- ActionStopMerc(ID2)
- TriggerNPCRecord( ID, 13 )
- else
- TriggerNPCRecord( ID, 12 )
- end
-
- end
-
-end
--- end local function
-
--- local function
-local function HandleMaryArrival( ID )
-
- local sDist
-
- if ( not ID ) then
- ID = FindSoldierByProfileID (Profil.MARY)
- if ( not ID ) then
- return
- end
- end
-
- if ( CheckFact( Facts.FACT_JOHN_ALIVE,0) == true ) then
- return
- --new requirements: player close by
- elseif ( PythSpacesAway( ID,8228) < 40 ) then
-
- if ( not TileIsOutOfBounds ( ClosestPC( ID, sDist )) and sDist > NPC_TALK_RADIUS * 2 ) then
- --too far away
- return
- end
-
- SetFactTrue( Facts.FACT_MARY_OR_JOHN_ARRIVED )
- ActionStopMerc(ID)
- TriggerNPCRecord( ID, 13 )
- end
-
-end
-]]
--- end local function
-
function HandleAtNewGridNo( ProfileId )
--- Ja2 Remove
---[[
+ if ( FindSoldierByProfileID (UB_GetTexID()) == UB_GetTexID() ) then
+ SetKeyProfile (UB_GetTexID(),true)
+ end
+
+ if ( FindSoldierByProfileID (UB_GetBettyID()) == UB_GetBettyID() ) then
+ SetKeyProfile (UB_GetBettyID(),true)
+ end
+
+
+
+
TeamSoldier = FindSoldierTeam (ProfileId)
if ( TeamSoldier == Team.OUR_TEAM ) then -- Team
- -- Kingping expecting visit from player (Sector D5)
- -- The fact has to be TRUE. If FALSE then Kingpin attack the player.
- if ( CheckFact( 98 ) == false ) then
- if ( NPCInRoomRange( ProfileId, 30, 39 ) == true and gWorldSectorX == 5 and gWorldSectorY == SectorY.MAP_ROW_D and gWorldSectorZ == 0 )then
-
- for iLoop = GetTacticalStatusFirstID(Team.CIV_TEAM),GetTacticalStatusLastID(Team.CIV_TEAM) do
- if ( CheckMercPtrsInSector (iLoop) == true and CheckMercPtrsInActive(iLoop) == true and CheckMercPtrsInCivilianGroup (iLoop) == 2 ) then
- for aimLoop=GetTacticalStatusFirstID(Team.OUR_TEAM),GetTacticalStatusLastID(Team.OUR_TEAM) do
- if ( CheckMercPtrsID1SeenID2(iLoop,aimLoop) == SEEN_CURRENTLY ) then
- MakeMercPtrsHostile( iLoop )
- end
- end
- end
- end
-
- if ( CheckCombatMode == false ) then
- EnterTeamCombatMode(Team.CIV_TEAM)
- end
-
- end
- end
-
- if ( WhatKindOfMercAmI (ProfileId) == What.MERC_TYPE__EPC ) then -- what EPC
-
- -- Skyrider
- if ( ProfileId == Profil.SKYRIDER and CheckNPCSectorBool( Profil.SKYRIDER, 13, SectorY.MAP_ROW_B, 0 ) == true and PythSpacesAway( Profil.SKYRIDER,8842 ) < 11 ) then
- ActionStopMerc(Profil.SKYRIDER)
- SetFactTrue( Facts.FACT_SKYRIDER_CLOSE_TO_CHOPPER )
- TriggerNPCRecord( Profil.SKYRIDER, 15 )
- SetUpHelicopterForPlayer( 13, SectorY.MAP_ROW_B, Profil.SKYRIDER, 163 ) -- 163 helicopter
-
- -- Mary & John
- elseif ( ( CheckNPCSectorBool( Profil.MARY, 13, SectorY.MAP_ROW_B, 0 ) == true ) or ( CheckNPCSectorBool( Profil.JOHN, 13, SectorY.MAP_ROW_B, 0 ) == true ) ) then
-
- -- Mary
- if ( ProfileId == Profil.MARY ) then
- HandleMaryArrival( Profil.MARY )
- -- John
- elseif ( ProfileId == Profil.JOHN ) then
- HandleJohnArrival( Profil.JOHN )
- end
-
- -- Maria
- elseif ( ProfileId == Profil.MARIA and CheckNPCSectorBool( Profil.MARIA, 6, SectorY.MAP_ROW_C, 0) == true and CheckFact(Facts.FACT_MARIA_ESCORTED_AT_LEATHER_SHOP,Profil.MARIA) == true ) then
-
- if ( NPCInRoom( Profil.ANGEL, 2 ) == true ) then
- TriggerNPCRecord( Profil.ANGEL, 12 )
- end
- -- Joey
- elseif ( ProfileId == Profil.JOEY and CheckNPCSectorBool( Profil.JOEY, 8, SectorY.MAP_ROW_G, 0) == true and CheckFact(Facts.FACT_JOEY_NEAR_MARTHA,0) == true ) then
- ActionStopMerc(Profil.JOEY)
- TriggerNPCRecord( Profil.JOEY, 9 )
- end
-
- -- Drassen stuff for John & Mary
- elseif ( CheckQuest(Quests.QUEST_ESCORT_TOURISTS) == pQuest.QUESTINPROGRESS and ProfileIdsSectorX == 13 and ProfileIdsSectorY == SectorY.MAP_ROW_B and ProfileIdbSectorZ == 0 ) then
-
- if ( CheckFact( Facts.FACT_JOHN_ALIVE ) == true ) then
- HandleJohnArrival( nil )
- else
- HandleMaryArrival( nil )
- end
-
- elseif ( TeamSoldier == Team.CIV_TEAM and ProfileId ~= NO_PROFILE and CheckSoldierNeutral( ProfileId ) == true ) then
-
- if ( ProfileId == Profil.JIM or ProfileId == Profil.JACK or ProfileId == Profil.OLAF or ProfileId == Profil.RAY or ProfileId == Profil.OLGA or ProfileId == Profil.TYRONE ) then
-
- if ( not TileIsOutOfBounds( ClosestPC( ProfileId, sDesiredMercDist )) ) then
- if ( sDesiredMercDist <= NPC_TALK_RADIUS * 2 ) then
- CancelAIAction ( ProfileId )
- AddToShouldBecomeHostileOrSayQuoteList( GetPlayerMercID(ProfileId) )
- end
- end
- end
-
- end -- End what EPC
end -- End team
-]]
+
end
\ No newline at end of file
diff --git a/gamedir/Data-UB/Scripts/Quests.lua b/gamedir/Data-UB/Scripts/Quests.lua
index a3de62d46..75b583858 100644
--- a/gamedir/Data-UB/Scripts/Quests.lua
+++ b/gamedir/Data-UB/Scripts/Quests.lua
@@ -39,6 +39,28 @@ nQuests =
-- max Quests 254
}
+ShopID = {
+ ARMS_DEALER_TONY = 0,
+ ARMS_DEALER_FRANZ = 1,
+ ARMS_DEALER_KEITH = 2,
+ ARMS_DEALER_JAKE = 3,
+ ARMS_DEALER_GABBY = 4,
+ ARMS_DEALER_HOWARD = 5,
+ ARMS_DEALER_SAM = 6,
+ ARMS_DEALER_FRANK = 7,
+ ARMS_DEALER_BAR_BRO_1 = 8,
+ ARMS_DEALER_BAR_BRO_2 = 9,
+ ARMS_DEALER_BAR_BRO_3 = 10,
+ ARMS_DEALER_BAR_BRO_4 = 11,
+ ARMS_DEALER_MICKY = 12,
+ ARMS_DEALER_ARNIE = 13,
+ ARMS_DEALER_FREDO = 14,
+ ARMS_DEALER_RAUL = 15, -- Raul UB
+ ARMS_DEALER_ELGIN = 16,
+ ARMS_DEALER_MANNY = 17,
+ ARMS_DEALER_BETTY = 18, -- Betty UB
+}
+
qStatus = {
QUESTNOTSTARTED = 0,
QUESTINPROGRESS = 1,
@@ -65,6 +87,15 @@ nFacts = {
local NO_PROFILE = 200
+-- UB function
+local function AddLaptopTransmitterToBettysInventory()
+ GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, UB_itemLAPTOP_TRANSMITTER, 1 ) -- Laptop transmitter
+ GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, 216, 1 )
+ GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, 202, 2 )
+ GuaranteeAtLeastXItemsOfIndex( ShopID.ARMS_DEALER_BETTY, 201, 2 )
+end
+-- End UB
+
function InternalStartQuest( ubQuest, sSectorX, sSectorY, fUpdateHistory )
if ( CheckQuest(ubQuest) == qStatus.QUESTNOTSTARTED ) then
@@ -145,6 +176,10 @@ function InternalEndQuest( ubQuest, sSectorX, sSectorY, fUpdateHistory )
GiveQuestRewardPoint( sSectorX, sSectorY, 25, NO_PROFILE )
elseif ( ubQuest == nQuests.QUEST_ESCORT_SHANK ) then
GiveQuestRewardPoint( sSectorX, sSectorY, 5, NO_PROFILE )
+ -- UB
+ elseif ( ubQuest == nQuests.QUEST_GET_RID_BLOODCATS_AT_BETTYS ) then
+ AddLaptopTransmitterToBettysInventory()
+ -- end UB
else
GiveQuestRewardPoint( sSectorX, sSectorY, 4, NO_PROFILE )
end
diff --git a/gamedir/Data-UB/Scripts/intro.lua b/gamedir/Data-UB/Scripts/intro.lua
index 95a9d2b05..dcab45803 100644
--- a/gamedir/Data-UB/Scripts/intro.lua
+++ b/gamedir/Data-UB/Scripts/intro.lua
@@ -80,7 +80,7 @@ function PrepareToExitIntroScreen()
SetIntroExitScreen ( ScreenTypes.GAME_SCREEN )
SetCurrentWorldSector( iniDEFAULT_END_SECTOR_X, iniDEFAULT_END_SECTOR_Y, iniDEFAULT_END_SECTOR_Z )
- EnterTacticalInFinalSector()
+ UB_EnterTacticalInFinalSector()
-- Dont leave tactical
SetEnteringMapScreen (false)
diff --git a/gamedir/Data-UB/Scripts/strategicmap.lua b/gamedir/Data-UB/Scripts/strategicmap.lua
index 927af8844..51ad951ab 100644
--- a/gamedir/Data-UB/Scripts/strategicmap.lua
+++ b/gamedir/Data-UB/Scripts/strategicmap.lua
@@ -186,6 +186,11 @@ local gsRobotGridNo
function HandleQuestCodeOnSectorEntry( sNewSectorX, sNewSectorY, bNewSectorZ )
+ if ( sNewSectorX == 10 and sNewSectorY == 9 and bNewSectorZ == 0 ) then
+ SetKeyProfile (UB_GetTexID(),true)
+ SetKeyProfile (UB_GetBettyID(),true)
+ end
+
end
function HandleQuestCodeOnSectorExit( sOldSectorX, sOldSectorY, bOldSectorZ )
@@ -216,49 +221,49 @@ local pSoldier
if ( sOldSectorX == 7 and sOldSectorY == SectorY.MAP_ROW_H and bOldSectorZ == 0 ) then
-- remove Jerry from the map
- SetCharacterSectorX( 76, 0)
- SetCharacterSectorY( 76, 0)
+ SetCharacterSectorX( UB_GetJerryID(), 0)
+ SetCharacterSectorY( UB_GetJerryID(), 0)
end
-- if the player is leaving a sector with Tex in it
- if ( sOldSectorX == CheckCharacterSectorX(64) and sOldSectorY == CheckCharacterSectorY(64) and bOldSectorZ == 0 and CheckLastDateSpokenTot( 64 ) > 0 ) then
+ if ( sOldSectorX == CheckCharacterSectorX(UB_GetTexID()) and sOldSectorY == CheckCharacterSectorY(UB_GetTexID()) and bOldSectorZ == 0 and CheckLastDateSpokenTot( UB_GetTexID() ) > 0 ) then
- pSoldier = FindSoldierByProfileID( 64 ) -- TEX
+ pSoldier = FindSoldierByProfileID( UB_GetTexID() ) -- TEX
-- if the npc isnt on the players team AND the player has never spoken to them
- if ( pSoldier == nil and CheckLastDateSpokenTot( 64 ) > 0 ) then
+ if ( pSoldier == nil and CheckLastDateSpokenTot( UB_GetTexID() ) > 0 ) then
--remove Tex from the map
- SetCharacterSectorX( 64, 0)
- SetCharacterSectorY( 64, 0)
+ SetCharacterSectorX( UB_GetTexID(), 0)
+ SetCharacterSectorY( UB_GetTexID(), 0)
end
end
-- if the player is leaving a sector with John kulba in it
- if ( sOldSectorX == CheckCharacterSectorX(62) and sOldSectorY == CheckCharacterSectorY(62) and bOldSectorZ == 0 and CheckLastDateSpokenTot( 62 ) > 0 ) then
+ if ( sOldSectorX == CheckCharacterSectorX(UB_GetJohnID()) and sOldSectorY == CheckCharacterSectorY(UB_GetJohnID()) and bOldSectorZ == 0 and CheckLastDateSpokenTot( UB_GetJohnID() ) > 0 ) then
- pSoldier = FindSoldierByProfileID( 62 ) -- John
+ pSoldier = FindSoldierByProfileID( UB_GetJohnID() ) -- John
-- if the npc isnt on the players team AND the player has never spoken to them
- if ( pSoldier == nil and CheckLastDateSpokenTot( 62 ) > 0 ) then
+ if ( pSoldier == nil and CheckLastDateSpokenTot( UB_GetJohnID() ) > 0 ) then
--remove Tex from the map
- SetCharacterSectorX( 62, 0)
- SetCharacterSectorY( 62, 0)
+ SetCharacterSectorX( UB_GetJohnID(), 0)
+ SetCharacterSectorY( UB_GetJohnID(), 0)
end
end
-- if the player is leaving a sector with Manuel in it
- if ( sOldSectorX == CheckCharacterSectorX(60) and sOldSectorY == CheckCharacterSectorY(60) and bOldSectorZ == 0 and CheckLastDateSpokenTot( 60 ) > 0 ) then
+ if ( sOldSectorX == CheckCharacterSectorX(UB_GetManuelID()) and sOldSectorY == CheckCharacterSectorY(UB_GetManuelID()) and bOldSectorZ == 0 and CheckLastDateSpokenTot( UB_GetManuelID() ) > 0 ) then
- pSoldier = FindSoldierByProfileID( 60 ) -- John
+ pSoldier = FindSoldierByProfileID( UB_GetManuelID() ) -- Manuel
-- if the npc isnt on the players team AND the player has never spoken to them
- if ( pSoldier == nil and CheckLastDateSpokenTot( 60 ) > 0 ) then
+ if ( pSoldier == nil and CheckLastDateSpokenTot( UB_GetManuelID() ) > 0 ) then
--remove Tex from the map
- SetCharacterSectorX( 60, 0)
- SetCharacterSectorY( 60, 0)
+ SetCharacterSectorX( UB_GetManuelID(), 0)
+ SetCharacterSectorY( UB_GetManuelID(), 0)
end
end
diff --git a/gamedir/Data/BigItems/GUN367.STI b/gamedir/Data/BigItems/GUN367.STI
new file mode 100644
index 000000000..492ca7fe9
Binary files /dev/null and b/gamedir/Data/BigItems/GUN367.STI differ
diff --git a/gamedir/Data/BigItems/GUN368.STI b/gamedir/Data/BigItems/GUN368.STI
new file mode 100644
index 000000000..0d775ea65
Binary files /dev/null and b/gamedir/Data/BigItems/GUN368.STI differ
diff --git a/gamedir/Data/BigItems/P2item78.sti b/gamedir/Data/BigItems/P2item78.sti
new file mode 100644
index 000000000..aeb744d31
Binary files /dev/null and b/gamedir/Data/BigItems/P2item78.sti differ
diff --git a/gamedir/Data/BigItems/P2item79.sti b/gamedir/Data/BigItems/P2item79.sti
new file mode 100644
index 000000000..c175f7119
Binary files /dev/null and b/gamedir/Data/BigItems/P2item79.sti differ
diff --git a/gamedir/Data/BigItems/P2item80.sti b/gamedir/Data/BigItems/P2item80.sti
new file mode 100644
index 000000000..581fbc39b
Binary files /dev/null and b/gamedir/Data/BigItems/P2item80.sti differ
diff --git a/gamedir/Data/BigItems/P2item81.sti b/gamedir/Data/BigItems/P2item81.sti
new file mode 100644
index 000000000..ec5fe8e9d
Binary files /dev/null and b/gamedir/Data/BigItems/P2item81.sti differ
diff --git a/gamedir/Data/BigItems/P2item82.sti b/gamedir/Data/BigItems/P2item82.sti
new file mode 100644
index 000000000..53df8b37b
Binary files /dev/null and b/gamedir/Data/BigItems/P2item82.sti differ
diff --git a/gamedir/Data/BigItems/P2item83.sti b/gamedir/Data/BigItems/P2item83.sti
new file mode 100644
index 000000000..989ea19de
Binary files /dev/null and b/gamedir/Data/BigItems/P2item83.sti differ
diff --git a/gamedir/Data/BigItems/P2item84.sti b/gamedir/Data/BigItems/P2item84.sti
new file mode 100644
index 000000000..fa8b23a65
Binary files /dev/null and b/gamedir/Data/BigItems/P2item84.sti differ
diff --git a/gamedir/Data/BigItems/P2item85.sti b/gamedir/Data/BigItems/P2item85.sti
new file mode 100644
index 000000000..e1af51f4e
Binary files /dev/null and b/gamedir/Data/BigItems/P2item85.sti differ
diff --git a/gamedir/Data/BigItems/P2item86.sti b/gamedir/Data/BigItems/P2item86.sti
new file mode 100644
index 000000000..e91f6537d
Binary files /dev/null and b/gamedir/Data/BigItems/P2item86.sti differ
diff --git a/gamedir/Data/Interface/MDGUNS.STI b/gamedir/Data/Interface/MDGUNS.STI
new file mode 100644
index 000000000..b02786962
Binary files /dev/null and b/gamedir/Data/Interface/MDGUNS.STI differ
diff --git a/gamedir/Data/Interface/MDP2ITEMS.STI b/gamedir/Data/Interface/MDP2ITEMS.STI
new file mode 100644
index 000000000..5a8fee2f7
Binary files /dev/null and b/gamedir/Data/Interface/MDP2ITEMS.STI differ
diff --git a/gamedir/Data/TableData/Items/AmmoStrings.xml b/gamedir/Data/TableData/Items/AmmoStrings.xml
index c63635c11..1d99abe8d 100644
--- a/gamedir/Data/TableData/Items/AmmoStrings.xml
+++ b/gamedir/Data/TableData/Items/AmmoStrings.xml
@@ -235,4 +235,9 @@
.30-06
.30-06
+
+ 47
+ Cannon Ball
+ Cannon Ball
+
\ No newline at end of file
diff --git a/gamedir/Data/TableData/Items/Items.xml b/gamedir/Data/TableData/Items/Items.xml
index 3a8d5adce..a7aeadaf7 100644
--- a/gamedir/Data/TableData/Items/Items.xml
+++ b/gamedir/Data/TableData/Items/Items.xml
@@ -9244,7 +9244,6 @@
1
335
3
- 1
55
129
9
@@ -9271,6 +9270,226 @@
-
336
+ Hand Mortar
+ Hand Mortar
+ Just your standard 18th century hand mortar with a stubby brass barrel and JOURSON engraved on the lock. Worth a fortune on the collector's market.
+ Hand Mortar
+ Not for sale through BR.
+ 2
+ 1
+ 336
+ 3
+ 367
+ 24
+ 6
+ 500
+ 2
+ -4
+ -4
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 10
+ 100.0
+
+
+
+
+ -
+ 337
+ Garver Knife
+ Sam Garver Combat Knife
+ This limited edition, Sam Garver combat knife, is authenticated with a serial number and signed by Sam himself. It's galvanized steel blade and gator-skinned elegance have made it a highly sought-after collectable.
+ Sam Garver Combat Knife
+ Not for sale through BR.
+ 4
+ 1
+ 337
+ 4
+ 2
+ 85
+ 9
+ 2
+ 24
+ 350
+ 2
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 28
+ 100.0
+
+
+
+
+ -
+ 338
+ Cannon Ball
+ Cannon Ball
+ A hand-crafted cast-iron projectile for a hand mortar.
+ Cannon Ball
+ Not for sale through BR.
+ 1024
+ 1
+ 61
+ 368
+ 25
+ 8
+ 10
+ 5
+ 2
+ 1
+ 1
+ 1
+ 100.0
+
+
+
+
+ -
+ 339
+ Transmitter
+ Laptop Transmitter
+ This satellite transmitter enables a laptop computer to connect to the Internet from anywhere in the world. N.B. Works with operating system other than Windows.
+ Laptop Transmitter
+ Not for sale through BR.
+ 268435456
+ 1
+ 2
+ 81
+ 1
+ 1
+ 18
+ 100
+ 5
+ 1
+ 1
+ 1
+ 100.0
+
+
+
+
+ -
+ 340
+ Video
+ Attack of the Clydesdales
+ A sushi-western classic. All Hell breaks loose in a small mid-western town when a full-team of eight Clydesdales knock over the beer wagon and get into the suds.
+ Attack of the Clydesdales
+ Not for sale through BR.
+ 268435456
+ 1
+ 2
+ 78
+ 1
+ 8
+ 21
+ 20
+ 100.0
+
+
+
+
+ -
+ 341
+ Video
+ Wild, Wild East
+ Not to be confused with the American film Wild, Wild West, which was a dud, this Sushi-western, starring Will Smithero and Tex Colburn, is a hilarious romp through time.
+ Wild, Wild East
+ Not for sale through BR.
+ 268435456
+ 1
+ 2
+ 79
+ 1
+ 8
+ 21
+ 20
+ 100.0
+
+
+
+
+ -
+ 342
+ Video
+ Have Honda, Will Travel
+ Perhaps one of the greatest films ever directed by Francis Honda Copella, this sushi-western replaces the horse as a means of travel with raw sub-compact horsepower.
+ Have Honda, Will Travel
+ Not for sale through BR.
+ 268435456
+ 1
+ 2
+ 80
+ 1
+ 8
+ 21
+ 20
+ 100.0
+
+
+
+
+ -
+ 343
+ Canteen
+ Che Guevara Canteen
+ This rebel essential is made from hand-crafted tin and enclosed in insulated Mayan wool. Filled to capacity with fresh spring water from the French Alps, no guerrilla campaign would be complete without one.
+ Che Guevara Canteen
+ Not for sale through BR.
+ 268435456
+ 1
+ 2
+ 82
+ 10
+ 4
+ 22
+ 25
+ 1
+ 1
+ 1
+ 1
+ 1
+ 100.0
+
+
+
+
+ -
+ 344
+ Wrist Watch
+ MERC Wrist Watch
+ This is a timepiece like no other. An official M.E.R.C. wristwatch with Flo, in the skimpiest of bikinis, showing you the exact time with her limbs. It's even water resistant, so she'll never fog up.
+ MERC Wrist Watch
+ Not for sale through BR.
+ 268435456
+ 1
+ 2
+ 83
+ 1
+ 8
+ 11
+ 50
+ 2
+ -4
+ 1
+ 1
+ 1
+ 100.0
+
+
+
+
+ -
+ 345
Umbrella
MERC Umbrella
From formal wear to fatigues, this highly versatile umbrella will accompany you anywhere in style. It is also extremely durable; boasting a teflon-treated cloth guaranteed to withstand hail and sleet.
@@ -9278,7 +9497,7 @@
Not for sale through BR.
4
1
- 336
+ 346
4
2
84
@@ -9301,4 +9520,24 @@
+ -
+ 346
+ Instructions
+ Morris' Launch Instructions
+ The note contains origin and destination coordinates as well as precise instructions to launch missiles. It includes a number of towns in Arulco and the launch facility in Tracona.
+ Morris' Launch Instructions
+ Not for sale through BR.
+ 268435456
+ 1
+ 2
+ 86
+ 1
+ 8
+ 10
+ 1
+ 100.0
+
+
+
+
\ No newline at end of file
diff --git a/gamedir/Data/TableData/Items/Magazines.xml b/gamedir/Data/TableData/Items/Magazines.xml
index 25db925a5..5a9fe799c 100644
--- a/gamedir/Data/TableData/Items/Magazines.xml
+++ b/gamedir/Data/TableData/Items/Magazines.xml
@@ -424,6 +424,13 @@
0
0
0
- 0
+ 0
+
+
+ 61
+ 47
+ 1
+ 1
+ 1
\ No newline at end of file
diff --git a/gamedir/Data/TableData/Items/Weapons.xml b/gamedir/Data/TableData/Items/Weapons.xml
index 9b66a40a1..d4fce2c06 100644
--- a/gamedir/Data/TableData/Items/Weapons.xml
+++ b/gamedir/Data/TableData/Items/Weapons.xml
@@ -2258,6 +2258,48 @@
336
+ Hand Mortar
+ 5
+ 8
+ 47
+ 11
+ 7.57
+ 30
+ 50
+ 23
+ 4
+ 1
+ 100
+ 200
+ 100
+ 90
+ 30
+ 146
+ 103
+ 109
+ 157
+ 20
+ 20
+ 7
+ 480
+ 11
+ 4000
+ 5000
+ 1200
+
+
+ 337
+ Sam Garver Combat Knife
+ 6
+ 14
+ 20
+ 7
+ 200
+ 2
+ 7
+
+
+ 345
MERC Umbrella
6
10.46
diff --git a/gamedir/Data/tilesets/0/SMGUNS.STI b/gamedir/Data/tilesets/0/SMGUNS.STI
new file mode 100644
index 000000000..fe3cad6da
Binary files /dev/null and b/gamedir/Data/tilesets/0/SMGUNS.STI differ
diff --git a/gamedir/Data/tilesets/0/SMP2ITEMS.STI b/gamedir/Data/tilesets/0/SMP2ITEMS.STI
new file mode 100644
index 000000000..83e44a9a5
Binary files /dev/null and b/gamedir/Data/tilesets/0/SMP2ITEMS.STI differ