Ideas for Stendhal/Effects: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>AntumDeluge Mark implemented statuses. Red font for statuses that are not recommended. |
imported>AntumDeluge m AntumDeluge moved page Stendhal/ideas/Effects to Ideas for Stendhal/Effects over redirect: Undoing previous move |
||
| (26 intermediate revisions by 2 users not shown) | |||
| Line 47: | Line 47: | ||
|- |
|- |
||
! Common Names |
! Common Names |
||
! Common Functions |
|||
! Suggested for Stendhal |
|||
|- |
|- |
||
| blind |
| blind, dark, darkness |
||
|| player's attack accuracy is reduced |
|| player's attack accuracy is reduced |
||
|| same |
|| same |
||
|- |
|- |
||
| burn |
| burn, burning |
||
|| • character gradually, or each turn, loses HP<br>• lowered physical attack |
|| • character gradually, or each turn, loses HP<br>• lowered physical attack |
||
|| same |
|| same |
||
|- |
|- |
||
| confuse |
| confuse, confusion, confused, muddle |
||
|| character is uncontrollable and acts randomly |
|| character is uncontrollable and acts randomly |
||
|| walking is limited to using directional arrows inverted (as poison is currently) |
|| <span style="color:green;">Implemented:</span> walking is limited to using directional arrows inverted (as poison is currently) |
||
|- |
|- |
||
| death |
| death, instant death, KO |
||
|| character is instantly KO'd |
|| character is instantly KO'd |
||
|| <span style="color:red;">not recommended</span> |
|| <span style="color:red;">not recommended</span> |
||
| Line 70: | Line 70: | ||
|| same |
|| same |
||
|- |
|- |
||
| doom |
| doom, condemned |
||
|| character is KO'd after a predetermined period of time if ailment isn't removed |
|| character is KO'd after a predetermined period of time if ailment isn't removed |
||
|| <span style="color:red;">not recommended</span> |
|| <span style="color:red;">not recommended</span> |
||
| Line 78: | Line 78: | ||
|| same |
|| same |
||
|- |
|- |
||
| freeze |
| freeze, freezing, frozen |
||
|| character can not move to a new position |
|| character can not move to a new position |
||
|| same |
|| same |
||
| Line 86: | Line 86: | ||
|| same |
|| same |
||
|- |
|- |
||
| paralysis |
| paralysis, paralized |
||
|| usually disables a certain ability temporarily |
|| usually disables a certain ability temporarily |
||
|| cannot physically attack for a time or until cured |
|| cannot physically attack for a time or until cured |
||
|- |
|- |
||
| poison |
|||
| poison <span style="color:green; font-size:12px; vertical-align:super;">(implemented)</span> |
|||
|| character loses HP over time |
|| character loses HP over time |
||
|| <span style="color:green;">Implemented</span> |
|||
| ⚫ | |||
|- |
|- |
||
| shock |
|||
| shock <span style="color:green; font-size:12px; vertical-align:super;">(implemented)</span> |
|||
|| character cannot act |
|| character cannot act |
||
|| while walking character stops after specified number of steps (player must resume walking) |
|| <span style="color:green;">Implemented:</span> while walking character stops after specified number of steps (player must resume walking) |
||
|- |
|- |
||
| silence |
| silence, mute |
||
|| character is unable to cast magic spells |
|| character is unable to cast magic spells |
||
|| same |
|| same |
||
| Line 106: | Line 106: | ||
|| same |
|| same |
||
|- |
|- |
||
| slow |
| slow, heavy |
||
|| character's attack is delayed |
|| character's attack is delayed |
||
|| same or slowed walking |
|| same or slowed walking |
||
|- |
|- |
||
| stone |
| stone, petrified |
||
|| character is unable to act until status removed |
|| character is unable to act until status removed |
||
|| <span style="color:red;">not recommended</span> |
|| <span style="color:red;">not recommended</span> |
||
|- |
|- |
||
| tiny |
| 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 |
|| • 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> |
|| <span style="color:red;">not recommended</span> |
||
| Line 124: | Line 124: | ||
| zombie |
| zombie |
||
|| • healing items have the opposite effect<br>• causes immunity to poison in some games<br>• character is uncontrollable |
|| • healing items have the opposite effect<br>• causes immunity to poison in some games<br>• character is uncontrollable |
||
|| |
|| <span style="color:green;">implemented:</span> slowed walking |
||
|} |
|} |
||
| Line 139: | Line 139: | ||
! Effect Name !! Common Function !! Suggested for Stendhal |
! Effect Name !! Common Function !! Suggested for Stendhal |
||
|- |
|- |
||
| autoraise |
|||
|| character is instantly revived, one time, on KO |
|||
| ⚫ | |||
|- |
|- |
||
| eat, eating |
|||
| eat / eating || restore HP over time || already implemented |
|||
|| restore HP over time |
|||
|| <span style="color:green;">Implemented</span> |
|||
|- |
|- |
||
| focus, concentrate |
|||
|| increases power or accuracy of next physical or magical attack |
|||
|| same |
|||
|- |
|- |
||
| haste |
|||
|| decreases wait time between attacks |
|||
|| same or quickened walking |
|||
|- |
|- |
||
| protect |
| protect |
||
|| increases defense |
|||
|| same |
|||
|- |
|- |
||
| reflect |
|||
|| reflects magic back onto the caster |
|||
|| same |
|||
|- |
|- |
||
| regen |
| regen, regenerate |
||
|| restore HP over time |
|||
|| same |
|||
|- |
|- |
||
| shell |
| shell|| increases magic defense |
||
|| same |
|||
|- |
|- |
||
| special |
|||
|| usually a state that allows the player to take special actions not normally available |
|||
|| none |
|||
|} |
|} |
||
| Line 168: | Line 185: | ||
! Effect Name !! Common Function !! Suggested for Stendhal |
! Effect Name !! Common Function !! Suggested for Stendhal |
||
|- |
|- |
||
| berserk |
|||
|| physical attack strength is greatly increased but control over character is lost |
|||
|| <span style="color:red;">not recommended</span> |
|||
|- |
|- |
||
| focus |
| focus, concentrate |
||
|| Same as above but player loses a turn or turn is slowed |
|||
|| none |
|||
|} |
|} |
||
= Possible Implementation = |
= Possible Implementation = |
||
==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. |
|||
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''. This approach has the obvious disadvantage, that within ''GuidedEntity'' the modifiers for not existing attributes are available. |
|||
The second approach uses an additional layer of indirection to hide the modifiers for not existing attributes. On each level of the entity inheritance hierarchy is a specific modifier defined that is called to calculate the modified value. |
|||
The TurnNotifier is used to clean up expired modifiers. As a modifier is able to distinguish between being valid and not, it is not necessary, that this clean up helper runs every second or even more frequently. |
|||
<gallery caption="Attribute modifiers variants"> |
|||
File:Modifier-idea-01.png|Simple modifier |
|||
File:Modifier-idea-02.png|Modifier concept hiding the "full" modifiers |
|||
</gallery> |
|||
The second option has been implemented. It has been removed later due to compatibility reasons. |
|||
== Player Resistance & Status == |
== Player Resistance & Status == |
||