diff --git a/README.md b/README.md
index 972b505..7351d3c 100755
--- a/README.md
+++ b/README.md
@@ -54,10 +54,10 @@
Will to Power
Might and Guile (v5+)
Faiths & Powers (v0.85+)
- [tweak mods including Tweaks Anthology]
+ [tweak mods like Tweaks Anthology]
SCS
Scales of Balance (v6+)
- [end-of-order mods like LevelOneNPCs, NPC_EE, Randomiser, etc.]
+ [end-of-order mods like LevelOneNPCs, NPC_EE, Dual to Kit, etc.]
Modder Resources:
Scales of Balance adds several custom spellstates to SPLSTATE.IDS. It uses the 4th byte of stat 115, Clubs proficiency, for certain features, principally the Revised Weapon Styles component.
diff --git a/scales_of_balance/lib/prof_2_5/d51bswo.spl b/scales_of_balance/lib/prof_2_5/d51bswo.spl
new file mode 100755
index 0000000..42cafbf
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d51bswo.spl differ
diff --git a/scales_of_balance/lib/prof_2_5/d5__dialprof.d5 b/scales_of_balance/lib/prof_2_5/d5__dialprof.d5
new file mode 100755
index 0000000..3462721
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5__dialprof.d5
@@ -0,0 +1 @@
+hello!
\ No newline at end of file
diff --git a/scales_of_balance/lib/prof_2_5/d5_profx.bam b/scales_of_balance/lib/prof_2_5/d5_profx.bam
new file mode 100755
index 0000000..6c76529
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5_profx.bam differ
diff --git a/scales_of_balance/lib/prof_2_5/d5_profy.bam b/scales_of_balance/lib/prof_2_5/d5_profy.bam
new file mode 100644
index 0000000..c35dbfd
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5_profy.bam differ
diff --git a/scales_of_balance/lib/prof_2_5/d5prof1.spl b/scales_of_balance/lib/prof_2_5/d5prof1.spl
new file mode 100755
index 0000000..772f109
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5prof1.spl differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profa.spl b/scales_of_balance/lib/prof_2_5/d5profa.spl
new file mode 100755
index 0000000..81943b3
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profa.spl differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profrx.spl b/scales_of_balance/lib/prof_2_5/d5profrx.spl
new file mode 100755
index 0000000..0a40c5f
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profrx.spl differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profw.baf b/scales_of_balance/lib/prof_2_5/d5profw.baf
new file mode 100755
index 0000000..d3f5a12
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5profw.baf
@@ -0,0 +1 @@
+
diff --git a/scales_of_balance/lib/prof_2_5/d5profw.cre b/scales_of_balance/lib/prof_2_5/d5profw.cre
new file mode 100755
index 0000000..58e1241
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profw.cre differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profw.d b/scales_of_balance/lib/prof_2_5/d5profw.d
new file mode 100755
index 0000000..91725ce
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5profw.d
@@ -0,0 +1,732 @@
+BEGIN ~D5PROFX~
+
+IF ~Global("D5_PROFX","GLOBAL",1)~ THEN BEGIN d5profx
+SAY @2091
+
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",0) ProficiencyLT(Myself,89,1)~ THEN REPLY #bastard_sword_name GOTO d5profx_189
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",1) Proficiency(Myself,89,1)~ THEN REPLY #bastard_sword_name GOTO d5profx_289
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",2) Proficiency(Myself,89,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_389
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",3) Proficiency(Myself,89,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_489
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",4) Proficiency(Myself,89,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_589
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",0) ProficiencyLT(Myself,90,1)~ THEN REPLY #long_sword_name GOTO d5profx_190
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",1) Proficiency(Myself,90,1)~ THEN REPLY #long_sword_name GOTO d5profx_290
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",2) Proficiency(Myself,90,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_390
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",3) Proficiency(Myself,90,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_490
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",4) Proficiency(Myself,90,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_590
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",0) ProficiencyLT(Myself,91,1)~ THEN REPLY #short_sword_name GOTO d5profx_191
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",1) Proficiency(Myself,91,1)~ THEN REPLY #short_sword_name GOTO d5profx_291
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",2) Proficiency(Myself,91,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_391
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",3) Proficiency(Myself,91,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_491
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",4) Proficiency(Myself,91,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_591
+IF ~GlobalGT("D5_AXE","LOCALS",0) ProficiencyLT(Myself,92,1)~ THEN REPLY #axe_name GOTO d5profx_192
+IF ~GlobalGT("D5_AXE","LOCALS",1) Proficiency(Myself,92,1)~ THEN REPLY #axe_name GOTO d5profx_292
+IF ~GlobalGT("D5_AXE","LOCALS",2) Proficiency(Myself,92,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_392
+IF ~GlobalGT("D5_AXE","LOCALS",3) Proficiency(Myself,92,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_492
+IF ~GlobalGT("D5_AXE","LOCALS",4) Proficiency(Myself,92,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_592
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",0) ProficiencyLT(Myself,93,1)~ THEN REPLY #greatsword_name GOTO d5profx_193
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",1) Proficiency(Myself,93,1)~ THEN REPLY #greatsword_name GOTO d5profx_293
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",2) Proficiency(Myself,93,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_393
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",3) Proficiency(Myself,93,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_493
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",4) Proficiency(Myself,93,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_593
+IF ~GlobalGT("D5_KATANA","LOCALS",0) ProficiencyLT(Myself,94,1)~ THEN REPLY #katana_name GOTO d5profx_194
+IF ~GlobalGT("D5_KATANA","LOCALS",1) Proficiency(Myself,94,1)~ THEN REPLY #katana_name GOTO d5profx_294
+IF ~GlobalGT("D5_KATANA","LOCALS",2) Proficiency(Myself,94,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_394
+IF ~GlobalGT("D5_KATANA","LOCALS",3) Proficiency(Myself,94,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_494
+IF ~GlobalGT("D5_KATANA","LOCALS",4) Proficiency(Myself,94,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_594
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",0) ProficiencyLT(Myself,95,1)~ THEN REPLY #scimitar_name GOTO d5profx_195
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",1) Proficiency(Myself,95,1)~ THEN REPLY #scimitar_name GOTO d5profx_295
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",2) Proficiency(Myself,95,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_395
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",3) Proficiency(Myself,95,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_495
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",4) Proficiency(Myself,95,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_595
+IF ~GlobalGT("D5_DAGGER","LOCALS",0) ProficiencyLT(Myself,96,1)~ THEN REPLY #dagger_name GOTO d5profx_196
+IF ~GlobalGT("D5_DAGGER","LOCALS",1) Proficiency(Myself,96,1)~ THEN REPLY #dagger_name GOTO d5profx_296
+IF ~GlobalGT("D5_DAGGER","LOCALS",2) Proficiency(Myself,96,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_396
+IF ~GlobalGT("D5_DAGGER","LOCALS",3) Proficiency(Myself,96,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_496
+IF ~GlobalGT("D5_DAGGER","LOCALS",4) Proficiency(Myself,96,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_596
+IF ~GlobalGT("D5_HAMMER","LOCALS",0) ProficiencyLT(Myself,97,1)~ THEN REPLY #hammer_name GOTO d5profx_197
+IF ~GlobalGT("D5_HAMMER","LOCALS",1) Proficiency(Myself,97,1)~ THEN REPLY #hammer_name GOTO d5profx_297
+IF ~GlobalGT("D5_HAMMER","LOCALS",2) Proficiency(Myself,97,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_397
+IF ~GlobalGT("D5_HAMMER","LOCALS",3) Proficiency(Myself,97,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_497
+IF ~GlobalGT("D5_HAMMER","LOCALS",4) Proficiency(Myself,97,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_597
+IF ~GlobalGT("D5_SPEAR","LOCALS",0) ProficiencyLT(Myself,98,1)~ THEN REPLY #spear_name GOTO d5profx_198
+IF ~GlobalGT("D5_SPEAR","LOCALS",1) Proficiency(Myself,98,1)~ THEN REPLY #spear_name GOTO d5profx_298
+IF ~GlobalGT("D5_SPEAR","LOCALS",2) Proficiency(Myself,98,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_398
+IF ~GlobalGT("D5_SPEAR","LOCALS",3) Proficiency(Myself,98,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_498
+IF ~GlobalGT("D5_SPEAR","LOCALS",4) Proficiency(Myself,98,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_598
+IF ~GlobalGT("D5_HALBERD","LOCALS",0) ProficiencyLT(Myself,99,1)~ THEN REPLY #halberd_name GOTO d5profx_199
+IF ~GlobalGT("D5_HALBERD","LOCALS",1) Proficiency(Myself,99,1)~ THEN REPLY #halberd_name GOTO d5profx_299
+IF ~GlobalGT("D5_HALBERD","LOCALS",2) Proficiency(Myself,99,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_399
+IF ~GlobalGT("D5_HALBERD","LOCALS",3) Proficiency(Myself,99,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_499
+IF ~GlobalGT("D5_HALBERD","LOCALS",4) Proficiency(Myself,99,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_599
+IF ~GlobalGT("D5_FLAIL","LOCALS",0) ProficiencyLT(Myself,100,1)~ THEN REPLY #flail_name GOTO d5profx_1100
+IF ~GlobalGT("D5_FLAIL","LOCALS",1) Proficiency(Myself,100,1)~ THEN REPLY #flail_name GOTO d5profx_2100
+IF ~GlobalGT("D5_FLAIL","LOCALS",2) Proficiency(Myself,100,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_3100
+IF ~GlobalGT("D5_FLAIL","LOCALS",3) Proficiency(Myself,100,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_4100
+IF ~GlobalGT("D5_FLAIL","LOCALS",4) Proficiency(Myself,100,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_5100
+IF ~GlobalGT("D5_MACE","LOCALS",0) ProficiencyLT(Myself,101,1)~ THEN REPLY #mace_name GOTO d5profx_1101
+IF ~GlobalGT("D5_MACE","LOCALS",1) Proficiency(Myself,101,1)~ THEN REPLY #mace_name GOTO d5profx_2101
+IF ~GlobalGT("D5_MACE","LOCALS",2) Proficiency(Myself,101,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_3101
+IF ~GlobalGT("D5_MACE","LOCALS",3) Proficiency(Myself,101,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_4101
+IF ~GlobalGT("D5_MACE","LOCALS",4) Proficiency(Myself,101,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_5101
+IF ~GlobalGT("D5_CLUB","LOCALS",0) ProficiencyLT(Myself,115,1)~ THEN REPLY #club_name GOTO d5profx_1115
+IF ~GlobalGT("D5_CLUB","LOCALS",1) Proficiency(Myself,115,1)~ THEN REPLY #club_name GOTO d5profx_2115
+IF ~GlobalGT("D5_CLUB","LOCALS",2) Proficiency(Myself,115,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #club_name GOTO d5profx_3115
+IF ~GlobalGT("D5_CLUB","LOCALS",3) Proficiency(Myself,115,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #club_name GOTO d5profx_4115
+IF ~GlobalGT("D5_CLUB","LOCALS",4) Proficiency(Myself,115,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #club_name GOTO d5profx_5115
+IF ~GlobalGT("D5_STAFF","LOCALS",0) ProficiencyLT(Myself,102,1)~ THEN REPLY #staff_name GOTO d5profx_1102
+IF ~GlobalGT("D5_STAFF","LOCALS",1) Proficiency(Myself,102,1)~ THEN REPLY #staff_name GOTO d5profx_2102
+IF ~GlobalGT("D5_STAFF","LOCALS",2) Proficiency(Myself,102,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_3102
+IF ~GlobalGT("D5_STAFF","LOCALS",3) Proficiency(Myself,102,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_4102
+IF ~GlobalGT("D5_STAFF","LOCALS",4) Proficiency(Myself,102,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_5102
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",0) ProficiencyLT(Myself,103,1)~ THEN REPLY #crossbow_name GOTO d5profx_1103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",1) Proficiency(Myself,103,1)~ THEN REPLY #crossbow_name GOTO d5profx_2103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",2) Proficiency(Myself,103,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_3103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",3) Proficiency(Myself,103,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_4103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",4) Proficiency(Myself,103,4)CheckStatGT(myself,8,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_5103
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",0) ProficiencyLT(Myself,104,1)~ THEN REPLY #long_bow_name GOTO d5profx_1104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",1) Proficiency(Myself,104,1)~ THEN REPLY #long_bow_name GOTO d5profx_2104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",2) Proficiency(Myself,104,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_3104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",3) Proficiency(Myself,104,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_4104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",4) Proficiency(Myself,104,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_5104
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",0) ProficiencyLT(Myself,105,1)~ THEN REPLY #short_bow_name GOTO d5profx_1105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",1) Proficiency(Myself,105,1)~ THEN REPLY #short_bow_name GOTO d5profx_2105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",2) Proficiency(Myself,105,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_3105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",3) Proficiency(Myself,105,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_4105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",4) Proficiency(Myself,105,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_5105
+IF ~GlobalGT("D5_DART","LOCALS",0) ProficiencyLT(Myself,106,1)~ THEN REPLY #dart_name GOTO d5profx_1106
+IF ~GlobalGT("D5_DART","LOCALS",1) Proficiency(Myself,106,1)~ THEN REPLY #dart_name GOTO d5profx_2106
+IF ~GlobalGT("D5_DART","LOCALS",2) Proficiency(Myself,106,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_3106
+IF ~GlobalGT("D5_DART","LOCALS",3) Proficiency(Myself,106,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_4106
+IF ~GlobalGT("D5_DART","LOCALS",4) Proficiency(Myself,106,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_5106
+IF ~GlobalGT("D5_SLING","LOCALS",0) ProficiencyLT(Myself,107,1)~ THEN REPLY #sling_name GOTO d5profx_1107
+IF ~GlobalGT("D5_SLING","LOCALS",1) Proficiency(Myself,107,1)~ THEN REPLY #sling_name GOTO d5profx_2107
+IF ~GlobalGT("D5_SLING","LOCALS",2) Proficiency(Myself,107,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_3107
+IF ~GlobalGT("D5_SLING","LOCALS",3) Proficiency(Myself,107,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_4107
+IF ~GlobalGT("D5_SLING","LOCALS",4) Proficiency(Myself,107,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_5107
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",0) ProficiencyLT(Myself,111,1)~ THEN REPLY #two_hand_name GOTO d5profx_1111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",1) Proficiency(Myself,111,1)~ THEN REPLY #two_hand_name GOTO d5profx_2111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",2) Proficiency(Myself,111,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_3111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",3) Proficiency(Myself,111,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_4111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",4) Proficiency(Myself,111,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_5111
+IF ~GlobalGT("D5_SHIELD","LOCALS",0) ProficiencyLT(Myself,112,1)~ THEN REPLY #shield_fighting_name GOTO d5profx_1112
+IF ~GlobalGT("D5_SHIELD","LOCALS",1) Proficiency(Myself,112,1)~ THEN REPLY #shield_fighting_name GOTO d5profx_2112
+IF ~GlobalGT("D5_SHIELD","LOCALS",2) Proficiency(Myself,112,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_3112
+IF ~GlobalGT("D5_SHIELD","LOCALS",3) Proficiency(Myself,112,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_4112
+IF ~GlobalGT("D5_SHIELD","LOCALS",4) Proficiency(Myself,112,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_5112
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",0) ProficiencyLT(Myself,113,1)~ THEN REPLY #single_weapon_name GOTO d5profx_1113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",1) Proficiency(Myself,113,1)~ THEN REPLY #single_weapon_name GOTO d5profx_2113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",2) Proficiency(Myself,113,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_3113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",3) Proficiency(Myself,113,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_4113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",4) Proficiency(Myself,113,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_5113
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",0) ProficiencyLT(Myself,114,1)~ THEN REPLY #two_weapon_name GOTO d5profx_1114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",1) Proficiency(Myself,114,1)~ THEN REPLY #two_weapon_name GOTO d5profx_2114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",2) Proficiency(Myself,114,2) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_3114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",3) Proficiency(Myself,114,3) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_4114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",4) Proficiency(Myself,114,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_5114
+
+END
+
+IF ~~ THEN BEGIN d5profx_189
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2101 DO ~ApplySpellRES("D51BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_190
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2102 DO ~ApplySpellRES("D51LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_191
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2103 DO ~ApplySpellRES("D51SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_192
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2104 DO ~ApplySpellRES("D51BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_193
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2105 DO ~ApplySpellRES("D512SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_194
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2106 DO ~ApplySpellRES("D51KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_195
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2107 DO ~ApplySpellRES("D51SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_196
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2108 DO ~ApplySpellRES("D51DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_197
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2109 DO ~ApplySpellRES("D51HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_198
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2110 DO ~ApplySpellRES("D51SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_199
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2111 DO ~ApplySpellRES("D51HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2112 DO ~ApplySpellRES("D51FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2113 DO ~ApplySpellRES("D51MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2114 DO ~ApplySpellRES("D51CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2115 DO ~ApplySpellRES("D51STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2116 DO ~ApplySpellRES("D51XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2117 DO ~ApplySpellRES("D51LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2118 DO ~ApplySpellRES("D51SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2119 DO ~ApplySpellRES("D51DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2120 DO ~ApplySpellRES("D51SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2121 DO ~ApplySpellRES("D51S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2122 DO ~ApplySpellRES("D51SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2123 DO ~ApplySpellRES("D51SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2124 DO ~ApplySpellRES("D51STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_289
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2201 DO ~ApplySpellRES("D52BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_290
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2202 DO ~ApplySpellRES("D52LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_291
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2203 DO ~ApplySpellRES("D52SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_292
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2204 DO ~ApplySpellRES("D52BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_293
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2205 DO ~ApplySpellRES("D522SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_294
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2206 DO ~ApplySpellRES("D52KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_295
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2207 DO ~ApplySpellRES("D52SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_296
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2208 DO ~ApplySpellRES("D52DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_297
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2209 DO ~ApplySpellRES("D52HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_298
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2210 DO ~ApplySpellRES("D52SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_299
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2211 DO ~ApplySpellRES("D52HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2212 DO ~ApplySpellRES("D52FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2213 DO ~ApplySpellRES("D52MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2214 DO ~ApplySpellRES("D52CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2215 DO ~ApplySpellRES("D52STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2216 DO ~ApplySpellRES("D52XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2217 DO ~ApplySpellRES("D52LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2218 DO ~ApplySpellRES("D52SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2219 DO ~ApplySpellRES("D52DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2220 DO ~ApplySpellRES("D52SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2221 DO ~ApplySpellRES("D52S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2222 DO ~ApplySpellRES("D52SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2223 DO ~ApplySpellRES("D52SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2224 DO ~ApplySpellRES("D52STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_389
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2301 DO ~ApplySpellRES("D53BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_390
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2302 DO ~ApplySpellRES("D53LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_391
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2303 DO ~ApplySpellRES("D53SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_392
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2304 DO ~ApplySpellRES("D53BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_393
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2305 DO ~ApplySpellRES("D532SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_394
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2306 DO ~ApplySpellRES("D53KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_395
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2307 DO ~ApplySpellRES("D53SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_396
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2308 DO ~ApplySpellRES("D53DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_397
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2309 DO ~ApplySpellRES("D53HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_398
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2310 DO ~ApplySpellRES("D53SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_399
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2311 DO ~ApplySpellRES("D53HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2312 DO ~ApplySpellRES("D53FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2313 DO ~ApplySpellRES("D53MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2314 DO ~ApplySpellRES("D53CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2315 DO ~ApplySpellRES("D53STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2316 DO ~ApplySpellRES("D53XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2317 DO ~ApplySpellRES("D53LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2318 DO ~ApplySpellRES("D53SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2319 DO ~ApplySpellRES("D53DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2320 DO ~ApplySpellRES("D53SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2321 DO ~ApplySpellRES("D53S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2322 DO ~ApplySpellRES("D53SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2323 DO ~ApplySpellRES("D53SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2324 DO ~ApplySpellRES("D53STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_489
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2401 DO ~ApplySpellRES("D54BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_490
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2402 DO ~ApplySpellRES("D54LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_491
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2403 DO ~ApplySpellRES("D54SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_492
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2404 DO ~ApplySpellRES("D54BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_493
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2405 DO ~ApplySpellRES("D542SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_494
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2406 DO ~ApplySpellRES("D54KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_495
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2407 DO ~ApplySpellRES("D54SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_496
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2408 DO ~ApplySpellRES("D54DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_497
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2409 DO ~ApplySpellRES("D54HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_498
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2410 DO ~ApplySpellRES("D54SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_499
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2411 DO ~ApplySpellRES("D54HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2412 DO ~ApplySpellRES("D54FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2413 DO ~ApplySpellRES("D54MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2414 DO ~ApplySpellRES("D54CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2415 DO ~ApplySpellRES("D54STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2416 DO ~ApplySpellRES("D54XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2417 DO ~ApplySpellRES("D54LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2418 DO ~ApplySpellRES("D54SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2419 DO ~ApplySpellRES("D54DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2420 DO ~ApplySpellRES("D54SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2421 DO ~ApplySpellRES("D54S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2422 DO ~ApplySpellRES("D54SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2423 DO ~ApplySpellRES("D54SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2424 DO ~ApplySpellRES("D54STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_589
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2501 DO ~ApplySpellRES("D55BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_590
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2502 DO ~ApplySpellRES("D55LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_591
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2503 DO ~ApplySpellRES("D55SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_592
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2504 DO ~ApplySpellRES("D55BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_593
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2505 DO ~ApplySpellRES("D552SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_594
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2506 DO ~ApplySpellRES("D55KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_595
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2507 DO ~ApplySpellRES("D55SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_596
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2508 DO ~ApplySpellRES("D55DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_597
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2509 DO ~ApplySpellRES("D55HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_598
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2510 DO ~ApplySpellRES("D55SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_599
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2511 DO ~ApplySpellRES("D55HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2512 DO ~ApplySpellRES("D55FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2513 DO ~ApplySpellRES("D55MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2514 DO ~ApplySpellRES("D55CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2515 DO ~ApplySpellRES("D55STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2516 DO ~ApplySpellRES("D55XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2517 DO ~ApplySpellRES("D55LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2518 DO ~ApplySpellRES("D55SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2519 DO ~ApplySpellRES("D55DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2520 DO ~ApplySpellRES("D55SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2521 DO ~ApplySpellRES("D55S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2522 DO ~ApplySpellRES("D55SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2523 DO ~ApplySpellRES("D55SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2524 DO ~ApplySpellRES("D55STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
diff --git a/scales_of_balance/lib/prof_2_5/d5profwx.spl b/scales_of_balance/lib/prof_2_5/d5profwx.spl
new file mode 100755
index 0000000..ae945cf
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profwx.spl differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profx.baf b/scales_of_balance/lib/prof_2_5/d5profx.baf
new file mode 100755
index 0000000..d3f5a12
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5profx.baf
@@ -0,0 +1 @@
+
diff --git a/scales_of_balance/lib/prof_2_5/d5profx.cre b/scales_of_balance/lib/prof_2_5/d5profx.cre
new file mode 100755
index 0000000..e4e57f6
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profx.cre differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profx.d b/scales_of_balance/lib/prof_2_5/d5profx.d
new file mode 100755
index 0000000..1418932
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5profx.d
@@ -0,0 +1,732 @@
+BEGIN ~D5PROFX~
+
+IF ~Global("D5_PROFX","GLOBAL",1)~ THEN BEGIN d5profx
+SAY @2091
+
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",0) ProficiencyLT(Myself,89,1)~ THEN REPLY #bastard_sword_name GOTO d5profx_189
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",1) Proficiency(Myself,89,1)~ THEN REPLY #bastard_sword_name GOTO d5profx_289
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",2) Proficiency(Myself,89,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_389
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",3) Proficiency(Myself,89,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_489
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",4) Proficiency(Myself,89,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_589
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",0) ProficiencyLT(Myself,90,1)~ THEN REPLY #long_sword_name GOTO d5profx_190
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",1) Proficiency(Myself,90,1)~ THEN REPLY #long_sword_name GOTO d5profx_290
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",2) Proficiency(Myself,90,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_390
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",3) Proficiency(Myself,90,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_490
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",4) Proficiency(Myself,90,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_590
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",0) ProficiencyLT(Myself,91,1)~ THEN REPLY #short_sword_name GOTO d5profx_191
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",1) Proficiency(Myself,91,1)~ THEN REPLY #short_sword_name GOTO d5profx_291
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",2) Proficiency(Myself,91,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_391
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",3) Proficiency(Myself,91,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_491
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",4) Proficiency(Myself,91,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_591
+IF ~GlobalGT("D5_AXE","LOCALS",0) ProficiencyLT(Myself,92,1)~ THEN REPLY #axe_name GOTO d5profx_192
+IF ~GlobalGT("D5_AXE","LOCALS",1) Proficiency(Myself,92,1)~ THEN REPLY #axe_name GOTO d5profx_292
+IF ~GlobalGT("D5_AXE","LOCALS",2) Proficiency(Myself,92,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_392
+IF ~GlobalGT("D5_AXE","LOCALS",3) Proficiency(Myself,92,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_492
+IF ~GlobalGT("D5_AXE","LOCALS",4) Proficiency(Myself,92,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_592
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",0) ProficiencyLT(Myself,93,1)~ THEN REPLY #greatsword_name GOTO d5profx_193
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",1) Proficiency(Myself,93,1)~ THEN REPLY #greatsword_name GOTO d5profx_293
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",2) Proficiency(Myself,93,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_393
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",3) Proficiency(Myself,93,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_493
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",4) Proficiency(Myself,93,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_593
+IF ~GlobalGT("D5_KATANA","LOCALS",0) ProficiencyLT(Myself,94,1)~ THEN REPLY #katana_name GOTO d5profx_194
+IF ~GlobalGT("D5_KATANA","LOCALS",1) Proficiency(Myself,94,1)~ THEN REPLY #katana_name GOTO d5profx_294
+IF ~GlobalGT("D5_KATANA","LOCALS",2) Proficiency(Myself,94,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_394
+IF ~GlobalGT("D5_KATANA","LOCALS",3) Proficiency(Myself,94,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_494
+IF ~GlobalGT("D5_KATANA","LOCALS",4) Proficiency(Myself,94,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_594
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",0) ProficiencyLT(Myself,95,1)~ THEN REPLY #scimitar_name GOTO d5profx_195
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",1) Proficiency(Myself,95,1)~ THEN REPLY #scimitar_name GOTO d5profx_295
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",2) Proficiency(Myself,95,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_395
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",3) Proficiency(Myself,95,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_495
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",4) Proficiency(Myself,95,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_595
+IF ~GlobalGT("D5_DAGGER","LOCALS",0) ProficiencyLT(Myself,96,1)~ THEN REPLY #dagger_name GOTO d5profx_196
+IF ~GlobalGT("D5_DAGGER","LOCALS",1) Proficiency(Myself,96,1)~ THEN REPLY #dagger_name GOTO d5profx_296
+IF ~GlobalGT("D5_DAGGER","LOCALS",2) Proficiency(Myself,96,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_396
+IF ~GlobalGT("D5_DAGGER","LOCALS",3) Proficiency(Myself,96,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_496
+IF ~GlobalGT("D5_DAGGER","LOCALS",4) Proficiency(Myself,96,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_596
+IF ~GlobalGT("D5_HAMMER","LOCALS",0) ProficiencyLT(Myself,97,1)~ THEN REPLY #hammer_name GOTO d5profx_197
+IF ~GlobalGT("D5_HAMMER","LOCALS",1) Proficiency(Myself,97,1)~ THEN REPLY #hammer_name GOTO d5profx_297
+IF ~GlobalGT("D5_HAMMER","LOCALS",2) Proficiency(Myself,97,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_397
+IF ~GlobalGT("D5_HAMMER","LOCALS",3) Proficiency(Myself,97,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_497
+IF ~GlobalGT("D5_HAMMER","LOCALS",4) Proficiency(Myself,97,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_597
+IF ~GlobalGT("D5_SPEAR","LOCALS",0) ProficiencyLT(Myself,98,1)~ THEN REPLY #spear_name GOTO d5profx_198
+IF ~GlobalGT("D5_SPEAR","LOCALS",1) Proficiency(Myself,98,1)~ THEN REPLY #spear_name GOTO d5profx_298
+IF ~GlobalGT("D5_SPEAR","LOCALS",2) Proficiency(Myself,98,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_398
+IF ~GlobalGT("D5_SPEAR","LOCALS",3) Proficiency(Myself,98,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_498
+IF ~GlobalGT("D5_SPEAR","LOCALS",4) Proficiency(Myself,98,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_598
+IF ~GlobalGT("D5_HALBERD","LOCALS",0) ProficiencyLT(Myself,99,1)~ THEN REPLY #halberd_name GOTO d5profx_199
+IF ~GlobalGT("D5_HALBERD","LOCALS",1) Proficiency(Myself,99,1)~ THEN REPLY #halberd_name GOTO d5profx_299
+IF ~GlobalGT("D5_HALBERD","LOCALS",2) Proficiency(Myself,99,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_399
+IF ~GlobalGT("D5_HALBERD","LOCALS",3) Proficiency(Myself,99,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_499
+IF ~GlobalGT("D5_HALBERD","LOCALS",4) Proficiency(Myself,99,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_599
+IF ~GlobalGT("D5_FLAIL","LOCALS",0) ProficiencyLT(Myself,100,1)~ THEN REPLY #flail_name GOTO d5profx_1100
+IF ~GlobalGT("D5_FLAIL","LOCALS",1) Proficiency(Myself,100,1)~ THEN REPLY #flail_name GOTO d5profx_2100
+IF ~GlobalGT("D5_FLAIL","LOCALS",2) Proficiency(Myself,100,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_3100
+IF ~GlobalGT("D5_FLAIL","LOCALS",3) Proficiency(Myself,100,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_4100
+IF ~GlobalGT("D5_FLAIL","LOCALS",4) Proficiency(Myself,100,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_5100
+IF ~GlobalGT("D5_MACE","LOCALS",0) ProficiencyLT(Myself,101,1)~ THEN REPLY #mace_name GOTO d5profx_1101
+IF ~GlobalGT("D5_MACE","LOCALS",1) Proficiency(Myself,101,1)~ THEN REPLY #mace_name GOTO d5profx_2101
+IF ~GlobalGT("D5_MACE","LOCALS",2) Proficiency(Myself,101,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_3101
+IF ~GlobalGT("D5_MACE","LOCALS",3) Proficiency(Myself,101,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_4101
+IF ~GlobalGT("D5_MACE","LOCALS",4) Proficiency(Myself,101,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_5101
+IF ~GlobalGT("D5_CLUB","LOCALS",0) ProficiencyLT(Myself,115,1)~ THEN REPLY #club_name GOTO d5profx_1115
+IF ~GlobalGT("D5_CLUB","LOCALS",1) Proficiency(Myself,115,1)~ THEN REPLY #club_name GOTO d5profx_2115
+IF ~GlobalGT("D5_CLUB","LOCALS",2) Proficiency(Myself,115,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #club_name GOTO d5profx_3115
+IF ~GlobalGT("D5_CLUB","LOCALS",3) Proficiency(Myself,115,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #club_name GOTO d5profx_4115
+IF ~GlobalGT("D5_CLUB","LOCALS",4) Proficiency(Myself,115,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #club_name GOTO d5profx_5115
+IF ~GlobalGT("D5_STAFF","LOCALS",0) ProficiencyLT(Myself,102,1)~ THEN REPLY #staff_name GOTO d5profx_1102
+IF ~GlobalGT("D5_STAFF","LOCALS",1) Proficiency(Myself,102,1)~ THEN REPLY #staff_name GOTO d5profx_2102
+IF ~GlobalGT("D5_STAFF","LOCALS",2) Proficiency(Myself,102,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_3102
+IF ~GlobalGT("D5_STAFF","LOCALS",3) Proficiency(Myself,102,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_4102
+IF ~GlobalGT("D5_STAFF","LOCALS",4) Proficiency(Myself,102,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_5102
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",0) ProficiencyLT(Myself,103,1)~ THEN REPLY #crossbow_name GOTO d5profx_1103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",1) Proficiency(Myself,103,1)~ THEN REPLY #crossbow_name GOTO d5profx_2103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",2) Proficiency(Myself,103,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_3103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",3) Proficiency(Myself,103,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_4103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",4) Proficiency(Myself,103,4)CheckStatGT(myself,8,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_5103
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",0) ProficiencyLT(Myself,104,1)~ THEN REPLY #long_bow_name GOTO d5profx_1104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",1) Proficiency(Myself,104,1)~ THEN REPLY #long_bow_name GOTO d5profx_2104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",2) Proficiency(Myself,104,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_3104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",3) Proficiency(Myself,104,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_4104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",4) Proficiency(Myself,104,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_5104
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",0) ProficiencyLT(Myself,105,1)~ THEN REPLY #short_bow_name GOTO d5profx_1105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",1) Proficiency(Myself,105,1)~ THEN REPLY #short_bow_name GOTO d5profx_2105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",2) Proficiency(Myself,105,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_3105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",3) Proficiency(Myself,105,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_4105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",4) Proficiency(Myself,105,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_5105
+IF ~GlobalGT("D5_DART","LOCALS",0) ProficiencyLT(Myself,106,1)~ THEN REPLY #dart_name GOTO d5profx_1106
+IF ~GlobalGT("D5_DART","LOCALS",1) Proficiency(Myself,106,1)~ THEN REPLY #dart_name GOTO d5profx_2106
+IF ~GlobalGT("D5_DART","LOCALS",2) Proficiency(Myself,106,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_3106
+IF ~GlobalGT("D5_DART","LOCALS",3) Proficiency(Myself,106,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_4106
+IF ~GlobalGT("D5_DART","LOCALS",4) Proficiency(Myself,106,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_5106
+IF ~GlobalGT("D5_SLING","LOCALS",0) ProficiencyLT(Myself,107,1)~ THEN REPLY #sling_name GOTO d5profx_1107
+IF ~GlobalGT("D5_SLING","LOCALS",1) Proficiency(Myself,107,1)~ THEN REPLY #sling_name GOTO d5profx_2107
+IF ~GlobalGT("D5_SLING","LOCALS",2) Proficiency(Myself,107,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_3107
+IF ~GlobalGT("D5_SLING","LOCALS",3) Proficiency(Myself,107,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_4107
+IF ~GlobalGT("D5_SLING","LOCALS",4) Proficiency(Myself,107,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_5107
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",0) ProficiencyLT(Myself,111,1)~ THEN REPLY #two_hand_name GOTO d5profx_1111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",1) Proficiency(Myself,111,1)~ THEN REPLY #two_hand_name GOTO d5profx_2111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",2) Proficiency(Myself,111,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_3111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",3) Proficiency(Myself,111,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_4111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",4) Proficiency(Myself,111,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_5111
+IF ~GlobalGT("D5_SHIELD","LOCALS",0) ProficiencyLT(Myself,112,1)~ THEN REPLY #shield_fighting_name GOTO d5profx_1112
+IF ~GlobalGT("D5_SHIELD","LOCALS",1) Proficiency(Myself,112,1)~ THEN REPLY #shield_fighting_name GOTO d5profx_2112
+IF ~GlobalGT("D5_SHIELD","LOCALS",2) Proficiency(Myself,112,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_3112
+IF ~GlobalGT("D5_SHIELD","LOCALS",3) Proficiency(Myself,112,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_4112
+IF ~GlobalGT("D5_SHIELD","LOCALS",4) Proficiency(Myself,112,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_5112
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",0) ProficiencyLT(Myself,113,1)~ THEN REPLY #single_weapon_name GOTO d5profx_1113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",1) Proficiency(Myself,113,1)~ THEN REPLY #single_weapon_name GOTO d5profx_2113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",2) Proficiency(Myself,113,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_3113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",3) Proficiency(Myself,113,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_4113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",4) Proficiency(Myself,113,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_5113
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",0) ProficiencyLT(Myself,114,1)~ THEN REPLY #two_weapon_name GOTO d5profx_1114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",1) Proficiency(Myself,114,1)~ THEN REPLY #two_weapon_name GOTO d5profx_2114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",2) Proficiency(Myself,114,2) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_3114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",3) Proficiency(Myself,114,3) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_4114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",4) Proficiency(Myself,114,4) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_5114
+
+END
+
+IF ~~ THEN BEGIN d5profx_189
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2101 DO ~ApplySpellRES("D51BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_190
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2102 DO ~ApplySpellRES("D51LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_191
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2103 DO ~ApplySpellRES("D51SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_192
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2104 DO ~ApplySpellRES("D51BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_193
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2105 DO ~ApplySpellRES("D512SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_194
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2106 DO ~ApplySpellRES("D51KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_195
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2107 DO ~ApplySpellRES("D51SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_196
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2108 DO ~ApplySpellRES("D51DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_197
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2109 DO ~ApplySpellRES("D51HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_198
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2110 DO ~ApplySpellRES("D51SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_199
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2111 DO ~ApplySpellRES("D51HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2112 DO ~ApplySpellRES("D51FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2113 DO ~ApplySpellRES("D51MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2114 DO ~ApplySpellRES("D51CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2115 DO ~ApplySpellRES("D51STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2116 DO ~ApplySpellRES("D51XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2117 DO ~ApplySpellRES("D51LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2118 DO ~ApplySpellRES("D51SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2119 DO ~ApplySpellRES("D51DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2120 DO ~ApplySpellRES("D51SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2121 DO ~ApplySpellRES("D51S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2122 DO ~ApplySpellRES("D51SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2123 DO ~ApplySpellRES("D51SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2124 DO ~ApplySpellRES("D51STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_289
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2201 DO ~ApplySpellRES("D52BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_290
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2202 DO ~ApplySpellRES("D52LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_291
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2203 DO ~ApplySpellRES("D52SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_292
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2204 DO ~ApplySpellRES("D52BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_293
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2205 DO ~ApplySpellRES("D522SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_294
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2206 DO ~ApplySpellRES("D52KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_295
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2207 DO ~ApplySpellRES("D52SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_296
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2208 DO ~ApplySpellRES("D52DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_297
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2209 DO ~ApplySpellRES("D52HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_298
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2210 DO ~ApplySpellRES("D52SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_299
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2211 DO ~ApplySpellRES("D52HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2212 DO ~ApplySpellRES("D52FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2213 DO ~ApplySpellRES("D52MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2214 DO ~ApplySpellRES("D52CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2215 DO ~ApplySpellRES("D52STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2216 DO ~ApplySpellRES("D52XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2217 DO ~ApplySpellRES("D52LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2218 DO ~ApplySpellRES("D52SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2219 DO ~ApplySpellRES("D52DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2220 DO ~ApplySpellRES("D52SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2221 DO ~ApplySpellRES("D52S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2222 DO ~ApplySpellRES("D52SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2223 DO ~ApplySpellRES("D52SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2224 DO ~ApplySpellRES("D52STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_389
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2301 DO ~ApplySpellRES("D53BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_390
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2302 DO ~ApplySpellRES("D53LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_391
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2303 DO ~ApplySpellRES("D53SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_392
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2304 DO ~ApplySpellRES("D53BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_393
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2305 DO ~ApplySpellRES("D532SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_394
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2306 DO ~ApplySpellRES("D53KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_395
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2307 DO ~ApplySpellRES("D53SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_396
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2308 DO ~ApplySpellRES("D53DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_397
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2309 DO ~ApplySpellRES("D53HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_398
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2310 DO ~ApplySpellRES("D53SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_399
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2311 DO ~ApplySpellRES("D53HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2312 DO ~ApplySpellRES("D53FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2313 DO ~ApplySpellRES("D53MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2314 DO ~ApplySpellRES("D53CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2315 DO ~ApplySpellRES("D53STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2316 DO ~ApplySpellRES("D53XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2317 DO ~ApplySpellRES("D53LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2318 DO ~ApplySpellRES("D53SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2319 DO ~ApplySpellRES("D53DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2320 DO ~ApplySpellRES("D53SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2321 DO ~ApplySpellRES("D53S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2322 DO ~ApplySpellRES("D53SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2323 DO ~ApplySpellRES("D53SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2324 DO ~ApplySpellRES("D53STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_489
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2401 DO ~ApplySpellRES("D54BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_490
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2402 DO ~ApplySpellRES("D54LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_491
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2403 DO ~ApplySpellRES("D54SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_492
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2404 DO ~ApplySpellRES("D54BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_493
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2405 DO ~ApplySpellRES("D542SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_494
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2406 DO ~ApplySpellRES("D54KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_495
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2407 DO ~ApplySpellRES("D54SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_496
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2408 DO ~ApplySpellRES("D54DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_497
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2409 DO ~ApplySpellRES("D54HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_498
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2410 DO ~ApplySpellRES("D54SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_499
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2411 DO ~ApplySpellRES("D54HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2412 DO ~ApplySpellRES("D54FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2413 DO ~ApplySpellRES("D54MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2414 DO ~ApplySpellRES("D54CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2415 DO ~ApplySpellRES("D54STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2416 DO ~ApplySpellRES("D54XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2417 DO ~ApplySpellRES("D54LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2418 DO ~ApplySpellRES("D54SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2419 DO ~ApplySpellRES("D54DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2420 DO ~ApplySpellRES("D54SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2421 DO ~ApplySpellRES("D54S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2422 DO ~ApplySpellRES("D54SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2423 DO ~ApplySpellRES("D54SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2424 DO ~ApplySpellRES("D54STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_589
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2501 DO ~ApplySpellRES("D55BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_590
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2502 DO ~ApplySpellRES("D55LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_591
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2503 DO ~ApplySpellRES("D55SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_592
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2504 DO ~ApplySpellRES("D55BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_593
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2505 DO ~ApplySpellRES("D552SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_594
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2506 DO ~ApplySpellRES("D55KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_595
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2507 DO ~ApplySpellRES("D55SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_596
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2508 DO ~ApplySpellRES("D55DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_597
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2509 DO ~ApplySpellRES("D55HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_598
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2510 DO ~ApplySpellRES("D55SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_599
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2511 DO ~ApplySpellRES("D55HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2512 DO ~ApplySpellRES("D55FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2513 DO ~ApplySpellRES("D55MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2514 DO ~ApplySpellRES("D55CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2515 DO ~ApplySpellRES("D55STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2516 DO ~ApplySpellRES("D55XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2517 DO ~ApplySpellRES("D55LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2518 DO ~ApplySpellRES("D55SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2519 DO ~ApplySpellRES("D55DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2520 DO ~ApplySpellRES("D55SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2521 DO ~ApplySpellRES("D55S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2522 DO ~ApplySpellRES("D55SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2523 DO ~ApplySpellRES("D55SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2524 DO ~ApplySpellRES("D55STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
diff --git a/scales_of_balance/lib/prof_2_5/d5profx.eff b/scales_of_balance/lib/prof_2_5/d5profx.eff
new file mode 100755
index 0000000..fabdbcc
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profx.eff differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profxa.spl b/scales_of_balance/lib/prof_2_5/d5profxa.spl
new file mode 100755
index 0000000..42ee564
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profxa.spl differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profy.baf b/scales_of_balance/lib/prof_2_5/d5profy.baf
new file mode 100755
index 0000000..d3f5a12
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5profy.baf
@@ -0,0 +1 @@
+
diff --git a/scales_of_balance/lib/prof_2_5/d5profy.cre b/scales_of_balance/lib/prof_2_5/d5profy.cre
new file mode 100755
index 0000000..0b7fc2c
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profy.cre differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profy.d b/scales_of_balance/lib/prof_2_5/d5profy.d
new file mode 100755
index 0000000..b470156
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5profy.d
@@ -0,0 +1,152 @@
+BEGIN ~D5PROFY~
+
+IF ~Global("D5_PROFY","GLOBAL",1)~ THEN BEGIN d5profy
+SAY @2091
+
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",0) ProficiencyLT(Myself,89,1)~ THEN REPLY #bastard_sword_name GOTO d5profy_189
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",0) ProficiencyLT(Myself,90,1)~ THEN REPLY #long_sword_name GOTO d5profy_190
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",0) ProficiencyLT(Myself,91,1)~ THEN REPLY #short_sword_name GOTO d5profy_191
+IF ~GlobalGT("D5_AXE","LOCALS",0) ProficiencyLT(Myself,92,1)~ THEN REPLY #axe_name GOTO d5profy_192
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",0) ProficiencyLT(Myself,93,1)~ THEN REPLY #greatsword_name GOTO d5profy_193
+IF ~GlobalGT("D5_KATANA","LOCALS",0) ProficiencyLT(Myself,94,1)~ THEN REPLY #katana_name GOTO d5profy_194
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",0) ProficiencyLT(Myself,95,1)~ THEN REPLY #scimitar_name GOTO d5profy_195
+IF ~GlobalGT("D5_DAGGER","LOCALS",0) ProficiencyLT(Myself,96,1)~ THEN REPLY #dagger_name GOTO d5profy_196
+IF ~GlobalGT("D5_HAMMER","LOCALS",0) ProficiencyLT(Myself,97,1)~ THEN REPLY #hammer_name GOTO d5profy_197
+IF ~GlobalGT("D5_SPEAR","LOCALS",0) ProficiencyLT(Myself,98,1)~ THEN REPLY #spear_name GOTO d5profy_198
+IF ~GlobalGT("D5_HALBERD","LOCALS",0) ProficiencyLT(Myself,99,1)~ THEN REPLY #halberd_name GOTO d5profy_199
+IF ~GlobalGT("D5_FLAIL","LOCALS",0) ProficiencyLT(Myself,100,1)~ THEN REPLY #flail_name GOTO d5profy_1100
+IF ~GlobalGT("D5_MACE","LOCALS",0) ProficiencyLT(Myself,101,1)~ THEN REPLY #mace_name GOTO d5profy_1101
+IF ~GlobalGT("D5_CLUB","LOCALS",0) ProficiencyLT(Myself,115,1)~ THEN REPLY #club_name GOTO d5profy_1115
+IF ~GlobalGT("D5_STAFF","LOCALS",0) ProficiencyLT(Myself,102,1)~ THEN REPLY #staff_name GOTO d5profy_1102
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",0) ProficiencyLT(Myself,103,1)~ THEN REPLY #crossbow_name GOTO d5profy_1103
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",0) ProficiencyLT(Myself,104,1)~ THEN REPLY #long_bow_name GOTO d5profy_1104
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",0) ProficiencyLT(Myself,105,1)~ THEN REPLY #short_bow_name GOTO d5profy_1105
+IF ~GlobalGT("D5_DART","LOCALS",0) ProficiencyLT(Myself,106,1)~ THEN REPLY #dart_name GOTO d5profy_1106
+IF ~GlobalGT("D5_SLING","LOCALS",0) ProficiencyLT(Myself,107,1)~ THEN REPLY #sling_name GOTO d5profy_1107
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",0) ProficiencyLT(Myself,111,1)~ THEN REPLY #two_hand_name GOTO d5profy_1111
+IF ~GlobalGT("D5_SHIELD","LOCALS",0) ProficiencyLT(Myself,112,1)~ THEN REPLY #shield_fighting_name GOTO d5profy_1112
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",0) ProficiencyLT(Myself,113,1)~ THEN REPLY #single_weapon_name GOTO d5profy_1113
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",0) ProficiencyLT(Myself,114,1)~ THEN REPLY #two_weapon_name GOTO d5profy_1114
+
+END
+
+IF ~~ THEN BEGIN d5profy_189
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2101 DO ~ApplySpellRES("D51BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_190
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2102 DO ~ApplySpellRES("D51LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_191
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2103 DO ~ApplySpellRES("D51SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_192
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2104 DO ~ApplySpellRES("D51BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_193
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2105 DO ~ApplySpellRES("D512SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_194
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2106 DO ~ApplySpellRES("D51KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_195
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2107 DO ~ApplySpellRES("D51SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_196
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2108 DO ~ApplySpellRES("D51DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_197
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2109 DO ~ApplySpellRES("D51HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_198
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2110 DO ~ApplySpellRES("D51SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_199
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2111 DO ~ApplySpellRES("D51HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2112 DO ~ApplySpellRES("D51FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2113 DO ~ApplySpellRES("D51MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2114 DO ~ApplySpellRES("D51CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2115 DO ~ApplySpellRES("D51STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2116 DO ~ApplySpellRES("D51XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2117 DO ~ApplySpellRES("D51LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2118 DO ~ApplySpellRES("D51SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2119 DO ~ApplySpellRES("D51DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2120 DO ~ApplySpellRES("D51SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2121 DO ~ApplySpellRES("D51S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2122 DO ~ApplySpellRES("D51SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2123 DO ~ApplySpellRES("D51SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2124 DO ~ApplySpellRES("D51STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
diff --git a/scales_of_balance/lib/prof_2_5/d5profy.eff b/scales_of_balance/lib/prof_2_5/d5profy.eff
new file mode 100755
index 0000000..2d9b526
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profy.eff differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profz.baf b/scales_of_balance/lib/prof_2_5/d5profz.baf
new file mode 100755
index 0000000..d3f5a12
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5profz.baf
@@ -0,0 +1 @@
+
diff --git a/scales_of_balance/lib/prof_2_5/d5profz.cre b/scales_of_balance/lib/prof_2_5/d5profz.cre
new file mode 100755
index 0000000..f7dec1a
Binary files /dev/null and b/scales_of_balance/lib/prof_2_5/d5profz.cre differ
diff --git a/scales_of_balance/lib/prof_2_5/d5profz.d b/scales_of_balance/lib/prof_2_5/d5profz.d
new file mode 100755
index 0000000..57249ea
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/d5profz.d
@@ -0,0 +1,732 @@
+BEGIN ~D5PROFX~
+
+IF ~Global("D5_PROFX","GLOBAL",1)~ THEN BEGIN d5profx
+SAY @2091
+
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",0) ProficiencyLT(Myself,89,1)~ THEN REPLY #bastard_sword_name GOTO d5profx_189
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",1) Proficiency(Myself,89,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_289
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",2) Proficiency(Myself,89,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_389
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",3) Proficiency(Myself,89,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_489
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",4) Proficiency(Myself,89,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_589
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",0) ProficiencyLT(Myself,90,1)~ THEN REPLY #long_sword_name GOTO d5profx_190
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",1) Proficiency(Myself,90,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_290
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",2) Proficiency(Myself,90,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_390
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",3) Proficiency(Myself,90,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_490
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",4) Proficiency(Myself,90,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_590
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",0) ProficiencyLT(Myself,91,1)~ THEN REPLY #short_sword_name GOTO d5profx_191
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",1) Proficiency(Myself,91,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_291
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",2) Proficiency(Myself,91,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_391
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",3) Proficiency(Myself,91,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_491
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",4) Proficiency(Myself,91,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_591
+IF ~GlobalGT("D5_AXE","LOCALS",0) ProficiencyLT(Myself,92,1)~ THEN REPLY #axe_name GOTO d5profx_192
+IF ~GlobalGT("D5_AXE","LOCALS",1) Proficiency(Myself,92,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_292
+IF ~GlobalGT("D5_AXE","LOCALS",2) Proficiency(Myself,92,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_392
+IF ~GlobalGT("D5_AXE","LOCALS",3) Proficiency(Myself,92,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_492
+IF ~GlobalGT("D5_AXE","LOCALS",4) Proficiency(Myself,92,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_592
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",0) ProficiencyLT(Myself,93,1)~ THEN REPLY #greatsword_name GOTO d5profx_193
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",1) Proficiency(Myself,93,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_293
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",2) Proficiency(Myself,93,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_393
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",3) Proficiency(Myself,93,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_493
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",4) Proficiency(Myself,93,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_593
+IF ~GlobalGT("D5_KATANA","LOCALS",0) ProficiencyLT(Myself,94,1)~ THEN REPLY #katana_name GOTO d5profx_194
+IF ~GlobalGT("D5_KATANA","LOCALS",1) Proficiency(Myself,94,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_294
+IF ~GlobalGT("D5_KATANA","LOCALS",2) Proficiency(Myself,94,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_394
+IF ~GlobalGT("D5_KATANA","LOCALS",3) Proficiency(Myself,94,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_494
+IF ~GlobalGT("D5_KATANA","LOCALS",4) Proficiency(Myself,94,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_594
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",0) ProficiencyLT(Myself,95,1)~ THEN REPLY #scimitar_name GOTO d5profx_195
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",1) Proficiency(Myself,95,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_295
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",2) Proficiency(Myself,95,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_395
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",3) Proficiency(Myself,95,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_495
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",4) Proficiency(Myself,95,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_595
+IF ~GlobalGT("D5_DAGGER","LOCALS",0) ProficiencyLT(Myself,96,1)~ THEN REPLY #dagger_name GOTO d5profx_196
+IF ~GlobalGT("D5_DAGGER","LOCALS",1) Proficiency(Myself,96,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_296
+IF ~GlobalGT("D5_DAGGER","LOCALS",2) Proficiency(Myself,96,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_396
+IF ~GlobalGT("D5_DAGGER","LOCALS",3) Proficiency(Myself,96,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_496
+IF ~GlobalGT("D5_DAGGER","LOCALS",4) Proficiency(Myself,96,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_596
+IF ~GlobalGT("D5_HAMMER","LOCALS",0) ProficiencyLT(Myself,97,1)~ THEN REPLY #hammer_name GOTO d5profx_197
+IF ~GlobalGT("D5_HAMMER","LOCALS",1) Proficiency(Myself,97,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_297
+IF ~GlobalGT("D5_HAMMER","LOCALS",2) Proficiency(Myself,97,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_397
+IF ~GlobalGT("D5_HAMMER","LOCALS",3) Proficiency(Myself,97,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_497
+IF ~GlobalGT("D5_HAMMER","LOCALS",4) Proficiency(Myself,97,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_597
+IF ~GlobalGT("D5_SPEAR","LOCALS",0) ProficiencyLT(Myself,98,1)~ THEN REPLY #spear_name GOTO d5profx_198
+IF ~GlobalGT("D5_SPEAR","LOCALS",1) Proficiency(Myself,98,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_298
+IF ~GlobalGT("D5_SPEAR","LOCALS",2) Proficiency(Myself,98,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_398
+IF ~GlobalGT("D5_SPEAR","LOCALS",3) Proficiency(Myself,98,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_498
+IF ~GlobalGT("D5_SPEAR","LOCALS",4) Proficiency(Myself,98,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_598
+IF ~GlobalGT("D5_HALBERD","LOCALS",0) ProficiencyLT(Myself,99,1)~ THEN REPLY #halberd_name GOTO d5profx_199
+IF ~GlobalGT("D5_HALBERD","LOCALS",1) Proficiency(Myself,99,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_299
+IF ~GlobalGT("D5_HALBERD","LOCALS",2) Proficiency(Myself,99,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_399
+IF ~GlobalGT("D5_HALBERD","LOCALS",3) Proficiency(Myself,99,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_499
+IF ~GlobalGT("D5_HALBERD","LOCALS",4) Proficiency(Myself,99,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_599
+IF ~GlobalGT("D5_FLAIL","LOCALS",0) ProficiencyLT(Myself,100,1)~ THEN REPLY #flail_name GOTO d5profx_1100
+IF ~GlobalGT("D5_FLAIL","LOCALS",1) Proficiency(Myself,100,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_2100
+IF ~GlobalGT("D5_FLAIL","LOCALS",2) Proficiency(Myself,100,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_3100
+IF ~GlobalGT("D5_FLAIL","LOCALS",3) Proficiency(Myself,100,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_4100
+IF ~GlobalGT("D5_FLAIL","LOCALS",4) Proficiency(Myself,100,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_5100
+IF ~GlobalGT("D5_MACE","LOCALS",0) ProficiencyLT(Myself,101,1)~ THEN REPLY #mace_name GOTO d5profx_1101
+IF ~GlobalGT("D5_MACE","LOCALS",1) Proficiency(Myself,101,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_2101
+IF ~GlobalGT("D5_MACE","LOCALS",2) Proficiency(Myself,101,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_3101
+IF ~GlobalGT("D5_MACE","LOCALS",3) Proficiency(Myself,101,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_4101
+IF ~GlobalGT("D5_MACE","LOCALS",4) Proficiency(Myself,101,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_5101
+IF ~GlobalGT("D5_CLUB","LOCALS",0) ProficiencyLT(Myself,115,1)~ THEN REPLY #club_name GOTO d5profx_1115
+IF ~GlobalGT("D5_CLUB","LOCALS",1) Proficiency(Myself,115,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #club_name GOTO d5profx_2115
+IF ~GlobalGT("D5_CLUB","LOCALS",2) Proficiency(Myself,115,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #club_name GOTO d5profx_3115
+IF ~GlobalGT("D5_CLUB","LOCALS",3) Proficiency(Myself,115,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #club_name GOTO d5profx_4115
+IF ~GlobalGT("D5_CLUB","LOCALS",4) Proficiency(Myself,115,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #club_name GOTO d5profx_5115
+IF ~GlobalGT("D5_STAFF","LOCALS",0) ProficiencyLT(Myself,102,1)~ THEN REPLY #staff_name GOTO d5profx_1102
+IF ~GlobalGT("D5_STAFF","LOCALS",1) Proficiency(Myself,102,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_2102
+IF ~GlobalGT("D5_STAFF","LOCALS",2) Proficiency(Myself,102,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_3102
+IF ~GlobalGT("D5_STAFF","LOCALS",3) Proficiency(Myself,102,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_4102
+IF ~GlobalGT("D5_STAFF","LOCALS",4) Proficiency(Myself,102,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_5102
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",0) ProficiencyLT(Myself,103,1)~ THEN REPLY #crossbow_name GOTO d5profx_1103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",1) Proficiency(Myself,103,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_2103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",2) Proficiency(Myself,103,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_3103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",3) Proficiency(Myself,103,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_4103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",4) Proficiency(Myself,103,4)CheckStatGT(myself,8,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_5103
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",0) ProficiencyLT(Myself,104,1)~ THEN REPLY #long_bow_name GOTO d5profx_1104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",1) Proficiency(Myself,104,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_2104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",2) Proficiency(Myself,104,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_3104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",3) Proficiency(Myself,104,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_4104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",4) Proficiency(Myself,104,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_5104
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",0) ProficiencyLT(Myself,105,1)~ THEN REPLY #short_bow_name GOTO d5profx_1105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",1) Proficiency(Myself,105,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_2105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",2) Proficiency(Myself,105,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_3105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",3) Proficiency(Myself,105,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_4105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",4) Proficiency(Myself,105,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_5105
+IF ~GlobalGT("D5_DART","LOCALS",0) ProficiencyLT(Myself,106,1)~ THEN REPLY #dart_name GOTO d5profx_1106
+IF ~GlobalGT("D5_DART","LOCALS",1) Proficiency(Myself,106,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_2106
+IF ~GlobalGT("D5_DART","LOCALS",2) Proficiency(Myself,106,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_3106
+IF ~GlobalGT("D5_DART","LOCALS",3) Proficiency(Myself,106,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_4106
+IF ~GlobalGT("D5_DART","LOCALS",4) Proficiency(Myself,106,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_5106
+IF ~GlobalGT("D5_SLING","LOCALS",0) ProficiencyLT(Myself,107,1)~ THEN REPLY #sling_name GOTO d5profx_1107
+IF ~GlobalGT("D5_SLING","LOCALS",1) Proficiency(Myself,107,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_2107
+IF ~GlobalGT("D5_SLING","LOCALS",2) Proficiency(Myself,107,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_3107
+IF ~GlobalGT("D5_SLING","LOCALS",3) Proficiency(Myself,107,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_4107
+IF ~GlobalGT("D5_SLING","LOCALS",4) Proficiency(Myself,107,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_5107
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",0) ProficiencyLT(Myself,111,1)~ THEN REPLY #two_hand_name GOTO d5profx_1111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",1) Proficiency(Myself,111,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_2111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",2) Proficiency(Myself,111,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_3111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",3) Proficiency(Myself,111,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_4111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",4) Proficiency(Myself,111,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_5111
+IF ~GlobalGT("D5_SHIELD","LOCALS",0) ProficiencyLT(Myself,112,1)~ THEN REPLY #shield_fighting_name GOTO d5profx_1112
+IF ~GlobalGT("D5_SHIELD","LOCALS",1) Proficiency(Myself,112,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_2112
+IF ~GlobalGT("D5_SHIELD","LOCALS",2) Proficiency(Myself,112,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_3112
+IF ~GlobalGT("D5_SHIELD","LOCALS",3) Proficiency(Myself,112,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_4112
+IF ~GlobalGT("D5_SHIELD","LOCALS",4) Proficiency(Myself,112,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_5112
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",0) ProficiencyLT(Myself,113,1)~ THEN REPLY #single_weapon_name GOTO d5profx_1113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",1) Proficiency(Myself,113,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_2113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",2) Proficiency(Myself,113,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_3113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",3) Proficiency(Myself,113,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_4113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",4) Proficiency(Myself,113,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_5113
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",0) ProficiencyLT(Myself,114,1)~ THEN REPLY #two_weapon_name GOTO d5profx_1114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",1) Proficiency(Myself,114,1) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_2114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",2) Proficiency(Myself,114,2) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_3114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",3) Proficiency(Myself,114,3) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_4114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",4) Proficiency(Myself,114,4) CheckStatGT(myself,11,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_5114
+
+END
+
+IF ~~ THEN BEGIN d5profx_189
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2101 DO ~ApplySpellRES("D51BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_190
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2102 DO ~ApplySpellRES("D51LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_191
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2103 DO ~ApplySpellRES("D51SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_192
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2104 DO ~ApplySpellRES("D51BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_193
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2105 DO ~ApplySpellRES("D512SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_194
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2106 DO ~ApplySpellRES("D51KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_195
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2107 DO ~ApplySpellRES("D51SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_196
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2108 DO ~ApplySpellRES("D51DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_197
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2109 DO ~ApplySpellRES("D51HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_198
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2110 DO ~ApplySpellRES("D51SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_199
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2111 DO ~ApplySpellRES("D51HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2112 DO ~ApplySpellRES("D51FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2113 DO ~ApplySpellRES("D51MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2114 DO ~ApplySpellRES("D51CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2115 DO ~ApplySpellRES("D51STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2116 DO ~ApplySpellRES("D51XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2117 DO ~ApplySpellRES("D51LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2118 DO ~ApplySpellRES("D51SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2119 DO ~ApplySpellRES("D51DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2120 DO ~ApplySpellRES("D51SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2121 DO ~ApplySpellRES("D51S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2122 DO ~ApplySpellRES("D51SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2123 DO ~ApplySpellRES("D51SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2124 DO ~ApplySpellRES("D51STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_289
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2201 DO ~ApplySpellRES("D52BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_290
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2202 DO ~ApplySpellRES("D52LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_291
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2203 DO ~ApplySpellRES("D52SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_292
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2204 DO ~ApplySpellRES("D52BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_293
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2205 DO ~ApplySpellRES("D522SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_294
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2206 DO ~ApplySpellRES("D52KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_295
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2207 DO ~ApplySpellRES("D52SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_296
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2208 DO ~ApplySpellRES("D52DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_297
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2209 DO ~ApplySpellRES("D52HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_298
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2210 DO ~ApplySpellRES("D52SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_299
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2211 DO ~ApplySpellRES("D52HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2212 DO ~ApplySpellRES("D52FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2213 DO ~ApplySpellRES("D52MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2214 DO ~ApplySpellRES("D52CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2215 DO ~ApplySpellRES("D52STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2216 DO ~ApplySpellRES("D52XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2217 DO ~ApplySpellRES("D52LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2218 DO ~ApplySpellRES("D52SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2219 DO ~ApplySpellRES("D52DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2220 DO ~ApplySpellRES("D52SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2221 DO ~ApplySpellRES("D52S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2222 DO ~ApplySpellRES("D52SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2223 DO ~ApplySpellRES("D52SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2224 DO ~ApplySpellRES("D52STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_389
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2301 DO ~ApplySpellRES("D53BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_390
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2302 DO ~ApplySpellRES("D53LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_391
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2303 DO ~ApplySpellRES("D53SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_392
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2304 DO ~ApplySpellRES("D53BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_393
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2305 DO ~ApplySpellRES("D532SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_394
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2306 DO ~ApplySpellRES("D53KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_395
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2307 DO ~ApplySpellRES("D53SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_396
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2308 DO ~ApplySpellRES("D53DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_397
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2309 DO ~ApplySpellRES("D53HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_398
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2310 DO ~ApplySpellRES("D53SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_399
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2311 DO ~ApplySpellRES("D53HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2312 DO ~ApplySpellRES("D53FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2313 DO ~ApplySpellRES("D53MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2314 DO ~ApplySpellRES("D53CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2315 DO ~ApplySpellRES("D53STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2316 DO ~ApplySpellRES("D53XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2317 DO ~ApplySpellRES("D53LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2318 DO ~ApplySpellRES("D53SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2319 DO ~ApplySpellRES("D53DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2320 DO ~ApplySpellRES("D53SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2321 DO ~ApplySpellRES("D53S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2322 DO ~ApplySpellRES("D53SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2323 DO ~ApplySpellRES("D53SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2324 DO ~ApplySpellRES("D53STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_489
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2401 DO ~ApplySpellRES("D54BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_490
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2402 DO ~ApplySpellRES("D54LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_491
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2403 DO ~ApplySpellRES("D54SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_492
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2404 DO ~ApplySpellRES("D54BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_493
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2405 DO ~ApplySpellRES("D542SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_494
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2406 DO ~ApplySpellRES("D54KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_495
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2407 DO ~ApplySpellRES("D54SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_496
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2408 DO ~ApplySpellRES("D54DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_497
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2409 DO ~ApplySpellRES("D54HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_498
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2410 DO ~ApplySpellRES("D54SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_499
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2411 DO ~ApplySpellRES("D54HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2412 DO ~ApplySpellRES("D54FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2413 DO ~ApplySpellRES("D54MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2414 DO ~ApplySpellRES("D54CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2415 DO ~ApplySpellRES("D54STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2416 DO ~ApplySpellRES("D54XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2417 DO ~ApplySpellRES("D54LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2418 DO ~ApplySpellRES("D54SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2419 DO ~ApplySpellRES("D54DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2420 DO ~ApplySpellRES("D54SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2421 DO ~ApplySpellRES("D54S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2422 DO ~ApplySpellRES("D54SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2423 DO ~ApplySpellRES("D54SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2424 DO ~ApplySpellRES("D54STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_589
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2501 DO ~ApplySpellRES("D55BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_590
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2502 DO ~ApplySpellRES("D55LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_591
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2503 DO ~ApplySpellRES("D55SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_592
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2504 DO ~ApplySpellRES("D55BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_593
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2505 DO ~ApplySpellRES("D552SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_594
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2506 DO ~ApplySpellRES("D55KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_595
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2507 DO ~ApplySpellRES("D55SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_596
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2508 DO ~ApplySpellRES("D55DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_597
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2509 DO ~ApplySpellRES("D55HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_598
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2510 DO ~ApplySpellRES("D55SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_599
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2511 DO ~ApplySpellRES("D55HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2512 DO ~ApplySpellRES("D55FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2513 DO ~ApplySpellRES("D55MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2514 DO ~ApplySpellRES("D55CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2515 DO ~ApplySpellRES("D55STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2516 DO ~ApplySpellRES("D55XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2517 DO ~ApplySpellRES("D55LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2518 DO ~ApplySpellRES("D55SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2519 DO ~ApplySpellRES("D55DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2520 DO ~ApplySpellRES("D55SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2521 DO ~ApplySpellRES("D55S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2522 DO ~ApplySpellRES("D55SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2523 DO ~ApplySpellRES("D55SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2524 DO ~ApplySpellRES("D55STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
diff --git a/scales_of_balance/lib/prof_2_5/dialprof.tra b/scales_of_balance/lib/prof_2_5/dialprof.tra
new file mode 100755
index 0000000..0e2e056
--- /dev/null
+++ b/scales_of_balance/lib/prof_2_5/dialprof.tra
@@ -0,0 +1,132 @@
+@2021 = ~~
+@2022 = ~~
+@2023 = ~~
+@2024 = ~~
+@2090 = ~Initial weapon proficiency~
+@2091 = ~Advance weapon proficiency~
+@2092 = ~Choose a different weapon~
+//
+@2101 = ~Advance to Proficiency (+) with Bastard Swords~
+@2102 = ~Advance to Proficiency (+) with Long Swords~
+@2103 = ~Advance to Proficiency (+) with Short Swords~
+@2104 = ~Advance to Proficiency (+) with Battle Axes~
+@2105 = ~Advance to Proficiency (+) with Two-Handed Swords~
+@2106 = ~Advance to Proficiency (+) with Katanas~
+@2107 = ~Advance to Proficiency (+) with Scimitars~
+@2108 = ~Advance to Proficiency (+) with Daggers~
+@2109 = ~Advance to Proficiency (+) with War Hammers~
+@2110 = ~Advance to Proficiency (+) with Spears~
+@2111 = ~Advance to Proficiency (+) with Halberds~
+@2112 = ~Advance to Proficiency (+) with Flails~
+@2113 = ~Advance to Proficiency (+) with Maces~
+@2114 = ~Advance to Proficiency (+) with Clubs~
+@2115 = ~Advance to Proficiency (+) with Quarterstaffs~
+@2116 = ~Advance to Proficiency (+) with Crossbows~
+@2117 = ~Advance to Proficiency (+) with Long Bows~
+@2118 = ~Advance to Proficiency (+) with Short Bows~
+@2119 = ~Advance to Proficiency (+) with Darts~
+@2120 = ~Advance to Proficiency (+) with Slings~
+@2121 = ~Advance to Proficiency (+) in Two-Handed Style~
+@2122 = ~Advance to Proficiency (+) in Shield-Fighting Style~
+@2123 = ~Advance to Proficiency (+) in Single-Weapon Style~
+@2124 = ~Advance to Proficiency (+) in Two-Weapon Style~
+//
+@2201 = ~Advance to Specialization (++) with Bastard Swords~
+@2202 = ~Advance to Specialization (++) with Long Swords~
+@2203 = ~Advance to Specialization (++) with Short Swords~
+@2204 = ~Advance to Specialization (++) with Battle Axes~
+@2205 = ~Advance to Specialization (++) with Two-Handed Swords~
+@2206 = ~Advance to Specialization (++) with Katanas~
+@2207 = ~Advance to Specialization (++) with Scimitars~
+@2208 = ~Advance to Specialization (++) with Daggers~
+@2209 = ~Advance to Specialization (++) with War Hammers~
+@2210 = ~Advance to Specialization (++) with Spears~
+@2211 = ~Advance to Specialization (++) with Halberds~
+@2212 = ~Advance to Specialization (++) with Flails~
+@2213 = ~Advance to Specialization (++) with Maces~
+@2214 = ~Advance to Specialization (++) with Clubs~
+@2215 = ~Advance to Specialization (++) with Quarterstaffs~
+@2216 = ~Advance to Specialization (++) with Crossbows~
+@2217 = ~Advance to Specialization (++) with Long Bows~
+@2218 = ~Advance to Specialization (++) with Short Bows~
+@2219 = ~Advance to Specialization (++) with Darts~
+@2220 = ~Advance to Specialization (++) with Slings~
+@2221 = ~Advance to Specialization (++) in Two-Handed Style~
+@2222 = ~Advance to Specialization (++) in Shield-Fighting Style~
+@2223 = ~Advance to Specialization (++) in Single-Weapon Style~
+@2224 = ~Advance to Specialization (++) in Two-Weapon Style~
+//
+@2301 = ~Advance to Mastery (+++) with Bastard Swords~
+@2302 = ~Advance to Mastery (+++) with Long Swords~
+@2303 = ~Advance to Mastery (+++) with Short Swords~
+@2304 = ~Advance to Mastery (+++) with Battle Axes~
+@2305 = ~Advance to Mastery (+++) with Two-Handed Swords~
+@2306 = ~Advance to Mastery (+++) with Katanas~
+@2307 = ~Advance to Mastery (+++) with Scimitars~
+@2308 = ~Advance to Mastery (+++) with Daggers~
+@2309 = ~Advance to Mastery (+++) with War Hammers~
+@2310 = ~Advance to Mastery (+++) with Spears~
+@2311 = ~Advance to Mastery (+++) with Halberds~
+@2312 = ~Advance to Mastery (+++) with Flails~
+@2313 = ~Advance to Mastery (+++) with Maces~
+@2314 = ~Advance to Mastery (+++) with Clubs~
+@2315 = ~Advance to Mastery (+++) with Quarterstaffs~
+@2316 = ~Advance to Mastery (+++) with Crossbows~
+@2317 = ~Advance to Mastery (+++) with Long Bows~
+@2318 = ~Advance to Mastery (+++) with Short Bows~
+@2319 = ~Advance to Mastery (+++) with Darts~
+@2320 = ~Advance to Mastery (+++) with Slings~
+@2321 = ~Advance to Mastery (+++) in Two-Handed Style~
+@2322 = ~Advance to Mastery (+++) in Shield-Fighting Style~
+@2323 = ~Advance to Mastery (+++) in Single-Weapon Style~
+@2324 = ~Advance to Mastery (+++) in Two-Weapon Style~
+//
+@2401 = ~Advance to High Mastery (++++) with Bastard Swords~
+@2402 = ~Advance to High Mastery (++++) with Long Swords~
+@2403 = ~Advance to High Mastery (++++) with Short Swords~
+@2404 = ~Advance to High Mastery (++++) with Battle Axes~
+@2405 = ~Advance to High Mastery (++++) with Two-Handed Swords~
+@2406 = ~Advance to High Mastery (++++) with Katanas~
+@2407 = ~Advance to High Mastery (++++) with Scimitars~
+@2408 = ~Advance to High Mastery (++++) with Daggers~
+@2409 = ~Advance to High Mastery (++++) with War Hammers~
+@2410 = ~Advance to High Mastery (++++) with Spears~
+@2411 = ~Advance to High Mastery (++++) with Halberds~
+@2412 = ~Advance to High Mastery (++++) with Flails~
+@2413 = ~Advance to High Mastery (++++) with Maces~
+@2414 = ~Advance to High Mastery (++++) with Clubs~
+@2415 = ~Advance to High Mastery (++++) with Quarterstaffs~
+@2416 = ~Advance to High Mastery (++++) with Crossbows~
+@2417 = ~Advance to High Mastery (++++) with Long Bows~
+@2418 = ~Advance to High Mastery (++++) with Short Bows~
+@2419 = ~Advance to High Mastery (++++) with Darts~
+@2420 = ~Advance to High Mastery (++++) with Slings~
+@2421 = ~Advance to High Mastery (++++) in Two-Handed Style~
+@2422 = ~Advance to High Mastery (++++) in Shield-Fighting Style~
+@2423 = ~Advance to High Mastery (++++) in Single-Weapon Style~
+@2424 = ~Advance to High Mastery (++++) in Two-Weapon Style~
+//
+@2501 = ~Advance to Grandmastery (+++++) with Bastard Swords~
+@2502 = ~Advance to Grandmastery (+++++) with Long Swords~
+@2503 = ~Advance to Grandmastery (+++++) with Short Swords~
+@2504 = ~Advance to Grandmastery (+++++) with Battle Axes~
+@2505 = ~Advance to Grandmastery (+++++) with Two-Handed Swords~
+@2506 = ~Advance to Grandmastery (+++++) with Katanas~
+@2507 = ~Advance to Grandmastery (+++++) with Scimitars~
+@2508 = ~Advance to Grandmastery (+++++) with Daggers~
+@2509 = ~Advance to Grandmastery (+++++) with War Hammers~
+@2510 = ~Advance to Grandmastery (+++++) with Spears~
+@2511 = ~Advance to Grandmastery (+++++) with Halberds~
+@2512 = ~Advance to Grandmastery (+++++) with Flails~
+@2513 = ~Advance to Grandmastery (+++++) with Maces~
+@2514 = ~Advance to Grandmastery (+++++) with Clubs~
+@2515 = ~Advance to Grandmastery (+++++) with Quarterstaffs~
+@2516 = ~Advance to Grandmastery (+++++) with Crossbows~
+@2517 = ~Advance to Grandmastery (+++++) with Long Bows~
+@2518 = ~Advance to Grandmastery (+++++) with Short Bows~
+@2519 = ~Advance to Grandmastery (+++++) with Darts~
+@2520 = ~Advance to Grandmastery (+++++) with Slings~
+@2521 = ~Advance to Grandmastery (+++++) in Two-Handed Style~
+@2522 = ~Advance to Grandmastery (+++++) in Shield-Fighting Style~
+@2523 = ~Advance to Grandmastery (+++++) in Single-Weapon Style~
+@2524 = ~Advance to Grandmastery (+++++) in Two-Weapon Style~
diff --git a/scales_of_balance/lib/prof_old/d51bswo.spl b/scales_of_balance/lib/prof_old/d51bswo.spl
new file mode 100755
index 0000000..98e607e
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d51bswo.spl differ
diff --git a/scales_of_balance/lib/prof_old/d5__dialprof.d5 b/scales_of_balance/lib/prof_old/d5__dialprof.d5
new file mode 100755
index 0000000..3462721
--- /dev/null
+++ b/scales_of_balance/lib/prof_old/d5__dialprof.d5
@@ -0,0 +1 @@
+hello!
\ No newline at end of file
diff --git a/scales_of_balance/lib/prof_old/d5_profx.bam b/scales_of_balance/lib/prof_old/d5_profx.bam
new file mode 100755
index 0000000..6c76529
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5_profx.bam differ
diff --git a/scales_of_balance/lib/prof_old/d5_profy.bam b/scales_of_balance/lib/prof_old/d5_profy.bam
new file mode 100644
index 0000000..c35dbfd
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5_profy.bam differ
diff --git a/scales_of_balance/lib/prof_old/d5prof1.spl b/scales_of_balance/lib/prof_old/d5prof1.spl
new file mode 100755
index 0000000..772f109
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5prof1.spl differ
diff --git a/scales_of_balance/lib/prof_old/d5profa.spl b/scales_of_balance/lib/prof_old/d5profa.spl
new file mode 100755
index 0000000..81943b3
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5profa.spl differ
diff --git a/scales_of_balance/lib/prof_old/d5profrx.spl b/scales_of_balance/lib/prof_old/d5profrx.spl
new file mode 100755
index 0000000..0a40c5f
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5profrx.spl differ
diff --git a/scales_of_balance/lib/prof_old/d5profwx.spl b/scales_of_balance/lib/prof_old/d5profwx.spl
new file mode 100755
index 0000000..ae945cf
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5profwx.spl differ
diff --git a/scales_of_balance/lib/prof_old/d5profx.baf b/scales_of_balance/lib/prof_old/d5profx.baf
new file mode 100755
index 0000000..d3f5a12
--- /dev/null
+++ b/scales_of_balance/lib/prof_old/d5profx.baf
@@ -0,0 +1 @@
+
diff --git a/scales_of_balance/lib/prof_old/d5profx.cre b/scales_of_balance/lib/prof_old/d5profx.cre
new file mode 100755
index 0000000..e4e57f6
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5profx.cre differ
diff --git a/scales_of_balance/lib/prof_old/d5profx.d b/scales_of_balance/lib/prof_old/d5profx.d
new file mode 100755
index 0000000..757b157
--- /dev/null
+++ b/scales_of_balance/lib/prof_old/d5profx.d
@@ -0,0 +1,732 @@
+BEGIN ~D5PROFX~
+
+IF ~Global("D5_PROFX","GLOBAL",1)~ THEN BEGIN d5profx
+SAY @2091
+
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",0) !CheckSpellState(myself,2240) !CheckSpellState(myself,2241) !CheckSpellState(myself,2242)~ THEN REPLY #bastard_sword_name GOTO d5profx_189
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",1) CheckSpellState(myself,2240) !CheckSpellState(myself,2241) !CheckSpellState(myself,2242)~ THEN REPLY #bastard_sword_name GOTO d5profx_289
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",2) !CheckSpellState(myself,2240) CheckSpellState(myself,2241) !CheckSpellState(myself,2242) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_389
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",3) CheckSpellState(myself,2240) CheckSpellState(myself,2241) !CheckSpellState(myself,2242) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_489
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",4) !CheckSpellState(myself,2240) !CheckSpellState(myself,2241) CheckSpellState(myself,2242) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #bastard_sword_name GOTO d5profx_589
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",0) !CheckSpellState(myself,2272) !CheckSpellState(myself,2273) !CheckSpellState(myself,2274)~ THEN REPLY #long_sword_name GOTO d5profx_190
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",1) CheckSpellState(myself,2272) !CheckSpellState(myself,2273) !CheckSpellState(myself,2274)~ THEN REPLY #long_sword_name GOTO d5profx_290
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",2) !CheckSpellState(myself,2272) CheckSpellState(myself,2273) !CheckSpellState(myself,2274) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_390
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",3) CheckSpellState(myself,2272) CheckSpellState(myself,2273) !CheckSpellState(myself,2274) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_490
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",4) !CheckSpellState(myself,2272) !CheckSpellState(myself,2273) CheckSpellState(myself,2274) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_sword_name GOTO d5profx_590
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",0) !CheckSpellState(myself,2304) !CheckSpellState(myself,2305) !CheckSpellState(myself,2306)~ THEN REPLY #short_sword_name GOTO d5profx_191
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",1) CheckSpellState(myself,2304) !CheckSpellState(myself,2305) !CheckSpellState(myself,2306)~ THEN REPLY #short_sword_name GOTO d5profx_291
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",2) !CheckSpellState(myself,2304) CheckSpellState(myself,2305) !CheckSpellState(myself,2306) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_391
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",3) CheckSpellState(myself,2304) CheckSpellState(myself,2305) !CheckSpellState(myself,2306) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_491
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",4) !CheckSpellState(myself,2304) !CheckSpellState(myself,2305) CheckSpellState(myself,2306) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_sword_name GOTO d5profx_591
+IF ~GlobalGT("D5_AXE","LOCALS",0) !CheckSpellState(myself,2336) !CheckSpellState(myself,2337) !CheckSpellState(myself,2338)~ THEN REPLY #axe_name GOTO d5profx_192
+IF ~GlobalGT("D5_AXE","LOCALS",1) CheckSpellState(myself,2336) !CheckSpellState(myself,2337) !CheckSpellState(myself,2338)~ THEN REPLY #axe_name GOTO d5profx_292
+IF ~GlobalGT("D5_AXE","LOCALS",2) !CheckSpellState(myself,2336) CheckSpellState(myself,2337) !CheckSpellState(myself,2338) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_392
+IF ~GlobalGT("D5_AXE","LOCALS",3) CheckSpellState(myself,2336) CheckSpellState(myself,2337) !CheckSpellState(myself,2338) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_492
+IF ~GlobalGT("D5_AXE","LOCALS",4) !CheckSpellState(myself,2336) !CheckSpellState(myself,2337) CheckSpellState(myself,2338) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #axe_name GOTO d5profx_592
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",0) !CheckSpellState(myself,2368) !CheckSpellState(myself,2369) !CheckSpellState(myself,2370)~ THEN REPLY #greatsword_name GOTO d5profx_193
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",1) CheckSpellState(myself,2368) !CheckSpellState(myself,2369) !CheckSpellState(myself,2370)~ THEN REPLY #greatsword_name GOTO d5profx_293
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",2) !CheckSpellState(myself,2368) CheckSpellState(myself,2369) !CheckSpellState(myself,2370) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_393
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",3) CheckSpellState(myself,2368) CheckSpellState(myself,2369) !CheckSpellState(myself,2370) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_493
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",4) !CheckSpellState(myself,2368) !CheckSpellState(myself,2369) CheckSpellState(myself,2370) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #greatsword_name GOTO d5profx_593
+IF ~GlobalGT("D5_KATANA","LOCALS",0) !CheckSpellState(myself,2400) !CheckSpellState(myself,2401) !CheckSpellState(myself,2402)~ THEN REPLY #katana_name GOTO d5profx_194
+IF ~GlobalGT("D5_KATANA","LOCALS",1) CheckSpellState(myself,2400) !CheckSpellState(myself,2401) !CheckSpellState(myself,2402)~ THEN REPLY #katana_name GOTO d5profx_294
+IF ~GlobalGT("D5_KATANA","LOCALS",2) !CheckSpellState(myself,2400) CheckSpellState(myself,2401) !CheckSpellState(myself,2402) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_394
+IF ~GlobalGT("D5_KATANA","LOCALS",3) CheckSpellState(myself,2400) CheckSpellState(myself,2401) !CheckSpellState(myself,2402) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_494
+IF ~GlobalGT("D5_KATANA","LOCALS",4) !CheckSpellState(myself,2400) !CheckSpellState(myself,2401) CheckSpellState(myself,2402) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #katana_name GOTO d5profx_594
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",0) !CheckSpellState(myself,2432) !CheckSpellState(myself,2433) !CheckSpellState(myself,2434)~ THEN REPLY #scimitar_name GOTO d5profx_195
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",1) CheckSpellState(myself,2432) !CheckSpellState(myself,2433) !CheckSpellState(myself,2434)~ THEN REPLY #scimitar_name GOTO d5profx_295
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",2) !CheckSpellState(myself,2432) CheckSpellState(myself,2433) !CheckSpellState(myself,2434) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_395
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",3) CheckSpellState(myself,2432) CheckSpellState(myself,2433) !CheckSpellState(myself,2434) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_495
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",4) !CheckSpellState(myself,2432) !CheckSpellState(myself,2433) CheckSpellState(myself,2434) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #scimitar_name GOTO d5profx_595
+IF ~GlobalGT("D5_DAGGER","LOCALS",0) !CheckSpellState(myself,2464) !CheckSpellState(myself,2465) !CheckSpellState(myself,2466)~ THEN REPLY #dagger_name GOTO d5profx_196
+IF ~GlobalGT("D5_DAGGER","LOCALS",1) CheckSpellState(myself,2464) !CheckSpellState(myself,2465) !CheckSpellState(myself,2466)~ THEN REPLY #dagger_name GOTO d5profx_296
+IF ~GlobalGT("D5_DAGGER","LOCALS",2) !CheckSpellState(myself,2464) CheckSpellState(myself,2465) !CheckSpellState(myself,2466) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_396
+IF ~GlobalGT("D5_DAGGER","LOCALS",3) CheckSpellState(myself,2464) CheckSpellState(myself,2465) !CheckSpellState(myself,2466) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_496
+IF ~GlobalGT("D5_DAGGER","LOCALS",4) !CheckSpellState(myself,2464) !CheckSpellState(myself,2465) CheckSpellState(myself,2466) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dagger_name GOTO d5profx_596
+IF ~GlobalGT("D5_HAMMER","LOCALS",0) !CheckSpellState(myself,2496) !CheckSpellState(myself,2497) !CheckSpellState(myself,2498)~ THEN REPLY #hammer_name GOTO d5profx_197
+IF ~GlobalGT("D5_HAMMER","LOCALS",1) CheckSpellState(myself,2496) !CheckSpellState(myself,2497) !CheckSpellState(myself,2498)~ THEN REPLY #hammer_name GOTO d5profx_297
+IF ~GlobalGT("D5_HAMMER","LOCALS",2) !CheckSpellState(myself,2496) CheckSpellState(myself,2497) !CheckSpellState(myself,2498) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_397
+IF ~GlobalGT("D5_HAMMER","LOCALS",3) CheckSpellState(myself,2496) CheckSpellState(myself,2497) !CheckSpellState(myself,2498) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_497
+IF ~GlobalGT("D5_HAMMER","LOCALS",4) !CheckSpellState(myself,2496) !CheckSpellState(myself,2497) CheckSpellState(myself,2498) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #hammer_name GOTO d5profx_597
+IF ~GlobalGT("D5_SPEAR","LOCALS",0) !CheckSpellState(myself,2528) !CheckSpellState(myself,2529) !CheckSpellState(myself,2530)~ THEN REPLY #spear_name GOTO d5profx_198
+IF ~GlobalGT("D5_SPEAR","LOCALS",1) CheckSpellState(myself,2528) !CheckSpellState(myself,2529) !CheckSpellState(myself,2530)~ THEN REPLY #spear_name GOTO d5profx_298
+IF ~GlobalGT("D5_SPEAR","LOCALS",2) !CheckSpellState(myself,2528) CheckSpellState(myself,2529) !CheckSpellState(myself,2530) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_398
+IF ~GlobalGT("D5_SPEAR","LOCALS",3) CheckSpellState(myself,2528) CheckSpellState(myself,2529) !CheckSpellState(myself,2530) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_498
+IF ~GlobalGT("D5_SPEAR","LOCALS",4) !CheckSpellState(myself,2528) !CheckSpellState(myself,2529) CheckSpellState(myself,2530) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #spear_name GOTO d5profx_598
+IF ~GlobalGT("D5_HALBERD","LOCALS",0) !CheckSpellState(myself,2560) !CheckSpellState(myself,2561) !CheckSpellState(myself,2562)~ THEN REPLY #halberd_name GOTO d5profx_199
+IF ~GlobalGT("D5_HALBERD","LOCALS",1) CheckSpellState(myself,2560) !CheckSpellState(myself,2561) !CheckSpellState(myself,2562)~ THEN REPLY #halberd_name GOTO d5profx_299
+IF ~GlobalGT("D5_HALBERD","LOCALS",2) !CheckSpellState(myself,2560) CheckSpellState(myself,2561) !CheckSpellState(myself,2562) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_399
+IF ~GlobalGT("D5_HALBERD","LOCALS",3) CheckSpellState(myself,2560) CheckSpellState(myself,2561) !CheckSpellState(myself,2562) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_499
+IF ~GlobalGT("D5_HALBERD","LOCALS",4) !CheckSpellState(myself,2560) !CheckSpellState(myself,2561) CheckSpellState(myself,2562) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #halberd_name GOTO d5profx_599
+IF ~GlobalGT("D5_FLAIL","LOCALS",0) !CheckSpellState(myself,2592) !CheckSpellState(myself,2593) !CheckSpellState(myself,2594)~ THEN REPLY #flail_name GOTO d5profx_1100
+IF ~GlobalGT("D5_FLAIL","LOCALS",1) CheckSpellState(myself,2592) !CheckSpellState(myself,2593) !CheckSpellState(myself,2594)~ THEN REPLY #flail_name GOTO d5profx_2100
+IF ~GlobalGT("D5_FLAIL","LOCALS",2) !CheckSpellState(myself,2592) CheckSpellState(myself,2593) !CheckSpellState(myself,2594) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_3100
+IF ~GlobalGT("D5_FLAIL","LOCALS",3) CheckSpellState(myself,2592) CheckSpellState(myself,2593) !CheckSpellState(myself,2594) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_4100
+IF ~GlobalGT("D5_FLAIL","LOCALS",4) !CheckSpellState(myself,2592) !CheckSpellState(myself,2593) CheckSpellState(myself,2594) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #flail_name GOTO d5profx_5100
+IF ~GlobalGT("D5_MACE","LOCALS",0) !CheckSpellState(myself,2624) !CheckSpellState(myself,2625) !CheckSpellState(myself,2626)~ THEN REPLY #mace_name GOTO d5profx_1101
+IF ~GlobalGT("D5_MACE","LOCALS",1) CheckSpellState(myself,2624) !CheckSpellState(myself,2625) !CheckSpellState(myself,2626)~ THEN REPLY #mace_name GOTO d5profx_2101
+IF ~GlobalGT("D5_MACE","LOCALS",2) !CheckSpellState(myself,2624) CheckSpellState(myself,2625) !CheckSpellState(myself,2626) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_3101
+IF ~GlobalGT("D5_MACE","LOCALS",3) CheckSpellState(myself,2624) CheckSpellState(myself,2625) !CheckSpellState(myself,2626) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_4101
+IF ~GlobalGT("D5_MACE","LOCALS",4) !CheckSpellState(myself,2624) !CheckSpellState(myself,2625) CheckSpellState(myself,2626) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #mace_name GOTO d5profx_5101
+IF ~GlobalGT("D5_CLUB","LOCALS",0) !CheckSpellState(myself,3072) !CheckSpellState(myself,3073) !CheckSpellState(myself,3074)~ THEN REPLY #club_name GOTO d5profx_1115
+IF ~GlobalGT("D5_CLUB","LOCALS",1) CheckSpellState(myself,3072) !CheckSpellState(myself,3073) !CheckSpellState(myself,3074)~ THEN REPLY #club_name GOTO d5profx_2115
+IF ~GlobalGT("D5_CLUB","LOCALS",2) !CheckSpellState(myself,3072) CheckSpellState(myself,3073) !CheckSpellState(myself,3074) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #club_name GOTO d5profx_3115
+IF ~GlobalGT("D5_CLUB","LOCALS",3) CheckSpellState(myself,3072) CheckSpellState(myself,3073) !CheckSpellState(myself,3074) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #club_name GOTO d5profx_4115
+IF ~GlobalGT("D5_CLUB","LOCALS",4) !CheckSpellState(myself,3072) !CheckSpellState(myself,3073) CheckSpellState(myself,3074) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #club_name GOTO d5profx_5115
+IF ~GlobalGT("D5_STAFF","LOCALS",0) !CheckSpellState(myself,2656) !CheckSpellState(myself,2657) !CheckSpellState(myself,2658)~ THEN REPLY #staff_name GOTO d5profx_1102
+IF ~GlobalGT("D5_STAFF","LOCALS",1) CheckSpellState(myself,2656) !CheckSpellState(myself,2657) !CheckSpellState(myself,2658)~ THEN REPLY #staff_name GOTO d5profx_2102
+IF ~GlobalGT("D5_STAFF","LOCALS",2) !CheckSpellState(myself,2656) CheckSpellState(myself,2657) !CheckSpellState(myself,2658) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_3102
+IF ~GlobalGT("D5_STAFF","LOCALS",3) CheckSpellState(myself,2656) CheckSpellState(myself,2657) !CheckSpellState(myself,2658) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_4102
+IF ~GlobalGT("D5_STAFF","LOCALS",4) !CheckSpellState(myself,2656) !CheckSpellState(myself,2657) CheckSpellState(myself,2658) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #staff_name GOTO d5profx_5102
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",0) !CheckSpellState(myself,2688) !CheckSpellState(myself,2689) !CheckSpellState(myself,2690)~ THEN REPLY #crossbow_name GOTO d5profx_1103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",1) CheckSpellState(myself,2688) !CheckSpellState(myself,2689) !CheckSpellState(myself,2690)~ THEN REPLY #crossbow_name GOTO d5profx_2103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",2) !CheckSpellState(myself,2688) CheckSpellState(myself,2689) !CheckSpellState(myself,2690) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_3103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",3) CheckSpellState(myself,2688) CheckSpellState(myself,2689) !CheckSpellState(myself,2690) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_4103
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",4) !CheckSpellState(myself,2688) !CheckSpellState(myself,2689) CheckSpellState(myself,2690) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #crossbow_name GOTO d5profx_5103
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",0) !CheckSpellState(myself,2720) !CheckSpellState(myself,2721) !CheckSpellState(myself,2722)~ THEN REPLY #long_bow_name GOTO d5profx_1104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",1) CheckSpellState(myself,2720) !CheckSpellState(myself,2721) !CheckSpellState(myself,2722)~ THEN REPLY #long_bow_name GOTO d5profx_2104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",2) !CheckSpellState(myself,2720) CheckSpellState(myself,2721) !CheckSpellState(myself,2722) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_3104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",3) CheckSpellState(myself,2720) CheckSpellState(myself,2721) !CheckSpellState(myself,2722) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_4104
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",4) !CheckSpellState(myself,2720) !CheckSpellState(myself,2721) CheckSpellState(myself,2722) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #long_bow_name GOTO d5profx_5104
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",0) !CheckSpellState(myself,2752) !CheckSpellState(myself,2753) !CheckSpellState(myself,2754)~ THEN REPLY #short_bow_name GOTO d5profx_1105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",1) CheckSpellState(myself,2752) !CheckSpellState(myself,2753) !CheckSpellState(myself,2754)~ THEN REPLY #short_bow_name GOTO d5profx_2105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",2) !CheckSpellState(myself,2752) CheckSpellState(myself,2753) !CheckSpellState(myself,2754) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_3105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",3) CheckSpellState(myself,2752) CheckSpellState(myself,2753) !CheckSpellState(myself,2754) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_4105
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",4) !CheckSpellState(myself,2752) !CheckSpellState(myself,2753) CheckSpellState(myself,2754) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #short_bow_name GOTO d5profx_5105
+IF ~GlobalGT("D5_DART","LOCALS",0) !CheckSpellState(myself,2784) !CheckSpellState(myself,2785) !CheckSpellState(myself,2786)~ THEN REPLY #dart_name GOTO d5profx_1106
+IF ~GlobalGT("D5_DART","LOCALS",1) CheckSpellState(myself,2784) !CheckSpellState(myself,2785) !CheckSpellState(myself,2786)~ THEN REPLY #dart_name GOTO d5profx_2106
+IF ~GlobalGT("D5_DART","LOCALS",2) !CheckSpellState(myself,2784) CheckSpellState(myself,2785) !CheckSpellState(myself,2786) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_3106
+IF ~GlobalGT("D5_DART","LOCALS",3) CheckSpellState(myself,2784) CheckSpellState(myself,2785) !CheckSpellState(myself,2786) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_4106
+IF ~GlobalGT("D5_DART","LOCALS",4) !CheckSpellState(myself,2784) !CheckSpellState(myself,2785) CheckSpellState(myself,2786) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #dart_name GOTO d5profx_5106
+IF ~GlobalGT("D5_SLING","LOCALS",0) !CheckSpellState(myself,2816) !CheckSpellState(myself,2817) !CheckSpellState(myself,2818)~ THEN REPLY #sling_name GOTO d5profx_1107
+IF ~GlobalGT("D5_SLING","LOCALS",1) CheckSpellState(myself,2816) !CheckSpellState(myself,2817) !CheckSpellState(myself,2818)~ THEN REPLY #sling_name GOTO d5profx_2107
+IF ~GlobalGT("D5_SLING","LOCALS",2) !CheckSpellState(myself,2816) CheckSpellState(myself,2817) !CheckSpellState(myself,2818) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_3107
+IF ~GlobalGT("D5_SLING","LOCALS",3) CheckSpellState(myself,2816) CheckSpellState(myself,2817) !CheckSpellState(myself,2818) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_4107
+IF ~GlobalGT("D5_SLING","LOCALS",4) !CheckSpellState(myself,2816) !CheckSpellState(myself,2817) CheckSpellState(myself,2818) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #sling_name GOTO d5profx_5107
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",0) !CheckSpellState(myself,2944) !CheckSpellState(myself,2945) !CheckSpellState(myself,2946)~ THEN REPLY #two_hand_name GOTO d5profx_1111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",1) CheckSpellState(myself,2944) !CheckSpellState(myself,2945) !CheckSpellState(myself,2946)~ THEN REPLY #two_hand_name GOTO d5profx_2111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",2) !CheckSpellState(myself,2944) CheckSpellState(myself,2945) !CheckSpellState(myself,2946) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_3111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",3) CheckSpellState(myself,2944) CheckSpellState(myself,2945) !CheckSpellState(myself,2946) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_4111
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",4) !CheckSpellState(myself,2944) !CheckSpellState(myself,2945) CheckSpellState(myself,2946) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_hand_name GOTO d5profx_5111
+IF ~GlobalGT("D5_SHIELD","LOCALS",0) !CheckSpellState(myself,2976) !CheckSpellState(myself,2977) !CheckSpellState(myself,2978)~ THEN REPLY #shield_fighting_name GOTO d5profx_1112
+IF ~GlobalGT("D5_SHIELD","LOCALS",1) CheckSpellState(myself,2976) !CheckSpellState(myself,2977) !CheckSpellState(myself,2978)~ THEN REPLY #shield_fighting_name GOTO d5profx_2112
+IF ~GlobalGT("D5_SHIELD","LOCALS",2) !CheckSpellState(myself,2976) CheckSpellState(myself,2977) !CheckSpellState(myself,2978) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_3112
+IF ~GlobalGT("D5_SHIELD","LOCALS",3) CheckSpellState(myself,2976) CheckSpellState(myself,2977) !CheckSpellState(myself,2978) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_4112
+IF ~GlobalGT("D5_SHIELD","LOCALS",4) !CheckSpellState(myself,2976) !CheckSpellState(myself,2977) CheckSpellState(myself,2978) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #shield_fighting_name GOTO d5profx_5112
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",0) !CheckSpellState(myself,3008) !CheckSpellState(myself,3009) !CheckSpellState(myself,3010)~ THEN REPLY #single_weapon_name GOTO d5profx_1113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",1) CheckSpellState(myself,3008) !CheckSpellState(myself,3009) !CheckSpellState(myself,3010)~ THEN REPLY #single_weapon_name GOTO d5profx_2113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",2) !CheckSpellState(myself,3008) CheckSpellState(myself,3009) !CheckSpellState(myself,3010) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_3113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",3) CheckSpellState(myself,3008) CheckSpellState(myself,3009) !CheckSpellState(myself,3010) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_4113
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",4) !CheckSpellState(myself,3008) !CheckSpellState(myself,3009) CheckSpellState(myself,3010) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #single_weapon_name GOTO d5profx_5113
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",0) !CheckSpellState(myself,3040) !CheckSpellState(myself,3041) !CheckSpellState(myself,3042)~ THEN REPLY #two_weapon_name GOTO d5profx_1114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",1) CheckSpellState(myself,3040) !CheckSpellState(myself,3041) !CheckSpellState(myself,3042)~ THEN REPLY #two_weapon_name GOTO d5profx_2114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",2) !CheckSpellState(myself,3040) CheckSpellState(myself,3041) !CheckSpellState(myself,3042) CheckStatGT(myself,2,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_3114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",3) CheckSpellState(myself,3040) CheckSpellState(myself,3041) !CheckSpellState(myself,3042) CheckStatGT(myself,5,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_4114
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",4) !CheckSpellState(myself,3040) !CheckSpellState(myself,3041) CheckSpellState(myself,3042) CheckStatGT(myself,8,LEVEL)~ THEN REPLY #two_weapon_name GOTO d5profx_5114
+
+END
+
+IF ~~ THEN BEGIN d5profx_189
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2101 DO ~ApplySpellRES("D51BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_190
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2102 DO ~ApplySpellRES("D51LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_191
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2103 DO ~ApplySpellRES("D51SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_192
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2104 DO ~ApplySpellRES("D51BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_193
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2105 DO ~ApplySpellRES("D512SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_194
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2106 DO ~ApplySpellRES("D51KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_195
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2107 DO ~ApplySpellRES("D51SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_196
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2108 DO ~ApplySpellRES("D51DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_197
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2109 DO ~ApplySpellRES("D51HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_198
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2110 DO ~ApplySpellRES("D51SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_199
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2111 DO ~ApplySpellRES("D51HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2112 DO ~ApplySpellRES("D51FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2113 DO ~ApplySpellRES("D51MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2114 DO ~ApplySpellRES("D51CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2115 DO ~ApplySpellRES("D51STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2116 DO ~ApplySpellRES("D51XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2117 DO ~ApplySpellRES("D51LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2118 DO ~ApplySpellRES("D51SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2119 DO ~ApplySpellRES("D51DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2120 DO ~ApplySpellRES("D51SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2121 DO ~ApplySpellRES("D51S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2122 DO ~ApplySpellRES("D51SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2123 DO ~ApplySpellRES("D51SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_1114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2124 DO ~ApplySpellRES("D51STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_289
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2201 DO ~ApplySpellRES("D52BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_290
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2202 DO ~ApplySpellRES("D52LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_291
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2203 DO ~ApplySpellRES("D52SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_292
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2204 DO ~ApplySpellRES("D52BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_293
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2205 DO ~ApplySpellRES("D522SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_294
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2206 DO ~ApplySpellRES("D52KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_295
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2207 DO ~ApplySpellRES("D52SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_296
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2208 DO ~ApplySpellRES("D52DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_297
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2209 DO ~ApplySpellRES("D52HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_298
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2210 DO ~ApplySpellRES("D52SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_299
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2211 DO ~ApplySpellRES("D52HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2212 DO ~ApplySpellRES("D52FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2213 DO ~ApplySpellRES("D52MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2214 DO ~ApplySpellRES("D52CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2215 DO ~ApplySpellRES("D52STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2216 DO ~ApplySpellRES("D52XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2217 DO ~ApplySpellRES("D52LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2218 DO ~ApplySpellRES("D52SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2219 DO ~ApplySpellRES("D52DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2220 DO ~ApplySpellRES("D52SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2221 DO ~ApplySpellRES("D52S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2222 DO ~ApplySpellRES("D52SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2223 DO ~ApplySpellRES("D52SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_2114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2224 DO ~ApplySpellRES("D52STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_389
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2301 DO ~ApplySpellRES("D53BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_390
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2302 DO ~ApplySpellRES("D53LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_391
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2303 DO ~ApplySpellRES("D53SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_392
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2304 DO ~ApplySpellRES("D53BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_393
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2305 DO ~ApplySpellRES("D532SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_394
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2306 DO ~ApplySpellRES("D53KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_395
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2307 DO ~ApplySpellRES("D53SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_396
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2308 DO ~ApplySpellRES("D53DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_397
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2309 DO ~ApplySpellRES("D53HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_398
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2310 DO ~ApplySpellRES("D53SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_399
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2311 DO ~ApplySpellRES("D53HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2312 DO ~ApplySpellRES("D53FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2313 DO ~ApplySpellRES("D53MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2314 DO ~ApplySpellRES("D53CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2315 DO ~ApplySpellRES("D53STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2316 DO ~ApplySpellRES("D53XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2317 DO ~ApplySpellRES("D53LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2318 DO ~ApplySpellRES("D53SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2319 DO ~ApplySpellRES("D53DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2320 DO ~ApplySpellRES("D53SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2321 DO ~ApplySpellRES("D53S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2322 DO ~ApplySpellRES("D53SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2323 DO ~ApplySpellRES("D53SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_3114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2324 DO ~ApplySpellRES("D53STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_489
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2401 DO ~ApplySpellRES("D54BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_490
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2402 DO ~ApplySpellRES("D54LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_491
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2403 DO ~ApplySpellRES("D54SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_492
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2404 DO ~ApplySpellRES("D54BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_493
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2405 DO ~ApplySpellRES("D542SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_494
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2406 DO ~ApplySpellRES("D54KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_495
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2407 DO ~ApplySpellRES("D54SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_496
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2408 DO ~ApplySpellRES("D54DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_497
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2409 DO ~ApplySpellRES("D54HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_498
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2410 DO ~ApplySpellRES("D54SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_499
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2411 DO ~ApplySpellRES("D54HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2412 DO ~ApplySpellRES("D54FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2413 DO ~ApplySpellRES("D54MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2414 DO ~ApplySpellRES("D54CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2415 DO ~ApplySpellRES("D54STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2416 DO ~ApplySpellRES("D54XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2417 DO ~ApplySpellRES("D54LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2418 DO ~ApplySpellRES("D54SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2419 DO ~ApplySpellRES("D54DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2420 DO ~ApplySpellRES("D54SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2421 DO ~ApplySpellRES("D54S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2422 DO ~ApplySpellRES("D54SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2423 DO ~ApplySpellRES("D54SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_4114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2424 DO ~ApplySpellRES("D54STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+
+IF ~~ THEN BEGIN d5profx_589
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2501 DO ~ApplySpellRES("D55BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_590
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2502 DO ~ApplySpellRES("D55LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_591
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2503 DO ~ApplySpellRES("D55SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_592
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2504 DO ~ApplySpellRES("D55BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_593
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2505 DO ~ApplySpellRES("D552SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_594
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2506 DO ~ApplySpellRES("D55KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_595
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2507 DO ~ApplySpellRES("D55SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_596
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2508 DO ~ApplySpellRES("D55DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_597
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2509 DO ~ApplySpellRES("D55HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_598
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2510 DO ~ApplySpellRES("D55SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_599
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2511 DO ~ApplySpellRES("D55HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2512 DO ~ApplySpellRES("D55FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2513 DO ~ApplySpellRES("D55MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2514 DO ~ApplySpellRES("D55CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2515 DO ~ApplySpellRES("D55STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2516 DO ~ApplySpellRES("D55XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2517 DO ~ApplySpellRES("D55LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2518 DO ~ApplySpellRES("D55SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2519 DO ~ApplySpellRES("D55DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2520 DO ~ApplySpellRES("D55SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2521 DO ~ApplySpellRES("D55S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2522 DO ~ApplySpellRES("D55SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2523 DO ~ApplySpellRES("D55SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
+IF ~~ THEN BEGIN d5profx_5114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2524 DO ~ApplySpellRES("D55STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profx
+END
diff --git a/scales_of_balance/lib/prof_old/d5profx.eff b/scales_of_balance/lib/prof_old/d5profx.eff
new file mode 100755
index 0000000..fabdbcc
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5profx.eff differ
diff --git a/scales_of_balance/lib/prof_old/d5profxa.spl b/scales_of_balance/lib/prof_old/d5profxa.spl
new file mode 100755
index 0000000..42ee564
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5profxa.spl differ
diff --git a/scales_of_balance/lib/prof_old/d5profy.baf b/scales_of_balance/lib/prof_old/d5profy.baf
new file mode 100755
index 0000000..d3f5a12
--- /dev/null
+++ b/scales_of_balance/lib/prof_old/d5profy.baf
@@ -0,0 +1 @@
+
diff --git a/scales_of_balance/lib/prof_old/d5profy.cre b/scales_of_balance/lib/prof_old/d5profy.cre
new file mode 100755
index 0000000..0b7fc2c
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5profy.cre differ
diff --git a/scales_of_balance/lib/prof_old/d5profy.d b/scales_of_balance/lib/prof_old/d5profy.d
new file mode 100755
index 0000000..f3f9a95
--- /dev/null
+++ b/scales_of_balance/lib/prof_old/d5profy.d
@@ -0,0 +1,152 @@
+BEGIN ~D5PROFY~
+
+IF ~Global("D5_PROFY","GLOBAL",1)~ THEN BEGIN d5profy
+SAY @2091
+
+IF ~GlobalGT("D5_BASTARD_SWORD","LOCALS",0) !CheckSpellState(myself,2240) !CheckSpellState(myself,2241) !CheckSpellState(myself,2242)~ THEN REPLY #bastard_sword_name GOTO d5profy_189
+IF ~GlobalGT("D5_LONG_SWORD","LOCALS",0) !CheckSpellState(myself,2272) !CheckSpellState(myself,2273) !CheckSpellState(myself,2274)~ THEN REPLY #long_sword_name GOTO d5profy_190
+IF ~GlobalGT("D5_SHORT_SWORD","LOCALS",0) !CheckSpellState(myself,2304) !CheckSpellState(myself,2305) !CheckSpellState(myself,2306)~ THEN REPLY #short_sword_name GOTO d5profy_191
+IF ~GlobalGT("D5_AXE","LOCALS",0) !CheckSpellState(myself,2336) !CheckSpellState(myself,2337) !CheckSpellState(myself,2338)~ THEN REPLY #axe_name GOTO d5profy_192
+IF ~GlobalGT("D5_GREATSWORD","LOCALS",0) !CheckSpellState(myself,2368) !CheckSpellState(myself,2369) !CheckSpellState(myself,2370)~ THEN REPLY #greatsword_name GOTO d5profy_193
+IF ~GlobalGT("D5_KATANA","LOCALS",0) !CheckSpellState(myself,2400) !CheckSpellState(myself,2401) !CheckSpellState(myself,2402)~ THEN REPLY #katana_name GOTO d5profy_194
+IF ~GlobalGT("D5_SCIMITAR","LOCALS",0) !CheckSpellState(myself,2432) !CheckSpellState(myself,2433) !CheckSpellState(myself,2434)~ THEN REPLY #scimitar_name GOTO d5profy_195
+IF ~GlobalGT("D5_DAGGER","LOCALS",0) !CheckSpellState(myself,2464) !CheckSpellState(myself,2465) !CheckSpellState(myself,2466)~ THEN REPLY #dagger_name GOTO d5profy_196
+IF ~GlobalGT("D5_HAMMER","LOCALS",0) !CheckSpellState(myself,2496) !CheckSpellState(myself,2497) !CheckSpellState(myself,2498)~ THEN REPLY #hammer_name GOTO d5profy_197
+IF ~GlobalGT("D5_SPEAR","LOCALS",0) !CheckSpellState(myself,2528) !CheckSpellState(myself,2529) !CheckSpellState(myself,2530)~ THEN REPLY #spear_name GOTO d5profy_198
+IF ~GlobalGT("D5_HALBERD","LOCALS",0) !CheckSpellState(myself,2560) !CheckSpellState(myself,2561) !CheckSpellState(myself,2562)~ THEN REPLY #halberd_name GOTO d5profy_199
+IF ~GlobalGT("D5_FLAIL","LOCALS",0) !CheckSpellState(myself,2592) !CheckSpellState(myself,2593) !CheckSpellState(myself,2594)~ THEN REPLY #flail_name GOTO d5profy_1100
+IF ~GlobalGT("D5_MACE","LOCALS",0) !CheckSpellState(myself,2624) !CheckSpellState(myself,2625) !CheckSpellState(myself,2626)~ THEN REPLY #mace_name GOTO d5profy_1101
+IF ~GlobalGT("D5_CLUB","LOCALS",0) !CheckSpellState(myself,3072) !CheckSpellState(myself,3073) !CheckSpellState(myself,3074)~ THEN REPLY #club_name GOTO d5profy_1115
+IF ~GlobalGT("D5_STAFF","LOCALS",0) !CheckSpellState(myself,2656) !CheckSpellState(myself,2657) !CheckSpellState(myself,2658)~ THEN REPLY #staff_name GOTO d5profy_1102
+IF ~GlobalGT("D5_CROSSBOW","LOCALS",0) !CheckSpellState(myself,2688) !CheckSpellState(myself,2689) !CheckSpellState(myself,2690)~ THEN REPLY #crossbow_name GOTO d5profy_1103
+IF ~GlobalGT("D5_LONG_BOW","LOCALS",0) !CheckSpellState(myself,2720) !CheckSpellState(myself,2721) !CheckSpellState(myself,2722)~ THEN REPLY #long_bow_name GOTO d5profy_1104
+IF ~GlobalGT("D5_SHORT_BOW","LOCALS",0) !CheckSpellState(myself,2752) !CheckSpellState(myself,2753) !CheckSpellState(myself,2754)~ THEN REPLY #short_bow_name GOTO d5profy_1105
+IF ~GlobalGT("D5_DART","LOCALS",0) !CheckSpellState(myself,2784) !CheckSpellState(myself,2785) !CheckSpellState(myself,2786)~ THEN REPLY #dart_name GOTO d5profy_1106
+IF ~GlobalGT("D5_SLING","LOCALS",0) !CheckSpellState(myself,2816) !CheckSpellState(myself,2817) !CheckSpellState(myself,2818)~ THEN REPLY #sling_name GOTO d5profy_1107
+IF ~GlobalGT("D5_TWO_HAND","LOCALS",0) !CheckSpellState(myself,2944) !CheckSpellState(myself,2945) !CheckSpellState(myself,2946)~ THEN REPLY #two_hand_name GOTO d5profy_1111
+IF ~GlobalGT("D5_SHIELD","LOCALS",0) !CheckSpellState(myself,2976) !CheckSpellState(myself,2977) !CheckSpellState(myself,2978)~ THEN REPLY #shield_fighting_name GOTO d5profy_1112
+IF ~GlobalGT("D5_SINGLE_WEAPON","LOCALS",0) !CheckSpellState(myself,3008) !CheckSpellState(myself,3009) !CheckSpellState(myself,3010)~ THEN REPLY #single_weapon_name GOTO d5profy_1113
+IF ~GlobalGT("D5_TWO_WEAPON","LOCALS",0) !CheckSpellState(myself,3040) !CheckSpellState(myself,3041) !CheckSpellState(myself,3042)~ THEN REPLY #two_weapon_name GOTO d5profy_1114
+
+END
+
+IF ~~ THEN BEGIN d5profy_189
+ SAY #bastard_sword_desc
+ IF ~~ THEN REPLY @2101 DO ~ApplySpellRES("D51BSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_190
+ SAY #long_sword_desc
+ IF ~~ THEN REPLY @2102 DO ~ApplySpellRES("D51LSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_191
+ SAY #short_sword_desc
+ IF ~~ THEN REPLY @2103 DO ~ApplySpellRES("D51SSWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_192
+ SAY #axe_desc
+ IF ~~ THEN REPLY @2104 DO ~ApplySpellRES("D51BAXE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_193
+ SAY #greatsword_desc
+ IF ~~ THEN REPLY @2105 DO ~ApplySpellRES("D512SWO",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_194
+ SAY #katana_desc
+ IF ~~ THEN REPLY @2106 DO ~ApplySpellRES("D51KATA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_195
+ SAY #scimitar_desc
+ IF ~~ THEN REPLY @2107 DO ~ApplySpellRES("D51SCIM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_196
+ SAY #dagger_desc
+ IF ~~ THEN REPLY @2108 DO ~ApplySpellRES("D51DAGG",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_197
+ SAY #hammer_desc
+ IF ~~ THEN REPLY @2109 DO ~ApplySpellRES("D51HAMM",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_198
+ SAY #spear_desc
+ IF ~~ THEN REPLY @2110 DO ~ApplySpellRES("D51SPEA",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_199
+ SAY #halberd_desc
+ IF ~~ THEN REPLY @2111 DO ~ApplySpellRES("D51HALB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1100
+ SAY #flail_desc
+ IF ~~ THEN REPLY @2112 DO ~ApplySpellRES("D51FLAI",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1101
+ SAY #mace_desc
+ IF ~~ THEN REPLY @2113 DO ~ApplySpellRES("D51MACE",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1115
+ SAY #club_desc
+ IF ~~ THEN REPLY @2114 DO ~ApplySpellRES("D51CLUB",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1102
+ SAY #staff_desc
+ IF ~~ THEN REPLY @2115 DO ~ApplySpellRES("D51STAF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1103
+ SAY #crossbow_desc
+ IF ~~ THEN REPLY @2116 DO ~ApplySpellRES("D51XBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1104
+ SAY #long_bow_desc
+ IF ~~ THEN REPLY @2117 DO ~ApplySpellRES("D51LBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1105
+ SAY #short_bow_desc
+ IF ~~ THEN REPLY @2118 DO ~ApplySpellRES("D51SBOW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1106
+ SAY #dart_desc
+ IF ~~ THEN REPLY @2119 DO ~ApplySpellRES("D51DART",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1107
+ SAY #sling_desc
+ IF ~~ THEN REPLY @2120 DO ~ApplySpellRES("D51SLIN",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1111
+ SAY #two_hand_desc
+ IF ~~ THEN REPLY @2121 DO ~ApplySpellRES("D51S2HW",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1112
+ SAY #shield_fighting_desc
+ IF ~~ THEN REPLY @2122 DO ~ApplySpellRES("D51SSNS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1113
+ SAY #single_weapon_desc
+ IF ~~ THEN REPLY @2123 DO ~ApplySpellRES("D51SSWS",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
+IF ~~ THEN BEGIN d5profy_1114
+ SAY #two_weapon_desc
+ IF ~~ THEN REPLY @2124 DO ~ApplySpellRES("D51STWF",myself)~ EXIT
+ IF ~~ THEN REPLY @2092 GOTO d5profy
+END
diff --git a/scales_of_balance/lib/prof_old/d5profy.eff b/scales_of_balance/lib/prof_old/d5profy.eff
new file mode 100755
index 0000000..2d9b526
Binary files /dev/null and b/scales_of_balance/lib/prof_old/d5profy.eff differ
diff --git a/scales_of_balance/lib/weapprof_dialogue.tpa b/scales_of_balance/lib/weapprof_dialogue.tpa
new file mode 100755
index 0000000..38c1554
--- /dev/null
+++ b/scales_of_balance/lib/weapprof_dialogue.tpa
@@ -0,0 +1,1597 @@
+//SET UP PROFICIENCY DIALOGUE_______________________________________________________
+//
+//DEFINE_ACTION_MACRO SET_UP_PROF_DIALOGUES BEGIN
+
+ACTION_IF !(FILE_CONTAINS_EVALUATED (~trigger.ids~ ~ProficiencyGT~)) BEGIN
+ OUTER_TEXT_SPRINT prof_folder ~prof_old~
+ OUTER_SPRINT prof_menu_warrior ~d5profx~
+END
+ACTION_IF (FILE_CONTAINS_EVALUATED (~trigger.ids~ ~ProficiencyGT~)) BEGIN
+ OUTER_TEXT_SPRINT prof_folder ~prof_2_5~
+ ACTION_IF (FILE_EXISTS_IN_GAME ~d5__profs.d5~) BEGIN
+ OUTER_SPRINT prof_menu_warrior ~d5profw~
+ END
+ ACTION_IF !(FILE_EXISTS_IN_GAME ~d5__profs.d5~) BEGIN
+ OUTER_SPRINT prof_menu_warrior ~d5profx~
+ END
+END
+
+
+//COPY MARKER FILE_________________________________________________________________
+//
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5__dialprof.d5~ ~override~
+//__________________________________________________________________________________
+
+//first, grab available spellstate_________________________________________________
+//
+DEFINE_ACTION_FUNCTION d5_resolve_state INT_VAR index=0 delete=0 STR_VAR new_state_id = ~blah~ RET new_state_ind BEGIN
+ OUTER_SET min_new=118
+ COPY_EXISTING ~splstate.ids~ override
+ new_state_ind=0
+ found=0
+ READ_2DA_ENTRIES_NOW stats 2
+ FOR (row=0;row ind BEGIN
+ PATCH_IF found=0 && (row+1 < stats) BEGIN // not at the end of file
+ next_row = row+1
+ next_ind = EVAL $stat("%next_row%")
+ PATCH_IF index BEGIN
+ PATCH_IF indexind BEGIN
+ INSERT_2DA_ROW next_row 2 ~%index% %new_state_id%~
+ found=1
+ END
+ END ELSE BEGIN
+ PATCH_IF new_state_indind BEGIN
+ INSERT_2DA_ROW stats 2 ~%new_state_ind% %new_state_id%~
+ END ELSE BEGIN
+ new_state_ind+=1
+ INSERT_2DA_ROW stats 2 ~%new_state_ind% %new_state_id%~
+ END
+ END
+ END
+ END
+ END // PHP_EACH
+ END
+END
+
+LAF d5_resolve_state STR_VAR new_state_id = ~D5_NEW_PROFS~ RET new_state_ind END
+OUTER_SET new_profs_state = %new_state_ind%
+APPEND ~splprot.2da~ ~D5_NEW_PROFS%TAB%0x112%TAB%%new_profs_state%%TAB%1~
+
+/*
+LAF d5_resolve_state STR_VAR new_state_id = ~D5_NO_NEW_PROFS~ RET new_state_ind END
+OUTER_SET no_new_profs_state = %new_state_ind%
+APPEND ~splprot.2da~ ~D5_NO_NEW_PROFS%TAB%0x112%TAB%%no_new_profs_state%%TAB%1~
+*/
+
+COPY_EXISTING ~splprot.2da~ ~override~
+ COUNT_2DA_COLS cols
+ READ_2DA_ENTRIES_NOW rows cols
+ FOR (row = 1; row < rows; ++row) BEGIN
+ READ_2DA_ENTRY_FORMER rows row 0 ~stat~
+ PATCH_IF ~%stat%~ STRING_EQUAL_CASE ~D5_NEW_PROFS~ BEGIN
+ SET profs_state = %row%
+ END
+// PATCH_IF ~%stat%~ STRING_EQUAL_CASE ~D5_NO_NEW_PROFS~ BEGIN
+// SET no_profs_state = %row%
+// END
+ END
+BUT_ONLY
+//__________________________________________________________________________________
+
+ACTION_DEFINE_ASSOCIATIVE_ARRAY d5_kits_profs BEGIN
+ MAGE , class , MAGE => 3
+ FIGHTER , class , FIGHTER => 4
+ CLERIC , class , CLERIC => 5
+ THIEF , class , THIEF => 6
+ BARD , class , BARD => 7
+ PALADIN , class , PALADIN => 8
+ DRUID , class , DRUID => 9
+ RANGER , class , RANGER => 10
+ FIGHTER_MAGE , class , FIGHTER_MAGE => 11
+ FIGHTER_CLERIC , class , FIGHTER_CLERIC => 12
+ FIGHTER_THIEF , class , FIGHTER_THIEF => 13
+ FIGHTER_MAGE_THIEF , class , FIGHTER_MAGE_THIEF => 14
+ MAGE_THIEF , class , MAGE_THIEF => 15
+ CLERIC_MAGE , class , CLERIC_MAGE => 16
+ CLERIC_THIEF , class , CLERIC_THIEF => 17
+ FIGHTER_DRUID , class , FIGHTER_DRUID => 18
+ FIGHTER_MAGE_CLERIC , class , FIGHTER_MAGE_CLERIC => 19
+ CLERIC_RANGER , class , CLERIC_RANGER => 20
+ MONK , class , MONK => 50
+END
+
+ACTION_IF (FILE_EXISTS_IN_GAME ~clabshgs.2da~) OR (FILE_EXISTS_IN_GAME ~clabsh01.2da~) BEGIN
+ OUTER_SPRINT $d5_kits_profs(~SHAMAN~ ~class~) ~59~
+END
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profx.baf~ ~weidu_external/dialprof/d5profx.baf~
+ ~%MOD_FOLDER%/lib/%prof_folder%/d5profy.baf~ ~weidu_external/dialprof/d5profy.baf~
+
+COPY_EXISTING ~kitlist.2da~ ~override~
+ COUNT_2DA_COLS cols
+ READ_2DA_ENTRIES_NOW ~r2en_kitlist~ cols
+ FOR (row = 1; row < r2en_kitlist; row += 1) BEGIN
+ READ_2DA_ENTRY_FORMER ~r2en_kitlist~ row 6 prof_col
+ READ_2DA_ENTRY_FORMER ~r2en_kitlist~ row 8 classids_num
+ READ_2DA_ENTRY_FORMER ~r2en_kitlist~ row 9 kitids_num
+ LOOKUP_IDS_SYMBOL_OF_INT kitids_name ~kit~ %kitids_num%
+ LOOKUP_IDS_SYMBOL_OF_INT classids_name ~class~ %classids_num%
+ PATCH_IF (VARIABLE_IS_SET %kitids_name%) AND (VARIABLE_IS_SET %classids_name%) BEGIN
+ SPRINT $d5_kits_profs(~%kitids_name%~ ~kit~ ~%classids_name%~) ~%prof_col%~
+ END
+ END
+
+ACTION_PHP_EACH d5_kits_profs AS kitidsname => profcol BEGIN
+// PRINT ~%kitidsname% = %kitidsname_1% = column %profcol%~
+ ACTION_IF (~%kitidsname_1%~ STRING_EQUAL_CASE ~kit~) BEGIN
+ APPEND_OUTER ~weidu_external/dialprof/d5profx.baf~ ~
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Kit(LastSummonerOf(Myself),%kitidsname%)
+ Class(LastSummonerOf(Myself),%kitidsname_2%)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+~ KEEP_CRLF
+ APPEND_OUTER ~weidu_external/dialprof/d5profy.baf~ ~
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Kit(LastSummonerOf(Myself),%kitidsname%)
+ Class(LastSummonerOf(Myself),%kitidsname_2%)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+~ KEEP_CRLF
+ END
+END
+
+ACTION_IF (FILE_EXISTS_IN_GAME ~clabshgs.2da~) OR (FILE_EXISTS_IN_GAME ~clabsh01.2da~) BEGIN
+
+ APPEND_OUTER ~weidu_external/dialprof/d5profx.baf~ ~
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),SHAMAN)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SHAMAN","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+~ KEEP_CRLF
+
+ APPEND_OUTER ~weidu_external/dialprof/d5profy.baf~ ~
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),SHAMAN)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SHAMAN","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+~ KEEP_CRLF
+
+END
+
+APPEND_OUTER ~weidu_external/dialprof/d5profx.baf~ ~
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),MAGE)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_MAGE","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),CLERIC)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLERIC","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),BARD)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_BARD","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),PALADIN)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_PALADIN","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),DRUID)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_DRUID","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),RANGER)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_RANGER","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_MAGE)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_MAGE","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_CLERIC)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_CLERIC","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_MAGE_THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_MAGE_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),MAGE_THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_MAGE_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),CLERIC_MAGE)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLERIC_MAGE","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),CLERIC_THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLERIC_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_DRUID)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_DRUID","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_MAGE_CLERIC)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_MAGE_CLERIC","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),CLERIC_RANGER)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLERIC_RANGER","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFX","GLOBAL",0)
+ Class(LastSummonerOf(Myself),MONK)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_MONK","LOCALS",1))
+ SetGlobal("D5_PROFX","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profx",Myself))
+END
+
+IF
+ True()
+THEN
+ RESPONSE #100
+ SetGlobal("D5_PROFX","GLOBAL",0)
+ SetGlobal("D5_BASTARD_SWORD","LOCALS",0)
+ SetGlobal("D5_LONG_SWORD","LOCALS",0)
+ SetGlobal("D5_SHORT_SWORD","LOCALS",0)
+ SetGlobal("D5_AXE","LOCALS",0)
+ SetGlobal("D5_GREATSWORD","LOCALS",0)
+ SetGlobal("D5_KATANA","LOCALS",0)
+ SetGlobal("D5_SCIMITAR","LOCALS",0)
+ SetGlobal("D5_DAGGER","LOCALS",0)
+ SetGlobal("D5_HAMMER","LOCALS",0)
+ SetGlobal("D5_CLUB","LOCALS",0)
+ SetGlobal("D5_SPEAR","LOCALS",0)
+ SetGlobal("D5_HALBERD","LOCALS",0)
+ SetGlobal("D5_FLAIL","LOCALS",0)
+ SetGlobal("D5_MACE","LOCALS",0)
+ SetGlobal("D5_STAFF","LOCALS",0)
+ SetGlobal("D5_CROSSBOW","LOCALS",0)
+ SetGlobal("D5_LONG_BOW","LOCALS",0)
+ SetGlobal("D5_SHORT_BOW","LOCALS",0)
+ SetGlobal("D5_DART","LOCALS",0)
+ SetGlobal("D5_SLING","LOCALS",0)
+ SetGlobal("D5_TWO_HAND","LOCALS",0)
+ SetGlobal("D5_SHIELD","LOCALS",0)
+ SetGlobal("D5_SINGLE_WEAPON","LOCALS",0)
+ SetGlobal("D5_TWO_WEAPON","LOCALS",0)
+ SetNumTimesTalkedTo(0)
+ DestroySelf()
+END
+~ KEEP_CRLF
+
+APPEND_OUTER ~weidu_external/dialprof/d5profy.baf~ ~
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),MAGE)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_MAGE","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),CLERIC)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLERIC","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),BARD)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_BARD","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),PALADIN)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_PALADIN","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),DRUID)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_DRUID","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),RANGER)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_RANGER","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_MAGE)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_MAGE","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_CLERIC)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_CLERIC","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_MAGE_THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_MAGE_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),MAGE_THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_MAGE_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),CLERIC_MAGE)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLERIC_MAGE","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),CLERIC_THIEF)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLERIC_THIEF","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_DRUID)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_DRUID","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),FIGHTER_MAGE_CLERIC)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FIGHTER_MAGE_CLERIC","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),CLERIC_RANGER)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLERIC_RANGER","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ NumTimesTalkedTo(0)
+ Global("D5_PROFY","GLOBAL",0)
+ Class(LastSummonerOf(Myself),MONK)
+THEN
+ RESPONSE #100
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_MONK","LOCALS",1))
+ SetGlobal("D5_PROFY","GLOBAL",1)
+ SetNumTimesTalkedTo(1)
+ ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5profy",Myself))
+END
+
+IF
+ True()
+THEN
+ RESPONSE #100
+ SetGlobal("D5_PROFY","GLOBAL",0)
+ SetGlobal("D5_BASTARD_SWORD","LOCALS",0)
+ SetGlobal("D5_LONG_SWORD","LOCALS",0)
+ SetGlobal("D5_SHORT_SWORD","LOCALS",0)
+ SetGlobal("D5_AXE","LOCALS",0)
+ SetGlobal("D5_GREATSWORD","LOCALS",0)
+ SetGlobal("D5_KATANA","LOCALS",0)
+ SetGlobal("D5_SCIMITAR","LOCALS",0)
+ SetGlobal("D5_DAGGER","LOCALS",0)
+ SetGlobal("D5_HAMMER","LOCALS",0)
+ SetGlobal("D5_CLUB","LOCALS",0)
+ SetGlobal("D5_SPEAR","LOCALS",0)
+ SetGlobal("D5_HALBERD","LOCALS",0)
+ SetGlobal("D5_FLAIL","LOCALS",0)
+ SetGlobal("D5_MACE","LOCALS",0)
+ SetGlobal("D5_STAFF","LOCALS",0)
+ SetGlobal("D5_CROSSBOW","LOCALS",0)
+ SetGlobal("D5_LONG_BOW","LOCALS",0)
+ SetGlobal("D5_SHORT_BOW","LOCALS",0)
+ SetGlobal("D5_DART","LOCALS",0)
+ SetGlobal("D5_SLING","LOCALS",0)
+ SetGlobal("D5_TWO_HAND","LOCALS",0)
+ SetGlobal("D5_SHIELD","LOCALS",0)
+ SetGlobal("D5_SINGLE_WEAPON","LOCALS",0)
+ SetGlobal("D5_TWO_WEAPON","LOCALS",0)
+ SetNumTimesTalkedTo(0)
+ DestroySelf()
+END
+~ KEEP_CRLF
+
+COPY_EXISTING ~weapprof.2da~ ~override~
+ COUNT_2DA_COLS cols
+ PHP_EACH d5_kits_profs AS kitidsname => profcol BEGIN
+ READ_2DA_ENTRY 8 (%profcol% + 1) cols bastard_sword_prof
+ READ_2DA_ENTRY 9 (%profcol% + 1) cols long_sword_prof
+ READ_2DA_ENTRY 10 (%profcol% + 1) cols short_sword_prof
+ READ_2DA_ENTRY 11 (%profcol% + 1) cols axe_prof
+ READ_2DA_ENTRY 12 (%profcol% + 1) cols greatsword_prof
+ READ_2DA_ENTRY 13 (%profcol% + 1) cols katana_prof
+ READ_2DA_ENTRY 14 (%profcol% + 1) cols scimitar_prof
+ READ_2DA_ENTRY 15 (%profcol% + 1) cols dagger_prof
+ READ_2DA_ENTRY 16 (%profcol% + 1) cols hammer_prof
+ READ_2DA_ENTRY 17 (%profcol% + 1) cols club_prof
+ READ_2DA_ENTRY 18 (%profcol% + 1) cols spear_prof
+ READ_2DA_ENTRY 19 (%profcol% + 1) cols halberd_prof
+ READ_2DA_ENTRY 20 (%profcol% + 1) cols flail_prof
+ READ_2DA_ENTRY 21 (%profcol% + 1) cols mace_prof
+ READ_2DA_ENTRY 22 (%profcol% + 1) cols staff_prof
+ READ_2DA_ENTRY 23 (%profcol% + 1) cols crossbow_prof
+ READ_2DA_ENTRY 24 (%profcol% + 1) cols long_bow_prof
+ READ_2DA_ENTRY 25 (%profcol% + 1) cols short_bow_prof
+ READ_2DA_ENTRY 26 (%profcol% + 1) cols dart_prof
+ READ_2DA_ENTRY 27 (%profcol% + 1) cols sling_prof
+ READ_2DA_ENTRY 28 (%profcol% + 1) cols two_hand_style
+ READ_2DA_ENTRY 29 (%profcol% + 1) cols shield_style
+ READ_2DA_ENTRY 30 (%profcol% + 1) cols single_weapon_style
+ READ_2DA_ENTRY 31 (%profcol% + 1) cols two_weapon_style
+ INNER_ACTION BEGIN
+ COPY ~weidu_external/dialprof/d5profx.baf~ ~weidu_external/dialprof/d5profx.baf~
+ ~weidu_external/dialprof/d5profy.baf~ ~weidu_external/dialprof/d5profy.baf~
+ PATCH_IF (%two_weapon_style% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_TWO_WEAPON","LOCALS",%two_weapon_style%))~
+ END
+ PATCH_IF (%single_weapon_style% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SINGLE_WEAPON","LOCALS",%single_weapon_style%))~
+ END
+ PATCH_IF (%shield_style% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SHIELD","LOCALS",%shield_style%))~
+ END
+ PATCH_IF (%two_hand_style% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_TWO_HAND","LOCALS",%two_hand_style%))~
+ END
+ PATCH_IF (%sling_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SLING","LOCALS",%sling_prof%))~
+ END
+ PATCH_IF (%dart_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_DART","LOCALS",%dart_prof%))~
+ END
+ PATCH_IF (%short_bow_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SHORT_BOW","LOCALS",%short_bow_prof%))~
+ END
+ PATCH_IF (%long_bow_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_LONG_BOW","LOCALS",%long_bow_prof%))~
+ END
+ PATCH_IF (%crossbow_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CROSSBOW","LOCALS",%crossbow_prof%))~
+ END
+ PATCH_IF (%staff_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_STAFF","LOCALS",%staff_prof%))~
+ END
+ PATCH_IF (%mace_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_MACE","LOCALS",%mace_prof%))~
+ END
+ PATCH_IF (%flail_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_FLAIL","LOCALS",%flail_prof%))~
+ END
+ PATCH_IF (%halberd_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_HALBERD","LOCALS",%halberd_prof%))~
+ END
+ PATCH_IF (%spear_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SPEAR","LOCALS",%spear_prof%))~
+ END
+ PATCH_IF (%club_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_CLUB","LOCALS",%club_prof%))~
+ END
+ PATCH_IF (%hammer_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_HAMMER","LOCALS",%hammer_prof%))~
+ END
+ PATCH_IF (%dagger_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_DAGGER","LOCALS",%dagger_prof%))~
+ END
+ PATCH_IF (%scimitar_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SCIMITAR","LOCALS",%scimitar_prof%))~
+ END
+ PATCH_IF (%katana_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_KATANA","LOCALS",%katana_prof%))~
+ END
+ PATCH_IF (%greatsword_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_GREATSWORD","LOCALS",%greatsword_prof%))~
+ END
+ PATCH_IF (%axe_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_AXE","LOCALS",%axe_prof%))~
+ END
+ PATCH_IF (%short_sword_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_SHORT_SWORD","LOCALS",%short_sword_prof%))~
+ END
+ PATCH_IF (%long_sword_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_LONG_SWORD","LOCALS",%long_sword_prof%))~
+ END
+ PATCH_IF (%bastard_sword_prof% > 0) BEGIN
+ REPLACE_TEXTUALLY ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))~ ~ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_%kitidsname%","LOCALS",1))
+ ActionOverride(LastSummonerOf(Myself),SetGlobal("D5_BASTARD_SWORD","LOCALS",%bastard_sword_prof%))~
+ END
+ END
+ END
+
+ BUT_ONLY
+
+COPY_EXISTING ~weapprof.2da~ ~override~
+ COUNT_2DA_COLS cols
+ READ_2DA_ENTRY 8 2 cols bastard_sword_name
+ READ_2DA_ENTRY 8 3 cols bastard_sword_desc
+ READ_2DA_ENTRY 9 2 cols long_sword_name
+ READ_2DA_ENTRY 9 3 cols long_sword_desc
+ READ_2DA_ENTRY 10 2 cols short_sword_name
+ READ_2DA_ENTRY 10 3 cols short_sword_desc
+ READ_2DA_ENTRY 11 2 cols axe_name
+ READ_2DA_ENTRY 11 3 cols axe_desc
+ READ_2DA_ENTRY 12 2 cols greatsword_name
+ READ_2DA_ENTRY 12 3 cols greatsword_desc
+ READ_2DA_ENTRY 13 2 cols katana_name
+ READ_2DA_ENTRY 13 3 cols katana_desc
+ READ_2DA_ENTRY 14 2 cols scimitar_name
+ READ_2DA_ENTRY 14 3 cols scimitar_desc
+ READ_2DA_ENTRY 15 2 cols dagger_name
+ READ_2DA_ENTRY 15 3 cols dagger_desc
+ READ_2DA_ENTRY 16 2 cols hammer_name
+ READ_2DA_ENTRY 16 3 cols hammer_desc
+ READ_2DA_ENTRY 18 2 cols spear_name
+ READ_2DA_ENTRY 18 3 cols spear_desc
+ READ_2DA_ENTRY 19 2 cols halberd_name
+ READ_2DA_ENTRY 19 3 cols halberd_desc
+ READ_2DA_ENTRY 20 2 cols flail_name
+ READ_2DA_ENTRY 20 3 cols flail_desc
+ READ_2DA_ENTRY 21 2 cols mace_name
+ READ_2DA_ENTRY 21 3 cols mace_desc
+ READ_2DA_ENTRY 17 2 cols club_name
+ READ_2DA_ENTRY 17 3 cols club_desc
+ READ_2DA_ENTRY 22 2 cols staff_name
+ READ_2DA_ENTRY 22 3 cols staff_desc
+ READ_2DA_ENTRY 23 2 cols crossbow_name
+ READ_2DA_ENTRY 23 3 cols crossbow_desc
+ READ_2DA_ENTRY 24 2 cols long_bow_name
+ READ_2DA_ENTRY 24 3 cols long_bow_desc
+ READ_2DA_ENTRY 25 2 cols short_bow_name
+ READ_2DA_ENTRY 25 3 cols short_bow_desc
+ READ_2DA_ENTRY 26 2 cols dart_name
+ READ_2DA_ENTRY 26 3 cols dart_desc
+ READ_2DA_ENTRY 27 2 cols sling_name
+ READ_2DA_ENTRY 27 3 cols sling_desc
+ READ_2DA_ENTRY 28 2 cols two_hand_name
+ READ_2DA_ENTRY 28 3 cols two_hand_desc
+ READ_2DA_ENTRY 29 2 cols shield_fighting_name
+ READ_2DA_ENTRY 29 3 cols shield_fighting_desc
+ READ_2DA_ENTRY 30 2 cols single_weapon_name
+ READ_2DA_ENTRY 30 3 cols single_weapon_desc
+ READ_2DA_ENTRY 31 2 cols two_weapon_name
+ READ_2DA_ENTRY 31 3 cols two_weapon_desc
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/%prof_menu_warrior%.d~ ~weidu_external/dialprof/d5profx.d~
+ ~%MOD_FOLDER%/lib/%prof_folder%/d5profy.d~ ~weidu_external/dialprof/d5profy.d~
+ REPLACE_TEXTUALLY ~bastard_sword_name~ ~%bastard_sword_name%~
+ REPLACE_TEXTUALLY ~bastard_sword_desc~ ~%bastard_sword_desc%~
+ REPLACE_TEXTUALLY ~long_sword_name~ ~%long_sword_name%~
+ REPLACE_TEXTUALLY ~long_sword_desc~ ~%long_sword_desc%~
+ REPLACE_TEXTUALLY ~short_sword_name~ ~%short_sword_name%~
+ REPLACE_TEXTUALLY ~short_sword_desc~ ~%short_sword_desc%~
+ REPLACE_TEXTUALLY ~axe_name~ ~%axe_name%~
+ REPLACE_TEXTUALLY ~axe_desc~ ~%axe_desc%~
+ REPLACE_TEXTUALLY ~greatsword_name~ ~%greatsword_name%~
+ REPLACE_TEXTUALLY ~greatsword_desc~ ~%greatsword_desc%~
+ REPLACE_TEXTUALLY ~katana_name~ ~%katana_name%~
+ REPLACE_TEXTUALLY ~katana_desc~ ~%katana_desc%~
+ REPLACE_TEXTUALLY ~scimitar_name~ ~%scimitar_name%~
+ REPLACE_TEXTUALLY ~scimitar_desc~ ~%scimitar_desc%~
+ REPLACE_TEXTUALLY ~dagger_name~ ~%dagger_name%~
+ REPLACE_TEXTUALLY ~dagger_desc~ ~%dagger_desc%~
+ REPLACE_TEXTUALLY ~hammer_name~ ~%hammer_name%~
+ REPLACE_TEXTUALLY ~hammer_desc~ ~%hammer_desc%~
+ REPLACE_TEXTUALLY ~spear_name~ ~%spear_name%~
+ REPLACE_TEXTUALLY ~spear_desc~ ~%spear_desc%~
+ REPLACE_TEXTUALLY ~halberd_name~ ~%halberd_name%~
+ REPLACE_TEXTUALLY ~halberd_desc~ ~%halberd_desc%~
+ REPLACE_TEXTUALLY ~flail_name~ ~%flail_name%~
+ REPLACE_TEXTUALLY ~flail_desc~ ~%flail_desc%~
+ REPLACE_TEXTUALLY ~mace_name~ ~%mace_name%~
+ REPLACE_TEXTUALLY ~mace_desc~ ~%mace_desc%~
+ REPLACE_TEXTUALLY ~club_name~ ~%club_name%~
+ REPLACE_TEXTUALLY ~club_desc~ ~%club_desc%~
+ REPLACE_TEXTUALLY ~staff_name~ ~%staff_name%~
+ REPLACE_TEXTUALLY ~staff_desc~ ~%staff_desc%~
+ REPLACE_TEXTUALLY ~crossbow_name~ ~%crossbow_name%~
+ REPLACE_TEXTUALLY ~crossbow_desc~ ~%crossbow_desc%~
+ REPLACE_TEXTUALLY ~long_bow_name~ ~%long_bow_name%~
+ REPLACE_TEXTUALLY ~long_bow_desc~ ~%long_bow_desc%~
+ REPLACE_TEXTUALLY ~short_bow_name~ ~%short_bow_name%~
+ REPLACE_TEXTUALLY ~short_bow_desc~ ~%short_bow_desc%~
+ REPLACE_TEXTUALLY ~dart_name~ ~%dart_name%~
+ REPLACE_TEXTUALLY ~dart_desc~ ~%dart_desc%~
+ REPLACE_TEXTUALLY ~sling_name~ ~%sling_name%~
+ REPLACE_TEXTUALLY ~sling_desc~ ~%sling_desc%~
+ REPLACE_TEXTUALLY ~two_hand_name~ ~%two_hand_name%~
+ REPLACE_TEXTUALLY ~two_hand_desc~ ~%two_hand_desc%~
+ REPLACE_TEXTUALLY ~shield_fighting_name~ ~%shield_fighting_name%~
+ REPLACE_TEXTUALLY ~shield_fighting_desc~ ~%shield_fighting_desc%~
+ REPLACE_TEXTUALLY ~single_weapon_name~ ~%single_weapon_name%~
+ REPLACE_TEXTUALLY ~single_weapon_desc~ ~%single_weapon_desc%~
+ REPLACE_TEXTUALLY ~two_weapon_name~ ~%two_weapon_name%~
+ REPLACE_TEXTUALLY ~two_weapon_desc~ ~%two_weapon_desc%~
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override~
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51lswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 90 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51sswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 91 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51baxe.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 92 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d512swo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 93 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51kata.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 94 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51scim.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 95 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51dagg.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 96 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51hamm.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 97 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51spea.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 98 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51halb.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 99 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51flai.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 100 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51mace.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 101 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51club.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 115 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51staf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 102 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51xbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 103 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51lbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 104 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51sbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 105 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51dart.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 106 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51slin.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 107 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51s2hw.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 111 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51ssns.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 112 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51ssws.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 113 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d51stwf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter2 = 114 END
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52bswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52lswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 90 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52sswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 91 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52baxe.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 92 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d522swo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 93 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52kata.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 94 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52scim.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 95 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52dagg.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 96 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52hamm.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 97 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52spea.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 98 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52halb.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 99 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52flai.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 100 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52mace.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 101 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52club.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 115 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52staf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 102 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52xbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 103 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52lbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 104 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52sbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 105 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52dart.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 106 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52slin.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 107 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52s2hw.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 111 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52ssns.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 112 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52ssws.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 113 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d52stwf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 2 parameter2 = 114 END
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53bswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53lswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 90 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53sswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 91 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53baxe.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 92 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d532swo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 93 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53kata.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 94 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53scim.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 95 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53dagg.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 96 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53hamm.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 97 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53spea.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 98 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53halb.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 99 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53flai.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 100 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53mace.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 101 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53club.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 115 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53staf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 102 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53xbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 103 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53lbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 104 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53sbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 105 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53dart.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 106 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53slin.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 107 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53s2hw.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 111 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53ssns.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 112 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53ssws.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 113 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d53stwf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 3 parameter2 = 114 END
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54bswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54lswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 90 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54sswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 91 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54baxe.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 92 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d542swo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 93 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54kata.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 94 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54scim.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 95 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54dagg.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 96 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54hamm.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 97 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54spea.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 98 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54halb.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 99 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54flai.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 100 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54mace.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 101 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54club.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 115 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54staf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 102 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54xbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 103 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54lbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 104 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54sbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 105 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54dart.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 106 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54slin.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 107 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54s2hw.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 111 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54ssns.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 112 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54ssws.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 113 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d54stwf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 4 parameter2 = 114 END
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55bswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55lswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 90 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55sswo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 91 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55baxe.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 92 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d552swo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 93 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55kata.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 94 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55scim.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 95 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55dagg.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 96 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55hamm.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 97 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55spea.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 98 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55halb.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 99 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55flai.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 100 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55mace.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 101 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55club.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 115 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55staf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 102 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55xbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 103 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55lbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 104 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55sbow.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 105 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55dart.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 106 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55slin.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 107 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55s2hw.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 111 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55ssns.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 112 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55ssws.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 113 END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d51bswo.spl~ ~override/d55stwf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 233 parameter1 = 5 parameter2 = 114 END
+
+COMPILE ~weidu_external/dialprof/d5profx.baf~
+COMPILE ~weidu_external/dialprof/d5profx.d~
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5_profx.bam~ ~override~
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profx.eff~ ~override~
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profx.cre~ ~override~
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxa~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override~
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxa~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof2.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxb~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxb.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof2~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profb~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxb~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profb.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profb~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof3.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxc~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxc.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof3~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profc~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxc~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profc.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profc~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof4.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxd~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxd.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof4~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profd~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxd~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profd.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profd~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof5.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxe~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxe.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof5~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profe~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxe~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profe.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profe~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof6.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxf~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof6~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5proff~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxf~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5proff.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5proff~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof7.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxg~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxg.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof7~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profg~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxg~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profg.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profg~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof8.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxh~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxh.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof8~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profh~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxh~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profh.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profh~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof9.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxi~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxi.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof9~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profi~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxi~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profi.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profi~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof10.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxj~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxj.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof10~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profj~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxj~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profj.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profj~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof11.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxk~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxk.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof11~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profk~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxk~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profk.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profk~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof12.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxl~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxl.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof12~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profl~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxl~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profl.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profl~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof13.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxm~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxm.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof13~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profm~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxm~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profm.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profm~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof14.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxn~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxn.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof14~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profn~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxn~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profn.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profn~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof15.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxo~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxo.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof15~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profo~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxo~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profo.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profo~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof16.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxp~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxp.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof16~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profp~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxp~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profp.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profp~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof17.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxq~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxq.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof17~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profq~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxq~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profq.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profq~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof18.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxr~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxr.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof18~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profr~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxr~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profr.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profr~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof19.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxs~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxs.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof19~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5profs~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxs~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5profs.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5profs~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5prof20.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5profxt~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5profxt.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 206 STR_VAR resource = ~d5prof20~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5proft~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5profxt~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5proft.spl~
+ SAY NAME1 @2091
+ SAY UNIDENTIFIED_DESC @2091
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profx~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5proft~ END
+
+COMPILE ~weidu_external/dialprof/d5profy.baf~
+COMPILE ~weidu_external/dialprof/d5profy.d~
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5_profy.bam~ ~override~
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profy.eff~ ~override~
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profy.cre~ ~override~
+
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f1.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fya~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fya.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0fa~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fya~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0fa.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0fa~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f2.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fyb~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fyb.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0fb~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fyb~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0fb.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0fb~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f3.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fyc~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fyc.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0fc~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fyc~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0fc.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0fc~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f4.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fyd~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fyd.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0fd~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fyd~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0fd.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0fd~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f5.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fye~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fye.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0fe~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fye~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0fe.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0fe~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f6.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fyf~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fyf.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0ff~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fyf~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0ff.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0ff~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f7.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fyg~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fyg.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0fg~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fyg~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0fg.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0fg~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f8.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fyh~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fyh.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0fh~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fyh~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0fh.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0fh~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5prof1.spl~ ~override/d5pr0f9.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter2 = %profs_state% STR_VAR resource = ~d5pr0fyi~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profxa.spl~ ~override/d5pr0fyi.spl~
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 171 STR_VAR resource = ~d5pr0fi~ END
+ LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = ~d5pr0fyi~ END
+COPY ~%MOD_FOLDER%/lib/%prof_folder%/d5profa.spl~ ~override/d5pr0fi.spl~
+ SAY NAME1 @2090
+ SAY UNIDENTIFIED_DESC @2090
+ WRITE_ASCII 0x3a ~d5_profx~ #8
+ LPF ALTER_SPELL_HEADER STR_VAR icon = ~d5_profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 177 STR_VAR resource = ~d5profy~ END
+ LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 172 STR_VAR resource = ~d5pr0fi~ END
+
+//END
+//__________________________________________________________________________________
diff --git a/scales_of_balance/readme-sob.html b/scales_of_balance/readme-sob.html
index 972b505..d68f9d6 100755
--- a/scales_of_balance/readme-sob.html
+++ b/scales_of_balance/readme-sob.html
@@ -57,7 +57,7 @@ Compatibility
[tweak mods including Tweaks Anthology]
SCS
Scales of Balance (v6+)
- [end-of-order mods like LevelOneNPCs, NPC_EE, Randomiser, etc.]
+ [end-of-order mods like LevelOneNPCs, NPC_EE, Dual to Kit, etc.]
Modder Resources:
Scales of Balance adds several custom spellstates to SPLSTATE.IDS. It uses the 4th byte of stat 115, Clubs proficiency, for certain features, principally the Revised Weapon Styles component.
diff --git a/scales_of_balance/scales_of_balance.tp2 b/scales_of_balance/scales_of_balance.tp2
index e867eac..6f67c33 100755
--- a/scales_of_balance/scales_of_balance.tp2
+++ b/scales_of_balance/scales_of_balance.tp2
@@ -1,7 +1,7 @@
BACKUP ~weidu_external/backup/scales_of_balance~
AUTHOR ~SubtleD~
-VERSION ~v6.5a7~
+VERSION ~v6.5a8~
//README ~scales_of_balance/readme-SoB.html~