Ideas for Stendhal/Magic: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>Madmetzger |
imported>AntumDeluge m AntumDeluge moved page Stendhal/ideas/Magic to Ideas for Stendhal/Magic over redirect: Undoing previous move |
||
| (243 intermediate revisions by 4 users not shown) | |||
| Line 21: | Line 21: | ||
=== Sorted === |
=== Sorted === |
||
* Light |
* Light |
||
** Heal - Heal another player [[File:Heal.png]] {{done}} |
** Heal - Heal another player [[File:Heal.png]] {{done}} - unless they have engaged in PvP within the last 10 minutes |
||
** Mass heal - heal multiple players around - unless they have engaged in PvP within the last 10 minutes |
|||
** Mana - Mana give for another player from own bottle [[File:Heal_blue.png]] |
|||
** Mass heal - heal multiple players around |
|||
| ⚫ | |||
::: unless they have engaged in PvP within the last 10 minutes |
|||
** Knowing - The player has the ability to know what's happened now at this place [[File:Knowing.png]] |
|||
| ⚫ | |||
| ⚫ | |||
* Dark |
* Dark |
||
** Lifedrain - Draining health from the enemy to heal yourself [[File:Drain.png]] {{done}} |
** Lifedrain - Draining health from the enemy to heal yourself [[File:Drain.png]] {{done}} |
||
** Become - Forcing an enemy to fight at your side for short time [[File:Become.png]] - (make sense when you under attack from more than one enemy) |
|||
** Adding a sound around the player (should somehow fit to the nature) |
|||
* Ice |
* Ice |
||
** Freeze - Slow down an enemy for some time [[File:Freeze.png]] |
** Freeze - Slow down an enemy for some time [[File:Freeze.png]] {{done}} |
||
** Snow Storm - Push away enemies |
** Snow Storm - Push away enemies should depend on the size of the enemy |
||
** Adding a sound around the player (should somehow fit to the nature) |
|||
::: should depend on the size of the enemy |
|||
* Fire |
* Fire |
||
** Fireball - Ranged attack on one enemy [[File:Fireball.png]] {{done}} |
** Fireball - Ranged attack on one enemy [[File:Fireball.png]] {{done}} |
||
** 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) |
||
** Lava - Ranged attack on several enemies [[File:lava.png]] - stronger than explosion ^^ |
|||
| ⚫ | |||
** Adding a sound around the player (should somehow fit to the nature) |
|||
=== Unsorted === |
=== Unsorted === |
||
** Teleport away (to a random choice from preset locations) |
** Teleport away (to a random choice from preset locations) |
||
** Freeze creature for short time |
|||
** Cloak of invisibility for short time |
** Cloak of invisibility for short time |
||
::: perhaps only for non-players and only for creature whos level is not much above the caster's level |
::: perhaps only for non-players and only for creature whos level is not much above the caster's level |
||
| ⚫ | |||
** Weaken creature |
** Weaken creature |
||
** Summon friendly creature |
** Summon friendly creature |
||
| Line 48: | Line 53: | ||
** Make campfire |
** Make campfire |
||
* Vanity spells (no actual affect except some temporary change to appearance, etc) ''these may be good ones to introduce at the beginning for testing the system as they would have less effect on game play'' |
* Vanity spells (no actual affect except some temporary change to appearance, etc) ''these may be good ones to introduce at the beginning for testing the system as they would have less effect on game play'' |
||
| ⚫ | |||
** A drawing effect on the player like a sparkle |
** A drawing effect on the player like a sparkle |
||
** Colour a pet / sheep |
** Colour a pet / sheep |
||
** Different outfit |
** Different outfit |
||
* Walk through walls (care needed to be sure disallowed areas aren't reachable, perhaps only to certain preset portals or if there is a path - just might be a long path without the shortcut) |
|||
=== Needed Changes To Entities === |
=== Needed Changes To Entities === |
||
Some spell like Freeze or Weaken Creature temporarily affect specific attributes of an entity. As it is reasonable not to change the attributes themselves, it is necessary to add attribute modifiers to an entity. |
Some spell like Freeze or Weaken Creature temporarily affect specific attributes of an entity. As it is reasonable not to change the attributes themselves, it is necessary to add attribute modifiers to an entity. But as this is not the only kind of effects, that can be applied to an entity, this is documented on a separate [[Ideas for Stendhal/Effects|page]] |
||
A first approach would store the modifier factors in a class and the entity classes compute an attribute's value by summing up all modifiers and applying it to the actual attribute's value. To reflect the temporal nature of a modifier it is capable of determining its validity based on a timestamp within the method ''isValid''. |
|||
<gallery caption="Attribute modifiers variants"> |
|||
File:Modifier-idea-01.png|Simple modifier |
|||
</gallery> |
|||
== Learning Spells == |
== Learning Spells == |
||
| Line 104: | Line 104: | ||
* Use spell via slash action ''cast'' (the ''spell id'' can be found in the attributes list when inspecting the spell in the spells panel - for example ''[id=22]'', same for creatures as target): |
* Use spell via slash action ''cast'' (the ''spell id'' can be found in the attributes list when inspecting the spell in the spells panel - for example ''[id=22]'', same for creatures as target): |
||
/cast [spell id] [target name or id] |
/cast [spell id] [target name or id] |
||
* Casting spells is also possible via mouse and keyboard: |
|||
** select spell via shortcut control + number displayed on spell / click on spell to select |
|||
** cast spell at target via click |
|||
* Seeing spells client side needs the feature ''spells'' enabled for the testing player (keyed slot !features needs an entry for ''spells'') |
* Seeing spells client side needs the feature ''spells'' enabled for the testing player (keyed slot !features needs an entry for ''spells'') |
||
/script EnableFeature.class [character] spells |
/script EnableFeature.class [character] spells |
||
This can be undone by the DisableFeature script: |
This can be undone by the DisableFeature script: |
||
/script DisableFeature.class [character] spells |
/script DisableFeature.class [character] spells |
||
=== Ideas on casting spells via GUI === |
=== Ideas on casting spells via GUI === |
||
* The spell to be casted should be activated in the spell slot by left-clicking on it (it is then highlighted). |
* The spell to be casted should be activated in the spell slot by left-clicking on it (it is then highlighted). |
||
| Line 117: | Line 121: | ||
{| border="0" |
{| border="0" |
||
|[[File:Spellnatures.png]] || Spell natures (ice, fire, light, dark) |
|[[File:Spellnatures.png]] || Spell natures (ice, fire, light, dark) |
||
|- |
|||
|[[File:Knowing.png]] || Example for the spell "knowing" |
|||
|- |
|- |
||
|[[File:Heal.png]] || Example for the spell "heal" |
|[[File:Heal.png]] || Example for the spell "heal" |
||
|- |
|||
|[[File:Heal_blue.png]] || Example for the spell "mana" |
|||
|- |
|||
|[[File:New_Power_spell.png]] || Example for the spell "power" |
|||
|- |
|- |
||
|[[File:Fireball.png]] || Example for the spell "fireball" - scary :) |
|[[File:Fireball.png]] || Example for the spell "fireball" - scary :) |
||
|- |
|||
|[[File:lava.png]] || Example for the spell "lava" |
|||
|- |
|- |
||
|[[File:Freeze.png]] || Example for the spell "freeze" |
|[[File:Freeze.png]] || Example for the spell "freeze" |
||
|- |
|- |
||
|[[File:Drain.png]] || Example for the spell "drain" - or something else :) |
|[[File:Drain.png]] || Example for the spell "drain" - or something else :) |
||
|- |
|||
|[[File:Become.png]] || Example for the spell "become" |
|||
|- |
|- |
||
|[[File:Manapotion.png]] || A bottle of mana |
|[[File:Manapotion.png]] || A bottle of mana |
||
| Line 143: | Line 157: | ||
** magician's hat |
** magician's hat |
||
** spellbook |
** spellbook |
||
== Mages == |
|||
The player is not going to have to decide his class to be a mage in order to be able to use magic. |
|||
We are not going to have a strict line, between warrior and mage. |
|||
Players might be 80% warrior 20% mage because they happen to fight 80% of the time and only use magic 20% of the time |
|||
Our implementation of magic, the balancing above, is what will ensure, that the player can't be overpowerful or combine brute force with magic, effectively. |
|||
== TODO == |
== TODO == |
||