Stendhal/StatusEffects: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>AntumDeluge |
imported>Madmetzger content has moved to Ideas for Stendhal/Effects |
||
| (191 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
#REDIRECT [[Ideas for Stendhal/Effects]] |
|||
This is information on status ailments and enhancements commonly found in traditional RPGs. Here can be found descriptions and some ways to possibly implement a versatile status effect system into Stendhal. |
|||
= Description = |
|||
Status can temporarily effect a character's ability to do certain functions or alter stats such as HP, mana, defense, attack, etc. Status is usually inflicted through item usage, spells or physical attacks. Occasionally characters receive a status through game progression, such as speaking with an NPC or an event is triggered. Effects are generally nullified by the use of items or magic spells. Some effects, such as "sleep", are often alternatively cured by the character receiving a physical attack. Resistances to negative statuses can be acquired through positive status effects and equipping imbued items. |
|||
== Distinction from Elemental == |
|||
Status is distinct from elemental enhancements, though elemental resistance itself could be considered a status. For example, an entity could have a status effect called "warm" that protects against ice attacks. The major distinction is that status infliction is not intended to have a direct effect on the strength of the attack itself. But rather to cause a condition to enhance or impede the target's abilities. |
|||
=== Elemental attacks and resistances === |
|||
Elemental attacks are used to compound the strength of a physical or magic attacks against enemies with a weak resistance to said element. If the target has a strong resistance to the element then the strength of the attack is reduced to below the normal range. If the target has a weakness to a particular elemental attack, then it does greater damage than a normal attack. |
|||
= Status Ailments = |
|||
A status ailment is a negative effect on the character. Effects can reduce/impede the characters ability to do an action or cause a temporary reduction in stats. |
|||
== List of common ailments == |
|||
{| class="wikitable" |
|||
|- |
|||
! Common Names !! Common Function !! Suggested for Stendhal |
|||
|- |
|||
| blind / dark / darkness || player's attack accuracy is reduced || same |
|||
|- |
|||
| burn / burning || || |
|||
|- |
|||
| confuse / confusion / confused || player loses control over certain function of character || walking is limited to using directional arrows inverted (as poison is currently) |
|||
|- |
|||
| death / instant death / KO || character is instantly KO'd || not recommended |
|||
|- |
|||
| dizzy || physical attack evasion is reduced || same |
|||
|- |
|||
| doom || character is KO'd after a predetermined period of time if ailment isn't removed || not recommended |
|||
|- |
|||
| fear / toad / frog / imp || attack and defense are weakened || none |
|||
|- |
|||
| freeze / freezing / frozen || || |
|||
|- |
|||
| muddle || ?? || none |
|||
|- |
|||
| oil || character is more susceptible to fire-based attacks || same |
|||
|- |
|||
| poison || character loses HP over time || same |
|||
|- |
|||
| silence / mute || character is unable to cast magic spells || same |
|||
|- |
|||
| sleep || character is unable to act for a predetermined amount of time or until awoken || same |
|||
|- |
|||
| slow || character's attack is delayed || same or slowed walking |
|||
|- |
|||
| zombie || healing items have the opposite effect || slowed walking |
|||
|} |
|||
= Status Enhancements = |
|||
Status enhancements give the character a certain "buffer" and can increase specific abilities or stats. |
|||
== List of common enhancements == |
|||
{| class="wikitable" |
|||
|- |
|||
! Effect Name !! Common Function !! Suggested for Stendhal |
|||
|- |
|||
| eat / eating || restore HP over time || already implemented |
|||
|- |
|||
| focus / concentrate || increases power or accuracy of next physical or magical attack || same |
|||
|- |
|||
| haste || decreases wait time between attacks || same or quickened walking |
|||
|- |
|||
| protect || increases defense || same |
|||
|- |
|||
| reflect || reflects magic back onto the caster || same |
|||
|- |
|||
| regen / regenerate || restore HP over time || none (eating already implemented) |
|||
|- |
|||
| shell || increases magic defense || same |
|||
|} |
|||
= Mixed Effects = |
|||
Mixed status effects generally give the character some kind of enhancement but at the loss of another function. |
|||
== List of effects == |
|||
{| class="wikitable" |
|||
|- |
|||
! Effect Name !! Common Function !! Suggested for Stendhal |
|||
|- |
|||
| berserk || physical attack strength is greatly increased but control over character is lost || not recommended |
|||
|- |
|||
| focus / concentrate || Same as above but player loses a turn or turn is slowed || none |
|||
|} |
|||
= Implementation = |
|||
== Player Resistance & Status == |
|||
* Player has a keyed slot (status_resistance(s)) where status can be added/removed. |
|||
** "key" is status name and "value" is the resistance value (0-100 or 0.0-1.0). |
|||
* Creature has keyed status slot (status_attack) for attacks. |
|||
** "key" is status name and "value" is probability of status being applied to player. |
|||
* Player's resistance value is applied to creature's status probability during attack. |
|||
* Player has a second keyed slot (status) that carries the current statuses of the player. |
|||
** "key" is status name and "value" is duration of status. |
|||
** Each turn the key is checked and resulting action applied. |
|||
* Slots should be saved to the database so status and resistance are not lost at logout. |
|||
== Creature Resistance & Status == |
|||
* The same can be applied reversed. Players can have "attack" slots and creatures "resistance". |
|||
** Allows players to inflict status effects on creatures. |
|||
== Classes == |
|||
A possible way to make elements and status attacks/resistances available for players and creatures is to add 2 subclasses to RPEntity and derive Creature and Player from them. |
|||
[[ File:Status_element_entities.png ]] |
|||
The InflictiveEntity stores information about possible elements and status attacks that the entity can use. The ResistantEntity stores information about possible elements and status effects that the entity can resist. It would use information taken from InflictiveEntity to combat the effects. |
|||
== Display Indicators == |
|||
With multiple status effects it would be a good idea to rework how statuses are indicated to the player. Too many icons overlaying the character sprite could be problematic. Currently the other indications of status are a message sent to the player when status is inflicted and a dedicated section of the client to display icons. The icon area is a bit small and sometimes statuses could be overlooked. It might be a good idea move the icons to be shown, partially transparent, in a corner of the client display area. |
|||
[[ File:Status_indicator_mockup.png ]] |
|||
Latest revision as of 09:10, 15 July 2013
Redirect to: