本文整理汇总了C#中ExGatherTag类的典型用法代码示例。如果您正苦于以下问题:C# ExGatherTag类的具体用法?C# ExGatherTag怎么用?C# ExGatherTag使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ExGatherTag类属于命名空间,在下文中一共展示了ExGatherTag类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExecuteRotation
public override async Task<bool> ExecuteRotation(ExGatherTag tag)
{
var gp = GameObjectManager.LocalPlayer.CurrentGP;
if (gp >= 600)
{
await Discerning(tag);
await AppraiseAndRebuff(tag);
await AppraiseAndRebuff(tag);
await Methodical(tag);
}
else
{
tag.Logger.Warn("Using alternate rotation to collect one or two due to CurrentGP: {0} being less than RequiredGP: {1}", gp, 600);
// Less than 600 GP collect 1-2 rotation
await UtmostImpulsive(tag);
if (HasDiscerningEye)
{
await UtmostSingleMindMethodical(tag);
}
else
{
await UtmostCaution(tag);
await AppraiseAndRebuff(tag);
}
await Methodical(tag);
await Methodical(tag);
}
await IncreaseChance(tag);
return true;
}
示例2: MoveToSpot
public override async Task<bool> MoveToSpot(ExGatherTag tag)
{
tag.StatusText = "Moving to " + this;
if (ApproachLocation == Vector3.Zero)
{
return false;
}
var result =
await
ApproachLocation.MoveTo(
UseMesh,
radius: tag.Radius,
name: "Approach Location",
stopCallback: tag.MovementStopCallback);
if (result)
{
await Coroutine.Yield();
result = await NodeLocation.MoveToNoMount(UseMesh, tag.Distance, tag.Node.EnglishName, tag.MovementStopCallback);
}
return result;
}
示例3: ExecuteRotation
public override async Task<bool> ExecuteRotation(ExGatherTag tag)
{
var level = Core.Player.ClassLevel;
if (GatheringManager.SwingsRemaining > 4 || ShouldForceUseRotation(tag, level))
{
if (Core.Player.CurrentGP >= 500 && level >= 40)
{
await tag.Cast(Ability.IncreaseGatherYield2);
if (Core.Player.CurrentGP >= 100)
{
await tag.Cast(Ability.IncreaseGatherQuality10);
if (Core.Player.CurrentGP >= 100 && tag.GatherItem.Chance < 95)
{
await tag.Cast(Ability.IncreaseGatherChance15);
}
else
{
if (Core.Player.CurrentGP >= 50 && tag.GatherItem.Chance < 100)
{
await tag.Cast(Ability.IncreaseGatherChance5);
}
}
return await base.ExecuteRotation(tag);
}
}
}
return true;
}
示例4: IncreaseChance
protected override async Task<bool> IncreaseChance(ExGatherTag tag)
{
var level = Core.Player.ClassLevel;
if (Core.Player.CurrentGP >= 250 && tag.GatherItem.Chance < 51 && level > 10)
{
return await tag.Cast(Ability.IncreaseGatherChance50);
}
if (Core.Player.CurrentGP >= 100 && tag.GatherItem.Chance < 95 && level > 4)
{
if (level >= 23 && GatheringManager.SwingsRemaining == 1)
{
return await tag.Cast(Ability.IncreaseGatherChanceOnce15);
}
return await tag.Cast(Ability.IncreaseGatherChance15);
}
if (Core.Player.CurrentGP >= 50 && tag.GatherItem.Chance < 100 && level > 3)
{
if (level >= 23 && GatheringManager.SwingsRemaining == 1)
{
return await tag.Cast(Ability.IncreaseGatherChanceOnce15);
}
return await tag.Cast(Ability.IncreaseGatherChance5);
}
return true;
}
示例5: DoRotation
private async Task<bool> DoRotation(ExGatherTag tag)
{
// 96-180 with min perception
// 138-259 with max perception
await tag.Cast(Ability.DiscerningEye);
await tag.Cast(Ability.InstinctualAppraisal);
if (CurrentRarity < 240)
{
var perception = Core.Player.Stats.Perception;
// Methodical range is 80-115
// Discerning methodical is 120-172
if (Core.Player.CurrentGP >= 200)
{
// TODO: not complete
}
await Methodical(tag);
}
await IncreaseChance(tag);
return true;
}
示例6: ExecuteRotation
public override async Task<bool> ExecuteRotation(ExGatherTag tag)
{
var level = Core.Player.ClassLevel;
if (GatheringManager.SwingsRemaining > 4 || ShouldForceUseRotation(tag, level))
{
if (Core.Player.CurrentGP >= 500 && level >= 40)
{
await tag.Cast(Ability.IncreaseGatherYield2);
return await base.ExecuteRotation(tag);
}
if (Core.Player.CurrentGP >= 400 && level >= 30 && (level < 40 || Core.Player.MaxGP < 500))
{
await tag.Cast(Ability.IncreaseGatherYield);
return await base.ExecuteRotation(tag);
}
if (Core.Player.CurrentGP >= 300 && level >= 25 && (level < 30 || Core.Player.MaxGP < 400))
{
await Wait();
if (!tag.GatherItem.TryGatherItem())
{
return false;
}
await tag.Cast(Ability.AdditionalAttempt);
return await base.ExecuteRotation(tag);
}
}
return true;
}
示例7: ExecuteRotation
public override async Task<bool> ExecuteRotation(ExGatherTag tag)
{
if (tag.IsUnspoiled())
{
await SingleMindMethodical(tag);
await SingleMindMethodical(tag);
await UtmostCaution(tag);
await Methodical(tag);
await UtmostCaution(tag);
await Methodical(tag);
}
else
{
if (Core.Player.CurrentGP >= 600)
{
await SingleMindMethodical(tag);
await SingleMindMethodical(tag);
await UtmostCaution(tag);
await Methodical(tag);
await UtmostCaution(tag);
await Methodical(tag);
return true;
}
await Impulsive(tag);
await Impulsive(tag);
await Methodical(tag);
}
return true;
}
示例8: ExecuteRotation
public override async Task<bool> ExecuteRotation(ExGatherTag tag)
{
if (Core.Player.CurrentGP >= 300 && GatheringManager.SwingsRemaining > 4)
{
await tag.Cast(Ability.IncreaseGatherQuality30);
await base.ExecuteRotation(tag);
if (tag.GatherItem.Chance == 100 && Core.Player.CurrentGP >= 300 && GatheringManager.SwingsRemaining == 5)
{
await Wait();
if (!tag.GatherItem.TryGatherItem())
{
return false;
}
await tag.Cast(Ability.AdditionalAttempt);
}
return true;
}
// Approx 30 gp or more between running to nodes, we are basically capped here so just use 100 gp
if (Core.Player.CurrentGP >= Core.Player.MaxGP - 30)
{
await tag.Cast(Ability.IncreaseGatherQuality10);
return true;
}
return true;
}
示例9: MoveToSpot
public override async Task<bool> MoveToSpot(ExGatherTag tag)
{
tag.StatusText = "Moving to " + this;
if (StealthLocation == Vector3.Zero)
{
return false;
}
var result =
await
StealthLocation.MoveTo(UseMesh,
radius: tag.Radius,
name: "Stealth Location",
stopCallback: tag.MovementStopCallback,
dismountAtDestination: true);
if (result)
{
await Coroutine.Yield();
await tag.CastAura(Ability.Stealth, AbilityAura.Stealth);
result =
await NodeLocation.MoveToNoMount(UseMesh, tag.Distance, tag.Node.EnglishName, tag.MovementStopCallback);
}
return result;
}
示例10: ExecuteRotation
public override async Task<bool> ExecuteRotation(ExGatherTag tag)
{
await Methodical(tag);
await IncreaseChance(tag);
return true;
}
示例11: ExecuteRotation
public override async Task<bool> ExecuteRotation(ExGatherTag tag)
{
if (Core.Player.CurrentGP >= 500)
{
await tag.Cast(Ability.IncreaseGatherYield2);
}
return await base.ExecuteRotation(tag);
}
示例12:
int IGetOverridePriority.GetOverridePriority(ExGatherTag tag)
{
if (tag.IsEphemeral() || tag.IsUnspoiled())
{
return -1;
}
return 8000;
}
示例13: ResolveInternalGatheringRotation
protected virtual IGatheringRotation ResolveInternalGatheringRotation(ExGatherTag tag)
{
if (tag.IsUnspoiled())
{
return ExGatherTag.Rotations["Unspoiled"];
}
return ExGatherTag.Rotations["RegularNode"];
}
示例14: ExecuteRotation
public override async Task<bool> ExecuteRotation(ExGatherTag tag)
{
if (Core.Player.ClassLevel > 50)
{
return await DoRotation(tag);
}
return await DoLevel50Rotation(tag);
}
示例15:
int IGetOverridePriority.GetOverridePriority(ExGatherTag tag)
{
if (tag.IsEphemeral() && tag.CollectableItem == null)
{
return 9100;
}
return -1;
}