Difference between revisions of "Skill creation"

From Divinity Engine Wiki
Jump to: navigation, search
(Skill Parameters)
(Skill Parameters)
Line 4: Line 4:
  
 
Every skill requires the following parameters to be filled out.
 
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.
 
Skill Type: Determines the fundamental behavior of the skill.
Line 13: Line 11:
 
* '''ProjectileStrike''', a series of projectiles which rain from the sky rather than originating from the caster.
 
* '''ProjectileStrike''', a series of projectiles which rain from the sky rather than originating from the caster.
 
* '''Cone''', cause an effect in a cone shape determined by angle and range.
 
* '''Cone''', cause an effect in a cone shape determined by angle and range.
 +
* '''Zone''', cause an effect in a rectangular or square shape
 
* '''Jump''', a self-teleport skill.
 
* '''Jump''', a self-teleport skill.
 
* '''Rush''', a self-directed movement skill.
 
* '''Rush''', a self-directed movement skill.
Line 22: Line 21:
 
* '''Dome''', create a persisting area of effect with a dome visual.
 
* '''Dome''', create a persisting area of effect with a dome visual.
  
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.
+
===== Basic Parameters =====
 
+
* '''Entry''', a unique name so that the skill can be referenced in scripts or other locations. Usually a structure of "Skilltype_Skillname."
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.
+
* '''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: (?)
+
* '''Tier''', (?)
 
+
* '''ActionPoints''', how many action points the skill costs.
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
Cooldown: the cooldown in turns. Can be set to -1 for a once per combat skill.
+
* '''Magic Cost''', How many source points the skill costs
 
 
Memory: the memory cost
 
 
 
Magic Cost: How many source points the skill costs
 
 
 
  
 
=== Damage ===
 
=== Damage ===
  
Damage Multiplier: the base damage, "100" being an average damage skill, or using exact weapon damage if is a weapon skill.
+
* '''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.  
Damage Range: the percentage of variation in damage.  
+
* '''DamageType''', the type of damage.
 
+
* '''UseWeaponDamage''', if yes, multiplies your weapon damage by the Damage Multiplier
DamageType: the type of damage.
 
 
 
UseWeaponDamage: if yes, multiplies your weapon damage by the Damage Multiplier
 
  
 
=== Range ===
 
=== Range ===
  
TargetRadius: How far a Target, Projectile, or Teleportation, skill can reach
+
* '''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.
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.
 
+
* '''AddWeaponRange''', (?) If your weapon range is greater than the primary range factor, than it takes into your weapon range into account.
ExplodeRadius: The area of effect that a projectile deals damage in. This is often but not always the same as AreaRadius.  
+
* '''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:'' 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.  
 
''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.
 
''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.
 
''Example:'' Battering Ram has a HitRadius of 1, meaning the character can hit characters or objects in a 2m wide path.

Revision as of 02:38, 30 August 2017

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.

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.
  • ProjectileStrike, a series of projectiles which rain from the sky rather than originating from the caster.
  • Cone, cause an effect in a cone shape determined by angle and range.
  • Zone, cause an effect in a rectangular or square shape
  • 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.
  • Wall, create one or more characters or objects.
  • Rain, a large area of effect skill that usually changes the atmosphere and creates a distribution of surfaces.
  • Storm, a large area of effect skill that usually changes the atmosphere and creates a distribution of surfaces, as well as raining projectiles down.
  • Dome, create a persisting area of effect with a dome visual.
Basic Parameters
  • Entry, a unique name so that the skill can be referenced in scripts or other locations. Usually a structure of "Skilltype_Skillname."
  • 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.
  • AddWeaponRange, (?) If your weapon range is greater than the primary range factor, than it takes into your weapon range into account.
  • 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: 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.

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.

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 direct targets of this skill. This can include simple logic, like "IF", "not" (!), "and" (&), "or" (|), and parentheses.

AOEConditions: conditions for an AOEBoost skill property.

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.

Example Target Conditions

  • 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.