Beispiel #1
0
            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;
            }
Beispiel #2
0
            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;
            }