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.mdsource 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
- Input: The script must accept an array of GameObjects (
) and a current health value (integer or float).objectsToActivate - 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.
- Formula: Use the following formula to calculate the threshold for each object at index
(0-based):iThreshold[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.
- Activation Logic: Activate the object corresponding to the highest threshold that is less than or equal to the current health (
). Ensure only one object is active at a time.currentHealth >= Threshold[i] - 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