Files
0A-KFCommonUtilityLib/Scripts/MinEventActions/MinEventActionAddRoundsToMagazine.cs
2025-06-04 16:13:32 +09:30

29 lines
872 B
C#

using System.Xml.Linq;
public class MinEventActionAddRoundsToMagazine : MinEventActionAmmoAccessBase
{
private float maxPerc = -1;
public override void Execute(MinEventParams _params)
{
_params.ItemValue.Meta += GetCount(_params);
if (maxPerc > 0)
_params.ItemValue.Meta = Utils.FastMin((int)((_params.ItemValue.ItemClass.Actions[0] as ItemActionRanged).GetMaxAmmoCount(_params.ItemActionData) * maxPerc), _params.ItemValue.Meta);
_params.Self?.inventory?.CallOnToolbeltChangedInternal();
}
public override bool ParseXmlAttribute(XAttribute _attribute)
{
if (base.ParseXmlAttribute(_attribute))
return true;
if (_attribute.Name.LocalName == "max")
{
maxPerc = float.Parse(_attribute.Value);
return true;
}
return false;
}
}