Demivrgvs Posted January 19, 2007 Share Posted January 19, 2007 Thanx Nythrun now the code works but...what exactly it's supposed to do? Cause when creating a new char the weapon restriction are the same and seeing items with NI i noticed item remains restricted to fighter-clerics... Link to comment
Nythrun Posted January 19, 2007 Share Posted January 19, 2007 You'll need a NOT with the first PATCH_IF, also - should have mentioned that, yes? Probably good to remove kit restrictions while you're there. I'd do it thusly if it were me COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ ~override~ PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN READ_BYTE 0x1f "u2" READ_BYTE 0x20 "u3" PATCH_IF ((("u2" & 0x08) != 0x08) OR (("u3" & 0x40) != 0x40) OR (("u3" & 0x20) != 0x20)) THEN BEGIN READ_BYTE 0x29 "k1" WRITE_BYTE 0x29 ("k1" & 0xf8) PATCH_IF (("u2" & 0x08) != 0x08) THEN BEGIN SET "u2" &= (` 0xc0) END PATCH_IF (("u3" & 0x40) != 0x40) THEN BEGIN SET "u2" &= (` 0x02) END PATCH_IF (("u3" & 0x20) != 0x20) THEN BEGIN SET "u2" &= (` 0x04) END END WRITE_BYTE 0x1f "u2" END BUT_ONLY Link to comment
Nythrun Posted January 19, 2007 Share Posted January 19, 2007 Weapon restrictions at character creation (i.e. what you can put points into) are handled by weapprof.2da, by the way Link to comment
Demivrgvs Posted January 19, 2007 Share Posted January 19, 2007 I need a not in the first patch_if? Where? Link to comment
Nythrun Posted January 19, 2007 Share Posted January 19, 2007 PATCH_IF NOT (("%useoneb%" BAND 0b00001000) = 0b00001000) BEGIN Link to comment
Demivrgvs Posted January 19, 2007 Share Posted January 19, 2007 It's great the codes indeed works...now if it's not too much to ask for i really wish to do the same thing for cleric-rangers and cleric-fighter-mage...than i'll have to manage with the weapprof.2da too and i don't know how. Anyway thanx! Now Anomen's finally able to wield bastard swords...Helm will approve this! Link to comment
Nythrun Posted January 19, 2007 Share Posted January 19, 2007 That block of crud I posted five posts up takes care of cleric_ranger, cleric_thief, fighter_cleric, and fighter_mage_cleric in one swell foop, if you want it. Link to comment
Miloch Posted January 19, 2007 Share Posted January 19, 2007 That block of crud I posted five posts up takes care of cleric_ranger, cleric_thief, fighter_cleric, and fighter_mage_cleric in one swell foop, if you want it.Which is which? I'm wondering if you could have an optional subcomponent for each. Due to popular request, this should really be added to the Tweak Pack. Link to comment
Kulyok Posted January 19, 2007 Share Posted January 19, 2007 Absolutely. And taking it one step further, so, say, cleric/thieves would also be able to specialize in these weapons would be cooler still. It's really convenient to have it all in the Tweakpack. Link to comment
Nythrun Posted January 20, 2007 Share Posted January 20, 2007 Give this a shot - I haven't tested it yet, so it may need some debugging OUTER_PATCH ~asdf~ BEGIN WRITE_BYTE 0x0 0xa READ_ASCII 0x0 "nl" (1) END DEFINE_ACTION_MACRO ~swpl~ BEGIN PRINT ~Allow single-class clerics one star in any weapon a fighter can use.~ PRINT ~This is required for classes who dual to cleric to retain all old proficiencies.~ PRINT ~Hit 0 and enter for no, 1 and enter for yes.~ ACTION_READLN "scc" ACTION_IF NOT (IS_AN_INT "scc") THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END ELSE BEGIN ACTION_IF ("scc" > 0x1) THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END END PRINT ~Allow cleric/thieves one star in any weapon.~ PRINT ~Hit 0 and enter for no, 1 and enter for yes.~ ACTION_READLN "ctc" ACTION_IF NOT (IS_AN_INT "ctc") THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END ELSE BEGIN ACTION_IF ("ctc" > 0x1) THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END END PRINT ~Allow cleric/rangers two stars in any weapon.~ PRINT ~Hit 0 and enter for no, 1 and enter for yes.~ ACTION_READLN "crc" ACTION_IF NOT (IS_AN_INT "crc") THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END ELSE BEGIN ACTION_IF ("crc" > 0x1) THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END END PRINT ~Allow fighter/clerics and fighter/mage/clerics two stars in any weapon.~ PRINT ~Hit 0 and enter for no, 1 and enter for yes.~ ACTION_READLN "fcc" ACTION_IF NOT (IS_AN_INT "fcc") THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END ELSE BEGIN ACTION_IF ("fcc" > 0x1) THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END END PRINT ~Allow backstab with any weapon a mage/thief, fighter/thief, or cleric/thief can use.~ PRINT ~Hit 0 and enter for no, 1 and enter for yes.~ ACTION_READLN "wpc" ACTION_IF NOT (IS_AN_INT "wpc") THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END ELSE BEGIN ACTION_IF ("wpc" > 0x1) THEN BEGIN PRINT ~Try that again.~ LAUNCH_ACTION_MACRO ~swpl~ END END END LAUNCH_ACTION_MACRO ~swpl~ COPY_EXISTING ~weapprof.2da~ ~override~ PATCH_IF (SOURCE_SIZE > 0x0) THEN BEGIN READ_2DA_ENTRY 0x0 0x0 0x3 ~array_test~ PATCH_IF NOT (~array_test~ STRING_CONTAINS_REGEXP ~ID~) THEN BEGIN SET "ai" = 0x1 END ELSE BEGIN SET "ai" = 0x0 END FOR ("i1" = 0x32; "i1" < 0xff; "i1" += 0x01) BEGIN COUNT_2DA_ROWS "i1" "i2" PATCH_IF ("i2" > 0x0) THEN BEGIN SET "cols" = "i1" END ELSE BEGIN SET "i1" = 0xff END END FOR ("i1" = 0x2; "i1" < ("cols" - "ai"); "i1" += 0x1) BEGIN SET "ps" = 0x0 READ_2DA_ENTRY 0x0 "i1" ("cols" - "ai") ~cl~ PATCH_IF ((~%cl%~ STRING_EQUAL_CASE ~CLERIC~ ) AND ("scc" = 0x1)) THEN BEGIN SET "ps" = 0x1 END ELSE PATCH_IF ((~%cl%~ STRING_EQUAL_CASE ~FIGHTER_CLERIC~ ) AND ("fcc" = 0x1)) THEN BEGIN SET "ps" = 0x2 END ELSE PATCH_IF ((~%cl%~ STRING_EQUAL_CASE ~FIGHTER_MAGE_CLERIC~) AND ("fcc" = 0x1)) THEN BEGIN SET "ps" = 0x2 END ELSE PATCH_IF ((~%cl%~ STRING_EQUAL_CASE ~CLERIC_THIEF~ ) AND ("ctc" = 0x1)) THEN BEGIN SET "ps" = 0x1 END ELSE PATCH_IF ((~%cl%~ STRING_EQUAL_CASE ~CLERIC_RANGER~ ) AND ("crc" = 0x1)) THEN BEGIN SET "ps" = 0x2 END PATCH_IF ("ps" > 0x0) THEN BEGIN SET_2DA_ENTRY_LATER ~weapprof~ 0x09 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x0a ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x0b ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x0c ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x0d ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x0e ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x0f ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x10 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x11 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x12 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x13 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x14 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x15 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x16 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x17 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x18 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x19 ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x1a ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x1b ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x1c ("i1" + "ai") "ps" SET_2DA_ENTRY_LATER ~weapprof~ 0x1d ("i1" + "ai") (("ps" > 0x1) ? 0x2 : 0x1) SET_2DA_ENTRY_LATER ~weapprof~ 0x1e ("i1" + "ai") (("ps" > 0x1) ? 0x2 : 0x1) SET_2DA_ENTRY_LATER ~weapprof~ 0x1f ("i1" + "ai") (("ps" > 0x1) ? 0x2 : 0x1) SET_2DA_ENTRY_LATER ~weapprof~ 0x20 ("i1" + "ai") (("ps" > 0x1) ? 0x3 : 0x1) SET_2DA_ENTRIES_NOW ~weapprof~ 0x1 END END END BUT_ONLY COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ ~override~ PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN READ_SHORT 0x1c "ct" READ_BYTE 0x31 "wp" PATCH_IF (("wp" > 0x0) OR (("wp" = 0x0) AND ("ct" = 0x5)) OR (("wp" = 0x0) AND ("ct" = 0x1f))) THEN BEGIN READ_LONG 0x1e "uf" READ_LONG 0x50 "us" READ_STRREF 0x50 ~ud~ READ_LONG 0x54 "is" READ_STRREF 0x54 ~id~ PATCH_IF ("scc" = 0x1) THEN BEGIN SET "uf" &= (` 0xc780) END PATCH_IF ("ctc" = 0x1) THEN BEGIN SET "uf" &= (` 0x200) END PATCH_IF ("crc" = 0x1) THEN BEGIN SET "uf" &= (` 0x480) END PATCH_IF ("fcc" = 0x1) THEN BEGIN SET "uf" &= (` 0xc000) END PATCH_IF ("wpc" = 0x1) THEN BEGIN SET "uf" &= (` 0x4b0200) END PATCH_IF ("us" > 0x0) THEN BEGIN PATCH_IF (("wpc" = 0x1) AND ("scc" = 0x0)) THEN BEGIN INNER_PATCH_SAVE ~ud~ ~%ud%~ BEGIN REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Druid%nl% Cleric%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*~ ~Not usable by:%nl% Druid%nl% Cleric%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Bard%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Bard%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Cleric%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Cleric%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage %nl% Bard%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage %nl% Bard%nl%~ END END ELSE PATCH_IF (("wpc" = 0x0) AND ("scc" = 0x1)) THEN BEGIN INNER_PATCH_SAVE ~ud~ ~%ud%~ BEGIN REPLACE_TEXTUALLY ~ (any combination of cleric or druid cannot use this item)~ ~~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl% Druid%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl% Druid%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl% Fighter%nl%~ END END ELSE PATCH_IF (("wpc" = 0x1) AND ("scc" = 0x1)) THEN BEGIN INNER_PATCH_SAVE ~ud~ ~%ud%~ BEGIN REPLACE_TEXTUALLY ~ (any combination of cleric or druid cannot use this item)~ ~~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl% Druid%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl% Druid%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Bard%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Bard%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage %nl% Bard%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage %nl% Bard%nl%~ END END END PATCH_IF ("is" > 0x0) THEN BEGIN PATCH_IF (("wpc" = 0x1) AND ("scc" = 0x0)) THEN BEGIN INNER_PATCH_SAVE ~id~ ~%id%~ BEGIN REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Druid%nl% Cleric%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*~ ~Not usable by:%nl% Druid%nl% Cleric%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Bard%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Bard%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Cleric%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Cleric%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage %nl% Bard%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage %nl% Bard%nl%~ END END ELSE PATCH_IF (("wpc" = 0x0) AND ("scc" = 0x1)) THEN BEGIN INNER_PATCH_SAVE ~id~ ~%id%~ BEGIN REPLACE_TEXTUALLY ~ (any combination of cleric or druid cannot use this item)~ ~~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl% Druid%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl% Druid%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl% Fighter%nl%~ END END ELSE PATCH_IF (("wpc" = 0x1) AND ("scc" = 0x1)) THEN BEGIN INNER_PATCH_SAVE ~id~ ~%id%~ BEGIN REPLACE_TEXTUALLY ~ (any combination of cleric or druid cannot use this item)~ ~~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl% Druid%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl% Druid%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Cleric[ ]*%nl%~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Fighter[ ]*%nl%[ ]*Cleric~ ~Not usable by:%nl% Fighter%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Bard%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Bard%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Druid[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief%~ ~Not usable by:%nl% Druid%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Cleric[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Thief[ ]*%nl%~ ~Not usable by:%nl% Mage %nl% Bard%nl%~ REPLACE_TEXTUALLY ~Not [uU]sable [bB]y:[ ]*%nl%[ ]*Mage[ ]*%nl%[ ]*Bard[ ]*%nl%[ ]*Thief~ ~Not usable by:%nl% Mage %nl% Bard%nl%~ END END END WRITE_LONG 0x1e "uf" PATCH_IF ("us" > 0x0) THEN BEGIN SAY_EVALUATED 0x50 ~%ud%~ END PATCH_IF ("is" > 0x0) THEN BEGIN SAY_EVALUATED 0x54 ~%id%~ END END END BUT_ONLY Link to comment
Demivrgvs Posted January 20, 2007 Share Posted January 20, 2007 Haven't tried last code but the one before was perfect...i'm going to try this one too. Problem is if you take this step further of modified weapprof.2da you'll need to modify all weapon's descriptions too while before that it still made sense a weapon decription saying a cleric can't use the sword while a fighter-cleric is using it. Anyway i really think it would be a really cool componets of G3 tweaks pack.... Link to comment
Miloch Posted January 20, 2007 Share Posted January 20, 2007 Haven't tried last code but the one before was perfect...i'm going to try this one too. Problem is if you take this step further of modified weapprof.2da you'll need to modify all weapon's descriptions too while before that it still made sense a weapon decription saying a cleric can't use the sword while a fighter-cleric is using it.There is existing code within the Tweak Pack (weapons proficiency altering) that can probably be leveraged to do this (from an SHS post):the bigg actually coded the BG variants of the modified weapon profs, but I can give a fairly accurate account of its highlights: weapprof.2da is altered so that its only entries are the old BG weapons, i.e. Large Swords, Small Swords, etc. (Weapon styles are optional, as they can be viewed as either an improvement of the BG2 engine or BG2 profs that don't belong to BG.) The strings to describe each category are altered as well. Since there are far more BG2 profs than BG, this means that many entries become 'unused' and the possible stars for them are zeroed. Weapons' item files are altered to point to the new profs and have their descripts updated. Creatures are adjusted (crudely) to use the new prof system. Link to comment
Nythrun Posted January 21, 2007 Share Posted January 21, 2007 Tough crowd here Okay, item descriptions get rewritten now to reflect new usabilities. I'm not going to change the class descriptions on a casual forum post, though, I'm too chicken to be STRING_SETting with virtual .tra files if I can't guarantee certain uninstall behavior, especially when it'll only work in English because I don't know what language you're using Anyone want something to drink while I'm up Link to comment
Demivrgvs Posted January 26, 2007 Share Posted January 26, 2007 If i install this last code is it going to conflict with True grand mastery tweks? And if it is so...which one should i install first? Link to comment
Demivrgvs Posted January 26, 2007 Share Posted January 26, 2007 I've answered myself...seems to be ok...multiclasses fighter are still retaining the ability to put five star in weapons. Some minor error is that druid can now use dagger and darts. P.s Why should i allow backstab with any weapon? Is it required for something else? Cause backstabbing with an halaberd seems pretty strange to me... Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.