-
Posts
1,597 -
Joined
Content Type
Forums
Events
Downloads
Gallery
Mods
News
Store
Posts posted by argent77
-
-
I've noticed that when you start a new ToB campaign, the protagonist doesn't receive the "Slayer Change" ability.
-
Your mod doesn't replace any spells, but adds your own spell to the spell selection screen that coincidentally uses the same description as PfE. Since the spell is not properly configured for a priest spell it will cause some issues in the game itself.
Just removing the ADD_SPELL line from your mod should be enough. From your last comment I assume you're using one of the Spell() script actions to cast it. I would suggest to use the SpellRES() version instead. It has the advantage that it doesn't need to be added to SPELL.IDS.EDIT: I need help here: How can a spell which file is called T1M2HALF.SPL and added to the game via
ADD_SPELL ~override/T1M2HALF.spl~ 1 1 T1M2HALF
then be called sppr117 in the game?Spells added to SPELL.IDS (via ADD_SPELL) are using a fixed naming scheme to be recognized by the spell selection screen: SP<TYPE><LEVEL><ID> (e.g. SP PR 1 17). The ID is simply generated from the next free slot for the requested spell level which happens to be 17 in a clean BG:EE game.
-
Ok, it's definitely combination of 2 mods - BG1RE and Improved Shamanic Dance. Installation with RE only is fine, and with ISD alone is fine too.
Argent77 's ISD adds new spell: "Add spell "Shamanic Pact", adds the new level 6 spell "Shamanic Pact" to the shaman's spellbook. It allows the caster to resurrect a target as spirit after its death and control it for a limited amount of time.
Not sure if it's based on PfE, but looks like both mods share some variables.Jastey, it might be not RE after all.
The issue of having a spell called "Wisdom has been raised by 1 permanently" is caused by BG1RE alone. Improved Shamanic Dance has nothing to do with it.
Poking a bit around the BG1RE code it looks like that it's installed by the component "The Messenger 2: Rain or Snow or Gloom of Night" via ADD_SPELL as "sppr117.spl" in my game. ADD_SPELL should only be used for spells that should appear in the spell selection screen at character generation or level up. The spell in question sounds more like a quest reward. It also contains several incorrectly set fields which will probably apply some weird or unexpected behavior, including availability for druids and shamans.
Removing ADD_SPELL from the installation script should fix this issue.
-
My tweak idea: Disabled "Party AI" when starting a new game
It's basically just a matter of setting Configuration bit 0 (Party AI disabled) in the game's default BALDUR.GAM.
-
You're right. There is a (patch-only) SPRINTF command available which supports %s, %d and %x format specifiers. However, the command doesn't properly convert negative values into hexadecimal format, always prefixes the result with "0x" and you can't specify minimum number of digits, which forces me to do a lot of editing either way for my purposes.
-
The majority of my own functions and macros are too specific to be of (general) use. But there is a small number of functions that might be helpful.
TO_HEX_NUMBER:
A decimal to hexadecimal number converter. May be useful when dealing with IDS or INI files.
/** * Patch function. Converts any decimal number into a hexadecimal number. * INT_VAR value The decimal number to convert. * INT_VAR minDigits Minimum number of digits for the returned hex value. (default: 1) * INT_VAR prefix A flag that indicates whether the returned number will be prefixed with "0x". (default: 0) * RET hexNumber The converted hexadecimal number as string. */ DEFINE_PATCH_FUNCTION TO_HEX_NUMBER INT_VAR value = 0 minDigits = 1 prefix = 0 RET hexNumber BEGIN SET minDigits = (minDigits < 1) ? 1 : minDigits SET minDigits = (minDigits > 8) ? 8 : minDigits TEXT_SPRINT hexNumber ~~ PATCH_DEFINE_ARRAY digit BEGIN ~0~ ~1~ ~2~ ~3~ ~4~ ~5~ ~6~ ~7~ ~8~ ~9~ ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ END PATCH_IF (value < 0) BEGIN SET signed = 1 SET value = 0 - value END ELSE BEGIN SET signed = 0 END WHILE (value != 0) BEGIN SET curDigit = value BAND 0xf SET value = value BLSR 4 TEXT_SPRINT hexDigit $EVAL digit(~%curDigit%~) TEXT_SPRINT hexNumber ~%hexDigit%%hexNumber%~ END WHILE (STRING_LENGTH ~%hexNumber%~ < minDigits) BEGIN TEXT_SPRINT hexNumber ~0%hexNumber%~ END PATCH_IF (prefix) BEGIN TEXT_SPRINT hexNumber ~0x%hexNumber%~ END PATCH_IF (signed) BEGIN TEXT_SPRINT hexNumber ~-%hexNumber%~ END END // Action version of TO_HEX_NUMBER DEFINE_ACTION_FUNCTION TO_HEX_NUMBER INT_VAR value = 0 minDigits = 1 prefix = 0 RET hexNumber BEGIN OUTER_PATCH ~~ BEGIN LPF TO_HEX_NUMBER INT_VAR value = value minDigits = minDigits prefix = prefix RET hexNumber END END END
FIND_FREE_ANIM_SLOT:
This function attempts to find a free creature animation slot in a given range, so that it can be used to install custom creature animations. I'm using it quite extensively in my Golem Construction mod (example code). This function requires EE games patched to v1.4 or higher. It also makes use of the function TO_HEX_NUMBER mentioned above.
// Internally used: Animation slots reserved by vanilla or mod-added game creatures (in hexadecimal format) // Mods with fixed animation slots that are currently considered: // - Bearwalker + extended Werebear animation // - Pack Mule OUTER_TEXT_SPRINT animationSlots ~"0410" "1000" "1003" "1004" "1100" "1101" "1102" "1103" "1104" "1105" "1200" "1201" "1202" "1203" "1204" "1205" "1206" "1207" "1208" "1300" "2000" "2100" "2200" "2300" "3000" "3001" "4000" "4001" "4002" "4010" "4012" "4100" "4101" "4102" "4110" "4112" "4200" "4300" "4400" "4410" "4500" "4600" "4700" "4710" "4800" "5000" "5001" "5002" "5003" "5010" "5011" "5012" "5013" "5100" "5101" "5102" "5103" "5110" "5111" "5112" "5113" "5200" "5201" "5202" "5210" "5211" "5212" "5300" "5301" "5302" "5303" "5310" "5311" "5312" "5313" "6000" "6001" "6002" "6003" "6004" "6005" "6010" "6011" "6012" "6013" "6014" "6015" "6100" "6101" "6102" "6103" "6104" "6105" "6110" "6111" "6112" "6113" "6114" "6115" "6200" "6201" "6202" "6204" "6205" "6210" "6211" "6212" "6214" "6215" "6300" "6301" "6302" "6303" "6304" "6305" "6310" "6311" "6312" "6313" "6314" "6315" "6400" "6401" "6402" "6403" "6404" "6405" "6406" "6500" "6510" "6621" "7000" "7001" "7100" "7101" "7200" "7201" "7202" "7203" "7300" "7301" "7302" "7310" "7311" "7312" "7313" "7314" "7320" "7321" "7400" "7401" "7402" "7500" "7501" "7600" "7601" "7602" "7603" "7604" "7700" "7701" "7702" "7703" "7800" "7801" "7802" "7900" "7901" "7902" "7903" "7904" "7a00" "7a01" "7a02" "7a03" "7a04" "7b00" "7b01" "7b02" "7b03" "7b04" "7b05" "7b06" "7c00" "7c01" "7d00" "7d01" "7d02" "7d03" "7d04" "7d05" "7d06" "7d07" "7d08" "7e00" "7e01" "7f00" "7f01" "7f02" "7f03" "7f04" "7f05" "7f06" "7f07" "7f08" "7f09" "7f0a" "7f0b" "7f0c" "7f0d" "7f0e" "7f0f" "7f10" "7f11" "7f12" "7f13" "7f14" "7f15" "7f16" "7f17" "7f18" "7f19" "7f20" "7f21" "7f22" "7f23" "7f24" "7f27" "7f28" "7f29" "7f2a" "7f2b" "7f2c" "7f2d" "7f2e" "7f2f" "7f30" "7f31" "7f32" "7f33" "7f34" "7f35" "7f36" "7f37" "7f38" "7f39" "7f3a" "7f3b" "7f3c" "7f3d" "7f3e" "7f3f" "7f40" "7f41" "7f42" "7f43" "7f44" "7f45" "7f46" "7f47" "7f48" "7f49" "7f4a" "7f4b" "7f4c" "7f4d" "7f4e" "7f4f" "7f50" "7f51" "7f52" "7f53" "7f54" "7f55" "7f56" "7f57" "7f58" "7f59" "7f5a" "7f5b" "7f5c" "7f5d" "7f5e" "7f5f" "7f60" "7f61" "7f62" "8000" "8100" "8200" "9000" "a000" "a100" "a200" "a201" "a202" "b000" "b100" "b200" "b210" "b300" "b310" "b400" "b410" "b500" "b510" "b600" "b610" "b700" "c000" "c100" "c200" "c300" "c400" "c500" "c600" "c610" "c700" "c710" "c800" "c810" "c900" "c910" "ca00" "ca10" "cb00" "cc00" "cc01" "cc02" "cc04" "d000" "d100" "d200" "d300" "d400" "e000" "e010" "e020" "e040" "e050" "e060" "e070" "e080" "e090" "e0a0" "e0b0" "e0c0" "e0d0" "e0e0" "e0f0" "e0f1" "e0f2" "e200" "e210" "e220" "e230" "e240" "e241" "e242" "e243" "e244" "e245" "e246" "e247" "e248" "e249" "e24a" "e24b" "e24c" "e24d" "e24e" "e24f" "e250" "e251" "e252" "e253" "e254" "e255" "e256" "e257" "e258" "e259" "e25a" "e25b" "e25c" "e25d" "e25e" "e25f" "e260" "e261" "e262" "e263" "e264" "e265" "e266" "e267" "e26a" "e26b" "e26d" "e26e" "e26f" "e270" "e271" "e272" "e273" "e274" "e276" "e279" "e27d" "e27e" "e27f" "e280" "e281" "e282" "e283" "e288" "e289" "e28a" "e28b" "e28c" "e28d" "e28e" "e28f" "e290" "e291" "e292" "e293" "e294" "e300" "e310" "e320" "e330" "e400" "e410" "e420" "e430" "e440" "e441" "e442" "e443" "e444" "e500" "e510" "e520" "e600" "e610" "e6fe" "e700" "e710" "e720" "e800" "e810" "e820" "e830" "e840" "e900" "e910" "ea00" "ea10" "ea20" "eb00" "eb10" "eb20" "ec00" "ec10" "ec20" "ed00" "ed10" "ed20" "ee00" "ee10" "ef10" "f000" "f001" "f002" "f003" "f004" "f005" "f006" "f007" "f008" "f009" "f00a" "f00b" "f00c" "f00d" "f00e" "f00f" "f010" "f011" "f012" "f013" "f014" "f015" "f016" "f017" "f018" "f019" "f01a" "f01b" "f01c" "f01d" "f01e" "f01f" "f020" "f021" "f022" "f023" "f024" "f025" "f026" "f027" "f028" "f029" "f02a" "f02b" "f02c" "f02d" "f02e" "f02f" "f030" "f031" "f032" "f033" "f034" "f035" "f036" "f037" "f038" "f039" "f03a" "f03b" "f03c" "f03d" "f03e" "f03f" "f040" "f041" "f042" "f043" "f044" "f045" "f046" "f047" "f048" "f049" "f04a" "f04b" "f04c" "f04d" "f04e" "f04f" "f050" "f051" "f052" "f053" "f054" "f055" "f056" "f057" "f058" "f059" "f05a" "f05b" "f05c" "f05d" "f05e" "f05f" "f060" "f061" "f062" "f100" "f101" "f22e" "f80e"~ /** * Patch function. Returns the first free creature animation slot in the range defined by slotMin and slotMax. * INT_VAR slotMin Lowest available creature animation slot for the animation, inclusive. (Default: 0) * INT_VAR slotMax Highest available creature animation slot for the animation, exclusive. * (Default: highest value for slot type indicated by "slotMin") * INT_VAR slotSteps How many slots to skip after each iteration, starting from slotMin. * Setting this parameter is useful if compatible animation slots are always * a fixed distance apart (e.g. at a distance of 0x10 each). (Default: 1) * RET slot A free animation slot. Returns -1 if none are found in the given range. */ DEFINE_PATCH_FUNCTION FIND_FREE_ANIM_SLOT INT_VAR slotMin = 0 slotMax = (slotMin BAND 0xf000) + 0x1000 slotSteps = 1 RET slot BEGIN SET slot = "-1" SET slotSteps = (slotSteps < 1) ? 1 : slotSteps SET slotMin = (slotMin < 0) ? 0 : slotMin SET slotMax = (slotMax < 0) ? 0 : slotMax PATCH_IF (slotMax < slotMin) BEGIN SET tmp = slotMin SET slotMin = slotMax SET slotMax = tmp END INNER_PATCH ~%animationSlots%~ BEGIN FOR (idx = slotMin; idx < slotMax; idx += slotSteps) BEGIN LOOKUP_IDS_SYMBOL_OF_INT name ~animate~ idx PATCH_IF (~%name%~ STR_EQ ~%idx%~) BEGIN LPF TO_HEX_NUMBER INT_VAR value = idx minDigits = 4 RET hexNumber END PATCH_IF (NOT FILE_EXISTS_IN_GAME ~%hexNumber%.ini~ AND ~%slotList%~ STRING_CONTAINS_REGEXP ~"%hexNumber%"~ != 0) BEGIN SET slot = idx SET idx = slotMax END END END END END // Action version of FIND_FREE_ANIM_SLOT DEFINE_ACTION_FUNCTION FIND_FREE_ANIM_SLOT INT_VAR slotMin = 0 slotMax = (slotMin BAND 0xf000) + 0x1000 slotSteps = 1 RET slot BEGIN OUTER_PATCH ~~ BEGIN LPF FIND_FREE_ANIM_SLOT INT_VAR slotMin = slotMin slotMax = slotMax slotSteps = slotSteps RET slot END END END
-
You haven't mentioned whether the mod is for the classic games or the Enhanced Editions. In the latter case TIS files are much smaller (several kb instead of MB) and can easily be modified with WeiDU. File format is described in more detail in this post. It's just a matter of adding one or more tile data blocks and providing a small PVRZ file with the new graphics.
Theoretically it would also work for the classic games if you don't mind converting the TIS to the new EE format with tile2ee, making your changes and converting it back (with the same tool). -
Odd though that party members return to their proper animation(though still recolored), while others revert to the Human Cleric.
It's not limited to party members, but all creatures with humanoid creatures animations (xxx_LOW animations are restored as non-LOW animations). Monster animations appear to be restored as human clerics though.
-
I've noticed that setting parameter 2 of opcode 32 (Raise Dead) to nonzero allows you to raise even creatures that died an exploding death. However, the opcode appears to be hardcoded to change the creature animation to a human cleric. It would be perfect for my purposes if there were a way to prevent the animation change.
-
Using the "Seven Eyes" mechanism is probably too much effort for my spell. I will use this restriction to prevent the spell from becoming too powerful instead.
-
I've tried increasing personal space with opcode 342 (Override Creature Data) without success. I don't know how to increase selection circle size via opcode (but it would probably look weird to have a goblin running around with a dragon-sized selection circle all of a sudden).
If nothing else works I have probably no choice but to adjust the spell description and live with this restriction. -
It's a bit more complicated in my case. The spell I'm working on is also using opcode 232 (Cast Spell on Condition) with condition = "Target dies" to trigger some kind of "resurrection" spell as soon as the affected creature dies. However, resurrection doesn't work when a creature dies an exploding death, so I have to somehow prevent this type of death. (Btw, scripts are out of the question.)
-
I tried opcode 208 (Minimum HP) with param1 set to 0 or -1, but without success (regardless of timing mode).
Opcode 295 (Disable permanent death) doesn't appear to work either. -
I know that you can prevent exploding death via creature flags. But (afaik) they can only be set at install time.
Is there a way to prevent this type of death via effect opcode? -
There will most likely be no further progress as long as IWD:EE is still on patch v1.4.
-
I found an issue in EET which severely weakens the Shaman class. The script BDSHUNSU.BCS which governs the general behavior of all summoned spirits checks for a number of items equipped by the summoner in BGEE/SoD and applies their respective spell effects. However, the BG2EE version does not contain any of these checks.
Since EET uses the BG2EE version of the script, items which empower the spirits will be ineffective. (Although I would rather blame Beamdog for providing a simplified script even though some of the items are still available in BG2EE as well.)
-
I found another issue of BG1 strrefs not adapted to EET. This time in SoD's BD0010.BCS:
// in EET: DisplayStringHead("Angry Flaming Fist 1",9989) // Why did you not turn to one of them instead of Shar? DisplayStringHead("Angry Refugee 4",18402) // Valygar is dead, but his body has been destroyed. I cannot do as you ask. // in SoD: DisplayStringHead("Angry Flaming Fist 1",9989) // Nooo! Stay back! DisplayStringHead("Angry Refugee 4",18402) // No one will help me... No one will help...
Tested in EET 1.0 RC 8.6.
-
I haven't read all the posts in this topic, so I don't know if this has already been reported.
I noticed that some of the spell variants not available to the player recursively call themselves in an endless loop which can even grind the EEs to a halt eventually (tested SR v4 Beta 14).
The following spells (and most likely more) are affected:
- SPCRYO01.SPL (Cone of Cold)
- SPWISH24.SPL (Meteor Swarm) <- may freeze the game
- SPWISH32.SPL (Abi-Dalzim's Horrid Wilting) -
That's understandable. The current solution of using additional script blocks is working well enough in this case (with minor quirks). There may also be a way to duplicate dying conditions. I will look into it a bit further.
-
Regarding your view on Demogorgon's combat script, I'd like to suggest another option how to deal with items dropped by the demon on death.
I have played a bit with the script action DropInventory(). It will drop all regular (i.e. droppable) items from the creature's inventory to the ground as it would be automatically done if the creature died normally. Would you consider adding it to the dying sequence in SCS?
However, I don't know if there are any mods out there which add droppable items to Demogorgon that are not meant to be dropped (since he never properly dies in an unmodded game). Someone more knowledgeable about (BWS) mega mod installations can probably say more about it. -
There appears to be an issue with the component "Improved fiends -> Fiends have about 50 percent more hit points than normal: v30 BWP fix + K4thos' EET compatibility + kreso's Spell Revisions compatibility". From what I could find out it seems to overwrite any changes made by previous mods to the script DEMOGOR2.BCS.
You can find out more in this and following posts. -
Could anyone please compile lua 5.3.0 for osx and upload it here? Here is a link to source: https://www.lua.org/download.html
Try this: lua-5.3.3-osx-bin.zip
-
There is a bit more.
Bit 3: Drain to max. HP of caster
Is supposed to increase the caster's max. HP as well.
Bit 5: Suppress damage feedback
Do not show damage message in the combat log.
Bit 9: Made save
This bit is used internally by the game engine. -
PST doesn't support BAMC either.
Successful OSX Instals (w/ SCS)?
in Enhanced Edition Trilogy
Posted
Latest tileconv and tile2ee should be compatible with macOS Sierra.