Creep Ability Aliases
For Disease Cloud, Pulverize, Web, Monsoon and Incinerate data/lifecycle contracts, see creep combat effects.
Creep ACxx / extra AbilityData rows are code= aliases of an already-registered
parent procedure. Register them as extra abilitylist[] rows on that parent in
s_skills.c. Do not create s_creep.c for the dump: procedures stay in the
owning s_*.c. The only creep-only procedure file is s_creep_sleep.c
(natural camp sleep).
Mapping
Poll ROC then TFT with ability_audit -raw and copy code=. FindAbilityForCommand
already resolves a fourcc through G_AbilityCode, so the alias row is for
FindAbilityByClassname and for coverage. Shared hooks that key on the hero
rawcode (G_UnitAbilityLevel(ANms), G_UnitStatusLevel(AHfa)) must resolve the
owner's alias the same way regen auras do for ACnr→Aoar.
| Alias | Parent code= |
Procedure |
|---|---|---|
ACcb |
AHtb |
CAbilityThunderBolt |
ACde / Adsm / Adcn |
Advm / Adis |
CAbilityDispelMagic |
ACca / ACcv / ACc2 / ACc3 |
AUcs |
CAbilityCarrionSwarm |
Aenr / Aenw |
AEer |
CAbilityEntanglingRoots |
ACmf |
ANms |
CAbilityManaShield (orders + DataA/DataB via alias) |
ACsa |
AHfa |
CAbilityFlamingArrows (toggle status is ACsa) |
ACpy |
Aply |
CAbilityPolymorph (ROC empty BuffID → Bply in human_buff) |
ACsl |
AUsl |
CAbilitySleep (ROC empty BuffID → BUsl) |
Ane2 |
Aneu |
shop select (CAbilityPassive), not Inventory |
ACes / ACev |
AEev |
Evasion: S_EvasionRoll resolves the owned alias plus rank via S_ResolveAbilityAlias and reads chance from the alias row |
ACbh |
AHbh |
Bash: S_ResolveAttackHit resolves the owned alias plus rank via S_ResolveAbilityAlias and reads chance/bonus from the alias row |
Anhe |
Anhe (self; code= parent of Anh1/Anh2) |
CAbilityHeal (autocast; DataA via alias) |
ACtc |
ACtc (self; code= parent of ACt2) |
CAbilityThunderClap (radial; no slow when ROC BuffID empty) |
ACad |
ACad (self) |
CAbilityAnimateDead (count/area/duration via alias) |
ACrn |
ACrn (self) |
CAbilityPassive (same as AOre/ANrn) |
Aasl |
Aasl (self) |
CAbilityPassive (Slow Aura placeholder, like other creep auras) |
Aakb |
Aakb (self) |
CAbilityPassive (War Drums placeholder, like other creep auras) |
ACmo |
ANmo |
CAbilityMonsoon (fixed-point channel, authored interval/building multiplier) |
ACwb |
Aweb |
CAbilityWeb (air-only autocast, shared Ensnare landing/restoration) |
Do not register as the parent until that procedure exists:
| Alias | code= |
Class | Why it stays TODO |
|---|---|---|---|
ACf3 / ACfd / Afod |
ANfd |
CAbilityFingerOfDeath |
not Firebolt |
AHta |
AIta |
CAbilityItemDetectAoe |
active Reveal, not passive |
Ache |
AIdc |
CAbilityItemDispelChain |
active chain dispel, not passive |
ROC empty BuffID fallbacks belong in the parent procedure's buff helper, using
the TFT token. Do not invent fourccs (Bslp) or put Polymorph/ACsa entries in
melee_buff_fallback.