Наследование: MonoBehaviour
        public virtual GameObject CreateFist(string name = "Fist")
        {
            GameObject fistObject = new GameObject
            {
                name = name
            };

            BoxCollider boxCollider = fistObject.AddComponent <BoxCollider>();

            boxCollider.center    = new Vector3(0, 0, 0.06f);
            boxCollider.size      = new Vector3(0.17f, 0.24f, 0.22f);
            boxCollider.isTrigger = true;

            Melee meleeObject = fistObject.AddComponent <Melee>();

            meleeObject.Type     = WeaponType.Fist;
            meleeObject.Damage   = 20;
            meleeObject.Cooldown = 0.5f;
            meleeObject.DamageResponseWaitTime = 0;

            CreateObjectAtTransform(fistObject, StaticStrings.aim_transform_key);
            CreateObjectAtTransform(fistObject, StaticStrings.aim_left_hand_transform_key);
            CreateObjectAtTransform(fistObject, StaticStrings.model_transform_key);
            CreateObjectAtTransform(fistObject, StaticStrings.tall_cover_left_transform_key);
            CreateObjectAtTransform(fistObject, StaticStrings.tall_cover_right_transform_key);
            CreateObjectAtTransform(fistObject, StaticStrings.low_cover_left_transform_key);
            CreateObjectAtTransform(fistObject, StaticStrings.low_cover_right_transform_key);

            return(fistObject);
        }
Пример #2
0
 // On Main Camera
 void Awake()
 {
     S = this;
     reflectorSword = transform.GetChild(0).gameObject; // As log as sword is child on camera, is this a good idea? :(
     anim           = reflectorSword.GetComponent <Animator>();
     //animation = reflectorSword.GetComponent<Animation>();
 }
Пример #3
0
    protected override void Start()
    {
        m_line = GetComponent <LineRenderer>();
        //m_agent = GetComponent<NavMeshAgent>();
        //m_audioSource = GetComponent<AudioSource>();
        //m_enemyAnimator = GetComponentInChildren<Animator>();
        m_stateMachine = new StateMachine <AI>(this);
        m_stateMachine.ChangeState(new FindCover());
        m_state                = STATE.FINDCOVER;
        m_coverChance          = 50f;
        m_peekChance           = 50f;
        m_relativeCoverChance  = m_coverChance;
        m_relativePeekChance   = m_peekChance;
        m_seekChance           = 0f;;
        m_relativeToSeekChance = (100f - m_seekChance) / 100f;
        m_stateCounter         = 0;
        //m_timerBetweenShots = m_timeBeforeShootCover;
        //m_timerBeforeGlint = m_timeBeforeGlintCover;
        m_choice = Random.Range(0f, 100f);

        if (m_weaponController.GetEquippedGun() != null)
        {
            m_gun = m_weaponController.GetEquippedGun();
            m_gun.SetInfiniteAmmo(true);
        }
        else if (m_weaponController.GetEquippedMelee() != null)
        {
            m_melee = m_weaponController.GetEquippedMelee();
        }

        base.Start();
    }
Пример #4
0
        static void Main(string[] args)
        {
            Console.WriteLine("input weapon type");
            Console.WriteLine("1 - Melee");
            Console.WriteLine("2 - Ranged");
            Console.WriteLine("3 - Magic");
            Console.WriteLine();

            ConsoleKeyInfo MeleeMenu;

            MeleeMenu = Console.ReadKey();

            if (MeleeMenu.Key == ConsoleKey.D1)
            {
                Console.WriteLine("input base melee damage");
                Console.WriteLine();
                int userBD = int.Parse(Console.ReadLine());
                Console.WriteLine();
                Console.WriteLine("input base melee range");
                Console.WriteLine();
                int userBR = int.Parse(Console.ReadLine());
                Console.WriteLine();
                Console.WriteLine("input base melee crit damage");
                Console.WriteLine();
                int userBCD = int.Parse(Console.ReadLine());
                Console.WriteLine();
                Melee newMelee = new Melee(userBD, userBR, userBCD, 85);
                Console.WriteLine();
                string meleeResult = newMelee.meleeAttack();
                Console.WriteLine(meleeResult);
            }
        }
Пример #5
0
 private void OnFrameEnter(int frameIndex, int frameValue)
 {
     if (frameIndex == 2)
     {
         Melee.DoAttack();
     }
 }
Пример #6
0
        public static void AddNewSkladStorage(string NameFaction)
        {
            const int Pistols  = 1000;
            const int Rifle    = 1000;
            const int SMG      = 1500;
            const int Shotgun  = 2500;
            const int Melee    = 2500;
            const int Armor    = 2500;
            const int Medicals = 2500;

            switch (NameFaction)
            {
            case "Start":

                Dictionary <string, string> parametersStatr = new Dictionary <string, string>
                {
                    { "@NameFaction", NameFaction },
                    { "@Pistols", Pistols.ToString() },
                    { "@Rifle", Rifle.ToString() },
                    { "@SMG", SMG.ToString() },
                    { "@Shotgun", Shotgun.ToString() },
                    { "@Melee", Melee.ToString() },
                    { "@Armor", Armor.ToString() },
                    { "@Medicals", Medicals.ToString() }
                };

                DataTable resultStatr = Database.ExecutePreparedStatement("INSERT INTO sklad_faction_storages (NameFaction, Pistols, Rifle, SMG, Shotgun, Melee, Armor, Medicals) " +
                                                                          DatabaseValues, parametersStatr);

                break;
            }
        }
Пример #7
0
    public HashSet <Tile> GetAvailableTargets(Tile tile)
    {
        HashSet <Tile> h = new HashSet <Tile>(Melee.StaticGetTiles(tile));

        h.UnionWith(IncreasedRange.StaticGetTiles(tile));
        return(h);
    }
Пример #8
0
        public static LangMap GetWeaponsOfType(string targetFile, WeaponType weaponType, IndexOrId by)
        {
            var weaponClassType = weaponType.ToClassType();
            var weaponTypeName  = Path.GetFileNameWithoutExtension(weaponType.ToDatFileName());
            var values          = new LangMap();

            IEnumerable <IWeapon> weapons;

            if (weaponClassType == typeof(Melee))
            {
                weapons = Melee.LoadData(targetFile).GetSingleStructList();
            }
            else if (weaponClassType == typeof(Ranged))
            {
                weapons = Ranged.LoadData(targetFile).GetSingleStructList();
            }
            else
            {
                throw new InvalidOperationException($"Unrecognized weapon type: {weaponClassType.Name}");
            }

            foreach (var weapon in weapons)
            {
                foreach (var lang in Global.LANGUAGES)
                {
                    if (!values.ContainsKey(lang))
                    {
                        values[lang] = new Dictionary <uint, string>();
                    }

                    values[lang][(uint)(by == IndexOrId.Id ? weapon.Id : weapon.Index)] = DataHelper.weaponData[lang][weaponTypeName ?? throw new InvalidOperationException()][weapon.GMD_Name_Index];
Пример #9
0
    protected override AttackMode GetAttackMode()
    {
        PhysicalAttack p = new PhysicalAttack(DesignFilter());
        Melee          m = new Melee();

        return(new AttackMode(p, m));
    }
Пример #10
0
    public HashSet <Tile> GetAvailableTargets(Tile tile)
    {
        Unit           host   = GetComponent <Unit>();
        HashSet <Tile> retVal = new HashSet <Tile>();

        if (host == null)
        {
            Debug.LogError("host not found for Cure");
        }
        else
        {
            foreach (Tile t in Melee.StaticGetTiles(tile))
            {
                if (t.isOccuppied && !host.isHostile(t.Unit))
                {
                    retVal.Add(t);
                }
            }
            foreach (Tile t in IncreasedRange.StaticGetTiles(tile))
            {
                if (t.isOccuppied && !host.isHostile(t.Unit))
                {
                    retVal.Add(t);
                }
            }
        }
        return(retVal);
    }
Пример #11
0
        private static Melee ParseMeleeCombatData(XElement element)
        {
            Melee melee = new Melee();

            if (element.Attribute("min") is XAttribute minAttribute)
            {
                melee.Min = short.Parse(minAttribute.Value);
            }

            if (element.Attribute("max") is XAttribute maxAttribute)
            {
                melee.Max = short.Parse(maxAttribute.Value);
            }

            if (element.Attribute("skill") is XAttribute skillAttribute)
            {
                melee.Skill = byte.Parse(skillAttribute.Value);
            }

            if (element.Attribute("attack") is XAttribute attackAttribute)
            {
                melee.Attack = ushort.Parse(attackAttribute.Value);
            }

            return(melee);
        }
Пример #12
0
    public override void EvaluateAttack()
    {
        if (character is Hero)
        {
            bool canAttackEnemy = false;

            if (IsInAttackRange())
            {
                canAttackEnemy = true;
            }
            else if (character.currentTarget != null)
            {
                Melee enemyMelee = character.currentTarget.GetComponent <Melee>();
                if (enemyMelee)
                {
                    canAttackEnemy = enemyMelee.canAttackHero();
                }
            }

            Game.game.inflictDamage(character.currentTarget, this, (float)character.getCriticalPoints() / 100.0f, !canAttackEnemy);

            if (canAttackEnemy)
            {
                character.currentTarget.onAttackFrom(character, this);
            }
            else
            {
                (character as Hero).abortAttackChain = true;
            }
        }
    }
Пример #13
0
 private void Awake()
 {
     meleeRef = GetComponentInChildren <Melee>();
     ability1 = Resources.Load("Prefabs/Abilities/Ability1_Starshot") as GameObject;
     ability2 = Resources.Load("Prefabs/Abilities/Ability2_RadiantSun") as GameObject;
     ability3 = Resources.Load("Prefabs/Abilities/Ability3_SpatialSuspension") as GameObject;
     ability4 = Resources.Load("Prefabs/Abilities/Ability4_Ascension") as GameObject;
 }
            public Firebat()
            {
                name           = "Firebat";
                moveBehavior   = new OnFoot();
                attackBehavior = new Melee();

                Debug.Log(string.Format("{0} is created.", name));
            }
Пример #15
0
    public override void Enter()
    {
        melee = GetComponent <Melee>();
        melee.enemy_animator.SetBool("Run", true);
        melee.enemy_navmesh.speed = melee.speed * 2;

        timer = 0;
    }
Пример #16
0
 // Use this for initialization
 void Start()
 {
     _animator        = GetComponent <Animator>();
     _rigidbody       = GetComponent <Rigidbody>();
     _spawnerMaster   = GameObject.FindGameObjectWithTag("SpawnerMaster").GetComponent <SpawnerMaster>();
     _playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
     _playerMelee     = GameObject.FindGameObjectWithTag("Player").GetComponent <Melee>();
     _health          = MaxHealth;
 }
Пример #17
0
 // Start is called before the first frame update
 new void Start()
 {
     base.Start();
     base.TowerPosition    = gameObject.transform.position;
     CurrentUnit           = Instantiate(Unit, new Vector3(TowerPosition.x + 20, TowerPosition.y, TowerPosition.z), new Quaternion(0, 0, 0, 0));
     CurrentUserStat       = CurrentUnit.GetComponent(typeof(Melee)) as Melee;
     CurrentUserStat.speed = 0f;
     AttackTimer           = coolDown;
 }
Пример #18
0
    public override void Enter()
    {
        melee           = GetComponent <Melee>();
        distanceToPoint = 1.0f;

        melee.enemy_animator.SetTrigger("Walk");
        AssignRandom();
        melee.enemy_navmesh.speed = melee.speed;
    }
Пример #19
0
    private void CreateMelee(Melee.Target meleeTarget, Sprite meleeSprite, float offset)
    {
        Melee newMelee = Instantiate(_meleePrefab);

        newMelee.OnActivate        += OnCardChosen;
        newMelee.transform.position = _meleePosition.position + new Vector3(offset, 0, 0);
        newMelee.transform.SetParent(transform);
        newMelee.Initialize(meleeSprite, meleeTarget, _meleeBaseDamage, _meleeBaseStaminaCost);
        _meleeActions.Add(newMelee);
    }
Пример #20
0
    //SetFriendParty setScript;

    void Awake()
    {
        cameraScript     = GetComponent <ThirdPersonCameraNET>();
        controllerScript = GetComponent <ThirdPersonControllerNET>();
        healthScript     = GetComponentInChildren <Health>();
        scoreScript      = GetComponent <Highscore>();
        meleeScript      = GetComponentInChildren <Melee>();
        dmgScript        = GetComponent <Damage>();
        // setScript = GetComponent<SetFriendParty>();
    }
Пример #21
0
    private void CreateNoMelee(float offset)
    {
        Melee newMelee = Instantiate(_meleePrefab);

        newMelee.OnActivate        += OnCardChosen;
        newMelee.transform.position = _meleePosition.position + new Vector3(offset, 0, 0);
        newMelee.transform.SetParent(transform);
        newMelee.Initialize(_meleeSprites.Last(), Melee.Target.NONE, 0, 0);
        _meleeActions.Add(newMelee);
    }
Пример #22
0
        public override int GetHashCode()
        {
            var hashCode = -1014974063;

            hashCode = hashCode * -1521134295 + Health.GetHashCode();
            hashCode = hashCode * -1521134295 + Stamina.GetHashCode();
            hashCode = hashCode * -1521134295 + Weight.GetHashCode();
            hashCode = hashCode * -1521134295 + Melee.GetHashCode();
            hashCode = hashCode * -1521134295 + Speed.GetHashCode();
            return(hashCode);
        }
Пример #23
0
    protected override void ShootLogic()
    {
        base.ShootLogic();

        GameObject go = Instantiate(projectilePrefab,
                                    firingPoint.transform.position,
                                    transform.rotation);
        Melee melee = go.GetComponent <Melee>();

        melee.Init(player.playerNumber, damage, duration);
    }
Пример #24
0
    //   [SerializeField] private UnityEngine.UI.Text text2;

    void Start()
    {
        var q = MeleeWeaponUpdator.Initialise();
        var a = new Melee();

        Debug.Log(q.Update(a.GetType()).GetType().Name);

        var b = new Class1();

        Debug.Log(q.Update(b.GetType()).GetType().Name);
    }
Пример #25
0
    public override void Enter()
    {
        melee = GetComponent <Melee>();

        melee.enemy_navmesh.isStopped = true;
        timer = 0;

        melee.directionAttack = (melee.enemy_navmesh.transform.position - melee.player.transform.position).normalized;

        melee.enemy_animator.enabled = false;
    }
Пример #26
0
    private void Start()
    {
        renderer = GetComponent <SpriteRenderer>();
        melee    = GetComponent <Melee>();

        pos = transform.localPosition;

        isSwinging    = false;
        reachedMiddle = true;

        offset = new Vector3();
    }
Пример #27
0
Файл: aToI.cs Проект: zTBBz/aToI
        public static bool PlayfieldObject_FindDamage(PlayfieldObject __instance, PlayfieldObject damagerObject, ref bool generic)
        {
            if (!__instance.isAgent || !damagerObject.isMelee)
            {
                return(true);
            }

            Agent ag = (Agent)__instance;
            Melee me = damagerObject.playfieldObjectMelee;

            if (me.agent != ag && me.invItem.invItemName == "CupOfMoltenChocolate" && !ag.statusEffects.hasStatusEffect("Invincible"))
            {
                me.invItem.database.SubtractFromItemCount(me.invItem, 1);

                ag.knockedOut = ag.knockedOutLocal = true;
                __instance.gc.tileInfo.DirtyWalls();
                ag.lastHitByAgent       = ag.justHitByAgent2 = me.agent;
                ag.healthBeforeKnockout = ag.health;

                ag.deathMethodItem = ag.deathMethodObject = ag.deathMethod = me.invItem.invItemName;
                ag.deathKiller     = me.agent.agentName;

                ag.statusEffects.ChangeHealth(-200f);
                ag.tranqTime = 0;
                string rel = ag.relationships.GetRel(me.agent);
                if (rel != "Aligned" && rel != "Submissive")
                {
                    ag.relationships.SetRel(me.agent, "Hateful");
                    ag.dead = false;
                    ag.relationships.SetRelHate(me.agent, 5);
                    ag.dead = true;
                }

                return(false);
            }
            else if (me.invItem.contents.Exists(c => c.StartsWith("Sharpened:")))
            {
                string sharpenedStr = me.invItem.contents.Find(c => c.StartsWith("Sharpened:"));
                string numStr       = sharpenedStr.Substring("Sharpened:".Length);
                int    num          = int.Parse(numStr);
                me.invItem.contents.Remove(sharpenedStr);
                if (--num > 0)
                {
                    me.invItem.contents.Add("Sharpened:" + num);
                }
                generic = true;

                ag.relationships.SetRel(me.agent, "Hateful");
                ag.relationships.SetRelHate(me.agent, 50);
            }
            return(true);
        }
 //destroys any currently equipped weapon and equips a new melee weapon
 public void EquipMelee(Melee a_meleeToEquip)
 {
     if (EquippedGun != null)
     {
         Destroy(EquippedGun.gameObject);
     }
     else if (EquippedMelee != null)
     {
         Destroy(EquippedMelee.gameObject);
     }
     EquippedMelee = Instantiate(a_meleeToEquip, WeaponHold) as Melee;
     EquippedMelee.transform.parent = WeaponHold;
 }
Пример #29
0
    public HashSet <Tile> GetAvailableTargets(Tile tile)
    {
        Unit           host   = GetComponent <Unit>();
        HashSet <Tile> retVal = new HashSet <Tile>();

        foreach (Tile t in Melee.StaticGetTiles(tile))
        {
            if (t.isOccuppied && host.isHostile(t.Unit) && !t.Unit.invisible)
            {
                retVal.Add(t);
            }
        }
        return(retVal);
    }
        public virtual void SetupMelee()
        {
            Melee      melee       = weapon_prefab.GetComponent <Melee>();
            MeleeStats melee_stats = weapon_scriptable.melee_stats;

            if (melee == null)
            {
                melee = weapon_prefab.AddComponent <Melee>();
            }
            melee.Type     = melee_stats.Type;
            melee.Damage   = melee_stats.Damage;
            melee.Cooldown = melee_stats.Cooldown;
            melee.DamageResponseWaitTime = melee_stats.DamageResponseWaitTime;
        }
Пример #31
0
	void Start(){
		melee = transform.root.GetComponent<Melee>();
	}
Пример #32
0
	protected Melee (Melee other) : base(other)
	{
		this.Exhaustion = other.Exhaustion;
	}
Пример #33
0
    protected override void Awake()
    {
        base.Awake ();

        if(stat != null) {
            stat.hpChangeCallback += OnHPChange;
        }

        if(entMove != null) {
            entMove.onDirXChange += onDirXChange;
        }

        //projectiles within enemies are considered melees
        //default off
        mMelee = GetComponentInChildren<EnemyProjectile>();
        meleeMode = Melee.Off;
    }
	// Use this for initialization
	void Awake () {
		meleeCheck = GetComponent<Melee>();
		isMeleeing = GetComponent<MeleewithoutNetwork> ();
	}
Пример #35
0
    protected override void StateChanged()
    {
        switch(state) {
        case State.spawning:
            meleeMode = Melee.Off;

            if(mMelee != null) {
                mMelee.transform.localScale = Vector3.one;
            }
            break;

        case State.die:
            Blink(dieDelay);

            Giblet.Generate(transform.position, numGiblets, Random.Range(gibletMinScale, gibletMaxScale));
            break;
        }
    }
Пример #36
0
    // Use this for initialization
    void Start()
    {
        rb2d = this.gameObject.GetComponent<Rigidbody2D>();
        anim = this.gameObject.GetComponent<Animator>();
        audioSource = this.gameObject.GetComponent<AudioSource>();
        meleeHandler = GetComponentInChildren<Melee>();

        gravityStore = rb2d.gravityScale;
    }