So here's my plan on items. I've read the magic items thread and considered my own experience with RPGs. A couple design goals:
With that said, here's the current design:
Implementation details:
Details very subject to change.
- FfH is foremost an empire building game. I want heroes to be much more important than they are now (and more numerous) so that the FfH becomes a hybrid TBS/RPG similar to Heroes of Might and Magic, but with the emphasis on the empire-building aspect.
- The equipment/inventory system should be simple (compared to a typical RPG).
- The UI needs to be very accessible and noticable.
- Collecting items should be as fun and rewarding as possible.
- Items will be responsible for keeping heroes relevant throughout the game.
- Heroes are differentiated from each other mainly by the items and abilities they have.
With that said, here's the current design:
- Each hero has inventory slots and a backpack. The backpack can hold an infinite amount of items. Each inventory slot can hold only 1 item.
- Inventory slots: body (includes arms, chest, legs), head, hands, feet, ranged weapon, melee weapon, and mount.
- Weapon classes: bow, slashing, blunt, piercing
- Armor classes: leather, chainmail, plate
- Other classes: simple (includes weapons and armor that any hero can use), horse riding
- To use an item, the hero must have the ability to use that item's class. These abilities are called armor and weapon proficiencies. For example, a hero needs Slashing Proficiency to be able to use swords and axes.
- A hero starts off with certain armor and weapon proficiencies. Like Channeling and Summoning, these cannot be gained by leveling the hero up.
- The hero can get greater weapon proficiencies by leveling up. Each weapon proficiency of a class beyond the first gives a certain (as of yet undetermined) bonus when using that weapon class. For example, if a hero has Slashing Proficiency, when he levels up (and has some other prereqs), he can get Slashing Skill 1. Haven't decided how many levels of proficiencies there are - in fact, I might abandon this idea.
- There's only one level of armor proficiencies. It just determines whether a hero can use an armor class or not.
- There are two types of items: normal items and special items.
- Normal items are infinite in supply and become available when the tech for it becomes available. Heroes have to go back to cities to retrieve new items (equivalent of upgrading a unit).
- Special items like Orthus's Axe are typically unique (but don't have to be). They can be obtained from special barbarians (e.g. Orthus) or quests (future work).
- Special items can be deposited into an item vault at the player's capitol for safekeeping or for another hero to pick up. Some items could also provide nation-wide benefits when stored in the vault.
- Weapons will give extra strength (like Heroic Strength).
- Armor will subtract away damage in each combat round. I haven't fully thought out the effects of this, but I know that this would make armor very useful against weaker units.
- Heroes will start off with much lower strength, typically 1, to compensate for weapon strength.
- Some weapons also require Channeling or Summoning - these weapons are geared for spellcaster heroes.
- Items and proficiencies won't be listed as promotions, since that would just clutter the unit info display.
- There will be an action button called "Inventory" that when activated pops up an inventory screen. Haven't decided how it would look like.
- Need some interface to transfer items from hero to hero or hero to vault or vice versa.
Implementation details:
- Items and item proficiencies are promotions. An item has an item class as an AND prereq. The actual item prereqs are OR prereqs, although those prereqs are treated as AND prereqs. Item classes are represented by proficiencies, since they correspond 1-1. I hope there isn't a 256 promotion limit
If there is - oh well. This is only a temporary solution.
- FFHItem class is responsible for abstracting out the above details.
- Haven't fleshed out the UI design. Not familiar with Civ4's UI system, but I think I'll just copy the pick target screen and work from there.
- If needed, combat mechanics can be modified in onCombatLogHit. The combat odds message can be modified as well. The calculation of combat odds can be ported to Python.
Details very subject to change.