Ideas for Stendhal/Magic: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
imported>Madmetzger
imported>Madmetzger
Line 6: Line 6:


== Design idea ==
== Design idea ==
* Spells should be configurable via XML {{done}}
** works so far see light.xml for example in [http://arianne.cvs.sourceforge.net/viewvc/arianne/stendhal/data/conf/spells/light.xml?revision=1.3&view=markup CVS]
* Spells should follow the natures defined via the former DamageType {{done}}
* Spells have limitations
** limited casting frequency (cool down time){{done}}
** wearing special equipment{{done}} (example in code)
** spells should need knowledge to learn for casting them (partly {{done}})
* Spells are separated into 2 parts:
** The spell itself defining nature, mana use, cool down time and other possible prerequisites like equipment {{done}}
** 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 {{done}}
** 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
* Spells use mana
** necessary attributes called mana and base_mana are already there {{done}}
** necessary attributes called mana and base_mana are already there {{done}}
Line 36: Line 25:
** Quests per nature that allow player to buy spells from a shop
** 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
** Reward of those quests could be a first spell additionally to being allowed to buy
== Defining spells ==
* Spells should be configurable via XML {{done}}
** works so far see light.xml for example in [http://arianne.cvs.sourceforge.net/viewvc/arianne/stendhal/data/conf/spells/light.xml?revision=1.3&view=markup CVS]
* Spells should follow the natures defined via the former DamageType {{done}}
* Spells have limitations
** limited casting frequency (cool down time){{done}}
** wearing special equipment{{done}} (example in code)
** spells should need knowledge to learn for casting them (partly {{done}})
* Spells are separated into 2 parts:
** The spell itself defining nature, mana use, cool down time and other possible prerequisites like equipment {{done}}
** 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 {{done}}
** 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


== Spell Ideas ==
== Spell Ideas ==