Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Guardian Druid: Gore appears to apply the buff but not reset a Mangle charge

Abierto
#11,918 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
68/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp
Área
game-dev

Línea de trabajo

Start by reading the Guardian Druid trigger_gore_t::impact() handler mentioned in the issue, then compare it with the Mangle cooldown reset behavior in Answered Calling and Berserk. The report’s test modifies that handler and runs a 300-second Patchwerk simulation with Harnessed Rage; done means determining whether Gore should reset Mangle and verifying the resulting Mangle charge behavior.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Guardian Druid: Gore appears to apply the buff but not reset a Mangle charge

Environment
  • SimulationCraft: 1210-01

  • WoW: 12.1.0.69933 Live

  • SimC commit: 6c50c3c7b96c81bbb8e7abefbd817ecf31519592

  • Fight style: Patchwerk

  • Fight length: fixed 300 seconds

  • Targets: 1

  • Guardian Druid

  • Harnessed Rage talented, so Mangle has multiple charges

Problem

Gore is supposed to reset the cooldown of Mangle when it procs.

However, in the current SimC implementation, trigger_gore_t::impact() appears to only trigger the Gore buff:

if ( BASE::rng().roll( gore_chance() ) )
  BASE::p()->buff.gore->trigger( this );

There does not appear to be a corresponding Mangle cooldown reset here.

By comparison, other Guardian effects such as Answered Calling and Berserk explicitly do:

p_->cooldown.mangle->reset( true );

This seems especially noticeable with Harnessed Rage, where Mangle uses a multi-charge cooldown.

Test

I modified the Gore handler to:

if ( BASE::rng().roll( gore_chance() ) )
{
  BASE::p()->buff.gore->trigger( this );

if ( BASE::p()->cooldown.mangle )
BASE::p()->cooldown.mangle->reset( true );
}

The APL was also configured with unconditional Mangle at the very top, ahead of cooldowns and the rest of the rotation, to make sure APL priority could not be responsible for delayed Mangle casts.

Results

Metric Current SimC With Gore reset
Mangle casts / 300 sec 107.67 136.69
DPS 98,044 102,029
DPS difference — +4.06%
Mangle Rage generated 1721.8 2075.2
Mangle Rage overflow 230.0 373.7
Gore starts 30.61 31.43
Gore refreshes 5.03 0.72
Gore average duration 1.84 s 0.97 s
Gore uptime 18.82% 10.13%

Baseline data:

Patched data:

The Mangle cast count increases by approximately:

107.67 → 136.69 (+29.02 casts, +26.9%)

The Gore behavior also changes in a way that seems consistent with the reset working correctly: Gore refreshes fall from about 5.03 to 0.72, and average Gore duration falls from 1.84 s to 0.97 s, because the newly available Mangle is usually used on the following GCD.

Interestingly, before running the patched sim I estimated that correctly restoring Mangle charges from Gore should result in roughly 135–138 Mangle casts over 300 seconds. The patched result was 136.69.

Additional rotational effects

The extra Mangle casts naturally replace some filler GCDs:

  • Thrash decreases from roughly 64.95 → 53.76 casts

  • Swipe decreases from roughly 53.07 → 31.97 casts

  • Raze increases from roughly 14.1 → 18.5 casts

This also reduces the number of future Gore proc opportunities, so the result is not simply current Mangles + number of Gore procs.

Caveat

The baseline run used approximately 5,000 iterations, while the patched run used approximately 50,000 iterations.

The observed difference is much larger than the expected statistical noise, but I can rerun the baseline at 50,000 iterations for a perfectly matched comparison if useful.

Question

Is the missing

cooldown.mangle->reset( true );

inside the Gore proc handler intentional, or is this a missing implementation of Gore's Mangle cooldown reset?

If useful, I can also provide the complete .simc profile and both JSON reports.

Lenguaje dominante
C++
Estrellas
1.6k
Forks
789
Merge medio
9 h 44 min
PR fusionados (30 d)
56

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de simulationcraft/simc

Todos los issues de simulationcraft/simc

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.