Disperse Move

5

This is an edit of Spread Move mod that only gives 1 randomly selected order to each unit instead of all of them as a queue. You can find it in vault under name "Disperse Move".before.png
after.png

idk how to credit but it is obviously based on MrNukealizer's Spread Move (and is literally few lines of its code changed) and whatever that was based on (I think split attack).

0

ok fixed that, units are now completely evenly distributed between all given orders without fault every time (as long as you have at least same amount of units as orders, orders past unit count get deleted)

0

The FAF administration has already apparently decided to ban mods that give/change move orders to units, because in theory people could create "cheat" mods that move units around in ways that are too close to "playing the game" for you. I am not convinced this is a real threat that actually needs to be addressed. It sounds like paranoia about "Russian hackers" but who knows. If they make this change, I think that means your mod is toast.

0

Could you quote that rule for me?

0

@JaggedAppliance was talking on-stream maybe 1-2 weeks ago about limiting UI mods that can give move orders, because of the potential for cheating. He suggested that shift-g move itself would be removed, but that shift-g attack would stay in the game.

0

it was the democrats

0

@arma473 said in Disperse Move:

@JaggedAppliance was talking on-stream maybe 1-2 weeks ago about limiting UI mods that can give move orders, because of the potential for cheating. He suggested that shift-g move itself would be removed, but that shift-g attack would stay in the game.

I believe this is the change / pull request you are referring to:

0

@Mach said in Disperse Move:

This is an edit of Spread Move mod that only gives 1 randomly selected order to each unit instead of all of them as a queue. You can find it in vault under name "Disperse Move".before.png
after.png

idk how to credit but it is obviously based on MrNukealizer's Spread Move (and is literally few lines of its code changed) and whatever that was based on (I think split attack).

Pretty cool idea - if the discovery from @TheWheelie is correct then I feel you are choosing random orders somehow. After inspecting the code I didn't get much wiser - it has comments but I'm not enough into this bit of the code base to understand in under a few minutes.

What do you think about assuming that the group of units have the same orders, choose the orders from the first unit and then see they align with the number of units that you have?

For example:

  • If you have more orders than units, assign each unit a unique order leaving some out.
  • If you have more units than orders, make sure each order is assigned and assign some double.

That would solve the situation Wheelie has, which shows unreliable behavior.

0

@Jip said in Disperse Move:

Pretty cool idea - if the discovery from @TheWheelie is correct then I feel you are choosing random orders somehow. After inspecting the code I didn't get much wiser - it has comments but I'm not enough into this bit of the code base to understand in under a few minutes.

What do you think about assuming that the group of units have the same orders, choose the orders from the first unit and then see they align with the number of units that you have?

For example:

  • If you have more orders than units, assign each unit a unique order leaving some out.
  • If you have more units than orders, make sure each order is assigned and assign some double.

That would solve the situation Wheelie has, which shows unreliable behavior.

what happened to @TheWheelie was solved already in version 3

the reason it happened before is that units' orders were randomized normally like in original Spread Move, and I was simply removing every order per unit except first one given to it, but units could have been unevenly distributed between these orders (because it was a random function) resulting in more units getting the same first order than others, and sometimes (like in farms' example) some orders might have not been given to any unit at all as their first order, and once all orders after the first were removed, those orders that were not given to any units as their first order were deleted completely

the way it works now is that the unit uses its index (which number in selected group of units they are) to select which order goes to it first (from order queue), and thus every order gets at least 1 unit (as long as there are at least same number of units as orders), if there are more orders than units, the orders given past the unit number get deleted and units are distributed up to last order they could, if there are more units than orders, once last order in queue is given to a unit, the next unit in group starts over from first queued order and this repeats until all units are given first orders, evenly distributing all units between all orders

0

You're correct - I didn't read correctly 🙂 . Apologies!

1

Issuing the Order sometimes works yet only with certain Move Orders Constellations and soemtimes doesnt

Opening the Log reveals a traceback Error and Error at Line 317 in the dispersemove.lua regarding "action2"

this somehow leads to the Unit each getting their own Commands but not splitting up akin to Shift+G also weirdly enough hammering the Key often enough will rarely result in splitting up without problems

Log in to reply