Mercurial > wow > breuesk
comparison Lists.lua @ 28:eb3a3f69559e
Command to remove person
Disallow removing someone who is still on a list somewhere
author | John@Yosemite-PC |
---|---|
date | Sun, 11 Mar 2012 17:27:31 -0400 |
parents | 611808dbc0c0 |
children | 731182d55b6c |
comparison
equal
deleted
inserted
replaced
27:611808dbc0c0 | 28:eb3a3f69559e |
---|---|
420 local id = personName2id[name] | 420 local id = personName2id[name] |
421 if not id then | 421 if not id then |
422 bsk:Print(sformat("%s is not in the persons list, please check your spelling", name)) | 422 bsk:Print(sformat("%s is not in the persons list, please check your spelling", name)) |
423 return false | 423 return false |
424 end | 424 end |
425 local listsTheyreOn = {} | |
426 -- check if they're active on any loot list | |
427 for i,v in pairs(bsk.lists) do | |
428 for x,y in ipairs(v) do | |
429 if y.id == id then | |
430 tinsert(listsTheyreOn,v.name) | |
431 break | |
432 end | |
433 end | |
434 end | |
435 if getn(listsTheyreOn) > 0 then | |
436 self:Print(sformat("Cannot remove person %s because they are on one or more lists (%s)",name,table.concat(listsTheyreOn,", "))) | |
437 return false | |
438 end | |
425 local change = {action="RemovePerson",arg={id=id}} | 439 local change = {action="RemovePerson",arg={id=id}} |
426 bsk:StartChange(change) | 440 bsk:StartChange(change) |
427 if bsk:DoRemovePerson() then | 441 if bsk:DoRemovePerson(change) then |
428 bsk:CommitChange(change) | 442 bsk:CommitChange(change) |
429 end | 443 end |
430 end--}}} | 444 end--}}} |
431 function bsk:DoSuicidePerson(change)--{{{ | 445 function bsk:DoSuicidePerson(change)--{{{ |
432 local list = bsk.lists[change.arg.listIndex] | 446 local list = bsk.lists[change.arg.listIndex] |