ModernUO/Projects/UOContent/Mobiles/BT/BehaviorMageCombatNodeSet.cs
Leath Cooper 3f309edffb asdfa
2021-09-11 20:12:32 -04:00

34 lines
1.4 KiB
C#

using System;
using Server.Items;
namespace Server.Mobiles.BT
{
public class BehaviorMageCombatNodeSet : OwnerConditionNode
{
public BehaviorMageCombatNodeSet(BehaviorTree tree)
: base(tree, canActivate)
{
AddChild(
new SelectorNode(tree)
.AddChild(new TapNode(tree, (mob, board) => { mob.CurrentSpeed = mob.ActiveSpeed; }))
.AddChild(new CooldownNode(tree, TimeSpan.FromSeconds(0.5), new InverterNode(tree, new KeepRangeNode(tree, 1, 3))))
/*
.AddChild(new MageDebuffNode(tree))
.AddChild(new MageComboNode(tree))
.AddChild(new OwnerConditionNode(tree, (mob, board) => mob.Poison != null, new CureSelfNode(tree, TimeSpan.FromSeconds(6.0))))
.AddChild(new OwnerConditionNode(tree, (mob, board) => mob.HitsMax - mob.Hits >= 40, new HealSelfNode(tree, TimeSpan.FromSeconds(6.0))))
.AddChild(new OwnerConditionNode(tree, shouldMeditate, new MeditateNode(tree, 75)))
*/
);
}
private static bool canActivate(BaseCreature mob, Blackboard board)
{
return mob.Combatant != null && !mob.Combatant.Deleted;
}
private static bool shouldMeditate(BaseCreature mob, Blackboard board)
{
return mob.Mana <= 30 || (mob.Meditating && mob.Mana < 75);
}
}
}