isSilent means that the quest will do no in-game notification (like in edit mode) isMain -- only changes the icon of the quest in order to mark it as the main quest (e.g. goal of a quest line) globalQuest -- send the notification to every player on a server, otherwise only the player who finished the quest. Does ist also mean that everybody needs to participate in it? Or at least minimum of globalParticipation? lockedProgress -- unsure: can mean that you can do the quest although the requirements are not yet met simultaneous -- no idea, has something to do whether tasks should be updated. It could mean that in case of a party the quest is finished for all members globalParticipation -- could mean the lowest amount of people who need to have finished the task to get the reward globalShare -- only one person gets the reward, not everybody autoClaim -- rewards are automatically claimed logic -- the logic of the prerequisites for a quest taskLogic -- the logic for how many tasks need to be finished. visibility -- when a task is visible (see below) prerequisistes -- a list of quest ids which are prereqs to this quest
visibility constants:
HIDDEN -- never shown UNLOCKED -- only shown when unlocked or completed (all prereqs are met or lockedProgress is True) NORMAL -- only show quest if any of the parent quests (only those in the GUI) is unlocked. It's showing one in advance COMPLETED -- only shown when completed (kind of a quest you didn't know had to do) CHAIN -- show this quest if any of the parent quest is shown (not unlocked but shown). That way a new line of quests could show up if their upper parent is unlocked/shown and all are set to chain. ALWAYS -- always shown
You can see some references to the GUI here. Parents in the visibility computation are only those which are also in the current quest line and thus shown on screen. Quests in other quest lines do not count as parents. So if you want to show up the first quest in a new line you should set it to UNLOCKED and then have a quest from a previous line as requirement. UNLOCKED only checks prereqs overall and not GUI parents. GUI parents are only those which actually show a line.
Logic description:
AND, // All complete
NAND, // Any incomplete
OR, // Any complete
NOR, // All incomplete
XOR, // Only one complete
XNOR; // Only one incomplete
Is this correct?
if(GetParticipation(uuid) < globalParticipation)
{
return true;
} else if(!globalShare)
Should this be >= ? Probably correct as it's checking for claimed.