예제 #1
0
        public void ChangeWeapon(int WeaponIndex)
        {
            if (WeaponIndex == -1)//Unequip weapon
            {
                foreach (WeaponBase ActiveWeapon in PrimaryWeapons.ActiveWeapons)
                {
                    RemovePartialAnimation(ActiveWeapon.GetAnimationName(ActiveMovementStance));
                }

                PrimaryWeapons.RemoveAllActiveWeapons();
                PrimaryWeapons.UseWeapon(CurrentStanceAnimations);
            }
            else
            {
                string WeaponName = PrimaryWeapons.GetWeaponName(WeaponIndex);
                PrimaryWeapons.RemoveAllActiveWeapons();
                PrimaryWeapons.UseWeapon(WeaponName);
                WeaponBase WeaponToUse = PrimaryWeapons.GetWeapon(WeaponName);

                WeaponToUse.CurrentAnimation = null;
                WeaponToUse.ResetAnimation(ActiveMovementStance);
                WeaponToUse.InitiateFollowingAttack(true, ActiveMovementStance, this);

                if (WeaponToUse.CurrentAnimation == null)
                {
                    ActivatePartialWeapon(WeaponToUse, WeaponToUse.GetAnimationName(ActiveMovementStance));
                }
            }
        }
예제 #2
0
        public void HolsterAndReplaceWeapon(WeaponBase WeaponToUse)
        {
            foreach (WeaponBase ActiveWeapon in PrimaryWeapons.ActiveWeapons)
            {
                RemovePartialAnimation(ActiveWeapon.GetAnimationName(ActiveMovementStance));
            }

            PrimaryWeapons.HolsterAllActiveWeapons();
            PrimaryWeapons.UseWeapon(WeaponToUse);

            WeaponToUse.CurrentAnimation = null;
            WeaponToUse.ResetAnimation(ActiveMovementStance);
            WeaponToUse.InitiateFollowingAttack(true, ActiveMovementStance, this);

            if (WeaponToUse.CurrentAnimation == null)
            {
                ActivatePartialWeapon(WeaponToUse, WeaponToUse.GetAnimationName(ActiveMovementStance));
            }
        }
예제 #3
0
        public void EquipWeapon(string WeaponToEquipName)
        {
            WeaponBase NewWeapon;
            string     WeaponPath = Name + "/Weapons/" + WeaponToEquipName;

            if (!File.Exists("Content/Triple Thunder/Weapons/" + WeaponPath + ".ttw"))
            {
                WeaponPath = Name + "/Grenades/" + WeaponToEquipName;
            }

            if (CurrentLayer == null)
            {
                NewWeapon = WeaponBase.CreateFromFile(Name, WeaponPath, false, null, null, null);
            }
            else
            {
                NewWeapon = WeaponBase.CreateFromFile(Name, WeaponPath, false, CurrentLayer.DicRequirement, CurrentLayer.DicEffect, CurrentLayer.DicAutomaticSkillTarget);
            }

            NewWeapon.WeaponName = WeaponToEquipName;
            NewWeapon.Load(Content);
            PrimaryWeapons.AddWeaponToStash(NewWeapon);

            ChangeWeapon(0);

            WeaponBase WeaponToUse = PrimaryWeapons.GetWeapon(WeaponPath);

            WeaponToUse.CurrentAnimation = null;
            WeaponToUse.ResetAnimation(ActiveMovementStance);

            WeaponToUse.InitiateFollowingAttack(true, ActiveMovementStance, this);

            if (WeaponToUse.CurrentAnimation == null)
            {
                ActivatePartialWeapon(WeaponToUse, WeaponToUse.GetAnimationName(ActiveMovementStance));
            }
        }