Open src/map/atcommand.c and search for:
if (map->list[m_id].flag.nomemo) strcat(atcmd_output, msg_txt(1064)); // NoMemo |
add below:
Code:
if (map->list[m_id].flag.asuraabsorb) strcat(atcmd_output, "AsuraAbsorb |");
Search for:
Add below:
Search for:
Add below:
Search for:
Code:
clif->message(sd->fd,"guildlock, src4instance, notomb, nocashshop");
Replace it with:
Code:
clif->message(sd->fd,"guildlock, src4instance, notomb, nocashshop, asuraabsorb");
Now open src/map/map.c and search for:
Code:
} else if (!strcmpi(flag,"nocashshop")) { if( state && map->list[m].flag.nocashshop ) ;/* nothing to do */ else { if( state ) map_zone_mf_cache_add(m,"nocashshoptoff"); else if( map->list[m].flag.nocashshop ) map_zone_mf_cache_add(m,"nocashshop"); } }
Add below:
Code:
else if( !strcmpi(flag,"asuraabsorb")) { if( state && map->list[m].flag.asuraabsorb ) ; /* nothing to do */ else { if( state ) map_zone_mf_cache_add(m,"asuraabsorbtoff"); else if( map->list[m].flag.asuraabsorb ) map_zone_mf_cache_add(m,"asuraabsorb"); } }
Now open src/map/map.h and find:
Add below it:
Code:
unsigned asuraabsorb : 1;
Now open src/map/npc.c and search for:
Code:
} else if ( !strcmpi(w3,"nocashshop") ) { map->list[m].flag.nocashshop = (state) ? 1 : 0; } else ShowError("npc_parse_mapflag: unrecognized mapflag '%s' in file '%s', line '%d'.n", w3, filepath, strline(buffer,start-buffer));
Replace it with:
Code:
} else if ( !strcmpi(w3,"nocashshop") ) { map->list[m].flag.nocashshop = (state) ? 1 : 0; } else if( !strcmpi(w3, "asuraabsorb") ) { map->list[m].flag.asuraabsorb = state; } else ShowError("npc_parse_mapflag: unrecognized mapflag '%s' in file '%s', line '%d'.n", w3, filepath, strline(buffer,start-buffer));
Open src/map/script.h and search for:
Replace it with:
Code:
MF_NOCASHSHOP, MF_ASURAABSORB
Now open src/map/script.c and search for:
Code:
case MF_NOCASHSHOP: script_pushint(st,map->list[m].flag.nocashshop); break;
Add below:
Code:
case MF_ASURAABSORB: script_pushint(st,map->list[m].flag.asuraabsorb); break;
Search for:
Code:
case MF_NOCASHSHOP: map->list[m].flag.nocashshop = 1; break;
Add below:
Code:
case MF_ASURAABSORB: map->list[m].flag.asuraabsorb = 1; break;
Search for:
Code:
case MF_NOCASHSHOP: map->list[m].flag.nocashshop = 0; break;
Add below:
Code:
case MF_ASURAABSORB: map->list[m].flag.asuraabsorb = 0; break;
And finally open src/map/skill.c and search for:
Code:
case NJ_ISSEN: case MO_EXTREMITYFIST: { short x, y, i = 2; // Move 2 cells for Issen(from target) struct block_list *mbl = bl; short dir = 0;
Add below:
Code:
struct skill_condition req = skill->get_requirement(sd,skill_id,skill_lv); if( req.spiritball > sd->spiritball && map->list[src->m].flag.asuraabsorb ) { clif->skill_fail(sd, skill_id, 0, 0); break; }