-
Notifications
You must be signed in to change notification settings - Fork 3
Effects Types
When creating a consumable item, you'll need to specify an effect type, which defines with parameters to use and, which effect will be applied, of course. There are many types of effects that modify the player attributes like its health, its agility, its armor protection and many more. In this wiki page you'll find every effects type explanation with the required parameters.
Check the Creating Items wiki page before reading this one.
Note that you'll find further and more developed information about effects types at the Effects Handling wiki page.
There are currently 11 different types of effects in the current game engine:
- healing # change player health and max health (for a defined amount of time if defined)
- protection # change player global armor protection (for a defined amount of time)
- strength # increase the player global damage and critical hit chance (for a defined amount of time)
- agility # change player global agility (for a defined amount of time)
- time elapsing # increase/decrease time elapsing (for a defined amount of time)
- *attributes addition # add custom attributes to the player
- *dialog displaying # display a dialog
- *enemy spawning # spawn an enemy/enemies
- exp change # change player experience stat
- *coordinates change # change the player's location
- *inventory change # give/remove items for the player's inventory
Note that all the effect starting with a *
do not display on the consumable effect info in the inventory management UI (they're invisible).
The healing
effect type affects the player health and max health definitively or for a defined amount of time if wanted. Here's how the healing effect gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "healing"
effect time: <float(game days)> # not required
health change: # set 'None' as a value so it does nothing
augmentation: <int> # not required
diminution: <int> # not required
max health: # not required
augmentation: <int> # not required
diminution: <int> # not required
-
effect time
// here you'll enter how many time in game days you want to de be required for this effect to pass. This field isn't required. - health change // the dictionary that defines the actions of the effect. Set as a value
None
to have no effects.-
augmentation
// here you'll enter an integer that'll be added to the player's health. With a value of 999, the player health will be restored to its maximum. This field isn't required. -
diminution
// here you'll enter an integer that'll be removed from the player's health. This field isn't required. - max health // This field isn't required.
-
augmentation
// here you'll enter an integer that'll be added to the player's max health.This field isn't required. -
diminution
// here you'll enter an integer that'll be removed from the player's max health. This field isn't required.
-
-
The protection
effect type affects the player's global armor protection by increasing or decreasing with a coefficient for a defined amount. Here's how the protection effect gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "protection"
effect time: <float(game days)>
protection change: # set 'None' as a value so it does nothing
coefficient: <float> # not required
-
effect time
// here you'll enter how many time in game days you want to de be required for this effect to pass. Set as a value '999' to make it infinite. - protection change // the dictionary that defines the actions of the effect. Set as a value
None
to have no effects.-
coefficient
// here you'll enter the coefficient that'll be applied to the player's global armor protection. Use values under 1 to decrease the armor protection. EX: a value of.5
will divide the armor protection by 2; a value of1.4
will multiply the armor protection by 140%. This field isn't required.
-
NOTE: If the player has multiple effects of this type active, it's a random one that'll be chosen.
The strength
effect type affects the player global damage and the player critical hit chance by two coefficient for a defined amount of time. Here's how the strength effect gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "strength"
effect time: <float(game days)>
strength change: # set 'None' as a value so it does nothing
damage coefficient: <float> # not required
critical hit chance coefficient: <float> # not required
-
effect time
// here you'll enter how many time in game days you want to de be required for this effect to pass. Set as a value '999' to make it infinite. - strength change // the dictionary that defines the actions of the effect. Set as a value
None
to have no effects.-
damage coefficient
// here you'll enter the coefficient that'll be applied to the player's global damage. Use values under 1 to decrease the damage. EX: a value of.5
will divide the damage by 2; a value of1.4
will multiply the damage by 140%. This field isn't required. -
critical hit chance coefficient
// here you'll enter the coefficient that'll be applied to the player's critical hit chance. Use values under 1 to decrease the critical hit chance. EX: a value of.5
will divide the critical hit chance by 2; a value of1.4
will multiply the critical hit chance by 140%. This field isn't required.
-
NOTE: If the player has multiple effects of this type active, it's the one with the greatest value that'll be chosen.
The agility
effect type affects the player's agility by increasing or decreasing with a coefficient for a defined amount of time. Here's how the agility effect gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "agility"
effect time: <float(game days)>
agility change: # set 'None' as a value so it does nothing
coefficient: <float> # not required
-
effect time
// here you'll enter how many time in game days you want to de be required for this effect to pass. Set as a value '999' to make it infinite. - agility change // the dictionary that defines the actions of the effect. Set as a value
None
to have no effects.-
coefficient
// here you'll enter the coefficient that'll be applied to the player's agility. Use values under 1 to decrease the agility. EX: a value of.5
will divide the agility by 2; a value of1.4
will multiply the agility by 140%. This field isn't required.
-
NOTE: If the player has multiple effects of this type active, it's a random one that'll be chosen.
The time elapsing
effect type affects the game day coefficient by increasing or decreasing with a coefficient for a defined amount of time. Here's how the agility effect gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "time elapsing"
effect time: <float(game days)>
time change: # set 'None' as a value so it does nothing
coefficient: <float> # not required
-
effect time
// here you'll enter how many time in game days you want to de be required for this effect to pass. Set as a value '999' to make it infinite. - time change // the dictionary that defines the actions of the effect. Set as a value
None
to have no effects.-
coefficient
// here you'll enter the coefficient that'll be applied to the game day coefficient. Use values under 1 to decrease the game day coefficient. EX: a value of.5
will divide the game day coefficient by 2; a value of1.4
will multiply the game day coefficient by 140%. This field isn't required.
-
NOTE: Unlike other effect types, if the player has multiple effects of this type active, they'll all be added between them to calculate the final value that'll be applied: EX: if the player has 3 effects of the time elapsing type: (1st[coeff=.5], 2nd[coeff=1.3], 3rd[coeff=1.1]); the the final coefficient will be .5 * 1.3 * 1.1 = 0.715
.
The attributes addition
effect type only function is to add a list of attributes to the player custom attributes list. Here's how it gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "attributes addition"
attributes addition: <list(str)>
-
attributes addition
// the list of attributes you want to be added to player custom attributes.
The dialog displaying
effect type only function is to display a dialog. Note that the dialog to display
checks won't be run. Here's how it gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "dialog displaying"
dialog: <dialog(str)>
-
dialog
// here you enter the id of the dialog you want to display.
The enemy spawning
effect type only function is to summon an enemy/enemies from an enemy list. Here's how it gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "enemy spawning"
enemy list: <list(str)>
-
enemy list
// here you enter the id of the enemy list to summon.
The exp change
effect type increase or decrease the player's exp by adding or removing a certain amount. Here's how it gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "exp change"
exp change: # set 'None' as a value so it does nothing
augmentation: <float> # not required
diminution: <float> # not required
- exp change // the dictionary that defines the actions of the effect. Set as a value
None
to have no effects.-
augmentation
// here you'll enter a floating number that'll be added to the player's exp. This field isn't required. -
diminution
// here you'll enter a floating number that'll be removed from the player's exp. This field isn't required.
-
The coordinates change
effect type changes the y and x coordinates of the player. Here's how it gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "coordinates change"
coordinates change: # set 'None' as a value so it does nothing
x: <int> # not required
y: <int> # not required
- coordinates change // the dictionary that defines the actions of the effect. Set as a value
None
to have no effects.-
x
// here you'll enter an integer that'll be the new player x coordinate. This field isn't required. -
y
// here you'll enter an integer that'll be the new player y coordinate. This field isn't required.
-
The inventory change
effect type can adds or remove items for the player's inventory. Here's how it gets defined:
consumable test:
...
[consumable data]
effects:
- effect 1:
type: "coordinates change"
inventory change: # set 'None' as a value so it does nothing
removals: <list(str)> # not required
additions: <list(str)> # not required
- inventory change // the dictionary that defines the actions of the effect. Set as a value
None
to have no effects.-
removals
// here you'll enter the list of items you want to be removed from the player's inventory. This field isn't required. -
additions
// here you'll enter the list of items you want to be added from the player's inventory. This field isn't required.
-
- Running The Game
- Gameplay Guide
- GitHub Discussions
- Building Source Code
- Game Preferences
- The Game Folder
- The World Of Bane Of Wargs
- Game Timeline Plot
- Yaml Syntax
- Creating Mods
- Creating Starts
- Creating Map Points
- Creating Enemies
- Creating Enemies Categories
- Creating Map Zones
- Creating Items
- Creating Drinks
- Writing Dialogs
- Creating Missions
- Creating Events
- Creating NPCS
- Creating Mounts
Additional Knowledge