1 /*
2  *  CVS: $Id: Give.java,v 1.6 2004/07/25 21:40:55 marcus Exp $
3  * 
4  *  This file is part of JZuul.
5  *
6  *  JZuul is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation; either version 2 of the License, or
9  *  (at your option) any later version.
10 *
11 *  JZuul is distributed in the hope that it will be useful,
12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 *  GNU General Public License for more details.
15 *
16 *  You should have received a copy of the GNU General Public License
17 *  along with Zuul; if not, write to the Free Software
18 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 * 
20 *  Copyrigth 2004 by marcus, leh
21 * 
22 */
23
24package org.jzuul.engine.commands;
25
26import java.text.MessageFormat;
27
28import org.jzuul.engine.*;
29import org.jzuul.engine.Character;
30import org.jzuul.engine.GameObject;
31import org.jzuul.engine.Engine;
32
33
34/**
35 * 
36  */
37public class Give extends Command {
38    /**
39     * 
40     */
41    public Give() {
42        super();
43        this.name = "give"; //$NON-NLS-1$
44        this.arguments = 3;
45        this.desc = Messages.getString("GIVE_HELP"); //$NON-NLS-1$
46    }
47
48    protected boolean action() {
49        String objName = args[0];
50        String charName = args[2];
51        Object[] formatArgs = { objName, charName };
52        GameObject obj = player.findGameObject(objName);
53        if (obj == null) return false;
54        this.objectName = obj.getName();
55        Character npc;
56        GameObject NPCobj = player.findGameObject(charName);
57        if (NPCobj==null) return false;
58        if (!(NPCobj instanceof Character)) {
59            player.say(MessageFormat.format(Messages.getString("GIVE_ERROR"),formatArgs)); //$NON-NLS-1$
60            return false;
61        } else {
62            npc = (Character)NPCobj;
63        }
64        return npc.take(obj); 
65    }
66
67    public void help() {
68        super.help();
69        Engine.gui.println(Messages.getString("GIVE_HELP_USAGE")); //$NON-NLS-1$
70        
71    }
72
73}
74
75