summaryrefslogtreecommitdiff
path: root/npc/custom/eAAC_Scripts/kafraExpress/config.txt
blob: 6ff96865514afda943e07efdd0b0483a522dca66 (plain) (blame)
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
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
//===== rAthena Script ======================================= 
//= Kafra Express - Config Module
//===== By: ================================================== 
//= Skotlex 
//===== Current Version: ===================================== 
//= 2.4
//===== Compatible With: ===================================== 
//= Any rAthena Version with function support
//===== Description: ========================================= 
//= Part of the Kafra Express Script Package.
//= This module contains the configuration of all modules. 
//===== Additional Comments: ================================= 
//= See <http://www.eathena.ws/board/index.php?showtopic=20290>
//= for indepth explanation of the Kafra Express Script Package.
//============================================================ 

-	script	keConfig	-1,{
	//-------------------------------------------------------------------------------
	//Config for the Main Module
	//-------------------------------------------------------------------------------
OnInit:
	set $@ke_saveOnSpot,0;	//If 1, the respawn point is saved where the char is standing.
	set $@keh_hpCost,10;	//Cost of HP healing (per 10HP)
	set $@keh_spCost,100;	//Cost of SP healing (per 10SP)
	set $@kes_cost,50;	//Cost of opening the storage
	set $@kegs_cost,500;	//Cost of opening the guild storage

	//Kafra Pass Options:
	set $@kekp_reset,1; //How many uses a kafra pass has before expiring?
		//(if 0, duration is as long as a temporary variable)
	set $@kekp_reserveCost,100;	//Cost of each Reserve Point in Zeny (0 disable)
	set $@kekp_minReserve,1;	//Min Reserve Points you can earn in a single transaction
	set $@kekp_maxReserve,150;	//Max Reserve Points you can earn in a single transaction

	//Display Options
	set $@ked_users$,"people"; //String used when referring to people (player count).
		// Values like "ppl", "users" or "on" are also recommended.
	end;
	//-------------------------------------------------------------------------------
	//Config for the Bank Module
	//-------------------------------------------------------------------------------
OnLoadBank:
	set $@kebk_depositCost,0;	//Fee for bank deposits in % (10 = 10%)
	set $@kebk_withdrawCost,5;	//Fee for bank withdrawals in % (10 = 10%)
	set $@kebk_minTransact,1000;	//Value of the Minimum Transaction (deposit/withdraw)
	set $@kebk_maxTransact,999999;	//Value of the Maximum Transaction (deposit/withdraw)
	set $@kebk_capacity,99999999;	//Account capacity: Max zeny that can be held.
	set $@kebk_dayInterest,10;	//Savings daily interests in 0.01% units (100 = 1%)
	set $@kebk_monMaintenance,1000;	//Monthly flat fee charged for account maintenance
	set $@kebk_useGlobalBank,0;	//When 1, all charged fees go to $ke_globalbank 
	end;
	//-------------------------------------------------------------------------------
	//Config for the Broadcast Module
	//-------------------------------------------------------------------------------
OnLoadBroadcast:
	//Following costs are for current map costs:
	set $@kebc_showOnline,0;	//if 1, count of recipients will be listed.
	set $@kebc_partyCost,2500;	//party request broadcast cost
	set $@kebc_pvpCost,5000;	//pvp request broadcast cost
	set $@kebc_cost,10000;	//general broadcast cost
	set $@kebc_anonCost,100000;	//anonymous broadcast cost
	set $@kebc_globalFactor,1000;	//When doing server bcs, the prices are increased by this amount (500 = 500% = 5x)
	set $@kebc_discount,15;	//% Discount to apply when the KafraPass is active
	end;
	//-------------------------------------------------------------------------------
	//Config for the Dye and Stylist Module
	//-------------------------------------------------------------------------------
OnLoadDye:
	set $@kedy_enableHairstyle,0;	//Set to 1 to enable haircut style change.
	set $@kedy_styles,23;	//Highest available haircut style (default 23)
	set $@kedy_hair,8;	//Highest available hair dye (RO default is 8)
	
	//Highest available cloth dye depending on job-class
	set $@kedy_clothJN,77;	//Novice (+High/Baby)
	set $@kedy_clothJ1ST,77;	//1st Jobs (+High/Baby)
	set $@kedy_clothJ2ND,77;	//2nd Jobs (+High/Baby)
	set $@kedy_clothJSN,77;	//Super Novice (+Baby)
	end;
	//-------------------------------------------------------------------------------
	//Config for the Job Changer Module
	//-------------------------------------------------------------------------------
OnLoadJobChange:
	set $@kejc_skillsPolicy,0;	//Remaining Skill Points Policy:
		//0: Do not allow job changing until points are used up
		//1: Discard the remaining skill points
		//2: Let extra skill points be carried to next job

	set $@kejc_upperPolicy,0;	//Upper Job management policy:
		//0: Ignore Mode: People can change in any order
		//1: Force Mode: Job changes are forced on the correct path.
	
	set $@kejc_announce,1;	//Do a global announce when someone changes job.
	set $@kejc_resetDye,1;	//Set to 1 to reset cloth dye upon change
	set $@kejc_skipNovice,0;	//0: Novice needs Job 10 to change, 1: Can Skip Novice Class
	set $@kejc_baseSN,30;	//Base lv required to become a Super Novice

	set $@kejc_disable,0;	//Disable certain jobs from the changer:
		//1: Super Novice
		//2: Taekwon/Star Gladiator/Soul Linker
		//4: GunSlinger
		//8: Ninja

	//Note that the change costs can be converted into rewards by specifying a negative amount.
	set $@kejc_base2ND,1;	//Base lv required to change into a second class
	set $@kejc_job2ND,40;	//Job Lv required to change into a second Class
	set $@kejc_cost2ND,-25000;	//Zeny cost when changing into a second Class

	set $@kejc_baseRebirth,99;	//Base lv required to do the Rebirth 
	set $@kejc_jobRebirth,50;	//Job Lv required to do the Rebirth
	set $@kejc_costRebirth,1000000;	//Zeny cost required to do the Rebirth

	set $@kejc_rebirthReset,1;	//When changing to a high novice, reset base level to 1?
	set $@kejc_weaponPolicy,1;	//Set to 1 to give a weapon upon job change
	
	if ($@kejc_weaponPolicy == 0) //don't touch
		end;

	set $@kejc_wBonusLv,50;	//Job level for upgraded weapon version, use 0 to disable
	
	//Weapons awarded to each job upon change (use 0 to disable for a particular class)
	//First classes:
	setarray $@kejc_weapon1[0],
		1501,	//Acolyte/Club
		1701,	//Archer/Bow
		1601,	//Mage/Rod
		1301,	//Merchant/Axe
		1101,	//Swordman/Sword
		1201,	//Thief/Knife
		0,		//Taekwon/Nothing (they don't wield weapons)
		1202,	//Super Novice/Knife
		13010, //GunSlinger/Six Shooter
		1201; //Ninja/Knife
	
	//Normal Weapons for Second classes
	setarray $@kejc_weapon_21[0],
		1551,	//Priest/Bible
		1704,	//Hunter/Composite Bow
		1602,	//Wizard/Rod
		1351,	//Blacksmith/Battle Axe
		1116,	//Knight/Katana
		1250,	//Assassin/Jur
		1550;	//Star Gladiator/Book

	setarray $@kejc_weapon_22[0],
		1801,	//Monk/Waghnak
		1704,	//Bard/Dancer/Composite Bow
		1550,	//Sage/Book
		1351,	//Alchemist/Battle Axe
		1107,	//Crusader/Blade
		1210,	//Rogue/Cutter
		1602;	//Soul Linker/Rod
	
	if ($@kejc_wBonusLv == 0)	//Don't touch.
		end;

	//Improved versions awarded to second classes
	setarray $@kejc_weapon2_21[0],
		1519,	//Priest/Chain
		1714,	//Hunter/Gakkung
		1610,	//Wizard/Arc Wand
		1360,	//Blacksmith/Two-Handed Axe
		1160,	//Knight/Broad-Sword
		1254,	//Assassin/Jamadhar
		1552;	//Star Gladiator/Tablet

	setarray $@kejc_weapon2_22[0],
		1811,	//Monk/Finger
		1714,	//Bard/Dancer/Gakkung
		1552,	//Sage/Tablet
		1360,	//Alchemist/Two-Handed Axe
		1119,	//Crusader/Tsurugi
		1222,	//Rogue/Damascus
		1610;	//Soul Linker/Arc Wand

	end;
	//-------------------------------------------------------------------------------
	//Config for the Job Swapping Module
	//-------------------------------------------------------------------------------
OnLoadJobSwap:
	set $@kejs_disable,0;	//Disable certain jobs from the swapper:
		//1: Super Novice
		//2: Taekwon/Star Gladiator/Soul Linker
		//4: GunSlinger
		//8: Ninja

	set $@kejs_revertPolicy,1;	//Allows reverting to the last Class one changed from...
		// 0: do not allow reverting
		// 1: Can revert to last Job ONLY when the last job belongs to the same "level" as 
		//    the current one. (ie: it is lost on job change/upgrade)
		// 2: Can revert to the last job regardless of situation.

	set $@kejs_announce,0;	//Do a global announce when someone swaps job.
	set $@kejs_revertCost,100000;	//Cost of reverting back to previous Job.
	set $@kejs_saveDye,1;	//Set to 1 to save and restore previous dye when reverting
	set $@kejs_resetDye,0;	//Set to 1 to reset cloth dye when swapping
	set $@kejs_swapDiscount, 20;	//Kafra Pass % Discount when swapping jobs
	set $@kejs_revertDiscount, 20;	//Kafra Pass % Discount when reverting to a previous job.
	
	//Minimum Job level required for swapping
	set $@kejs_job1ST,20;	//among 1st classes
	set $@kejs_job2ND,50;	//among 2nd classes
	
	//Base Cost for swapping job at min job level required
	set $@kejs_cost1ST,25000;	//among 1st jobs
	set $@kejs_cost2ND,250000;	//among 2nd jobs

	//Percentage discount for every level over the minimum
	set $@kejs_discount1ST,3;	//among 1st jobs
	set $@kejs_discount2ND,3;	//among 2nd jobs
	
	//How much to preserve of the previous Job in %?
	//(25% means that if you change at Lv100, you will become a Lv25 upon swap)
	set $@kejs_preserve1ST,50;	//among 1st jobs
	set $@kejs_preserve2ND,0;	//among 2nd jobs
	end;
	//-------------------------------------------------------------------------------
	//Config for the Refining Module
	//-------------------------------------------------------------------------------
OnLoadRefine:
	set $@kerf_maxLv,10;	//Max refinement level for equipment
	set $@kerf_safe,0;	//Set to 1 to enable 100% safe refinement.
	set $@kerf_showChance,0;	//Set to 1 to see the refine Success Chance
	set $@kerf_refineAll,0;	//Set to 1 to enable refinement of anything (ie: accesories)
	set $@kerf_discount,0;	//Discount % rate for forging when Kafra Pass is active.
	set $@kerf_armorCost,2000;	//Cost to refine armor (default 2000z)
	set $@kerf_weaponLv1Cost,50;	//Cost to refine lv1 weapons (default 50z)
	set $@kerf_weaponLv2Cost,200;	//Cost to refine lv2 weapons (default 200z)
	set $@kerf_weaponLv3Cost,5000;	//Cost to refine lv3 weapons (default 5000z)
	set $@kerf_weaponLv4Cost,20000;	//Cost to refine lv4 weapons (default 20000z)
	set $@kerf_purifyAll,0;	//Set to 1 to enable purifying elemental stones and the like
	set $@kerf_repairCost,10000;	//Cost to repair broken equipment.
	set $@kerf_repairDiscount,25;	//Discount % rate for repairing when Kafra Pass is active
	set $@kerf_repairSteel,1;	//Set to 1 to make repairing equipment require 1 Steel.
	end;
	//-------------------------------------------------------------------------------
	//Config for the Renting Module
	//-------------------------------------------------------------------------------
OnLoadRent:
	set $@kert_cartOnly, 0;	//Set to 1 to enable only cart rental, 0 enables all add-ons.
	set $@kert_cartCost, 1000;	//Cost to rent a Cart.
	set $@kert_falconCost, 2000;	//Cost to rent a Falcon.
	set $@kert_pecoCost, 2000;	//Cost to rent a PecoPeco.
	end;
	//-------------------------------------------------------------------------------
	//Config for the Kafra Shop Module
	//-------------------------------------------------------------------------------
OnLoadShop:
	set $@kesh_towntype, 0; //Town shop type (1: buy, 2: sell, Other: both)
	set $@kesh_duntype, 2; //Dungeon shop type (1: buy, 2: sell, Other: both)
	set $@kesh_townshop$, "ke_townshop"; //Name of town shop to invoke.
	set $@kesh_dunshop$, "ke_dunshop"; //Name of dungeon shop to invoke.
	end;
	//-------------------------------------------------------------------------------
	//Config for the Stat Market Module
	//-------------------------------------------------------------------------------
OnLoadStatMarket:
	set $@kesm_stBuyPrice,10000;	//Cost of buying stat points
	set $@kesm_stSellPrice,0;	//Return cash for selling stat points
	set $@kesm_skBuyPrice,1000000;	//Cost of buying skill points
	set $@kesm_skSellPrice,50000;	//Return cash for selling skill points
	set $@kesm_skTradePrice, 20; //Stats needed to trade for a skill.	(Stat->Skill)
	set $@kesm_stTradePrice, 15; //Stats received per Skill traded. (Skill->Stat)
	set $@kesm_discount,0;	//Discount % applied when buying if Kafra Pass is active
	end;
	//-------------------------------------------------------------------------------
	//Config for the Stats Reset/Raising Module
	//-------------------------------------------------------------------------------
OnLoadStats:
	set $@kest_stResetCost,50000;	//Cost to reset stats
	set $@kest_skResetCost,50000;	//Cost to reset skills
	set $@kest_resetCost,75000;	//Cost to reset both
	set $@kest_BaseLvCost,25000;	//Additional cost per base level to reset stats
	set $@kest_JobLvCost,25000;		//Additional cost per job level to reset skills
	set $@kest_BothLvCost,20000;	//Additional cost per base+job level to reset both

	set $@kest_discount,15;	//Discount % to be applied when Kafra Pass is active.
	set $@kest_resetBasic,0;	//Set to 1 if you want basic skills resetted as well.
	end;
	//-------------------------------------------------------------------------------
	//Config for the Uncarding Module
	//-------------------------------------------------------------------------------
OnLoadUncard:
	set $@keuc_BaseCost, 100000;	//Base Cost
	set $@keuc_CardCost, 25000;	//Extra Cost per Card
	set $@keuc_UpgradeCostA, 1000;	//Extra Cost per Upgrade, Armor
	set $@keuc_UpgradeCostW1, 1000;	//Extra Cost per Upgrade, Weapons Lv1
	set $@keuc_UpgradeCostW2, 2000;	//Extra Cost per Upgrade, Weapons Lv2
	set $@keuc_UpgradeCostW3, 3000;	//Extra Cost per Upgrade, Weapons Lv3
	set $@keuc_UpgradeCostW4, 5000;	//Extra Cost per Upgrade, Weapons Lv4
	set $@keuc_discount, 10;	//% Discount when using a Kafra Pass
	set $@keuc_Mat1,1000;	//Material #1 needed (Star Crumb)
	set $@keuc_Qty1,1;		//Qty of material #1 needed (use 0 to disable)
	set $@keuc_Mat2,715;	//Material #2 needed (Yellow Gemstone)
	set $@keuc_Qty2,1;	//Qty of material #2 needed (use 0 to disable)
	
	//Failure Chances. 1000 = 100.0%, set to 0 to disable failing chance.
	set $@keuc_Fail0Chance, 250;	//Chance of harmless failure
	set $@keuc_Fail1Chance, 100;	//Chance of losing item OR card
	set $@keuc_Fail2Chance, 25;	//Chance of losing both
	end;
	//-------------------------------------------------------------------------------
	//Config for the Town Warps Module
	//-------------------------------------------------------------------------------
OnLoadWarpTown:
	set $@kewt_showOnline,1;	//Set to 1 to show online count on cities
	set $@kewt_cost, 1000;	//Cost of warping to a town
	set $@kewt_niflCost, 5000;	//Cost of warping to Niflheim
	set $@kewt_travel, 0;	//Traveller's Mode type for towns:
		//0: Disabled (normal warping)
		//1: You can only warp to towns you've been before (per character basis)
		//2: You can only warp to towns you've been before (per account basis)
	set $@kewt_free, 0;	//Set to 1 to let people warp to towns even when poor
	set $@kewt_discount, 100;	//Discount % to apply when the Kafra Pass is active (towns)
	end;
	//-------------------------------------------------------------------------------
	//Config for the Dungeons Warps Module
	//-------------------------------------------------------------------------------
OnLoadWarpDungeon:
	set $@kewd_showOnline,0;	//Set to 1 to show online count on dungeons
	set $@kewd_discount, 50;	//Discount % to apply when the Kafra Pass is active
	set $@kewd_travel, 0;	//Traveller's mode type for dungeons:
		//0: Disabled (normal warping)
		//1: You can only warp to dungeons you've been before (per character basis)
		//2: You can only warp to dungeons you've been before (per account basis)
	set $@kewd_deep, 1; //If 1, people can warp to all levels of dungeons.
	                    //If 0, people can only warp to the entrance of dungeons.
	
	//Variables for Deep Warping
	set $@kewd_levelCost, 30;	// cost % increase for warping to floors deep into the dungeon
	set $@kewd_entryDiscount, 25;	//Discount % when using the Kafra right next to the dungeon one is warping into
	
	//Variables for Short Warping
	set $@kewd_turtleCave,0; //If 1, Turtle Island's warp leads to the
	                         //entrance of the cave, not the Island's shore.

	//Dungeon Costs
	set $@kewd_abyssLake,3250;	//Abyss Lake base cost
	set $@kewd_amatsu,2500;	//Amatsu Dungeon base cost
	set $@kewd_antHell,750;	//Anthell base cost
	set $@kewd_ayothaya,2000;	//Ayothaya Dungeon base cost
	set $@kewd_byalan,1000;	//Byalan base cost
	set $@kewd_comodo,1500;	//Comodo Caves base cost
	set $@kewd_clockTower,2250;	//Clock Tower base cost
	set $@kewd_coalMines,1000;	//Coal Mines base cost
	set $@kewd_culvert,0500;	//Prontera Culvert base cost
	set $@kewd_einbech,2250;	//Einbech Mines base cost
	set $@kewd_gefenia,7000;	//Gefenia base cost
	set $@kewd_geffen,1500;	//Geffen Dungeon base cost
	set $@kewd_glastHeim,2500;	//Glast Heim base cost
	set $@kewd_gonRyun,2250;	//Gonryun Dungeon base cost
	set $@kewd_hiddenTemple,750;	//Hidden Temple base cost
	set $@kewd_juperos,3750;	//Juperos base cost
	set $@kewd_kiehl,3400;	//Kiehl Doll Factory base cost
	set $@kewd_iceCave,3750;	//Ice Cave base cost
	set $@kewd_lightHalzen,4500;	//LightHalzen Rekkenber base cost
	set $@kewd_louYang,2500;	//Louyang Dungeon base cost
	set $@kewd_magma,3000;	//Magma Dungeon base cost
	set $@kewd_odin,2750;	//Odin Temple base cost
	set $@kewd_orc,1000;	//Orc Dungeon base cost
	set $@kewd_payon,1000;	//Payon Dungeon base cost
	set $@kewd_pyramid,2000;	//Pyramids base cost
	set $@kewd_rachel,3000;	//Rachel Sanctuary base cost
	set $@kewd_sphinx,1750;	//Sphinx base cost
	set $@kewd_sunkenShip,1250;	//Sunken Ship base cost
	set $@kewd_thanatosTower,3250;	//Thanatos Tower base cost
	set $@kewd_toyFactory,1250;	//Toy Factory base cost
	set $@kewd_turtleIsland,3250;	//Turtle Island base cost
	set $@kewd_umbala,1750;	//Umbala Dungeon base cost
	end;
	//-------------------------------------------------------------------------------
	//Config for the Pvp Warps Module
	//-------------------------------------------------------------------------------
OnLoadWarpPvp:
	set $@kewp_showOnline,1;	//Set to 1 to show online count on pvp maps
	set $@kewp_advanced,0; //Set to 0 to enable a single group of pvp rooms
	                       //(no level restrictions, kewp_cost is used)
	set $@kewp_cost, 1000; //Cost for Free For All (no level restrictions)
	
	if ($@kewp_advanced == 0)	//Don't touch
		end;
	
	set $@kewp_cost1, 100; //Cost of warping to a pvp arena, lvls group 1
	set $@kewp_cost2, 250; //Cost for lvls group 2
	set $@kewp_cost3, 500; //Cost for lvls group 3
	set $@kewp_cost4, 1000; //Cost for lvls group 4
	set $@kewp_cost5, 2000; //Cost for lvls group 5
	set $@kewp_cost6, 4000; //Cost for lvls group 6
	set $@kewp_cost7, 8000; //Cost for lvls group 7
	set $@kewp_baseLv1, 35; //Level required for pvp, lv1
	set $@kewp_baseLv2, 45; //Level required for pvp, lv2
	set $@kewp_baseLv3, 55; //Level required for pvp, lv3
	set $@kewp_baseLv4, 65; //Level required for pvp, lv4
	set $@kewp_baseLv5, 75; //Level required for pvp, lv5
	set $@kewp_baseLv6, 85; //Level required for pvp, lv6
	set $@kewp_baseLv7, 95; //Level required for pvp, lv7
	set $@kewp_range, 5; //Range of levels allowed (ie: Warp to Lv1: levels 10+/-5)
	end;
	//-------------------------------------------------------------------------------
	//Config for the WoE Warps Module
	//-------------------------------------------------------------------------------
OnLoadWarpWoe:
	//Note: See ke_warp_woe.txt for instructions on how to unlock the Guild Dungeons.
	set $@kewg_check,1;	//If 0, people don't need to belong to a Guild to warp
	set $@kewg_checkAgit,1;	//If 1, you can't warp until WoE starts
	set $@kewg_showOnline,0;	//Set to 1 to show online count and Castle Status
	set $@kewg_discount,20;	//Kafra Pass discount for WoE warps

	set $@kewg_baldur, 25000;	//Guild Dungeon - Baldur
	set $@kewg_luina, 25000;	//Guild Dungeon - Luina
	set $@kewg_valkyrie, 25000;	//Guild Dungeon - Valkyrie
	set $@kewg_britoniah, 25000;	//Guild Dungeon - Britoniah

	set $@kewg_alDeBaran, 2500;	//Al De Baran Guild
	set $@kewg_geffen, 2500;	//Geffen Guild
	set $@kewg_payon, 2500;	//Payon Guild
	set $@kewg_prontera, 2500;	//Prontera Guild
	end;
	//-------------------------------------------------------------------------------
}