Before:
Mprog 10501
if qstatus 10500 $n>= 12 mob remember $n say Hey $N. You have done a good job at helping to keep the vermin down. smile $n mob call 10245 else if qstatus 10500 $n> 0 and qstatus 10500 $n <12 say You're doing a good job. Keep up the good work. say Come back when you have killed some more rats. reassure $n else say You need to kill at least a dozen rats before you can claim your reward. endif endif
Mprog 10245
* {WRandom QP Reward from Vermin Inspector{x
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 1
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 2
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 3
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 4
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 5
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 6
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 7
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 8
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 9
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 10
mob forget
else
mob call 10245
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
After
Mprog 10501
-- {yVermin Inspector Reward Mprog{x vreward=vreward or function(ch, killed) local rewardcnt=math.floor(killed/12) if rewardcnt==0 then return end for i=1,rewardcnt do local rwd=randnum(1,10) reward( ch.name.." qp "..rwd ) qadvance(ch.name.." 10500 -12" ) end end local killed=ch:qstatus(10500) if killed>= 12 then say("Hey "..ch.name..". You have a done a good job at helping to keep the vermin down.") mdo("smile "..ch.name) vreward(ch, killed) elseif killed> 0 and killed <12 then say( "You're doing a good job. Keep up the good work." ) say( "Come back when you have killed some more rats." ) mdo( "reassure "..ch.name ) else say( "You need to kill at least a dozen rats before you can claim your reward." ) end