ACTION_DEFINE_ASSOCIATIVE_ARRAY d5_kits_profs BEGIN
MAGE , class => 3
FIGHTER , class => 4
CLERIC , class => 5
THIEF , class => 6
BARD , class => 7
PALADIN , class => 8
DRUID , class => 9
RANGER , class => 10
FIGHTER_MAGE , class => 11
FIGHTER_CLERIC , class => 12
FIGHTER_THIEF , class => 13
FIGHTER_MAGE_THIEF , class => 14
MAGE_THIEF , class => 15
CLERIC_MAGE , class => 16
CLERIC_THIEF , class => 17
FIGHTER_DRUID , class => 18
FIGHTER_MAGE_CLERIC , class => 19
CLERIC_RANGER , class => 20
MONK , class => 50
END
ACTION_IF (FILE_EXISTS_IN_GAME ~clabshgs.2da~) OR (FILE_EXISTS_IN_GAME ~clabsh01.2da~) BEGIN
APPEND_OUTER ~test/files/d5_profx.baf~ ~
IF
NumTimesTalkedTo(0)
Class(LastSummonerOf(Myself),SHAMAN)
Kit(LastSummonerOf(Myself),TRUECLASS)
THEN
RESPONSE #100
SetGlobal("D5_SHAMAN","LOCALS",1)
END
~ KEEP_CRLF
OUTER_SPRINT $d5_kits_profs(~SHAMAN~ ~class~) ~59~
END
COPY_EXISTING ~kitlist.2da~ ~override~
COUNT_2DA_COLS cols
READ_2DA_ENTRIES_NOW ~r2en_kitlist~ cols
FOR (row = 2; row < r2en_kitlist; row += 1) BEGIN
READ_2DA_ENTRY_FORMER ~r2en_kitlist~ row 6 prof_col
READ_2DA_ENTRY_FORMER ~r2en_kitlist~ row 9 kitids_num
LOOKUP_IDS_SYMBOL_OF_INT kitids_name ~kit~ %kitids_num%
SPRINT $d5_kits_profs(~%kitids_name%~ ~kit~) ~%prof_col%~
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 ~test/files/d5_profx.baf~ ~
IF
NumTimesTalkedTo(0)
Kit(LastSummonerOf(Myself),%kitidsname%)
THEN
RESPONSE #100
SetGlobal("D5_%kitidsname%","LOCALS",1)
END
~ KEEP_CRLF
END
END
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 ~test/files/d5_profx.baf~ ~test/files/d5_profx.baf~
PATCH_IF (%two_weapon_style% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_TWO_WEAPON","LOCALS",%two_weapon_style%)~
END
PATCH_IF (%single_weapon_style% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_SINGLE_WEAPON","LOCALS",%single_weapon_style%)~
END
PATCH_IF (%shield_style% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_SHIELD","LOCALS",%shield_style%)~
END
PATCH_IF (%two_hand_style% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_TWO_HAND","LOCALS",%two_hand_style%)~
END
PATCH_IF (%sling_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_SLING","LOCALS",%sling_prof%)~
END
PATCH_IF (%dart_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_DART","LOCALS",%dart_prof%)~
END
PATCH_IF (%short_bow_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_SHORT_BOW","LOCALS",%short_bow_prof%)~
END
PATCH_IF (%long_bow_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_LONG_BOW","LOCALS",%long_bow_prof%)~
END
PATCH_IF (%crossbow_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_CROSSBOW","LOCALS",%crossbow_prof%)~
END
PATCH_IF (%staff_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_STAFF","LOCALS",%staff_prof%)~
END
PATCH_IF (%mace_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_MACE","LOCALS",%mace_prof%)~
END
PATCH_IF (%flail_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_FLAIL","LOCALS",%flail_prof%)~
END
PATCH_IF (%halberd_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_HALBERD","LOCALS",%halberd_prof%)~
END
PATCH_IF (%spear_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_SPEAR","LOCALS",%spear_prof%)~
END
PATCH_IF (%club_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_CLUB","LOCALS",%club_prof%)~
END
PATCH_IF (%hammer_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_HAMMER","LOCALS",%hammer_prof%)~
END
PATCH_IF (%dagger_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_DAGGER","LOCALS",%dagger_prof%)~
END
PATCH_IF (%scimitar_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_SCIMITAR","LOCALS",%scimitar_prof%)~
END
PATCH_IF (%katana_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_KATANA","LOCALS",%katana_prof%)~
END
PATCH_IF (%greatsword_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_GREATSWORD","LOCALS",%greatsword_prof%)~
END
PATCH_IF (%axe_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_AXE","LOCALS",%axe_prof%)~
END
PATCH_IF (%short_sword_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_SHORT_SWORD","LOCALS",%short_sword_prof%)~
END
PATCH_IF (%long_sword_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_LONG_SWORD","LOCALS",%long_sword_prof%)~
END
PATCH_IF (%bastard_sword_prof% > 0) BEGIN
REPLACE_TEXTUALLY ~ SetGlobal("D5_%kitidsname%","LOCALS",1)~ ~ SetGlobal("D5_%kitidsname%","LOCALS",1)
SetGlobal("D5_BASTARD_SWORD","LOCALS",%bastard_sword_prof%)~
END
END
END
BUT_ONLY
APPEND_OUTER ~test/files/d5_profx.baf~ ~
IF
NumTimesTalkedTo(0)
Global("D5_PROFX","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("D5_PROFX","GLOBAL",1)
SetNumTimesTalkedTo(1)
ActionOverride(LastSummonerOf(Myself),StartDialogOverride("d5_profx",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() // reset global variables, then destroy self
END
~ KEEP_CRLF
COMPILE ~test/files/d5_profx.baf~