bool findSkill() { if (!checkStamina()) { //didn't have enough stamina to do shit, just rest instead owner.rest(); return(true); } if (!intelligencePull()) { //chaos didn't overtake them, use pulls determinePulls(); checkPulls(); do { //keep trying to figure out the skill until we do decideSkill(); } while (!testSkill()); if (skillToUse.targetNumber == "all") { //skill just effects all of a side, so no need to determine target switch (skillToUse.targetGroup) { case "enemies": targets.AddRange(BC.PCS); break; case "allies": targets.AddRange(BC.NPCS); break; case "self": targets.Add(owner); break; } if (skillToUse.use(owner, targets)) { return(true); } } else { if (skillToUse.use(owner, findTarget())) { return(true); } } } else { //Chaos!! just use random shit on random guys! skillToUse = randomTurn(); if (skillToUse.use(owner, randomTarget())) { return(true); } } //all failed, return false return(false); }
public void getTargets(Skill sk, List <Character> dialogTargets) { //Combat.output(dialogTargets.Count.ToString()+" Targets recieved!"); if (sk.use(currentCharacter, dialogTargets)) { //if the skill was used successfully, find the next turn. update(); findTurn(); } }