|
@@ -95,7 +95,7 @@ static unsigned int status_calc_maxhp(struct block_list *bl, uint64 maxhp);
|
|
static unsigned int status_calc_maxsp(struct block_list *bl, uint64 maxsp);
|
|
static unsigned int status_calc_maxsp(struct block_list *bl, uint64 maxsp);
|
|
static unsigned char status_calc_element(struct block_list *bl, struct status_change *sc, int element);
|
|
static unsigned char status_calc_element(struct block_list *bl, struct status_change *sc, int element);
|
|
static unsigned char status_calc_element_lv(struct block_list *bl, struct status_change *sc, int lv);
|
|
static unsigned char status_calc_element_lv(struct block_list *bl, struct status_change *sc, int lv);
|
|
-static enum e_mode status_calc_mode(struct block_list *bl, struct status_change *sc, enum e_mode mode);
|
|
|
|
|
|
+static int status_calc_mode(struct block_list *bl, struct status_change *sc, int mode);
|
|
#ifdef RENEWAL
|
|
#ifdef RENEWAL
|
|
static unsigned short status_calc_ematk(struct block_list *,struct status_change *,int);
|
|
static unsigned short status_calc_ematk(struct block_list *,struct status_change *,int);
|
|
#endif
|
|
#endif
|
|
@@ -8397,19 +8397,19 @@ unsigned char status_calc_attack_element(struct block_list *bl, struct status_ch
|
|
* @param mode: Original mode
|
|
* @param mode: Original mode
|
|
* @return mode with cap_value(mode, 0, INT_MAX)
|
|
* @return mode with cap_value(mode, 0, INT_MAX)
|
|
*/
|
|
*/
|
|
-static enum e_mode status_calc_mode(struct block_list *bl, struct status_change *sc, enum e_mode mode)
|
|
|
|
|
|
+static int status_calc_mode(struct block_list *bl, struct status_change *sc, int mode)
|
|
{
|
|
{
|
|
if(!sc || !sc->count)
|
|
if(!sc || !sc->count)
|
|
- return cap_value(mode, MD_NONE, static_cast<e_mode>(INT_MAX));
|
|
|
|
|
|
+ return cap_value(mode, MD_NONE,INT_MAX);
|
|
if(sc->data[SC_MODECHANGE]) {
|
|
if(sc->data[SC_MODECHANGE]) {
|
|
if (sc->data[SC_MODECHANGE]->val2)
|
|
if (sc->data[SC_MODECHANGE]->val2)
|
|
- mode = static_cast<e_mode>((mode&~MD_MASK)|sc->data[SC_MODECHANGE]->val2); // Set mode
|
|
|
|
|
|
+ mode = (mode&~MD_MASK)|sc->data[SC_MODECHANGE]->val2; // Set mode
|
|
if (sc->data[SC_MODECHANGE]->val3)
|
|
if (sc->data[SC_MODECHANGE]->val3)
|
|
- mode = static_cast<e_mode>(mode|sc->data[SC_MODECHANGE]->val3); // Add mode
|
|
|
|
|
|
+ mode = mode|sc->data[SC_MODECHANGE]->val3; // Add mode
|
|
if (sc->data[SC_MODECHANGE]->val4)
|
|
if (sc->data[SC_MODECHANGE]->val4)
|
|
- mode = static_cast<e_mode>(mode&~sc->data[SC_MODECHANGE]->val4); // Del mode
|
|
|
|
|
|
+ mode = mode&~sc->data[SC_MODECHANGE]->val4; // Del mode
|
|
}
|
|
}
|
|
- return cap_value(mode, MD_NONE, static_cast<e_mode>(INT_MAX));
|
|
|
|
|
|
+ return cap_value(mode, MD_NONE, INT_MAX);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -9778,7 +9778,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
break;
|
|
break;
|
|
case SC_MODECHANGE:
|
|
case SC_MODECHANGE:
|
|
{
|
|
{
|
|
- enum e_mode mode;
|
|
|
|
|
|
+ int mode;
|
|
struct status_data *bstatus = status_get_base_status(bl);
|
|
struct status_data *bstatus = status_get_base_status(bl);
|
|
if (!bstatus) return 0;
|
|
if (!bstatus) return 0;
|
|
if (sc->data[type]) { // Pile up with previous values.
|
|
if (sc->data[type]) { // Pile up with previous values.
|
|
@@ -9786,9 +9786,9 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
|
val3 |= sc->data[type]->val3;
|
|
val3 |= sc->data[type]->val3;
|
|
val4 |= sc->data[type]->val4;
|
|
val4 |= sc->data[type]->val4;
|
|
}
|
|
}
|
|
- mode = val2 ? static_cast<e_mode>((val2&~MD_MASK)|val2) : bstatus->mode; // Base mode
|
|
|
|
- if (val4) mode = static_cast<e_mode>(mode&~val4); // Del mode
|
|
|
|
- if (val3) mode = static_cast<e_mode>(mode|val3); // Add mode
|
|
|
|
|
|
+ mode = val2 ? ((val2&~MD_MASK)|val2) : bstatus->mode; // Base mode
|
|
|
|
+ if (val4) mode = (mode&~val4); // Del mode
|
|
|
|
+ if (val3) mode = (mode|val3); // Add mode
|
|
if (mode == bstatus->mode) { // No change.
|
|
if (mode == bstatus->mode) { // No change.
|
|
if (sc->data[type]) // Abort previous status
|
|
if (sc->data[type]) // Abort previous status
|
|
return status_change_end(bl, type, INVALID_TIMER);
|
|
return status_change_end(bl, type, INVALID_TIMER);
|
|
@@ -14982,7 +14982,7 @@ TIMER_FUNC(status_change_timer){
|
|
if( !status_charge(bl,0,sce->val2) ) {
|
|
if( !status_charge(bl,0,sce->val2) ) {
|
|
struct block_list *s_bl = battle_get_master(bl);
|
|
struct block_list *s_bl = battle_get_master(bl);
|
|
if (bl->type == BL_ELEM)
|
|
if (bl->type == BL_ELEM)
|
|
- elemental_change_mode(BL_CAST(BL_ELEM, bl), static_cast<e_mode>(MAX_ELESKILLTREE));
|
|
|
|
|
|
+ elemental_change_mode(BL_CAST(BL_ELEM, bl), EL_MODE_PASSIVE);
|
|
if( s_bl )
|
|
if( s_bl )
|
|
status_change_end(s_bl,static_cast<sc_type>(type+1),INVALID_TIMER);
|
|
status_change_end(s_bl,static_cast<sc_type>(type+1),INVALID_TIMER);
|
|
status_change_end(bl,type,INVALID_TIMER);
|
|
status_change_end(bl,type,INVALID_TIMER);
|