Skill creation

From Divinity Engine Wiki
Revision as of 01:48, 27 August 2017 by Baardvark (talk | contribs) (Conditions)
Jump to: navigation, search

You can edit or create a wide array of skills with the Stats editor. While the skill creator is quite powerful, complex skills may require scripting.

Skill Parameters

Every skill requires the following parameters to be filled out.

Entry: a unique name so that the skill can be referenced in scripts or other locations. Usually a structure of "Skilltype_Skillname."

Skill Type: Determines the fundamental behavior of the skill.

  • Target, usually affects one target with a non-projectile effect.
  • Shout, a self-buff or area of effect skill.
  • Projectile, fires one or more projectiles along a preset path.
  • Cone, cause an effect in a cone shape determined by angle and range.
  • Jump, a self-teleport skill.
  • Rush, a self-directed movement skill.
  • Teleportation, a teleportation of a character.
  • Summon, create one or more characters or objects.
  • ProjectileStrike, a series of projectiles which rain from the sky rather than originating from the caster.
  • Rain, a large area of effect skill that usually changes the atmosphere and creates a distribution of surfaces.

Ability: Which ability tree this skill belongs to, which determines how it is sorted in the skill menu and which primary attribute scales its damage. Can be None.

Level: (?)What level this skill scales to. All existing skills are set to -1 level, which means the skill's damage scales with character level.

Tier: (?)

ActionPoints: how many action points the skill costs.

Cooldown: the cooldown in turns. Can be set to -1 for a once per combat skill.

Memory: the memory cost

Magic Cost: How many source points the skill costs


Damage

Damage Multiplier: the base damage, "100" being an average damage skill, or using exact weapon damage if is a weapon skill.

Damage Range: the percentage of variation in damage.

DamageType: the type of damage.

UseWeaponDamage: if yes, multiplies your weapon damage by the Damage Multiplier

Range

TargetRadius: How far a Target, Projectile, or Teleportation, skill can reach

AreaRadius: How far an area of effect a shout or rain spell can reach from the caster, or the area of effect of a target or projectile skill.

ExplodeRadius: The area of effect that a projectile deals damage in. This is often but not always the same as AreaRadius.

Example: Ricochet has a TargetRadius of 13 for the initial target, an AreaRadius of 5 for determining the area the projectile can bounce to other enemies, and an ExplodeRadius of 0, so that the arrow does not deal damage to multiple enemies each time it hits an enemy.


AddWeaponRange: (?) If your weapon range is greater than the primary range factor, than it takes into your weapon range into account.

Example: Whirlwind has an AreaRadius of 3, but has AddWeaponRange as yes, so a spear with 3.5m weapon range will have half a meter more range.

Range: The range of a cone or zone skill like Ground Slam.

HitRadius: Typically the area of effect of a teleporting or rushing character.

Example: Battering Ram has a HitRadius of 1, meaning the character can hit characters or objects in a 2m wide path.


Conditions

TargetConditions: what conditions targets must meet to be targets of this skill. This can include simple logic, like "IF", "not" (!), "and" (&), "or" (|), and parentheses.

Conditions can include Character, Self, Nonself, Ally, Party, Player, Enemy, Item, Dead, Summon, NonSummon, MySummon, Owner, Party, Combat, Locked, AllowDead, FacingMe, CanPickup, HasStatus, InSurface, Surface.

Examples TargetConditions

NonSelf;Ally;!Dead;NonSummon // only target alive, non-summon allies (not including the caster)

Tagged:UNDEAD;FacingMe // only target undead characters that are facing you (e.g., for a holy light spell)

(InSurface:SurfaceFire)|SurfaceFire // target either characters standing in fire, or a fire surface directly.

(Chain Heal): !Dead&((!Enemy&!DamagedOnHeal)|(Enemy&DamagedOnHeal)) // target living allies that aren't damaged by healing (undead or decaying touch), but also target enemies if they are damaged by healing


ForceTarget: If yes, you cannot cast this without targeting a valid target (e.g., no targeting terrain)

CanTargetCharacters: if yes, can target characters

CanTargetItems: If yes, can target items.

CanTargetTerrain: If yes, you can target the terrain. Useful for skills that can manipulate surfaces, like Shocking Touch. Also good for area of effect attacks like Ground Slam, where you might want to target a space inbetween two characters to hit them both. Otherwise, make this no to prevent accidental casts.