getmapflag MF_RESTRICTED (#4193)
* Corrected the value returned by getmapflag script command for MF_RESTRICTED
This commit is contained in:
parent
3cb23fd5aa
commit
f8ea43ebc7
@ -2190,7 +2190,7 @@ static int battle_skill_damage_skill(struct block_list *src, struct block_list *
|
|||||||
(damage->map&4 && mapdata_flag_gvg2(mapdata)) ||
|
(damage->map&4 && mapdata_flag_gvg2(mapdata)) ||
|
||||||
(damage->map&8 && mapdata->flag[MF_BATTLEGROUND]) ||
|
(damage->map&8 && mapdata->flag[MF_BATTLEGROUND]) ||
|
||||||
(damage->map&16 && mapdata->flag[MF_SKILL_DAMAGE]) ||
|
(damage->map&16 && mapdata->flag[MF_SKILL_DAMAGE]) ||
|
||||||
(damage->map&(8*mapdata->zone) && mapdata->flag[MF_RESTRICTED]))
|
(damage->map&(mapdata->zone) && mapdata->flag[MF_RESTRICTED]))
|
||||||
{
|
{
|
||||||
return damage->rate[battle_skill_damage_type(target)];
|
return damage->rate[battle_skill_damage_type(target)];
|
||||||
}
|
}
|
||||||
|
@ -1632,7 +1632,7 @@ bool itemdb_isNoEquip(struct item_data *id, uint16 m) {
|
|||||||
(id->flag.no_equip&4 && mapdata_flag_gvg2_no_te(mapdata)) || // GVG
|
(id->flag.no_equip&4 && mapdata_flag_gvg2_no_te(mapdata)) || // GVG
|
||||||
(id->flag.no_equip&8 && mapdata->flag[MF_BATTLEGROUND]) || // Battleground
|
(id->flag.no_equip&8 && mapdata->flag[MF_BATTLEGROUND]) || // Battleground
|
||||||
(id->flag.no_equip&16 && mapdata_flag_gvg2_te(mapdata)) || // WOE:TE
|
(id->flag.no_equip&16 && mapdata_flag_gvg2_te(mapdata)) || // WOE:TE
|
||||||
(id->flag.no_equip&(8*mapdata->zone) && mapdata->flag[MF_RESTRICTED]) // Zone restriction
|
(id->flag.no_equip&(mapdata->zone) && mapdata->flag[MF_RESTRICTED]) // Zone restriction
|
||||||
)
|
)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
|
@ -4847,9 +4847,9 @@ bool map_setmapflag_sub(int16 m, enum e_mapflag mapflag, bool status, union u_ma
|
|||||||
|
|
||||||
mapdata->flag[mapflag] = status;
|
mapdata->flag[mapflag] = status;
|
||||||
if (!status)
|
if (!status)
|
||||||
mapdata->zone ^= 1 << (args->flag_val + 1);
|
mapdata->zone ^= (1 << (args->flag_val + 1)) << 3;
|
||||||
else
|
else
|
||||||
mapdata->zone |= 1 << (args->flag_val + 1);
|
mapdata->zone |= (1 << (args->flag_val + 1)) << 3;
|
||||||
break;
|
break;
|
||||||
case MF_NOCOMMAND:
|
case MF_NOCOMMAND:
|
||||||
if (status) {
|
if (status) {
|
||||||
|
@ -12965,7 +12965,7 @@ bool pc_job_can_entermap(enum e_job jobid, int m, int group_lv) {
|
|||||||
(job_info[idx].noenter_map.zone&4 && mapdata_flag_gvg2_no_te(mapdata)) || // GVG
|
(job_info[idx].noenter_map.zone&4 && mapdata_flag_gvg2_no_te(mapdata)) || // GVG
|
||||||
(job_info[idx].noenter_map.zone&8 && mapdata->flag[MF_BATTLEGROUND]) || // Battleground
|
(job_info[idx].noenter_map.zone&8 && mapdata->flag[MF_BATTLEGROUND]) || // Battleground
|
||||||
(job_info[idx].noenter_map.zone&16 && mapdata_flag_gvg2_te(mapdata)) || // WOE:TE
|
(job_info[idx].noenter_map.zone&16 && mapdata_flag_gvg2_te(mapdata)) || // WOE:TE
|
||||||
(job_info[idx].noenter_map.zone&(8*mapdata->zone) && mapdata->flag[MF_RESTRICTED]) // Zone restriction
|
(job_info[idx].noenter_map.zone&(mapdata->zone) && mapdata->flag[MF_RESTRICTED]) // Zone restriction
|
||||||
)
|
)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -754,7 +754,7 @@ bool skill_isNotOk(uint16 skill_id, struct map_session_data *sd)
|
|||||||
(skill_nocast&4 && mapdata_flag_gvg2_no_te(mapdata)) ||
|
(skill_nocast&4 && mapdata_flag_gvg2_no_te(mapdata)) ||
|
||||||
(skill_nocast&8 && mapdata->flag[MF_BATTLEGROUND]) ||
|
(skill_nocast&8 && mapdata->flag[MF_BATTLEGROUND]) ||
|
||||||
(skill_nocast&16 && mapdata_flag_gvg2_te(mapdata)) || // WOE:TE
|
(skill_nocast&16 && mapdata_flag_gvg2_te(mapdata)) || // WOE:TE
|
||||||
(mapdata->zone && skill_nocast&(8*mapdata->zone) && mapdata->flag[MF_RESTRICTED]) ){
|
(mapdata->zone && skill_nocast&(mapdata->zone) && mapdata->flag[MF_RESTRICTED]) ){
|
||||||
clif_msg(sd, SKILL_CANT_USE_AREA); // This skill cannot be used within this area
|
clif_msg(sd, SKILL_CANT_USE_AREA); // This skill cannot be used within this area
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -14504,13 +14504,12 @@ void status_change_clear_onChangeMap(struct block_list *bl, struct status_change
|
|||||||
bool mapIsGVG = mapdata_flag_gvg2_no_te(mapdata);
|
bool mapIsGVG = mapdata_flag_gvg2_no_te(mapdata);
|
||||||
bool mapIsBG = mapdata->flag[MF_BATTLEGROUND] != 0;
|
bool mapIsBG = mapdata->flag[MF_BATTLEGROUND] != 0;
|
||||||
bool mapIsTE = mapdata_flag_gvg2_te(mapdata);
|
bool mapIsTE = mapdata_flag_gvg2_te(mapdata);
|
||||||
unsigned int mapZone = mapdata->zone << 3;
|
|
||||||
|
|
||||||
for (i = 0; i < SC_MAX; i++) {
|
for (i = 0; i < SC_MAX; i++) {
|
||||||
if (!sc->data[i] || !SCDisabled[i])
|
if (!sc->data[i] || !SCDisabled[i])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (status_change_isDisabledOnMap_((sc_type)i, mapIsVS, mapIsPVP, mapIsGVG, mapIsBG, mapZone, mapIsTE))
|
if (status_change_isDisabledOnMap_((sc_type)i, mapIsVS, mapIsPVP, mapIsGVG, mapIsBG, mapdata->zone, mapIsTE))
|
||||||
status_change_end(bl, (sc_type)i, INVALID_TIMER);
|
status_change_end(bl, (sc_type)i, INVALID_TIMER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user