Staredit Network > Forums > Modding Assistance > Topic: Creating a summon ability
Creating a summon ability
Aug 2 2021, 5:36 pm
By: Netbek  

Aug 2 2021, 5:36 pm Netbek Post #1



I want to create a summon ability. Like this:
1) costs energy
2) unit plays animation
3) at certain point in animation, summoned unit appears

What is a good dummy ability to base this on? I experimented with burrow, but ran into issues.
Step 3) is NOT the issue, I know how to do this with GPTP.




Aug 2 2021, 7:56 pm Voyager7456 Post #2

Responsible for my own happiness? I can't even be responsible for my own breakfast

Rather than basing it on an ability at all, I'd recommend using the "Carrier Stop" or "Reaver Stop" orders. These are pretty useful for actions where you just want the player to press a button and have something happen.

Here's a skeleton of what that might look like:

Code
if(unit->mainOrderId == OrderId::CarrierStop) {
        unit->orderToIdle();
        if(unit->energy < 25600) {
            scbw::showErrorMessageWithSfx(unit->playerId, 864, 158);
        }
        else {
            //do stuff here
        }
    }


You will need to make sure that you edit the requirements for the Carrier Stop order so that your unit can use it.

As far as playing an animation goes, you can use unit->sprite->playIscriptAnim() to do that, and the sigorder iscript opcode to communicate back to GPTP. So perhaps our code might look something like this:

Code
if(unit->mainOrderId == OrderId::CarrierStop) {
        unit->orderToIdle();
        if(unit->energy < 25600) {
            scbw::showErrorMessageWithSfx(unit->playerId, 864, 158);
        }
        else {
            unit->sprite->playIscriptAnim(IscriptAnim::CastSpell, true);
        }
    }
else if (unit->orderSignal == 16) {
       //summon the unit here
    }


And our iscript something along these lines:

Code
    playfram               0x11     # Frame set 12
    wait                   1
    playfram               0x22     # Frame set 2
    sigorder                16
    wait                    1
    playfram                0x33
       wait                    1


to ensure that we summon the unit at the appropriate point in the animation.



all i am is a contrary canary
but i'm crazy for you
i watched you cradling a tissue box
sneezing and sniffling, you were still a fox


Modding Resources: The Necromodicon [WIP] | Mod Night
My Projects: SCFC | ARAI | Excision [WIP] | SCFC2 [BETA] | Robots vs. Humans | Leviathan Wakes [BETA]


Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[2024-5-10. : 8:46 pm]
NudeRaider -- Brusilov
Brusilov shouted: Hey, what happened to EUDDB? Is there a mirror for it somewhere? Need to do a little research.
https://armoha.github.io/eud-book/
[2024-5-10. : 8:36 am]
Brusilov -- Hey, what happened to EUDDB? Is there a mirror for it somewhere? Need to do a little research.
[2024-5-09. : 11:31 pm]
Vrael -- :wob:
[2024-5-09. : 8:42 pm]
Ultraviolet -- :wob:
[2024-5-08. : 10:09 pm]
Ultraviolet -- let's fucking go on a madmen rage bruh
[2024-5-08. : 10:01 pm]
Vrael -- Alright fucks its time for cake and violence
[2024-5-07. : 7:47 pm]
Ultraviolet -- Yeah, I suppose there's something to that
[2024-5-06. : 5:02 am]
Oh_Man -- whereas just "press X to get 50 health back" is pretty mindless
[2024-5-06. : 5:02 am]
Oh_Man -- because it adds anotherr level of player decision-making where u dont wanna walk too far away from the medic or u lose healing value
[2024-5-06. : 5:01 am]
Oh_Man -- initially I thought it was weird why is he still using the basic pre-EUD medic healing system, but it's actually genius
Please log in to shout.


Members Online: Roy