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!