예제 #1
0
 private IEnumerator KontrolEt()
 {
     for (;;)
     {
         using (List <SteamPlayer> .Enumerator enumerator = (from e in Provider.clients
                                                             where !this.woundeds.Any((Wounded c) => c.Id == e.playerID.steamID)
                                                             select e).ToList <SteamPlayer>().GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 SteamPlayer item    = enumerator.Current;
                 Wounded     wounded = this.woundeds.FirstOrDefault((Wounded e) => e.driftingMember != item.playerID.steamID && e.improveDoctor != item.playerID.steamID && Vector3.Distance(UnturnedPlayer.FromCSteamID(e.Id).Position, item.player.transform.position) <= this.Configuration.Instance.yaralıGörünümüMesafesi);
                 if (wounded != null)
                 {
                     EffectManager.sendUIEffect(51001, 995, item.playerID.steamID, true, "YARALI", "Yerde yaralı birisi var " + UnturnedPlayer.FromCSteamID(wounded.Id).DisplayName);
                 }
                 else
                 {
                     EffectManager.askEffectClearByID(51001, item.playerID.steamID);
                 }
             }
         }
         yield return(new WaitForSeconds(1f));
     }
     yield break;
 }
예제 #2
0
 public void Connect(UnturnedPlayer player, UnturnedPlayer drifter, Wounded wounded, bool active)
 {
     this.player  = player;
     this.drifter = drifter;
     this.wounded = wounded;
     this.active  = active;
 }
예제 #3
0
        public void Apply_NotACharacter_Test()
        {
            var entity  = Mock.Of <IEntity>();
            var wounded = new Wounded(1);

            wounded.Apply(entity);
            Assert.IsTrue(true); // If we made it here without exception then the test passed
        }
예제 #4
0
        public void Remove_NoConditions_Test()
        {
            var character = CreateMockCharacter();
            var wounded   = new Wounded(1);

            wounded.Apply(character);
            wounded.Remove(character);
            Assert.AreEqual(0, character.Conditions.Count);
        }
예제 #5
0
        public void Apply_Character_WithExistingWoundedCondition_Test()
        {
            var character = CreateMockCharacter();

            character.Conditions.Add(new Wounded(1));
            var wounded = new Wounded(1);

            wounded.Apply(character);
        }
예제 #6
0
 public void Connect(UnturnedPlayer player, UnturnedPlayer doctor, Wounded wounded, bool active, float canlandirmaSuresi)
 {
     this.player              = player;
     this.doctor              = doctor;
     this.wounded             = wounded;
     this.active              = active;
     this.startTime           = DateTime.Now;
     this.canlandirilacakSure = canlandirmaSuresi;
 }
예제 #7
0
        public void Apply_Character_NoConditions_Test()
        {
            var character = CreateMockCharacter();
            var wounded   = new Wounded(1);

            wounded.Apply(character);
            Assert.AreEqual(EntityIds.WOUNDED_CONDITION_ID, character.Conditions[0].Id);
            Assert.AreSame(wounded, character.Conditions[0]);
            Assert.AreEqual(ConditionGroup.DeathAndDying, character.Conditions[0].Group);
        }
예제 #8
0
    private void Start()
    {
        input = new PlayerInput();

        //status
        isMelee = false;
        isDead  = false;

        OnWounded += TakeDamage;
    }
예제 #9
0
    private void Start()
    {
        wounds     = maxWounds;
        isDead     = false;
        OnWounded += TakeDamage;
        OnDeath   += RollDrops;

        Krieger.instance.OnDeath += Freeze;

        InitializeStateMachine();
    }
예제 #10
0
        public void Remove_WithExistingWoundedCondition_Test()
        {
            var character = CreateMockCharacter();
            var wounded   = new Wounded(1);

            wounded.Apply(character);
            var dying = new Dying(1);

            dying.Apply(character);
            dying.Remove(character);
            Assert.AreEqual(1, character.Conditions.Count);
            Assert.AreEqual(2, character.Conditions.First(c => c.Id == wounded.Id).Level);
        }
예제 #11
0
        public void Apply_Character_WithExistingWoundedCondition_Test()
        {
            var character = CreateMockCharacter();
            var wounded   = new Wounded(1);

            wounded.Apply(character);
            var dying = new Dying(1);

            dying.Apply(character);
            Assert.AreEqual(2, character.Conditions.First(c => c.Id == dying.Id).Level);
            Assert.AreEqual(1, character.Conditions.First(c => c.Id == wounded.Id).Level);
            Assert.AreEqual(ConditionGroup.DeathAndDying, character.Conditions[0].Group);
        }
예제 #12
0
 public void GetHit(object sender, DamageEventArgs args)
 {
     if (args.BodyPart == _blocked)
     {
         Blocked?.Invoke(this,
                         new FighterEventArgs(HealthPoints, Name));
     }
     else
     {
         HealthPoints -= args.Damage;
         if (!Dead)
         {
             Wounded?.Invoke(this, args);
         }
     }
 }
예제 #13
0
    /// <summary>
    /// This generates the conditions of the new cow
    /// </summary>
    private void GenerateConditions()
    {
        //:TODO: add individual variation into fuzzy distributions

        // Wellness - Physical conditions
        m_Pain    = new Pain(this);
        m_Sick    = new Sick(this);
        m_Wounded = new Wounded(this);
        m_Damage  = new Damage(this);
        m_Tired   = new Tired(this);
        m_Hungry  = new Hungry(this);
        m_Thirsty = new Thirsty(this);
        m_Dead    = new Dead(this);

        // Contentment - Mental conditions
        m_Anger  = new Angry(this);
        m_Sleepy = new Sleepy(this);
        m_Scared = new Scared(this);
        m_Bored  = new Bored(this);
        m_Lonely = new Lonely(this);
        m_Happy  = new Happy(this);
        m_Eager  = new Eager(this);
    }
예제 #14
0
        // Token: 0x0600000B RID: 11 RVA: 0x000027B0 File Offset: 0x000009B0
        public void Yarala(UnturnedPlayer player)
        {
            if (this.woundeds.Any((Wounded e) => e.Id == player.CSteamID))
            {
                return;
            }
            Wounded wounded = new Wounded(player.CSteamID, true, DateTime.Now);

            this.woundeds.Add(wounded);
            player.Player.movement.sendPluginSpeedMultiplier(0f);
            player.Player.equipment.dequip();
            byte    b;
            Vector3 vector;
            byte    b2;

            if (player.CurrentVehicle)
            {
                player.CurrentVehicle.forceRemovePlayer(out _, player.CSteamID, out _, out _);
            }
            if (player.Bleeding && base.Configuration.Instance.yereDüştüğündeKanamaDurdur)
            {
                player.Bleeding = false;
            }
            if (base.Configuration.Instance.yereDüştüğündeKanamaBaşlat)
            {
                player.Bleeding = true;
            }
            if (base.Configuration.Instance.yereDüştüğündeBacakKırıl)
            {
                player.Broken = true;
            }
            if (player.CurrentVehicle != null)
            {
                player.CurrentVehicle.forceRemovePlayer(out _, player.CSteamID, out _, out _);
            }
            player.Player.gameObject.AddComponent <WoundedManager>().Connect(player, wounded, true);
        }
예제 #15
0
 private void DoktorKontorlü(UnturnedPlayer player, UnturnedPlayerEvents.PlayerGesture gesture)
 {
     if (!this.woundeds.Any <Wounded>())
     {
         return;
     }
     if (gesture == UnturnedPlayerEvents.PlayerGesture.SurrenderStart && player.Stance == EPlayerStance.CROUCH && player.HasPermission(base.Configuration.Instance.taşımaYetkisi))
     {
         Wounded wounded = this.woundeds.FirstOrDefault((Wounded e) => e.Id != player.CSteamID && !e.drifting && !e.improve && Vector3.Distance(player.Position, UnturnedPlayer.FromCSteamID(e.Id).Position) <= 5f);
         if (wounded != null)
         {
             wounded.drifting       = true;
             wounded.driftingMember = player.CSteamID;
             UnturnedPlayer unturnedPlayer = UnturnedPlayer.FromCSteamID(wounded.Id);
             unturnedPlayer.Player.gameObject.AddComponent <DriftingManager>().Connect(unturnedPlayer, player, wounded, true);
             UnturnedChat.Say(player, "Taşımaya başladın.");
             return;
         }
     }
     if (gesture != UnturnedPlayerEvents.PlayerGesture.SurrenderStart && this.woundeds.Any((Wounded e) => e.driftingMember == player.CSteamID) && player.HasPermission(base.Configuration.Instance.taşımaYetkisi))
     {
         Wounded wounded2 = this.woundeds.FirstOrDefault((Wounded e) => e.Id != player.CSteamID && e.driftingMember == player.CSteamID);
         if (wounded2 == null)
         {
             return;
         }
         wounded2.drifting       = false;
         wounded2.driftingMember = CSteamID.Nil;
         UnturnedChat.Say(player, "Taşımayı bıraktın.");
         return;
     }
     else if (gesture == UnturnedPlayerEvents.PlayerGesture.SurrenderStart && player.HasPermission(base.Configuration.Instance.canlandirmaYetkisi))
     {
         Wounded wounded3 = this.woundeds.FirstOrDefault((Wounded e) => e.Id != player.CSteamID && !e.improve && Vector3.Distance(player.Position, UnturnedPlayer.FromCSteamID(e.Id).Position) <= 5f);
         if (wounded3 == null)
         {
             return;
         }
         wounded3.improve       = true;
         wounded3.improveDoctor = player.CSteamID;
         float canlandirmaSuresi = base.Configuration.Instance.canlandırmaSüresi;
         if (player.HasPermission(base.Configuration.Instance.doktorYetkisi))
         {
             canlandirmaSuresi = base.Configuration.Instance.doktorCanlandirmaSüresi;
         }
         UnturnedPlayer unturnedPlayer2 = UnturnedPlayer.FromCSteamID(wounded3.Id);
         unturnedPlayer2.Player.gameObject.AddComponent <UpManager>().Connect(unturnedPlayer2, player, wounded3, true, canlandirmaSuresi);
         UnturnedChat.Say(player, "İyileştirmeye başladın.");
         return;
     }
     else
     {
         if (gesture == UnturnedPlayerEvents.PlayerGesture.SurrenderStart || !player.HasPermission(base.Configuration.Instance.canlandirmaYetkisi) || !this.woundeds.Any((Wounded e) => e.improveDoctor == player.CSteamID))
         {
             return;
         }
         Wounded wounded4 = this.woundeds.FirstOrDefault((Wounded e) => e.Id != player.CSteamID && e.improveDoctor == player.CSteamID);
         if (wounded4 == null)
         {
             return;
         }
         wounded4.improve       = false;
         wounded4.improveDoctor = CSteamID.Nil;
         UnturnedChat.Say(player, "İyileştirmeyi bıraktın.");
         return;
     }
 }
예제 #16
0
        public void ChangeLevel_OutOfRange_Test()
        {
            var wounded = new Wounded(1);

            wounded.Level--;
        }