Awesome, thanks!
Powerhoof
Creator of
Recent community posts
It's a more advanced function so not so simple, but off the top of my head you can do PowerQuest.Get.GetCharacters() to get them all. Something like that anyway. It might have _saveNotDirtied or something in the function name, which indicates if you make changes you have to set the Dirty flag so changes will be saved.
Adjust, once you have the character you can check each one's VisibleInRoom property.
All Start/EndCutscene() does is set the place that pressing the "Skip cutscene" button will skip to. So if you have particularly long ones you want the player to be able to skip, etc. It doesn't disable any input or anything.
All "blocking" scripts are basically an uninteractive cutscene already. So just remove the Start/EndCutscene() functions so that you can't skip them ;)
Yeah GUI clicks are blocking so should be fine. Surprised the Update Blocking code didn't work, but I didn't test it so probably just a dumb mistake on my part ;)
Btw if you use discord it's a *lot* more active than these itch forums, and easier to post code there too to get help when something's not working.
Alright, this might need fixes since the code is just off the top of my head, but this is a basic way i'd have done it with UpdateBlocking.
In Header:
int m_combatCharacterId = -1;
In UpdateBlocking():
// Only try and show a dialog if there's none showing
if ( D.Current == null )
{
// Can add more characters here if necessary
ICharacter[] characters = new ICharacter[]{C.Jonah, C.Goliath, C.Eddy, C.NurseJan};
// Increment which character we're trying to show this update
m_combatCharacterId++;
if ( m_combatCharacterId >= characters.Length )
m_combatCharacterId = 0;
// Grab the character, and start their dialog tree if its time
ICharacter character = characters[m_combatCharacterId];
if(character.IsDead() == false && character.JoinedParty == true && character.TurnOrder == Character.TurnOrderMode.None)
{
Display: Showing {character.ScriptName} combat menu
E.GetDialogTree(character.ScriptName+"CombatMenu").Start();
}
}
End
It's a bit unintuitive, but showing a Dialog Trees isn't Blocking, (so that the player can still have control, and can save the game if they want, etc)
So you might have to split your logic into separate functions for each Dialog tree, and call them one at a time, from UpdateBlocking. You can check if D.Current ==null there to see if there's one showing. D.Previous also shows the last dialogue tree used if that's helpful.
Actually, another alternative which might suit you better though is to use E.WaitForInlineDialog, which *is* a blocking function...
https://powerquest.powerhoof.com/interface_power_tools_1_1_quest_1_1_i_power_que...
Cheers, I was definitely over-ambitious with this one, mainly because I'd spent a year thinking of ideas and had too much stuff to cram in to set up the next one ha ha. And yeah, I'd do a fix/polish pass for any combined steam version. If you have more specific feedback it'd be helpful for sure! Can email me dave at powerhoof.com if you dont want to here ;)
I'd recommend 2021 if you have issues on 2020. I know more recent mac's have issues with 2020, so might be the same for linux. There's lots of people in the discord running 2021 without issues. There are known issues with various powerquest things in versions later than that though. The games should play fine, but there's annoying editor issues that will mess you around when you encounter them unexpectedly down the track.
I'm in no rush to upgrade the base version at the moment, since there's practically nothing added that's useful for usual powerquest games, and it does run significantly slower with each version :P And since users actually get nothing out of "unity support" it's kinda pointless spending time re-fixing unity issues each time they update to try and keep updated. I frequently wish I was back on 2017 ha ha. Unity will always suggest you use the latest though since that's how they make money, I just wished they would focus on improving things rather than tacking on extra half-baked features ;)

































