I have a finished game that is an IF-RPG mix, as described by the OP.
It works fine, it won a price at a competition, you can even try it online, there’s only one problem you may have… it’s in Spanish
In case anyone knows Spanish, the game is called “Wizard’s Quest: Morluck’s Lair” (yes, the title is in English… but the game is still in Spanish. The title is a kind of tribute to classical RPG/adventure games). If you speak some Spanish, you can get it with the “AGE Player’s Kit” here: caad.es/aetheria/morluck/
Some information for the OP in case he can get any ideas for this. The combat system this game uses is the one built-in into the Aetheria Game Engine (AGE). It is described in some detail in translate.google.com/translate?s … as&act=url
Anyway, an executive summary: this is a time-unit based combat system, i.e., each action (attack, defense, spell cast, etc.) consumes a given number of time units, so that e.g. if you are faster than an enemy, you will get more turns than the enemy. You know what I mean if you have played any of the classic tactical X-COM games, or some roguelikes like ADOM. You can configure the system to behave in a synchronous fashion, waiting for your decision when it’s your turn to act (like X-COM UFO defense) or to work in real-time (better for multiplayer).
For each action that you perform, your skills related with that kind of action (e.g. “swords” for attacking with a sword) determine (1) the success probability of the action, (2) the time it takes, and (3) the efficiency (e.g. damage of an attack or a spell). The internal representation of the value of a skill is a linear amount (you can see it as “number of times you have used the skill”) but the relation between skill and these performance measures is a logarithmic-based curve that models real-life learning. Dice rolls are used by default only for (3). For (1) and (2), instead of using dice, the values obtained from these formulae are “blurred” with a normal distribution, to provide the feeling of randomness and uncertainty (to an extent, of course).
Even though the system uses a lots of numbers, those are never shown to the player. Instead, the player sees things like “moderate damage”, “slightly bruised”, “almost dead”, “slight damage”, etc. so that the combat actually looks like a story.
Combat actions include attacking, blocking (with weapons or shields), dodging, and of course casting combat spells.
The AGE system includes a system for narrating combat that basically writes things always in the same way (i.e. you get lots of "you attack the foo), but “Morluck’s” adds a layer on top that randomizes messages and joins sentences in various ways to make the narration less monotonous (you get output like “you attack the goblin with the long sword, but he blocks your attack, and he comes back at you with the club” or things like that).
The combat system in this game received very positive feedback, winning the “best combat” award in a Spanish fantasy-themed IF competition (Orcoscomp).
It’s also worth noting that with this system you can have one-vs-one combats, or combats involving multiple creatures (friends and foes, AGE is a multiplayer IF system). “Morluck’s” only has one-vs-one combats. There is another Spanish game made in AGE (“El Karma de la Cepa”, by Arthur Dick) that has many-vs-many combats (the game is single-player, but you team up with NPC’s), although the combat is less advanced than “Morluck’s” in other aspects. But it does have wizards and androids in the same game! You can get “El karma de la cepa” here: dl.dropbox.com/u/30286209/Ultim … -1.0.0.zip
By the way, AGE can be used to make games in English (it has been localized into several languages, including English, and there is an example English game). The problem is that the documentation ( caad.es/aetheria/doc/ ) is in Spanish. Any offers of help translating it would be very welcome.