private void Awake() { CameraFollow.SetTarget(GameObject.FindGameObjectWithTag("TargetPlayer")); //Physics2D.gravity = new Vector2(0, -2 * HeightOfJump / (TimeToCompleteAbility * TimeToCompleteAbility)); _slottingMachine = GameObject.FindGameObjectWithTag("SlottingMachine").GetComponent <SlottingMachine>(); _packetReader = GameObject.FindGameObjectWithTag("PacketReader").GetComponent <PacketReader>(); _chipsAnimator = GetComponent <Animator>(); Abilities = GameObject.FindGameObjectWithTag("AbilityLibrary").GetComponent <AbilityLibrary>(); _numAbilityChildCount = Abilities.transform.childCount; _chipsRigidbody2D = GetComponent <Rigidbody2D>(); _abilitiesButtons = new Button[_numAbilityChildCount]; for (int childID = 0; childID < _numAbilityChildCount; childID++) { _abilitiesButtons[childID] = Abilities.transform.GetChild(childID).GetComponent <Button>(); } FractionTillAbilityComplete = new float[NumOfSlots]; for (int fractionID = 0; fractionID < NumOfSlots; fractionID++) { FractionTillAbilityComplete[fractionID] = 0.0f; } if (PlayButton == null) { PlayButton = GameObject.FindGameObjectWithTag("PlayButton").GetComponent <Button>(); } if (ResetButton == null) { ResetButton = GameObject.FindGameObjectWithTag("EjectButton").GetComponent <Button>(); } directionLastFrame = right; }
private void Start() { aLib = GameObject.FindGameObjectWithTag("AbilityDictionary").GetComponent <AbilityLibrary>(); equipmentController = GameObject.FindGameObjectWithTag("PrimaryInterface").transform.Find("ItemCrafting").GetComponent <EquipmentCrafting_Controller>(); inventory = GetComponent <Player_Inventory_Script>(); activeLegendaryPerks = new List <LegendaryPerk>(); equipmentController.ALib = aLib; #region Armor types ArmorItemTypes = new List <ItemType>(); ArmorItemTypes.Add(ItemType.HELMET); ArmorItemTypes.Add(ItemType.HAT); ArmorItemTypes.Add(ItemType.COIF); ArmorItemTypes.Add(ItemType.CHESTPLATE); ArmorItemTypes.Add(ItemType.CHESTGUARD); ArmorItemTypes.Add(ItemType.ROBE); ArmorItemTypes.Add(ItemType.CHAPS); ArmorItemTypes.Add(ItemType.PLATELEGS); ArmorItemTypes.Add(ItemType.TROUSERS); #endregion if (File.Exists("CharData.dat")) { LoadCharacterData(); GetComponent <Player_Details_Script>().MaxHealth = BonusHealth; } CurrentWeaponSlot = 0; }
public SacrificialKnife(AbilityLibrary scriptRef) : base() { Type = WeaponType.SACRIFICIALKNIFE; lib = scriptRef; SkillSet = new Ability[4]; ItemName = "Sacrificial Knife"; skillRequired = "Necromancy"; }
public Sword(AbilityLibrary scriptRef) : base() { Type = WeaponType.SWORD; lib = scriptRef; SkillSet = new Ability[4]; ItemName = "Sword"; skillRequired = "Swordsmanship"; }
public Censer(AbilityLibrary scriptRef) : base() { Type = WeaponType.CENSER; lib = scriptRef; SkillSet = new Ability[4]; ItemName = "Censer"; skillRequired = "Lifeweaving"; }
public Vessel(AbilityLibrary scriptRef) : base() { Type = WeaponType.VESSEL; lib = scriptRef; SkillSet = new Ability[4]; ItemName = "Vessel"; skillRequired = "Witchcraft"; }
public RecurveBow(AbilityLibrary scriptRef) : base() { Type = WeaponType.RECURVEBOW; lib = scriptRef; SkillSet = new Ability[4]; ItemName = "Recurve Bow"; skillRequired = "Marksmanship"; }
public void SetSkill(int slot, Ability skill) { if (AbilityLibrary.WeaponSupportsSkill(skill.abilityName, type.ToString())) { skillStringName[slot] = skill.abilityName; SkillSet[slot] = skill; SelectedAbilities[slot] = lib.AbilityDictionary[SkillSet[slot].abilityName].UseAbility; } }
private void Awake() { if (!Instance) { Instance = this; DontDestroyOnLoad(this); } else { Destroy(gameObject); } }
// Set up abilities + teach abilities to entities logic #region public static void TeachAbilityToLivingEntity(LivingEntity entity, string abilityName) { // Create a duplicate ability from the ability data in ability library // DONT USE THE ABILITY IN THE LIBRARY // Get ability data Ability data = AbilityLibrary.GetAbilityByName(abilityName); // Create a duplicate ability from data Ability newAbility = new Ability(data); entity.MyAbilities.Add(newAbility); }
public Dagger(AbilityLibrary scriptRef) : base() { //Type = WeaponType.DAGGER; lib = scriptRef; ItemName = "Dagger"; SkillSet = new Ability[4]; //for (int i = 0; i < 4; i++) //{ // SkillSet[i] = lib.AbilityDictionary["Slash"]; //} ////Denoting abilities available from delegates. Uses player-readable name of ability as key in the dictionary. //SelectedAbilities[0] = lib.AbilityDictionary[SkillSet[0].abilityName].UseAbility; //SelectedAbilities[1] = lib.AbilityDictionary[SkillSet[1].abilityName].UseAbility; //SelectedAbilities[2] = lib.AbilityDictionary[SkillSet[2].abilityName].UseAbility; //SelectedAbilities[3] = lib.AbilityDictionary[SkillSet[3].abilityName].UseAbility; }
public void CopyStats(Weapon original) { type = original.type; name = original.name; might = original.might; intelligence = original.intelligence; dexterity = original.dexterity; durability = original.durability; durabilityMax = original.durabilityMax; levelReq = original.levelReq; itemLevel = original.itemLevel; levelLimit = original.levelLimit; weaponSkillSet = original.weaponSkillSet; selectedAbilitySet = original.selectedAbilitySet; bonusHealth = original.bonusHealth; SkillSet = original.SkillSet; lib = original.lib; }
public TwinDaggers(AbilityLibrary scriptRef) : base() { //Type = WeaponType.TWINDAGGERS; lib = scriptRef; SkillSet = new Ability[4]; ItemName = "Twin Daggers"; //for (int i = 0; i < 4; i++) //{ // SkillSet[i] = lib.AbilityDictionary["Slash"]; //} //SkillSet[0] = lib.AbilityDictionary["Ghost Strike"]; //SkillSet[1] = lib.AbilityDictionary["Heart Strike"]; //SkillSet[2] = lib.AbilityDictionary["Shadewalk"]; //SkillSet[3] = lib.AbilityDictionary["Lunging Swipe"]; ////Denoting abilities available from delegates. Uses player-readable name of ability as key in the dictionary. //SelectedAbilities[0] = lib.AbilityDictionary[SkillSet[0].abilityName].UseAbility; //SelectedAbilities[1] = lib.AbilityDictionary[SkillSet[1].abilityName].UseAbility; //SelectedAbilities[2] = lib.AbilityDictionary[SkillSet[2].abilityName].UseAbility; //SelectedAbilities[3] = lib.AbilityDictionary[SkillSet[3].abilityName].UseAbility; }
// Update is called once per frame private void Update() { if (RecipeCrafter.IsUsingInput) { return; } if (selectedWeapon == null && setDefault) { selectedWeapon = Player_Accessor_Script.EquipmentScript.FetchItemSlot(0); setDefault = false; } for (int i = 0; i < 4; i++) { Weapon temp = Player_Accessor_Script.EquipmentScript.FetchItemSlot(i); if (temp == null) { continue; } //Fetches the sprite for the weapon with a look-up table. weaponParent.transform.GetChild(i).GetComponent <Image>().sprite = temp.Icon; } if (selectedWeapon != null) { for (int j = 0; j < 4; j++) { if (selectedWeapon.SkillSet[j] != null) { abilityParent.GetChild(j).GetComponent <Image>().sprite = selectedWeapon.SkillSet[j].skillIcon; } else { abilityParent.GetChild(j).GetComponent <Image>().sprite = defaultIcon; } } List <Ability> tempList = AbilityLibrary.FetchSkillList(selectedWeapon.Type.ToString()); if (abilitySlotParent.childCount == 0 && selectedWeapon != null) { for (int i = 0; i < tempList.Count; i++) { GameObject temp = Instantiate(AbilitySlotPrefab, abilitySlotParent); } } //Sorting Abilities by level requirement tempList.Sort((q1, q2) => q1.SkillLevelRequirement.CompareTo(q2.SkillLevelRequirement)); //Describing Header Transform skillHeader = transform.Find("Window/Header/SkillSection"); skillHeader.Find("WeaponIcon").GetComponent <Image>().sprite = selectedWeapon.Icon; skillHeader.Find("Weapon").GetComponent <Text>().text = selectedWeapon.ItemName; skillHeader.Find("SkillName").GetComponent <Text>().text = selectedWeapon.SkillRequired; Skills skillref = Player_Skills_Script.ConvertStringToSkill(selectedWeapon.SkillRequired); skillHeader.Find("Level").GetComponent <Text>().text = "Lv.\n" + Player_Accessor_Script.SkillsScript.SkillDetails.skillList[skillref].maxLevel; for (int i = 0; i < tempList.Count; i++) { Transform cardEntry = abilitySlotParent.GetChild(i); cardEntry.name = tempList[i].abilityName; cardEntry.GetComponent <CanvasGroup>().interactable = Player_Accessor_Script.SkillsScript.GetSkill(tempList[i].SkillRequired).currLevel >= tempList[i].SkillLevelRequirement; cardEntry.Find("BG/Icon").GetComponent <Image>().sprite = tempList[i].skillIcon; cardEntry.Find("BG/TextBG/Text").GetComponent <Text>().text = tempList[i].abilityName; //Description Stuff cardEntry.Find("Description/TextBG/Text").GetComponent <Text>().text = tempList[i].SkillDescription; if (tempList[i].ModifiedByStats) { cardEntry.Find("Description/MightScale/Might").GetComponent <Text>().text = (tempList[i].MightRatio * 100).ToString("n1") + "%\n" + (tempList[i].MightRatio * eqRef.Might).ToString("n1"); cardEntry.Find("Description/DexterityScale/Dexterity").GetComponent <Text>().text = (tempList[i].DexterityRatio * 100).ToString("n1") + "%\n" + (tempList[i].DexterityRatio * eqRef.Dexterity).ToString("n1"); cardEntry.Find("Description/IntelligenceScale/Intelligence").GetComponent <Text>().text = (tempList[i].IntelligenceRatio * 100).ToString("n1") + "%\n" + (tempList[i].IntelligenceRatio * eqRef.Intelligence).ToString("n1"); } else { cardEntry.Find("Description/MightScale/Might").GetComponent <Text>().text = "N/A"; cardEntry.Find("Description/DexterityScale/Dexterity").GetComponent <Text>().text = "N/A"; cardEntry.Find("Description/IntelligenceScale/Intelligence").GetComponent <Text>().text = "N/A"; } cardEntry.Find("Description/LevelReq/Text").GetComponent <Text>().text = "Lv.\n" + tempList[i].SkillLevelRequirement; } } else { for (int j = 0; j < 4; j++) { abilityParent.GetChild(j).GetComponent <Image>().sprite = defaultIcon; } } if (ind != prevInd) { selectedWeapon = Player_Accessor_Script.EquipmentScript.FetchItemSlot(ind); //for (int i = 0; i < abilitySlotParent.childCount; i++) while (abilitySlotParent.childCount > 0) { DestroyImmediate(abilitySlotParent.GetChild(0).gameObject); } if (selectedWeapon != null) { List <Ability> tempList = AbilityLibrary.FetchSkillList(selectedWeapon.Type.ToString()); for (int i = 0; i < tempList.Count; i++) { GameObject temp = Instantiate(AbilitySlotPrefab, abilitySlotParent); } } prevInd = ind; } if (Input.GetKeyDown(KeyCode.Escape)) { canvas.alpha = 0; canvas.blocksRaycasts = false; canvas.interactable = false; } if (Input.GetKeyDown(KeybindManager.Keybinds[KeybindFunction.I_WEAPON_ABILITIES])) { canvas.alpha = Mathf.Abs(canvas.alpha - 1); if (canvas.alpha == 1) { Interface_Controller.instance.InterfaceEvents["AbilityInterfaceOpen"].Invoke(); } canvas.interactable = !canvas.interactable; canvas.blocksRaycasts = !canvas.blocksRaycasts; } }
private void Awake() { if (_instance != null && _instance != this) { Destroy(this.gameObject); } else { _instance = this; canvasTransform = GameObject.FindGameObjectWithTag("Canvas").transform; boardTransform = GameObject.FindGameObjectWithTag("Board").transform; mainPlayer = new PlayableCharacter(80, "Carlos", new Energy(3), CharacterModelLibrary.KnightCharacterModel()); // mainPlayer.AddCardToDeckById(5); mainPlayer.OnCharacterDead += CheckCombatEndCondition; mainPlayer.AddCardToDeck(CardLibrary.Charge()); mainPlayer.AddCardToDeck(CardLibrary.ShrugItOff()); // mainPlayer.AddCardToDeck(CardLibrary.DeadlyPoison()); mainPlayer.AddCardToDeck(CardLibrary.GetBehind()); mainPlayer.AddCardToDeck(CardLibrary.TwinStrike()); mainPlayer.AddCardToDeck(CardLibrary.TwinStrike()); mainPlayer.AddCardToDeck(CardLibrary.TwinStrike()); mainPlayer.AddCardToDeck(CardLibrary.TwinStrike()); mainPlayer.AddCardToDeck(CardLibrary.TwinStrike()); mainPlayer.AddCardToDeck(CardLibrary.TwinStrike()); mainPlayer.AddCardToDeck(CardLibrary.TwinStrike()); mainPlayer.AddCardToDeck(CardLibrary.Strike()); // mainPlayer.AddCardToDeck(CardLibrary.Strike()); // mainPlayer.AddCardToDeck(CardLibrary.Strike()); // mainPlayer.AddCardToDeck(CardLibrary.Thunder()); // mainPlayer.AddCardToDeck(CardLibrary.Bash()); mainPlayer.abilities.Add(AbilityLibrary.MoveLeft()); mainPlayer.abilities.Add(AbilityLibrary.MoveRight()); mainPlayer.abilities.Add(AbilityLibrary.Strike()); // Character ally = new NonPlayableCharacter(80,"Roberto",new Energy(2),CharacterModelLibrary.KnightCharacterModel()); // ally.AddCardToDeck(CardLibrary.GetBehind()); // Character ally2 = new Character(80,"Mario",new Energy(3)); List <Character> allyTeam = new List <Character>(); MoveCharacterToBoardColumn(mainPlayer, 0); // MoveCharacterToBoardColumn(ally,1); // MoveCharacterToBoardColumn(mainPlayer,0); // MoveCharacterToBoardColumn(mainPlayer,0); allyTeam.Add(mainPlayer); // allyTeam.Add(mainPlayer); // allyTeam.Add(mainPlayer); // ally.TurnRight(); // allyTeam.Add(ally); // allyTeam.Add(ally2); teams.Add(allyTeam); List <Character> NpcTeam = new List <Character>(); teams.Add(NpcTeam); Character Npc = new NonPlayableCharacter(80, "bicho", new Energy(3), CharacterModelLibrary.GoblinCharacterModel()); Npc.AddCardToDeck(CardLibrary.Thrash()); NpcTeam.Add(Npc); MoveCharacterToBoardColumn(Npc, 1); Npc.OnCharacterDead += CheckCombatEndCondition; Character Npc2 = new NonPlayableCharacter(80, "bicho2", new Energy(3), CharacterModelLibrary.GoblinCharacterModel()); Npc2.AddCardToDeck(CardLibrary.Bellow()); NpcTeam.Add(Npc2); MoveCharacterToBoardColumn(Npc2, 1); Npc2.OnCharacterDead += CheckCombatEndCondition; // NpcTeam.Add(Npc2); // MoveCharacterToBoardColumn(Npc2,1); // MoveCharacterToBoardColumn(Npc2,3); // MoveCharacterToBoardColumn(Npc2,4); // MoveCharacterToBoardColumn(Npc2,5); // MoveCharacterToBoardColumn(Npc,3); // MoveCharacterToBoardColumn(Npc,4); // MoveCharacterToBoardColumn(Npc,4); // MoveCharacterToBoardColumn(Npc,4); // MoveCharacterToBoardColumn(Npc,1); InstanceCharacters(); } }
private void Awake() { Instance = this; //PopulateAbilityLibrary(); }