diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/map/clif.c | 3 | ||||
-rw-r--r-- | src/map/status.c | 8 |
3 files changed, 11 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index d01339577..6474f29cd 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/05/01
+ * status_setviewdata will set your option accordingly when the previous/new
+ view-class is wedding or xmas suit. [Skotlex]
* Added function map_foreachinshootrange, behaves the same way as
map_foreachinrange, but it also performs a "shoot-path" check before
invoking the function. Used in the skill subtimer function if
diff --git a/src/map/clif.c b/src/map/clif.c index 8321368c0..1f3dc4373 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -780,7 +780,7 @@ void clif_get_weapon_view(TBL_PC* sd, short *rhand, short *lhand) #if PACKETVER > 3
struct item_data *id;
#endif
- if (sd->vd.class_ == JOB_XMAS || sd->vd.class_ == JOB_WEDDING)
+ if (sd->sc.option&(OPTION_XMAS|OPTION_WEDDING))
{
*rhand = *lhand = 0;
return;
@@ -2682,7 +2682,6 @@ int clif_changelook(struct block_list *bl,int type,int val) unsigned char buf[32];
struct map_session_data *sd = NULL;
struct view_data *vd;
- nullpo_retr(0, bl);
vd = status_get_viewdata(bl);
nullpo_retr(0, vd);
diff --git a/src/map/status.c b/src/map/status.c index df12ad208..f77f2a917 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3330,6 +3330,14 @@ void status_set_viewdata(struct block_list *bl, int class_) class_ = JOB_BABY_CRUSADER2;
break;
}
+ if (sd->vd.class_ == JOB_WEDDING)
+ sd->sc.option&=~OPTION_WEDDING;
+ if (sd->vd.class_ == JOB_XMAS)
+ sd->sc.option&=~OPTION_XMAS;
+ if (class_ == JOB_WEDDING)
+ sd->sc.option|=OPTION_WEDDING;
+ if (class_ == JOB_XMAS)
+ sd->sc.option|=OPTION_XMAS;
sd->vd.class_ = class_;
clif_get_weapon_view(sd, &sd->vd.weapon, &sd->vd.shield);
sd->vd.head_top = sd->status.head_top;
|