# 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.

- Skill: `ecnu-icalk/health-based-object-activation-with-calculated-thresholds` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/health-based-object-activation-with-calculated-thresholds`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/health-based-object-activation-with-calculated-thresholds/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/health-based-object-activation-with-calculated-thresholds

---


# 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

