private async Task <bool> UseFullCircle(AppViewModel app) { if (!app.Options.Config.EnableFullCircle) { return(false); } if (app.Healer.Player.Pet.HealthPercent < 1) { return(false); } var petEntity = app.Healer.Entity.GetEntity((int)app.Healer.Player.Pet.TargetID); var geoTargetPlayer = app.ActivePlayers.FirstOrDefault(p => p.IsGeoTarget); var geoEntity = geoTargetPlayer == null ? app.Healer.Entity.GetEntity((int)app.Healer.Player.TargetID) : app.Healer.Entity.GetEntity((int)geoTargetPlayer.Member.TargetIndex); var distance = PlayerUtilities.GetDistance(petEntity, geoEntity); if (distance > 12 && await app.Actions.UseAbility("Full Circle")) { return(true); } return(false); }
public override bool clicked(Farmer who) { //ModCore.log("Clicked a multiTiledComponent!"); if (ModCore.playerInfo.justPlacedACustomObject == true) { return(false); } if (PlayerUtilities.CanPlayerInventoryReceiveThisItem(this.containerObject)) { this.containerObject.pickUp(who); } else { return(false); } return(true); //return base.clicked(who); }
void Start() { //Finding player, that could be any unique script on player player = FindObjectOfType <PlayerHealth>().transform; //Load all scripts on player where stats will be modified playerShooting = player.GetComponent <PlayerShooting>(); playerHealth = player.GetComponent <PlayerHealth>(); playerMovement = player.GetComponent <PlayerMovement>(); playerUtilities = player.GetComponent <PlayerUtilities>(); //Create trigger collider to pick up itemCollider = gameObject.AddComponent <CircleCollider2D>(); itemCollider.radius = 0.3f; itemCollider.isTrigger = true; //price above item priceDisplay = GetComponentInChildren <TextMeshProUGUI>(); priceDisplay.text = price.ToString() + '$'; }
/// <summary> /// Update player vitals /// </summary> private void UpdatePlayerInfo(AppViewModel app, EliteAPI.PartyMember member) { var healer = app.Healer.Entity.GetLocalPlayer(); var player = app.Players.ElementAt(member.MemberNumber); var playerEntity = app.Healer.Entity.GetEntity((int)member.TargetIndex); if (member.Active > 0) { player.Name = member.Name; player.CurrentHp = member.CurrentHP; player.CurrentHpp = member.CurrentHPP; player.DistanceFromHealer = PlayerUtilities.GetDistance(healer, playerEntity); player.Member = member; } else { player.Name = ""; player.CurrentHp = 0; player.CurrentHpp = 0; player.DistanceFromHealer = double.MaxValue; player.Member = null; } }
private void Start() { playerUtilities = GetComponent <PlayerUtilities>(); }
//Collide with the power up //Set the new public void Awake() { pu = gameObject.GetComponent <PlayerUtilities>(); }
// Use this for initialization void Start() { playerUtilities = GetComponent <PlayerUtilities>(); actions = GetComponent <PlayerStatsActions>(); playerFSM = GetComponent <PlayMakerFSM>(); }
public static void AfterLoad_LoadRecipeBooks(object o, StardewModdingAPI.Events.SaveLoadedEventArgs e) { if (!Directory.Exists(Path.Combine(Revitalize.ModCore.ModHelper.DirectoryPath, "SaveData"))) { Directory.CreateDirectory(Path.Combine(Revitalize.ModCore.ModHelper.DirectoryPath, "SaveData")); } string[] directories = Directory.GetDirectories(Path.Combine(Revitalize.ModCore.ModHelper.DirectoryPath, "SaveData")); string playerData = Path.Combine(Path.Combine(Revitalize.ModCore.ModHelper.DirectoryPath, "SaveData"), PlayerUtilities.GetUniqueCharacterString()); string objectPath = Path.Combine(playerData, "RecipeInformation"); Directory.CreateDirectory(objectPath); string[] objectFiles = Directory.GetFiles(objectPath); foreach (string file in objectFiles) { CraftingRecipeBook book = ModCore.Serializer.Deserialize <CraftingRecipeBook>(file); string fileName = Path.GetFileNameWithoutExtension(file); CraftingRecipeBook.CraftingRecipesByGroup.Add(fileName, book); } InitializeRecipeBooks(); for (int bookIndex = 0; bookIndex < CraftingRecipesByGroup.Count; bookIndex++) { KeyValuePair <string, CraftingRecipeBook> pair = CraftingRecipesByGroup.ElementAt(bookIndex); for (int recipeIndex = 0; recipeIndex < pair.Value.craftingRecipes.Count; recipeIndex++) { KeyValuePair <string, UnlockableCraftingRecipe> recipe = pair.Value.craftingRecipes.ElementAt(recipeIndex); for (int i = 0; i < recipe.Value.recipe.ingredients.Count; i++) { if (recipe.Value.recipe.ingredients[i].item is MultiTiledObject) { //ModCore.log("Found a multi tiled object as an output!"); //ModCore.log("Found a multi tiled object!"); Type t = recipe.Value.recipe.ingredients[i].item.GetType(); string id = (recipe.Value.recipe.ingredients[i].item as MultiTiledObject).info.id; recipe.Value.recipe.ingredients[i].item = ModCore.ObjectManager.getItemByIDAndType(id, t); } } for (int i = 0; i < recipe.Value.recipe.outputs.Count; i++) { if (recipe.Value.recipe.outputs[i].item is MultiTiledObject) { //ModCore.log("Found a multi tiled object as an output!"); //ModCore.log("Found a multi tiled object!"); Type t = recipe.Value.recipe.outputs[i].item.GetType(); string id = (recipe.Value.recipe.outputs[i].item as MultiTiledObject).info.id; recipe.Value.recipe.outputs[i].item = ModCore.ObjectManager.getItemByIDAndType(id, t); //ModCore.log("Components are: "+(recipe.Value.recipe.outputs[i].item as MultiTiledObject).objects.Count); } } } } }
//~~~~~~~~~~~~~~~~~~~~// // Static Functions // //~~~~~~~~~~~~~~~~~~~~// public static void BeforeSave_SaveRecipeBooks(object o, StardewModdingAPI.Events.SavingEventArgs e) { if (!Directory.Exists(Path.Combine(Revitalize.ModCore.ModHelper.DirectoryPath, "SaveData"))) { Directory.CreateDirectory(Path.Combine(Revitalize.ModCore.ModHelper.DirectoryPath, "SaveData")); } string[] directories = Directory.GetDirectories(Path.Combine(Revitalize.ModCore.ModHelper.DirectoryPath, "SaveData")); string playerData = Path.Combine(Path.Combine(Revitalize.ModCore.ModHelper.DirectoryPath, "SaveData"), PlayerUtilities.GetUniqueCharacterString()); string objectPath = Path.Combine(playerData, "RecipeInformation"); Directory.CreateDirectory(objectPath); string[] objectFiles = Directory.GetFiles(objectPath); foreach (KeyValuePair <string, CraftingRecipeBook> book in CraftingRecipeBook.CraftingRecipesByGroup) { string recipePath = Path.Combine(objectPath, book.Key + ".json"); ModCore.Serializer.Serialize(recipePath, book.Value); } }