Jump to content

Possibilities for future mods


Recommended Posts

I've been thinking about what could be done in Divine Remix, Arcane Remix and certain other mods once GemRB reaches a fully playable state, and it has inevitably raised a few of those infamous "will X be possible" questions. I think I may have asked about a few of these way back when GemRB was hosted at TeamBG; if so, please forgive my poor memory :).


1) New, non-replacing classes and races

2) Additional multi and dual-class combinations (e.g. fighter/bard)

3) New menus and screens during character creation (e.g. sub-races)

4) Kit menus for barbarians, monks, sorcerers and multi-classes

5) Kits being able to use a different class' item restriction flag (e.g. a cleric kit using the fighter restriction flag)

6) Spell selection during character generation assigned via a 2DA

7) Spellcasters having no/a higher limit on known and memorized spells

8) Additional level-up screens (e.g. for non-weapon proficiencies)

Link to comment

I think i've said many times that menus are customisable as they are all written in Python.

If you compare the different official games, you will see large differences, all those differences are soft-coded (in python/new 2da's).


This includes the whole character generation/level up process.

You can also move the unusability flags around (since the different games use them differently). There won't be new flags however, there are about 64 bits. You can assign them to any conventional stat (like alignment, class, race, kit) or a new one (like gender, skill, etc).


Thinking about your questions:

Kits of a certain class that use usability flags of another class.


I think this is only possible if you introduce a third class, so it isn't exactly what you want.

This is because class usability is assigned to a class (more classes can share the same usability bit).

This is the same as kits of a certain class that use a different hit dice, or saving throw table.

As those things are assigned to classes rather than kits, you'll need a new class.

I guess, this isn't a terribly big problem.

Link to comment

Ok, to demonstrate the easiness of this, in red i will add the parts that should

be added for a gender specific modification.

The other lines already exist in guicg4.py


def CalcLimits(Abidx):

global Minimum, Maximum, Add


RaceTable = GemRB.LoadTable("races")

Abgenad = GemRB.LoadTable("ABGENAD")

Abracead = GemRB.LoadTable("ABRACEAD")

Abclsmod = GemRB.LoadTable("ABCLSMOD")

Gender = GemRB.GetVar("Gender")-1

Race = GemRB.GetVar("Race")-1

RaceName = GemRB.GetTableRowName(RaceTable, Race)


Minimum = 3

Maximum = 18


Abclasrq = GemRB.LoadTable("ABCLASRQ")

tmp = GemRB.GetTableValue(Abclasrq, KitIndex, Abidx)

if tmp!=0 and tmp>Minimum: Minimum = tmp


Abracerq = GemRB.LoadTable("ABRACERQ")

Race = GemRB.GetTableRowIndex(Abracerq, RaceName)

tmp = GemRB.GetTableValue(Abracerq, Race, Abidx*2)

if tmp!=0 and tmp>Minimum: Minimum = tmp


tmp = GemRB.GetTableValue(Abracerq, Race, Abidx*2+1)

if tmp!=0 and tmp>Maximum: Maximum = tmp


Race = GemRB.GetTableRowIndex(Abracead, RaceName)

Add = GemRB.GetTableValue(Abracead, Race, Abidx)

Add = Add + GemRB.GetTableValue(Abclsmod, KitIndex, Abidx)

Add = Add + GemRB.GetTableValue(Abgenad, Gender, Abidx)

Maximum = Maximum + Add

Minimum = Minimum + Add

if Minimum<1: Minimum=1

if Maximum>25: Maximum=25



The abgenad.2da table would look like this:

                 MOD_STR    MOD_DEX     MOD_CON ....
MALE                  1                0               -1
FEMALE             -1                 0               1


And you don't really have to modify any chu files :O

Link to comment

Are there plans to expand the number of wizard schools to include the various 'Effect' and 'Thaumaturgy' schools introduced in Tome of Magic and PO: Spells & Magic (or even the numerous specialised spell list included in the Wizards Spell Compendium)?


Likewise, are there plans to introduce priest spell spheres (at some level I suppose there must be some mechanism like this to handle the d&d 3.0 divine spell domains from IWD II). This would simplify the coding of mods like Divine Remix.


The virtually unlimited number of animation slots would vastly simplify the addition of new creature animations, while the proposed addition of 3d models would allow the use of animations from NWN.


A lot to look forward to.



Link to comment

No plans to add new wizard schools, as this is completely up to modders.

Modders will be able to add new wizard schools :D

Heh, they will be able to add new classes, then what's a school compared to a class.

Schools will be handled just like any other kits.


I doubt you will be able to use nwn's 3d avatars, as we plan to support blender only.

We don't plan to add support for any proprietary format other than the original engine's filetypes. Even if that fileformat is used in another bioware game.

This would just make more problems for us.


You are right about iwd2, we should implement a very flexible spell type system which will support iwd2 style spell categories.

Link to comment

I don't exactly know what you mean.

But these are the critical hit related stuff i plan.


mandatory (as it is in a game or two):

critical hit modifier (19-20, 18-20, etc) - this exists in bg2,iwd2

critical hit damage multiplier - this exists in iwd2

setting which equipping slot (if any) will prevent critical hit if an item is there - this is required because we got customisable slots

alternatively this critical hit blocking ability might be associated with itemtypes - this isn't decided yet


gemrb enhancements:

A trigger (CriticallyHitBy), very similar to HitBy/DamageTaken triggers

Setting itemtypes (or items) which don't prevent critical hit even if equipped

opcode to protect against critical hits - uhm, i'm unsure if this exists in a game so it could be mandatory

possibly: critical hit spell effect to apply - this is very volatile atm.


Basically, as with any other features: gemrb will be flexible enough to support iwd2/bg2 style critical hits. All these features will be implemented in a softcoded way, so tweaking them will make much more possible.

Also, if something seems possible and easily added, i will add it, but at this moment, i don't see all the possibilities.


Adding something here isn't that complex anyway, it is much more complex to render the animations/actors in the correct order :D


It is important to research iwd2 about these kind of things, because i suspect iwd2 has lots of unknown features and it won't do any good to reimplement stuff already done.

Link to comment


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

  • Create New...