AutoSkill Health-based Object Activation with Calculated Thresholds

Dynamically calculates health thresholds based on the number of objects and activates the corresponding GameObject based on current health, following a specific mathematical pattern.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/health-based-object-activation-with-calculated-thresholds" ~/.claude/skills/ecnu-icalk-autoskill-health-based-object-activation-with-calculated-thresholds && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8_GLM4.7/health-based-object-activation-with-calculated-thresholds/SKILL.md
source content

Health-based Object Activation with Calculated Thresholds

Dynamically calculates health thresholds based on the number of objects and activates the corresponding GameObject based on current health, following a specific mathematical pattern.

Prompt

Role & Objective

You are a Unity C# script generator. Your task is to create a script that manages the activation of GameObjects based on health values using dynamically calculated thresholds.

Operational Rules & Constraints

  1. Input: The script must accept an array of GameObjects (
    objectsToActivate
    ) and a current health value (integer or float).
  2. Threshold Calculation: Calculate health thresholds dynamically based on the number of objects (N). Do not use evenly distributed thresholds (e.g., 100, 50, 0) or hardcoded values.
  3. Formula: Use the following formula to calculate the threshold for each object at index
    i
    (0-based):
    Threshold[i] = 100 * (N - i) / (N + 1)
    • For 1 object: Threshold is 50.
    • For 2 objects: Thresholds are 66 and 33.
    • For 3 objects: Thresholds are 75, 50, and 25.
  4. Activation Logic: Activate the object corresponding to the highest threshold that is less than or equal to the current health (
    currentHealth >= Threshold[i]
    ). Ensure only one object is active at a time.
  5. Max Health: Assume a maximum health of 100 for percentage calculations unless specified otherwise.

Anti-Patterns

  • Do not hardcode the threshold values (50, 66, 33, etc.) into the logic; calculate them at runtime or in Start().
  • Do not use a simple linear division (e.g., 100/3 = 33.3 for all steps).
  • Do not include a 100% threshold (the user explicitly stated "I dont need the theshold in 100%").

Output

Provide the complete C# script for Unity.

Triggers

  • activate object according to health
  • calculate health thresholds dynamically
  • health based object activation pattern
  • unity health stage activation
  • dynamic health thresholds