Skills system idea

Got a great idea for HoA or wish to discuss a current feature? Let us know about it!

Moderator: Staff

User avatar
rief
Newbie
Posts: 2
Joined: Sat Jul 21, 2007 8:03 pm
Contact:

Skills system idea

Postby rief » Thu Jul 26, 2007 11:50 pm

hi forum,

i've an idea about skills in general. First of all i want to talk about combat skills and in particular about warrior skills and wizard skills. My sistem is based on type of damage where all creatures have weakness and strength.

I start with some example.

For example consider Claudius vs a skeleton: he uses sword and can do slash damage. If he uses a dagger he do perforation damage ( or thrust, correct me since i dont' know english ). With sword he does normal damage to the skeleton, with a dagger damage is consider reduced because skeleton resists perforation damage. But if Claudius use an hammer, he do more damage at skeleton than with sword because skeleton and undead in general are weak to crush damage. Cladius is human, he have no weakness and no strength. His resistance is decided by armour. If he use a chain mail he is more resistant at crush and he is weak to perforation.

Another example for elements. Consider that in this system attach is a generical term that contain normal attack and magic attack. Only in game player see them different.

Now consider a wizard character ( Laila?! ) vs a skeleton mage ( the real reason for skeletons is that i have no great fantasy this moment, but i prefer say that i love skeletons :P ): Laila is specializzed in holy and water magic and skeleton mage in undead and black magic. Skeletons are weakness versus holy and fire and resist water. Laila is not weakness/resistance but she dress a holy dress (buy at temple during travel). Holy dress resist undead magic. Now look at that: Laila cast a water hammer and water hammer damage is her inteligence * 1.50. If Laila has int = 52 then damage is 52*1.50=78 point. And type water hammer damage is 50% water and 50% crush so 39 point of water damage and 39 point of crush damage. Skeleton resist 20% damage to water damage and the water damage is reduced from 39 point to 39 – (39%20) = 20. Skeleton is weak to crush damage of 50% (in stat of scheleton the rappresentation of weak is a negative number, so 50% weak = -50% resistance) so crush damage is 39 - (-(39%50)) = 70. At the end damage of water hammer is 20 + 70 = 90, 12 point greater.

Last example regard the combo style of skills and skills based on multiple stat.

Now consider Cladius vs a skeleton. Cladius want to use a skill name wolfassault that hit 3 times with damage of 0.75 based on agility and strength: the first time Cladius attack and make a damage of (agility+strength)/2 * 0.75 of slash type. Second time the same and third time the same.


Now...idea is that a skill data is a symple script file like that:

-name (unique id): ....
-vector of combo: each combo can have different data to make composite combo (not equals)

Each combo entry rappresent one hit and have this data:
-vector of improve at characted stats (for example a wolfassault gives to Cladius for that attack the bonus of 0.75 to strength)
-vector of based stats (strength, intellingence, ecc...) and percent
-vector of damage type (fire, slash, ecc...) and percent
-vector of effect (like stun, sleep ecc...)

Example for more explain is wolfassault. It is a Cladius skill like this:

name: WolfAssault
vector of combo:
{
// first combo: //
{
vector of improve stats: { strength*0.75,agility*0.75 } // this bonus reduce stats because 1*0.75 = 0.75!! //
vector of based stats: { strength,agility }
vector of damage type: { weapon damage}
vector of effect: {}
}
// second combo: //
{
vector of improve stats: { strength*0.75,strength*0.75 }
vector of based stats: { strength,agility }
vector of damage type: { weapon damage}
vector of effect: {}
}
// third combo: //
{
vector of improve stats: { strength*0.75,strength*0.75 }
vector of based stats: { strength,agility }
vector of damage type: { weapon damage}
vector of effect: {}
}
}

Where i used // // it is a comment :) because using { } computer can simply determine the first, the second and the third attack, i wrote that comments for helping read lol.

Note that this system can reproduce all type of skills and also normal attacks:

name: normal
vector of combo:
{
// only one normal attacks //
{
vector of improve stats: { }
vector of based stats: { strength }
vector of damage type: { weapon damage}
vector of effect: {}
}
}
this is a normal attack for all character. One last think to complete the system: elemental damage and others type can be added during develop of games with no problems: in fact system NEVER save resistance of 0%. During battle, if the system never found resistance to a type, it consider 0%. That permit to insert new element during the develop without change all monster/character defense ^^.

I suggest using percent type resistance because a character with natural feeling with fire can assorb fire damage because it resistance to fire is 200%: in that case a fire damage of 130 point is transformed to 130 – (130%200)= -130 damage point, that is an addition to healing point. Obviously each character starts with 200% resist at healing type damage. And this permit to create healing magic:

name: small cure
vector of combo:
{
// healing cure //
{
vector of improve stats: { }
vector of based stats: { intelligence }
vector of damage type: { healing }
vector of effect: {}
}
}

Explanation is more difficult than implementation: is a symple system but very powerfull: it can emulate ALL types of skills. And all skills are wrote with the same style. This is only a superficial look to my system (no talking about sprite and look effect), i can improve more if you want. But for now, what do you think :cool:? And sorry for my english, sorry sorry sorry. I'm learning but in Italy our schools teach latin :bash: and not many english (also in university :cry: ) ...

Ok, it's 00.41 of friday night, i need sleep. Good night all.

Mario (Rief)

Return to “Ideas and Game Features”

Who is online

Users browsing this forum: No registered users and 1 guest