require("common") Init = false --[[ 1.0 - 07-21-2015 - Release 1.2 - 09-16-2015 - Added Exp, Drop, & Critical buff options to serve as an efficient gold sink ]] -------------------------------------------------------------------------------------------------------------------------- -------------- Begin Data -------------- -------------------------------------------------------------------------------------------------------------------------- Var = { MessageData = { Fail = "BUFF_NPC_00", Success = "BUFF_NPC_01", }, AbstateData = { Stats = { [1] = { Index = "StaEventHpUp", Grade = 1, Duration = 7200000, }, [2] = { Index = "StaEventSpUp", Grade = 1, Duration = 7200000, }, [3] = { Index = "StaEventAcUp", Grade = 1, Duration = 7200000, }, [4] = { Index = "StaEventMrUp", Grade = 1, Duration = 7200000, }, }, Exp = { Index = "StaNPC_Exp", Grade = 1, Duration = 7200000, Cost = 1, }, Drop = { Index = "StaNPC_Drop", Grade = 1, Duration = 7200000, Cost = 1, }, Crit = { Index = "StaNPC_Crit", Grade = 1, Duration = 7200000, Cost = 1, }, }, } -------------------------------------------------------------------------------------------------------------------------- -------------- End Data -------------- -------------------------------------------------------------------------------------------------------------------------- function AutoBuffer01( Handle, MapIndex ) cExecCheck( "AutoBuffer01" ) if not Init then cAIScriptFunc(Handle, "NPCClick", "Click") cAIScriptFunc(Handle, "NPCMenu", "Menu") Init = true end end function Click( NPC, Handle, Count ) cExecCheck( "Click" ) cNPCMenuOpen(NPC, Handle) end function Menu(NPC, Handle, Count, Option) cExecCheck( "Menu" ) if Option == 1 then for i = 1, #Var.AbstateData.Stats do cSetAbstate( Handle, Var.AbstateData.Stats[i].Index, Var.AbstateData.Stats[i].Grade, Var.AbstateData.Stats[i].Duration ) end cScriptMessage_Obj(Handle, Var.MessageData.Success) end if Option == 2 then if cUseMoney(Handle, Var.AbstateData.Crit.Cost) == nil then cScriptMessage_Obj(Handle, Var.MessageData.Fail) else cSetAbstate( Handle, Var.AbstateData.Crit.Index, Var.AbstateData.Crit.Grade, Var.AbstateData.Crit.Duration ) cScriptMessage_Obj(Handle, Var.MessageData.Success) end end if Option == 3 then if cUseMoney(Handle, Var.AbstateData.Exp.Cost) == nil then cScriptMessage_Obj(Handle, Var.MessageData.Fail) else cSetAbstate( Handle, Var.AbstateData.Exp.Index, Var.AbstateData.Exp.Grade, Var.AbstateData.Exp.Duration ) cScriptMessage_Obj(Handle, Var.MessageData.Success) end end if Option == 4 then if cUseMoney(Handle, Var.AbstateData.Drop.Cost) == nil then cScriptMessage_Obj(Handle, Var.MessageData.Fail) else cSetAbstate( Handle, Var.AbstateData.Drop.Index, Var.AbstateData.Drop.Grade, Var.AbstateData.Drop.Duration ) cScriptMessage_Obj(Handle, Var.MessageData.Success) end end end