/// <summary> /// Actives the cast skill. after success cast time /// </summary> /// <returns>The cast skill.</returns> /// <param name="skill">Skill.</param> IEnumerator activeCastSkill(SkillS skill) { //Debug.Log ("activeCast"); yield return(new WaitForSeconds(skill.getCastTime())); skillList.activeSkill(skill, this); }
//read xml public void getSkillList() { createSkillDic(skillDic); XmlDocument doc = new XmlDocument(); doc.Load("player/player.xml"); XmlNodeList skillListD = doc.GetElementsByTagName("skill"); foreach (XmlNode skillXml in skillListD) { string id = skillXml ["id"].InnerText; int level = int.Parse(skillXml ["level"].InnerText); //Skill tempSkill = new Skill(id,int.Parse(skillXml["level"].InnerText)); SkillS tempSkill = new SkillS(id, level); skillDic [id].skillCreate(tempSkill); if (tempSkill.active) { activeSkillList.Add(tempSkill); } else { //Debug.Assert (!(tempSkill.getActive())); passiveSkillList.Add(tempSkill); } } }
/// <summary> /// start cast time /// </summary> /// <param name="skill">Skill.</param> public void setCastStill(SkillS skill) { this.castSkill = skill; skillCoroutine = activeCastSkill(skill); StartCoroutine(skillCoroutine); //StopCoroutine (skillCoroutine); }
public void activeSkill(SkillS skill, Creature creature) { foreach (SkillS i in activeSkillList) { if (i.id == skill.id) { skillDic [skill.id].activeSkill(i, creature); } } }
IEnumerator targetingEnemy(SkillS skill) { state.Action = State.Actions.TargetEnemy; targetEnemy = null; Debug.Log("targetEnemy"); yield return(new WaitUntil(() => getTarget())); Debug.Log("targetEnemy yield"); state.Action = State.Actions.Null; skillList.activeSkill(skill, this); }
public void skillCreate(SkillS skill) { skill.maxLevel = 1; skill.name = "释放"; skill.domain = SkillS.Domain.Elemental; skill.treeName = "Incantation"; skill.shortDescribe = "释放符咒"; skill.FullDescribe = "释放符咒"; skill.active = true; skill.moveCast = false; skill.setCastTime(0f); skill.cooldown = 0f; //Debug.Log ("I11101 create success"); }
public bool checkValid(SkillS s, Creature creature) { if (s.treeName.Equals("Incantation") && !s.id.Equals("I11101")) { if (creature.incantation.active == false) { return(false); } if (creature.incantation.maxIncan - s.rumExpand < 0) { return(false); } } return(true); }
public void castSkill(SkillS skill, Creature creature) { if (skill.getCastTime() != 0) { if (skill.moveCast == false) { creature.setState(State.Actions.Casting); } else { creature.setState(State.Actions.MoveCast); } creature.setCastStill(skill); } }
public void skillCreate(SkillS skill) { skill.maxLevel = 3; skill.name = "生成"; skill.domain = SkillS.Domain.Elemental; skill.treeName = "Incantation"; skill.shortDescribe = "制造符咒"; skill.FullDescribe = "制造符咒"; skill.active = true; skill.moveCast = false; skill.setCastTime(1f); skill.cooldown = 0f; skill.RequiredInt = 10; skill.rumValInt = 30; //rum base damage skill.rumValFloat = 8; //cast Range //Debug.Log ("I11101 create success"); }
public void skillCreate(SkillS skill) { skill.maxLevel = 10; skill.name = "充能"; skill.domain = SkillS.Domain.Elemental; skill.treeName = "Incantation"; skill.shortDescribe = "向符咒内灌输元素,提高元素伤害"; skill.FullDescribe = "向符咒内灌输元素,提高元素伤害"; skill.active = true; skill.moveCast = false; skill.setCastTime(1f); skill.cooldown = 0f; skill.rumExpand = 3; skill.RequiredInt = 12; skill.rumValInt = 40; //rum base damage //Debug.Log ("I11201 create success"); }
public void skillCreate(SkillS skill) { skill.maxLevel = 10; skill.name = "强击"; skill.domain = SkillS.Domain.Elemental; skill.treeName = "Incantation"; skill.shortDescribe = "符咒造成的所有元素伤害提高*x倍"; skill.FullDescribe = "符咒造成的所有元素伤害提高*x倍"; skill.active = true; skill.moveCast = false; skill.setCastTime(1f); skill.cooldown = 0f; skill.rumExpand = 5; skill.RequiredInt = 20; skill.rumValFloat = 0.5f; //rum base damage //Debug.Log ("I11201 create success"); }
public void castSkill(SkillS skill, Creature creature) { //Debug.Log ("casting"+skill.name+" "+ skill.getCastTime()); if (skill.getCastTime() != 0) { if (skill.moveCast == false) { creature.setState(State.Actions.Casting); } else { creature.setState(State.Actions.MoveCast); } Debug.Log("setC"); creature.setCastStill(skill); } }
public void skillCreate(SkillS skill) { skill.maxLevel = 5; skill.name = "扇域"; skill.domain = SkillS.Domain.Elemental; skill.treeName = "Incantation"; skill.shortDescribe = "符咒命中目标后会对以目标身后90度距离3内的敌人造成伤害\n"; skill.FullDescribe = "符咒命中目标后会对以目标身后90度距离3内的敌人造成伤害\n"; skill.active = true; skill.moveCast = false; skill.setCastTime(1f); skill.cooldown = 0f; skill.rumExpand = 3; skill.RequiredDex = 12; skill.RequiredInt = 14; skill.rumValInt = 3; //fan arc radius //Debug.Log ("I11201 create success"); }
public void skillCreate(SkillS skill) { skill.maxLevel = 5; skill.name = "贯穿"; skill.domain = SkillS.Domain.Elemental; skill.treeName = "Incantation"; skill.shortDescribe = "符咒在击中一定数量的敌人后消失"; skill.FullDescribe = "符咒在击中一定数量的敌人后消失"; skill.active = true; skill.moveCast = false; skill.setCastTime(2f); skill.cooldown = 0f; skill.rumExpand = 3; skill.RequiredStr = 15; skill.RequiredInt = 15; skill.rumValInt = 1; // rum penetration number //Debug.Log ("I11201 create success"); }
public bool newLevelValid(SkillS skill, Creature creature) { if (skill.currentLevel == 0) { if (creature.getAttribute().getIntelligence() >= 20) { return(true); } } else { if (creature.getAttribute().getIntelligence() >= 20 + skill.currentLevel * 9) { return(true); } } return(false); }
public bool newLevelValid(SkillS skill, Creature creature) { if (skill.currentLevel == 0) { if (creature.getAttribute().getIntelligence() >= 14 && creature.getAttribute().getDexterity() >= 12) { return(true); } } else { if (creature.getAttribute().getIntelligence() >= 14 + skill.currentLevel * 4 && creature.getAttribute().getDexterity() >= 12 + skill.currentLevel * 5) { return(true); } } return(false); }
public void levelUpSkill(SkillS skill) { skill.currentLevel++; skill.rumValFloat += 0.5f; }
public void activeSkill(SkillS skill, Creature creature) { creature.initIncantation(); creature.incantation.elementDamage += skill.rumValInt; creature.incantation.castRange += skill.rumValFloat; }
public void activeSkill(SkillS skill, Creature creature) { creature.incantation.damageMultiply += skill.rumValFloat; }
public void levelUpSkill(SkillS skill) { skill.currentLevel++; skill.increaseDecreasedCastTimePercent(0.5f); }
public void levelUpSkill(SkillS skill) { skill.currentLevel++; skill.rumValInt += 30; }
public void castSkill(SkillS skill, Creature creature) { creature.locateEnemyTarget(skill); }
public void activeSkill(SkillS skill, Creature creature) { creature.incantation.elementDamage += skill.rumValInt; creature.incantation.maxIncan -= skill.rumExpand; }
public void activeSkill(SkillS skill, Creature creature) { creature.incantation.penetration += skill.rumValInt; }
public void activeSkill(SkillS skill, Creature creature) { creature.incantation.cast(creature.targetEnemy); creature.incantation = null; }
public bool newLevelValid(SkillS skill, Creature creature) { return(false); }
public void levelUpSkill(SkillS skill) { }
/*public void castIncantation(Creature creature){ * //draw arrow or target * //wait till cancel or active * //active * //state change to Target * getEnemyTarget() * incantation.cast(); * * }*/ public void locateEnemyTarget(SkillS skill) { this.castSkill = skill; skillCoroutine = targetingEnemy(skill); StartCoroutine(skillCoroutine); }
public void activeSkill(SkillS skill, Creature creature) { creature.incantation.fanRadius += skill.rumValInt; }