Ideas for Stendhal/Effects: Difference between revisions

From Arianne
Jump to navigation Jump to search
Content deleted Content added
imported>AntumDeluge
imported>AntumDeluge
Mark implemented statuses. Red font for statuses that are not recommended.
Line 46: Line 46:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Common Names !! Common Functions !! Suggested for Stendhal
! Common Names
!! Common Functions
!! Suggested for Stendhal
|-
|-
| blind / dark / darkness || player's attack accuracy is reduced || same
| blind / dark / darkness
|| player's attack accuracy is reduced
|| same
|-
|-
| burn / burning
| burn / burning || • character gradually, or each turn, loses HP<br>• lowered physical attack || same
|| • character gradually, or each turn, loses HP<br>• lowered physical attack
|| same
|-
|-
| confuse / confusion / confused / muddle || character is uncontrollable and acts randomly || walking is limited to using directional arrows inverted (as poison is currently)
| confuse / confusion / confused / muddle <span style="color:green; font-size:12px; vertical-align:super;">(implemented)</span>
|| character is uncontrollable and acts randomly
|| walking is limited to using directional arrows inverted (as poison is currently)
|-
|-
| death / instant death / KO || character is instantly KO'd || not recommended
| death / instant death / KO
|| character is instantly KO'd
|| <span style="color:red;">not recommended</span>
|-
|-
| dizzy
| dizzy || physical attack evasion is reduced || same
|| physical attack evasion is reduced
|| same
|-
|-
| doom / condemned
| doom / condemned || character is KO'd after a predetermined period of time if ailment isn't removed || not recommended
|| character is KO'd after a predetermined period of time if ailment isn't removed
|| <span style="color:red;">not recommended</span>
|-
|-
| fear
| fear || attack and defense are weakened || same
|| attack and defense are weakened
|| same
|-
|-
| freeze / freezing / frozen || character can not move to a new position || same
| freeze / freezing / frozen
|| character can not move to a new position
|| same
|-
|-
| oil
| oil || character is more susceptible to fire-based attacks || same
|| character is more susceptible to fire-based attacks
|| same
|-
|-
| paralysis / paralized
| paralysis / paralized || usually disables a certain ability temporarily || cannot physically attack for a time or until cured
|| usually disables a certain ability temporarily
|| cannot physically attack for a time or until cured
|-
|-
| poison <span style="color:green; font-size:12px; vertical-align:super;">(implemented)</span>
| poison || character loses HP over time || same
|| character loses HP over time
|| same
|-
|-
| shock <span style="color:green; font-size:12px; vertical-align:super;">(implemented)</span>
| shock || character cannot act || while walking character stops after specified number of steps (player must resume walking)
|| character cannot act
|| while walking character stops after specified number of steps (player must resume walking)
|-
|-
| silence / mute || character is unable to cast magic spells || same
| silence / mute
|| character is unable to cast magic spells
|| same
|-
|-
| sleep
| sleep || character is unable to act for a predetermined amount of time or until awoken || same
|| character is unable to act for a predetermined amount of time or until awoken
|| same
|-
|-
| slow / heavy
| slow || character's attack is delayed || same or slowed walking
|| character's attack is delayed
|| same or slowed walking
|-
|-
| stone / petrified || character is unable to act until status removed || not recommended
| stone / petrified
|| character is unable to act until status removed
|| <span style="color:red;">not recommended</span>
|-
|-
| tiny / shrink / toad / frog / imp
| tiny / shrink / toad / frog / imp || • significantly decreases attack and defense<br>• character's sprite transformed to correspond with affliction<br>• commands become limited sometimes reduced to only physical attacks || not recommended
|| • significantly decreases attack and defense<br>• character's sprite transformed to correspond with affliction<br>• commands become limited sometimes reduced to only physical attacks
|| <span style="color:red;">not recommended</span>
|-
|-
| weaken
| weaken || temporarily reduces character's max HP || same
|| temporarily reduces character's max HP
|| same
|-
|-
| zombie
| zombie || • healing items have the opposite effect<br>• causes immunity to poison in some games<br>• character is uncontrollable || slowed walking
|| • healing items have the opposite effect<br>• causes immunity to poison in some games<br>• character is uncontrollable
|| same or slowed walking
|}
|}



Revision as of 22:01, 19 November 2014

Players, creatures and other entities can be temporarily under the influence of certain effects. For example a player will constantly heal at a certain rate, because he is already eating. Or a creature could be slowed down, because a player has casted a kind of freeze spell to it.

To fully support effects client and server side, we first need to consider, which properties are needed at which side and for which purpose. We also need to think about how an effect is applied when an effect of the same kind is already there, i.e. a player eats more than one meat.

Effect Client Side Server Side
heal over time name, type, world effect amount, frequency, how often?, inactive
damage over time name, type, world effect amount, frequency, how often?, source, inactive
buff / debuff name, type, value affected, world effect inactive
cooldown name, type, affected, world effect ...
outfit name, type, world effect ...


TODO: class diagram

TODO: sequence diagram

Description

The following 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.

Status can temporarily affect 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 special actions, such as spells or using items, or by 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 used in RPG games

Common Names ! Common Functions ! Suggested for Stendhal
blind / dark / darkness player's attack accuracy is reduced same
burn / burning • character gradually, or each turn, loses HP
• lowered physical attack
same
confuse / confusion / confused / muddle (implemented) character is uncontrollable and acts randomly 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 / condemned character is KO'd after a predetermined period of time if ailment isn't removed not recommended
fear attack and defense are weakened same
freeze / freezing / frozen character can not move to a new position same
oil character is more susceptible to fire-based attacks same
paralysis / paralized usually disables a certain ability temporarily cannot physically attack for a time or until cured
poison (implemented) character loses HP over time same
shock (implemented) character cannot act while walking character stops after specified number of steps (player must resume walking)
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 / heavy character's attack is delayed same or slowed walking
stone / petrified character is unable to act until status removed not recommended
tiny / shrink / toad / frog / imp • significantly decreases attack and defense
• character's sprite transformed to correspond with affliction
• commands become limited sometimes reduced to only physical attacks
not recommended
weaken temporarily reduces character's max HP same
zombie • healing items have the opposite effect
• causes immunity to poison in some games
• character is uncontrollable
same or slowed walking

Some of the status ailments mentioned above are "not recommended" because they are too risky for single character games. However, the risk could be reduced if there was a system to revive KO'd characters. Included in the system the player should have the option to wait to be revived/cured or teleport to the respawn point, thus sacrificing a greater amount of XP.

Status Enhancements

Status enhancements give the character a certain "buffer" and can increase specific abilities or stats.

List of common enhancement statuses in RPG games

Effect Name Common Function Suggested for Stendhal
autoraise character is instantly revived, one time, on KO same
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
special usually a state that allows the player to take special actions not normally available none

Mixed Effects

Mixed status effects generally give the character some kind of enhancement but at the loss of another function.

List of effects

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

Possible 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.
  • Statuses induced by actions, such as spells, items, etc., should be saved to the database so they 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.

Display Indicators

These are some ideas for status indicators:

Name Overlay Symbol Example
poison green bubbles floating up from the head
blind black smoke floating in front of character's eyes
zombie sprite colors become pale greenish
shock electric-like images at the side of character
confused question mark (or stars) near or circling character's head