Jump to content


Rana

Member Since 20 Jan 2011
Offline Last Active May 12 2011 11:41 PM

Topics I've Started

Patching an ability to a series of items

06 May 2011 - 03:07 PM

Hey all.  I'm trying to patch a custom ability onto various armors, and I need your help.  

My goal is to patch this ability on to every (non-elven)Chain Mail, Splint Mail, Plate Mail and Full Plate item in the game.

If anyone could provide an easy to understand example of this, or somehow help walk me through the process, that would be great.  Thanks!

Edit:  Actually I may have found my own solution.  The macros folder in the item revisions mod has a lot of detailed information that I might be able to utilize.  If anyone still wants to post any suggestions though I'd more than appreciate it!

Edit2:  Argh, nope, I'm stumped and need help. :(

Moving an NPCs starting point

03 May 2011 - 05:09 PM

The goal:  To move Skie's starting location to same one Eldoth was given in the BG1 NPC project.

I've been staring at the script from the bg1npc setup tp2, but I can't make sense of it.  Here's an excerpt of Eldoth's section:

/* Eldoth Starts in the Cloakwood Forest */
BEGIN @1072 /* Eldoth Starts in the Cloakwood Forest. */
  SUBCOMPONENT @1073 /* The BG1 NPC Project: Eldoth's Starting Location. */
  GROUP @1065 /* The BG1 NPC Project: Tweaks */
  REQUIRE_PREDICATE (FILE_EXISTS_IN_GAME ~_sw1h01.itm~) @1095 /* Incompatible with BGT: please use the equivalent component in SwordCoastStrategems for BGT */
  REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
    PRINT @1074 /* Eldoth will start in the Cloakwood as in the original game. */

/* Eldoth Starts on the Coastal Way */
BEGIN @1075 /* Eldoth Starts on the Coast Way. */
  SUBCOMPONENT @1073 /* The BG1 NPC Project: Eldoth's Starting Location. */
  GROUP @1065 /* The BG1 NPC Project: Tweaks */
  REQUIRE_PREDICATE (FILE_EXISTS_IN_GAME ~_sw1h01.itm~) @1095 /* Incompatible with BGT: please use the equivalent component in SwordCoastStrategems for BGT */
  REQUIRE_FILE ~override/X#BG1NPCCore.G3~ @1004 /* BG1 NPC Required Changes component is not installed. */
    COPY ~BG1NPC/Core/X#component.xx~ ~override/X#EldothMove.G3~

  /*Patching _ELDOTH.bcs */
  COPY_EXISTING ~_ELDOTH.bcs~ ~override~
    DECOMPILE_BCS_TO_BAF
    REPLACE_TEXTUALLY
      ~!Global("X#SkieLeftEldoth","GLOBAL",1)~
      ~OR(2) !Global("X#SkieLeftEldoth","GLOBAL",1) !Global("EldothMove","GLOBAL",0)~
    COMPILE_BAF_TO_BCS
    BUT_ONLY_IF_IT_CHANGES

  COPY_EXISTING ~baldur.gam~ ~override~
    READ_LONG 0x30 non_joined_npcs_off
    READ_LONG 0x34 non_joined_npcs_count
    FOR (i = 0; i < non_joined_npcs_count; i+=1) BEGIN
      SET cre_offset = non_joined_npcs_off + i * 0x160
      READ_ASCII 0xc + cre_offset ~CREName~
      PATCH_IF !(~%CREName%~ STRING_COMPARE_CASE ~_ELDOTH~) BEGIN
        WRITE_ASCII cre_offset + 0x18 ~FW2800~ #8
        WRITE_SHORT cre_offset + 0x20 1064
        WRITE_SHORT cre_offset + 0x22 2086
      END
    END
    BUT_ONLY_IF_IT_CHANGES
  PRINT @1076 /* ~Remember to start a new game for Eldoth to start on the Coast Way near the Obelisk. */


If I wanted to use this script structure to apply to Skie, what values would I need to change?  Or if anyone else has a suggestion on how I could achieve the desired effect, I'd really appreciate it.  Thanks!