public override bool AddToThisInventory(AStack aStack) { SkillStack stack = aStack as SkillStack; var skillSaves = GameManager.Instance.SavablePlayerData.PlayerProgress.Skills; switch (skillNum) { case SkillNum.FIRS: Squad.playerSquadInstance.Inventory.FirstSkill.Skill = stack.Skill; Squad.playerSquadInstance.Inventory.FirstSkill.SkillStats = stack.SkillStats; skillSaves.firstSkill = Squad.playerSquadInstance.Inventory.FirstSkill; break; case SkillNum.SECOND: Squad.playerSquadInstance.Inventory.SecondSkill.Skill = stack.Skill; Squad.playerSquadInstance.Inventory.SecondSkill.SkillStats = stack.SkillStats; skillSaves.secondSkill = Squad.playerSquadInstance.Inventory.SecondSkill; break; } PlayUiEffectForEquipmant(); return(true); }
static AExecutableBehaviour GetBehaviourSkill(SkillStack stack, AiSquadController controller) { if (stack.Skill is SkillCharge) { return(new SkillChargeBehaviour(controller, stack)); } else if (stack.Skill is SkillArrowsValley) { return(new ArrowVolleyBehaviour(controller, stack)); } else { return(null); } }
SkillStack GetConsumable(SkillContainer[] equipments) { SkillStack res = null; if (equipments.Length > 0) { float t = GameManager.Instance.CurrentLevel.WholeLevelT; float val = skillLevelDependency.Evaluate(t); int index = Mathf.RoundToInt(skillLevelDependency.Evaluate(t) * (equipments.Length - 1)); int l2 = equipments[index].randomSkills.Length; var skill = equipments[index].randomSkills[UnityEngine.Random.Range(0, l2)]; res = new SkillStack(skill, skill.DefaultStats); } return(res); }
public override bool RemoveFromThisInventory(AStack aStack) { SkillStack stack = aStack as SkillStack; switch (skillNum) { case SkillNum.FIRS: Squad.playerSquadInstance.Inventory.FirstSkill.Skill = null; break; case SkillNum.SECOND: Squad.playerSquadInstance.Inventory.SecondSkill.Skill = null; break; } return(true); }
public static string ReturnStackTypeByString(SkillStack sGen) { switch (sGen) { case SkillStack.rng: return("Multiple stacks increase range of effect by 1."); case SkillStack.buff: return("Multiple stacks increase buff by 1."); case SkillStack.move: return("Multiple stacks increase tile effect turns by 1."); case SkillStack.skele: return("Multiple stacks increase wisp hp and atk by 1."); case SkillStack.turns: return("Multiple stacks increase turns of effect."); case SkillStack.nostack: return("Effect does not stack."); default: return(""); } }
public SkillChargeBehaviour(AiSquadController controller, SkillStack stack) : base(controller) { this.stack = stack; }
public ArrowVolleyBehaviour(AiSquadController controller, SkillStack stack) : base(controller) { this.stack = stack; }
private void Initiate() { if (typeOfSkill == Type.SKILL) { switch (skillNum) { case SkillNum.FIRS: currentSkill = playerInventory.FirstSkill; break; case SkillNum.SECOND: currentSkill = playerInventory.SecondSkill; break; } if (currentSkill.Skill != null) { img.sprite = currentSkill.Skill.MainPropertie.Icon; useType = currentSkill.Skill.UseType; } } else { switch (skillNum) { case SkillNum.FIRS: currentConsumable = playerInventory.FirstConsumable; break; case SkillNum.SECOND: currentConsumable = playerInventory.SecondConsumable; break; } if (currentConsumable.Consumable != null) { useType = currentConsumable.Consumable.UseType; img.sprite = currentConsumable.Consumable.MainPropertie.Icon; currentConsumable.Consumable.CallbackUsedCount += DecrementUsedConsumableCount; } } if ((currentSkill != null && currentSkill.Skill == null) || (currentConsumable != null && currentConsumable.Consumable == null)) { Destroy(cell); return; } else { if (typeOfSkill == Type.CONSUMABLE) { if (currentConsumable.Count < 0) { countText.enabled = false; } else { countText.text = currentConsumable.Count.ToString(StringFormats.intNumber); } } else { countText.enabled = false; } } }
public void Reset() { skills = new List <DSPlayerSkill>(); firstSkill = null; secondSkill = null; }