From: Katie <ky...@us...> - 2009-04-30 12:42:10
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server/actions/admin In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv2859/src/games/stendhal/server/actions/admin Modified Files: SupportAnswerAction.java Log Message: add some shortcuts for answering common questions, mostly including links to the wiki, the faq, etc. They are accessed by doing /supportanswer playername $keyword where keywords are things like wiki, faq, etc. an unknown keyword sends the admin a list of existing ones incase they forgot or mistyped it. They are all suitably polite and friendly. Index: SupportAnswerAction.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/actions/admin/SupportAnswerAction.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** SupportAnswerAction.java 15 Mar 2009 18:15:11 -0000 1.15 --- SupportAnswerAction.java 30 Apr 2009 12:42:05 -0000 1.16 *************** *** 23,34 **** public void perform(final Player player, final RPAction action) { if (action.has(TARGET) && action.has(TEXT)) { final String message = player.getTitle() + " answers " + Grammar.suffix_s(action.get(TARGET)) ! + " support question: " + action.get(TEXT); ! new GameEvent(player.getName(), SUPPORTANSWER, action.get(TARGET), action.get(TEXT)).raise(); final Player supported = SingletonRepository.getRuleProcessor().getPlayer(action.get(TARGET)); if (supported != null) { ! supported.sendPrivateText("Support (" + player.getTitle() + ") tells you: " + action.get(TEXT) + " \nIf you wish to reply, use /support."); supported.notifyWorldAboutChanges(); SingletonRepository.getRuleProcessor().sendMessageToSupporters(message); --- 23,71 ---- public void perform(final Player player, final RPAction action) { if (action.has(TARGET) && action.has(TEXT)) { + String reply = action.get(TEXT); + + // test for use of standard response shortcut, and replace the reply message if so + if (reply.startsWith("$")) { + if("$faq".equals(reply)) { + reply = "Hi, you will find the answer to your question in the Stendhal FAQ. It's very helpful " + + "so read it thoroughly! #http://stendhal.game-host.org/wiki/index.php/StendhalFAQ"; + } else if ("$faqsocial".equals(reply)) { + reply = "Hi, this issue is discussed on the stendhal FAQ and how to deal with it is described there. " + + "Please read carefully " + + "#http://stendhal.game-host.org/wiki/index.php/StendhalFAQ#Player_social_problems"; + } else if ("$faqpvp".equals(reply)) { + reply = "Hi, this issue is discussed on the stendhal FAQ and how to deal with it is described there. " + + "Please read carefully " + + "#http://stendhal.game-host.org/wiki/index.php/StendhalFAQ#Player_vs_Player"; + } else if ("$wiki".equals(reply)) { + reply = "Hi, this is a question which is answered on the Stendhal wiki, please look on " + + "#http://stendhal.game-host.org/wiki/index.php/Stendhal as this is full of useful information."; + } else if ("$knownbug".equals(reply)) { + reply = "Hi, thank you for telling us about this bug, we have found it ourselves too and " + + "it's already reported. Thank you though!"; + } else if ("$bugstracker".equals(reply)) { + reply = "Hi, it sounds like you have found a new bug. Please could you create a bug report, " + + "details on how to do this are at #http://stendhal.game-host.org/wiki/index.php/SubmitBug " + + "- thank you very much."; + } else if ("$abuse".equals(reply)) { + reply = "That question is not suitable for support. Please use #http://stendhal.game-host.org and the wiki " + + "#http://stendhal.game-host.org/wiki/index.php/Stendhal as information sources. Repeated abuse of " + + "the support channel will be punished."; + } else { + player.sendPrivateText(reply + " is not a recognised shortcut. " + + " Did you mean $faq, $faqsocial, $faqpvp, $wiki, $knownbug, $bugstracker or $abuse?"); + // send no support answer message if the shortcut wasn't understood + return; + } + } + final String message = player.getTitle() + " answers " + Grammar.suffix_s(action.get(TARGET)) ! + " support question: " + reply; ! new GameEvent(player.getName(), SUPPORTANSWER, action.get(TARGET), reply).raise(); final Player supported = SingletonRepository.getRuleProcessor().getPlayer(action.get(TARGET)); if (supported != null) { ! supported.sendPrivateText("Support (" + player.getTitle() + ") tells you: " + reply + " \nIf you wish to reply, use /support."); supported.notifyWorldAboutChanges(); SingletonRepository.getRuleProcessor().sendMessageToSupporters(message); |