Quantcast
Channel: Modding — Beamdog Forums
Viewing all 11774 articles
Browse latest View live

[BG:EE] Charan's Max Hit Points rolls for leveled companions ver 1.0

$
0
0
Charan's Max Hit Points rolls for leveled companions ver 1.0

1. Installation:
Simply put all .CRE files into your Baldur's Gate Enhanced edition override folder.

2. What does it do?
It sets hit points of companions to maximum rolls - when you encounter a recruitable companion - he/she will always have maximum possible Hit Points for current level.

3. Notes:
- Mod was prepared with Baldur's Gate Enhanced Edition version 1.0.2014, but should be perfectly compatible later on.
- For this mod to work you need to have it installed before meeting given companion - or simply start new game.
- Mod is most likely not compatible with other mods that edit companions (such as no autolevel up for companions, or class kits for companions).
If system asks you to overwrite some fails when installing this mod it means you already have some files that edit your companions.

modmerge: merge your Steam/GOG zip based DLC into something Weidu/NearInfinity/DLTCEP can use.

$
0
0
Hey,

Updated to 1.1 to look for sod-dlc.zip where GOG puts it.

People have certainly made their voices heard about the zip based dlc that we use on Steam and Gog. I had a few hours to spare Saturday and Sunday night, so I made modmerge for those who may be interested.

You can download binaries for your platform at http://github.com/ScottBrooks/modmerge/releases or view the source at http://github.com/ScottBrooks/modmerge

This comes with no warranty, and if you need to restore your steam copy to normal, you can use the 'Properties->Local Files->Verify Integrity of Game Cache' feature to restore things to how they were before.

If you download this and place it beside your game data folder(aka, modmerge.exe should be sitting beside chitin.key), and run it, it will do the following.
  1. Backs up your chitin.key to chitin.key.bak, just in case
  2. Unzips your dlc/sod-dlc.zip, copying over top of the existing lang/, movies/, music/ folders. The data folder inside of the zip will be renamed to no overwrite files in the existing data directory.
  3. Updates your chitin.key with so any resources from inside of the zip file will point to their appropriate bif files.
  4. Renames your dlc/sod-dlc.zip to dlc/sod-dlc.disabled so the engine no longer loads the zip based dlc.

This should give you a chitin.key that references all the BGEE assets in data/*.bif, along with referencing all the SOD assets in the sod-dlc/*.bif files.

I've tested this on two machines here(PC/Mac), on steam. Let me know if you have any success.

Mod compatibility bg2ee post version 2+

$
0
0
Hello community! This is my first post! Anyway I have a question to which I have not yet found an answer.

I have Bg2ee+ToB+Black pits 2, bg2ee version 2.136 something.

I recently tried to install a number of mods for my game. These mods are quest mods and overhaul mods like: Ascension, Big pack, Assassinations, Unfinished business, TotDG, BtB, Dungeon crawl, SCS, Bg2 tweaks, and some other mods dealing with romances and banter.

My issue is that I think I followed the instructions for each. I unzipped the files or directed them to my game directory and ran the Weidu..ran the programs to install the mods. As far as I can tell there is very little if any change to the game. I suppose the only change I have noticed this far is two additional weapons (long swords) I suspect came from the rogue rebalancing mod.

Are the mods mentioned in the list for bg2ee compatible mods compatible with the post 2 version game? I gather from another thread that SCS was updated through the big world mod pack, and I have yet to install that one correctly. Thank you for your time.

Edit: Maybe...I installed the base game in the wrong folder...it is in C:GoG/Baulder's gate 2. Does that make a difference? Do I need to reinstall it in my Users/games folder? Can I migrate my save games? Lol what a noob I am.

What is it with Wait(), FadeToColor() and LeaveAreaLUA()?

$
0
0
I'm using the last of these actions to move creatures around. FadeToColor starts first to cover it up, but with the LUA the blackness lasts 10-15 seconds, even without a Wait(). In fact, I removed Wait() to shorten the time a little, and it's still too long. The game action has resumed, FadeFromColor was written to go off quickly, now characters are talking, music is playing, but all is black. This is similar to the problems I'm having with AdvanceTime() - either in combination with FadeToBlack or by itself it invokes a long blackness. Has anyone else noticed this?

Imoen Romance V3.0 Release

Restricting Specialist's extra Spell Slots to Specialist's School Spells

$
0
0
This mod aims to implement proper spell slot restrictions for Specialist mages, forcing them to choose a spell from their school for their bonus spell slots.

Weidu should be able to install it so long as the section dealing with the Mage Spellbook hasn't already been altered. It uses REPLACE_TEXTUALLY for all its changes, if there is a better way I am open to suggestions.

The marker effects for this are applied to specialists at level 1 through the CLAB, so games already in progress will require force-casting a spell on existing specialists through the console. This marker effect will remain if the mod is uninstalled, but does nothing by itself and will not affect gameplay otherwise. This marker is a dummy sequencer, so the Sequencer Active portrait Icon will always be in effect, and it will show up as a blank line in the active Contingencies list.
It needs to be installed after any mods that add or alter Mage spells or creatures with specialist kits, so they can receive proper recognition.

ConsoleCast:
C:Eval("ActionOverride(Myself,ReallyForceSpellRES(\"MSCHOOL\",Msyelf))")
Only the 8 specialist mage kits will receive the marker, it will have no affect on others, including Wildmages and Mod-added kits.

The second component causes the extra spells slots from Edwin's Amulet to be treated the same way, requiring Conjuration Spells be put in them. The effect added to the Amulet can be added to anything, using "MSCHOOL#" as the resource, where # is the Spell School(as assigned to spells), forcing an extra slot of every spell level to go to that spell school.

Specialist School spells and slots are identified by a simple "rectangle 0" border:




Manual Editing:
Comment out "INCLUDE ~%MOD_FOLDER%\UIMENU.tpa~" in the "UIMENU.tpa" file.
Replace these two functions:

function magePageInfo()
if bookMode == 0 then -- Regular
if characters[id].hasSorcererBook then
return t("SPELLS_CAN_CAST_LABEL") .. ": " .. characters[id].mageDetails[currentSpellLevel].slotsRemaining .. "/" .. characters[id].mageDetails[currentSpellLevel].maxMemorized
else
local num = 0 if #specialistSlot > 0 then num = #bottomSpells + #specialistSlot else num = #bottomSpells end
return t("MEMORIZED_LABEL") .. ": " .. #bottomSpells .. "/" .. characters[id].mageDetails[currentSpellLevel].maxMemorized
end
elseif bookMode == 1 then -- Sequencer/Contingency
return t("SPELLS_LABEL") .. " :" .. #bottomSpells .. "/" .. #bottomSpellsPlaceHolder

end
return ""
end

function refreshMageBook()
if currentSpellLevel == nil then
currentSpellLevel = 1
end
if bookMode == 0 then
if characters[id].hasMageBook then
bookSpells = characters[id].mageSpells[currentSpellLevel]
newBottomSpells = filterMemorizedMageSpells()

if showMageMemorizationFlash == true then
createMageMemorizationSparkle(0,0,36,36,"memorizedListMage", findFirstDifferenceInSpellList(bottomSpells, newBottomSpells))
showMageMemorizationFlash = false
end
bottomSpells = newBottomSpells
getSpecialistSlot()
bottomSpellsPlaceHolder = makeBlankTable(characters[id].mageDetails[currentSpellLevel].maxMemorized)
for index = 1, #currentSchool , 1 do
table.remove (bottomSpellsPlaceHolder, 1)
end
else
bookSpells = characters[id].mageSpells[currentSpellLevel]
bottomSpells = {}
bottomSpellsPlaceHolder = {}
end
elseif bookMode == 1 then
bookSpells = filterContingencyMageSpells()
bottomSpells = sequencerSpells
bottomSpellsPlaceHolder = makeBlankTable(contingencyMaxSpells)
contingencyDescription = mageBookStrings[contingencyResRef].tip
end
end

and all of menu 'MAGE':

menu
{
name 'MAGE'
align center center
greyscale lua "mageBookEnabled == false"
modal lua "bookMode == 1"
onopen "
specialistBookFilter()
showMageMemorizationFlash = false
mgpage = nil
setMageBookLevel(1)
if showContingency then
Infinity_SetArea('bookListMage', nil, 374, nil, 200)
Infinity_SetArea('bookDescription', nil, 374, nil, 200)
else
Infinity_SetArea('bookListMage', nil, 174, nil, 400)
Infinity_SetArea('bookDescription', nil, 174, nil, 400)
end
if bookMode == 1 then
contingencyDescription = mageBookStrings[contingencyResRef].tip
end
currentContingencyCondition = 0
currentContingencyTarget = 0
currentAnimationID = 1
updateCounterMemorizationSparkles = 1
"
onclose "
"
button
{
enabled "CurrentlyInGame()"
on escape
action
"
--Return to world screen on escape
e:SelectEngine(worldScreen)
"
}
template
{
label
{
enabled "showMemorizationSparkle(instanceId)"
ignoreEvents
area 0 0 45 42
bam "FLASHBR"
usealpha lua "true"
frame lua "memorizationFlashes[instanceId][2]"
align center center
}
name "TEMPLATE_mageMemorizationSparkle"
}
label
{
area 0 0 864 710
mosaic "GUIMGB2"
}
label
{
area 82 10 700 44
text lua "mageBookTitle()"
text style "title"
}
label
{
area 210 59 446 30
text lua "mageBookAction()"
text style "label"
}
button
{
area 168 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 0
enabled "maxMagePage > 0"
action "setMageBookLevel(1)"
}
button
{
area 227 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 1
enabled "maxMagePage > 1"
action "setMageBookLevel(2)"
}
button
{
area 286 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 2
enabled "maxMagePage > 2"
action "setMageBookLevel(3)"
}
button
{
area 345 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 3
enabled "maxMagePage > 3"
action "setMageBookLevel(4)"
}
button
{
area 404 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 4
enabled "maxMagePage > 4"
action "setMageBookLevel(5)"
}
button
{
area 464 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 5
enabled "maxMagePage > 5"
action "setMageBookLevel(6)"
}
button
{
area 523 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 6
enabled "maxMagePage > 6"
action "setMageBookLevel(7)"
}
button
{
area 583 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 7
enabled "maxMagePage > 7"
action "setMageBookLevel(8)"
}
button
{
area 644 110 54 54
bam GUIPRTC
highlightgroup mgpage
sequence 8
enabled "maxMagePage > 8"
action "setMageBookLevel(9)"
}
list
{
column
{
width 15
label
{
area 0 0 -1 -1
bam lua "bookSpells[rowNumber].icon"
enabled "specialistIcon(0)"
align center center
}
label { area 0 0 -1 -1 bam lua "bookSpells[rowNumber].icon" align center center enabled "specialistIcon(1)" rectangle 0}
}
column
{
width 85
label
{
area 0 0 -1 -1
text lua "Infinity_FetchString( bookSpells[rowNumber].name)"
text style "normal_parchment"
text align left center
}
}
area 94 174 316 400
name "bookListMage"
rowheight 40
table "bookSpells"
var currentBookSpell
scrollbar 'GUISCRC'
action
"
contingencyDescription = 0
if cellNumber == 1 then
if bookMode == 0 then
if #bottomSpells < #bottomSpellsPlaceHolder or SpecialistMemorize() then
createMageMemorizationSparkle(1, 0, 40, 40, 'bookListMage', -1)
Infinity_PlaySound('GAM_24')
showMageMemorizationFlash = true

mageScreen:MemorizeSpell( bookSpells[currentBookSpell].level, bookSpells[currentBookSpell].index )
end
elseif bookMode == 1 and #bottomSpells < #bottomSpellsPlaceHolder then
mageScreen:SequenceSpell( bookSpells[currentBookSpell].resref )
end
end
if lastCurrentBookSpell == currentBookSpell and cellNumber == 2 then
currentBookSpell = 0
contingencyDescription = mageBookStrings[contingencyResRef].tip
end
lastCurrentBookSpell = currentBookSpell
"
actionalt
"
if cellNumber == 1 and bookMode == 0 and characters[id].hasSorcererBook == false then
popup2Button(24485, 'REMOVE_BUTTON', function() mageScreen:EraseKnownSpell(bookSpells[currentBookSpell].resref) end)
end
"

}
label
{
area 100 178 314 192
rectangle 1
rectangle opacity 200
enabled "showContingency"
}
label
{
area 104 182 310 48
enabled "showContingency"
text "CONDITION_NORMAL"
text style "normal"
}
list
{
column
{
width 100
label
{
area 10 0 -1 -1
text lua "Infinity_FetchString( contingencyConditions[rowNumber].strref)"
text style "normal"
text align left center
}
}
area 104 224 310 141
enabled "showContingency"
rowheight 40
table "contingencyConditions"
var currentContingencyCondition
scrollbar 'GUISCRC'
action
"
contingencyDescription = contingencyConditions[currentContingencyCondition].desc
"

}
label
{
area 452 176 322 193
rectangle 1
rectangle opacity 200
enabled "showContingency"
}
label
{
area 464 176 310 48
enabled "showContingency"
text "TARGET_NORMAL"
text style "normal"
}
list
{
column
{
width 100
label
{
area 10 0 -1 -1
text lua "Infinity_FetchString( contingencyTargets[rowNumber].strref)"
text style "normal"
text align left center
}
}
area 458 228 316 141
enabled "showContingency"
rowheight 40
table "contingencyTargets"
var currentContingencyTarget
scrollbar 'GUISCRC'
action
"
contingencyDescription = contingencyTargets[currentContingencyTarget].desc
"
}
text
{
name "bookDescription"
area 452 174 316 400
text lua "mageBookDescription()"
text style "normal_parchment"
scrollbar 'GUISCRC'
}
list
{
column
{
width 100
label
{
area 0 0 -1 -1
bam "SPELFRMS"
sequence 0
align center center
}
}
area 72 658 714 36
enabled "(#bottomSpellsPlaceHolder ~= 0 or bookMode == 1) and isSpecialist(0)"
rowwidth 36
table "bottomSpellsPlaceHolder"
}
list { column { width 100 label { area 0 0 -1 -1 bam "SPELFRMS" sequence 0 align center center } } area 114 656 674 36 enabled "bookMode == 0 and isSpecialist(1, 1)" rowwidth 36 table "bottomSpellsPlaceHolder" }
list { column { width 100 label { area 0 0 -1 -1 bam "SPELFRMS" sequence 0 align center center } } area 150 656 638 36 enabled "bookMode == 0 and isSpecialist(2, 1)" rowwidth 36 table "bottomSpellsPlaceHolder" }
list { column { width 100 label { area 0 0 -1 -1 bam "SPELFRMS" sequence 0 align center center } } area 186 656 602 36 enabled "bookMode == 0 and isSpecialist(3, 1)" rowwidth 36 table "bottomSpellsPlaceHolder" }
list { column { width 100 label { area 0 0 -1 -1 bam "SPELFRMS" sequence 0 align center center } } area 222 656 566 36 enabled "bookMode == 0 and isSpecialist(4, 1)" rowwidth 36 table "bottomSpellsPlaceHolder" }
list { column { width 100 label { area 0 0 -1 -1 bam "SPELFRMS" sequence 0 align center center } } area 258 656 530 36 enabled "bookMode == 0 and isSpecialist(5, 1)" rowwidth 36 table "bottomSpellsPlaceHolder" }
list { column { width 100 label { area 0 0 -1 -1 bam "SPELFRMS" sequence 0 align center center } } area 294 656 494 36 enabled "bookMode == 0 and isSpecialist(6, 1)" rowwidth 36 table "bottomSpellsPlaceHolder" }
button { area 78 656 36 36 bam lua "specialistSlot[1].icon" align center center greyscale lua "specialistSlot[1].castable == 0" rectangle = 0
enabled "bookMode == 0 and isSpecialist(1, 0) and characters[id].mageDetails[currentSpellLevel].maxMemorized > 0"
action "showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( specialistSlot[1].level, specialistSlot[1].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
button { area 114 656 36 36 bam lua "specialistSlot[2].icon" align center center greyscale lua "specialistSlot[2].castable == 0" rectangle = 0
enabled "bookMode == 0 and isSpecialist(2, 0) and characters[id].mageDetails[currentSpellLevel].maxMemorized > 0"
action "showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( specialistSlot[2].level, specialistSlot[2].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
button { area 150 656 36 36 bam lua "specialistSlot[3].icon" align center center greyscale lua "specialistSlot[3].castable == 0" rectangle = 0
enabled "bookMode == 0 and isSpecialist(3, 0) and characters[id].mageDetails[currentSpellLevel].maxMemorized > 0"
action "showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( specialistSlot[3].level, specialistSlot[3].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
button { area 186 656 36 36 bam lua "specialistSlot[4].icon" align center center greyscale lua "specialistSlot[4].castable == 0" rectangle = 0
enabled "bookMode == 0 and isSpecialist(4, 0) and characters[id].mageDetails[currentSpellLevel].maxMemorized > 0"
action "showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( specialistSlot[4].level, specialistSlot[4].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
button { area 222 656 36 36 bam lua "specialistSlot[5].icon" align center center greyscale lua "specialistSlot[5].castable == 0" rectangle = 0
enabled "bookMode == 0 and isSpecialist(5, 0) and characters[id].mageDetails[currentSpellLevel].maxMemorized > 0"
action "showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( specialistSlot[5].level, specialistSlot[5].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
button { area 258 656 36 36 bam lua "specialistSlot[6].icon" align center center greyscale lua "specialistSlot[6].castable == 0" rectangle = 0
enabled "bookMode == 0 and isSpecialist(6, 0) and characters[id].mageDetails[currentSpellLevel].maxMemorized > 0"
action "showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( specialistSlot[6].level, specialistSlot[6].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
list { column { width 100 label { area 0 0 -1 -1 bam lua "bottomSpells[rowNumber].icon" align center center greyscale lua "bottomSpells[rowNumber].castable == 0" } }
area 114 656 638 36 name "memorizedListMage" enabled "bookMode == 0 and #bottomSpells ~= 0 and isSpecialist(1, 1)" rowwidth 36 table "bottomSpells" var currentBottomSpell
action" showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( bottomSpells[currentBottomSpell].level, bottomSpells[currentBottomSpell].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
list { column { width 100 label { area 0 0 -1 -1 bam lua "bottomSpells[rowNumber].icon" align center center greyscale lua "bottomSpells[rowNumber].castable == 0" } }
area 150 656 602 36 name "memorizedListMage" enabled "bookMode == 0 and #bottomSpells ~= 0 and isSpecialist(2, 1)" rowwidth 36 table "bottomSpells" var currentBottomSpell
action" showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( bottomSpells[currentBottomSpell].level, bottomSpells[currentBottomSpell].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
list { column { width 100 label { area 0 0 -1 -1 bam lua "bottomSpells[rowNumber].icon" align center center greyscale lua "bottomSpells[rowNumber].castable == 0" } }
area 186 656 566 36 name "memorizedListMage" enabled "bookMode == 0 and #bottomSpells ~= 0 and isSpecialist(3, 1)" rowwidth 36 table "bottomSpells" var currentBottomSpell
action" showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( bottomSpells[currentBottomSpell].level, bottomSpells[currentBottomSpell].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
list { column { width 100 label { area 0 0 -1 -1 bam lua "bottomSpells[rowNumber].icon" align center center greyscale lua "bottomSpells[rowNumber].castable == 0" } }
area 222 656 530 36 name "memorizedListMage" enabled "bookMode == 0 and #bottomSpells ~= 0 and isSpecialist(4, 1)" rowwidth 36 table "bottomSpells" var currentBottomSpell
action" showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( bottomSpells[currentBottomSpell].level, bottomSpells[currentBottomSpell].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
list { column { width 100 label { area 0 0 -1 -1 bam lua "bottomSpells[rowNumber].icon" align center center greyscale lua "bottomSpells[rowNumber].castable == 0" } }
area 258 656 494 36 name "memorizedListMage" enabled "bookMode == 0 and #bottomSpells ~= 0 and isSpecialist(5, 1)" rowwidth 36 table "bottomSpells" var currentBottomSpell
action" showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( bottomSpells[currentBottomSpell].level, bottomSpells[currentBottomSpell].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
list { column { width 100 label { area 0 0 -1 -1 bam lua "bottomSpells[rowNumber].icon" align center center greyscale lua "bottomSpells[rowNumber].castable == 0" } }
area 294 656 458 36 name "memorizedListMage" enabled "bookMode == 0 and #bottomSpells ~= 0 and isSpecialist(6, 1)" rowwidth 36 table "bottomSpells" var currentBottomSpell
action" showMageMemorizationFlash = false mageScreen:UnmemorizeSpell( bottomSpells[currentBottomSpell].level, bottomSpells[currentBottomSpell].memorizedIndex ) Infinity_PlaySound('GAM_44') refreshMageBook()"
}
list
{
column
{
width 100
label
{
area 0 0 -1 -1
bam lua "bottomSpells[rowNumber].icon"
align center center
greyscale lua "bottomSpells[rowNumber].castable == 0"
}
}
area 72 658 718 36
name "memorizedListMage"
enabled "#bottomSpells ~= 0 and isSpecialist(0)"
rowwidth 36
table "bottomSpells"
var currentBottomSpell
action
"
if bookMode == 0 then
showMageMemorizationFlash = false
mageScreen:UnmemorizeSpell( bottomSpells[currentBottomSpell].level, bottomSpells[currentBottomSpell].memorizedIndex )
Infinity_PlaySound('GAM_44')
elseif bookMode == 1 then
mageScreen:UnSequenceSpell( bottomSpells[currentBottomSpell].resref )
table.remove(sequencerSpells, currentBottomSpell)
bottomSpells = sequencerSpells
currentBottomSpell = 0
end
"
}
label
{
area 282 594 300 40
text lua "magePageInfo()"
text style "label"
rectangle 0
}

button
{
area 582 594 230 44
enabled "bookMode == 0 and (#characters[id].contingencySpells > 0 or #characters[id].sequencerSpells > 0)"
bam GUIBUTMT
text "CONTINGENCY_BUTTON"
text style "button"
action "Infinity_PushMenu('MAGE_CONTINGENCY')"

}
button
{
area 52 594 230 44
bam GUIBUTMT
enabled "bookMode == 1 or characters[id].hasMageBook"
clickable lua "(#bottomSpells < #bottomSpellsPlaceHolder or SpecialistMemorize()) and currentBookSpell ~= 0"
text "MEMORIZE_BUTTON"
text style "button"
action
"
if bookMode == 0 then
createMageMemorizationSparkle(1, 0, 40, 40, 'bookListMage', -1)
showMageMemorizationFlash = true
mageScreen:MemorizeSpell( characters[id].mageSpells[currentSpellLevel][currentBookSpell].level, characters[id].mageSpells[currentSpellLevel][currentBookSpell].index )
elseif bookMode == 1 then
mageScreen:SequenceSpell( bookSpells[currentBookSpell].resref )
end
"
}
button
{
area 582 594 230 44
enabled "bookMode == 1"
bam GUIBUTMT
text lua "contingencyDoneButtonText()"

text style "button"
action
"
if contingencyComplete() then
mageScreen:DoneSequencingSpells()
else
mageScreen:CancelSequencingSpells()
end
e:SelectEngine(worldScreen)
"
}
}

Note: The slot will be unusable if you have no spells of your spell school for a given spell level, and some schools have no spells at certain spell levels in the unmodded game.
Edit: Fixed game path.

How to get rid of the ridiculous exploding body gore animation...(?)

$
0
0
So here's my concern:

As you all know, the game turns a little bit more "realistic" and violent if you enable blood & gore in Baldur's Gate 2 via the "Memory Access=100" entry:

- bodies actually turn into a pile of dust if you cast "Disintegrate" on them instead of leaving behind the corpse on the floor
- enemies shatter to little pieces of stone/ice if they suffer any damage and were turned to stone/were frozen before

AND:

- enemies explode into huge chunks of meat in a ridiculous animation if they suffer too much damage while dying.
Although I like that effect *if an enemy gets destroyed by a mighty arcane spell* (for example in the cutscene after escaping from Irenicus' dungeon) I find it hilarious and very unrealistic if an Athkathlan City Guard - wearing full plate mail - explodes into huge pieces of flesh *because you stabbed him into his back with a DAGGER*! *Ahem..* You get the point...

So I tried to prevent this "glitch" via modding, but until now I was not successful ;-(
As far as I know, the *.BAM - file of the chunk-animation is called "SPFLESH".
I tried to make enemies immune to the animation via the "Protection from specific animation" effect or the "protection from specific death" effect, but it didn't have an effect...

My idea is to add an effect to ALL melee weapons with the conditions:

- applies on hit
- makes the target immune to the death animation *dying in huge meat chunks* for 2 seconds

Therefore all gore effect would still be in the game but if you kill enemies in *melee* combat, they'd just fall down and die instead of triggering this unrealistic effect.
The thing is that I couldn't get the "immune to specific animation" effect to work until now...

Does anyone have an idea how to prevent this animation from being shown in melee combat?
I think this forum is the right place to ask because:

- there are many talented modders here
- this "glitch" concerns BG1 and BG2
- I guess there are more people out there who feel the same

I hope someone can help ;)

Item opinion

$
0
0
I'm in the works of making a custom item and Im looking for some constructive opinions.

Version 1:

This flawless katana bears the mark of Taka Kobe, an honoured swordsmith of Kara-Tur, though how it came to be here is unknown. Perfectly balanced, the kensai can let the momentum from a deadly melee attack carry his weapon into another foe, thereby gaining an extra attack per round.

STATISTICS:

Combat abilities:
- 1 extra attack per round (Kensai)

Damage: 1d10+2 (slashing)
Speed Factor: 0
Proficiency Type: Katana
Type: One-handed
Requires:
6 Strength

Weight: 4

Version 2:

This flawless katana bears the mark of Taka Kobe, an honoured swordsmith of Kara-Tur, though how it came to be here is unknown. Perfectly balanced, a kensai can let the momentum from a deadly melee attack carry his weapon into another foe, thereby gaining en extra attack in the next round.

STATISTICS

Combat abilities:
- Whenever the wielder delivers a killing blow to an enemy, gains an extra attack in the next round (Kensai)

Damage: 1d10+2 (slashing)
Speed Factor: 0
Proficiency Type: Katana
Type: One-handed
Requires:
6 Strength

Weight: 4

I was planning to imbed it into the game by assigning it to a kensai enemy...

Increasing Offhand APR?

$
0
0
Is there an opcode I can use to an extra attack to only the offhand weapon (that is in addition to the 1 extra attack added by an offhand weapon), rather than the main hand weapon?

[MOD] Classic Spellbook for BG:EE, SoD and BG2:EE

$
0
0

This mod restores the functionality of the Mage and Priest screens to their classic pre-2.0 behavior.

- Compatible with BG:EE (with or without SoD) and BG2:EE
- Download link at the end of this post

image

It works exactly like in the original games:

- Left-click on a known spell memorizes it.
- Right-click on a known spell opens a new window with its description (and Erase button, if you're a Mage or Bard)
- Left-click on a memorized spell unmemorizes it.
- Right-click on a memorized spell also opens their spell description window.

This is for players who like me, were too used to the way spellbooks worked before the 2.0 patch. There is also a very good argument for the consistency of how screens work and what left or right-clicking on things do put forth by Adul in this post.

More Screenshots:

BG:EE:
image
image
image

SoD:
image
image
image

BG2:EE
image
image
image

How to Install:

1a) Download and extract the file attached to this post.

1b) Open the "Graphics" folder corresponding to the game you'll be modding. Copy those files to the "Override" folder of your game.

2a) Open the "Code" txt file corresponding to the game you'll be modding.

2b) Also open the UI.MENU file on the "Override" folder of your game. If you're new to messing with your game's UI and this step didn't make any sense, take a look at this thread.

3a) On your UI.MENU, find these lines:

`
function magePageInfo()
3b) Select everything from the lines above (including them) to these lines (including them, too):
			createPriestMemorizationSparkle(2, 0, 40, 40, 'bookListPriest', -1)
showPriestMemorizationFlash = true
priestScreen:MemorizeSpell( characters[id].priestSpells[currentSpellLevel][currentBookSpell].level, characters[id].priestSpells[currentSpellLevel][currentBookSpell].index )

"

}
}
3c) Paste the contents of Code.txt over the selected code on UI.MENU.

Final Notes:

This mod was built upon the Mage/Priest spells screen component of Lefreut's Enhanced UI and would not get made anytime soon (not by me, at least) without the help of his code.

Let me know if you find any bugs.

[MOD] Golem Construction for Spellcasters

$
0
0
Golem Construction for Spellcasters
A mod for Siege of Dragonspear, Baldur's Gate II - Enhanced Edition, EET (Enhanced Edition Trilogy) and Icewind Dale - Enhanced Edition.

Download latest release (21 MB)


You can encounter a great number of golems of various types throughout the game. They are strong, resistant, and utterly loyal to their master. Unfortunately they are mostly hostile towards you.

This mod makes an attempt to change it. It scatters a number of tomes across Faerûn containing the secret knowledge of how to construct golems. Reading these books allows you to build golems by yourself, provided you have enough experience, and all the required materials at hand. Only characters knowledgeable in the arcane arts are able to understand the complex theories behind the golem construction.

Golems can exist for a virtually unlimited time, or until destroyed. They can travel with the party all over the world and follow the commands of their master unconditionally.

The main component of the mod installs the "Manual of Golem Building" which comes in six volumes and can be found all over Faerûn. Each tome teaches you to build a different type of golem.

There are also rumors about a "Secret Manual of Golem Building" which teaches you to construct various exotic golem types.

Optional Tweaks include:
  1. Replace original Golem Manual: Replaces the now obsolete original Golem Manual with items related to this mod.
  2. Improve enemy spellcaster AI: Enemy mages and priests attempt to use more effective spells against golems.
  3. Golems for enemy spellcasters: Enemy mages may be accompanied by one or more golem servants.
  4. Greater variety of enemy golem types: Enemy golems will come in greater variety. Some fights may become more difficult because of it.
  5. Fighter Stronghold golems may continue to serve you: One or more golems that survived the siege may serve you if you accept de'Arnise Keep as your stronghold.
  6. Make golems vulnerable to specific spell effects: A number of spells can (positively or negatively) affect golems of certain golem types.
  7. Reduce weapon immunities and resistances for constructed golems: Nerfs constructed golems, so that more opponents have a realistic chance to defeat them.

Golem types taught by the Manuals of Golem Building:

1. Flesh Golems in lesser, regular, greater and perfect variants.


2. Clay Golems in lesser, regular, greater and perfect variants.


3. Stone Golems in lesser, regular, greater and perfect variants.


4. Iron Golems in lesser, regular, greater and perfect variants.


5. Mithral Golems in lesser, regular, greater and perfect variants.


6. Adamantite Golems in lesser, regular, greater and perfect variants.


Golem types taught by the Secret Manuals of Golem Building:



The construction of golems takes time and has to be done in places with the right equipment. Golem may follow simple commands. You can instruct them to follow each of your command obediently, attack opponents by their own or guard a certain position passively or actively.

More details about the golems, the requirements to build them, their stats, traits and abilities can be found in the mod's readme.

Important: SoD and BG2:EE must be patched to v2.0 or higher to install this mod. IWD:EE must be patched to v1.4 or higher to install this mod.

Familiars, Animal Companions and Cohorts

$
0
0
Basically I'm trying to figure out how you can make a creature follow your protagonist through "zones" (.are, whatever new areas are referred to in this game). I think I've tried all the different types in EA.IDS, setting them with opcode 72 never let the creature follow my team out of the area. I've seen a few mods, like more styles for mages and a few NPC mods with animal companions that can do this, so I'm pretty sure its possible, I just don't know how.

Contingencies and Sequencers

$
0
0
I've read quite a bit here on creating your own contingencies and sequencers, but I'm not sure what the current state is with the newest patch. It seems the functionality was broken and fixed a number of times. From my past reading I seem to recall that someone figured out how to get one of them working by changing a local file on your installation. That file can't be changed by weidu, so the author opted not to include new ones. I "think" it was the thread, for Mystic Fire paladins...but I 'cant find it now.

Either way, can someone point me to instructions for making you own. Any I've created (and the one for Mystic Fire Paladins) crash the game when selected.

[BG:EE]Dark Horizons Released

$
0
0
Current
Dark Horizons for Baldur's Gate:Enhanced Edition released.

This is a large tactical quest and encounters mod. As you journey along the Sword Coast you will encounter undesirables trying to do harm to you. Not only that, but an organization for good, Section, has been contracted by someone to send its operatives to hunt you down. They don't want you alive, they want you dead. Your first encounter is behind the very walls of Candlekeep and it won't end until you defeat Section and their overseers at Oversight. If you are lucky, you may survive. And perhaps you may pick up a new friend or friends along the way.

There are a lot of new items to be found and new stores to shop at. There is an item upgrade store located at the Friendly Arm Inn. There are two new NPCs who will join your party. This mod would work best with my Level 40/HLAs mod for BG:EE.

Visit the forum: http://www.baldursgatemods.com/forums/index.php?board=101.0
Download the mod: http://www.baldursgatemods.com/forums/index.php?action=downloads;sa=view;down=189




Old--------------------
I'm working on Dark Horizons for BG:EE. I'm thinking it won't be too painful of a process to convert. There will be some new things though.

I already have a dragon quest, but in this version you will fight an actual dragon.
A few more bounty hunters and other lowlife. The Sword Coast is supposed to be a dangerous place after all.
I will be making use of some of the powerful spells and enemy scripting, so some fights will be hard. I've always considered this mod a tactical mod after all.

This will be part one. Part one I want to get released ASAP.

Part two I will finally add in the NPCs. At the moment they will have a few dialogs, nothing elaborate like you find in BG2 mods.

A Simple XP cap remover. Now compatible with Siege of Dragonspear!

$
0
0

Updated post with information about the new file added by Siege of Dragonspear. Thanks to @Avenger_teambg for pointing out the new file :)


Just download the file attached to this post.

And now that I've given the download links, let's have some instructions and a word of warning.

XP Cap in BG:EE is controlled by three files:

XPCAP.2DA
STARTARE.2DA
STARTBP.2DA

Siege of Dragonspear added a new file to the mix:
SODSTRTA.2DA

Actually this had me scratching my head when I tried to make a simple XPCap remover as modifying XPCAP.2DA has always been enough. In BG:EE's case changing just the XPCAP.2DA did not remove the cap, so I went on looking for the cause.

STARTARE.2DA and STARTBP.2DA control the starting conditions of the main quest and Black Pits, respectively, controlling among other things your starting position, starting XP and XP Cap for that campaign, proving that the new EE engine is able to deal with multiple campaigns with their own individual limits.

The release of SoD made it clear there was something new as modifying the original 3 files from the EE didn't remove the cap in the expansion. Thanks to a post by @Avenger_teambg pointing out wich file it was, it was quite seimply to remove the cap there as well.

The game has all the tables up to level 40 BUT there are no HLAs (High Level Abilities) present. That means that if somehow you reach a level where you'd normally get an HLA you have to hit ENTER on the character screen to skip that.

If you want to change the XP Cap to any other fixed value all you have to do is edit the 2DA files and change the -1 into whatever value you want. Actually you can also change the starting XP in the main quest and Black Pits as well. Just change START_XP from 0 to the value you want in both STARTARE.2DA and STARBP.2DA.

To remove or change the cap in SoD you need to edit SODSTRTA.2DA.

Notice you'll need a text editor to change the file such as Editpad Lite. The game will not recognize the 2DA files if they're converted to Rich Text Files or Word Documents.

So you must be asking yourself how to make it work. It's very simple. Just copy the four files into your override folder. If you don't have one, create one in the same place the movies and scripts folders are located (usually bgee installation path/data/00766), In my computer, for instance, it would be placed in C:\Games\Baldur's Gate Enhanced Edition\Data\00766

If you are a Steam user, the default override folder path would look something like this:
C:\Program Files (x86)\Steam\steamapps\common\Baldur's Gate Enhanced Edition\override

Custom Item Creation - Problems with Descriptions

$
0
0
Hey all.

Having some troubles with getting custom descriptions to work without overwriting existing item descriptions. I'm pretty comfy with creating items (using DLTCEP) and have got them working in game, along with the descriptions as well...but they seem to overwrite descriptions of other items.

I started just by opening an existing item, making whatever changes, then saving with a different file name so I don't overwrite the original...DLTCEP does the rest (have the dialog.tlk in the base BG2EE folder, it gets updated, then I copy to the EN-US folder....and I do have a backup of the dialog.tlk so I'm able to undo things easily). I'm finding that the custom description is overwriting the original item (though seemingly the item's actual abilities remain unaltered).

So next I tried creating an item from scratch. The above attempt was making a Carsomyr +5 long sword, but this scratch test I kept it simple (just a Long Sword +1 that adds 1d4+1 fire damage). I didn't start with any base long sword in DLTCEP, just made a new item altogether. I copied out the unidentified and identified descriptions though from a Long Sword +1, and just added 1d4+1 to the damage line for the identified description. Gave it a custom name (Widow's Fire +1), custom file name for the override folder....and it all worked until I saw the description for the plain Long Sword +1 had the added fire damage bit. Tested both in-game...Widow's Fire did it's added fire damage, the plain Long Sword +1 did it's thing (no fire damage)....but durn it, that description. :s

So yeah. I'm stumped. Been digging around in Google land and thus far I'm coming up blank.

I do have the BG2Tweak pack installed (some components of it, not all), but that's it, no other mods. Any help would be greatly appreciated (I have no plan to distribute whatever I make...they're just for personal use and fun).

Stuff of the Magi mod?

$
0
0
Hello everyone, this is my first post on the forums, and I hope I'm putting it in the correct place. I originally asked this on r/baldursgate, and they suggested I try here. I myself have zero experience with modding. The most I've ever done was create a few custom items for my personal use, but that was a good 8-10 years ago...I don't even know what tool(s) I would need to attempt relearning that =/

http://www.shsforums.net/files/file/643-stuff-of-the-magi-v4-weidu/

I remember using this mod a lot when I was younger. Yes, mages are already overpowered, and these items just enhanced that. To help mitigate the OP'ness I would distribute the various items amongst my cadre of spellcasters.

I've been having a blast paying the EE versions of the games, and so I went and found the download to one of my favorite mods. I installed the mod and gave myself the items in EE Keeper to quickly test them. They work great and give the appropriate benefits. However, if I click on the item to read the description, nothing pops up and it freezes my game. I'm assuming this is because the mod hasn't been updated for the EE versions.

On another note, each of the items are indeed granted to their respective owners. For example, when I finished the Planar Sphere I was granted the item Lavok held. It was unidentified, and as stated previously, crashed my game when I tried to identify it and read the description.

Is making it EE compatible something I could easily do myself? Or would anyone here be interested in working on that? Should I just forget it and move on, knowing that all is well as long as I don't accidentally right-click on the items?

Installation SCS during an ongoing game

$
0
0
Hello.

I have a question that I have not found a clear answer yet. As i know there are some mods (or components of those) which require starting a new game,and there are some which you can install into an ongoing game, without the need of restart.


So how is it with SCS (Stratagems)? I've started few weeks ago a new game in BG II with fixpack,ub,tweaks and widescreen mods installed, but now i've discovered SCS and i'm really curious about it.

But im not really happy to abandon this playthrouh and start a new one. I've seen in SCS readme that only some components requires "starting a new game".


How is about the mod in general? Does it need to start a new game to work properly ?

How do you add animations/ change the color palettes of monsters?

$
0
0
so im doing some modding in my icewind dale game, and I want to make a new animation/different color for the orc shaman whatever would be easier is fine

first of all, I noticed that even if I use EE keeper it doesn't change the color of the shaman, and with NI I can go into the bam files, but by the looks of it, I would have to do EVERY single bam and manually adjust every single color index and that would just take eons, especially since I cant even save the color index anyway ( which I find odd)

so if there is a way to be able to change colors of current animations that would be great

then second, if for some odd reason the above is impossible, I imported all the iwd 2 undead shaman bams( im going to assume that what it is, and for some reason the default IWDEE undead shaman doesn't work, it makes the creature look like a myconoid) and they all work in NI for IWD, but for the life of me I cant figure out how to attach creature animations to the bam files, if this could be done that would be great as well

so if either 2 of these can be done please let me know, thanks :)

Apply Effects List, Critical Hit Effect, and Backstab Hit Effect

$
0
0
I'm using opcodes 340 and 341 to add special effects to backstabs and critical hits, respectively. Both of them use spell files in the resource field rather than .eff files, but I'm having trouble getting them to work.

I know that 340, the backstab effect, only applies if the character in question has a backstab multiplier. Shadowdancers at low levels and other classes without backstab multipliers won't apply the backstab effect.

Opcode 341 is tougher. It appears to only work if the spell in the resource field uses the Apply Effects List effect, opcode 326. However, there are almost no spells in the game that use this opcode, and all of them are specific to narrow critter types, like the scimitar that banishes elementals and mephits on critical hits. Also, they seem to have different parameters from the Use Effect File opcode 177. This means I don't know what parameters to use in opcode 341 to make a critical hit effect work on the right targets.

I want to either (1) create a spell that uses Apply Effects List 326 on any target, or (2) create one that applies to only living targets.
Viewing all 11774 articles
Browse latest View live