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!