Esempio n. 1
0
        protected override void OnEnterComplete(Actor self, Actor targetActor)
        {
            // Make sure the target hasn't changed while entering
            // OnEnterComplete is only called if targetActor is alive
            if (targetActor != enterActor)
            {
                return;
            }

            if (!CanEnterHut())
            {
                return;
            }

            if (enterLegacyHut != null)
            {
                enterLegacyHut.Repair(self);
            }
            else if (enterHut != null)
            {
                enterHut.Repair(enterActor, self);
            }

            Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", notification, self.Owner.Faction.InternalName);

            if (enterBehaviour == EnterBehaviour.Dispose)
            {
                self.Dispose();
            }
            else if (enterBehaviour == EnterBehaviour.Suicide)
            {
                self.Kill(self);
            }
        }
Esempio n. 2
0
 protected override void OnInside(Actor self)
 {
     if (hut.BridgeDamageState == DamageState.Undamaged || hut.Repairing || hut.Bridge.GetHut(0) == null || hut.Bridge.GetHut(1) == null)
     {
         return;
     }
     hut.Repair(self);
     self.Destroy();
 }
Esempio n. 3
0
        protected override void OnInside(Actor self)
        {
            if (hut.BridgeDamageState == DamageState.Undamaged || hut.Repairing || hut.Bridge.GetHut(0) == null || hut.Bridge.GetHut(1) == null)
            {
                return;
            }

            hut.Repair(self);

            Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", notification, self.Owner.Faction.InternalName);
        }