Staredit Network > Forums > Modding Assistance > Topic: Making right-click issue a rally point order
Making right-click issue a rally point order
Apr 18 2017, 2:57 am
By: Pr0nogo  

Apr 18 2017, 2:57 am Pr0nogo Post #1



In my current project, a structure (Cerebrate Daggoth) has been modified to be able to produce units. Thanks to EXE edits, I've gotten everything working, except issuing a right-click order doesn't do anything. Ideally, it would function like any other production structure, and update the rally point on right-click instead of the player having to press 'r' or click on the ability in order to accomplish this. I have messed with EXE edits regarding rally points but to no avail.

Hopefully solving this answers a second question: is there anything that would stop rally point functionality from being given to zerg eggs and cocoons? I would like them to overwrite hatchery/lair/hive rally points (which should be no different than 'updating' the rally point), so players are able to rally onto resources for their drones and manually rally their military units to a different area of the map.




Apr 19 2017, 1:42 am Corbo Post #2

ALL PRAISE YOUR SUPREME LORD CORBO

It is my understanding that the rally order is pretty hardcoded. Have you done this before for another building/unit?

Couple of things in my mind. Check "is building" flag, give it a rally order button, check "can create units/is factory" dat requirements... unsure.



fuck you all

Apr 19 2017, 1:54 am Pr0nogo Post #3



Yes, all of that is done. Rally point functions properly, but right-clicking doesn't issue it.




Apr 19 2017, 3:09 am KYSXD Post #4



Quote from Pr0nogo
Thanks to EXE edits, I've gotten everything working, except issuing a right-click order doesn't do anything

I think this can be done with the Rally Point Exe Edit enabled. ('Allow All Buildings to Rally' and 'Use units.dat group flags for factories'). Also set the 'Factory' flag for that building in units.dat Group Flags.

If that doesn't work, disable all plugins to check if that requires other mofications than the Exe Edits (If that's the case, I could take a look in GPTP to help you with that if you want).

Quote from Pr0nogo
is there anything that would stop rally point functionality from being given to zerg eggs and cocoons?

The only fix I can think to that is to modify the orderNewUnitToRally() call in the GPTP's unit_morph hook (unit_morph.cpp) if the unit is an egg/cocoon (line 94).

Code
    if(
        unit->previousUnitType != UnitId::ZergCocoon &&
        unit->previousUnitType != UnitId::ZergLurkerEgg
    )
    {

        CUnit *rallyTarget; //Unit wich selects the rally destination

        // Check if the unit has rally point different than itself
        bool hasRally = (unit->rally.pt.x != unit->getX());

        // If the unit has a valid rally point, use it
        if((unit->rally.unit && unit->rally.unit != unit)
            || hasRally)
        {
            rallyTarget = unit;
        }
        else
        {
            rallyTarget = unit->connectedUnit;
        }

        // Normal behaviour-ish
        orderNewUnitToRally(unit, rallyTarget);
        if(unit2 != NULL)
        {
            orderNewUnitToRally(unit2, rallyTarget);
        }
    }


Maybe that could do the job. The only problem with this approach is that sometimes the zerg egg sets the connectedUnit (Lair, Hive, Hatchery) as the rally target when created. That's a weird behaviour from the original engine.




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[11:23 pm]
NudeRaider -- dumbducky
dumbducky shouted: I found a sneaky way to view some of my coworkers SAT scores and it is shocking
:ban:
[11:22 pm]
NudeRaider -- dumbducky
dumbducky shouted: I miss forums. Twitter is way more engaging but unless you have a following, nobody talks to you. Reddit is just filled with the stupidest people
well, most active members here are the bots, so not sure if this is an improvement :P
[06:05 pm]
dumbducky -- I found a sneaky way to view some of my coworkers SAT scores and it is shocking
[06:03 pm]
dumbducky -- FaRTy1billion
FaRTy1billion shouted: o, i keep meaning to add things to it but instead don't
Farty does your website work anymore
[06:02 pm]
dumbducky -- I miss forums. Twitter is way more engaging but unless you have a following, nobody talks to you. Reddit is just filled with the stupidest people
[02:32 pm]
Zoan -- :wob:
[02:54 am]
Ultraviolet -- :wob:
[2024-7-25. : 2:39 am]
O)FaRTy1billion[MM] -- o, i keep meaning to add things to it but instead don't
[2024-7-24. : 11:55 pm]
Roy -- Make that three changes to the wiki in the last month, all three being just edits to user pages.
[2024-7-23. : 2:47 pm]
dumbducky -- Two changes to the wiki in the last month, both are just edits to user pages
Please log in to shout.


Members Online: Roy, Moose