|
@@ -949,8 +949,10 @@ void initChangeTables(void)
|
|
StatusIconChangeTable[SC_MONSTER_TRANSFORM] = SI_MONSTER_TRANSFORM;
|
|
StatusIconChangeTable[SC_MONSTER_TRANSFORM] = SI_MONSTER_TRANSFORM;
|
|
StatusIconChangeTable[SC_MOONSTAR] = SI_MOONSTAR;
|
|
StatusIconChangeTable[SC_MOONSTAR] = SI_MOONSTAR;
|
|
StatusIconChangeTable[SC_SUPER_STAR] = SI_SUPER_STAR;
|
|
StatusIconChangeTable[SC_SUPER_STAR] = SI_SUPER_STAR;
|
|
|
|
+ StatusIconChangeTable[SC_STRANGELIGHTS] = SI_STRANGELIGHTS;
|
|
|
|
+ StatusIconChangeTable[SC_DECORATION_OF_MUSIC] = SI_DECORATION_OF_MUSIC;
|
|
StatusIconChangeTable[SC_BURNING] = SI_BURNT;
|
|
StatusIconChangeTable[SC_BURNING] = SI_BURNT;
|
|
-
|
|
|
|
|
|
+
|
|
StatusIconChangeTable[SC_H_MINE] = SI_H_MINE;
|
|
StatusIconChangeTable[SC_H_MINE] = SI_H_MINE;
|
|
StatusIconChangeTable[SC_QD_SHOT_READY] = SI_E_QD_SHOT_READY;
|
|
StatusIconChangeTable[SC_QD_SHOT_READY] = SI_E_QD_SHOT_READY;
|
|
StatusIconChangeTable[SC_HEAT_BARREL_AFTER] = SI_HEAT_BARREL_AFTER;
|
|
StatusIconChangeTable[SC_HEAT_BARREL_AFTER] = SI_HEAT_BARREL_AFTER;
|
|
@@ -1043,6 +1045,8 @@ void initChangeTables(void)
|
|
StatusChangeFlagTable[SC_MDEFSET] |= SCB_MDEF;
|
|
StatusChangeFlagTable[SC_MDEFSET] |= SCB_MDEF;
|
|
StatusChangeFlagTable[SC_MOONSTAR] |= SCB_NONE;
|
|
StatusChangeFlagTable[SC_MOONSTAR] |= SCB_NONE;
|
|
StatusChangeFlagTable[SC_SUPER_STAR] |= SCB_NONE;
|
|
StatusChangeFlagTable[SC_SUPER_STAR] |= SCB_NONE;
|
|
|
|
+ StatusChangeFlagTable[SC_STRANGELIGHTS] |= SCB_NONE;
|
|
|
|
+ StatusChangeFlagTable[SC_DECORATION_OF_MUSIC] |= SCB_NONE;
|
|
|
|
|
|
StatusChangeFlagTable[SC_MTF_ASPD] = SCB_ASPD|SCB_HIT;
|
|
StatusChangeFlagTable[SC_MTF_ASPD] = SCB_ASPD|SCB_HIT;
|
|
StatusChangeFlagTable[SC_MTF_MATK] = SCB_MATK;
|
|
StatusChangeFlagTable[SC_MTF_MATK] = SCB_MATK;
|
|
@@ -6740,6 +6744,8 @@ void status_set_viewdata(struct block_list *bl, int class_)
|
|
class_ = JOB_XMAS;
|
|
class_ = JOB_XMAS;
|
|
else if (sd->sc.option&OPTION_HANBOK)
|
|
else if (sd->sc.option&OPTION_HANBOK)
|
|
class_ = JOB_HANBOK;
|
|
class_ = JOB_HANBOK;
|
|
|
|
+ else if (sd->sc.option&OPTION_OKTOBERFEST)
|
|
|
|
+ class_ = JOB_OKTOBERFEST;
|
|
else if (sd->sc.option&OPTION_RIDING) {
|
|
else if (sd->sc.option&OPTION_RIDING) {
|
|
switch (class_) { // Adapt class to a Mounted one.
|
|
switch (class_) { // Adapt class to a Mounted one.
|
|
case JOB_KNIGHT:
|
|
case JOB_KNIGHT:
|
|
@@ -6846,6 +6852,7 @@ void status_set_viewdata(struct block_list *bl, int class_)
|
|
|| (vd->class_==JOB_XMAS && battle_config.xmas_ignorepalette)
|
|
|| (vd->class_==JOB_XMAS && battle_config.xmas_ignorepalette)
|
|
|| (vd->class_==JOB_SUMMER && battle_config.summer_ignorepalette)
|
|
|| (vd->class_==JOB_SUMMER && battle_config.summer_ignorepalette)
|
|
|| (vd->class_ == JOB_HANBOK && battle_config.hanbok_ignorepalette)
|
|
|| (vd->class_ == JOB_HANBOK && battle_config.hanbok_ignorepalette)
|
|
|
|
+ || (vd->class_ == JOB_OKTOBERFEST && battle_config.oktoberfest_ignorepalette)
|
|
))
|
|
))
|
|
vd->cloth_color = 0;
|
|
vd->cloth_color = 0;
|
|
}
|
|
}
|
|
@@ -8232,6 +8239,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
case SC_XMAS:
|
|
case SC_XMAS:
|
|
case SC_SUMMER:
|
|
case SC_SUMMER:
|
|
case SC_HANBOK:
|
|
case SC_HANBOK:
|
|
|
|
+ case SC_OKTOBERFEST:
|
|
if (!vd) return 0;
|
|
if (!vd) return 0;
|
|
// Store previous values as they could be removed.
|
|
// Store previous values as they could be removed.
|
|
val1 = vd->class_;
|
|
val1 = vd->class_;
|
|
@@ -8241,7 +8249,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
unit_stop_attack(bl);
|
|
unit_stop_attack(bl);
|
|
clif_changelook(bl,LOOK_WEAPON,0);
|
|
clif_changelook(bl,LOOK_WEAPON,0);
|
|
clif_changelook(bl,LOOK_SHIELD,0);
|
|
clif_changelook(bl,LOOK_SHIELD,0);
|
|
- clif_changelook(bl,LOOK_BASE,type==SC_WEDDING?JOB_WEDDING:type==SC_XMAS?JOB_XMAS:type==SC_SUMMER?JOB_SUMMER:JOB_HANBOK);
|
|
|
|
|
|
+ clif_changelook(bl,LOOK_BASE,type==SC_WEDDING?JOB_WEDDING:type==SC_XMAS?JOB_XMAS:type==SC_SUMMER?JOB_SUMMER:type==SC_HANBOK?JOB_HANBOK:JOB_OKTOBERFEST);
|
|
clif_changelook(bl,LOOK_CLOTHES_COLOR,vd->cloth_color);
|
|
clif_changelook(bl,LOOK_CLOTHES_COLOR,vd->cloth_color);
|
|
break;
|
|
break;
|
|
case SC_NOCHAT:
|
|
case SC_NOCHAT:
|
|
@@ -9527,9 +9535,10 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
case SC_XMAS:
|
|
case SC_XMAS:
|
|
case SC_SUMMER:
|
|
case SC_SUMMER:
|
|
case SC_HANBOK:
|
|
case SC_HANBOK:
|
|
|
|
+ case SC_OKTOBERFEST:
|
|
clif_changelook(bl,LOOK_WEAPON,0);
|
|
clif_changelook(bl,LOOK_WEAPON,0);
|
|
clif_changelook(bl,LOOK_SHIELD,0);
|
|
clif_changelook(bl,LOOK_SHIELD,0);
|
|
- clif_changelook(bl,LOOK_BASE,type==SC_WEDDING?JOB_WEDDING:type==SC_XMAS?JOB_XMAS:type==SC_SUMMER?JOB_SUMMER:JOB_HANBOK);
|
|
|
|
|
|
+ clif_changelook(bl,LOOK_BASE,type==SC_WEDDING?JOB_WEDDING:type==SC_XMAS?JOB_XMAS:type==SC_SUMMER?JOB_SUMMER:type==SC_HANBOK?JOB_HANBOK:JOB_OKTOBERFEST);
|
|
clif_changelook(bl,LOOK_CLOTHES_COLOR,val4);
|
|
clif_changelook(bl,LOOK_CLOTHES_COLOR,val4);
|
|
break;
|
|
break;
|
|
case SC_KAAHI:
|
|
case SC_KAAHI:
|
|
@@ -9797,6 +9806,9 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
case SC_HANBOK:
|
|
case SC_HANBOK:
|
|
sc->option |= OPTION_HANBOK;
|
|
sc->option |= OPTION_HANBOK;
|
|
break;
|
|
break;
|
|
|
|
+ case SC_OKTOBERFEST:
|
|
|
|
+ sc->option |= OPTION_OKTOBERFEST;
|
|
|
|
+ break;
|
|
case SC_ORCISH:
|
|
case SC_ORCISH:
|
|
sc->option |= OPTION_ORCISH;
|
|
sc->option |= OPTION_ORCISH;
|
|
break;
|
|
break;
|
|
@@ -9963,6 +9975,7 @@ int status_change_clear(struct block_list* bl, int type)
|
|
case SC_XMAS:
|
|
case SC_XMAS:
|
|
case SC_SUMMER:
|
|
case SC_SUMMER:
|
|
case SC_HANBOK:
|
|
case SC_HANBOK:
|
|
|
|
+ case SC_OKTOBERFEST:
|
|
case SC_NOCHAT:
|
|
case SC_NOCHAT:
|
|
case SC_FUSION:
|
|
case SC_FUSION:
|
|
case SC_EARTHSCROLL:
|
|
case SC_EARTHSCROLL:
|
|
@@ -10136,11 +10149,12 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
|
|
case SC_XMAS:
|
|
case SC_XMAS:
|
|
case SC_SUMMER:
|
|
case SC_SUMMER:
|
|
case SC_HANBOK:
|
|
case SC_HANBOK:
|
|
|
|
+ case SC_OKTOBERFEST:
|
|
if (!vd) break;
|
|
if (!vd) break;
|
|
if (sd) {
|
|
if (sd) {
|
|
// Load data from sd->status.* as the stored values could have changed.
|
|
// Load data from sd->status.* as the stored values could have changed.
|
|
// Must remove OPTION to prevent class being rechanged.
|
|
// Must remove OPTION to prevent class being rechanged.
|
|
- sc->option &= type==SC_WEDDING?~OPTION_WEDDING:type==SC_XMAS?~OPTION_XMAS:type==SC_SUMMER?~OPTION_SUMMER:~OPTION_HANBOK;
|
|
|
|
|
|
+ sc->option &= type==SC_WEDDING?~OPTION_WEDDING:type==SC_XMAS?~OPTION_XMAS:type==SC_SUMMER?~OPTION_SUMMER:type==SC_HANBOK?~OPTION_HANBOK:~OPTION_OKTOBERFEST;
|
|
clif_changeoption(&sd->bl);
|
|
clif_changeoption(&sd->bl);
|
|
status_set_viewdata(bl, sd->status.class_);
|
|
status_set_viewdata(bl, sd->status.class_);
|
|
} else {
|
|
} else {
|
|
@@ -10609,6 +10623,9 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
|
|
case SC_HANBOK:
|
|
case SC_HANBOK:
|
|
sc->option &= ~OPTION_HANBOK;
|
|
sc->option &= ~OPTION_HANBOK;
|
|
break;
|
|
break;
|
|
|
|
+ case SC_OKTOBERFEST:
|
|
|
|
+ sc->option &= ~OPTION_OKTOBERFEST;
|
|
|
|
+ break;
|
|
case SC_ORCISH:
|
|
case SC_ORCISH:
|
|
sc->option &= ~OPTION_ORCISH;
|
|
sc->option &= ~OPTION_ORCISH;
|
|
break;
|
|
break;
|