Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Axis & Allies 1942 Online is now available in Early Access! Buy it on Steam. The FAQ is available.
New Premium Module: Tyrants of the Moonsea! Read More
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

[MOD] EEex (v0.6.0-alpha)

11920212224

Comments

  • OlvynChuruOlvynChuru Member Posts: 2,244
    Bubb wrote: »
    I was brainstorming a bit. Is there any reason to externalize which familiar the engine chooses for find familiar, and the hardcoded link to the protagonist? Modders can already make "lite" familiars with the
    AddFamiliar()
    

    script action, so would externalizing Opcode #192 really help anything?

    There is one issue I'm aware of. Adding a summoned creature as a familiar doesn't let them transition between areas correctly. I was wondering if there was any way to make it so regular summoned creatures can serve as familiars and transition between areas normally, without significantly changing the way the creature is summoned (this way, it could easily be patched onto existing summoning spells without causing problems). I suspect this will probably just involve flipping one number with a Lua function.

    GrammarsaladCrevsDaakBubblolien
  • UlbUlb Member Posts: 267
    Apologies for going off topic for a quick question but this seems like a really good place to ask right now..

    Would any of you know whether adding a large number of familiars to the game saves has a detrimental effect on game performance?
    Alternatively, is there a way to remove familiars from gam files?

    I'm thinking of a kit that gets to take permanent control of a creature until it dies and can then get a new creature, meaning I would end up with a really large number of familiars by the end of the game.

    Bubb
  • OlvynChuruOlvynChuru Member Posts: 2,244
    Ulb wrote: »
    I'm thinking of a kit that gets to take permanent control of a creature until it dies and can then get a new creature, meaning I would end up with a really large number of familiars by the end of the game.

    The Seducer kit already does something along those lines.

    Ulblolien
  • UlbUlb Member Posts: 267
    edited July 21
    @OlvynChuru
    I'm aware of the kit but I wasn't sure how much testing went into it (no offense).
    I'm just a little concerned that adding 50+ familiars might impact game performance...

    @Bubb
    Another question/possibly feature request:

    When a wild surge is averted due to the caster's wild surge bonus no string gets displayed (it just says "Wild Surge: <blank/notext>") is there a way to change that?

    I'm not sure how the wild surge bonus works. If it is simply added to the wild surge roll and the game still looks at the wild surge table it might already be possible to set a string by extending the wild surge table up to 200, if it somehow just blocks rolls lower than the caster's wild surge bonus, then EEex might be needed to change that?

    Edit: Nevermind, I just tested it and it looks like extending the table to 200 does indeed solve the issue.

    Post edited by Ulb on
  • UlbUlb Member Posts: 267
    @Bubb Awesome, thank your for the detailed explanation! Looks like there will be no issues then with the kit. :)

    lolien
  • Luke93Luke93 Member, Mobile Tester Posts: 1,193
    edited July 22
    Bubb wrote: »
    If the familiars are added with a simple AddFamiliar(), without becoming global, they act pretty much like an ally - there should be no performance change.

    Are there any other significant differences between a simple AddFamiliar() and the combo AddFamiliar() + MakeGlobal() ? Also, shouldn't the combo include a ChangeEnemyAlly(Myself,FAMILIAR) too? Or does AddFamiliar() take care of that?
    // Sample code
    IF
    	True()
    THEN
    	RESPONSE #100
    		MakeGlobal()
    		ChangeEnemyAlly(Myself,FAMILIAR)	// Useless...?
    		AddFamiliar()
    END
    

    @Ulb

    Beware of this bug when playing with AddFamiliar()...

  • UlbUlb Member Posts: 267
    @Luke93
    Interesting, now that you mention it I seem to remember wondering why my familiars didn't show up with the proper class UI, back when I made my animal companions mod.
    Now I know why. :)

    As for, MakeGlobal()/AddFamiliar(), I always assumed you need MakeGlobal() to enable (master) area transition for familiars?

  • GrammarsaladGrammarsalad Member Posts: 2,473
    edited July 24
    Ulb wrote: »
    @Bubb

    Here we go again with some more feature requests/suggestions...

    1. Would it be possible to suppress the hard coded wild surge graphics for specific rolls?
    Specifically, I'd like a way to suppress the graphics for rolls 100+. Not sure what the best way of implementation would be as the opcode is already pretty crowded. Maybe an extra entry in wildmag.2da?

    2. Stoneskin (maybe I've ask for this before).. Would it be possible to allow us to suppress the hardcoded visual effect similar to how EEex handles it for wild surges already? It's an old ToBEX feature that Beamdog never implemented despite countless please (not all of them form me :P )
    Also, if we could specify which types of damage should be absorbed, that would allow for so many neat things..

    Oh, I'm really liking #2 (especially that "also")

    BubbCrevsDaakAndreaColombo
  • OlvynChuruOlvynChuru Member Posts: 2,244
    @Ulb
    Ulb wrote: »
    2. Stoneskin (maybe I've ask for this before).. Would it be possible to allow us to suppress the hardcoded visual effect similar to how EEex handles it for wild surges already? It's an old ToBEX feature that Beamdog never implemented despite countless please (not all of them form me :P )
    Also, if we could specify which types of damage should be absorbed, that would allow for so many neat things..

    This should be possible to do with opcode 403 (Screen Effects). I'll see if I can make a function that does this.

    BubbGrammarsaladCrevsDaakUlb
  • Luke93Luke93 Member, Mobile Tester Posts: 1,193
    @Bubb

    Thanks for your detailed explanation, I added it to my bug report.

    Also, can you confirm this issue affects RemoveFamiliar() as well?

  • UlbUlb Member Posts: 267
  • OrangePulpOrangePulp Member Posts: 5
    Bubb wrote: »
    Been working for the past day or two on a wonderful suggestion made by @raizo in my spell menu mod's thread:
    1. To be able to know what spells enemies are under, without combing through the dialog box. Something like a pop-up on mouse hover?
    Just imagine, 5 cowled enforcers start their contingencies all at once. Then you have to comb through the dialog box to know which spell is whose.

    And here's the result, (only made to be proof-of-concept, mind you):


    When the player presses LShift Spell-Inspection mode is enabled, which then pops up on hover all the named spells which have put effects on the creature.

    Any way to get this working in the current alpha release? Just found this (incredible work, by the way), and I'd love to use this to simplify mage duels.

  • ALIENALIEN Member Posts: 897
    @Bubb
    kjeron wrote: »
    Pausing the game at the same moment a spell is applied is and has always been broken - it can cause a single spell to use multiple save, magic resistance, and probability rolls, breaking the mechanics of effect application. At it's worst, it can cause every single effect in a spell to use a separate roll.
    Is there any way for hijack 'pause game' command, check if spells are applied at this particular moment and if yes, delay actual execution of the 'pause game' command until spells will be applied/saving throws processed?

    CrevsDaak
  • Luke93Luke93 Member, Mobile Tester Posts: 1,193
    edited July 29
    ALIEN wrote: »
    Is there any way for hijack 'pause game' command, check if spells are applied at this particular moment and if yes, delay actual execution of the 'pause game' command until spells will be applied/saving throws processed?

    FWIW, this issue is known to the developers and will hopefully be fixed soon.......

    CrevsDaak
  • AndreaColomboAndreaColombo Member Posts: 5,320
    I think @Tresset has a mod that applies a small delay to the auto-pause to prevent that issue from happening.

    CrevsDaak
  • kjeronkjeron Member Posts: 2,003
    Bubb wrote: »
    Can anyone think of why the engine would resolve all effects whenever any one effect is added in the above? If a spell has 10+ effects that means the engine would go over the creature's whole effects list *10* times, which strikes me as a bit inefficient. @kjeron ?
    It might be necessary for pausing dialog's, so they can update and check local variables on the creature. Otherwise I have no clue.

    AndreaColombololienBubbCrevsDaak
  • subtledoctorsubtledoctor Member Posts: 11,175
    Ulb wrote: »
    Stoneskin ... if we could specify which types of damage should be absorbed, that would allow for so many neat things..

    I'm pretty sure I've sketched somewhere how this could already be done in the 2.5 engine, no hacking required. But I don't recall where that discussion was... I have a LOT of ideas like this that I mention somewhere, and then they drift away. Only a few get implemented for real.

  • GalactygonGalactygon Member, Developer Posts: 377
    kjeron wrote: »
    Bubb wrote: »
    Can anyone think of why the engine would resolve all effects whenever any one effect is added in the above? If a spell has 10+ effects that means the engine would go over the creature's whole effects list *10* times, which strikes me as a bit inefficient. @kjeron ?
    It might be necessary for pausing dialog's, so they can update and check local variables on the creature. Otherwise I have no clue.

    That would be a major fix, actually. Auto-pause: spell cast borks any "immunity/protection from <RESOURCE>" effects if the spell doesn't have a projectile i.e. if you cast Vampiric Touch onto yourself. Local variables are mostly changed directly in the dialogue tree rather than directly via some other spell so I don't see this being an issue.

    AndreaColomboBubbCrevsDaakGrammarsalad
  • OrangePulpOrangePulp Member Posts: 5
    Bubb wrote: »
    When I get back into things I'll make a module that has the "spell inspector" functionality. :)

    Awesome, you're the best. Will be fun to play around with once I've got something to work off, too.

    Bubb
  • OlvynChuruOlvynChuru Member Posts: 2,244
    edited August 3
    @Bubb Thank you!

    I sent you a pull request! I made it so EEex_MatchObjectEx is added to ACTION.IDS automatically.

    Also, I think this would be better as a trigger or an object.

    Post edited by OlvynChuru on
    GrammarsaladBubbCrevsDaak
  • BubbBubb Member Posts: 656
    Here's a quick design decision: Should the EEex_MatchObject() trigger fail if it doesn't find an object? This functionality can easily be reproduced by adding an Exists(EEex_MatchObject) after said trigger.

    I guess the real question is, would there be any reason for a script block to continue if an object match fails?

    CrevsDaak
Sign In or Register to comment.