summaryrefslogtreecommitdiff
path: root/src/map/pc.hpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2012-12-20 18:32:32 -0800
committerBen Longbons <b.r.longbons@gmail.com>2012-12-24 10:02:19 -0800
commit2b092c150e1226decc48160316070fc44d5fbba0 (patch)
tree48456d14896059fd223401aa15d4e29010a81436 /src/map/pc.hpp
parentb52127bcbf817ff8285b36d22198b275327e16bb (diff)
downloadtmwa-2b092c150e1226decc48160316070fc44d5fbba0.tar.gz
tmwa-2b092c150e1226decc48160316070fc44d5fbba0.tar.bz2
tmwa-2b092c150e1226decc48160316070fc44d5fbba0.tar.xz
tmwa-2b092c150e1226decc48160316070fc44d5fbba0.zip
Enumify option, opt1, opt2, and opt3
Diffstat (limited to 'src/map/pc.hpp')
-rw-r--r--src/map/pc.hpp85
1 files changed, 67 insertions, 18 deletions
diff --git a/src/map/pc.hpp b/src/map/pc.hpp
index 505cf78..91ad633 100644
--- a/src/map/pc.hpp
+++ b/src/map/pc.hpp
@@ -3,23 +3,72 @@
#include "map.hpp"
-#define OPTION_MASK 0xd7b8
-#define CART_MASK 0x788
-
-#define pc_setdead(sd) ((sd)->state.dead_sit = 1)
-#define pc_setsit(sd) ((sd)->state.dead_sit = 2)
-//#define pc_setstand(sd) ((sd)->state.dead_sit = 0)
-#define pc_isdead(sd) ((sd)->state.dead_sit == 1)
-#define pc_issit(sd) ((sd)->state.dead_sit == 2)
-#define pc_setdir(sd,b) ((sd)->dir = (b))
-#define pc_setchatid(sd,n) ((sd)->chatID = n)
-#define pc_ishiding(sd) ((sd)->status.option&0x4006)
-#define pc_iscarton(sd) ((sd)->status.option&CART_MASK)
-#define pc_isfalcon(sd) ((sd)->status.option&0x0010)
-#define pc_isriding(sd) ((sd)->status.option&0x0020)
-#define pc_isinvisible(sd) ((sd)->status.option&0x0040)
-#define pc_is50overweight(sd) (sd->weight*2 >= sd->max_weight)
-#define pc_is90overweight(sd) (sd->weight*10 >= sd->max_weight*9)
+inline
+void pc_setdead(struct map_session_data *sd)
+{
+ sd->state.dead_sit = 1;
+}
+inline
+void pc_setsit(struct map_session_data *sd)
+{
+ sd->state.dead_sit = 2;
+}
+//pc_setstand(struct map_session_data *sd) is a normal function
+inline
+bool pc_isdead(struct map_session_data *sd)
+{
+ return sd->state.dead_sit == 1;
+}
+inline
+bool pc_issit(struct map_session_data *sd)
+{
+ return sd->state.dead_sit == 2;
+}
+inline
+void pc_setdir(struct map_session_data *sd, int b)
+{
+ sd->dir = (b);
+}
+inline
+void pc_setchatid(struct map_session_data *sd, int n)
+{
+ sd->chatID = n;
+}
+inline
+bool pc_ishiding(struct map_session_data *sd)
+{
+ return bool(sd->status.option & Option::OLD_ANY_HIDE);
+}
+inline
+bool pc_iscarton(struct map_session_data *sd)
+{
+ return bool(sd->status.option & Option::CART_MASK);
+}
+inline
+bool pc_isfalcon(struct map_session_data *sd)
+{
+ return bool(sd->status.option & Option::FALCON);
+}
+inline
+bool pc_isriding(struct map_session_data *sd)
+{
+ return bool(sd->status.option & Option::RIDING);
+}
+inline
+bool pc_isinvisible(struct map_session_data *sd)
+{
+ return bool(sd->status.option & Option::HIDE);
+}
+inline
+bool pc_is50overweight(struct map_session_data *sd)
+{
+ return sd->weight*2 >= sd->max_weight;
+}
+inline
+bool pc_is90overweight(struct map_session_data *sd)
+{
+ return sd->weight*10 >= sd->max_weight*9;
+}
void pc_touch_all_relevant_npcs(struct map_session_data *sd); /* Checks all npcs/warps at the same location to see whether they
** should do something with the specified player. */
@@ -137,7 +186,7 @@ int pc_heal(struct map_session_data *, int, int);
int pc_itemheal(struct map_session_data *sd, int hp, int sp);
int pc_percentheal(struct map_session_data *sd, int, int);
int pc_jobchange(struct map_session_data *, int, int);
-int pc_setoption(struct map_session_data *, int);
+int pc_setoption(struct map_session_data *, Option);
int pc_setcart(struct map_session_data *sd, int type);
int pc_setfalcon(struct map_session_data *sd);
int pc_setriding(struct map_session_data *sd);