summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/net')
-rw-r--r--src/net/ea/eaprotocol.h50
-rw-r--r--src/net/eathena/beingrecv.cpp12
-rw-r--r--src/net/eathena/playerhandler.cpp89
-rw-r--r--src/net/eathena/playerrecv.cpp6
-rw-r--r--src/net/eathena/sp.h76
-rw-r--r--src/net/tmwa/playerhandler.cpp87
-rw-r--r--src/net/tmwa/sp.h76
7 files changed, 248 insertions, 148 deletions
diff --git a/src/net/ea/eaprotocol.h b/src/net/ea/eaprotocol.h
index 3f71cf7e4..83a4d24e3 100644
--- a/src/net/ea/eaprotocol.h
+++ b/src/net/ea/eaprotocol.h
@@ -23,56 +23,6 @@
#ifndef NET_EA_EAPROTOCOL_H
#define NET_EA_EAPROTOCOL_H
-namespace Ea
-{
- enum
- {
- WALK_SPEED = 0,
- EXP = 1,
- JOB_EXP = 2,
- KARMA = 3,
- MANNER = 4,
- HP = 5,
- MAX_HP = 6,
- MP = 7,
- MAX_MP = 8,
- CHAR_POINTS = 9,
- LEVEL = 11,
- SKILL_POINTS = 12,
- STR = 13,
- AGI = 14,
- VIT = 15,
- INT = 16,
- DEX = 17,
- LUK = 18,
- MONEY = 20,
- EXP_NEEDED = 22,
- JOB_MOD = 23,
- TOTAL_WEIGHT = 24,
- MAX_WEIGHT = 25,
- STR_NEEDED = 32,
- AGI_NEEDED = 33,
- VIT_NEEDED = 34,
- INT_NEEDED = 35,
- DEX_NEEDED = 36,
- LUK_NEEDED = 37,
- ATK = 41,
- ATK_MOD = 42,
- MATK = 43,
- MATK_MOD = 44,
- DEF = 45,
- DEF_MOD = 46,
- MDEF = 47,
- MDEF_MOD = 48,
- HIT = 49,
- FLEE = 50,
- FLEE_MOD = 51,
- CRIT = 52,
- ATTACK_DELAY = 53,
- JOB = 55
- };
-} // namespace Ea
-
enum
{
EA_SPRITE_BASE = 0,
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index 758bcbcbc..060ac2724 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -45,17 +45,15 @@
#include "gui/windows/socialwindow.h"
#include "gui/windows/outfitwindow.h"
+#include "net/character.h"
+#include "net/charserverhandler.h"
+#include "net/messagein.h"
#include "net/serverfeatures.h"
#include "net/ea/beingrecv.h"
-#include "net/ea/eaprotocol.h"
-
-#include "net/charserverhandler.h"
-
-#include "net/character.h"
-#include "net/messagein.h"
#include "net/eathena/maptypeproperty2.h"
+#include "net/eathena/sp.h"
#include "net/eathena/sprite.h"
#include "resources/iteminfo.h"
@@ -1368,7 +1366,7 @@ void BeingRecv::processBeingStatUpdate1(Net::MessageIn &msg)
if (!dstBeing)
return;
- if (type != Ea::MANNER)
+ if (type != Sp::MANNER)
{
UNIMPLIMENTEDPACKET;
return;
diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp
index d20348a2d..97d914b21 100644
--- a/src/net/eathena/playerhandler.cpp
+++ b/src/net/eathena/playerhandler.cpp
@@ -36,11 +36,10 @@
#include "gui/windows/skilldialog.h"
#include "gui/windows/statuswindow.h"
-#include "net/ea/eaprotocol.h"
-
#include "net/eathena/messageout.h"
#include "net/eathena/protocolout.h"
#include "net/eathena/inventoryhandler.h"
+#include "net/eathena/sp.h"
#include "debug.h"
@@ -252,27 +251,27 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
{
switch (type)
{
- case Ea::WALK_SPEED:
+ case Sp::WALK_SPEED:
localPlayer->setWalkSpeed(base);
PlayerInfo::setStatBase(Attributes::WALK_SPEED, base);
PlayerInfo::setStatMod(Attributes::WALK_SPEED, 0);
break;
- case Ea::EXP:
+ case Sp::EXP:
PlayerInfo::setAttribute(Attributes::EXP, base);
break;
- case Ea::JOB_EXP:
+ case Sp::JOB_EXP:
PlayerInfo::setStatExperience(Attributes::JOB, base,
PlayerInfo::getStatExperience(Attributes::JOB).second);
break;
- case Ea::KARMA:
+ case Sp::KARMA:
PlayerInfo::setStatBase(Attributes::KARMA, base);
PlayerInfo::setStatMod(Attributes::KARMA, 0);
break;
- case Ea::MANNER:
+ case Sp::MANNER:
PlayerInfo::setStatBase(Attributes::MANNER, base);
PlayerInfo::setStatMod(Attributes::MANNER, 0);
break;
- case Ea::HP:
+ case Sp::HP:
PlayerInfo::setAttribute(Attributes::HP, base);
if (localPlayer->isInParty() && Party::getParty(1))
{
@@ -285,7 +284,7 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
}
}
break;
- case Ea::MAX_HP:
+ case Sp::MAX_HP:
PlayerInfo::setAttribute(Attributes::MAX_HP, base);
if (localPlayer->isInParty() && Party::getParty(1))
@@ -299,16 +298,16 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
}
}
break;
- case Ea::MP:
+ case Sp::MP:
PlayerInfo::setAttribute(Attributes::MP, base);
break;
- case Ea::MAX_MP:
+ case Sp::MAX_MP:
PlayerInfo::setAttribute(Attributes::MAX_MP, base);
break;
- case Ea::CHAR_POINTS:
+ case Sp::CHAR_POINTS:
PlayerInfo::setAttribute(Attributes::CHAR_POINTS, base);
break;
- case Ea::LEVEL:
+ case Sp::LEVEL:
PlayerInfo::setAttribute(Attributes::LEVEL, base);
if (localPlayer)
{
@@ -316,30 +315,30 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
localPlayer->updateName();
}
break;
- case Ea::SKILL_POINTS:
+ case Sp::SKILL_POINTS:
PlayerInfo::setAttribute(Attributes::SKILL_POINTS, base);
if (skillDialog)
skillDialog->update();
break;
- case Ea::STR:
+ case Sp::STR:
setStatComplex(Attributes::STR);
break;
- case Ea::AGI:
+ case Sp::AGI:
setStatComplex(Attributes::AGI);
break;
- case Ea::VIT:
+ case Sp::VIT:
setStatComplex(Attributes::VIT);
break;
- case Ea::INT:
+ case Sp::INT:
setStatComplex(Attributes::INT);
break;
- case Ea::DEX:
+ case Sp::DEX:
setStatComplex(Attributes::DEX);
break;
- case Ea::LUK:
+ case Sp::LUK:
setStatComplex(Attributes::LUK);
break;
- case Ea::MONEY:
+ case Sp::MONEY:
{
const int oldMoney = PlayerInfo::getAttribute(Attributes::MONEY);
const int newMoney = base;
@@ -357,83 +356,83 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
PlayerInfo::setAttribute(Attributes::MONEY, newMoney);
break;
}
- case Ea::EXP_NEEDED:
+ case Sp::EXP_NEEDED:
PlayerInfo::setAttribute(Attributes::EXP_NEEDED, base);
break;
- case Ea::JOB_MOD:
+ case Sp::JOB_MOD:
PlayerInfo::setStatExperience(Attributes::JOB,
PlayerInfo::getStatExperience(Attributes::JOB).first, base);
break;
- case Ea::TOTAL_WEIGHT:
+ case Sp::TOTAL_WEIGHT:
PlayerInfo::setAttribute(Attributes::TOTAL_WEIGHT, base);
break;
- case Ea::MAX_WEIGHT:
+ case Sp::MAX_WEIGHT:
PlayerInfo::setAttribute(Attributes::MAX_WEIGHT, base);
break;
- case Ea::STR_NEEDED:
+ case Sp::STR_NEEDED:
statusWindow->setPointsNeeded(Attributes::STR, base);
break;
- case Ea::AGI_NEEDED:
+ case Sp::AGI_NEEDED:
statusWindow->setPointsNeeded(Attributes::AGI, base);
break;
- case Ea::VIT_NEEDED:
+ case Sp::VIT_NEEDED:
statusWindow->setPointsNeeded(Attributes::VIT, base);
break;
- case Ea::INT_NEEDED:
+ case Sp::INT_NEEDED:
statusWindow->setPointsNeeded(Attributes::INT, base);
break;
- case Ea::DEX_NEEDED:
+ case Sp::DEX_NEEDED:
statusWindow->setPointsNeeded(Attributes::DEX, base);
break;
- case Ea::LUK_NEEDED:
+ case Sp::LUK_NEEDED:
statusWindow->setPointsNeeded(Attributes::LUK, base);
break;
- case Ea::ATK:
+ case Sp::ATK:
PlayerInfo::setStatBase(Attributes::ATK, base);
PlayerInfo::updateAttrs();
break;
- case Ea::ATK_MOD:
+ case Sp::ATK_MOD:
PlayerInfo::setStatMod(Attributes::ATK, base);
PlayerInfo::updateAttrs();
break;
- case Ea::MATK:
+ case Sp::MATK:
PlayerInfo::setStatBase(Attributes::MATK, base);
break;
- case Ea::MATK_MOD:
+ case Sp::MATK_MOD:
PlayerInfo::setStatMod(Attributes::MATK, base);
break;
- case Ea::DEF:
+ case Sp::DEF:
PlayerInfo::setStatBase(Attributes::DEF, base);
break;
- case Ea::DEF_MOD:
+ case Sp::DEF_MOD:
PlayerInfo::setStatMod(Attributes::DEF, base);
break;
- case Ea::MDEF:
+ case Sp::MDEF:
PlayerInfo::setStatBase(Attributes::MDEF, base);
break;
- case Ea::MDEF_MOD:
+ case Sp::MDEF_MOD:
PlayerInfo::setStatMod(Attributes::MDEF, base);
break;
- case Ea::HIT:
+ case Sp::HIT:
PlayerInfo::setStatBase(Attributes::HIT, base);
break;
- case Ea::FLEE:
+ case Sp::FLEE:
PlayerInfo::setStatBase(Attributes::FLEE, base);
break;
- case Ea::FLEE_MOD:
+ case Sp::FLEE_MOD:
PlayerInfo::setStatMod(Attributes::FLEE, base);
break;
- case Ea::CRIT:
+ case Sp::CRIT:
PlayerInfo::setStatBase(Attributes::CRIT, base);
break;
- case Ea::ATTACK_DELAY:
+ case Sp::ATTACK_DELAY:
localPlayer->setAttackSpeed(base);
PlayerInfo::setStatBase(Attributes::ATTACK_DELAY, base);
PlayerInfo::setStatMod(Attributes::ATTACK_DELAY, 0);
PlayerInfo::updateAttrs();
break;
- case Ea::JOB:
+ case Sp::JOB:
PlayerInfo::setStatBase(Attributes::JOB, base);
break;
diff --git a/src/net/eathena/playerrecv.cpp b/src/net/eathena/playerrecv.cpp
index e9dbeb74d..2f3f6294c 100644
--- a/src/net/eathena/playerrecv.cpp
+++ b/src/net/eathena/playerrecv.cpp
@@ -41,7 +41,7 @@
#include "net/messagein.h"
-#include "net/ea/eaprotocol.h"
+#include "net/eathena/sp.h"
#include "debug.h"
@@ -234,7 +234,7 @@ void PlayerRecv::processPlayerHeal(Net::MessageIn &msg)
const int type = msg.readInt16("var id");
const int amount = msg.readInt16("value");
- if (type == Ea::HP)
+ if (type == Sp::HP)
{
const int base = PlayerInfo::getAttribute(Attributes::HP) + amount;
PlayerInfo::setAttribute(Attributes::HP, base);
@@ -250,7 +250,7 @@ void PlayerRecv::processPlayerHeal(Net::MessageIn &msg)
}
localPlayer->addHpMessage(amount);
}
- else if (type == Ea::MP)
+ else if (type == Sp::MP)
{
localPlayer->addSpMessage(amount);
}
diff --git a/src/net/eathena/sp.h b/src/net/eathena/sp.h
new file mode 100644
index 000000000..7342786be
--- /dev/null
+++ b/src/net/eathena/sp.h
@@ -0,0 +1,76 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ * Copyright (C) 2011-2016 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * 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
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NET_EATHENA_SP_H
+#define NET_EATHENA_SP_H
+
+namespace Sp
+{
+ enum
+ {
+ WALK_SPEED = 0,
+ EXP = 1,
+ JOB_EXP = 2,
+ KARMA = 3,
+ MANNER = 4,
+ HP = 5,
+ MAX_HP = 6,
+ MP = 7,
+ MAX_MP = 8,
+ CHAR_POINTS = 9,
+ LEVEL = 11,
+ SKILL_POINTS = 12,
+ STR = 13,
+ AGI = 14,
+ VIT = 15,
+ INT = 16,
+ DEX = 17,
+ LUK = 18,
+ MONEY = 20,
+ EXP_NEEDED = 22,
+ JOB_MOD = 23,
+ TOTAL_WEIGHT = 24,
+ MAX_WEIGHT = 25,
+ STR_NEEDED = 32,
+ AGI_NEEDED = 33,
+ VIT_NEEDED = 34,
+ INT_NEEDED = 35,
+ DEX_NEEDED = 36,
+ LUK_NEEDED = 37,
+ ATK = 41,
+ ATK_MOD = 42,
+ MATK = 43,
+ MATK_MOD = 44,
+ DEF = 45,
+ DEF_MOD = 46,
+ MDEF = 47,
+ MDEF_MOD = 48,
+ HIT = 49,
+ FLEE = 50,
+ FLEE_MOD = 51,
+ CRIT = 52,
+ ATTACK_DELAY = 53,
+ JOB = 55
+ };
+} // namespace Sp
+
+#endif // NET_EATHENA_SP_H
diff --git a/src/net/tmwa/playerhandler.cpp b/src/net/tmwa/playerhandler.cpp
index ed2bc6c9f..d9f391853 100644
--- a/src/net/tmwa/playerhandler.cpp
+++ b/src/net/tmwa/playerhandler.cpp
@@ -41,6 +41,7 @@
#include "net/tmwa/inventoryhandler.h"
#include "net/tmwa/messageout.h"
#include "net/tmwa/protocolout.h"
+#include "net/tmwa/sp.h"
#include "debug.h"
@@ -223,27 +224,27 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
{
switch (type)
{
- case Ea::WALK_SPEED:
+ case Sp::WALK_SPEED:
localPlayer->setWalkSpeed(base);
PlayerInfo::setStatBase(Attributes::WALK_SPEED, base);
PlayerInfo::setStatMod(Attributes::WALK_SPEED, 0);
break;
- case Ea::EXP:
+ case Sp::EXP:
PlayerInfo::setAttribute(Attributes::EXP, base);
break;
- case Ea::JOB_EXP:
+ case Sp::JOB_EXP:
PlayerInfo::setStatExperience(Attributes::JOB, base,
PlayerInfo::getStatExperience(Attributes::JOB).second);
break;
- case Ea::KARMA:
+ case Sp::KARMA:
PlayerInfo::setStatBase(Attributes::KARMA, base);
PlayerInfo::setStatMod(Attributes::KARMA, 0);
break;
- case Ea::MANNER:
+ case Sp::MANNER:
PlayerInfo::setStatBase(Attributes::MANNER, base);
PlayerInfo::setStatMod(Attributes::MANNER, 0);
break;
- case Ea::HP:
+ case Sp::HP:
PlayerInfo::setAttribute(Attributes::HP, base);
if (localPlayer->isInParty() && Party::getParty(1))
{
@@ -256,7 +257,7 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
}
}
break;
- case Ea::MAX_HP:
+ case Sp::MAX_HP:
PlayerInfo::setAttribute(Attributes::MAX_HP, base);
if (localPlayer->isInParty() && Party::getParty(1))
@@ -270,16 +271,16 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
}
}
break;
- case Ea::MP:
+ case Sp::MP:
PlayerInfo::setAttribute(Attributes::MP, base);
break;
- case Ea::MAX_MP:
+ case Sp::MAX_MP:
PlayerInfo::setAttribute(Attributes::MAX_MP, base);
break;
- case Ea::CHAR_POINTS:
+ case Sp::CHAR_POINTS:
PlayerInfo::setAttribute(Attributes::CHAR_POINTS, base);
break;
- case Ea::LEVEL:
+ case Sp::LEVEL:
PlayerInfo::setAttribute(Attributes::LEVEL, base);
if (localPlayer)
{
@@ -287,30 +288,30 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
localPlayer->updateName();
}
break;
- case Ea::SKILL_POINTS:
+ case Sp::SKILL_POINTS:
PlayerInfo::setAttribute(Attributes::SKILL_POINTS, base);
if (skillDialog)
skillDialog->update();
break;
- case Ea::STR:
+ case Sp::STR:
setStatComplex(Attributes::STR);
break;
- case Ea::AGI:
+ case Sp::AGI:
setStatComplex(Attributes::AGI);
break;
- case Ea::VIT:
+ case Sp::VIT:
setStatComplex(Attributes::VIT);
break;
- case Ea::INT:
+ case Sp::INT:
setStatComplex(Attributes::INT);
break;
- case Ea::DEX:
+ case Sp::DEX:
setStatComplex(Attributes::DEX);
break;
- case Ea::LUK:
+ case Sp::LUK:
setStatComplex(Attributes::LUK);
break;
- case Ea::MONEY:
+ case Sp::MONEY:
{
const int oldMoney = PlayerInfo::getAttribute(Attributes::MONEY);
const int newMoney = base;
@@ -328,83 +329,83 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
PlayerInfo::setAttribute(Attributes::MONEY, newMoney);
break;
}
- case Ea::EXP_NEEDED:
+ case Sp::EXP_NEEDED:
PlayerInfo::setAttribute(Attributes::EXP_NEEDED, base);
break;
- case Ea::JOB_MOD:
+ case Sp::JOB_MOD:
PlayerInfo::setStatExperience(Attributes::JOB,
PlayerInfo::getStatExperience(Attributes::JOB).first, base);
break;
- case Ea::TOTAL_WEIGHT:
+ case Sp::TOTAL_WEIGHT:
PlayerInfo::setAttribute(Attributes::TOTAL_WEIGHT, base);
break;
- case Ea::MAX_WEIGHT:
+ case Sp::MAX_WEIGHT:
PlayerInfo::setAttribute(Attributes::MAX_WEIGHT, base);
break;
- case Ea::STR_NEEDED:
+ case Sp::STR_NEEDED:
statusWindow->setPointsNeeded(Attributes::STR, base);
break;
- case Ea::AGI_NEEDED:
+ case Sp::AGI_NEEDED:
statusWindow->setPointsNeeded(Attributes::AGI, base);
break;
- case Ea::VIT_NEEDED:
+ case Sp::VIT_NEEDED:
statusWindow->setPointsNeeded(Attributes::VIT, base);
break;
- case Ea::INT_NEEDED:
+ case Sp::INT_NEEDED:
statusWindow->setPointsNeeded(Attributes::INT, base);
break;
- case Ea::DEX_NEEDED:
+ case Sp::DEX_NEEDED:
statusWindow->setPointsNeeded(Attributes::DEX, base);
break;
- case Ea::LUK_NEEDED:
+ case Sp::LUK_NEEDED:
statusWindow->setPointsNeeded(Attributes::LUK, base);
break;
- case Ea::ATK:
+ case Sp::ATK:
PlayerInfo::setStatBase(Attributes::ATK, base);
PlayerInfo::updateAttrs();
break;
- case Ea::ATK_MOD:
+ case Sp::ATK_MOD:
PlayerInfo::setStatMod(Attributes::ATK, base);
PlayerInfo::updateAttrs();
break;
- case Ea::MATK:
+ case Sp::MATK:
PlayerInfo::setStatBase(Attributes::MATK, base);
break;
- case Ea::MATK_MOD:
+ case Sp::MATK_MOD:
PlayerInfo::setStatMod(Attributes::MATK, base);
break;
- case Ea::DEF:
+ case Sp::DEF:
PlayerInfo::setStatBase(Attributes::DEF, base);
break;
- case Ea::DEF_MOD:
+ case Sp::DEF_MOD:
PlayerInfo::setStatMod(Attributes::DEF, base);
break;
- case Ea::MDEF:
+ case Sp::MDEF:
PlayerInfo::setStatBase(Attributes::MDEF, base);
break;
- case Ea::MDEF_MOD:
+ case Sp::MDEF_MOD:
PlayerInfo::setStatMod(Attributes::MDEF, base);
break;
- case Ea::HIT:
+ case Sp::HIT:
PlayerInfo::setStatBase(Attributes::HIT, base);
break;
- case Ea::FLEE:
+ case Sp::FLEE:
PlayerInfo::setStatBase(Attributes::FLEE, base);
break;
- case Ea::FLEE_MOD:
+ case Sp::FLEE_MOD:
PlayerInfo::setStatMod(Attributes::FLEE, base);
break;
- case Ea::CRIT:
+ case Sp::CRIT:
PlayerInfo::setStatBase(Attributes::CRIT, base);
break;
- case Ea::ATTACK_DELAY:
+ case Sp::ATTACK_DELAY:
localPlayer->setAttackSpeed(base);
PlayerInfo::setStatBase(Attributes::ATTACK_DELAY, base);
PlayerInfo::setStatMod(Attributes::ATTACK_DELAY, 0);
PlayerInfo::updateAttrs();
break;
- case Ea::JOB:
+ case Sp::JOB:
PlayerInfo::setStatBase(Attributes::JOB, base);
break;
case 500:
diff --git a/src/net/tmwa/sp.h b/src/net/tmwa/sp.h
new file mode 100644
index 000000000..f1c8a3a19
--- /dev/null
+++ b/src/net/tmwa/sp.h
@@ -0,0 +1,76 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ * Copyright (C) 2011-2016 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * 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
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NET_TMWA_SP_H
+#define NET_TMWA_SP_H
+
+namespace Sp
+{
+ enum
+ {
+ WALK_SPEED = 0,
+ EXP = 1,
+ JOB_EXP = 2,
+ KARMA = 3,
+ MANNER = 4,
+ HP = 5,
+ MAX_HP = 6,
+ MP = 7,
+ MAX_MP = 8,
+ CHAR_POINTS = 9,
+ LEVEL = 11,
+ SKILL_POINTS = 12,
+ STR = 13,
+ AGI = 14,
+ VIT = 15,
+ INT = 16,
+ DEX = 17,
+ LUK = 18,
+ MONEY = 20,
+ EXP_NEEDED = 22,
+ JOB_MOD = 23,
+ TOTAL_WEIGHT = 24,
+ MAX_WEIGHT = 25,
+ STR_NEEDED = 32,
+ AGI_NEEDED = 33,
+ VIT_NEEDED = 34,
+ INT_NEEDED = 35,
+ DEX_NEEDED = 36,
+ LUK_NEEDED = 37,
+ ATK = 41,
+ ATK_MOD = 42,
+ MATK = 43,
+ MATK_MOD = 44,
+ DEF = 45,
+ DEF_MOD = 46,
+ MDEF = 47,
+ MDEF_MOD = 48,
+ HIT = 49,
+ FLEE = 50,
+ FLEE_MOD = 51,
+ CRIT = 52,
+ ATTACK_DELAY = 53,
+ JOB = 55
+ };
+} // namespace Sp
+
+#endif // NET_TMWA_SP_H