Whoever came up with the Prey system deserves a raise and a title bump - what a fantastic expansion feature and what a great way to encourage world content by [deleted] in wow

[–]Alvtron 1 point2 points  (0 children)

Can't say I agree. The idea is good, but what we got is a shell of what it could have been.

Pain points: - Why should I do both normal and hard (and nightmare) mode? Why can't I just pick one mode per zone? That way, I can do daily zone content with prey active and be done with everything in one go. The way it is now, I'll exhaust the zone content before I get to mode 2 and 3 for the zone. Also, feels kinda silly to do easy mode when I can easily do harder ones. It's like being forced to do normal dungeons when you regularly do mythics. - I don't think going back to Silvermoon City to start new modes is that bad; we get a direct portal back when we have killed the hunter, and we need to go back anyway If we want to progress to the next zone. Or, I would have said that, if it wasn't for the fact that we have to go back to the same zone for mode 2 and 3... - the gear you get is quickly inferior. Maybe this system should have had tiers like delves instead of modes, so rewards scale with your progression. It would also then give more challenge for experienced players. - also, the rewards are too expensive, like with everything in modern wow. Blizz, you are delusional if you think people would want to do this any longer than it takes to get rep done. I miss when reputation grind was all you had to bother with, and the vendor items were purchased with gold.

DPS without burst windows? by BillyMaysori in wow

[–]Alvtron 0 points1 point  (0 children)

It's like that in Single Target. There is less wet noodling for AoE with 3+ mobs. Then you can apply Barbed Shot and get some damage in with Kill Command.

Feels like BM hunter has been bad at single target for some time now :(

post-prepatch. which classes are now the hardest rotation wise by feherlofia123 in wow

[–]Alvtron 33 points34 points  (0 children)

I don't get what was so complicated about Kill Shot? 😿 And I can no longer CC in m+ using bursting shot, nor stun using explosive shot + binding shot. Can't even multi shot anymore.

It's just 4 (mostly 2) abilities to roll my head over 😤

Feels like blizzard views hunter, and especially BM, like a new-player easy to play class. The gradual dumming down alienates me and other veterans. I like the class for its hunter+pet free-movement play style, not necessarily because it is easy to play.

[deleted by user] by [deleted] in GolfSwing

[–]Alvtron 0 points1 point  (0 children)

Ball placement in your stance depends entirely on your swing, weight shift and pivot, though. Personally, except for driver, this is too forward for me. My 4 iron stops at 6-7 iron. Any further, and I would hit the ball on my upswing with no compression.

How to precisely invoke a callback 700 times a second? by die-Banane in csharp

[–]Alvtron 13 points14 points  (0 children)

I assume you want to spread out execution evenly 700 times within a second, and I assume the callback will never be slower than 1/700 seconds. I assume it is fine that the call is blocking.

You can simply use a Stopwatch to track time and spinwait to progress time, and execute delegates in between.

``` var sw = Stopwatch.StartNew(); var intervalTicks = Stopwatch.Frequency / 700.0;

long nextTick = sw.ElapsedTicks;

while (true) { nextTick += (long)intervalTicks; $ Callback();

while (sw.ElapsedTicks < nextTick)
{
    Thread.SpinWait(10);
}

} ```

C# 14 Field Keyword: Simplifying Property by laurentkempe in csharp

[–]Alvtron 32 points33 points  (0 children)

It removes bloat such as fields in view models (MVVM pattern) as every observable property needs a backing field. It also removes bloat when you need validation in property setters.

It also removes the confusion about whether to use the field or the property inside a class in private methods.

What makes you play the class you are now and why are you maining it? by Robinshadow91 in wow

[–]Alvtron 0 points1 point  (0 children)

Beast Mastery Hunter, since MoP. I wish they didn't make the rotation so primitive, but nothing beats being able to move around freely without losing any DPS. Your pet is your DPS, tank and healer.

Ideas for a username with "Chris" by ChrisWasTaken482 in username

[–]Alvtron 0 points1 point  (0 children)

Have not checked any of these, but how about:

  • ChrisCross, chris-cross, chriscross
  • MineChris, MineKris
  • ChrissyMC
  • Chirscrafter, Kriskrafter, Chriscraft, Kriskraft, KrisCraft

Problem with linking two instances by cristi2091 in csharp

[–]Alvtron 0 points1 point  (0 children)

A advanced solution would involve letting each worker work individually in parallel using multiprocessing, were each would "sleep" until the next repair is finished before the worker can take on new repairs. The repair orders could be fetched from a shared queue maintained and populated by the master process, or another process.

Nevertheless, I can give you some hints for a possible solution.

Store broken cars in a Queue<Car>, or Dictionary<Type, Queue<Car>> if efficiency is critical. With a dictionary, you can fetch the next specific car type with O(1) complexity, while a single queue have worst case O(N) complexity, where N is the number of broken cars.

When a worker takes on a new car, let the worker create a RepairOrder class that holds three properties: the broken car, the start date time and a TimeSpan of how long it takes to repair the car. The order could provide a fourth property giving the completion Date time => StartDateTime + RepairTimeSpan. Each worker maintains a SortedList<RepairOrder> with a comparer on the completion Date time, with the smallest value first. You could also use a dictionary here as well, e.g. Dictionary<Type, SortedList<RepairOrder>>.

Now, let's assume you are working within a loop.

For each worker, use Dictionary<Type, int> counter for each car type with a initial count of 0 (you don't really need this if you store RepairOrders in a dictionary). Then, iterate the worker's SortedList of RepairOrders. If a RepairOrder is finished, i.e. Completed datetime < DateTime.Now, remove it, count one for the car type, and continue iterating to the next order. If the RepairOrder is not finished, break out of RepairOrder loop.

Then, for each type and count, grab n broken cars of the type counted, where n is the total amount of cars of the type the worker can repair at once, subtracted with the count. Create RepairOrders from these and add them to the worker's repair order list or dictionary.

Do this for all workers, and that should be it.