simulationcraft / simc

Simulationcraft engine/GUI
GNU General Public License v3.0
1.39k stars 693 forks source link

Raid events boss % health variable #4326

Closed Juliacare closed 6 years ago

Juliacare commented 6 years ago

To create less hard coded encounters and to make encounters more reactable to user input such as kill timers.

I propose to add to or change the current two variables:

First, Last

their input currently is amount of seconds into the fight but adding the main target's (boss') health percentage will give a lot more modelling room. (Mostly with intermissions and locking mechanics to certain phases.)

I suggest something like

first_time= and first_health= or first_pct= or first.time= and first.health_pct=

Again, the main reason for this suggestion is to make raid events less hardcoded, so that they work on all given kill timers and not just on intermissions with set timers.

scamille commented 6 years ago

Thanks for the ticket. As discussed, my idea is to also add ,if= option to raid_events pointing to sim_t expression conditions.

Then you could do something like:

raid_events+=/invulnerable,if=target.health.pct<x

sim_t expressions need a quick check to easily allow target. expressions pointing to the main enemy.

scamille commented 6 years ago

Duplicate of #1820

scamille commented 6 years ago

I just had a quick look at the current first= option.

Good News: It looks like you can already do first=80% and it sets first to sim->max_time * 0.80. Which is completely bogus unless you run with fixed_time=1. Same thing for last=.

Bad News: Having a truly working first=health.pct would require either some polling in the raid event checking that condition from time to time, or some callback. (The former being more flexible but adding a little bit of performance cost). So less simple to implement than I thought :-/

Juliacare commented 6 years ago

A small summary of what we just discussed on discord:

-Good news is great. It almost is equal to the desired feature. -Bad news isn't as bad as it sounds. Since the user would input a average kill timer which includes their burst phases and execute phases.

The current usage might devalue the sims for execute orriented specs but we'll see over the next few months if the decreased value is enough to ponder a fix over. The health pct code is documented to the wiki by @scamille

Juliacare commented 6 years ago

Reopening like discussed on discord.

Issue remains, going from phase 1 to 2 is possible like this but from 2 to 3 is not. This is a major issue for what we're trying to achieve and there for the issue is reopened.

Juliacare commented 6 years ago

Works perfectly, closing final.