// $Id: OLCMob.java,v 1.5 1999/06/05 23:29:12 greear Exp $
// $Revision: 1.5 $ $Author: greear $ $Date: 1999/06/05 23:29:12 $
//
//Hegemon Client Code: Java Client for ScryMUD Server Code
//Copyright (C) 1998 Ben Greear
//
//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either version 2
//of the License, or (at your option) any later version.
//
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// To contact the Author, Ben Greear: greear@cyberhighway.net, (preferred)
// greearb@agcs.com
//
import java.awt.*;
import java.awt.event.*;
class OLCMob extends Frame {
ClientDisplay parent;
HegemonManager hm;
MobPanel1 descriptions;
MobPanel2 mob_flags;
MobPanel4 short_cur_stats;
MobPanel5 eq_af_inv;
MobPanel6 mob_data;
MobCBListener cb_listener;
CardLayout cl;
public OLCMob(ClientDisplay par, HegemonManager h) {
super("Create a new Critter");
hm = h;
parent = par;
addWindowListener (new WindowAdapter () {
public void windowClosing (WindowEvent e) {
dispose();
}});
cb_listener = new MobCBListener(this);
setLayout (cl = new CardLayout());
descriptions = new MobPanel1(this);
add(descriptions, "Descriptions");
mob_flags = new MobPanel2(this, (ItemListener)(cb_listener));
add(mob_flags, "Mob Flags");
short_cur_stats = new MobPanel4(this);
add(short_cur_stats, "Various Stats");
eq_af_inv = new MobPanel5(this);
add(eq_af_inv, "Equipment");
mob_data = new MobPanel6(this);
add(mob_data, "Mob Data");
//set up defaults for enabled/disabled fields
eq_af_inv.handleProcData(false);
mob_data.handleProcData(false);
pack();
}//constructor
// These objects will be NumCheckBox objects
public void handleMobFlagsCB(int cb_num, boolean state) {
switch (cb_num) {
case 0: //HAS PROC DATA
eq_af_inv.handleProcData(state);
mob_data.handleProcData(state);
}//switch
}//handleCB
void do_cancel() {
dispose();
}
void do_help() {
hm.getHelpFrame().show("olc_mob.bml");
}
void do_submit() {
MessageDialog md =
new MessageDialog("Critter Creation",
"The data is being sent to the server, " +
"please wait for a confirmation.",
"green", "black");
parent.submitMob(this);
}
void goto_desc() {
cl.show(this, "Descriptions");
}
void goto_mob_flags() {
descriptions.getButtons().touchFlags();
mob_flags.getButtons().touchFlags();
short_cur_stats.getButtons().touchFlags();
eq_af_inv.getButtons().touchFlags();
mob_data.getButtons().touchFlags();
cl.show(this, "Mob Flags");
}
void goto_short_cur_stats() {
descriptions.getButtons().touchCurStats();
mob_flags.getButtons().touchCurStats();
short_cur_stats.getButtons().touchCurStats();
eq_af_inv.getButtons().touchCurStats();
mob_data.getButtons().touchCurStats();
cl.show(this, "Various Stats");
}
void goto_eq_af_inv() {
descriptions.getButtons().touchEq();
mob_flags.getButtons().touchEq();
short_cur_stats.getButtons().touchEq();
eq_af_inv.getButtons().touchEq();
mob_data.getButtons().touchEq();
cl.show(this, "Equipment");
}
void goto_mob_data() {
descriptions.getButtons().touchMobData();
mob_flags.getButtons().touchMobData();
short_cur_stats.getButtons().touchMobData();
eq_af_inv.getButtons().touchMobData();
mob_data.getButtons().touchMobData();
cl.show(this, "Mob Data");
}
///***************** Access Functions ***********************///
public final String getNames() {
return descriptions.getNames() + " ~";
}
public final String getShortDesc() {
return descriptions.getShortDesc();
}
public final String getInRoomDesc() {
return descriptions.getInRoomDesc();
}
public final String getDesc() {
return descriptions.getLongDesc() + "\n~";
}
/* from panel 2 */
public final String getMobFlags() {
return mob_flags.getMobFlags() + " -1";
}
public final String getLongData() {
return mob_flags.getLongData();
}
public final String getMobDataFlags() {
return mob_flags.getMobDataFlags() + " -1";
}
public final String getCurStats() {
return mob_flags.getCurStats();
}
/* from panel 3 */
public final String getShortCurStats1() {
return short_cur_stats.getShortCurStats1();
}
public final String getShortCurStats2() {
return short_cur_stats.getShortCurStats2();
}
public final String getShortCurStats3() {
return short_cur_stats.getShortCurStats3();
}
/* from panel 4 */
public final String getEQ() {
return eq_af_inv.getEQ() + " -1";
}
public final String getAffectedBy() {
return eq_af_inv.getAffectedBy() + " -1";
}
public final String getInv() {
return eq_af_inv.getInv() + " -1";
}
public final String getMxInGame() {
return eq_af_inv.getMxInGame();
}
public final String getSkinNum() {
return eq_af_inv.getSkinNum();
}
public final String getSpecData() {
return eq_af_inv.getSpecData();
}
public final String getSpecDataFlags() {
return eq_af_inv.getSpecDataFlags() + " -1";
}
/* from panel 5 */
public final String getPermInv() {
return mob_data.getPermInv() + " -1";
}
public final String getTeachDataFlags() {
return mob_data.getTeachDataFlags() + " -1";
}
public final String getShopData() {
return mob_data.getShopData();
}
public final String getShopDataFlags() {
return mob_data.getShopDataFlags() + " -1";
}
}//OLCMob
class MobPanel1 extends Panel {
OLCMob parent;
MobPaneButtons opb;
LabeledTextField names;
LabeledTextField short_desc;
LabeledTextField in_room_desc;
LabeledTextArea long_desc;
public MobPanel1(OLCMob par) {
super();
parent = par;
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout (gridbag);
int REM = GridBagConstraints.REMAINDER;
c.gridwidth = REM;
c.fill = GridBagConstraints.BOTH;
names = new LabeledTextField("Mob names:", "generic", 80);
gridbag.setConstraints(names, c);
add(names);
short_desc = new LabeledTextField("Short Description:",
"a generic critter", 80);
gridbag.setConstraints(short_desc, c);
add(short_desc);
in_room_desc = new LabeledTextField("In Room Desc:",
"A generic critter stands here.", 80);
gridbag.setConstraints(in_room_desc, c);
add(in_room_desc);
long_desc = new LabeledTextArea("Long Description:",
"A generic critter looks hopelessly vague.",
6, 80);
gridbag.setConstraints(long_desc, c);
add(long_desc);
opb = new MobPaneButtons(parent);
gridbag.setConstraints(opb, c);
add(opb);
}//constructor
public final String getNames() {
return names.getText();
}
public final String getShortDesc() {
return short_desc.getText();
}
public final String getInRoomDesc() {
return in_room_desc.getText();
}
public final String getLongDesc() {
return long_desc.getText();
}
public MobPaneButtons getButtons() {
return opb;
}
}//MobPanel1
class MobPanel2 extends Panel {
OLCMob parent;
MobPaneButtons opb;
LabeledCheckBoxGlob mob_flags;
LabeledCheckBoxGlob mob_data_flags;
LabeledTextBoxGlob cur_stats;
LabeledTextBoxGlob long_data;
/* constructor */
public MobPanel2(OLCMob par, ItemListener cb_listener) {
super();
parent = par;
int REM = GridBagConstraints.REMAINDER;
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout (gridbag);
c.gridwidth = REM;
c.fill = GridBagConstraints.BOTH;
mob_flags = new LabeledCheckBoxGlob("Critter Flags", 4, 5);
mob_flags.addBox(new NumCheckbox("is flying", false, 3));
mob_flags.addBox(new NumCheckbox("can climb", false, 5));
mob_flags.addBox(new NumCheckbox("gossip", true, 6));
mob_flags.addBox(new NumCheckbox("yell", true, 7));
mob_flags.addBox(new NumCheckbox("gratz", true, 8));
mob_flags.addBox(new NumCheckbox("auction", true, 9));
mob_flags.addBox(new NumCheckbox("shout", true, 10));
mob_flags.addBox(new NumCheckbox("say", true, 11));
mob_flags.addBox(new NumCheckbox("tell", true, 12));
mob_flags.addBox(new NumCheckbox("wiznet", false, 13));
mob_flags.addBox(new NumCheckbox("paralyzed", false, 14));
mob_flags.addBox(new NumCheckbox("perm sleeped", false, 15));
mob_flags.addBox(new NumCheckbox("dual wield", false, 16));
mob_flags.addBox(new NumCheckbox("sneak", false, 17));
mob_flags.addBox(new NumCheckbox("can dive", false, 19));
gridbag.setConstraints(mob_flags, c);
add(mob_flags);
mob_data_flags = new LabeledCheckBoxGlob("Mob Data Flags", 2, 4);
mob_data_flags.setListener(cb_listener);
mob_data_flags.addBox(new NumCheckbox("HAS PROC DATA", false, 0));
mob_data_flags.addBox(new NumCheckbox("scavenge", false, 1));
mob_data_flags.addBox(new NumCheckbox("wander", false, 2));
mob_data_flags.addBox(new NumCheckbox("edible corpse", false, 5));
mob_data_flags.addBox(new NumCheckbox("is_banker", false, 6));
mob_data_flags.addBox(new NumCheckbox("is_sessile", false, 7));
mob_data_flags.addBox(new NumCheckbox("NO Homing", false, 8));
mob_data_flags.addBox(new NumCheckbox("HAS SKIN", false, 16));
gridbag.setConstraints(mob_data_flags, c);
add(mob_data_flags);
long_data = new LabeledTextBoxGlob("Miscellaneous Data.", 3, 3);
long_data.addBox(new NumTextBox("Gold", "0", 0));
long_data.addBox(new NumTextBox("Exp Worth", "0", 1));
long_data.addBox(new NumTextBox("Bank Gold", "0", 2));
gridbag.setConstraints(long_data, c);
add(long_data);
cur_stats = new LabeledTextBoxGlob("Stats", 1, 3);
cur_stats.addBox(new NumTextBox("Vis Bits", "0", 0));
cur_stats.addBox(new NumTextBox("See Bits", "0", 1));
/* NOTE: in_room must be entered..but should be zero */
/* will not be seen in the GUI */
cur_stats.addBox(new NumTextBox("In_Room", "0", 2), true);
gridbag.setConstraints(cur_stats, c);
add(cur_stats);
opb = new MobPaneButtons(parent);
gridbag.setConstraints(opb, c);
add(opb);
}//constructor
public final String getLongData() {
return long_data.getText();
}
public final String getMobFlags() {
return mob_flags.getText();
}
public final String getMobDataFlags() {
return mob_data_flags.getText();
}
public final String getCurStats() {
return cur_stats.getText();
}
public MobPaneButtons getButtons() {
return opb;
}
}//MobPanel2
class MobPanel4 extends Panel {
OLCMob parent;
MobPaneButtons opb;
LabeledTextBoxGlob short_cur_stats;
public MobPanel4(OLCMob par) {
super();
parent = par;
int REM = GridBagConstraints.REMAINDER;
int REL = GridBagConstraints.RELATIVE;
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout (gridbag);
c.gridwidth = REM;
c.fill = GridBagConstraints.BOTH;
short_cur_stats = new LabeledTextBoxGlob("Critter Stats.", 8, 5);
/* 11 should be zero */
/* 22 zero */
/* 26 two */
/* 34 zero */
short_cur_stats.addBox(new NumTextBox("NULL", "0", 11), true);
short_cur_stats.addBox(new NumTextBox("NULL", "0", 22), true);
short_cur_stats.addBox(new NumTextBox("NULL", "2", 26), true);
short_cur_stats.addBox(new NumTextBox("NULL", "0", 34), true);
short_cur_stats.addBox(new NumTextBox("POS", "0", 0));
short_cur_stats.addBox(new NumTextBox("STR", "15", 1));
short_cur_stats.addBox(new NumTextBox("INT", "14", 2));
short_cur_stats.addBox(new NumTextBox("CON", "15", 3));
short_cur_stats.addBox(new NumTextBox("CHA", "14", 4));
short_cur_stats.addBox(new NumTextBox("WIS", "14", 5));
short_cur_stats.addBox(new NumTextBox("DEX", "14", 6));
short_cur_stats.addBox(new NumTextBox("HIT", "1", 7));
short_cur_stats.addBox(new NumTextBox("DAM", "1", 8));
short_cur_stats.addBox(new NumTextBox("AC", "60", 9));
short_cur_stats.addBox(new NumTextBox("Attacks", "1", 10));
short_cur_stats.addBox(new NumTextBox("SEX", "1", 12));
short_cur_stats.addBox(new NumTextBox("Class", "1", 13));
short_cur_stats.addBox(new NumTextBox("Race", "1", 14));
short_cur_stats.addBox(new NumTextBox("HP", "100", 15));
short_cur_stats.addBox(new NumTextBox("MANA", "100", 16));
short_cur_stats.addBox(new NumTextBox("MOV", "100", 17));
short_cur_stats.addBox(new NumTextBox("ALIGN", "50", 18));
short_cur_stats.addBox(new NumTextBox("Level", "5", 19));
short_cur_stats.addBox(new NumTextBox("HomeTown", "1", 20));
short_cur_stats.addBox(new NumTextBox("Wimpy", "0", 21));
short_cur_stats.addBox(new NumTextBox("HP_MAX", "100", 23));
short_cur_stats.addBox(new NumTextBox("MA_MAX", "100", 24));
short_cur_stats.addBox(new NumTextBox("MV_MAX", "100", 25));
short_cur_stats.addBox(new NumTextBox("DAM_Rec_divisor", "100", 27));
short_cur_stats.addBox(new NumTextBox("DAM_given_mult", "100", 28));
short_cur_stats.addBox(new NumTextBox("Heat Resis.", "80", 29));
short_cur_stats.addBox(new NumTextBox("Cold Resis", "80", 30));
short_cur_stats.addBox(new NumTextBox("Elec Resis", "100", 31));
short_cur_stats.addBox(new NumTextBox("Spel Resis", "90", 32));
short_cur_stats.addBox(new NumTextBox("Religion", "0", 33));
short_cur_stats.addBox(new NumTextBox("BH_Dice_Cnt", "2", 35));
short_cur_stats.addBox(new NumTextBox("BH_Dice_Side", "2", 36));
short_cur_stats.addBox(new NumTextBox("HP_regen", "100", 37));
short_cur_stats.addBox(new NumTextBox("MA_regen", "100", 38));
short_cur_stats.addBox(new NumTextBox("MV_regen.", "100", 39));
short_cur_stats.addBox(new NumTextBox("Guild", "0", 40));
short_cur_stats.addBox(new NumTextBox("Naked Weight", "150", 41));
/* these won't show up on the GUI */
short_cur_stats.addBox(new NumTextBox("NULL", "0", 42), true);
short_cur_stats.addBox(new NumTextBox("NULL", "0", 43), true);
short_cur_stats.addBox(new NumTextBox("NULL", "0", 44), true);
gridbag.setConstraints(short_cur_stats, c);
add(short_cur_stats);
opb = new MobPaneButtons(parent);
gridbag.setConstraints(opb, c);
add(opb);
}//Constructor
public final String getShortCurStats1() {
return short_cur_stats.getText(0, 14);
}
public final String getShortCurStats2() {
return short_cur_stats.getText(15, 29);
}
public final String getShortCurStats3() {
return short_cur_stats.getText(30, 44);
}
public MobPaneButtons getButtons() {
return opb;
}
}//ObjPanel4
class MobPanel5 extends Panel {
OLCMob parent;
MobPaneButtons opb;
LabeledTextField eq;
LabeledTextField affected_by;
LabeledTextField inv;
LabeledTextField mx_in_game;
LabeledTextField skin_num;
LabeledTextBoxGlob spec_data;
LabeledCheckBoxGlob spec_flags;
public MobPanel5(OLCMob par) {
super();
parent = par;
int REM = GridBagConstraints.REMAINDER;
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout (gridbag);
c.fill = GridBagConstraints.BOTH;
c.gridwidth = 1;
eq = new LabeledTextField("EQ", "", 40);
gridbag.setConstraints(eq, c);
add(eq);
c.gridwidth = REM;
affected_by = new LabeledTextField("Affected By", "", 40);
gridbag.setConstraints(affected_by, c);
add(affected_by);
c.gridwidth = 1;
mx_in_game = new LabeledTextField("Max In Game", "1", 10);
gridbag.setConstraints(mx_in_game, c);
add(mx_in_game);
skin_num = new LabeledTextField("Skin Number", "0", 10);
gridbag.setConstraints(skin_num, c);
add(skin_num);
c.gridwidth = REM;
inv = new LabeledTextField("Inventory", "", 40);
gridbag.setConstraints(inv, c);
add(inv);
spec_data = new LabeledTextBoxGlob("Spec Data (AI)", 2, 5);
spec_data.addBox(new NumTextBox("Posn Guarding", "0", 0));
spec_data.addBox(new NumTextBox("Skill Activity", "0", 1));
spec_data.addBox(new NumTextBox("Benevolence", "0", 2));
spec_data.addBox(new NumTextBox("Defensiveness", "0", 3));
spec_data.addBox(new NumTextBox("Bad-Assedness", "0", 4));
spec_data.addBox(new NumTextBox("Social Awareness", "0", 5));
gridbag.setConstraints(spec_data, c);
add(spec_data);
spec_flags = new LabeledCheckBoxGlob("Special Procedure Flags", 4, 3);
spec_flags.addBox(new NumCheckbox("SHOPKEEPER", false, 1));
spec_flags.addBox(new NumCheckbox("TEACHER", false, 2));
spec_flags.addBox(new NumCheckbox("same_class_pass", true, 3));
spec_flags.addBox(new NumCheckbox("same_race_pass", true, 4));
spec_flags.addBox(new NumCheckbox("has_mob_give_proc", false, 5));
spec_flags.addBox(new NumCheckbox("has_mob_discuss_proc", false, 6));
spec_flags.addBox(new NumCheckbox("has_mob_bow_proc", false, 7));
spec_flags.addBox(new NumCheckbox("has_mob_curse_proc", false, 8));
spec_flags.addBox(new NumCheckbox("is a racist", false, 9));
spec_flags.addBox(new NumCheckbox("same align only", false, 10));
spec_flags.addBox(new NumCheckbox("same class only", false, 11));
gridbag.setConstraints(spec_flags, c);
add(spec_flags);
opb = new MobPaneButtons(parent);
gridbag.setConstraints(opb, c);
add(opb);
}//Constructor
public void handleProcData(boolean state) {
spec_flags.setEnabled(state);
}
public final String getSpecData() {
return spec_data.getText();
}
public final String getSpecDataFlags() {
return spec_flags.getText();
}
public final String getMxInGame() {
return mx_in_game.getText();
}
public final String getSkinNum() {
return skin_num.getText();
}
public final String getEQ() {
return eq.getText();
}
public final String getAffectedBy() {
return affected_by.getText();
}
public final String getInv() {
return inv.getText();
}
public MobPaneButtons getButtons() {
return opb;
}
}//MobPanel5
class MobPanel6 extends Panel {
OLCMob parent;
MobPaneButtons opb;
LabeledTextField inv; /* perm inv, shopkeepers */
LabeledTextBoxGlob shop_data;
LabeledCheckBoxGlob spec_flags;
LabeledCheckBoxGlob shop_data_flags;
LabeledCheckBoxGlob teach_data_flags;
public void handleProcData(boolean state) {
inv.setEnabled(state);
shop_data.setEnabled(state);
shop_data_flags.setEnabled(state);
teach_data_flags.setEnabled(state);
}
public final String getPermInv() {
return inv.getText();
}
public final String getTeachDataFlags() {
return teach_data_flags.getText();
}
public final String getShopDataFlags() {
return shop_data_flags.getText();
}
public final String getShopData() {
return shop_data.getText();
}
public MobPaneButtons getButtons() {
return opb;
}
public MobPanel6(OLCMob par) {
super();
parent = par;
int REM = GridBagConstraints.REMAINDER;
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout (gridbag);
c.gridwidth = REM;
c.fill = GridBagConstraints.BOTH;
shop_data = new LabeledTextBoxGlob("Shop Data", 1, 5);
shop_data.addBox(new NumTextBox("Markup %", "200", 0));
shop_data.addBox(new NumTextBox("Buy %", "75", 1));
shop_data.addBox(new NumTextBox("Open Time", "8", 2));
shop_data.addBox(new NumTextBox("Close Time", "21", 3));
gridbag.setConstraints(shop_data, c);
add(shop_data);
shop_data_flags = new LabeledCheckBoxGlob("Shop Data Flags", 4, 5);
shop_data_flags.addBox(new NumCheckbox("buy_proc0", true, 0));
shop_data_flags.addBox(new NumCheckbox("sell_proc0", true, 1));
shop_data_flags.addBox(new NumCheckbox("offer_proc0", true, 2));
shop_data_flags.addBox(new NumCheckbox("dart_throwers", false, 46));
shop_data_flags.addBox(new NumCheckbox("bows", false, 47));
shop_data_flags.addBox(new NumCheckbox("darts", false, 48));
shop_data_flags.addBox(new NumCheckbox("arrows", false, 49));
shop_data_flags.addBox(new NumCheckbox("junk", false, 50));
shop_data_flags.addBox(new NumCheckbox("wands", false, 51));
shop_data_flags.addBox(new NumCheckbox("potions", false, 52));
shop_data_flags.addBox(new NumCheckbox("scrolls", false, 53));
shop_data_flags.addBox(new NumCheckbox("containers", false, 54));
shop_data_flags.addBox(new NumCheckbox("armor", false, 56));
shop_data_flags.addBox(new NumCheckbox("weapons", false, 57));
shop_data_flags.addBox(new NumCheckbox("lights", false, 58));
shop_data_flags.addBox(new NumCheckbox("canteens", false, 59));
shop_data_flags.addBox(new NumCheckbox("foods", false, 61));
shop_data_flags.addBox(new NumCheckbox("boats", false, 62));
shop_data_flags.addBox(new NumCheckbox("toolboxes", false, 64));
shop_data_flags.addBox(new NumCheckbox("cauldrons", false, 65));
shop_data_flags.addBox(new NumCheckbox("pens", false, 66));
shop_data_flags.addBox(new NumCheckbox("constr. comp", false, 67));
shop_data_flags.addBox(new NumCheckbox("conct. comp", false, 68));
shop_data_flags.addBox(new NumCheckbox("parchments", false, 69));
gridbag.setConstraints(shop_data_flags, c);
add(shop_data_flags);
inv = new LabeledTextField("Permanent Inventory", "", 40);
gridbag.setConstraints(inv, c);
add(inv);
teach_data_flags = new LabeledCheckBoxGlob(
"Teacher Data Flags: Will teach...", 2, 4);
teach_data_flags.addBox(new NumCheckbox("Warrior", false, 1));
teach_data_flags.addBox(new NumCheckbox("Sage", false, 2));
teach_data_flags.addBox(new NumCheckbox("Wizard", false, 3));
teach_data_flags.addBox(new NumCheckbox("Ranger", false, 4));
teach_data_flags.addBox(new NumCheckbox("Thief", false, 5));
teach_data_flags.addBox(new NumCheckbox("Alchemist", false, 6));
teach_data_flags.addBox(new NumCheckbox("Cleric", false, 7));
teach_data_flags.addBox(new NumCheckbox("Bard", false, 8));
gridbag.setConstraints(teach_data_flags, c);
add(teach_data_flags);
opb = new MobPaneButtons(parent);
gridbag.setConstraints(opb, c);
add(opb);
}//Constructor
}//MobPanel6
class MobPaneButtons extends Panel {
OLCMob parent;
Button descriptions;
Button mob_flags;
Button short_cur_stats;
Button eq;
Button mob_data;
public MobPaneButtons(OLCMob par) {
super();
parent = par;
Button cancel = new Button("Cancel");
Button submit = new Button("Submit");
descriptions = new Button("Descriptions");
mob_flags = new Button("Mob Flags");
short_cur_stats = new Button("Mob Stats");
eq = new Button("Equipment");
mob_data = new Button("Mob Data");
Button help = new Button("Help");
descriptions.setBackground(new Color(0, 255, 0));
mob_flags.setBackground(new Color(255, 0, 0));
short_cur_stats.setBackground(new Color(255, 0, 0));
eq.setBackground(new Color(255, 0, 0));
mob_data.setBackground(new Color(255, 0, 0));
FlowLayout fl = new FlowLayout();
setLayout(fl);
descriptions.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
parent.goto_desc();
}});
mob_flags.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
parent.goto_mob_flags();
}});
help.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
parent.do_help();
}});
short_cur_stats.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
parent.goto_short_cur_stats();
}});
eq.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
parent.goto_eq_af_inv();
}});
mob_data.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
parent.goto_mob_data();
}});
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
parent.do_cancel();
}});
submit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
parent.do_submit();
}});
add(submit);
add(cancel);
add(new Button("#######"));
add(descriptions);
add(mob_flags);
add(short_cur_stats);
add(eq);
add(mob_data);
add(help);
}//constructor
public void touchFlags() {
mob_flags.setBackground(new Color(0, 255, 0));
}
public void touchCurStats() {
short_cur_stats.setBackground(new Color(0, 255, 0));
}
public void touchEq() {
eq.setBackground(new Color(0, 255, 0));
}
public void touchMobData() {
mob_data.setBackground(new Color(0, 255, 0));
}
}//MButtonPanel
/** This class will listen to all check boxes and
tell the OLCMob class about them. */
class MobCBListener implements ItemListener {
OLCMob par;
public MobCBListener(OLCMob mob) {
super();
par = mob;
}
public void itemStateChanged(ItemEvent e) {
NumCheckbox ncb = (NumCheckbox)(e.getSource());
par.handleMobFlagsCB(ncb.getNum(), ncb.getState());
}
}//MobCBListener