Ideas for Stendhal/Magic: Difference between revisions

From Arianne
Jump to navigation Jump to search
Content deleted Content added
imported>Madmetzger
imported>Madmetzger
Line 49: Line 49:
** Fire ball - Ranged attack on one enemy
** Fire ball - Ranged attack on one enemy
** Explosion - Ranged attack on several enemies + pushing away the enemies around ( + damaging yourself a bit)
** Explosion - Ranged attack on several enemies + pushing away the enemies around ( + damaging yourself a bit)
== Learning Spells ==
Learning spells should be a two step thing. First you have to solve a quest and then you can learn spells from a wizard in exchange of money. There should be one quest per nature and the quests should be startable by the fitting wizard then. As a rough scheme the learning quests could be a combination of collector and kill quest. For example it could be like “bring 5 carbuncles and kill a red dragon” if a someone wants to learn about fire magic.
* Quest ideas:
** Dark
** Light
** Fire
** Ice


== Open Issues ==
== Open Issues ==

Revision as of 16:19, 22 October 2011


Ideas for Stendhal

Mostly implemented


Related pages

Previous discussions from meetings

Design idea

  • Spells should be configurable via XML
    • works so far see light.xml for example in CVS
  • Spells should follow the natures defined via the former DamageType
  • Spells have limitations
    • limited casting frequency (cool down time)
    • wearing special equipment (example in code)
    • spells should need knowledge to learn for casting them (partly )
  • Spells are separated into 2 parts:
    • The spell itself defining nature, mana use, cool down time and other possible prerequisites like equipment
    • Spell's effect defining what the spell does i.e. a simple healing spell just uses a healing effect that could be reused for a mass healing spell affecting all players in range
    • Effects that temporarily affect entity's attributes need changes to other classes, as it seems more reasonable to store changes separately. For example an effect boosting a player's attack should not simply adjust the player's attribute but the method calculating atk should consider such additional effects
  • Spells use mana
    • necessary attributes called mana and base_mana are already there
  • Mana should be regenerated
    • via potions
    • slowly when no attacks are aiming at the player
  • Client Integration
    • Client server communication
    • Small images to represent a spell
    • GUI integration
      • Show spells
      • Cast spells
      • visual effects
    • Allow early testing
      • Script SummonSpell to obtain a spell
      • Slash action to cast a spell /cast
      • Mana can be manipulated via /alter (was already there)
  • Learning spells
    • Quests per nature that allow player to buy spells from a shop
    • Reward of those quests could be a first spell additionally to being allowed to buy

Spell Ideas

  • Light
    • Heal - Healing yourself or multiple players around
    • Shield of Light - Increase defense for some time
  • Dark
    • Drain - Draining health from the enemy to heal yourself
  • Ice
    • Freeze - Slow down an enemy for some time
    • Snow Storm - Push away enemies
  • Fire
    • Fire ball - Ranged attack on one enemy
    • Explosion - Ranged attack on several enemies + pushing away the enemies around ( + damaging yourself a bit)

Learning Spells

Learning spells should be a two step thing. First you have to solve a quest and then you can learn spells from a wizard in exchange of money. There should be one quest per nature and the quests should be startable by the fitting wizard then. As a rough scheme the learning quests could be a combination of collector and kill quest. For example it could be like “bring 5 carbuncles and kill a red dragon” if a someone wants to learn about fire magic.

  • Quest ideas:
    • Dark
    • Light
    • Fire
    • Ice

Open Issues

  • Necessary Equipment
  • Graphics for Spells? Spellbooks?
  • Client integration?
  • Balancing!

TODO

  • add more spells and effects as examples
  • extend entity classes with an entity based attribute value manipulator value effect
  • add graphics for spells
  • add spell book to client
  • develop quests to learn magic (one per nature)
    • dark
    • light
    • fire
    • ice
  • Check if SellerBehaviour could deal with spells