@subtledoctor: Thank you! I got it to work. Instead of opcode 272, I used 232, which allowed me to make the check happen whenever the critter in question was hit, instead of once per round (which would very seldom work for Archers, since Called Shot's STR drain is so brief).
Is there a way to alter the Turn Undead effects for a kit?
As a stupid example: Make it capable of turn Undead and Myconids.
Actually I've just been experimenting a bit and I think I've got a way to use items as ability toggles. So if you're willing to use a quickslot for it (you're supposed to present your holy symbol, right?), then this kind of thing might be possible for anyone.
Hello again. Hopefully another quick question this time.
Is there an easy way to make my new interjection for a character play after all the interjections from other mods, even if mine is installed last?
Weights seem kind of complicated and I didn't see anything else in the weidu faq. So I guess the real question is, "can I use weights with interject copy trans, and if so, how?"
@subtledoctor: How would I patch all critters including party members with a visual range bonus? I was wondering what gameplay would be like if I doubled or tripled everyone's field of vision. I thought it might be interesting since there are so many differences in spell and missile weapon ranges that never become relevant because they're limited by visual range.
Pretty sure the extended sight range still doesn't clear the black fog beyond the 30', even though you see critters walking among. As for gameplay effect, EE content has some tightly packed areas where actors are barely out of each other's sight. E.g. attacking Vichand in the Crusader camp in SoD would trigger the whole camp because they can now see him being attacked. Not quite critical, but you may have wanted to know.
I was creating some BAM files right now and, as I used the same PVRZ number for all of them (26) I ended up with 26 of the same picture.
Looking at the NearInfinity documentation I found an instruction (given by @argent77 ) to use a special Weidu function to handle this (as I can't foresee other mods that adds BAMs and uses PVRZ number).
The relevant WeiDU functions for dealing with PVRZ are UPDATE_PVRZ_INDICES and INSTALL_PVRZ. Both functions are described in the WeiDU docs.
Example for installing a BAM V2 file: [spoiler]// 1. Install your BAM V2 file
COPY ~%MOD_FOLDER%/bam/myfile.bam~ ~override~
// Called in preparation for step 2
LPF UPDATE_PVRZ_INDICES
RET
original_base_index
new_base_index
END
// 2. Install associated PVRZ file
ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN
// Only needed if source pvrz page index < 1000.
// Alternatively, replace %zero% with a fixed string of zeros in the "source_file" path below.
OUTER_PATCH_SAVE zero ~0000~ BEGIN
DELETE_BYTES 0 STRING_LENGTH ~%original_base_index%~
END
// Install pvrz with updated indices
LAF INSTALL_PVRZ
INT_VAR
original_base_index
new_base_index
STR_VAR
source_file = EVAL ~%MOD_FOLDER%/bam/mos%zero%%original_base_index%.pvrz~
END
END
You would have to expand the second part a bit if your BAM consists of multiple PVRZ files. [/spoiler]
Let's pretend I'm a 6 yo that just saw a cat having sex.
Please, correct my example if I'm wrong:
[spoiler]
//Baervan Holy Symbol - code gently given by Argent77
COPY ~Deities&Pantheons\Itm\HolySymbols\BAM\BAERS.bam~ ~override~ LPF UPDATE_PVRZ_INDICES RET original_base_index new_base_index END
ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN OUTER_PATCH_SAVE zero ~0000~ BEGIN DELETE_BYTES 0 STRING_LENGTH ~%original_base_index%~ END
LAF INSTALL_PVRZ INT_VAR original_base_index new_base_index STR_VAR source_file = EVAL ~%MOD_FOLDER%/bam/MOS1000.pvrz~ END END
COPY ~Deities&Pantheons\Itm\HolySymbols\BAM\BAERL.bam~ ~override~ LPF UPDATE_PVRZ_INDICES RET original_base_index new_base_index END
ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN OUTER_PATCH_SAVE zero ~0000~ BEGIN DELETE_BYTES 0 STRING_LENGTH ~%original_base_index%~ END
LAF INSTALL_PVRZ INT_VAR original_base_index new_base_index STR_VAR source_file = EVAL ~%MOD_FOLDER%/bam/MOS1001.pvrz~ END END
Some minor corrections. The source_file paths have to be updated, and the "zero" code is not needed in your example. [spoiler]//Baervan Holy Symbol - code gently given by Argent77
COPY ~Deities&Pantheons/Itm/HolySymbols/BAM/BAERS.bam~ ~override~
LPF UPDATE_PVRZ_INDICES
RET
original_base_index
new_base_index
END
ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN
LAF INSTALL_PVRZ
INT_VAR
original_base_index
new_base_index
STR_VAR
source_file = ~Deities&Pantheons/Itm/HolySymbols/BAM/MOS1000.pvrz~
END
END
COPY ~Deities&Pantheons/Itm/HolySymbols/BAM/BAERL.bam~ ~override~
LPF UPDATE_PVRZ_INDICES
RET
original_base_index
new_base_index
END
ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN
LAF INSTALL_PVRZ
INT_VAR
original_base_index
new_base_index
STR_VAR
source_file = ~Deities&Pantheons/Itm/HolySymbols/BAM/MOS1001.pvrz~
END
END
[/spoiler] I'm assuming that PVRZ files are found in the same folder as the BAM files.
Edit: You can probably place your code into a FOR_EACH loop to remove duplicate code. [spoiler]ACTION_FOR_EACH file IN ~BAERS~ ~BAERL~ BEGIN
COPY ~Deities&Pantheons/Itm/HolySymbols/BAM/%file%.bam~ ~override~
LPF UPDATE_PVRZ_INDICES
RET
original_base_index
new_base_index
END
ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN
LAF INSTALL_PVRZ
INT_VAR
original_base_index
new_base_index
STR_VAR
source_file = EVAL ~Deities&Pantheons/Itm/HolySymbols/BAM/MOS%original_base_index%.pvrz~
END
END
END
[/spoiler]
Last question before I can move on to the last phase of my new kitpack:
How can I direct a priest kit to a specific line of the priest stronghold?
And: can I direct one kit to a stronghold that is not the priest one?
Let's say I want to make a kit being able to get the Thief stronghold. Other to get the Fighter one. Other to the druid's stronghold. And finally, make sure that some kits will be correctly directed to the quest given by Talos/Helm/Lathander.
Can it be done? I took a look at Divine Remix and even talked to @CamDawg , but the code there looks like Greek to me (what a surprise!)
Install Component [Strongholds Alterings (requires the respective kit component)]? [I]nstall, or [N]ot Install or [Q]uit? Installing [Strongholds Alterings (requires the respective kit component)] [1.0]
[DeitiesOfFaerun/Components/StrongholdAlterings.tpa] PARSE ERROR at line 112 column 1-4 Near Text: IF GLR parse error
[DeitiesOfFaerun/Components/StrongholdAlterings.tpa] ERROR at line 112 column 1-4 Near Text: IF Parsing.Parse_error ERROR: parsing [DeitiesOfFaerun/Components/StrongholdAlterings.tpa]: Parsing.Parse_error Stopping installation because of error.
ERROR Installing [Strongholds Alterings (requires the respective kit component)], rolling back to previous state Unable to Unlink [DeitiesOfFaerun/Backup/22/OTHER.22]: Unix.Unix_error(1, "unlink", "DeitiesOfFaerun/Backup/22/OTHER.22") [DeitiesOfFaerun/Backup/22/UNSETSTR.22] SET_STRING uninstall info not found Will uninstall 0 files for [DEITIESOFFAERUN/DEITIESOFFAERUN.TP2] component 22. Uninstalled 0 files for [DEITIESOFFAERUN/DEITIESOFFAERUN.TP2] component 22.
[DeitiesOfFaerun/Components/StrongholdAlterings.tpa] PARSE ERROR at line 112 column 1-4 Near Text: IF GLR parse error
[DeitiesOfFaerun/Components/StrongholdAlterings.tpa] ERROR at line 112 column 1-4 Near Text: IF Parsing.Parse_error ERROR: parsing [DeitiesOfFaerun/Components/StrongholdAlterings.tpa]: Parsing.Parse_error Error Uninstalling [DEITIESOFFAERUN/DEITIESOFFAERUN.TP2] component 22: Parsing.Parse_error
This part of the code seems to be the problem
//Add Baervan, Baravar and Oghma to non-cleric quest-line
OUTER_SPRINT extend ~~ ACTION_IF FILE_EXISTS_IN_GAME ~RABAER.2da~ BEGIN OUTER_SPRINT extend ~%extend% Kit(Player1,RABAER)~ END ACTION_IF FILE_EXISTS_IN_GAME ~RABARA.2da~ BEGIN OUTER_SPRINT extend ~%extend% Kit(Player1,RABARA)~ END ACTION_IF FILE_EXISTS_IN_GAME ~RAOGHM.2da~ BEGIN OUTER_SPRINT extend ~%extend% Kit(Player1,RAOGHM)~ END
COPY_EXISTING ~AR0900.bcs~ ~override~ DECOMPILE_AND_PATCH BEGIN REPLACE_TEXTUALLY ~\!Class(Player1,FIGHTER_MAGE_CLERIC)[ %TAB%%LNL%%MNL%%WNL%]+!Class(Player1,CLERIC_RANGER)~ ~\1 %extend%~ END BUT_ONLY
EXTEND_BOTTOM BHARVAL 2 IF ~Alignment(Player1,NEUTRAL) %extend%~ THEN DO ~OpenDoor("DOR0902b") EscapeAreaMove("AR0902",577,650,14)~ UNSOLVED_JOURNAL #3439 EXIT END
Dialogue code is separate from tp2 code. IOW, this bit:
EXTEND_BOTTOM BHARVAL 2 IF ~Alignment(Player1,NEUTRAL) %extend%~ THEN DO ~OpenDoor("DOR0902b") EscapeAreaMove("AR0902",577,650,14)~ UNSOLVED_JOURNAL #3439 EXIT END
Needs to be put into a separate file and COMPILEd via your tp2/tpa.
Comments
Can I give any animation from animate.ids to a creature?
Let's say make a creature with the Glyph of Warding animation.
My antivirus isn't allowing me to get it.
Is there an easy way to make my new interjection for a character play after all the interjections from other mods, even if mine is installed last?
Weights seem kind of complicated and I didn't see anything else in the weidu faq. So I guess the real question is, "can I use weights with interject copy trans, and if so, how?"
As for gameplay effect, EE content has some tightly packed areas where actors are barely out of each other's sight. E.g. attacking Vichand in the Crusader camp in SoD would trigger the whole camp because they can now see him being attacked. Not quite critical, but you may have wanted to know.
Looking at the NearInfinity documentation I found an instruction (given by @argent77 ) to use a special Weidu function to handle this (as I can't foresee other mods that adds BAMs and uses PVRZ number).
How can I do it?
Thanks!
Example for installing a BAM V2 file:
[spoiler]
// 1. Install your BAM V2 file COPY ~%MOD_FOLDER%/bam/myfile.bam~ ~override~ // Called in preparation for step 2 LPF UPDATE_PVRZ_INDICES RET original_base_index new_base_index END // 2. Install associated PVRZ file ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN // Only needed if source pvrz page index < 1000. // Alternatively, replace %zero% with a fixed string of zeros in the "source_file" path below. OUTER_PATCH_SAVE zero ~0000~ BEGIN DELETE_BYTES 0 STRING_LENGTH ~%original_base_index%~ END // Install pvrz with updated indices LAF INSTALL_PVRZ INT_VAR original_base_index new_base_index STR_VAR source_file = EVAL ~%MOD_FOLDER%/bam/mos%zero%%original_base_index%.pvrz~ END END
You would have to expand the second part a bit if your BAM consists of multiple PVRZ files.
[/spoiler]
Let's pretend I'm a 6 yo that just saw a cat having sex.
Please, correct my example if I'm wrong:
[spoiler] [/spoiler]
[spoiler]
//Baervan Holy Symbol - code gently given by Argent77 COPY ~Deities&Pantheons/Itm/HolySymbols/BAM/BAERS.bam~ ~override~ LPF UPDATE_PVRZ_INDICES RET original_base_index new_base_index END ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN LAF INSTALL_PVRZ INT_VAR original_base_index new_base_index STR_VAR source_file = ~Deities&Pantheons/Itm/HolySymbols/BAM/MOS1000.pvrz~ END END COPY ~Deities&Pantheons/Itm/HolySymbols/BAM/BAERL.bam~ ~override~ LPF UPDATE_PVRZ_INDICES RET original_base_index new_base_index END ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN LAF INSTALL_PVRZ INT_VAR original_base_index new_base_index STR_VAR source_file = ~Deities&Pantheons/Itm/HolySymbols/BAM/MOS1001.pvrz~ END END
[/spoiler]I'm assuming that PVRZ files are found in the same folder as the BAM files.
Edit: You can probably place your code into a FOR_EACH loop to remove duplicate code.
[spoiler]
ACTION_FOR_EACH file IN ~BAERS~ ~BAERL~ BEGIN COPY ~Deities&Pantheons/Itm/HolySymbols/BAM/%file%.bam~ ~override~ LPF UPDATE_PVRZ_INDICES RET original_base_index new_base_index END ACTION_IF (original_base_index >= 0 AND new_base_index >= 0) BEGIN LAF INSTALL_PVRZ INT_VAR original_base_index new_base_index STR_VAR source_file = EVAL ~Deities&Pantheons/Itm/HolySymbols/BAM/MOS%original_base_index%.pvrz~ END END END
[/spoiler]Thanks.
Thanks!
How can I direct a priest kit to a specific line of the priest stronghold?
And: can I direct one kit to a stronghold that is not the priest one?
Let's say I want to make a kit being able to get the Thief stronghold. Other to get the Fighter one. Other to the druid's stronghold. And finally, make sure that some kits will be correctly directed to the quest given by Talos/Helm/Lathander.
Can it be done? I took a look at Divine Remix and even talked to @CamDawg , but the code there looks like Greek to me (what a surprise!)
Thanks!
A new sea to sail apparently.
I'll see what I can do, thanks for the link
If so, do you have a list of all the actors in all the areas for all the strongholds?
Thanks!