Jump to content

expanded gMinion TP2 for Mega-Installations


Azazello

Recommended Posts

2013 Apr 19: Added section for aTweaks, PnP Undead component.

 

2009 Oct 31: Have updated the contents, as I forgot to add a marker file to indicate that SCS II is installed. Please let me know if there's a better filename to use.

 

Have also changed/added AI script names to catch other mods that may have modified the summons. As noted, this may be redundant coding so we'll just have to wait until an active mod-keeper comes along to update the coding.

 

As always, if you see anything that needs correcting or modifying, let us know!

 

The entire TP2 is attached in the Mega Mod Help forum at Spellhold Studios (SHS).

 

In this post, I will (try) to copy/paste just the changes I made, from the top of the TP2, downward.

 

I discovered that gMinion needs updating to consider Mega-Installations, otherwise you won't be able to control the summons using gMinion's AI (you might not be able to control them at all).

 

I used my older mega-install as a basis for this TP2, so I do encourage BiG World Project users to help expand this based on other mods. One example, did I use the correct SCS names for summons scripts?

 

/*
 * gMinion - version 1.8
 * AI scripts for minions summoned by the party
 *
 * expanded for Mega-Installations by Azazello
 */

BACKUP ~gminion\build1.8\backup~

AUTHOR ~Cirerrek's AI Scripts forum at Gibberlings Three Forums~

ALLOW_MISSING
  // Silver Shadow from The Darkest Day mod - Azazello
  ~SILVERSH.CRE~

LANGUAGE ~AMERICAN ENGLISH~
	  ~american~
	  ~gminion\build1.8\american\gmsetup.tra~

/////////////
// gMinion
/////////////

BEGIN @1

// ids changes to accomodate on-the-fly compiling

ACTION_IF NOT FILE_EXISTS_IN_GAME ~shoutids.ids~ THEN BEGIN // if not present, make it
  COPY ~gminion/build1.8/ids/shoutids.ids~ ~override~
END ELSE BEGIN // if present, append instead
  APPEND ~shoutids.ids~ ~1001 POISONED~ UNLESS ~1001 POISONED~
  APPEND ~shoutids.ids~ ~2001 HELP~	 UNLESS ~2001 HELP~
END

APPEND ~state.ids~ ~0x00102029 STATE_HARMLESS~	  UNLESS ~0x00102029 STATE_HARMLESS~
APPEND ~state.ids~ ~0x00400010 STATE_NOT_VISIBLE~   UNLESS ~0x00400010 STATE_NOT_VISIBLE~
APPEND ~state.ids~ ~0x60400010 STATE_ILLUSIONS~	 UNLESS ~0x60400010 STATE_ILLUSIONS~
APPEND ~state.ids~ ~0x63C08010 STATE_ENCHANTED~	 UNLESS ~0x63C08010 STATE_ENCHANTED~

COPY_EXISTING ~trigger.ids~ ~override~
  REPLACE_TEXTUALLY ~\bHeard(O:Object\*,I:ID\*)~
				 ~Heard(O:Object*,I:ID*SHOUTIDS)~
  BUT_ONLY_IF_IT_CHANGES

/*
 * depending on the minion type (ranged, melee, spell, or both)
 * modify the existing script (wtasight.bcs, etc.) by adding
 * the appropriate script segment (ranged.bcs, melee.bcs, spell.bcs, or both.bcs)
 * to either the top or the bottom of the existing script
 *
 */

EXTEND_TOP	~GENSHT01.BCS~ ~gminion\build1.8\baf\both.baf~
EXTEND_TOP	~WTASIGHT.BCS~ ~gminion\build1.8\baf\both.baf~
EXTEND_TOP	~WTARSGT.BCS~  ~gminion\build1.8\baf\range.baf~
EXTEND_TOP	~SUMSHT01.BCS~ ~gminion\build1.8\baf\melee.baf~
EXTEND_TOP	~SUMSHT02.BCS~ ~gminion\build1.8\baf\melee.baf~
EXTEND_TOP	~WDRUNSGT.BCS~ ~gminion\build1.8\baf\melee.baf~

EXTEND_TOP	~CCRAWLER.BCS~ ~gminion\build1.8\baf\melee.baf~
EXTEND_TOP	~ETTERCAP.BCS~ ~gminion\build1.8\baf\melee.baf~
EXTEND_TOP	~MORSWORD.BCS~ ~gminion\build1.8\baf\melee.baf~
EXTEND_TOP	~DJINNI01.BCS~ ~gminion\build1.8\baf\spell.baf~
EXTEND_TOP	~EFREET01.BCS~ ~gminion\build1.8\baf\spell.baf~
EXTEND_TOP	~MOONDOG.BCS~  ~gminion\build1.8\baf\spell.baf~
EXTEND_TOP	~NISHRU01.BCS~ ~gminion\build1.8\baf\spell.baf~
EXTEND_TOP	~NYMPH.BCS~	~gminion\build1.8\baf\spell.baf~
EXTEND_TOP	~PSPIDER.BCS~  ~gminion\build1.8\baf\spell.baf~
EXTEND_TOP	~SPIDFGSU.BCS~ ~gminion\build1.8\baf\spell.baf~
EXTEND_TOP	~SUMDJ01.BCS~  ~gminion\build1.8\baf\spell.baf~

EXTEND_BOTTOM ~WIZELSUM.BCS~ ~gminion\build1.8\baf\melee.baf~

// Additional changes for any (ToB?) type of installation - Azazello
EXTEND_TOP	~WARDOG.BCS~ ~gminion\build1.8\baf\melee.baf~
EXTEND_TOP	~WYVERN.BCS~ ~gminion\build1.8\baf\melee.baf~
EXTEND_BOTTOM ~BORNWAIT.BCS~ ~gminion\build1.8\baf\melee.baf~
EXTEND_BOTTOM ~SERVSU.BCS~   ~gminion\build1.8\baf\melee.baf~
EXTEND_BOTTOM ~WIZELSU2.BCS~ ~gminion\build1.8\baf\melee.baf~

// Scripts used by Summons from...Big Picture mod - Azazello
ACTION_IF FILE_EXISTS_IN_GAME ~BPBAG04.ITM~ THEN BEGIN
  EXTEND_TOP	~BPSMSHT1.BCS~ ~gminion\build1.8\baf\melee.baf~
  EXTEND_TOP	~BPSMSHT2.BCS~ ~gminion\build1.8\baf\melee.baf~
  EXTEND_TOP	~BPEFREET.BCS~ ~gminion\build1.8\baf\spell.baf~
END

// Scripts used by Summons from...Check the Bodies mod - Azazello
ACTION_IF FILE_EXISTS_IN_GAME ~CBWTASGT.BCS~ THEN BEGIN
  EXTEND_TOP	~CBWTASGT.BCS~ ~gminion\build1.8\baf\melee.baf~
END

// Scripts used by Summons from...The Darkest Day mod - Azazello
ACTION_IF FILE_EXISTS_IN_GAME ~SILVERSH.CRE~ THEN BEGIN
// Silver Shadow from The Darkest Day mod
  EXTEND_BOTTOM ~SILVERSH.BCS~ ~gminion\build1.8\baf\spell.baf~
END

// Scripts used by Summons from...aTweaks mod - Azazello
ACTION_IF FILE_EXISTS_IN_GAME ~fl#dkfa.spl~ THEN BEGIN
  EXTEND_TOP   ~FL#SKLSU.BCS~ ~gminion\build1.8\baf\melee.baf~
  EXTEND_TOP   ~FL#SKWSU.BCS~ ~gminion\build1.8\baf\melee.baf~
END

/*
 * Azazello
 * If using Big Picture (BP) or Sword Coast Strategems 2 (SCS II), ensure that summons use gMinion scripting EXCLUSIVELY.
 * {Actually, this scripting might be redundant}
 */
ACTION_IF (FILE_EXISTS_IN_GAME ~BPBAG04.ITM~ OR FILE_EXISTS_IN_GAME ~scsII/scsII.tph~) THEN BEGIN
  COPY_EXISTING ~BEARBLSU.CRE~		~override~
			 ~BEARBRSU.CRE~		~override~
			 ~BEARCASU.CRE~		~override~
			 ~BEARPOSU.CRE~		~override~
//			  ~BERSER02.CRE~		~override~
//			  ~BERSER03.CRE~		~override~
//			  ~BERSERSU.CRE~		~override~
			 ~CARRIOSU.CRE~		~override~
			 ~CATJAGSU.CRE~		~override~
			 ~CATLIOSU.CRE~		~override~
			 ~CATLIOWP.CRE~		~override~
			 ~DEVAEVIL.CRE~		~override~
			 ~DEVAGOOD.CRE~		~override~
			 ~DJINNISU.CRE~		~override~
			 ~DOGWASU.CRE~		~override~
			 ~DOGWAWP.CRE~		~override~
			 ~DOGWISU.CRE~		~override~
			 ~EFREETSU.CRE~		~override~
			 ~ELAIRSU1.CRE~		~override~
			 ~ELAIRSU2.CRE~		~override~
			 ~ELAIRSU3.CRE~		~override~
			 ~ELAIRSUW.CRE~		~override~
			 ~ELEARSU1.CRE~		~override~
			 ~ELEARSU2.CRE~		~override~
			 ~ELEARSU3.CRE~		~override~
			 ~ELEARSU4.CRE~		~override~
			 ~ELEMCHAN.CRE~		~override~
			 ~ELEMSUNN.CRE~		~override~
			 ~ELEMZAAM.CRE~		~override~
			 ~ELFIRSU1.CRE~		~override~
			 ~ELFIRSU2.CRE~		~override~
			 ~ELFIRSU3.CRE~		~override~
			 ~ELFIRSU4.CRE~		~override~
			 ~ETTERCSU.CRE~		~override~
			 ~GHASTSU.CRE~		~override~
			 ~GNOLLSU.CRE~		~override~
			 ~HAKSU.CRE~		~override~
			 ~HOBGOBSU.CRE~		~override~
			 ~KOBOLDSU.CRE~		~override~
			 ~MOONDOG.CRE~		~override~
			 ~NISHRUSU.CRE~		~override~
			 ~NYMPHSU.CRE~		~override~
			 ~OGREGRSU.CRE~		~override~
			 ~OGRELESU.CRE~		~override~
			 ~OGRESU.CRE~		~override~
			 ~PLANEVIL.CRE~		~override~
			 ~PLANGOOD.CRE~		~override~
			 ~RABBITSU.CRE~		~override~
			 ~SERVSU.CRE~		~override~
			 ~SKELWASU.CRE~		~override~
			 ~SMOUNDSU.CRE~		~override~
			 ~SPIDFGSU.CRE~		~override~
			 ~SPIDGISU.CRE~		~override~
			 ~SPIDPHSU.CRE~		~override~
			 ~SPIDSWSU.CRE~		~override~
			 ~SPIRBEAR.CRE~		~override~
			 ~SPIRLION.CRE~		~override~
			 ~SPIRSNAK.CRE~		~override~
			 ~SPIRWOLF.CRE~		~override~
			 ~STALKE.CRE~		~override~
			 ~SUMDJINN.CRE~		~override~
			 ~SUMEFREE.CRE~		~override~
			 ~SUMELAIR.CRE~		~override~
			 ~SUMELEAR.CRE~		~override~
			 ~SUMELFIR.CRE~		~override~
			 ~SWAAIR01.CRE~		~override~
			 ~SWAEAR01.CRE~		~override~
			 ~SWAFIR01.CRE~		~override~
			 ~SWORD01.CRE~		~override~
			 ~SWORD02.CRE~		~override~
			 ~SWORD68.CRE~		~override~
			 ~WOLFDISU.CRE~		~override~
			 ~WOLFWWSU.CRE~		~override~
			 ~WORGSU.CRE~		~override~
			 ~WYVERNSU.CRE~		~override~
// Silver Shadow from TDD - // added by Azazello
			 ~SILVERSH.CRE~		~override~
 PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
   READ_ASCII 0x248 "Override"
   READ_ASCII 0x250 "Class"
   READ_ASCII 0x258 "Race"
   READ_ASCII 0x260 "General"
   READ_ASCII 0x268 "Default"

   PATCH_IF (("%Override%" STRING_COMPARE_CASE "BPWDASGT") = 0) BEGIN
	 WRITE_ASCII 0x248 ~WTASIGHT~
   END
   PATCH_IF (("%Class%" STRING_COMPARE_CASE "BPWDASGT") = 0) BEGIN
	 WRITE_ASCII 0x250 ~WTASIGHT~
   END
   PATCH_IF (("%Race%" STRING_COMPARE_CASE "BPWDASGT") = 0) BEGIN
	 WRITE_ASCII 0x258 ~WTASIGHT~
   END
   PATCH_IF (("%General%" STRING_COMPARE_CASE "BPWDASGT") = 0) BEGIN
	 WRITE_ASCII 0x260 ~WTASIGHT~
   END
   PATCH_IF (("%Default%" STRING_COMPARE_CASE "BPWDASGT") = 0) BEGIN
	 WRITE_ASCII 0x268 ~WTASIGHT~
   END

   PATCH_IF (("%Override%" STRING_COMPARE_CASE "BPWTSIGT") = 0) BEGIN
	 WRITE_ASCII 0x248 ~WTASIGHT~
   END
   PATCH_IF (("%Class%" STRING_COMPARE_CASE "BPWTSIGT") = 0) BEGIN
	 WRITE_ASCII 0x250 ~WTASIGHT~
   END
   PATCH_IF (("%Race%" STRING_COMPARE_CASE "BPWTSIGT") = 0) BEGIN
	 WRITE_ASCII 0x258 ~WTASIGHT~
   END
   PATCH_IF (("%General%" STRING_COMPARE_CASE "BPWTSIGT") = 0) BEGIN
	 WRITE_ASCII 0x260 ~WTASIGHT~
   END
   PATCH_IF (("%Default%" STRING_COMPARE_CASE "BPWTSIGT") = 0) BEGIN
	 WRITE_ASCII 0x268 ~WTASIGHT~
   END

   PATCH_IF (("%Override%" STRING_COMPARE_CASE "dw#melee") = 0) BEGIN
	 WRITE_ASCII 0x248 ~WTASIGHT~
   END
   PATCH_IF (("%Class%" STRING_COMPARE_CASE "dw#melee") = 0) BEGIN
	 WRITE_ASCII 0x250 ~WTASIGHT~
   END
   PATCH_IF (("%Race%" STRING_COMPARE_CASE "dw#melee") = 0) BEGIN
	 WRITE_ASCII 0x258 ~WTASIGHT~
   END
   PATCH_IF (("%General%" STRING_COMPARE_CASE "dw#melee") = 0) BEGIN
	 WRITE_ASCII 0x260 ~WTASIGHT~
   END
   PATCH_IF (("%Default%" STRING_COMPARE_CASE "dw#melee") = 0) BEGIN
	 WRITE_ASCII 0x268 ~WTASIGHT~
   END

   PATCH_IF (("%Override%" STRING_COMPARE_CASE "dw#range") = 0) BEGIN
	 WRITE_ASCII 0x248 ~WTARSGT~
   END
   PATCH_IF (("%Class%" STRING_COMPARE_CASE "dw#range") = 0) BEGIN
	 WRITE_ASCII 0x250 ~WTARSGT~
   END
   PATCH_IF (("%Race%" STRING_COMPARE_CASE "dw#range") = 0) BEGIN
	 WRITE_ASCII 0x258 ~WTARSGT~
   END
   PATCH_IF (("%General%" STRING_COMPARE_CASE "dw#range") = 0) BEGIN
	 WRITE_ASCII 0x260 ~WTARSGT~
   END
   PATCH_IF (("%Default%" STRING_COMPARE_CASE "dw#range") = 0) BEGIN
	 WRITE_ASCII 0x268 ~WTARSGT~
   END

   PATCH_IF (("%Override%" STRING_COMPARE_CASE "dw#wizardslay") = 0) BEGIN
	 WRITE_ASCII 0x248 ~WTASIGHT~
   END
   PATCH_IF (("%Class%" STRING_COMPARE_CASE "dw#wizardslay") = 0) BEGIN
	 WRITE_ASCII 0x250 ~WTASIGHT~
   END
   PATCH_IF (("%Race%" STRING_COMPARE_CASE "dw#wizardslay") = 0) BEGIN
	 WRITE_ASCII 0x258 ~WTASIGHT~
   END
   PATCH_IF (("%General%" STRING_COMPARE_CASE "dw#wizardslay") = 0) BEGIN
	 WRITE_ASCII 0x260 ~WTASIGHT~
   END
   PATCH_IF (("%Default%" STRING_COMPARE_CASE "dw#wizardslay") = 0) BEGIN
	 WRITE_ASCII 0x268 ~WTASIGHT~
   END

   PATCH_IF (("%Override%" STRING_COMPARE_CASE "dw#wtacor") = 0) BEGIN
	 WRITE_ASCII 0x248 ~WTASIGHT~
   END
   PATCH_IF (("%Class%" STRING_COMPARE_CASE "dw#wtacor") = 0) BEGIN
	 WRITE_ASCII 0x250 ~WTASIGHT~
   END
   PATCH_IF (("%Race%" STRING_COMPARE_CASE "dw#wtacor") = 0) BEGIN
	 WRITE_ASCII 0x258 ~WTASIGHT~
   END
   PATCH_IF (("%General%" STRING_COMPARE_CASE "dw#wtacor") = 0) BEGIN
	 WRITE_ASCII 0x260 ~WTASIGHT~
   END
   PATCH_IF (("%Default%" STRING_COMPARE_CASE "dw#wtacor") = 0) BEGIN
	 WRITE_ASCII 0x268 ~WTASIGHT~
   END

   PATCH_IF (("%Override%" STRING_COMPARE_CASE "WDASIGHT") = 0) BEGIN
	 WRITE_ASCII 0x248 ~WTASIGHT~
   END
   PATCH_IF (("%Class%" STRING_COMPARE_CASE "WDASIGHT") = 0) BEGIN
	 WRITE_ASCII 0x250 ~WTASIGHT~
   END
   PATCH_IF (("%Race%" STRING_COMPARE_CASE "WDASIGHT") = 0) BEGIN
	 WRITE_ASCII 0x258 ~WTASIGHT~
   END
   PATCH_IF (("%General%" STRING_COMPARE_CASE "WDASIGHT") = 0) BEGIN
	 WRITE_ASCII 0x260 ~WTASIGHT~
   END
   PATCH_IF (("%Default%" STRING_COMPARE_CASE "WDASIGHT") = 0) BEGIN
	 WRITE_ASCII 0x268 ~WTASIGHT~
   END

   PATCH_IF (("%Override%" STRING_COMPARE_CASE "WDARSGT") = 0) BEGIN
	 WRITE_ASCII 0x248 ~WTARSGT~
   END
   PATCH_IF (("%Class%" STRING_COMPARE_CASE "WDARSGT") = 0) BEGIN
	 WRITE_ASCII 0x250 ~WTARSGT~
   END
   PATCH_IF (("%Race%" STRING_COMPARE_CASE "WDARSGT") = 0) BEGIN
	 WRITE_ASCII 0x258 ~WTARSGT~
   END
   PATCH_IF (("%General%" STRING_COMPARE_CASE "WDARSGT") = 0) BEGIN
	 WRITE_ASCII 0x260 ~WTARSGT~
   END
   PATCH_IF (("%Default%" STRING_COMPARE_CASE "WDARSGT") = 0) BEGIN
	 WRITE_ASCII 0x268 ~WTARSGT~
   END

 END

  BUT_ONLY_IF_IT_CHANGES
END

 

The rest of the TP2 is exactly like the original.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...