Skip to content
ManApart edited this page Mar 19, 2021 · 1 revision

Magic

Elements

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

Spell Types

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

Effects

Chemistry Engine

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.

Technical Structure

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.

Example Effects

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

Misc

Should effects be an effect group with an element and then child effects?

trigger off effect/condition instead of tag

Thoughts

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.

Clone this wiki locally