mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2026-02-18 13:37:44 +01:00
Remove BonusItem and replace with normal EquipItems everywhere.
This commit is contained in:
parent
415ac63767
commit
9d99d936aa
25 changed files with 112 additions and 118 deletions
|
|
@ -152,7 +152,7 @@ public class InternalStateEditor(
|
|||
}
|
||||
|
||||
/// <summary> Change a single bonus item. </summary>
|
||||
public bool ChangeBonusItem(ActorState state, BonusItemFlag slot, BonusItem item, StateSource source, out BonusItem oldItem, uint key = 0)
|
||||
public bool ChangeBonusItem(ActorState state, BonusItemFlag slot, EquipItem item, StateSource source, out EquipItem oldItem, uint key = 0)
|
||||
{
|
||||
oldItem = state.ModelData.BonusItem(slot);
|
||||
if (!state.CanUnlock(key))
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ public class StateApplier(
|
|||
if (apply)
|
||||
{
|
||||
var item = state.ModelData.BonusItem(slot);
|
||||
ChangeBonusItem(data, slot, item.ModelId, item.Variant);
|
||||
ChangeBonusItem(data, slot, item.PrimaryId, item.Variant);
|
||||
}
|
||||
|
||||
return data;
|
||||
|
|
@ -391,7 +391,7 @@ public class StateApplier(
|
|||
foreach (var slot in BonusExtensions.AllFlags)
|
||||
{
|
||||
var item = state.ModelData.BonusItem(slot);
|
||||
ChangeBonusItem(actors, slot, item.ModelId, item.Variant);
|
||||
ChangeBonusItem(actors, slot, item.PrimaryId, item.Variant);
|
||||
}
|
||||
|
||||
var mainhandActors = state.ModelData.MainhandType != state.BaseData.MainhandType ? actors.OnlyGPose() : actors;
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ public class StateEditor(
|
|||
}
|
||||
}
|
||||
|
||||
public void ChangeBonusItem(object data, BonusItemFlag slot, BonusItem item, ApplySettings settings = default)
|
||||
public void ChangeBonusItem(object data, BonusItemFlag slot, EquipItem item, ApplySettings settings = default)
|
||||
{
|
||||
var state = (ActorState)data;
|
||||
if (!Editor.ChangeBonusItem(state, slot, item, settings.Source, out var old, settings.Key))
|
||||
|
|
|
|||
|
|
@ -250,11 +250,11 @@ public class StateListener : IDisposable
|
|||
else
|
||||
apply = true;
|
||||
if (apply)
|
||||
item = state.ModelData.BonusItem(slot).ToArmor();
|
||||
item = state.ModelData.BonusItem(slot).Armor();
|
||||
break;
|
||||
// Use current model data.
|
||||
case UpdateState.NoChange:
|
||||
item = state.ModelData.BonusItem(slot).ToArmor();
|
||||
item = state.ModelData.BonusItem(slot).Armor();
|
||||
break;
|
||||
case UpdateState.Transformed: break;
|
||||
}
|
||||
|
|
@ -453,12 +453,12 @@ public class StateListener : IDisposable
|
|||
return UpdateState.NoChange;
|
||||
|
||||
// The actor item does not correspond to the model item, thus the actor is transformed.
|
||||
if (actorItem.ModelId != item.Set || actorItem.Variant != item.Variant)
|
||||
if (actorItem.PrimaryId != item.Set || actorItem.Variant != item.Variant)
|
||||
return UpdateState.Transformed;
|
||||
|
||||
var baseData = state.BaseData.BonusItem(slot);
|
||||
var change = UpdateState.NoChange;
|
||||
if (baseData.Id != actorItem.Id || baseData.ModelId != item.Set || baseData.Variant != item.Variant)
|
||||
if (baseData.Id != actorItem.Id || baseData.PrimaryId != item.Set || baseData.Variant != item.Variant)
|
||||
{
|
||||
var identified = _items.Identify(slot, item.Set, item.Variant);
|
||||
state.BaseData.SetBonusItem(slot, identified);
|
||||
|
|
|
|||
|
|
@ -356,7 +356,7 @@ public sealed class StateManager(
|
|||
foreach (var slot in BonusExtensions.AllFlags)
|
||||
{
|
||||
var item = state.ModelData.BonusItem(slot);
|
||||
Applier.ChangeBonusItem(actors, slot, item.ModelId, item.Variant);
|
||||
Applier.ChangeBonusItem(actors, slot, item.PrimaryId, item.Variant);
|
||||
}
|
||||
|
||||
var mainhandActors = state.ModelData.MainhandType != state.BaseData.MainhandType ? actors.OnlyGPose() : actors;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue