Skip to content

Commit

Permalink
Fix bug with UI swap feature and auto/simple rotations
Browse files Browse the repository at this point in the history
  • Loading branch information
jimmyt857 committed Dec 9, 2023
1 parent 0d1292f commit 1560fab
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 5 deletions.
2 changes: 1 addition & 1 deletion sim/core/apl.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func (rot *APLRotation) doAndRecordWarnings(warningsList *[]string, isPrepull bo
}

func (unit *Unit) newAPLRotation(config *proto.APLRotation) *APLRotation {
if config == nil || config.Type != proto.APLRotation_TypeAPL {
if config == nil || !unit.IsUsingAPL {
return nil
}

Expand Down
5 changes: 4 additions & 1 deletion sim/core/character.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,10 @@ func NewCharacter(party *Party, partyIndex int, player *proto.Player) Character
ChannelClipDelay: max(0, time.Duration(player.ChannelClipDelayMs)*time.Millisecond),
DistanceFromTarget: player.DistanceFromTarget,
NibelungAverageCasts: player.NibelungAverageCasts,
IsUsingAPL: player.Rotation != nil && player.Rotation.Type == proto.APLRotation_TypeAPL,
IsUsingAPL: player.Rotation != nil &&
(player.Rotation.Type == proto.APLRotation_TypeAPL ||
player.Rotation.Type == proto.APLRotation_TypeAuto ||
player.Rotation.Type == proto.APLRotation_TypeSimple),
},

Name: player.Name,
Expand Down
10 changes: 7 additions & 3 deletions ui/core/player.ts
Original file line number Diff line number Diff line change
Expand Up @@ -827,11 +827,15 @@ export class Player<SpecType extends Spec> {
const type = this.getRotationType();
if (type == APLRotationType.TypeAuto && this.autoRotationGenerator) {
// Clone to avoid modifying preset rotations, which are often returned directly.
return APLRotation.clone(this.autoRotationGenerator(this));
const rot = APLRotation.clone(this.autoRotationGenerator(this));
rot.type = APLRotationType.TypeAuto;
return rot;
} else if (type == APLRotationType.TypeSimple && this.simpleRotationGenerator) {
// Clone to avoid modifying preset rotations, which are often returned directly.
const rot = APLRotation.clone(this.simpleRotationGenerator(this, this.getRotation(), this.getCooldowns()));
rot.type = APLRotationType.TypeAPL; // Set this here for convenience, so the generator functions don't need to.
const simpleRot = this.getRotation();
const rot = APLRotation.clone(this.simpleRotationGenerator(this, simpleRot, this.getCooldowns()));
rot.simple = this.aplRotation.simple;
rot.type = APLRotationType.TypeSimple; // Set this here for convenience, so the generator functions don't need to.
return rot;
} else {
return this.aplRotation;
Expand Down

0 comments on commit 1560fab

Please sign in to comment.