-
Notifications
You must be signed in to change notification settings - Fork 2
Magic
Whether the cause is magic, or just that you lit a tree on fire with your tinderbox, elements will interact with each other. Often, a more powerful element will clear or weaken the duration of effects of a less powerful element of the opposite type.
Name | Clears | Notes |
---|---|---|
Fire | Water, Ice | |
Water | Fire | |
Earth | Lightning, Fire | |
Stone | ||
Air | Water | |
Air | Earth | Must be twice the strength |
Air | Fire | |
Air | Fire | If same or lower strength, will buff fire |
Lightning | Water | Duration is doubled and water is cleared |
Ice | Fire | |
Ice | Water | Duration is doubled and water is cleared |
Different spell types are associated with an element. Some upgraded spells have a unique element that is a combination of multiple base elements (Rain = Air + Water). Spells require a minimum level in their base element to cast. This cost scales with the type of spell and how powerful it is. (Jet may cost 5 water magic to cast. Rain may cast 50 water magic and 30 air magic to cast)
Name | Type | Description |
---|---|---|
Water | Base | Health, aoe attacks. Flexible |
Air | Base | Quick Attacks and Evasion |
Earth | Base | Defense and Slow, Strong Attacks |
Fire | Base | Aggressive attacks, self sacrificing attacks |
Lightning | Fire Upgrade | |
Ice | Water Upgrade | |
Stone | Earth Upgrade | |
Smoke | Air + Fire | |
Rain | Air + Water | |
Steam | Water + Fire | |
Mud | Water + Earth | |
Blizzard | Ice + Air | |
Storm | Lightning + Air + Water |
Whenever a new effect is applied, onFirstApply(newEffect, targetSoul) is called. For elements that have a relationship, the strengths are compared and the weaker effect is cleared / the element logic is applied.
Replace burn-health stat with burn-strength. On scene load, chemestry engine should give targets with certain tags the flamable effect. Wood gets a flammable effect with a strength of 10. Kindling gets a flammable effect with a strength of 1, etc. Based on tags, chemistry engine should give other effects (wet, earth etc). To light a tree (with flammable strength 10) on fire, the player needs to use an attack / element with a strength greater than 10. This is a change from burn health that can be drained.
Hard code effect bases as interface / classes. Effect instances are generated by spells / quest events etc. They’re given a name to find the base, and then amount/duration.
Effect Bases have
- name
- description
- statAffectType
- element
- amountType: percent or flat number
- damageType
- target: stat this effect targets
Effect Instances have
- amount
- duration (number of turns applied)
- elementStrength
- bodypart
DamageType
If the stat to affect is heatlh, this property should explain what type of damage is done to the health (so that it can be defended against
Energy is another type of damage (slash, crush etc). This is used for fire, water, air, lightning, etc.
Element
Used for the chemestry engine. Fire, water, lightning, none, etc.
ElementStrength
How strong the element is for this effect. Usually similiar to cost formula. Used for the chemestry engine. (immutable)
StatAffectTypes
Type | Description |
---|---|
Drain | Each turn reduce current stat by this amount |
Deplete | Only reduce the stat once (when first applied). When the effect is removed, recover the stat by the same amount |
Boost | Only increase the stat once (when first applied. Reduce the stat by the same amount when the effect is removed |
Recover | Each turn increase current stat by this amount |
None |
Duration
Will be commuted to 0 if an effect is cleared due to element strength. If 0/blank, there is no duration and the effect is permanent until cured.
If an effect is applied to a target that already has that effect’s clear-by effect, Both effects are canceled For instance if a target is wet and is given the burning tag, both effects are removed. Another example: a target is burning and then given the encased effect; both effects are canceled.
Name | Stat | Type | Element | Damage Type | Description |
---|---|---|---|---|---|
Burning | Health | Drain | Fire | Energy | Damage over time |
Wet | Water | Slightly reduce agility | |||
Encased | Earth | Greatly reduce agility. Prevent movement. Greatly increases slash and stab defense. | |||
Air Blasted | Air | Ends instantly but may clear other statuses | |||
Shocked | Lightning | Deplete 100 action points | |||
Frozen | Ice | Drain 100 action points | |||
Stunned | None | Deplete 50 action points. Immediately clears |
Should effects be an effect group with an element and then child effects?
trigger off effect/condition instead of tag
The point of words of power / magic is to increase world immersion (elements should interact and be used to solve situations), and to help the player feel specialized.
Skill is based on type (water, air, earth, fire) Words of power learned indiviually / unlocked from quests and artifacts. Some words of power require a minimum level to use. Same spells scale up in potency as their skill increases
Equippable gauntlets that help words from a certain element
Casting a spell can require skill checks in multiple skills (for spells like smoke, thunderstorm)
Atmospheric effects should effect spell cost / power
- Super hot, buff fire
- Super windy, buff wind
- Underwater, buff water
- In a cave, buff earth
- In a dense forest / cave, nerf air
- Spell that makes things more windy etc
Upgrades
Some spell types have an upgrade subtype that is a more powerful or unique subtype of that type. Artifiacts (wind amulet, vine gloves etc) allow for sub-type words to be used (Ice Heart Amulet allows for frost words to be used with the water skill. Lightning is the upgrade of fire. These spells should require a very high level in the base type.
Combinations
Require high level in both skills, though not as high as the 'upgrade' subtypes. (Could be a consequence of two effects mixing)
Most spells apply their type’s tag/condition/element to the target. Use flame on a log to light it; use water burst to put the flame out.