-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodDesc.xml
More file actions
390 lines (348 loc) · 23.1 KB
/
modDesc.xml
File metadata and controls
390 lines (348 loc) · 23.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<modDesc descVersion="105">
<!--
modDesc.xml is the entry point for all FS25 mods
This file defines metadata, localization, GUI, and script loading order
Order of script loading is CRITICAL - dependencies must load first
-->
<author>UsedPlus Team</author>
<version>2.15.4.97</version>
<title>
<en>UsedPlus - Finance & Marketplace System</en>
<de>UsedPlus - Finanzierungs- Und Marktsystem</de>
</title>
<description>
<en><![CDATA[
UsedPlus adds comprehensive financing, leasing, and a used vehicle marketplace to Farming Simulator 25.
FINANCE SYSTEM
- Finance vehicles, equipment, and land with 1-30 year terms
- Dynamic credit scoring (300-850) based on payment history and debt ratio
- Interest rates adjust based on your credit score
- Take general cash loans against your farm's collateral
LEASING
- Lease vehicles with flexible 1-5 year terms
- Buyout options at end of lease
- Land leasing with markup rates by term length
USED VEHICLE MARKETPLACE
- Search for used equipment through 3 agent tiers (Local/Regional/National)
- Inspect vehicles before purchase to reveal hidden condition
- Negotiate prices with AI sellers (weather affects deals!)
- Sell your vehicles through agents for better prices than trade-in
MAINTENANCE & REPAIR
- Partial repair system (1-100%) at any workshop
- Field Service Kit for emergency roadside repairs
- OBD Scanner with diagnosis minigame
- Integration with RVB and UYT mods
ADDITIONAL FEATURES
- ESC menu Finance Manager (Shift+F)
- Trade-in system with condition-based values
- Full multiplayer support
- 25 language translations
- Configurable settings for all systems
SUPPORT
- Bug reports: https://github.com/XelaNull/FS25_UsedPlus/issues
- See CHANGELOG.md for version history
]]></en>
<de><![CDATA[
UsedPlus fügt umfassende Finanzierung, Leasing und einen Gebrauchtfahrzeugmarkt zu Farming Simulator 25 hinzu.
FINANZSYSTEM
- Fahrzeuge, Geräte und Land mit 1-30 Jahren Laufzeit finanzieren
- Dynamische Bonitätsbewertung (300-850) basierend auf Zahlungsverhalten
- Zinssätze passen sich der Kreditwürdigkeit an
- Allgemeine Kredite gegen Sicherheiten aufnehmen
LEASING
- Fahrzeuge mit flexiblen 1-5 Jahres-Konditionen leasen
- Kaufoptionen am Ende der Leasingzeit
- Landpacht mit gestaffelten Aufschlägen
GEBRAUCHTFAHRZEUGMARKT
- Gebrauchte Geräte über 3 Agentenstufen suchen
- Fahrzeuge vor dem Kauf inspizieren
- Preise mit KI-Verkäufern verhandeln (Wetter beeinflusst Deals!)
- Fahrzeuge über Agenten verkaufen für bessere Preise
WARTUNG & REPARATUR
- Teilreparatursystem (1-100%) in jeder Werkstatt
- Pannenset für Notfall-Reparaturen
- OBD-Scanner mit Diagnose-Minispiel
- Integration mit RVB und UYT Mods
WEITERE FUNKTIONEN
- ESC-Menü Finanzmanager (Umschalt+F)
- Inzahlungnahme mit zustandsbasierten Werten
- Vollständige Multiplayer-Unterstützung
- 15 Sprachübersetzungen
- Konfigurierbare Einstellungen
UNTERSTÜTZUNG
- Fehlerberichte: https://github.com/XelaNull/FS25_UsedPlus/issues
- Siehe CHANGELOG.md für Versionshistorie
]]></de>
</description>
<iconFilename>icon.dds</iconFilename>
<multiplayer supported="true"/>
<!--
Localization files loaded via prefix pattern
Game looks for translation_en.xml, translation_de.xml, etc.
-->
<l10n filenamePrefix="translations/translation">
<text name="action_activateService">
<en>Open Service Doors</en>
<de>Servicetüren öffnen</de>
<fr>Ouvrir les portes de service</fr>
</text>
<text name="action_deactivateService">
<en>Close Service Doors</en>
<de>Servicetüren schließen</de>
<fr>Fermer les portes de service</fr>
</text>
</l10n>
<!--
Custom fill types for Service Truck restoration system
USEDPLUS_SPAREPARTS: Consumed during long-term vehicle restoration
-->
<fillTypes filename="data/fillTypes.xml"/>
<!--
Input actions for opening finance manager from ESC or in-game
Pattern from: EnhancedLoanSystem, BuyUsedEquipment
-->
<!-- v2.0.3: Separated actions and inputBinding for proper on-foot player actions -->
<!-- Pattern from: FS25_CutOpenBale which works for on-foot keybinds -->
<actions>
<action name="USEDPLUS_OPEN_FINANCE_MANAGER" category="ONFOOT VEHICLE" axisType="HALF"/>
<action name="USEDPLUS_ACTIVATE_OBD"/>
<action name="USEDPLUS_TIRES" category="MENU" axisType="HALF"/>
<action name="USEDPLUS_SERVICE_TRUCK" category="VEHICLE" axisType="HALF"/>
<action name="USEDPLUS_FAULT_TRACER" category="VEHICLE" axisType="HALF"/> <!-- v2.12.0: On-foot Fault Tracer minigame -->
</actions>
<inputBinding>
<actionBinding action="USEDPLUS_OPEN_FINANCE_MANAGER">
<binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_f"/>
</actionBinding>
<actionBinding action="USEDPLUS_ACTIVATE_OBD">
<binding device="KB_MOUSE_DEFAULT" input="KEY_o"/>
</actionBinding>
<actionBinding action="USEDPLUS_TIRES">
<binding device="KB_MOUSE_DEFAULT" input="KEY_t"/>
</actionBinding>
<actionBinding action="USEDPLUS_SERVICE_TRUCK">
<binding device="KB_MOUSE_DEFAULT" input="KEY_r"/>
</actionBinding>
<actionBinding action="USEDPLUS_FAULT_TRACER">
<binding device="KB_MOUSE_DEFAULT" input="KEY_g"/>
</actionBinding>
</inputBinding>
<!--
GUI XML definitions for ESC menu screens only
Shop dialogs are loaded dynamically on first use
DISABLED temporarily - need to fix XML structure
-->
<!--
<gui>
<gui xmlFilename="gui/FinanceManagerFrame.xml" />
<gui xmlFilename="gui/FinanceDetailFrame.xml" />
</gui>
-->
<!--
Script loading order is CRITICAL
Pattern: Data classes → Utils → Events → Managers → Extensions → GUI → Main
Dependencies MUST load before dependents
-->
<extraSourceFiles>
<!-- MUST LOAD FIRST: Core module defines UsedPlus global and logging -->
<sourceFile filename="src/core/UsedPlusCore.lua"/>
<!-- Core utilities (depend on UsedPlusCore) -->
<sourceFile filename="src/utils/DealUtils.lua"/> <!-- Deal interface contract and helpers -->
<sourceFile filename="src/utils/ModCompatibility.lua"/> <!-- v1.8.0: RVB/UYT cross-mod integration -->
<!-- Data classes (depend on DealUtils) -->
<sourceFile filename="src/data/CreditSystem.lua"/> <!-- Consolidated: CreditScore + CreditHistory -->
<sourceFile filename="src/data/FinanceDeal.lua"/>
<sourceFile filename="src/data/LeaseDeal.lua"/>
<sourceFile filename="src/data/LandLeaseDeal.lua"/> <!-- Land leasing -->
<sourceFile filename="src/data/UsedVehicleSearch.lua"/>
<sourceFile filename="src/data/VehicleSaleListing.lua"/> <!-- Agent-based vehicle sales -->
<sourceFile filename="src/data/DiagnosisData.lua"/> <!-- v1.8.0: Field Service Kit diagnosis data -->
<sourceFile filename="src/data/RestorationData.lua"/> <!-- v2.9.0: Service Truck restoration scenarios -->
<!-- Settings system (load before managers) -->
<sourceFile filename="src/settings/SettingsPresets.lua"/> <!-- v1.4.0: Preset configurations -->
<sourceFile filename="src/settings/UsedPlusSettings.lua"/> <!-- v1.4.0: Settings manager singleton -->
<!-- Utility classes (no dependencies except data classes) -->
<sourceFile filename="src/utils/FinanceCalculations.lua"/>
<sourceFile filename="src/utils/DepreciationCalculations.lua"/>
<sourceFile filename="src/utils/TradeInCalculations.lua"/>
<sourceFile filename="src/utils/CollateralUtils.lua"/> <!-- Collateral/loan value calculations -->
<sourceFile filename="src/utils/Smoothing.lua"/> <!-- v2.8.0: EMA smoothing for UI values -->
<!-- UI utilities (depend on utils, used by GUI) -->
<sourceFile filename="src/utils/UIHelper.lua"/> <!-- Centralized UI formatting -->
<sourceFile filename="src/utils/DialogLoader.lua"/> <!-- Centralized dialog loading -->
<sourceFile filename="src/utils/UsedPlusAPI.lua"/> <!-- v2.5.2: Public API for external mod integration -->
<sourceFile filename="src/utils/NetworkSecurity.lua"/> <!-- v2.7.2: Multiplayer security validation -->
<!-- Vehicle Specialization - Maintenance System (v2.7.2 Modular) -->
<!-- IMPORTANT: Modules must load BEFORE core spec, core BEFORE register -->
<!-- Modules attach functions to UsedPlusMaintenance namespace -->
<sourceFile filename="src/specializations/maintenance/MaintenanceConfig.lua"/>
<sourceFile filename="src/specializations/maintenance/MaintenanceWarnings.lua"/>
<sourceFile filename="src/specializations/maintenance/MaintenanceSpeed.lua"/>
<sourceFile filename="src/specializations/maintenance/MaintenanceTires.lua"/>
<sourceFile filename="src/specializations/maintenance/MaintenanceFluids.lua"/>
<sourceFile filename="src/specializations/maintenance/MaintenanceReliability.lua"/>
<sourceFile filename="src/specializations/maintenance/MaintenanceEngine.lua"/>
<sourceFile filename="src/specializations/maintenance/MaintenanceSteering.lua"/>
<sourceFile filename="src/specializations/maintenance/MaintenanceHydraulics.lua"/>
<!-- Core specialization (uses functions from modules above) -->
<sourceFile filename="src/specializations/UsedPlusMaintenance.lua"/>
<sourceFile filename="src/specializations/UsedPlusMaintenanceRegister.lua"/>
<!-- Network events (depend on data classes) - CONSOLIDATED -->
<sourceFile filename="src/events/TransactionResponseEvent.lua"/> <!-- v2.8.0: Universal response for multiplayer feedback -->
<sourceFile filename="src/events/FinanceEvents.lua"/> <!-- FinanceVehicleEvent, FinancePaymentEvent, TakeLoanEvent -->
<sourceFile filename="src/events/LeaseEvents.lua"/> <!-- LeaseVehicleEvent, LeaseEndEvent, TerminateLeaseEvent -->
<sourceFile filename="src/events/LandEvents.lua"/> <!-- LandLeaseEvent, LandLeaseBuyoutEvent -->
<sourceFile filename="src/events/FMFinancePromptEvent.lua"/> <!-- v2.15.5: FM negotiation prompt (#29) -->
<sourceFile filename="src/events/SaleEvents.lua"/> <!-- CreateSaleListingEvent, SaleListingActionEvent -->
<sourceFile filename="src/events/UsedMarketEvents.lua"/> <!-- RequestUsedItemEvent, UsedItemFoundEvent -->
<sourceFile filename="src/events/MaintenanceEvents.lua"/> <!-- v2.8.0: FieldRepairEvent, RefillFluidsEvent, ReplaceTiresEvent -->
<sourceFile filename="src/events/RestorationEvents.lua"/> <!-- v2.9.0: Service Truck restoration sync events -->
<sourceFile filename="src/events/ServiceTruckDiscoveryEvent.lua"/> <!-- v2.9.0: Service Truck discovery MP sync -->
<sourceFile filename="src/events/FaultTracerResultEvent.lua"/> <!-- v2.12.0: Fault Tracer minigame results sync -->
<sourceFile filename="src/events/RepairVehicleEvent.lua"/>
<sourceFile filename="src/events/SetPaymentConfigEvent.lua"/> <!-- Payment configuration sync -->
<sourceFile filename="src/events/UsedPlusSettingsEvent.lua"/> <!-- v1.4.0: Settings sync event -->
<sourceFile filename="src/events/SyncEvents.lua"/> <!-- v2.15.0: Multiplayer state sync events -->
<sourceFile filename="src/events/BulkSyncHandler.lua"/> <!-- v2.15.0: Join-time bulk sync -->
<!-- Manager classes (depend on data classes, utils, events) -->
<sourceFile filename="src/managers/FinanceManager.lua"/>
<!-- UsedVehicleManager Modules (v2.7.2 Modular) -->
<!-- IMPORTANT: Modules must load BEFORE core manager -->
<!-- Modules attach functions to UsedVehicleManager namespace -->
<sourceFile filename="src/managers/usedvehicle/VehicleSearchSystem.lua"/>
<sourceFile filename="src/managers/usedvehicle/VehicleSpawning.lua"/>
<sourceFile filename="src/managers/usedvehicle/VehicleInspection.lua"/>
<sourceFile filename="src/managers/usedvehicle/VehiclePersistence.lua"/>
<!-- Core manager (uses functions from modules above) -->
<sourceFile filename="src/managers/UsedVehicleManager.lua"/>
<sourceFile filename="src/managers/VehicleSaleManager.lua"/> <!-- Agent-based vehicle sales -->
<sourceFile filename="src/managers/DifficultyScalingManager.lua"/> <!-- v2.0.0: Farmland difficulty scaling (GMNGjoy pattern) -->
<sourceFile filename="src/managers/BankInterestManager.lua"/> <!-- v2.0.0: Bank interest on cash (Evan Kirsch pattern) -->
<sourceFile filename="src/managers/ServiceTruckDiscovery.lua"/> <!-- v2.9.0: Service Truck discovery system -->
<!-- GUI screens (depend on managers) -->
<sourceFile filename="src/gui/LeaseEndDialog.lua"/> <!-- Lease end options -->
<sourceFile filename="src/gui/LeaseRenewalDialog.lua"/> <!-- Lease renewal/buyout/return dialog -->
<sourceFile filename="src/gui/UsedSearchDialog.lua"/>
<!-- FinanceManagerFrame Panels (v2.7.2 Modular) -->
<!-- IMPORTANT: Panels must load BEFORE core frame -->
<!-- Panels attach functions to FinanceManagerFrame namespace -->
<sourceFile filename="src/gui/financepanels/FinancesPanel.lua"/>
<sourceFile filename="src/gui/financepanels/SearchesPanel.lua"/>
<sourceFile filename="src/gui/financepanels/SalesPanel.lua"/>
<!-- Core frame (uses functions from panel modules) -->
<sourceFile filename="src/gui/FinanceManagerFrame.lua"/>
<sourceFile filename="src/gui/FinanceDetailFrame.lua"/>
<sourceFile filename="src/gui/RepairDialog.lua"/>
<sourceFile filename="src/gui/RepairFinanceDialog.lua"/>
<sourceFile filename="src/gui/TiresDialog.lua"/> <!-- v1.7.0: Tire replacement dialog -->
<sourceFile filename="src/gui/FluidsDialog.lua"/> <!-- v1.7.0: Fluids service dialog -->
<sourceFile filename="src/gui/TakeLoanDialog.lua"/>
<sourceFile filename="src/gui/LoanApprovedDialog.lua"/> <!-- Styled loan confirmation popup -->
<sourceFile filename="src/gui/FinancialDashboard.lua"/>
<sourceFile filename="src/gui/CreditReportDialog.lua"/> <!-- Detailed credit report -->
<sourceFile filename="src/gui/SellVehicleDialog.lua"/> <!-- Agent-based vehicle sales -->
<sourceFile filename="src/gui/SaleOfferDialog.lua"/> <!-- Accept/Decline sale offers -->
<!-- UnifiedPurchaseDialog modules (load BEFORE dialog) -->
<sourceFile filename="src/gui/unifiedpurchase/PurchaseContext.lua"/>
<sourceFile filename="src/gui/unifiedpurchase/CreditCalculations.lua"/>
<sourceFile filename="src/gui/unifiedpurchase/TradeInHandler.lua"/>
<sourceFile filename="src/gui/unifiedpurchase/PurchaseExecutorVehicle.lua"/>
<sourceFile filename="src/gui/unifiedpurchase/PurchaseExecutorPlaceable.lua"/>
<sourceFile filename="src/gui/UnifiedPurchaseDialog.lua"/> <!-- Unified Buy/Finance/Lease dialog (depends on modules above) -->
<sourceFile filename="src/gui/UnifiedLandPurchaseDialog.lua"/> <!-- Land Buy/Finance/Lease dialog -->
<sourceFile filename="src/gui/DealDetailsDialog.lua"/> <!-- Finance/Lease deal details popup -->
<sourceFile filename="src/gui/PaymentHistoryDialog.lua"/> <!-- Full amortization schedule view -->
<sourceFile filename="src/gui/SaleListingDetailsDialog.lua"/> <!-- Sale listing details popup -->
<sourceFile filename="src/gui/SearchDetailsDialog.lua"/> <!-- Used search details popup -->
<sourceFile filename="src/gui/UsedVehiclePreviewDialog.lua"/> <!-- Used vehicle inspection preview -->
<sourceFile filename="src/gui/InspectionReportDialog.lua"/> <!-- Inspection report with reliability bars -->
<sourceFile filename="src/gui/MaintenanceReportDialog.lua"/> <!-- Maintenance report for owned vehicles -->
<sourceFile filename="src/gui/VehiclePortfolioDialog.lua"/> <!-- v1.5.0: Portfolio browser for multi-find agent model -->
<sourceFile filename="src/gui/SearchInitiatedDialog.lua"/> <!-- v1.5.0: Styled search confirmation -->
<sourceFile filename="src/gui/SaleListingInitiatedDialog.lua"/> <!-- v1.5.0: Styled sale listing confirmation -->
<sourceFile filename="src/gui/SearchExpiredDialog.lua"/> <!-- v1.5.1: Search expiration with renewal option -->
<sourceFile filename="src/gui/SaleExpiredDialog.lua"/> <!-- v1.5.1: No buyer found dialog -->
<sourceFile filename="src/gui/FieldServiceKitDialog.lua"/> <!-- v1.8.0: Field Service Kit dialog -->
<sourceFile filename="src/gui/FaultTracerGrid.lua"/> <!-- v2.12.0: Fault Tracer grid engine (pure logic) -->
<sourceFile filename="src/gui/FaultTracerDialog.lua"/> <!-- v2.12.0: Fault Tracer minigame dialog -->
<sourceFile filename="src/gui/ServiceTruckDialog.lua"/> <!-- v2.9.0: Service Truck restoration dialog -->
<sourceFile filename="src/gui/ServiceTruckDiscoveryDialog.lua"/> <!-- v2.9.0: Service Truck discovery popup -->
<sourceFile filename="src/gui/FluidPurchaseDialog.lua"/> <!-- v1.9.3: Fluid purchase dialog -->
<sourceFile filename="src/gui/RepossessionDialog.lua"/> <!-- v1.9.8: Repossession notification dialog -->
<sourceFile filename="src/gui/NegotiationDialog.lua"/> <!-- v2.6.0: Used vehicle negotiation dialog -->
<sourceFile filename="src/gui/SellerResponseDialog.lua"/> <!-- v2.6.0: Seller response dialog -->
<sourceFile filename="src/gui/UsedPlusSettingsMenuExtension.lua"/> <!-- v1.4.0: Game Settings integration -->
<sourceFile filename="src/gui/AdminControlPanel.lua"/> <!-- v2.9.5: Admin testing panel -->
<!-- Extensions (depend on managers, GUI) -->
<sourceFile filename="src/extensions/ShopConfigScreenExtension.lua"/>
<sourceFile filename="src/extensions/BuyVehicleDataExtension.lua"/>
<sourceFile filename="src/extensions/BuyPlaceableDataExtension.lua"/> <!-- v2.8.0: Hook BuyPlaceableData.buy() for placeable financing -->
<sourceFile filename="src/extensions/FarmExtension.lua"/>
<sourceFile filename="src/extensions/FarmlandManagerExtension.lua"/>
<sourceFile filename="src/extensions/PlaceableSystemExtension.lua"/> <!-- v2.8.0: Hook placeable placement/deletion for financing -->
<sourceFile filename="src/extensions/VehicleExtension.lua"/>
<sourceFile filename="src/extensions/InGameMenuMapFrameExtension.lua"/>
<sourceFile filename="src/extensions/VehicleSellingPointExtension.lua"/>
<sourceFile filename="src/extensions/InGameMenuVehiclesFrameExtension.lua"/> <!-- Hook ESC Vehicles Sell button -->
<sourceFile filename="src/extensions/WorkshopScreenExtension.lua"/> <!-- Hook Workshop Inspect button -->
<!-- v2.15.0: RVB Workshop integration (sub-modules load before coordinator) -->
<sourceFile filename="src/extensions/rvb/RVBRepairButton.lua"/>
<sourceFile filename="src/extensions/rvb/RVBButtonInjection.lua"/>
<sourceFile filename="src/extensions/rvb/RVBServiceHooks.lua"/>
<sourceFile filename="src/extensions/rvb/RVBInspectionButton.lua"/>
<sourceFile filename="src/extensions/rvb/RVBDiagnostics.lua"/>
<sourceFile filename="src/extensions/RVBWorkshopIntegration.lua"/> <!-- v2.1.0: RVB Workshop coordinator -->
<sourceFile filename="src/extensions/VehicleInfoExtension.lua"/> <!-- v2.8.0: Oil/Hydraulic fluid in vehicle info box -->
<sourceFile filename="src/extensions/FinanceMenuExtension.lua"/> <!-- Disable vanilla borrow, require credit-based loans -->
<!-- Main entry point (MUST be last - depends on everything) -->
<sourceFile filename="src/main.lua"/>
</extraSourceFiles>
<!-- Vehicle Specializations - Hand Tools & Service Vehicles -->
<specializations>
<specialization name="FieldServiceKit" className="FieldServiceKit" filename="vehicles/FieldServiceKit.lua"/>
<specialization name="ServiceTruck" className="ServiceTruck" filename="vehicles/ServiceTruck.lua"/>
</specializations>
<!-- Vehicle Types - Portable Tools & Service Vehicles -->
<!-- Field Service Kit: Uses parent="base" like MobileServiceKit pattern -->
<!-- Service Truck: Uses parent="carFillable" for driveable vehicle with fill units -->
<!-- Specializations within same mod do NOT need mod prefix -->
<vehicleTypes>
<type name="usedPlusFieldServiceKit" parent="base" filename="$dataS/scripts/vehicles/Vehicle.lua">
<specialization name="FieldServiceKit"/>
</type>
<type name="usedPlusServiceTruck" parent="carFillable" filename="$dataS/scripts/vehicles/Vehicle.lua">
<specialization name="ServiceTruck"/>
<specialization name="fillTriggerVehicle"/>
</type>
</vehicleTypes>
<!-- Material templates for Service Truck rim colors (RAM_SILVER, DARK_CHROME, etc.) -->
<materialTemplates id="brandColor" name="Brand Material" parentTemplateFilename="$data/shared/detailLibrary/materialTemplates.xml">
<template name="RAM_SILVER" title="Silver" usage="2" colorScale="1 1 1" parentTemplate="silverScratched"/>
<template name="RIM_DARK_STEEL" title="Dark Steel" usage="2" colorScale="0.35 0.35 0.40" parentTemplate="silverScratched"/>
<template name="RIM_ALU" title="Aluminium" usage="2" colorScale="0.65 0.65 0.75" parentTemplate="copperScratched"/>
<template name="DARK_CHROME" title="Dark Chrome" usage="2" colorScale=".65 .65 .65" parentTemplate="chrome"/>
<template name="PLAST1" title="Dark plastik" usage="2" colorScale="0.02 0.02 0.02" parentTemplate="plasticPaintedBlack"/>
<template name="PLAST2" title="Dark plastik2" usage="2" colorScale="0.03 0.03 0.03" parentTemplate="plasticPaintedShinyBlack"/>
</materialTemplates>
<!-- Placeable Specializations -->
<placeableSpecializations>
<specialization name="OilServicePoint" className="OilServicePoint" filename="placeables/OilServicePoint.lua"/>
</placeableSpecializations>
<!-- Placeable Types using our specializations -->
<placeableTypes>
<type name="usedPlusOilServicePoint" parent="simplePlaceable" filename="$dataS/scripts/placeables/Placeable.lua">
<specialization name="OilServicePoint"/>
</type>
</placeableTypes>
<!-- Placeables, Hand Tools & Service Vehicles -->
<brands>
<brand name="GMC" title="GMC" image="gui/icons/brand_gmc.dds"/>
</brands>
<storeItems>
<storeItem xmlFilename="placeables/OilTank.xml"/>
<storeItem xmlFilename="vehicles/fieldServiceKit/fieldServiceKit.xml"/> <!-- v1.8.0: Field Service Kit -->
<storeItem xmlFilename="vehicles/serviceTruck/serviceTruck.xml"/> <!-- v2.9.0: Service Truck -->
<storeItem xmlFilename="vehicles/sparePartsPallet/sparePartsPallet.xml"/> <!-- v2.9.0: Spare Parts Pallet -->
</storeItems>
</modDesc>