I have a zillion ideas for mods, so I have decided to try to do my first mod. I've read several times that the first step is to choose the mod you want to create. I've also read that it's best to start with something as simple as possible. I'm not sure of what's simple and what's complicated, so I have written a list with my ideas to get some feedback. Have a look and tell me what seems easiest. Of course, I realize that this list is overkill, but hey, I've written it already and it looks nice, so here it goes. The links point to threads or comments with more information:
Divide the option “Actions” in two more specific options: Target Selection and Other actions. Target selection is the part of the feedback that says “X attacks Y”. Other actions is all the other feedback currently included in the Actions option. This allows to remove all the “X attacks Y” messages, which typically are not very useful, and still leave more useful feedback, like which spells are being cast.
Jimfix reloaded. Jimfix is a great little mod that (among other things) improves significantly the combat log. Unfortunately, Jim has been offline for almost a year and his mod is no longer supported. I’d like to replicate the notifications part of Jimfix, i. e., the part that displays extra notifications in the combat log. This would allow me to add some customization and fix some minor issues. One such customization would be to display expiration notifications only when in combat.
Increase the amount of text allowed in the combat log. Currently it is so limited that for some long fights it doesn’t fit into the log.
Searchable combat log: A button or maybe a hot key open a search dialog that allows you to search text in the combat log.
From @leeux: An enhancement of the combat log that allows you to separate it from the conversation/dialogue log. Two options:
A new panel with just the combat related text. Optionally docked to either side of the screen.
A tabbed interface, or a filter or a set of checkboxes on top of the current log that filters the non-wanted stuff and leaves just the wanted info.
Fix Enemy sighted auto pause. In some cases it doesn’t go off. Examples:
BG2: Chapter 6: Fight after returning the eggs to Adalon.
BG2: Final fight.
Bugs would be the cases in which the behaviour of the game contradicts what the documentation says. Whether the bug is in the behaviour of the game or in the documentation is often unclear, though.
Inconsistencies with character immunities: Characters attacked with a type of damage to which they are immune behave like they received damage. For instance, a character immune to fire is attacked with a fire ball. He doesn’t receive damage, but he still complains (in audio and in the feedback panel), is held for a fraction of a second, the game displays a damage animation, and it is paused automatically if the appropriate option is selected.
Spell disruption: Sometimes dealing damage to a caster doesn’t disrupt his casting. Other times the casting is disrupted even though the caster is immune to the damage.
Drink potion button: When you click “Use item” in the quick access bar and then right click one of the abilities listed, a panel with a description is displayed. This panel has two buttons: Done and Drink potion. Drink potion doesn’t belong there.
Combat log mismatched text: In long fights, the first lines displayed at the beginning of the combat log are often wrong.
Better enemy identification: Fighting a group of enemies with generic names can be very confusing. For example, you fight a party of drow that includes five generic drow. The game simply identifies each of them with the word “drow”. One of them casts Mantle. The feedback screen just says “Drow: Casts Mantle”. It doesn’t tell you which of the five drow cast it. When you want to use Breach to remove the mantle, you don’t know which of the five drow you need to target. Solution: Give a number to each drow: Drow 1, drow 2, drow 3, drow 4, drow 5. When one of them casts Mantle, the feedback says “Drow 4: Casts Mantle”. The tooltip that identifies each drow also includes this number.
Improved level up screen: Add the current score of thieving abilities, i. e., the score including bonuses from items, potions, etc.
Remove Magic Fire and Magic Cold resistances (they don’t exist in the game).
Replace “Backstab damage” with “Backstab damage multiplier”.
Add missing effect icons, like Invisibility, in the character buttons.
When a ranged spell or ability is selected, it highlights all the points (i. e., the area) at which it can be cast from the current location of the character. This allows to know whether the character needs to move to cast the spell. Useful in multiple situations, specially when you want to cast a spell at a point located in a different room.
Improved area of effect indicator: Displays the actual area of effect of a spell, I. e., it removes from the indicator the areas which are blocked by a wall or other obstacle. It also displays the area of effect for spells centered on the caster, like Chant or Protection from Evil.
Improved labels: Separate the labels of creatures (displayed when pressing tab) to prevent them from hiding each other.
Improved combat log UI: Dock the combat log to one corner and make its width adjustable. Modern screens are wide and not very tall, as opposed to the almost square screens that existed when the game was created. That means that a combat log that displays about a dozen lines of text covers half of the screen. Most of that screen space is wasted because the lines of the combat log are typically very short, so about three quarters of the combat log space are typically empty. Docking it to one of the corners would make much better use of the screen space.
From @leeux: Buffs overlay: On hovering the mouse over a character it says which protections and buffs he has applied and current applied statuses (only for the ones that are already visible in the combat log).
Summons and enemies panel buttons. Similar to the characters buttons in the right column.
Located below and/or besides the character buttons.
Clicking the button of a summon selects the summon.
Clicking the button of an enemy centers the camera on the location of the enemy.
The buttons display icons with info about the buffs and debuffs that affect each of them, just like the character buttons.
Buff manager: Panel that allows to select a sequence of buffings to be cast before a big fight. Features:
The player selects all the spells, potions, and items to be used in the buffing.
The mod automatically selects the order in which the buffings will be performed. It sorts the buffs by order of decreasing duration, to make the buffs last for as long as possible during the fight.
The mod automatically sorts the buffs to avoid conflicts among them, like trying to cast a buff on a character that is invisible.
Once all the buffs have been selected, the mod makes all the spell casting, potion drinking, etc., automatically, without user interaction.
Improved Inventory: The AC subsection lists several contributors to the AC simply as "Ability bonuses". That's not very informative. Break down these ability bonuses line into the actual origings of those bonuses, like Blur, defensive stance or the improved bard song.
Improved spell selector: Depending on their duration, spells are best suited for different moments of the game. Long duration spells are best cast as soon as the party awakes from their rest or after travelling. Medium duration spells tend to be more helpful when entering potentially dangerous areas. Short duration spells are best cast during or just before combat. This mod uses background colour coding to distinguish between spells of different durations (expressed in game time, not real time):
Green: More than one hour.
Orange: Between two turns and one hour.
Red: Less than two turns.
No colour: Instant effect.
Order queuing: A new UI control allows the player to queue orders for a character: First cast spell x, then move to spot y, then attack enemy z with your axe. The character performs all three actions in succession without player interaction.
The ESC key closes item containers like bags of holding or potion cases.
The ENTER key accepts and closes the "Choose amount" dialog that is displayed when choosing an amount of stackable items.
The middle mouse button selects all the items in a stack of stackable items.
Improved Melf’s Minute Meteors: MMM are a great weapon, but they can be very dangerous. If an enemy attacks the mage in melee, the mage cannot drop the MMM, so he suffers the big penalty for using a ranged weapon in melee combat. This mod simply allows the mage to drop the MMM, which enables him to select a melee weapon and eliminate the penalty.
Improved contingencies and sequencers. Contingencies and sequencers fail when their target is out of range of their spells. For example, a chain contingency that casts Mordenkainen Sword fails if its target is the nearest enemy. This mod prevents the player from putting in a sequencer or contingency spells that are guaranteed to fail due to their range limitations.
Party AI off affects summons. The AI of summoned creatures is not very good. Examples:
A demon casts Fire Storm on my party. I move my summoned creatures away from the fire damage. However, as soon as they become idle, the AI kicks in and they attack the demon, thus returning to the Fire Storm area and killing themselves with the fire damage.
An enemy charms my summoned elemental. In order to avoid killing it, I neutralize it for the duration of the charm with a wand of paralyzation. However, my other summons keep attacking it, and the only way to stop them is to move them far away from the elemental.
The easiest way to fix this would be to turn off the AI of summons. A possible way of doing so would be to turn off their AI when you turn off the AI for the whole party.
Allow summons to move between areas. It doesn’t make much sense that a summoned kobold cannot follow you into or out of a house.
SCS tweak: Add more options to the ease of use script:
Mage/thieves, like Imoen and Jan: On top of their magic scripting, they can also search for traps or hide in the shadows automatically when they're idle.
Bards: On top of their magic scripting, when enemies are around they can sing their bard song instead of attacking enemies.
Join the nine areas of Baldur’s Gate into one.
Allow targetting of enemies who have their red circle behind a door.
Remove the "dead magic" effect from the rooms in the maze level of Watcher's keep. It works in unpredictable and weird ways and it's unfair because it affects the party but not the demons.
GUI for Weidu. Includes:
An update feature that updates all the components of a mod to the newest version with one click.
An uninstall feature that uninstalls all the components of a mod with one click.
A reinstall feature that reinstalls all the components of a mod with one click.
[*] Improved game saving: Games can be saved at any time, including in the middle of combat.
Obviously some of the mods in this list are very complicated, but I thought I’d just have the whole list here for reference anyway. So what would be the easiest thing to do in this list?
Note: Years ago I studied engineering and worked as a programmer, that should help with the modding.