# Save a remote deck with any name, defaulting to the local name. # # Copyright (C) 2001,2002,2003,2004 Tommi Ronkainen # # Some modifications (C) 2006 Neil Moore . # # Neil Moore , 2006-01-22: # Added help for the deck registration commands from Daniel McNair's new # metaserver. See http://gln.amacid.com:8000/wiki/GivingDecks . # # Distributed under the terms of the GNU GPL, version 2. See COPYING # for details. if(msg.box != NULL) { Msg("Loading {gold}Saverd.command"); } # /saverd [deck]: save current deck on the server, with the name [deck] # (which defaults to the local name). Based on ChatCommandRd() in # client.functions. def ChatCommandSaverd { push(name); if(length(ARG) == 0) { name = deck.name; } else { name = join(ARG, " "); } if(deck.name != NULL) { push(d); for(p)(keys(decks{deck.name})) decks{deck.name}{p}=sort(decks{deck.name}{p}); d=sort(flatten(values(decks{deck.name}))); d=sort(forall('(count(#,d),#)',unique(d))); SendMeta("RegisterDeck",(name,d,decks{deck.name})); d=pop(); } name=pop(); } def WatchCommandSaverd { ChatCommandSaverd(ARG); } HELP{"chat"}{"saverd"}=("[{orange}deck{yellow}]","register deck with server", NULL, "Save the current deck as a registered deck on the server. If {yellow}{white} is given, save with that name; otherwise, use the local name. {cyan}/saverd default{reset} is equivalent to {cyan}/rd{reset}."); HELP{"watch"}{"saverd"}=HELP{"chat"}{"saverd"}; HELP{"chat"}{"ro"}=("[{orange}deck{yellow}]","restore registered deck", NULL, "Restore a deck from the server. If {yellow}{reset} is given, restore the deck with that name. Otherwise, restore the {green}default{reset} deck. {orange}Be careful---this command replaces your current deck!{white}"); HELP{"watch"}{"ro"}=HELP{"chat"}{"ro"}; HELP{"chat"}{"listrds"}=("","list registered decks", NULL, "List the names of decks you have registered on the server."); HELP{"watch"}{"listrds"}=HELP{"chat"}{"listrds"}; HELP{"chat"}{"copyrd"}=("{orange}deck{yellow}> {white}to {yellow}<{orange}deck2{yellow}","copy registered deck", NULL, "Make a new copy, named {yellow}{reset}, of the registered deck {yellow}{reset}."); HELP{"watch"}{"copyrd"}=HELP{"chat"}{"copyrd"}; HELP{"chat"}{"renamerd"}=("{orange}deck{yellow}> {white}to {yellow}<{orange}deck2{yellow}","rename registered deck", NULL, "Change the name of the registered deck {yellow}{reset} to {yellow}{reset}."); HELP{"watch"}{"renamerd"}=HELP{"chat"}{"renamerd"}; HELP{"chat"}{"deleterd"}=("{orange}deck{yellow}","delete registered deck", NULL, "Delete the registered deck named {yellow}{reset}."); HELP{"watch"}{"deleterd"}=HELP{"chat"}{"deleterd"}; HELP{"chat"}{"giverd"}=("{orange}deck{yellow}> {white}to {yellow}<{orange}user{yellow},[{orange}newname{yellow}]","give registered deck to another player", NULL, "Give a copy of the registered deck named {yellow}{reset} to {yellow}{reset}. That user can retrieve the deck with {cyan}/ro{reset}. If {yellow}{reset} is specified, that player's copy of the deck will have that name; otherwise, your name for the deck is the default."); HELP{"watch"}{"giverd"}=HELP{"chat"}{"giverd"};