technobabble about what should be included (oToon, routine, etc)
{
initialize the script
}
objectdef oQuest inherits oBase
variable string ConfigDir = "${Script.CurrentDirectory}/quest/"
variable string ConfigFile = "quest.xml"
{
set states
{
idle
findquest
inquest
completedquest
turninquest
}
idle
{
/* find something to do */
}
findquest
{
/* find a quest */
}
inquest
{
/* go do the selected quest */
}
completedquest
{
/* did we finish the quest? if so move on to turning it in! */
}
turninquest
{
/* where should we go to turn it in? */
}
set npcstates
{
npchasquest
npchascompletedquest
}
npchasquest
{
getquest
}
npchascompletedquest
{
if npchasrewards
{
select reward by class?
{
equip reward - mark old to be sold/de'd
}
}
then
{
turninquest
}
else
{
turninquest
}
}
other npc stuff
{
npchasdialog
npchasrewards
}
npchasdialog
{
WoWScript SelectGossipOption(1-w/e) /* just for my sake of remembering */
}
npchasrewards
{
select reward by class?
{
equip reward - mark old to be sold/de'd
}
}
pickquesttodo
{
check my config file to find what quests we have or can pick up (based on level, also include quest #'s to fix any confusion with quest names)
{
if i have a quest then lets pick one at random and do it!
{
go to where i need to go to do these quests (call doquest)
{
check quest state
}
}
}
else
{
This:Output["Noob! You have no quests to do! Go find some!"]
}
doquest
{
pick the right QuestSet (same as locationset?) and move there
{
if killmobs or findobjects = true
}
then
{
member QuestSet
{
pick the right QuestSet from the config file!
}
member ClickGo
{
lets get moving already damnit!
}
}
else
{
gotonpc
}
}
}
/* extra stuff */
/* check the objective of the quest (do we kill mobs? or find objects? or just go to another NPC?) */
member killmobs
{
if questobjective = kill x of typeofmobs = true
then set killmobs true
else set false
}
member findobjects
{
if questobjective = find x of typeofobject = true
then set findobjects true
else set false
}
member gotonpc
{
if questobjective = go to specified npc
then set gotonpc true and call completedquest
else set false
}
/* check if the NPC has rewards or dialog and let it be used globally */
npchasdialog
{
WoWScript SelectGossipOption(1-w/e) /* just for my sake of remembering */
}
npchasrewards
{
select reward by class?
{
equip reward - mark old to be sold/de'd
}
}
/* general GUI shit and ways of making it collect data for the quest */
fill this in later
basically breaks down to;
pickupquest and log info (quest#)
was the quest from an item?
questlocation
npclocation
mappedareaforquest
questfinish
save to a config file in /quest/quest.xml
if questing is turned off, then lets quit this fucker and go back to grinding mindlessly like a silly boob!