Custom Attacks

!!! In Development !!!

Introduction

This section describes how custom attacks are created for entities in the game, focusing on concepts such as "Attacks", "Spawners", "Projectiles", "Behaviors", "Conditions", "Drawings", and "Colliders".

For examples go here: Custom attacks examples

Custom Entity Attacks

Don't forget to SAVE often!

Custom entities can have multiple attacks assigned. These are accessible under the "Boss spinner". To add a custom attack, select Custom, choose your attack, and add it to the list at normal.

Attack Properties

Each attack in the game is defined by a set of properties that dictate its behavior and interaction within the combat environment. Here’s a detailed breakdown of these properties to help you create and manage attacks effectively:

General Properties
  • Name: The identifier for the attack, which can be referenced in scripts and other game components.
  • Initial Soul Color: Defines the color state of the soul at the beginning of the attack, impacting player interaction.
  • Combat Box Dimensions: Specifies the width and height of the combat area, constraining where actions take place.
Trigger Conditions
  • Spawners: A list of spawners that belongs to the attack.
Functionalities
  • Add New: Allows the creation of a new attack configuration from scratch.
  • Edit Existing: Modify the parameters of existing attacks to change their behaviors or correct issues.
  • Import/Export: Supports importing attack configurations from external files or exporting them for backup or sharing purposes.
  • Preview: A feature that lets you simulate the attack within the game environment to see how it plays out in real-time before finalizing.

Note: Future developments may introduce more properties and functionalities to enhance the attack customization options available to players and developers alike.

Spawners

Spawners are fundamental components of attacks, responsible for the generation of projectiles during combat. They can be configured with various properties to tailor the behavior of projectiles according to the needs of an attack.

Here's a detailed overview of the types of spawners and their functionalities:

  • Simple Spawners: These spawners create projectiles at a consistent rate, defined by the 'Rate' parameter. For example, setting a rate of 10 would generate a projectile every 10 frames. The 'Waves' parameter controls how many total projectiles are created before the spawner ceases operation.
  • Timeline Spawners: More complex than simple spawners, timeline spawners allow for the scheduling of different projectiles at specific times during an attack. You can configure them to create varied projectiles at designated intervals—like a blaster at 1 second, a fireball at 2 seconds, and a missile at 2.5 seconds. These can repeat for a set number of times or stop after reaching the designated count. Timeline spawners provide a robust tool for creating intricate attack patterns.

Note: Future updates will integrate spawners with additional properties typically associated with projectiles, enhancing their versatility and integration within the game’s combat mechanics.

Projectiles

Projectiles are the dynamic elements within the game that interact with the player, often serving as the primary challenge in combat scenarios. They can be customized in various ways to fit the design of the attack. Below are detailed descriptions of the different types of projectiles and how they can be configured:

Types of Projectiles
  • Existing Projectiles: Utilize pre-defined projectiles from the game, such as Gaster blasters or Papyrus' bones. These come with set parameters that can be adjusted, allowing for customization while maintaining familiar behaviors from the game.
  • Custom Projectiles: Create entirely new projectiles with unique behaviors and properties. This option allows for greater flexibility and creativity in attack design.
Key Properties
  • Name and Damage: Each projectile has a unique name and associated damage value, which can be adjusted to balance the game's difficulty.
  • Color Coding: Colors signify different behaviors—red for normal damage, green for healing, blue mandates the player to stand still, and orange requires movement.
Configuration Options
  • Drawings: Define the visual aspect of projectiles. Options include selecting from existing animations or creating new visuals using basic shapes like circles and rectangles. Parameters for these drawings are crucial for their behavior and appearance.
  • Movement: Determines how the projectile navigates the combat space. Current options include linear movement and linear bounce, the latter allowing projectiles to bounce off combat box walls.
  • Colliders: Define the collision boundaries for each projectile, essential for interaction with the player. Shapes include circles and rectangles, and parameters help adjust their size and position relative to the projectile's drawing.
  • Behaviors: Special properties that can be applied to projectiles to control their interaction patterns during an attack. Examples include rotating the projectile with its movement, making it disappear upon hitting a player, and others detailed in the Behaviors section.

Understanding and utilizing these properties effectively allows for the creation of diverse and engaging gameplay experiences, enabling developers to craft unique combat scenarios tailored to their game's theme and difficulty level.

Conditions

Conditions determine when behaviors and movements are activated or deactivated, affecting how projectiles interact in the game environment. They can be configured to respond to various gameplay scenarios, enhancing tactical depth and player engagement.

Below are specific examples of how conditions can be used to dynamically control behaviors and movements:

  • End After Duration: A behavior might be configured to cease after a specific duration, such as moving in one direction for a set time before switching.
  • Start After Duration: Conditions can delay the start of a behavior, such as waiting for 2 seconds before beginning to target the player.
  • Behavior Active: This condition checks whether a particular behavior is currently active before starting another.
  • Finish if Outside: Automatically terminate a projectile or behavior once it moves outside the predefined combat area.
  • Finish when Hit: Configure projectiles to disappear or change state when colliding with the player or another object.
  • Set Passive: Make a projectile non-damaging or non-interactive under certain conditions.
  • Set Drawing Alpha: Adjust the transparency of a projectile's visual representation based on specific conditions.
  • Sound Effect: Trigger sound effects in response to behaviors being activated or conditions being met.
  • Rotate: Conditions can trigger a rotation behavior, modifying the orientation of a projectile at a specified speed.
  • Finish if Outside the Box: Similar to 'Finish if Outside,' but specifically when a projectile exits a designated combat box after entering.
  • Command: Run specific commands or scripts based on condition triggers, like dialogues or effects when a behavior activates.

Implementing these conditions effectively can create a more dynamic and responsive gameplay experience, allowing projectiles to adapt to the game’s evolving scenarios.

Conclusion

This tutorial provides a foundational guide to creating and managing custom attacks. Explore these tools to enhance your game's interactivity and challenge.