Combat enhancements

From PSwiki
Jump to navigation Jump to search

(Go back to the main GSoC 2011 page)

Skills needed

Our server and client are all coded in C++ and the database is MySql. For this project C++ knowledge is needed with little knowledge of mysql.

How combat works today

PlaneShift today allows the players to engage combat with magic, with melee (like swords, axes, .. ) and with range combat (like bows).

Players have the possibility to choose stances: full defense, defense, normal, attack, berserk, to tell the engine how much of their skills they want to use for defense or for attack. The monsters today always use normal mode.

There is a table which determines the effects of each type of weapon vs. each type of armor. For example a knife will make more damage against a leather armor (which can be cut) than against a chain mail.

All stats, equipment, skills, item stats and quality are considered in the combat sequence. The actual formulas are pretty complex, and give some realism to combat.

Player can use 2 weapons, or a weapon and a shield. Players can use items to boost their stats/skills and fight better.

NPCs/Monsters can be:

  • invulnerable (in this case you cannot even attack them)
  • peaceful but able to fight back. They will not attack by themselves unless provoked.
  • attack on sight. They will attack as soon as you approach them.

When you attack a monster you enter in his hate list, and he will chase you and attack you.

Combat is executed automatically by the server, the player can switch equipment, cast spells and move/run. If the player stands still in front of the monster, combat proceeds automatically until one of the two dies.

Progression is done through increasing your skills, stats and gaining new equipment. This allows you to fight better and face harder monsters.

Ideas for improvement

  • abilities gained at certain ranks (charge, blade dance, whirlwind of axes, ...)
  • combat runs automatically, but you can add to the queue of events special actions, like spells, parries, swings, special attacks, dodging, ...
  • improve positioning of monsters when attacking (position and rotation)
  • ...