コード例 #1
0
ファイル: Patcher.cs プロジェクト: Pathoschild/smapi-mod-dump
        public static void PerformToolAction_Post(StardewObject __instance, Tool t, GameLocation location)
        {
            try
            {
                if (__instance.IsCookoutKit() && location != null)
                {
                    if (!location.Objects.ContainsKey(__instance.TileLocation))
                    {
                        Vector2 dropPosition = __instance.TileLocation * 64f;

                        // drop 1 iron bar
                        location.debris.Add(new Debris(new StardewObject(335, 1), dropPosition));

                        // drop 10 stones
                        location.debris.Add(new Debris(new StardewObject(390, 10), dropPosition));
                    }
                    else if (t is WateringCan can && can.WaterLeft > 0)
                    {
                        // extinguishes the fire, does not truly remove the object
                        __instance.performRemoveAction(__instance.TileLocation, location);
                    }
                }
            }
            catch (Exception e)
            {
                mod.ErrorLog("There was an exception in a patch", e);
            }
        }
コード例 #2
0
        private static void SaveSingleKit(StardewObject item, GameLocation location)
        {
            if (item.IsCookoutKit())
            {
                // extinguishes the fire, does not truly remove the object
                item.performRemoveAction(item.TileLocation, location);

                item.destroyOvernight = false;
            }
        }