using System; public class DialogRequirementHasPackage : BaseDialogRequirement { // // public override bool CheckRequirement(EntityPlayer player, EntityNPC talkingTo) { var entityId = 0; if (player.Buffs.HasCustomVar("CurrentNPC")) entityId = (int)player.Buffs.GetCustomVar("CurrentNPC"); var myEntity = player.world.GetEntity(entityId) as EntityAlive; if (myEntity == null) return false; bool useAIPackages = EntityClass.list[myEntity.entityClass].UseAIPackages; if (!useAIPackages) return false; var result = false; // Check if we want a reverse condition var package = Value; if (package.StartsWith("!")) package = package.Replace("!", ""); foreach (var availablePackage in myEntity.AIPackages) { if (availablePackage.ToLower() == package.ToLower()) { result = true; break; } } // Flip the resultant if (Value.Contains("!")) return !result; return result; } }