void TryGetNewPet(BaseNpc npcPet) { var ownedAi = npcPet.GetComponent <NpcAI>(); if (ownedAi != null && ownedAi.owner != this) { UserMessage(player, "isPet"); return; } if (nextControlTime >= UnityEngine.Time.realtimeSinceStartup) { UserMessage(player, "tooFast"); return; } if (usePermissions && !ins.permission.UserHasPermission(player.UserIDString, $"pets.{npcPet.ShortPrefabName}")) { UserMessage(player, "noPerms"); return; } nextControlTime = UnityEngine.Time.realtimeSinceStartup + tameTimer; npcAi = npcPet.gameObject.AddComponent <NpcAI>(); npcAi.owner = this; UserMessage(player, "petSet"); }
public NpcActorModule(BaseNpc Master) : base(Master) { Animation_ = new NpcAnimation(Master.GetComponent <Animator>()); Fsm_ = new BaseFsm(Master); Direction = NpcDirection.Right; }
private object CanNPCEat(BaseNpc entity, BaseEntity target) { NpcAI npcAi = entity.GetComponent <NpcAI>(); if (npcAi != null) { return(npcAi.action == Act.Eat); } return(null); }
private object CanAnimalAttack(BaseNpc entity, BasePlayer player) { NpcAI npcAi = entity.GetComponent <NpcAI>(); if (npcAi != null && npcAi.owner.player == player) { return(false); } return(null); }
object CanNpcAttack(BaseNpc entity, BaseEntity target) { var npcAi = entity.GetComponent <NpcAI>(); if (npcAi != null && target is BasePlayer && npcAi.owner.player == target as BasePlayer) { return(false); } return(null); }