// Start is called before the first frame update void Start() { enemySkill = this.GetComponent <EnemySkill>(); agent = this.GetComponent <NavMeshAgent>(); agent.speed = initialSpeed; agent.isStopped = false; }
/// <summary> /// 20180530 SangBin : /// </summary> private IEnumerator SkillCoolDown(EnemySkill ek) { float elapsedTime = 0.0f, coolTime = 0.0f; switch (ek) { case EnemySkill.skill_01: coolTime = 14.0f; break; case EnemySkill.skill_02: coolTime = 16.0f; break; case EnemySkill.skill_03: coolTime = 18.0f; break; case EnemySkill.skill_04: coolTime = 20.0f; break; } while (elapsedTime < coolTime) { elapsedTime += Time.deltaTime; } EnableSkill(ek); yield break; }
void Start() { mas = GetComponent <MovementAudioSource>(); has = GetComponent <HitAudioSource>(); sas = GetComponent <SwingAudioSource>(); died = false; eh = this.GetComponent <BrigandHealth>(); ea = this.GetComponent <BrigandArmour>(); es = this.GetComponent <EnemySkill>(); StartCoroutine(SetSpeedBoost()); StartCoroutine(SetAttackDistance()); StartCoroutine(SetPersonSize()); defensed = false; isAttacked = false; rb = GetComponent <Rigidbody2D>(); anim = GetComponent <Animator>(); // InvokeRepeating("FindPlayer", 0, 1); }
void GetNextSkill() { if (available_skills.Length == 0 || sum_of_weights == 0) { return; } int rng = Random.Range(0, sum_of_weights); for (int i = 0; i < available_skills.Length; i++) { rng -= available_skills[i].weight; if (rng < 0) { next_skill = EnemySkill.GetSkill(available_skills[i].skill); break; } } if (next_skill == null) { next_skill = EnemySkill.GetSkill(available_skills[available_skills.Length - 1].skill); } if (!next_skill.CanUse(this)) { next_skill = new Tantrum(); } skill_image.sprite = _skill_img.Get(next_skill.type); _m.SetHelpText(placement, _skill_img.Desc(next_skill.type)); }
void Start() { _mainView = GameObject.Find("UIPanel").GetComponent <UIPanel>().ui; _list = _mainView.GetChild("mailList").asList; playerSkill = GameObject.Find("enemy(Clone)").GetComponent <EnemySkill>(); //questData = GameObject.Find("QuestData").GetComponent<Quest_Data>(); //攻击间隔 = 基础攻击间隔 + 最大攻击间隔 * (1 - (敏捷)/(敏捷+加成系数)) calAttackSpeed();//Declare delay 100 sec for (int i = 0; i < 7; i++) { CountDownTimer cdTimer_enemy = new CountDownTimer(EnemyStatus.instance.used_activeskill[i].cd); if (cdTimers_enemy.ContainsKey(EnemyStatus.instance.used_activeskill[i].skillID)) { } else { cdTimers_enemy.Add(key: EnemyStatus.instance.used_activeskill[i].skillID, value: cdTimer_enemy); EnemyStatus.instance.used_activeskill[i].cdCount = cdTimer_enemy; } } }
public int compareSliders(EnemySkill other) { if (getNumTurnsLeft() == other.getNumTurnsLeft()) { int compareEndAnims = (hasEndAnim() ? -1 : 0) - (other.hasEndAnim() ? -1 : 0); return(compareEndAnims == 0 ? other.getTurnProgress().CompareTo(getTurnProgress()) : compareEndAnims); } return(getNumTurnsLeft().CompareTo(other.getNumTurnsLeft())); }
void Start() { has = enemy.GetComponent <HitAudioSource>(); es = enemy.GetComponent <EnemySkill>(); aa = enemy.GetComponent <ArcherArmour>(); damaged_shield = false; damaged = false; arCtrl = enemy.GetComponent <ArcherController>(); }
// Start is called before the first frame update void Start() { hp = baseHP; players = new GameObject[] { GameManager.gameManager.player1, GameManager.gameManager.player2 }; enemyMovement = GetComponent <EnemyMovement>(); enemySkill = GetComponent <EnemySkill>(); sdrawPath = drawPath; animator = GetComponent <Animator>(); }
void Start() { has = enemy.GetComponent <HitAudioSource>(); damaged_shield = false; damaged = false; es = enemy.GetComponent <EnemySkill>(); ea = enemy.GetComponent <EnemyArmour>(); infCtrl = enemy.GetComponent <InfantryController>(); }
public void Awake() { target = GameObject.FindGameObjectWithTag("Player").transform; enemySkill = GetComponent <EnemySkill>(); audioSource = GetComponent <AudioSource>(); isBeAttack = false; InitReference(); Init(); }
private IEnumerator useEndSkill(EnemySkill es) { yield return(StartCoroutine(activateSkill(es, false))); yield return(StartCoroutine(es.fadeInAnim(false))); yield return(StartCoroutine(es.onEnd(this))); yield return(es.getAnimIsOver()); }
protected override bool isPassiveSkill(string skillId) { EnemySkill ts = staticSkillInfo[skillId]; if (ts.isPassive) { return(true); } return(false); }
public bool CanUseSkill(EnemySkill skill) { if (spellPointsCurrent >= skill.GetCost()) { return(true); } else { return(false); } }
/// <summary> /// 20180530 SangBin : /// </summary> private IEnumerator UseSkill_04(EnemySkill ek) { StopCoroutine(base.EnemyAction()); animator.SetTrigger("IsSkill04"); yield return(new WaitForSeconds(1.1f)); isWitchSkillUsed = false; StartCoroutine(base.EnemyAction()); yield break; }
public void Act() { if (entranced > 0 || stunned > 0 || next_skill == null || _am.CurrentType() == type) { EndTurn(); return; } _anim.SetTrigger("Act"); _as.Play(); next_skill.Use(_m, this); next_skill = null; acting = true; }
void Start() { ic = this.GetComponent <BrigandController>(); es = this.GetComponent <EnemySkill>(); ea = this.GetComponent <BrigandArmour>(); total_health = totalStartHealth = startHealth + ea.GetBreastPlate() * breastPlatePower + ea.GetTozluk() * tozlukPower + ea.GetHelmet() * helmetPower + es.GetEnemyVigor() * healthAmountPerSkill; startScaleX = healthLoad.transform.localScale.x; }
/// <summary>s /// 20180530 SangBin : /// </summary> private void UseSkill(EnemySkill ek) { switch (ek) { case EnemySkill.skill_01: //skill_01_State = EnemySkillState.cooling; skill_01_State = EnemySkillState.disavailable; //Thread thr1 = new Thread(new ThreadStart(ThreadBody01)); // thr1.Start(); StartCoroutine(UseSkill_01()); break; } //StartCoroutine(SkillCoolDown(ek)); }
void Start() { ic = this.GetComponent <SpearmanController>(); es = this.GetComponent <EnemySkill>(); ea = this.GetComponent <SpearmanArmour>(); total_health = totalStartHealth = startHealth + ea.BreastPlate * breastPlatePower + ea.Tozluk * tozlukPower + ea.Helmet * helmetPower + es.GetEnemyVigor() * healthAmountPerSkill; startScaleX = healthLoad.transform.localScale.x; }
// Use this for initialization void Start() { UICanvas = GameObject.Find("Canvas").transform; s1 = new List <string> { "DEF", "ULTI", "-CD", "AUTO", "CTR" }; s2 = new List <string> { "ATK", "HEL", "DMP", "ATKmini", "ALLMPATK", "HL", "ATKPRO", "AMWK", "STAB" }; s3 = new List <string> { "DHEL", "TBD", "ANI", "ANIT", "SFX", "VFX", "LVFX", "DATK", "CBB", "DATKPRO", "STUN" }; enemySkill = new EnemySkill(); playerSkill = new Skill(); }
public int SkillDamage(EnemySkill skill) { int damage = 0; if (CanUseSkill(skill)) { damage = skill.stats.fixedDamageStats[skill.GetElement()] + statsCurrent.fixedDamageStats[skill.GetElement()]; TakeSP(skill.GetCost()); } else { //returns basic if cant use skill return(BasicAttack()); } return(damage); }
void Start() { ic = this.GetComponent <InfantryController>(); es = this.GetComponent <EnemySkill>(); ea = this.GetComponent <EnemyArmour>(); shieldBusted = false; total_health = totalStartHealth = startHealth + ea.GetBreastPlate() * breastPlatePower + ea.GetTozluk() * tozlukPower + ea.GetHelmet() * helmetPower + es.GetEnemyVigor() * healthAmountPerSkill; shield_health = totalStartShieldHealth = Utility.GetShieldHealth(ea.GetShield(), es.GetEnemyDefence(), startShield) / 2; startScaleX = healthLoad.transform.localScale.x; startScaleShieldX = shieldLoad.transform.localScale.x; }
/// <summary>s /// 20180530 SangBin : /// </summary> private void UseSkill(EnemySkill ek) //private void UseSkill(ref EnemySkillState skill_State, EnemySkill ek) { isWitchSkillUsed = true; //skill_State = EnemySkillState.cooling; switch (ek) { case EnemySkill.skill_01: //skill_01_State = EnemySkillState.cooling; skill_01_State = EnemySkillState.disavailable; //Thread thr1 = new Thread(new ThreadStart(ThreadBody01)); // thr1.Start(); StartCoroutine(UseSkill_01(ek)); break; case EnemySkill.skill_02: //skill_02_State = EnemySkillState.cooling; skill_02_State = EnemySkillState.disavailable; //Thread thr2 = new Thread(new ThreadStart(ThreadBody02)); //thr2.Start(); StartCoroutine(UseSkill_02(ek)); break; case EnemySkill.skill_03: //skill_03_State = EnemySkillState.cooling; skill_03_State = EnemySkillState.disavailable; //Thread thr3 = new Thread(new ThreadStart(ThreadBody03)); //thr3.Start(); StartCoroutine(UseSkill_03(ek)); break; case EnemySkill.skill_04: //skill_04_State = EnemySkillState.cooling; skill_04_State = EnemySkillState.disavailable; //Thread thr4 = new Thread(new ThreadStart(ThreadBody04)); //thr4.Start(); StartCoroutine(UseSkill_04(ek)); break; } //skill_State = EnemySkillState.cooling; //StartCoroutine(SkillCoolDown(ek)); }
public IEnumerator activateSkill(EnemySkill es, bool firstSkill) { es.gameObject.SetActive(true); activeSkills.Sort((es1, es2) => es1.compareSliders(es2)); if (!firstSkill) { activeSkills.Remove(es); } activeSkills.Insert(0, es); for (int i = 0; i < activeSkills.Count; i++) { StartCoroutine(activeSkills[i].movePosTo(i)); //yield return SKILL_WAIT; } foreach (EnemySkill aes in activeSkills) { yield return(aes.getAnimIsOver()); } }
/* * public void StartRoot(EnemyMovement eM, float castingTime, GameObject targetPlayer, int damage, Vector3 pos, float rootTime, GameObject rootBranchPrefab) * { * StartCoroutine(RootCoroutine(eM, castingTime, targetPlayer, damage, pos, rootTime, rootBranchPrefab)); * } */ public IEnumerator RootCoroutine(EnemySkill eK, EnemyMovement eM, float castingTime, GameObject targetPlayer, int damage, Vector3 pos, float rootTime, GameObject rootBranchPrefab) { eM.agent.isStopped = true; eK.isCasting = true; yield return(new WaitForSecondsRealtime(castingTime)); eM.agent.isStopped = false; eK.isCasting = false; GameManager.gameManager.TakeDamage(targetPlayer, damage, pos, false); GameManager.gameManager.UIManager.QuoteOnDamage("enemy", targetPlayer); isRoot = true; RootBranch branch = Instantiate(rootBranchPrefab).GetComponent <RootBranch>(); branch.targetPlayer = targetPlayer; branch.rootTime = rootTime; yield return(new WaitForSecondsRealtime(rootTime)); isRoot = false; }
void Start() { sas = GetComponent <SwingAudioSource>(); has = GetComponent <HitAudioSource>(); died = false; eh = this.GetComponent <EnemyHealth>(); ea = this.GetComponent <EnemyArmour>(); es = this.GetComponent <EnemySkill>(); StartCoroutine(SetSpeedBoost()); StartCoroutine(SetAttackDistance()); StartCoroutine(SetPersonSize()); defensed = false; isAttacked = false; rb = GetComponent <Rigidbody2D>(); anim = GetComponent <Animator>(); }
/// <summary> /// 20180530 SangBin : /// </summary> private IEnumerator UseSkill_02(EnemySkill ek) { StopCoroutine(base.EnemyAction()); animator.SetTrigger("IsSkill02"); yield return(new WaitForSeconds(0.5f)); GameObject teleportEff = Instantiate(teleportEffect, transform.position, Quaternion.identity); Destroy(teleportEff, 2.3f); yield return(new WaitForSeconds(0.6f)); WitchSkill02(); isWitchSkillUsed = false; StartCoroutine(base.EnemyAction()); yield break; }
/// <summary> /// 20180530 SangBin : /// </summary> private void EnableSkill(EnemySkill ek) { switch (ek) { case EnemySkill.skill_01: skill_01_State = EnemySkillState.available; break; case EnemySkill.skill_02: skill_02_State = EnemySkillState.available; break; case EnemySkill.skill_03: skill_03_State = EnemySkillState.available; break; case EnemySkill.skill_04: skill_04_State = EnemySkillState.available; break; } }
void Start() { sas = GetComponent <SwingAudioSource>(); has = GetComponent <HitAudioSource>(); aa = GetComponent <ArcherArmour>(); es = GetComponent <EnemySkill>(); SetEmberLogic(); StartCoroutine(SetSpeedBoost()); rb = GetComponent <Rigidbody2D>(); anim = GetComponent <Animator>(); StartCoroutine(SetAttackDistance()); StartCoroutine(SetPersonSize()); speedX = speed; speedY = 0.57f * speed; }
public void loadAllSkills() { for (int i = 0; i < skillList.Count; i++) { EnemySkill es = skillList[i]; es.setLastStartTurn(currState.lastActivatedTurn[i]); int startTurn = currState.activatedTurn[i]; if (startTurn != -1) { es.gameObject.SetActive(true); es.setStartTurn(startTurn); activeSkills.Add(es); } } activeSkills.Sort((es1, es2) => es1.compareSliders(es2)); for (int i = 0; i < activeSkills.Count; i++) { activeSkills[i].setPos(i); } skillToggle.isOn = currState.alwaysShowSkills; toggleSkillDisplay(currState.alwaysShowSkills); }
public virtual void Init() { isPlayer = false; _skillGroupDict = new Dictionary <string, EnemySkillGroup>(); //读取技能组表,并存入字典 //skillGroups = data.enemySkillGroups; foreach (EnemySkillGroup item in data.enemySkillGroups) { _skillGroupDict.Add(item.name, item); } //初始化动作序号,下一拍到0 actionID = 0; //初始化敌人目标,默认是玩家 mTarget = GameObject.Find("Player"); enemySkill = new EnemySkill(); animator = GetComponent <Animator>(); skillGroupSeq = new List <EnemySkillGroup>(); //初始化敌人模型位置 originPosition = transform.position; }