Skip to content

Enemies

jjppof edited this page Jan 7, 2023 · 7 revisions

Database file for enemies. See an example. This json file is an array of objects, each object corresponds to an enemy.

Properties

  • key_name [string]: enemy unique key_name.
  • name [string]: enemy name.
  • battle_spritesheet [object|string]: battle spritesheet/animation info. If you want this enemy to use the same spritesheet/animation info as another enemy, set this property as a string indicating the reference enemy key name.
    • spritesheet [object]: object containing this enemy spritesheet info.
      • json [string]: relative path to the spritesheet json file.
      • image [string]: relative path to the spritesheet image file.
    • animations [array]: all the available battle positions that this spritesheet covers, it can be:
      • "attack_back"
      • "attack_front"
      • "back"
      • "front"
      • "cast_back"
      • "cast_front"
      • "cast_init_back"
      • "cast_init_front"
      • "damage_back"
      • "damage_front"
      • "downed_back"
      • "downed_front"
      • For more directions types, check the Isaac example.
    • frames_count [number|array]: if it's an array, it has to have the same length as positions property array, for each position specify the number of frames it has. But, if all positions have the same number of frames, just specify a number for it.
    • frame_rate [number|array|array of array]: the positions frame rate. If all positions animations have the same frame rate, just set a number for it. If each position has a different frame rate, set it as an array with the position property array length indicating a frame rate for each position. If each frame of a position animation has a different frame rate, but all the positions follow the same pattern, set it as an array of an array containing a frame rate for each frame (eg. [[x, y, z]], for 3 frames). Finally, if all positions have different patterns of frame rate, set it as an array with positions length and, in each position of this array, set an array with the frame rate for each frame (eg. [[a, b, c], [x, y, z]], for 2 positions of 3 frames).
    • loop [boolean|array]: if it's an array, it has to have the same length as positions property array, for each position, specify if the animation is going to loop or not. But, if all positions have the same behavior, just specify a boolean for it.
  • level [number]: starting level of the char.
  • turns [number]: enemy battle turns count.
  • max_hp [number]: enemy max HP value.
  • max_pp [number]: enemy max PP value.
  • atk [number]: enemy attack value.
  • def [number]: enemy defensevalue.
  • agi [number]: enemy agility value.
  • luk [number]: enemy luck value.
  • hp_recovery [number]: HP recovery value.
  • pp_recovery [number]: PP recovery value.
  • base_level [object]:
    • venus [number]: base venus level of the enemy.
    • mercury [number]: base mercury level of the enemy.
    • mars [number]: base mars level of the enemy.
    • jupiter [number]: base jupiter level of the enemy.
  • base_power [object]:
    • venus [number]: base venus power of the enemy.
    • mercury [number]: base mercury power of the enemy.
    • mars [number]: base mars power of the enemy.
    • jupiter [number]: base jupiter power of the enemy.
  • base_resist [object]:
    • venus [number]: base venus resistance of the enemy.
    • mercury [number]: base mercury resistance of the enemy.
    • mars [number]: base mars resistance of the enemy.
    • jupiter [number]: base jupiter resistance of the enemy.
  • coins_reward [number]: number of coins rewarded after battle.
  • item_reward [string]: item key name that is given as reward.
  • item_reward_chance [number]: chance of receiving an item as a reward, values between 0 and 1.
  • exp_reward [number]: experience given as a reward after the battle.
  • defeat_voice [string]: the sfx key name to be played when this enemy is defeated. Optional property.
  • battle_scale [number]: this enemy battle sprite scale factor, 0 is 0%, 1 is 100%.
  • battle_shadow_key [string]: the shadow key in assets\images\spritesheets\battle\battle_shadows.json.
  • status_sprite_shift [number]: the shift from the enemy sprite top that will be applied to the status sprite.
  • battle_animations_variations [object]: whether this enemy has a battle animation variation for an ability.
    • {[ability key name]: [battle animation key name]}: create one of this pair for each variation.
  • items [array]: items that this enemy has.
    • key_name [string]: the item key name.
    • quantity [number]: the quantity of this item.
    • use_weight [number]: the weight used to calculate the chance of using this item. This is a free value that is going to be normalized with the other use_weights.
  • abilities [array]: abilities that this enemy has.
    • key_name [string]: the ability key name.
    • use_weight [number]: the weight used to calculate the chance of using this ability. This is a free value that is going to be normalized with the other use_weights.
  • vulnerabilities [array]: the vulnerabilities that this enemy has.
    • chance [number]: this value will be used in the final chance of ailment success formula.
    • status_key_name [string]: the status key name, it can be:
      • "delusion"
      • "stun"
      • "sleep"
      • "seal"
      • "death_curse
      • "downed"
      • "poison"
      • "venom"
      • "equip_curse"
      • "haunt"
  • weight_pick_random_ability [number]: when picking an ability during a battle, it sets the importance of picking an ability that doesn't heal HP nor cure an ailment. Optional property. Default value is 1.0.
  • weight_recover_ailment [number]: when picking an ability during a battle, it sets the importance of picking an ability that cures an ailment. Optional property. Default value is 1.0.
  • weight_recover_hp [number]: when picking an ability during a battle, it sets the importance of picking an ability that heals HP. Optional property. Default value is 1.0.
  • target_weaker_chance [number]: when picking an ability during a battle, it sets the chance of targeting an enemy with the lowest HP. Choose values between 0 and 1. Optional property. Default value is 0.5.
Clone this wiki locally