public void SaveItem(NpcData item)
 {
     item.Type = (string)lstTypes.Text;
     item.SetValue(NpcData.VAR_LEVEL, txtLevel.Text);
     item.SetValue(NpcData.VAR_NPC_AI, setAI(txtAI.Text));
     item.SetValue(NpcData.VAR_ACQUIRE_EXP_RATE, txtAcquireExpRate.Text);
     item.SetValue(NpcData.VAR_ACQUIRE_SP, txtAcquireSp.Text);
     item.SetValue(NpcData.VAR_UNSOWING, chkUnsowing.IsChecked);
     item.SetValue(NpcData.VAR_CLAN, lstClan.Text);
     item.SetValue(NpcData.VAR_IGNORE_CLAN_LIST, lstIgnoreClanList.Text);
     item.SetValue(NpcData.VAR_CLAN_HELP_RANGE, txtClanHelpRange.Text);
     item.SetValue(NpcData.VAR_SLOT_CHEST, StringUtils.setString(txtSlotChest.Text));
     item.SetValue(NpcData.VAR_SLOT_RHAND, StringUtils.setString(txtSlotRHand.Text));
     item.SetValue(NpcData.VAR_SLOT_LHAND, StringUtils.setString(txtSlotLHand.Text));
     item.SetValue(NpcData.VAR_SHIELD_DEFENSE_RATE, txtShieldDefenseRate.Text);
     item.SetValue(NpcData.VAR_SHIELD_DEFENSE, txtShieldDefense.Text);
     item.SetValue(NpcData.VAR_RACE, lstRace.Text);
     item.SetValue(NpcData.VAR_SEX, setSex(lstSex.SelectedIndex));
     item.SetValue(NpcData.VAR_UNDYING, chkUndying.IsChecked);
     item.SetValue(NpcData.VAR_CAN_BE_ATTACKED, chkCanBeAttacked.IsChecked);
     item.SetValue(NpcData.VAR_CORPSE_TIME, txtCorpseTime.Text);
     item.SetValue(NpcData.VAR_NO_SLEEP_MODE, chkNoSleepMode.IsChecked);
     item.SetValue(NpcData.VAR_AGRO_RANGE, txtAgroRange.Text);
     item.SetValue(NpcData.VAR_GROUND_HIGH, setFirstTri(txtGroundHigh.Text));
     item.SetValue(NpcData.VAR_GROUND_LOW, setFirstTri(txtGroundLow.Text));
     item.SetValue(NpcData.VAR_EXP, txtExp.Text);
     item.SetValue(NpcData.VAR_ORG_HP, txtOrgHp.Text);
     item.SetValue(NpcData.VAR_ORG_HP_REGEN, txtOrgHpRegen.Text);
     item.SetValue(NpcData.VAR_ORG_MP, txtOrgMp.Text);
     item.SetValue(NpcData.VAR_ORG_MP_REGEN, txtOrgMpRegen.Text);
     item.SetValue(NpcData.VAR_COLLISION_RADIUS, setDual(txtCollisionRadius.Text));
     item.SetValue(NpcData.VAR_COLLISION_HEIGHT, setDual(txtCollisionHeight.Text));
     item.SetValue(NpcData.VAR_STR, txtStr.Text);
     item.SetValue(NpcData.VAR_INT, txtInt.Text);
     item.SetValue(NpcData.VAR_DEX, txtDex.Text);
     item.SetValue(NpcData.VAR_WIT, txtWit.Text);
     item.SetValue(NpcData.VAR_CON, txtCon.Text);
     item.SetValue(NpcData.VAR_MEN, txtMen.Text);
     item.SetValue(NpcData.VAR_BASE_ATTACK_TYPE, lstBaseAttackType.Text);
     item.SetValue(NpcData.VAR_BASE_ATTACK_RANGE, txtBaseAttackRange.Text);
     //
     string[] baseDamageRange = new string[] { "0", "0", txtBaseDamageRange_angle.Text, txtBaseDamageRange_distance.Text };
     item.SetValue(NpcData.VAR_BASE_DAMAGE_RANGE, setDamageRange(baseDamageRange));
     //
     item.SetValue(NpcData.VAR_BASE_RAND_DAM, txtBaseRandDam.Text);
     item.SetValue(NpcData.VAR_BASE_PHYSICAL_ATTACK, txtBasePhysicalAttack.Text);
     item.SetValue(NpcData.VAR_BASE_CRITICAL, txtBaseCritical.Text);
     item.SetValue(NpcData.VAR_PHYSICAL_HIT_MODIFY, txtPhysicalHitModify.Text);
     item.SetValue(NpcData.VAR_BASE_ATTACK_SPEED, txtBaseAttackSpeed.Text);
     item.SetValue(NpcData.VAR_BASE_REUSE_DELAY, txtBaseReuseDelay.Text);
     item.SetValue(NpcData.VAR_BASE_MAGIC_ATTACK, txtBaseMagicAttack.Text);
     item.SetValue(NpcData.VAR_BASE_DEFEND, txtBaseDefend.Text);
     item.SetValue(NpcData.VAR_BASE_MAGIC_DEFEND, txtBaseMagicDefend.Text);
     item.SetValue(NpcData.VAR_PHYSICAL_AVOID_MODIFY, txtPhysicalAvoidModify.Text);
     item.SetValue(NpcData.VAR_SOULSHOT_COUNT, txtSoulshotCount.Text);
     item.SetValue(NpcData.VAR_SPIRITSHOT_COUNT, txtSpiritShotCount.Text);
     item.SetValue(NpcData.VAR_HIT_TIME_FACTOR, txtHitTimeFactor.Text);
     item.SetValue(NpcData.VAR_SAFE_HEIGHT, txtSafeHeight.Text);
 }