Jump to content

Purudaya

Members
  • Posts

    8
  • Joined

  • Last visited

Posts posted by Purudaya

  1. 47 minutes ago, subtledoctor said:

    The strings are different in BGEE, so when you use your STRING_SET there you are actually changing some other strings!

    See here for an example of how to find the fighting style strings in any particular game, and then 1) change them with STRING_SET (the part commented out) and 2) changing them via a better technique, simply adding different strings into WEAPPROF.2da. (IIRC the game uses that file when displaying the style name/description strings in the UI.)

    Thanks for your reply! I did know that the different games use different strings; my full code looks like this:

    ACTION_IF GAME_IS ~bgee~ BEGIN                       
      STRING_SET ~25021~ @10020                                        // Shield-Fighting name
      STRING_SET ~25044~ @10011                                        // Two-Handed description
      STRING_SET ~25045~ @10021                                           // Shield-Fighting description
      STRING_SET ~25046~ @10031                                         // Single-Weapon description
      STRING_SET ~24999~ @10041                                         // Two-Weapon description  
    END ELSE ACTION_IF GAME_IS ~bg2ee~ BEGIN                 
      STRING_SET ~31136~ @10020
      STRING_SET ~34171~ @10011
      STRING_SET ~34173~ @10021
      STRING_SET ~34174~ @10031
      STRING_SET ~34176~ @10041
    END ELSE ACTION_IF GAME_IS ~iwdee~ BEGIN                     
      STRING_SET ~31136~ @10020
      STRING_SET ~37729~ @10020
      STRING_SET ~37728~ @10011
      STRING_SET ~37730~ @10021
      STRING_SET ~37732~ @10031
      STRING_SET ~37734~ @10041
    END

    I've double checked them manually and it's just really strange that it only fails for BGEE. That said, your link looks like a much more elegant solution - do I understand correctly that this method will work regardless of the game so I don't have to worry about ACTION_IF? They all use the same weapprof.2da line for line, right?

    Edit: so I've inserted the lines you recommended as follows and the strings still aren't being overwritten for some reason:

    COPY_EXISTING ~weapprof.2da~ ~override~
        READ_2DA_ENTRY 31 2 1 2h_string 
        READ_2DA_ENTRY 31 3 1 2h_desc   
        READ_2DA_ENTRY 32 2 1 sns_string 
        READ_2DA_ENTRY 32 3 1 sns_desc   
        READ_2DA_ENTRY 33 2 1 sws_string 
        READ_2DA_ENTRY 33 3 1 sws_desc   
        READ_2DA_ENTRY 34 2 1 dw_string 
        READ_2DA_ENTRY 34 3 1 dw_desc   

        STRING_SET %2h_string% @10010
        STRING_SET %sns_string% @10020
        STRING_SET %sws_string% @10030
        STRING_SET %dw_string% @10040
        STRING_SET %2h_desc% @10011
        STRING_SET %sns_desc% @10021
        STRING_SET %sws_desc% @10031
        STRING_SET %dw_desc% @10041

    Could I be missing something more obvious?

  2. So I've been using the following code to change weapon style names and descriptions to match the changes in my mod:

    ACTION_IF GAME_IS ~bgee~ BEGIN                       
      STRING_SET ~25021~ @10020
      STRING_SET ~25044~ @10011
      STRING_SET ~25045~ @10021
      STRING_SET ~25046~ @10031
      STRING_SET ~24999~ @10041
    END ELSE ACTION_IF GAME_IS ~bg2ee~ BEGIN
      ....

    This works absolutely fine for BG2 and IWD but does absolutely nothing in BG1 even on a fresh install. I know that the WeiDU documentation recommends against using STRING_SET, but this format was taken straight from the Skills and Abilities mod. Could someone help me figure out what I'm doing wrong?

    Alternatively, I'd love to be able to change the values in weapprof.2DA the same way that you change kit and class descriptions with 

    ACTION_IF (FILE_EXISTS_IN_GAME ~clastext.2da~) BEGIN
        COPY_EXISTING ~clastext.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 ~kit_name~
                PATCH_IF ~%kit_name%~ STRING_EQUAL_CASE ~THIEF~ BEGIN
                    SET patch_row = %row%
                END
            END
            SET_2DA_ENTRY %patch_row% 4 cols RESOLVE_STR_REF (@110)
        BUT_ONLY
    END

    ...but I'm still somewhat new at this and am unsure how to point this to, say, SWORDANDSHIELD in weapprof.2da. Again, any help would be appreciated!

  3. On 5/28/2023 at 2:46 AM, marchitek said:

    If I get it right, what you really asking for is new damage type. This could be impossible without some serious hacking. That's my gut feeling.

    You could pick one of existing damage types, let's say slashing, and change all strrefs that refers to it to "slashing/bleeding". You need to be careful because resistance and other damage type related things would be shared across those two.

    Otherwise maybe it would be possible together with some major damage type overhaul. You could join all physical damage types as one, let's say under 0x0. Then you would have 3 free slots. This would ofc require patching all effects in items/spell, damage actions in scripts/dialogues, item/spell descriptions, changing feedback massages and who knows what else. With great power comes great responsibility, that's what they say.

    Thank you, I had a feeling this might be the case. On a slightly related note, would you happen to know if it's possible to deal bonus damage based on the type of weapon the player is wielding? I know there's opcode 73, but I'm looking for something that specifically fires on a critical hit without being tied to a fixed damage type. Thanks again for your response and for any other insight you might have.

  4. Hi everyone - like the title says, I'm trying to figure out a problem with character sprites disappearing when an ability score is reduced to zero or below.

    I created an ability that reduces an enemy's constitution similarly to the way Illithids consume intelligence. It works as planned, but whenever I use it to reduce a party member to 0 or less constitution (causing death), their sprite just disappears rather than displaying a death animation and staying on the ground. They still drop their equipment like normal and leave behind a greyed-out portrait, but otherwise there's no trace of them (I checked that they're not being chunked due to excess damage). Does anyone know why this might be or how to fix it?

    Thanks in advance for any feedback, I'm really puzzled here.

  5. I'm trying to create a "bleeding" effect using opcodes 12 and 25, but the feedback in the combat log seems to be restricted to "poison" or one of the other damage types. Is there any way to change the damage feedback to a custom string for either opcode?

    Thanks in advance for any help!

  6. I'm trying to get a better handle on how opcode 341 works based on the IESDP wording ("change" rather than "add" critical hit effect). I know that it doesn't replace the 2x damage multiplier, but are the effects using #341 otherwise additive or do they replace one another?

    For some context, I'm trying to create a passive HLA that grants a stacking critical hit effect each time the player lands a critical hit within a specified time period, with the stack resetting on a miss via opcodes 232 and 321. The kit has access to various abilities that improve critical hit chance, but not Critical Strike.

    My modding experience is probably somewhere between beginner and intermediate, so forgive me if I'm missing something obvious here. Can I use opcode 341 to add, say, a stacking +1D6 damage bonus to crits each time the player lands one, or will the effect simply replace itself?

    Thanks in advance for any insight, the fact that Cast on Condition doesn't offer "critical hit" as a trigger option has been driving me crazy.

  7. I'm trying to get a better handle on how opcode 341 works based on the IESDP wording ("change" rather than "add" critical hit effect). I know that it doesn't replace the 2x damage multiplier, but are the effects using #341 otherwise additive or do they replace one another?

    For some context, I'm trying to create a passive HLA that grants a stacking critical hit effect each time a player lands a critical hit within a specified time period, with the stack resetting on a miss via opcodes 232 and 321. The kit has access to various abilities that improve critical hit chance, but not Critical Strike.

    My modding experience is probably somewhere between beginner and intermediate, so forgive me if I'm missing something obvious here. Can I use opcode 341 to add, say, a stacking +1d6 damage bonus to cross each time the player lands one, or will the effect simply replace itself?

    Thanks in advance for any insight, the fact that Cast on Condition doesn't offer "critical hit" as a trigger option has been driving me crazy.

     

    Edit: sorry, this was meant to be posted in Modding Q&A. If someone could please delete this thread I'll go ahead and repost it there.

×
×
  • Create New...