public void registerListeners(PropertyChangeSupport pcs){
  PropertyChangeListener listener=new HPChangeListener();
  addPropertyChangeListenerWithModifiedSupport(pcs,"base_hp",listener);
  addPropertyChangeListenerWithModifiedSupport(pcs,"hp",listener);
  listener=new ATKChangeListener();
  addPropertyChangeListenerWithModifiedSupport(pcs,"atk",listener);
  pcs.addPropertyChangeListener("atk_xp",listener);
  listener=new DEFChangeListener();
  addPropertyChangeListenerWithModifiedSupport(pcs,"def",listener);
  pcs.addPropertyChangeListener("def_xp",listener);
  if (Testing.COMBAT) {
    listener=new RATKChangeListener();
    addPropertyChangeListenerWithModifiedSupport(pcs,"ratk",listener);
    pcs.addPropertyChangeListener("ratk_xp",listener);
  }
  listener=new XPChangeListener();
  pcs.addPropertyChangeListener("xp",listener);
  listener=new LevelChangeListener();
  addPropertyChangeListenerWithModifiedSupport(pcs,"level",listener);
  listener=new WeaponChangeListener();
  pcs.addPropertyChangeListener("atk_item",listener);
  listener=new ArmorChangeListener();
  pcs.addPropertyChangeListener("def_item",listener);
  if (Testing.COMBAT) {
    listener=new RangedWeaponChangeListener();
    pcs.addPropertyChangeListener("ratk_item",listener);
  }
  listener=new MoneyChangeListener();
  for (  String slot : MONEY_SLOTS) {
    pcs.addPropertyChangeListener(slot,listener);
  }
  listener=new EatingChangeListener();
  pcs.addPropertyChangeListener("eating",listener);
  pcs.addPropertyChangeListener("choking",listener);
  listener=new StatusChangeListener();
  for (  StatusID id : StatusID.values()) {
    pcs.addPropertyChangeListener(id.getAttribute(),listener);
  }
  listener=new AwayChangeListener();
  pcs.addPropertyChangeListener("away",listener);
  listener=new GrumpyChangeListener();
  pcs.addPropertyChangeListener("grumpy",listener);
  listener=new KarmaChangeListener();
  pcs.addPropertyChangeListener("karma",listener);
  listener=new ManaChangeListener();
  addPropertyChangeListenerWithModifiedSupport(pcs,"base_mana",listener);
  addPropertyChangeListenerWithModifiedSupport(pcs,"mana",listener);
}

public void registerListeners ( PropertyChangeSupport pcs ) { PropertyChangeListener listener = new HPChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "base_hp" , listener ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "hp" , listener ) ; listener = new ATKChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "atk" , listener ) ; pcs . addPropertyChangeListener ( "atk_xp" , listener ) ; listener = new DEFChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "def" , listener ) ; pcs . addPropertyChangeListener ( "def_xp" , listener ) ; if ( Testing . COMBAT ) { listener = new RATKChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "ratk" , listener ) ; pcs . addPropertyChangeListener ( "ratk_xp" , listener ) ; } listener = new XPChangeListener ( ) ; pcs . addPropertyChangeListener ( "xp" , listener ) ; listener = new LevelChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "level" , listener ) ; listener = new WeaponChangeListener ( ) ; pcs . addPropertyChangeListener ( "atk_item" , listener ) ; listener = new ArmorChangeListener ( ) ; pcs . addPropertyChangeListener ( "def_item" , listener ) ; if ( Testing . COMBAT ) { listener = new RangedWeaponChangeListener ( ) ; pcs . addPropertyChangeListener ( "ratk_item" , listener ) ; } listener = new MoneyChangeListener ( ) ; for ( String slot : MONEY_SLOTS ) { pcs . addPropertyChangeListener ( slot , listener ) ; } listener = new EatingChangeListener ( ) ; pcs . addPropertyChangeListener ( "eating" , listener ) ; pcs . addPropertyChangeListener ( "choking" , listener ) ; listener = new StatusChangeListener ( ) ; for ( StatusID id : StatusID . values ( ) ) { pcs . addPropertyChangeListener ( id . getAttribute ( ) , listener ) ; } listener = new AwayChangeListener ( ) ; pcs . addPropertyChangeListener ( "away" , listener ) ; listener = new GrumpyChangeListener ( ) ; pcs . addPropertyChangeListener ( "grumpy" , listener ) ; listener = new KarmaChangeListener ( ) ; pcs . addPropertyChangeListener ( "karma" , listener ) ; listener = new ManaChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "base_mana" , listener ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "mana" , listener ) ; }
add listeners for all the properties this object follows .
