private void Awake() { entity = GetComponent <BaseNpc>(); action = Act.Idle; targetIgnoreDistance = ins.configData.Options.AttackDistance; healthModifier = ins.configData.NPCMods.Health; speedModifier = ins.configData.NPCMods.Speed; attackModifier = ins.configData.NPCMods.Attack; nextMessageTime = UnityEngine.Time.realtimeSinceStartup; inventory = new ItemContainer(); inventory.ServerInitialize(null, 6); if ((int)inventory.uid == 0) { inventory.GiveUID(); } entity.enableSaving = false; BaseEntity.saveList.Remove(entity); entity.InitializeHealth(entity.Health() * healthModifier, entity.MaxHealth() * healthModifier); entity.AttackDamage *= attackModifier; entity.Stats.TurnSpeed *= speedModifier; entity.Stats.Speed *= speedModifier; }
private void OnDestroy() { DropUtil.DropItems(inventory, transform.position); owner.npcAi = null; if (entity.health <= 0) { return; } entity.InitializeHealth(entity.Health() / healthModifier, entity.MaxHealth() / healthModifier); entity.AttackDamage /= attackModifier; entity.Stats.TurnSpeed /= speedModifier; entity.Stats.Speed /= speedModifier; }