diff options
author | Susu <bruant.bastien@gmail.com> | 2013-06-07 20:03:32 +0200 |
---|---|---|
committer | Susu <bruant.bastien@gmail.com> | 2013-06-07 20:03:32 +0200 |
commit | d73783f22b2bb881aab74524d153d89a5932a199 (patch) | |
tree | feea3cd428cee18be3da9bf0bee6d4570d9cad02 /src/map/script.c | |
parent | dc7f14c7dc9829061f8902354367bdc8467eb841 (diff) | |
download | hercules-d73783f22b2bb881aab74524d153d89a5932a199.tar.gz hercules-d73783f22b2bb881aab74524d153d89a5932a199.tar.bz2 hercules-d73783f22b2bb881aab74524d153d89a5932a199.tar.xz hercules-d73783f22b2bb881aab74524d153d89a5932a199.zip |
Hercules Renewal Phase One : pc, party, map, timer
Added iPc, iParty, iMap, iTimer to HPM exported interfaces
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 866 |
1 files changed, 433 insertions, 433 deletions
diff --git a/src/map/script.c b/src/map/script.c index bd7d1a7b5..9569e526d 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -363,7 +363,7 @@ static void script_reportsrc(struct script_state *st) if( st->oid == 0 ) return; //Can't report source. - bl = map_id2bl(st->oid); + bl = iMap->id2bl(st->oid); if( bl == NULL ) return; @@ -2013,7 +2013,7 @@ static void read_constdb(void) char line[1024],name[1024],val[1024]; int type; - sprintf(line, "%s/const.txt", db_path); + sprintf(line, "%s/const.txt", iMap->db_path); fp=fopen(line, "r"); if(fp==NULL){ ShowError("can't read %s\n", line); @@ -2280,7 +2280,7 @@ struct script_code* parse_script(const char *src,const char *file,int line,int o /// If there is no player attached, the script is terminated. TBL_PC *script_rid2sd(struct script_state *st) { TBL_PC *sd; - if( !( sd = map_id2sd(st->rid) ) ){ + if( !( sd = iMap->id2sd(st->rid) ) ){ ShowError("script_rid2sd: fatal error ! player not attached!\n"); script_reportfunc(st); script_reportsrc(st); @@ -2335,7 +2335,7 @@ void get_val(struct script_state* st, struct script_data* data) switch( prefix ) { case '@': - data->u.str = pc_readregstr(sd, data->u.num); + data->u.str = iPc->readregstr(sd, data->u.num); break; case '$': data->u.str = mapreg_readregstr(data->u.num); @@ -2394,13 +2394,13 @@ void get_val(struct script_state* st, struct script_data* data) } else if( reference_toparam(data) ) { - data->u.num = pc_readparam(sd, reference_getparamtype(data)); + data->u.num = iPc->readparam(sd, reference_getparamtype(data)); } else switch( prefix ) { case '@': - data->u.num = pc_readreg(sd, data->u.num); + data->u.num = iPc->readreg(sd, data->u.num); break; case '$': data->u.num = mapreg_readreg(data->u.num); @@ -2467,7 +2467,7 @@ static int set_reg(struct script_state* st, TBL_PC* sd, int num, const char* nam const char* str = (const char*)value; switch (prefix) { case '@': - return pc_setregstr(sd, num, str); + return iPc->setregstr(sd, num, str); case '$': return mapreg_setregstr(num, str); case '#': @@ -2499,7 +2499,7 @@ static int set_reg(struct script_state* st, TBL_PC* sd, int num, const char* nam int val = (int)__64BPTRSIZE(value); if(str_data[num&0x00ffffff].type == C_PARAM) { - if( pc_setparam(sd, str_data[num&0x00ffffff].val, val) == 0 ) + if( iPc->setparam(sd, str_data[num&0x00ffffff].val, val) == 0 ) { if( st != NULL ) { @@ -2514,7 +2514,7 @@ static int set_reg(struct script_state* st, TBL_PC* sd, int num, const char* nam switch (prefix) { case '@': - return pc_setreg(sd, num, val); + return iPc->setreg(sd, num, val); case '$': return mapreg_setreg(num, val); case '#': @@ -2831,7 +2831,7 @@ void script_free_state(struct script_state* st) ShowDebug("script_free_state: Previous script state lost (rid=%d, oid=%d, state=%d, bk_npcid=%d).\n", st->bk_st->rid, st->bk_st->oid, st->bk_st->state, st->bk_npcid); } if( st->sleep.timer != INVALID_TIMER ) - delete_timer(st->sleep.timer, run_script_timer); + iTimer->delete_timer(st->sleep.timer, run_script_timer); script_free_vars(st->stack->var_function); pop_stack(st, 0, st->stack->sp); aFree(st->stack->stack_data); @@ -3355,7 +3355,7 @@ int run_script_timer(int tid, unsigned int tick, int id, intptr_t data) { struct script_state *st = (struct script_state *)data; struct linkdb_node *node = (struct linkdb_node *)sleep_db; - TBL_PC *sd = map_id2sd(st->rid); + TBL_PC *sd = iMap->id2sd(st->rid); if((sd && sd->status.char_id != id) || (st->rid && !sd)) { //Character mismatch. Cancel execution. @@ -3384,7 +3384,7 @@ static void script_detach_state(struct script_state* st, bool dequeue_event) { struct map_session_data* sd; - if(st->rid && (sd = map_id2sd(st->rid))!=NULL) { + if(st->rid && (sd = iMap->id2sd(st->rid))!=NULL) { sd->st = st->bk_st; sd->npc_id = st->bk_npcid; sd->state.dialog = 0; @@ -3423,7 +3423,7 @@ static void script_attach_state(struct script_state* st) { struct map_session_data* sd; - if(st->rid && (sd = map_id2sd(st->rid))!=NULL) + if(st->rid && (sd = iMap->id2sd(st->rid))!=NULL) { if(st!=sd->st) { @@ -3461,7 +3461,7 @@ void run_script_main(struct script_state *st) script_attach_state(st); - nd = map_id2nd(st->oid); + nd = iMap->id2nd(st->oid); if( nd && nd->bl.m >= 0 ) st->instance_id = map[nd->bl.m].instance_id; else @@ -3566,9 +3566,9 @@ void run_script_main(struct script_state *st) //Restore previous script script_detach_state(st, false); //Delay execution - sd = map_id2sd(st->rid); // Get sd since script might have attached someone while running. [Inkfish] + sd = iMap->id2sd(st->rid); // Get sd since script might have attached someone while running. [Inkfish] st->sleep.charid = sd?sd->status.char_id:0; - st->sleep.timer = add_timer(gettick()+st->sleep.tick, + st->sleep.timer = iTimer->add_timer(iTimer->gettick()+st->sleep.tick, run_script_timer, st->sleep.charid, (intptr_t)st); linkdb_insert(&sleep_db, (void*)__64BPTRSIZE(st->oid), st); } @@ -3587,7 +3587,7 @@ void run_script_main(struct script_state *st) } } else { //Dispose of script. - if ((sd = map_id2sd(st->rid))!=NULL) { //Restore previous stack and save char. + if ((sd = iMap->id2sd(st->rid))!=NULL) { //Restore previous stack and save char. if(sd->state.using_fake_npc){ clif->clearunit_single(sd->npc_id, CLR_OUTSIGHT, sd->fd); sd->state.using_fake_npc = 0; @@ -3659,7 +3659,7 @@ int script_config_read(char *cfgName) */ static int db_script_free_code_sub(DBKey key, DBData *data, va_list ap) { - struct script_code *code = DB->data2ptr(data); + struct script_code *code = iDB->data2ptr(data); if (code) script_free_code(code); return 0; @@ -3706,14 +3706,14 @@ void script_cleararray_pc(struct map_session_data* sd, const char* varname, void { for( idx = 0; idx < SCRIPT_MAX_ARRAYSIZE; idx++ ) { - pc_setregstr(sd, reference_uid(key, idx), (const char*)value); + iPc->setregstr(sd, reference_uid(key, idx), (const char*)value); } } else { for( idx = 0; idx < SCRIPT_MAX_ARRAYSIZE; idx++ ) { - pc_setreg(sd, reference_uid(key, idx), (int)__64BPTRSIZE(value)); + iPc->setreg(sd, reference_uid(key, idx), (int)__64BPTRSIZE(value)); } } } @@ -3741,11 +3741,11 @@ void script_setarray_pc(struct map_session_data* sd, const char* varname, uint8 if( is_string_variable(varname) ) { - pc_setregstr(sd, reference_uid(key, idx), (const char*)value); + iPc->setregstr(sd, reference_uid(key, idx), (const char*)value); } else { - pc_setreg(sd, reference_uid(key, idx), (int)__64BPTRSIZE(value)); + iPc->setreg(sd, reference_uid(key, idx), (int)__64BPTRSIZE(value)); } if( refcache ) @@ -4103,7 +4103,7 @@ BUILDIN(menu) * menus beyond this length crash the client (see bugreport:6402) **/ if( StrBuf->Length(&buf) >= 2047 ) { - struct npc_data * nd = map_id2nd(st->oid); + struct npc_data * nd = iMap->id2nd(st->oid); char* menu; CREATE(menu, char, 2048); safestrncpy(menu, StrBuf->Value(&buf), 2047); @@ -4159,7 +4159,7 @@ BUILDIN(menu) st->state = END; return false; } - pc_setreg(sd, add_str("@menu"), menu); + iPc->setreg(sd, add_str("@menu"), menu); st->pos = script_getnum(st, i + 1); st->state = GOTO; } @@ -4208,7 +4208,7 @@ BUILDIN(select) * menus beyond this length crash the client (see bugreport:6402) **/ if( StrBuf->Length(&buf) >= 2047 ) { - struct npc_data * nd = map_id2nd(st->oid); + struct npc_data * nd = iMap->id2nd(st->oid); char* menu; CREATE(menu, char, 2048); safestrncpy(menu, StrBuf->Value(&buf), 2047); @@ -4236,7 +4236,7 @@ BUILDIN(select) if( sd->npc_menu <= 0 ) break;// entry found } - pc_setreg(sd, add_str("@menu"), menu); + iPc->setreg(sd, add_str("@menu"), menu); script_pushint(st, menu); st->state = RUN; } @@ -4287,7 +4287,7 @@ BUILDIN(prompt) * menus beyond this length crash the client (see bugreport:6402) **/ if( StrBuf->Length(&buf) >= 2047 ) { - struct npc_data * nd = map_id2nd(st->oid); + struct npc_data * nd = iMap->id2nd(st->oid); char* menu; CREATE(menu, char, 2048); safestrncpy(menu, StrBuf->Value(&buf), 2047); @@ -4307,7 +4307,7 @@ BUILDIN(prompt) else if( sd->npc_menu == 0xff ) {// Cancel was pressed sd->state.menu_or_input = 0; - pc_setreg(sd, add_str("@menu"), 0xff); + iPc->setreg(sd, add_str("@menu"), 0xff); script_pushint(st, 0xff); st->state = RUN; } @@ -4323,7 +4323,7 @@ BUILDIN(prompt) if( sd->npc_menu <= 0 ) break;// entry found } - pc_setreg(sd, add_str("@menu"), menu); + iPc->setreg(sd, add_str("@menu"), menu); script_pushint(st, menu); st->state = RUN; } @@ -4569,11 +4569,11 @@ BUILDIN(warp) y = script_getnum(st,4); if(strcmp(str,"Random")==0) - ret = pc_randomwarp(sd,CLR_TELEPORT); + ret = iPc->randomwarp(sd,CLR_TELEPORT); else if(strcmp(str,"SavePoint")==0 || strcmp(str,"Save")==0) - ret = pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); + ret = iPc->setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); else - ret = pc_setpos(sd,mapindex_name2id(str),x,y,CLR_OUTSIGHT); + ret = iPc->setpos(sd,mapindex_name2id(str),x,y,CLR_OUTSIGHT); if( ret ) { ShowError("buildin_warp: moving player '%s' to \"%s\",%d,%d failed.\n", sd->status.name, str, x, y); @@ -4597,7 +4597,7 @@ static int buildin_areawarp_sub(struct block_list *bl,va_list ap) y3 = va_arg(ap,int); if(index == 0) - pc_randomwarp((TBL_PC *)bl,CLR_TELEPORT); + iPc->randomwarp((TBL_PC *)bl,CLR_TELEPORT); else if(x3 && y3) { int max, tx, ty, j = 0; @@ -4610,12 +4610,12 @@ static int buildin_areawarp_sub(struct block_list *bl,va_list ap) tx = rnd()%(x3-x2+1)+x2; ty = rnd()%(y3-y2+1)+y2; j++; - } while( map_getcell(index,tx,ty,CELL_CHKNOPASS) && j < max ); + } while( iMap->getcell(index,tx,ty,CELL_CHKNOPASS) && j < max ); - pc_setpos((TBL_PC *)bl,index,tx,ty,CLR_OUTSIGHT); + iPc->setpos((TBL_PC *)bl,index,tx,ty,CLR_OUTSIGHT); } else - pc_setpos((TBL_PC *)bl,index,x2,y2,CLR_OUTSIGHT); + iPc->setpos((TBL_PC *)bl,index,x2,y2,CLR_OUTSIGHT); return 0; } BUILDIN(areawarp) @@ -4645,7 +4645,7 @@ BUILDIN(areawarp) } } - if( (m = map_mapname2mapid(mapname)) < 0 ) + if( (m = iMap->mapname2mapid(mapname)) < 0 ) return true; if( strcmp(str,"Random") == 0 ) @@ -4653,7 +4653,7 @@ BUILDIN(areawarp) else if( !(index=mapindex_name2id(str)) ) return true; - map_foreachinarea(buildin_areawarp_sub, m,x0,y0,x1,y1, BL_PC, index,x2,y2,x3,y3); + iMap->foreachinarea(buildin_areawarp_sub, m,x0,y0,x1,y1, BL_PC, index,x2,y2,x3,y3); return true; } @@ -4665,7 +4665,7 @@ static int buildin_areapercentheal_sub(struct block_list *bl,va_list ap) int hp, sp; hp = va_arg(ap, int); sp = va_arg(ap, int); - pc_percentheal((TBL_PC *)bl,hp,sp); + iPc->percentheal((TBL_PC *)bl,hp,sp); return 0; } BUILDIN(areapercentheal) @@ -4682,10 +4682,10 @@ BUILDIN(areapercentheal) hp=script_getnum(st,7); sp=script_getnum(st,8); - if( (m=map_mapname2mapid(mapname))< 0) + if( (m=iMap->mapname2mapid(mapname))< 0) return true; - map_foreachinarea(buildin_areapercentheal_sub,m,x0,y0,x1,y1,BL_PC,hp,sp); + iMap->foreachinarea(buildin_areapercentheal_sub,m,x0,y0,x1,y1,BL_PC,hp,sp); return true; } @@ -4706,17 +4706,17 @@ BUILDIN(warpchar) y=script_getnum(st,4); a=script_getnum(st,5); - sd = map_charid2sd(a); + sd = iMap->charid2sd(a); if( sd == NULL ) return true; if(strcmp(str, "Random") == 0) - pc_randomwarp(sd, CLR_TELEPORT); + iPc->randomwarp(sd, CLR_TELEPORT); else if(strcmp(str, "SavePoint") == 0) - pc_setpos(sd, sd->status.save_point.map,sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT); + iPc->setpos(sd, sd->status.save_point.map,sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT); else - pc_setpos(sd, mapindex_name2id(str), x, y, CLR_TELEPORT); + iPc->setpos(sd, mapindex_name2id(str), x, y, CLR_TELEPORT); return true; } @@ -4742,7 +4742,7 @@ BUILDIN(warpparty) if ( script_hasdata(st,6) ) str2 = script_getstr(st,6); - p = party_search(p_id); + p = iParty->search(p_id); if(!p) return true; @@ -4790,20 +4790,20 @@ BUILDIN(warpparty) { case 0: // Random if(!map[pl_sd->bl.m].flag.nowarp) - pc_randomwarp(pl_sd,CLR_TELEPORT); + iPc->randomwarp(pl_sd,CLR_TELEPORT); break; case 1: // SavePointAll if(!map[pl_sd->bl.m].flag.noreturn) - pc_setpos(pl_sd,pl_sd->status.save_point.map,pl_sd->status.save_point.x,pl_sd->status.save_point.y,CLR_TELEPORT); + iPc->setpos(pl_sd,pl_sd->status.save_point.map,pl_sd->status.save_point.x,pl_sd->status.save_point.y,CLR_TELEPORT); break; case 2: // SavePoint if(!map[pl_sd->bl.m].flag.noreturn) - pc_setpos(pl_sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); + iPc->setpos(pl_sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); break; case 3: // Leader case 4: // m,x,y if(!map[pl_sd->bl.m].flag.noreturn && !map[pl_sd->bl.m].flag.nowarp) - pc_setpos(pl_sd,mapindex,x,y,CLR_TELEPORT); + iPc->setpos(pl_sd,mapindex,x,y,CLR_TELEPORT); break; } } @@ -4851,19 +4851,19 @@ BUILDIN(warpguild) { case 0: // Random if(!map[pl_sd->bl.m].flag.nowarp) - pc_randomwarp(pl_sd,CLR_TELEPORT); + iPc->randomwarp(pl_sd,CLR_TELEPORT); break; case 1: // SavePointAll if(!map[pl_sd->bl.m].flag.noreturn) - pc_setpos(pl_sd,pl_sd->status.save_point.map,pl_sd->status.save_point.x,pl_sd->status.save_point.y,CLR_TELEPORT); + iPc->setpos(pl_sd,pl_sd->status.save_point.map,pl_sd->status.save_point.x,pl_sd->status.save_point.y,CLR_TELEPORT); break; case 2: // SavePoint if(!map[pl_sd->bl.m].flag.noreturn) - pc_setpos(pl_sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); + iPc->setpos(pl_sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); break; case 3: // m,x,y if(!map[pl_sd->bl.m].flag.noreturn && !map[pl_sd->bl.m].flag.nowarp) - pc_setpos(pl_sd,mapindex_name2id(str),x,y,CLR_TELEPORT); + iPc->setpos(pl_sd,mapindex_name2id(str),x,y,CLR_TELEPORT); break; } } @@ -4906,7 +4906,7 @@ BUILDIN(itemheal) sd = script_rid2sd(st); if (!sd) return true; - pc_itemheal(sd,sd->itemid,hp,sp); + iPc->itemheal(sd,sd->itemid,hp,sp); return true; } /*========================================== @@ -4933,7 +4933,7 @@ BUILDIN(percentheal) if( sd->sc.data[SC_EXTREMITYFIST2] ) sp = 0; #endif - pc_percentheal(sd,hp,sp); + iPc->percentheal(sd,hp,sp); return true; } @@ -4956,7 +4956,7 @@ BUILDIN(jobchange) if( sd == NULL ) return true; - pc_jobchange(sd, job, upper); + iPc->jobchange(sd, job, upper); } return true; @@ -4968,7 +4968,7 @@ BUILDIN(jobchange) BUILDIN(jobname) { int class_=script_getnum(st,2); - script_pushconststr(st, (char*)job_name(class_)); + script_pushconststr(st, (char*)iPc->job_name(class_)); return true; } @@ -5530,7 +5530,7 @@ BUILDIN(setlook) if( sd == NULL ) return true; - pc_changelook(sd,type,val); + iPc->changelook(sd,type,val); return true; } @@ -5719,7 +5719,7 @@ BUILDIN(checkweight) script_pushint(st,0); return false; } - slots = pc_inventoryblank(sd); //nb of empty slot + slots = iPc->inventoryblank(sd); //nb of empty slot for(i=2; i<nbargs; i=i+2){ data = script_getdata(st,i); @@ -5750,7 +5750,7 @@ BUILDIN(checkweight) return true; } - switch( pc_checkadditem(sd, nameid, amount) ) + switch( iPc->checkadditem(sd, nameid, amount) ) { case ADDITEM_EXIST: // item is already in inventory, but there is still space for the requested amount @@ -5833,7 +5833,7 @@ BUILDIN(checkweight2) fail = 1; } - slots = pc_inventoryblank(sd); + slots = iPc->inventoryblank(sd); for(i=0; i<nb_it; i++){ nameid = (int32)__64BPTRSIZE(get_val2(st,reference_uid(id_it,idx_it+i),reference_getref(data_it))); script_removetop(st, -1, 0); @@ -5856,7 +5856,7 @@ BUILDIN(checkweight2) fail = 1; continue; } - switch( pc_checkadditem(sd, nameid, amount) ) { + switch( iPc->checkadditem(sd, nameid, amount) ) { case ADDITEM_EXIST: // item is already in inventory, but there is still space for the requested amount break; @@ -5932,7 +5932,7 @@ BUILDIN(getitem) it.identify=itemdb_isidentified2(item_data); if( script_hasdata(st,4) ) - sd=map_id2sd(script_getnum(st,4)); // <Account ID> + sd=iMap->id2sd(script_getnum(st,4)); // <Account ID> else sd=script_rid2sd(st); // Attached player @@ -5950,11 +5950,11 @@ BUILDIN(getitem) // if not pet egg if (!pet_create_egg(sd, nameid)) { - if ((flag = pc_additem(sd, &it, get_count, LOG_TYPE_SCRIPT))) + if ((flag = iPc->additem(sd, &it, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); - if( pc_candrop(sd,&it) ) - map_addflooritem(&it,get_count,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); + if( iPc->candrop(sd,&it) ) + iMap->addflooritem(&it,get_count,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } } } @@ -5975,7 +5975,7 @@ BUILDIN(getitem2) struct script_data *data; if( script_hasdata(st,11) ) - sd=map_id2sd(script_getnum(st,11)); // <Account ID> + sd=iMap->id2sd(script_getnum(st,11)); // <Account ID> else sd=script_rid2sd(st); // Attached player @@ -6048,11 +6048,11 @@ BUILDIN(getitem2) // if not pet egg if (!pet_create_egg(sd, nameid)) { - if ((flag = pc_additem(sd, &item_tmp, get_count, LOG_TYPE_SCRIPT))) + if ((flag = iPc->additem(sd, &item_tmp, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); - if( pc_candrop(sd,&item_tmp) ) - map_addflooritem(&item_tmp,get_count,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); + if( iPc->candrop(sd,&item_tmp) ) + iMap->addflooritem(&item_tmp,get_count,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } } } @@ -6111,7 +6111,7 @@ BUILDIN(rentitem) it.identify = 1; it.expire_time = (unsigned int)(time(NULL) + seconds); - if( (flag = pc_additem(sd, &it, 1, LOG_TYPE_SCRIPT)) ) + if( (flag = iPc->additem(sd, &it, 1, LOG_TYPE_SCRIPT)) ) { clif->additem(sd, 0, 0, flag); return false; @@ -6163,9 +6163,9 @@ BUILDIN(getnameditem) data=script_getdata(st,3); get_val(st,data); if( data_isstring(data) ) //Char Name - tsd=map_nick2sd(script->conv_str(st,data)); + tsd=iMap->nick2sd(script->conv_str(st,data)); else //Char Id was given - tsd=map_charid2sd(script->conv_num(st,data)); + tsd=iMap->charid2sd(script->conv_num(st,data)); if( tsd == NULL ) { //Failed @@ -6180,7 +6180,7 @@ BUILDIN(getnameditem) item_tmp.card[0]=CARD0_CREATE; //we don't use 255! because for example SIGNED WEAPON shouldn't get TOP10 BS Fame bonus [Lupus] item_tmp.card[2]=tsd->status.char_id; item_tmp.card[3]=tsd->status.char_id >> 16; - if(pc_additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT)) { + if(iPc->additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT)) { script_pushint(st,0); return true; //Failed to add item, we will not drop if they don't fit } @@ -6241,7 +6241,7 @@ BUILDIN(makeitem) if (!sd) return true; //Failed... m=sd->bl.m; } else - m=map_mapname2mapid(mapname); + m=iMap->mapname2mapid(mapname); memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=nameid; @@ -6250,7 +6250,7 @@ BUILDIN(makeitem) else item_tmp.identify=itemdb_isidentified2(item_data); - map_addflooritem(&item_tmp,amount,m,x,y,0,0,0,0); + iMap->addflooritem(&item_tmp,amount,m,x,y,0,0,0,0); return true; } @@ -6272,7 +6272,7 @@ static void buildin_delitem_delete(struct map_session_data* sd, int idx, int* am {// delete associated pet intif_delete_petdata(MakeDWord(inv->card[1], inv->card[2])); } - pc_delitem(sd, idx, delamount, 0, 0, LOG_TYPE_SCRIPT); + iPc->delitem(sd, idx, delamount, 0, 0, LOG_TYPE_SCRIPT); } amount[0]-= delamount; @@ -6411,7 +6411,7 @@ BUILDIN(delitem) if( script_hasdata(st,4) ) { int account_id = script_getnum(st,4); - sd = map_id2sd(account_id); // <account id> + sd = iMap->id2sd(account_id); // <account id> if( sd == NULL ) { ShowError("script:delitem: player not found (AID=%d).\n", account_id); @@ -6480,7 +6480,7 @@ BUILDIN(delitem2) if( script_hasdata(st,11) ) { int account_id = script_getnum(st,11); - sd = map_id2sd(account_id); // <account id> + sd = iMap->id2sd(account_id); // <account id> if( sd == NULL ) { ShowError("script:delitem2: player not found (AID=%d).\n", account_id); @@ -6566,7 +6566,7 @@ BUILDIN(disableitemuse) /*========================================== * return the basic stats of sd - * chk pc_readparam for available type + * chk iPc->readparam for available type *------------------------------------------*/ BUILDIN(readparam) { @@ -6575,7 +6575,7 @@ BUILDIN(readparam) type=script_getnum(st,2); if( script_hasdata(st,3) ) - sd=map_nick2sd(script_getstr(st,3)); + sd=iMap->nick2sd(script_getstr(st,3)); else sd=script_rid2sd(st); @@ -6584,7 +6584,7 @@ BUILDIN(readparam) return true; } - script_pushint(st,pc_readparam(sd,type)); + script_pushint(st,iPc->readparam(sd,type)); return true; } @@ -6605,7 +6605,7 @@ BUILDIN(getcharid) num = script_getnum(st,2); if( script_hasdata(st,3) ) - sd=map_nick2sd(script_getstr(st,3)); + sd=iMap->nick2sd(script_getstr(st,3)); else sd=script_rid2sd(st); @@ -6670,7 +6670,7 @@ BUILDIN(getpartyname) party_id = script_getnum(st,2); - if( ( p = party_search(party_id) ) != NULL ) + if( ( p = iParty->search(party_id) ) != NULL ) { script_pushstrcopy(st,p->party.name); } @@ -6694,7 +6694,7 @@ BUILDIN(getpartymember) struct party_data *p; int i,j=0,type=0; - p=party_search(script_getnum(st,2)); + p=iParty->search(script_getnum(st,2)); if( script_hasdata(st,3) ) type=script_getnum(st,3); @@ -6734,7 +6734,7 @@ BUILDIN(getpartyleader) if( script_hasdata(st,3) ) type=script_getnum(st,3); - p=party_search(party_id); + p=iParty->search(party_id); if (p) //Search leader for(i = 0; i < MAX_PARTY && !p->party.member[i].leader; i++); @@ -6847,7 +6847,7 @@ BUILDIN(strcharinfo) script_pushstrcopy(st,sd->status.name); break; case 1: - if( ( p = party_search(sd->status.party_id) ) != NULL ) { + if( ( p = iParty->search(sd->status.party_id) ) != NULL ) { script_pushstrcopy(st,p->party.name); } else { script_pushconststr(st,""); @@ -6887,7 +6887,7 @@ BUILDIN(strnpcinfo) int num; char *buf,*name=NULL; - nd = map_id2nd(st->oid); + nd = iMap->id2nd(st->oid); if (!nd) { script_pushconststr(st, ""); return true; @@ -6951,7 +6951,7 @@ BUILDIN(getequipid) } // get inventory position of item - i = pc_checkequip(sd,equip[num]); + i = iPc->checkequip(sd,equip[num]); if( i < 0 ) { script_pushint(st,-1); @@ -6989,7 +6989,7 @@ BUILDIN(getequipname) } // get inventory position of item - i = pc_checkequip(sd,equip[num]); + i = iPc->checkequip(sd,equip[num]); if( i < 0 ) { script_pushconststr(st,""); @@ -7108,7 +7108,7 @@ BUILDIN(getequipisequiped) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0) script_pushint(st,1); @@ -7135,7 +7135,7 @@ BUILDIN(getequipisenableref) return true; if( num > 0 && num <= ARRAYLENGTH(equip) ) - i = pc_checkequip(sd,equip[num-1]); + i = iPc->checkequip(sd,equip[num-1]); if( i >= 0 && sd->inventory_data[i] && !sd->inventory_data[i]->flag.no_refine && !sd->status.inventory[i].expire_time ) script_pushint(st,1); else @@ -7161,7 +7161,7 @@ BUILDIN(getequipisidentify) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0) script_pushint(st,sd->status.inventory[i].identify); else @@ -7187,7 +7187,7 @@ BUILDIN(getequiprefinerycnt) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0) script_pushint(st,sd->status.inventory[i].refine); else @@ -7214,7 +7214,7 @@ BUILDIN(getequipweaponlv) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0 && sd->inventory_data[i]) script_pushint(st,sd->inventory_data[i]->wlv); else @@ -7240,7 +7240,7 @@ BUILDIN(getequippercentrefinery) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0 && sd->status.inventory[i].nameid && sd->status.inventory[i].refine < MAX_REFINE) script_pushint(st,status_get_refine_chance(itemdb_wlv(sd->status.inventory[i].nameid), (int)sd->status.inventory[i].refine)); else @@ -7263,7 +7263,7 @@ BUILDIN(successrefitem) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0) { ep=sd->status.inventory[i].equip; @@ -7271,7 +7271,7 @@ BUILDIN(successrefitem) logs->pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory[i],sd->inventory_data[i]); sd->status.inventory[i].refine++; - pc_unequipitem(sd,i,2); // status calc will happen in pc_equipitem() below + iPc->unequipitem(sd,i,2); // status calc will happen in iPc->equipitem() below clif->refine(sd->fd,0,i,sd->status.inventory[i].refine); clif->delitem(sd,i,1,3); @@ -7280,7 +7280,7 @@ BUILDIN(successrefitem) logs->pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory[i],sd->inventory_data[i]); clif->additem(sd,i,1,0); - pc_equipitem(sd,i,ep); + iPc->equipitem(sd,i,ep); clif->misceffect(&sd->bl,3); if(sd->status.inventory[i].refine == 10 && sd->status.inventory[i].card[0] == CARD0_FORGE && @@ -7288,13 +7288,13 @@ BUILDIN(successrefitem) ){ // Fame point system [DracoRPG] switch (sd->inventory_data[i]->wlv){ case 1: - pc_addfame(sd,1); // Success to refine to +10 a lv1 weapon you forged = +1 fame point + iPc->addfame(sd,1); // Success to refine to +10 a lv1 weapon you forged = +1 fame point break; case 2: - pc_addfame(sd,25); // Success to refine to +10 a lv2 weapon you forged = +25 fame point + iPc->addfame(sd,25); // Success to refine to +10 a lv2 weapon you forged = +25 fame point break; case 3: - pc_addfame(sd,1000); // Success to refine to +10 a lv3 weapon you forged = +1000 fame point + iPc->addfame(sd,1000); // Success to refine to +10 a lv3 weapon you forged = +1000 fame point break; } } @@ -7317,13 +7317,13 @@ BUILDIN(failedrefitem) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0) { sd->status.inventory[i].refine = 0; - pc_unequipitem(sd,i,3); //recalculate bonus + iPc->unequipitem(sd,i,3); //recalculate bonus clif->refine(sd->fd,1,i,sd->status.inventory[i].refine); //notify client of failure - pc_delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); + iPc->delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); clif->misceffect(&sd->bl,2); // display failure effect } @@ -7345,7 +7345,7 @@ BUILDIN(downrefitem) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i = pc_checkequip(sd,equip[num-1]); + i = iPc->checkequip(sd,equip[num-1]); if(i >= 0) { ep = sd->status.inventory[i].equip; @@ -7353,7 +7353,7 @@ BUILDIN(downrefitem) logs->pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory[i],sd->inventory_data[i]); sd->status.inventory[i].refine++; - pc_unequipitem(sd,i,2); // status calc will happen in pc_equipitem() below + iPc->unequipitem(sd,i,2); // status calc will happen in iPc->equipitem() below clif->refine(sd->fd,2,i,sd->status.inventory[i].refine = sd->status.inventory[i].refine - 2); clif->delitem(sd,i,1,3); @@ -7362,7 +7362,7 @@ BUILDIN(downrefitem) logs->pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory[i],sd->inventory_data[i]); clif->additem(sd,i,1,0); - pc_equipitem(sd,i,ep); + iPc->equipitem(sd,i,ep); clif->misceffect(&sd->bl,2); } @@ -7383,10 +7383,10 @@ BUILDIN(delequip) return true; if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0) { - pc_unequipitem(sd,i,3); //recalculate bonus - pc_delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); + iPc->unequipitem(sd,i,3); //recalculate bonus + iPc->delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); } return true; @@ -7405,7 +7405,7 @@ BUILDIN(statusup) if( sd == NULL ) return true; - pc_statusup(sd,type); + iPc->statusup(sd,type); return true; } @@ -7423,7 +7423,7 @@ BUILDIN(statusup2) if( sd == NULL ) return true; - pc_statusup2(sd,type,val); + iPc->statusup2(sd,type,val); return true; } @@ -7477,16 +7477,16 @@ BUILDIN(bonus) switch( script_lastdata(st)-2 ) { case 1: - pc_bonus(sd, type, val1); + iPc->bonus(sd, type, val1); break; case 2: val2 = script_getnum(st,4); - pc_bonus2(sd, type, val1, val2); + iPc->bonus2(sd, type, val1, val2); break; case 3: val2 = script_getnum(st,4); val3 = script_getnum(st,5); - pc_bonus3(sd, type, val1, val2, val3); + iPc->bonus3(sd, type, val1, val2, val3); break; case 4: if( type == SP_AUTOSPELL_ONSKILL && script_isstring(st,4) ) @@ -7496,7 +7496,7 @@ BUILDIN(bonus) val3 = script_getnum(st,5); val4 = script_getnum(st,6); - pc_bonus4(sd, type, val1, val2, val3, val4); + iPc->bonus4(sd, type, val1, val2, val3, val4); break; case 5: if( type == SP_AUTOSPELL_ONSKILL && script_isstring(st,4) ) @@ -7507,7 +7507,7 @@ BUILDIN(bonus) val3 = script_getnum(st,5); val4 = script_getnum(st,6); val5 = script_getnum(st,7); - pc_bonus5(sd, type, val1, val2, val3, val4, val5); + iPc->bonus5(sd, type, val1, val2, val3, val4, val5); break; default: ShowDebug("buildin_bonus: unexpected number of arguments (%d)\n", (script_lastdata(st) - 1)); @@ -7543,7 +7543,7 @@ BUILDIN(autobonus) if( script_hasdata(st,6) ) other_script = script_getstr(st,6); - if( pc_addautobonus(sd->autobonus,ARRAYLENGTH(sd->autobonus), + if( iPc->addautobonus(sd->autobonus,ARRAYLENGTH(sd->autobonus), bonus_script,rate,dur,atk_type,other_script,sd->status.inventory[current_equip_item_index].equip,false) ) { script_add_autobonus(bonus_script); @@ -7580,7 +7580,7 @@ BUILDIN(autobonus2) if( script_hasdata(st,6) ) other_script = script_getstr(st,6); - if( pc_addautobonus(sd->autobonus2,ARRAYLENGTH(sd->autobonus2), + if( iPc->addautobonus(sd->autobonus2,ARRAYLENGTH(sd->autobonus2), bonus_script,rate,dur,atk_type,other_script,sd->status.inventory[current_equip_item_index].equip,false) ) { script_add_autobonus(bonus_script); @@ -7615,7 +7615,7 @@ BUILDIN(autobonus3) if( script_hasdata(st,6) ) other_script = script_getstr(st,6); - if( pc_addautobonus(sd->autobonus3,ARRAYLENGTH(sd->autobonus3), + if( iPc->addautobonus(sd->autobonus3,ARRAYLENGTH(sd->autobonus3), bonus_script,rate,dur,atk_type,other_script,sd->status.inventory[current_equip_item_index].equip,true) ) { script_add_autobonus(bonus_script); @@ -7651,7 +7651,7 @@ BUILDIN(skill) level = script_getnum(st,3); if( script_hasdata(st,4) ) flag = script_getnum(st,4); - pc_skill(sd, id, level, flag); + iPc->skill(sd, id, level, flag); return true; } @@ -7680,7 +7680,7 @@ BUILDIN(addtoskill) level = script_getnum(st,3); if( script_hasdata(st,4) ) flag = script_getnum(st,4); - pc_skill(sd, id, level, flag); + iPc->skill(sd, id, level, flag); return true; } @@ -7722,7 +7722,7 @@ BUILDIN(getskilllv) return true;// no player attached, report source id = ( script_isstring(st,2) ? skill->name2id(script_getstr(st,2)) : script_getnum(st,2) ); - script_pushint(st, pc_checkskill(sd,id)); + script_pushint(st, iPc->checkskill(sd,id)); return true; } @@ -7770,7 +7770,7 @@ BUILDIN(getgmlevel) if( sd == NULL ) return true;// no player attached, report source - script_pushint(st, pc_get_group_level(sd)); + script_pushint(st, iPc->get_group_level(sd)); return true; } @@ -7891,9 +7891,9 @@ BUILDIN(setoption) if( flag ){// Add option if( option&OPTION_WEDDING && !battle_config.wedding_modifydisplay ) option &= ~OPTION_WEDDING;// Do not show the wedding sprites - pc_setoption(sd, sd->sc.option|option); + iPc->setoption(sd, sd->sc.option|option); } else// Remove option - pc_setoption(sd, sd->sc.option&~option); + iPc->setoption(sd, sd->sc.option&~option); return true; } @@ -7941,7 +7941,7 @@ BUILDIN(setcart) if( script_hasdata(st,2) ) type = script_getnum(st,2); - pc_setcart(sd, type); + iPc->setcart(sd, type); return true; } @@ -7984,7 +7984,7 @@ BUILDIN(setfalcon) if( script_hasdata(st,2) ) flag = script_getnum(st,2); - pc_setfalcon(sd, flag); + iPc->setfalcon(sd, flag); return true; } @@ -8026,7 +8026,7 @@ BUILDIN(setriding) if( script_hasdata(st,2) ) flag = script_getnum(st,2); - pc_setriding(sd, flag); + iPc->setriding(sd, flag); return true; } @@ -8087,7 +8087,7 @@ BUILDIN(setmadogear) if( script_hasdata(st,2) ) flag = script_getnum(st,2); - pc_setmadogear(sd, flag); + iPc->setmadogear(sd, flag); return true; } @@ -8113,7 +8113,7 @@ BUILDIN(savepoint) y = script_getnum(st,4); map = mapindex_name2id(str); if( map ) - pc_setsavepoint(sd, map, x, y); + iPc->setsavepoint(sd, map, x, y); return true; } @@ -8144,7 +8144,7 @@ BUILDIN(gettimetick) /* Asgard Version */ case 0: default: //type 0:(System Ticks) - script_pushint(st,gettick()); + script_pushint(st,iTimer->gettick()); break; } return true; @@ -8360,7 +8360,7 @@ BUILDIN(getexp) base = (int) cap_value(base * bonus, 0, INT_MAX); job = (int) cap_value(job * bonus, 0, INT_MAX); - pc_gainexp(sd, NULL, base, job, true); + iPc->gainexp(sd, NULL, base, job, true); return true; } @@ -8397,7 +8397,7 @@ BUILDIN(guildchangegm) guild_id = script_getnum(st,2); name = script_getstr(st,3); - sd=map_nick2sd(name); + sd=iMap->nick2sd(name); if (!sd) script_pushint(st,0); @@ -8463,12 +8463,12 @@ BUILDIN(monster) return false; } - sd = map_id2sd(st->rid); + sd = iMap->id2sd(st->rid); if (sd && strcmp(mapn, "this") == 0) m = sd->bl.m; else { - m = map_mapname2mapid(mapn); + m = iMap->mapname2mapid(mapn); if (map[m].flag.src4instance && st->instance_id >= 0) { // Try to redirect to the instance map, not the src map if ((m = instance->mapid2imapid(m, st->instance_id)) < 0) { ShowError("buildin_monster: Trying to spawn monster (%d) on instance map (%s) without instance attached.\n", class_, mapn); @@ -8558,12 +8558,12 @@ BUILDIN(areamonster) } } - sd = map_id2sd(st->rid); + sd = iMap->id2sd(st->rid); if (sd && strcmp(mapn, "this") == 0) m = sd->bl.m; else { - m = map_mapname2mapid(mapn); + m = iMap->mapname2mapid(mapn); if (map[m].flag.src4instance && st->instance_id >= 0) { // Try to redirect to the instance map, not the src map if ((m = instance->mapid2imapid(m, st->instance_id)) < 0) { ShowError("buildin_areamonster: Trying to spawn monster (%d) on instance map (%s) without instance attached.\n", class_, mapn); @@ -8624,7 +8624,7 @@ BUILDIN(killmonster) else check_event(st, event); - if( (m=map_mapname2mapid(mapname))<0 ) + if( (m=iMap->mapname2mapid(mapname))<0 ) return true; if( map[m].flag.src4instance && st->instance_id >= 0 && (m = instance->mapid2imapid(m, st->instance_id)) < 0 ) @@ -8632,14 +8632,14 @@ BUILDIN(killmonster) if( script_hasdata(st,4) ) { if ( script_getnum(st,4) == 1 ) { - map_foreachinmap(buildin_killmonster_sub, m, BL_MOB, event ,allflag); + iMap->foreachinmap(buildin_killmonster_sub, m, BL_MOB, event ,allflag); return true; } } - map_freeblock_lock(); - map_foreachinmap(buildin_killmonster_sub_strip, m, BL_MOB, event ,allflag); - map_freeblock_unlock(); + iMap->freeblock_lock(); + iMap->foreachinmap(buildin_killmonster_sub_strip, m, BL_MOB, event ,allflag); + iMap->freeblock_unlock(); return true; } @@ -8665,7 +8665,7 @@ BUILDIN(killmonsterall) int16 m; mapname=script_getstr(st,2); - if( (m = map_mapname2mapid(mapname))<0 ) + if( (m = iMap->mapname2mapid(mapname))<0 ) return true; if( map[m].flag.src4instance && st->instance_id >= 0 && (m = instance->mapid2imapid(m, st->instance_id)) < 0 ) @@ -8673,12 +8673,12 @@ BUILDIN(killmonsterall) if( script_hasdata(st,3) ) { if ( script_getnum(st,3) == 1 ) { - map_foreachinmap(buildin_killmonsterall_sub,m,BL_MOB); + iMap->foreachinmap(buildin_killmonsterall_sub,m,BL_MOB); return true; } } - map_foreachinmap(buildin_killmonsterall_sub_strip,m,BL_MOB); + iMap->foreachinmap(buildin_killmonsterall_sub_strip,m,BL_MOB); return true; } @@ -8713,13 +8713,13 @@ BUILDIN(clone) check_event(st, event); - m = map_mapname2mapid(map); + m = iMap->mapname2mapid(map); if (m < 0) return true; - sd = map_charid2sd(char_id); + sd = iMap->charid2sd(char_id); if (master_id) { - msd = map_charid2sd(master_id); + msd = iMap->charid2sd(master_id); if (msd) master_id = msd->bl.id; else @@ -8755,7 +8755,7 @@ BUILDIN(donpcevent) const char* event = script_getstr(st,2); check_event(st, event); if( !npc_event_do(event) ) { - struct npc_data * nd = map_id2nd(st->oid); + struct npc_data * nd = iMap->id2nd(st->oid); ShowDebug("NPCEvent '%s' not found! (source: %s)\n",event,nd?nd->name:"Unknown"); script_pushint(st, 0); } else @@ -8789,7 +8789,7 @@ BUILDIN(addtimer) if( sd == NULL ) return true; - pc_addeventtimer(sd,tick,event); + iPc->addeventtimer(sd,tick,event); return true; } /*========================================== @@ -8805,7 +8805,7 @@ BUILDIN(deltimer) return true; check_event(st, event); - pc_deleventtimer(sd,event); + iPc->deleventtimer(sd,event); return true; } /*========================================== @@ -8823,7 +8823,7 @@ BUILDIN(addtimercount) return true; check_event(st, event); - pc_addeventtimercount(sd,event,tick); + iPc->addeventtimercount(sd,event,tick); return true; } @@ -8848,7 +8848,7 @@ BUILDIN(initnpctimer) nd = npc_name2id(script->conv_str(st, data)); else if( data_isint(data) ) //Flag { - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); flag = script->conv_num(st,data); } else @@ -8858,7 +8858,7 @@ BUILDIN(initnpctimer) } } else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); if( !nd ) return true; @@ -8896,7 +8896,7 @@ BUILDIN(startnpctimer) nd = npc_name2id(script->conv_str(st, data)); else if( data_isint(data) ) //Flag { - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); flag = script->conv_num(st,data); } else @@ -8906,7 +8906,7 @@ BUILDIN(startnpctimer) } } else - nd=(struct npc_data *)map_id2bl(st->oid); + nd=(struct npc_data *)iMap->id2bl(st->oid); if( !nd ) return true; @@ -8942,7 +8942,7 @@ BUILDIN(stopnpctimer) nd = npc_name2id(script->conv_str(st, data)); else if( data_isint(data) ) //Flag { - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); flag = script->conv_num(st,data); } else @@ -8952,7 +8952,7 @@ BUILDIN(stopnpctimer) } } else - nd=(struct npc_data *)map_id2bl(st->oid); + nd=(struct npc_data *)iMap->id2bl(st->oid); if( !nd ) return true; @@ -8974,7 +8974,7 @@ BUILDIN(getnpctimer) if( script_hasdata(st,3) ) nd = npc_name2id(script_getstr(st,3)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); if( !nd || nd->bl.type != BL_NPC ) { @@ -8989,7 +8989,7 @@ BUILDIN(getnpctimer) case 1: if( nd->u.scr.rid ) { - sd = map_id2sd(nd->u.scr.rid); + sd = iMap->id2sd(nd->u.scr.rid); if( !sd ) { ShowError("buildin_getnpctimer: Attached player not found!\n"); @@ -9017,7 +9017,7 @@ BUILDIN(setnpctimer) if( script_hasdata(st,3) ) nd = npc_name2id(script_getstr(st,3)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); if( !nd || nd->bl.type != BL_NPC ) { @@ -9037,7 +9037,7 @@ BUILDIN(setnpctimer) BUILDIN(attachnpctimer) { TBL_PC *sd; - struct npc_data *nd = (struct npc_data *)map_id2bl(st->oid); + struct npc_data *nd = (struct npc_data *)iMap->id2bl(st->oid); if( !nd || nd->bl.type != BL_NPC ) { @@ -9047,7 +9047,7 @@ BUILDIN(attachnpctimer) } if( script_hasdata(st,2) ) - sd = map_nick2sd(script_getstr(st,2)); + sd = iMap->nick2sd(script_getstr(st,2)); else sd = script_rid2sd(st); @@ -9073,7 +9073,7 @@ BUILDIN(detachnpctimer) if( script_hasdata(st,2) ) nd = npc_name2id(script_getstr(st,2)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); if( !nd || nd->bl.type != BL_NPC ) { @@ -9094,7 +9094,7 @@ BUILDIN(detachnpctimer) *------------------------------------------*/ BUILDIN(playerattached) { - if(st->rid == 0 || map_id2sd(st->rid) == NULL) + if(st->rid == 0 || iMap->id2sd(st->rid) == NULL) script_pushint(st,0); else script_pushint(st,st->rid); @@ -9116,7 +9116,7 @@ BUILDIN(announce) if (flag&0x0f) // Broadcast source or broadcast region defined { send_target target; - struct block_list *bl = (flag&0x08) ? map_id2bl(st->oid) : (struct block_list *)script_rid2sd(st); // If bc_npc flag is set, use NPC as broadcast source + struct block_list *bl = (flag&0x08) ? iMap->id2bl(st->oid) : (struct block_list *)script_rid2sd(st); // If bc_npc flag is set, use NPC as broadcast source if (bl == NULL) return true; @@ -9167,7 +9167,7 @@ BUILDIN(itemeffect) { struct item_data *item_data; nullpo_retr( 1, ( sd = script_rid2sd( st ) ) ); - nullpo_retr( 1, ( nd = (TBL_NPC *)map_id2bl( sd->npc_id ) ) ); + nullpo_retr( 1, ( nd = (TBL_NPC *)iMap->id2bl( sd->npc_id ) ) ); data = script_getdata( st, 2 ); get_val( st, data ); @@ -9208,10 +9208,10 @@ BUILDIN(mapannounce) int fontY = script_hasdata(st,9) ? script_getnum(st,9) : 0; // default fontY int16 m; - if ((m = map_mapname2mapid(mapname)) < 0) + if ((m = iMap->mapname2mapid(mapname)) < 0) return true; - map_foreachinmap(buildin_announce_sub, m, BL_PC, + iMap->foreachinmap(buildin_announce_sub, m, BL_PC, mes, strlen(mes)+1, flag&0xf0, fontColor, fontType, fontSize, fontAlign, fontY); return true; } @@ -9233,10 +9233,10 @@ BUILDIN(areaannounce) int fontY = script_hasdata(st,13) ? script_getnum(st,13) : 0; // default fontY int16 m; - if ((m = map_mapname2mapid(mapname)) < 0) + if ((m = iMap->mapname2mapid(mapname)) < 0) return true; - map_foreachinarea(buildin_announce_sub, m, x0, y0, x1, y1, BL_PC, + iMap->foreachinarea(buildin_announce_sub, m, x0, y0, x1, y1, BL_PC, mes, strlen(mes)+1, flag&0xf0, fontColor, fontType, fontSize, fontAlign, fontY); return true; } @@ -9256,7 +9256,7 @@ BUILDIN(getusers) case 0: if(flag&0x8) {// npc - bl = map_id2bl(st->oid); + bl = iMap->id2bl(st->oid); } else if((sd = script_rid2sd(st))!=NULL) {// pc @@ -9269,7 +9269,7 @@ BUILDIN(getusers) } break; case 1: - val = map_getusers(); + val = iMap->getusers(); break; default: ShowWarning("buildin_getusers: Unknown type %d.\n", flag); @@ -9292,11 +9292,11 @@ BUILDIN(getusersname) sd = script_rid2sd(st); if (!sd) return true; - group_level = pc_get_group_level(sd); + group_level = iPc->get_group_level(sd); iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { - if (pc_has_permission(pl_sd, PC_PERM_HIDE_SESSION) && pc_get_group_level(pl_sd) > group_level) + if (pc_has_permission(pl_sd, PC_PERM_HIDE_SESSION) && iPc->get_group_level(pl_sd) > group_level) continue; // skip hidden sessions /* Temporary fix for bugreport:1023. @@ -9321,7 +9321,7 @@ BUILDIN(getmapguildusers) struct guild *g = NULL; str=script_getstr(st,2); gid=script_getnum(st,3); - if ((m = map_mapname2mapid(str)) < 0) { // map id on this server (m == -1 if not in actual map-server) + if ((m = iMap->mapname2mapid(str)) < 0) { // map id on this server (m == -1 if not in actual map-server) script_pushint(st,-1); return true; } @@ -9345,7 +9345,7 @@ BUILDIN(getmapusers) const char *str; int16 m; str=script_getstr(st,2); - if( (m=map_mapname2mapid(str))< 0){ + if( (m=iMap->mapname2mapid(str))< 0){ script_pushint(st,-1); return true; } @@ -9369,11 +9369,11 @@ BUILDIN(getareausers) y0=script_getnum(st,4); x1=script_getnum(st,5); y1=script_getnum(st,6); - if( (m=map_mapname2mapid(str))< 0){ + if( (m=iMap->mapname2mapid(str))< 0){ script_pushint(st,-1); return true; } - map_foreachinarea(buildin_getareausers_sub, + iMap->foreachinarea(buildin_getareausers_sub, m,x0,y0,x1,y1,BL_PC,&users); script_pushint(st,users); return true; @@ -9416,11 +9416,11 @@ BUILDIN(getareadropitem) }else item=script->conv_num(st,data); - if( (m=map_mapname2mapid(str))< 0){ + if( (m=iMap->mapname2mapid(str))< 0){ script_pushint(st,-1); return true; } - map_foreachinarea(buildin_getareadropitem_sub, + iMap->foreachinarea(buildin_getareadropitem_sub, m,x0,y0,x1,y1,BL_ITEM,item,&amount); script_pushint(st,amount); return true; @@ -9478,9 +9478,9 @@ BUILDIN(sc_start) tick = script_getnum(st,3); val1 = script_getnum(st,4); if( script_hasdata(st,5) ) - bl = map_id2bl(script_getnum(st,5)); + bl = iMap->id2bl(script_getnum(st,5)); else - bl = map_id2bl(st->rid); + bl = iMap->id2bl(st->rid); if( tick == 0 && val1 > 0 && type > SC_NONE && type < SC_MAX && status_sc2skill(type) != 0 ) {// When there isn't a duration specified, try to get it from the skill_db @@ -9489,7 +9489,7 @@ BUILDIN(sc_start) if( potion_flag == 1 && potion_target ) { //skill.c set the flags before running the script, this must be a potion-pitched effect. - bl = map_id2bl(potion_target); + bl = iMap->id2bl(potion_target); tick /= 2;// Thrown potions only last half. val4 = 1;// Mark that this was a thrown sc_effect } @@ -9517,9 +9517,9 @@ BUILDIN(sc_start2) val1 = script_getnum(st,4); rate = script_getnum(st,5); if( script_hasdata(st,6) ) - bl = map_id2bl(script_getnum(st,6)); + bl = iMap->id2bl(script_getnum(st,6)); else - bl = map_id2bl(st->rid); + bl = iMap->id2bl(st->rid); if( tick == 0 && val1 > 0 && type > SC_NONE && type < SC_MAX && status_sc2skill(type) != 0 ) {// When there isn't a duration specified, try to get it from the skill_db @@ -9528,7 +9528,7 @@ BUILDIN(sc_start2) if( potion_flag == 1 && potion_target ) { //skill.c set the flags before running the script, this must be a potion-pitched effect. - bl = map_id2bl(potion_target); + bl = iMap->id2bl(potion_target); tick /= 2;// Thrown potions only last half. val4 = 1;// Mark that this was a thrown sc_effect } @@ -9559,9 +9559,9 @@ BUILDIN(sc_start4) val3 = script_getnum(st,6); val4 = script_getnum(st,7); if( script_hasdata(st,8) ) - bl = map_id2bl(script_getnum(st,8)); + bl = iMap->id2bl(script_getnum(st,8)); else - bl = map_id2bl(st->rid); + bl = iMap->id2bl(st->rid); if( tick == 0 && val1 > 0 && type > SC_NONE && type < SC_MAX && status_sc2skill(type) != 0 ) {// When there isn't a duration specified, try to get it from the skill_db @@ -9570,7 +9570,7 @@ BUILDIN(sc_start4) if( potion_flag == 1 && potion_target ) { //skill.c set the flags before running the script, this must be a potion-pitched effect. - bl = map_id2bl(potion_target); + bl = iMap->id2bl(potion_target); tick /= 2;// Thrown potions only last half. } @@ -9590,12 +9590,12 @@ BUILDIN(sc_end) type = script_getnum(st, 2); if (script_hasdata(st, 3)) - bl = map_id2bl(script_getnum(st, 3)); + bl = iMap->id2bl(script_getnum(st, 3)); else - bl = map_id2bl(st->rid); + bl = iMap->id2bl(st->rid); if (potion_flag == 1 && potion_target) //##TODO how does this work [FlavioJS] - bl = map_id2bl(potion_target); + bl = iMap->id2bl(potion_target); if (!bl) return true; @@ -9642,9 +9642,9 @@ BUILDIN(getscrate) type=script_getnum(st,2); rate=script_getnum(st,3); if( script_hasdata(st,4) ) //get for the bl assigned - bl = map_id2bl(script_getnum(st,4)); + bl = iMap->id2bl(script_getnum(st,4)); else - bl = map_id2bl(st->rid); + bl = iMap->id2bl(st->rid); if (bl) rate = status_get_sc_def(bl, (sc_type)type, 10000, 10000, 0); @@ -9689,11 +9689,11 @@ BUILDIN(getstatus) case 4: script_pushint(st, sd->sc.data[id]->val4); break; case 5: { - struct TimerData* timer = (struct TimerData*)get_timer(sd->sc.data[id]->timer); + struct TimerData* timer = (struct TimerData*)iTimer->get_timer(sd->sc.data[id]->timer); if( timer ) {// return the amount of time remaining - script_pushint(st, timer->tick - gettick()); + script_pushint(st, timer->tick - iTimer->gettick()); } } break; @@ -9833,7 +9833,7 @@ BUILDIN(eaclass) } class_ = sd->status.class_; } - script_pushint(st,pc_jobid2mapid(class_)); + script_pushint(st,iPc->jobid2mapid(class_)); return true; } @@ -9850,7 +9850,7 @@ BUILDIN(roclass) else sex = 1; //Just use male when not found. } - script_pushint(st,pc_mapid2jobid(class_, sex)); + script_pushint(st,iPc->mapid2jobid(class_, sex)); return true; } @@ -9891,7 +9891,7 @@ BUILDIN(resetlvl) if( sd == NULL ) return true; - pc_resetlvl(sd,type); + iPc->resetlvl(sd,type); return true; } /*========================================== @@ -9901,7 +9901,7 @@ BUILDIN(resetstatus) { TBL_PC *sd; sd=script_rid2sd(st); - pc_resetstate(sd); + iPc->resetstate(sd); return true; } @@ -9912,7 +9912,7 @@ BUILDIN(resetskill) { TBL_PC *sd; sd=script_rid2sd(st); - pc_resetskill(sd,1); + iPc->resetskill(sd,1); return true; } @@ -9923,7 +9923,7 @@ BUILDIN(skillpointcount) { TBL_PC *sd; sd=script_rid2sd(st); - script_pushint(st,sd->status.skill_point + pc_resetskill(sd,2)); + script_pushint(st,sd->status.skill_point + iPc->resetskill(sd,2)); return true; } @@ -9936,7 +9936,7 @@ BUILDIN(changebase) int vclass; if( script_hasdata(st,3) ) - sd=map_id2sd(script_getnum(st,3)); + sd=iMap->id2sd(script_getnum(st,3)); else sd=script_rid2sd(st); @@ -9974,10 +9974,10 @@ BUILDIN(changesex) TBL_PC *sd = NULL; sd = script_rid2sd(st); - pc_resetskill(sd,4); + iPc->resetskill(sd,4); // to avoid any problem with equipment and invalid sex, equipment is unequiped. for( i=0; i<EQI_MAX; i++ ) - if( sd->equip_index[i] >= 0 ) pc_unequipitem(sd, sd->equip_index[i], 3); + if( sd->equip_index[i] >= 0 ) iPc->unequipitem(sd, sd->equip_index[i], 3); chrif_changesex(sd); return true; } @@ -9987,7 +9987,7 @@ BUILDIN(changesex) *------------------------------------------*/ BUILDIN(globalmes) { - struct block_list *bl = map_id2bl(st->oid); + struct block_list *bl = iMap->id2bl(st->oid); struct npc_data *nd = (struct npc_data *)bl; const char *name=NULL,*mes; @@ -10024,7 +10024,7 @@ BUILDIN(waitingroom) int minLvl = script_hasdata(st,7) ? script_getnum(st,7) : 1; int maxLvl = script_hasdata(st,8) ? script_getnum(st,8) : MAX_LEVEL; - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); if( nd != NULL ) chat_createnpcchat(nd, title, limit, pub, trigger, ev, zeny, minLvl, maxLvl); @@ -10041,7 +10041,7 @@ BUILDIN(delwaitingroom) if( script_hasdata(st,2) ) nd = npc_name2id(script_getstr(st, 2)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); if( nd != NULL ) chat_deletenpcchat(nd); return true; @@ -10059,9 +10059,9 @@ BUILDIN(waitingroomkickall) if( script_hasdata(st,2) ) nd = npc_name2id(script_getstr(st,2)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); - if( nd != NULL && (cd=(struct chat_data *)map_id2bl(nd->chat_id)) != NULL ) + if( nd != NULL && (cd=(struct chat_data *)iMap->id2bl(nd->chat_id)) != NULL ) chat_npckickall(cd); return true; } @@ -10078,9 +10078,9 @@ BUILDIN(enablewaitingroomevent) if( script_hasdata(st,2) ) nd = npc_name2id(script_getstr(st, 2)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); - if( nd != NULL && (cd=(struct chat_data *)map_id2bl(nd->chat_id)) != NULL ) + if( nd != NULL && (cd=(struct chat_data *)iMap->id2bl(nd->chat_id)) != NULL ) chat_enableevent(cd); return true; } @@ -10097,9 +10097,9 @@ BUILDIN(disablewaitingroomevent) if( script_hasdata(st,2) ) nd = npc_name2id(script_getstr(st, 2)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); - if( nd != NULL && (cd=(struct chat_data *)map_id2bl(nd->chat_id)) != NULL ) + if( nd != NULL && (cd=(struct chat_data *)iMap->id2bl(nd->chat_id)) != NULL ) chat_disableevent(cd); return true; } @@ -10128,9 +10128,9 @@ BUILDIN(getwaitingroomstate) if( script_hasdata(st,3) ) nd = npc_name2id(script_getstr(st, 3)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); - if( nd == NULL || (cd=(struct chat_data *)map_id2bl(nd->chat_id)) == NULL ) + if( nd == NULL || (cd=(struct chat_data *)iMap->id2bl(nd->chat_id)) == NULL ) { script_pushint(st, -1); return true; @@ -10175,8 +10175,8 @@ BUILDIN(warpwaitingpc) struct chat_data* cd; TBL_PC* sd; - nd = (struct npc_data *)map_id2bl(st->oid); - if( nd == NULL || (cd=(struct chat_data *)map_id2bl(nd->chat_id)) == NULL ) + nd = (struct npc_data *)iMap->id2bl(st->oid); + if( nd == NULL || (cd=(struct chat_data *)iMap->id2bl(nd->chat_id)) == NULL ) return true; map_name = script_getstr(st,2); @@ -10202,17 +10202,17 @@ BUILDIN(warpwaitingpc) {// no zeny to cover set fee break; } - pc_payzeny(sd, cd->zeny, LOG_TYPE_NPC, NULL); + iPc->payzeny(sd, cd->zeny, LOG_TYPE_NPC, NULL); } mapreg_setreg(reference_uid(add_str("$@warpwaitingpc"), i), sd->bl.id); if( strcmp(map_name,"Random") == 0 ) - pc_randomwarp(sd,CLR_TELEPORT); + iPc->randomwarp(sd,CLR_TELEPORT); else if( strcmp(map_name,"SavePoint") == 0 ) - pc_setpos(sd, sd->status.save_point.map, sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT); + iPc->setpos(sd, sd->status.save_point.map, sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT); else - pc_setpos(sd, mapindex_name2id(map_name), x, y, CLR_OUTSIGHT); + iPc->setpos(sd, mapindex_name2id(map_name), x, y, CLR_OUTSIGHT); } mapreg_setreg(add_str("$@warpwaitingpcnum"), i); return true; @@ -10241,7 +10241,7 @@ BUILDIN(attachrid) { int rid = script_getnum(st,2); - if (map_id2sd(rid) != NULL) { + if (iMap->id2sd(rid) != NULL) { script_detach_rid(st); st->rid = rid; @@ -10264,7 +10264,7 @@ BUILDIN(detachrid) *------------------------------------------*/ BUILDIN(isloggedin) { - TBL_PC* sd = map_id2sd(script_getnum(st,2)); + TBL_PC* sd = iMap->id2sd(script_getnum(st,2)); if (script_hasdata(st,3) && sd && sd->status.char_id != script_getnum(st,3)) sd = NULL; @@ -10286,7 +10286,7 @@ BUILDIN(setmapflagnosave) str2=script_getstr(st,3); x=script_getnum(st,4); y=script_getnum(st,5); - m = map_mapname2mapid(str); + m = iMap->mapname2mapid(str); mapindex = mapindex_name2id(str2); if(m >= 0 && mapindex) { @@ -10307,7 +10307,7 @@ BUILDIN(getmapflag) str=script_getstr(st,2); i=script_getnum(st,3); - m = map_mapname2mapid(str); + m = iMap->mapname2mapid(str); if(m >= 0) { switch(i) { case MF_NOMEMO: script_pushint(st,map[m].flag.nomemo); break; @@ -10368,7 +10368,7 @@ BUILDIN(getmapflag) static int script_mapflag_pvp_sub(struct block_list *bl,va_list ap) { TBL_PC* sd = (TBL_PC*)bl; if (sd->pvp_timer == INVALID_TIMER) { - sd->pvp_timer = add_timer(gettick() + 200, pc_calc_pvprank_timer, sd->bl.id, 0); + sd->pvp_timer = iTimer->add_timer(iTimer->gettick() + 200, iPc->calc_pvprank_timer, sd->bl.id, 0); sd->pvp_rank = 0; sd->pvp_lastusers = 0; sd->pvp_point = 5; @@ -10401,7 +10401,7 @@ BUILDIN(setmapflag) val = script_getnum(st, 4); } - m = map_mapname2mapid(str); + m = iMap->mapname2mapid(str); if(m >= 0) { switch(i) { @@ -10414,7 +10414,7 @@ BUILDIN(setmapflag) case MF_PVP: map[m].flag.pvp = 1; if( !battle_config.pk_mode ) { - map_foreachinmap(script_mapflag_pvp_sub,m,BL_PC); + iMap->foreachinmap(script_mapflag_pvp_sub,m,BL_PC); } break; case MF_PVP_NOPARTY: map[m].flag.pvp_noparty = 1; break; @@ -10492,7 +10492,7 @@ BUILDIN(removemapflag) if(script_hasdata(st,4)){ val=script_getnum(st,4); } - m = map_mapname2mapid(str); + m = iMap->mapname2mapid(str); if(m >= 0) { switch(i) { case MF_NOMEMO: map[m].flag.nomemo = 0; break; @@ -10545,7 +10545,7 @@ BUILDIN(removemapflag) case MF_NOWARPTO: map[m].flag.nowarpto = 0; break; case MF_NIGHTMAREDROP: map[m].flag.pvp_nightmaredrop = 0; break; case MF_ZONE: - map_zone_change2(m, map[m].prev_zone); + iMap->zone_change2(m, map[m].prev_zone); break; case MF_NOCOMMAND: map[m].nocommand = 0; break; case MF_NODROP: map[m].flag.nodrop = 0; break; @@ -10578,11 +10578,11 @@ BUILDIN(pvpon) struct block_list bl; str = script_getstr(st,2); - m = map_mapname2mapid(str); + m = iMap->mapname2mapid(str); if( m < 0 || map[m].flag.pvp ) return true; // nothing to do - map_zone_change2(m, strdb_get(zone_db, MAP_ZONE_PVP_NAME)); + iMap->zone_change2(m, strdb_get(zone_db, MAP_ZONE_PVP_NAME)); map[m].flag.pvp = 1; clif->map_property_mapall(m, MAPPROPERTY_FREEPVPZONE); bl.type = BL_NUL; @@ -10599,7 +10599,7 @@ BUILDIN(pvpon) if( sd->bl.m != m || sd->pvp_timer != INVALID_TIMER ) continue; // not applicable - sd->pvp_timer = add_timer(gettick()+200,pc_calc_pvprank_timer,sd->bl.id,0); + sd->pvp_timer = iTimer->add_timer(iTimer->gettick()+200,iPc->calc_pvprank_timer,sd->bl.id,0); sd->pvp_rank = 0; sd->pvp_lastusers = 0; sd->pvp_point = 5; @@ -10616,7 +10616,7 @@ static int buildin_pvpoff_sub(struct block_list *bl,va_list ap) TBL_PC* sd = (TBL_PC*)bl; clif->pvpset(sd, 0, 0, 2); if (sd->pvp_timer != INVALID_TIMER) { - delete_timer(sd->pvp_timer, pc_calc_pvprank_timer); + iTimer->delete_timer(sd->pvp_timer, iPc->calc_pvprank_timer); sd->pvp_timer = INVALID_TIMER; } return 0; @@ -10629,11 +10629,11 @@ BUILDIN(pvpoff) struct block_list bl; str=script_getstr(st,2); - m = map_mapname2mapid(str); + m = iMap->mapname2mapid(str); if(m < 0 || !map[m].flag.pvp) return true; //fixed Lupus - map_zone_change2(m, map[m].prev_zone); + iMap->zone_change2(m, map[m].prev_zone); map[m].flag.pvp = 0; clif->map_property_mapall(m, MAPPROPERTY_NOTHING); bl.type = BL_NUL; @@ -10643,7 +10643,7 @@ BUILDIN(pvpoff) if(battle_config.pk_mode) // disable ranking options if pk_mode is on [Valaris] return true; - map_foreachinmap(buildin_pvpoff_sub, m, BL_PC); + iMap->foreachinmap(buildin_pvpoff_sub, m, BL_PC); return true; } @@ -10653,10 +10653,10 @@ BUILDIN(gvgon) const char *str; str=script_getstr(st,2); - m = map_mapname2mapid(str); + m = iMap->mapname2mapid(str); if(m >= 0 && !map[m].flag.gvg) { struct block_list bl; - map_zone_change2(m, strdb_get(zone_db, MAP_ZONE_GVG_NAME)); + iMap->zone_change2(m, strdb_get(zone_db, MAP_ZONE_GVG_NAME)); map[m].flag.gvg = 1; clif->map_property_mapall(m, MAPPROPERTY_AGITZONE); bl.type = BL_NUL; @@ -10672,10 +10672,10 @@ BUILDIN(gvgoff) const char *str; str=script_getstr(st,2); - m = map_mapname2mapid(str); + m = iMap->mapname2mapid(str); if(m >= 0 && map[m].flag.gvg) { struct block_list bl; - map_zone_change2(m, map[m].prev_zone); + iMap->zone_change2(m, map[m].prev_zone); map[m].flag.gvg = 0; clif->map_property_mapall(m, MAPPROPERTY_NOTHING); bl.type = BL_NUL; @@ -10705,7 +10705,7 @@ BUILDIN(emotion) if (player) { TBL_PC *sd = NULL; if( script_hasdata(st,4) ) - sd = map_nick2sd(script_getstr(st,4)); + sd = iMap->nick2sd(script_getstr(st,4)); else sd = script_rid2sd(st); if (sd) @@ -10718,7 +10718,7 @@ BUILDIN(emotion) clif->emotion(&nd->bl,type); } else - clif->emotion(map_id2bl(st->oid),type); + clif->emotion(iMap->id2bl(st->oid),type); return true; } @@ -10735,7 +10735,7 @@ static int buildin_maprespawnguildid_sub_pc(struct map_session_data* sd, va_list (sd->status.guild_id != g_id && flag&2) || //Warp out outsiders (sd->status.guild_id == 0) // Warp out players not in guild [Valaris] ) - pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); + iPc->setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); return 1; } @@ -10755,46 +10755,46 @@ BUILDIN(maprespawnguildid) int g_id=script_getnum(st,3); int flag=script_getnum(st,4); - int16 m=map_mapname2mapid(mapname); + int16 m=iMap->mapname2mapid(mapname); if(m == -1) return true; //Catch ALL players (in case some are 'between maps' on execution time) - map_foreachpc(buildin_maprespawnguildid_sub_pc,m,g_id,flag); + iMap->map_foreachpc(buildin_maprespawnguildid_sub_pc,m,g_id,flag); if (flag&4) //Remove script mobs. - map_foreachinmap(buildin_maprespawnguildid_sub_mob,m,BL_MOB); + iMap->foreachinmap(buildin_maprespawnguildid_sub_mob,m,BL_MOB); return true; } BUILDIN(agitstart) { - if(agit_flag==1) return true; // Agit already Start. - agit_flag=1; + if(iMap->agit_flag==1) return true; // Agit already Start. + iMap->agit_flag=1; guild->agit_start(); return true; } BUILDIN(agitend) { - if(agit_flag==0) return true; // Agit already End. - agit_flag=0; + if(iMap->agit_flag==0) return true; // Agit already End. + iMap->agit_flag=0; guild->agit_end(); return true; } BUILDIN(agitstart2) { - if(agit2_flag==1) return true; // Agit2 already Start. - agit2_flag=1; + if(iMap->agit2_flag==1) return true; // Agit2 already Start. + iMap->agit2_flag=1; guild->agit2_start(); return true; } BUILDIN(agitend2) { - if(agit2_flag==0) return true; // Agit2 already End. - agit2_flag=0; + if(iMap->agit2_flag==0) return true; // Agit2 already End. + iMap->agit2_flag=0; guild->agit2_end(); return true; } @@ -10804,7 +10804,7 @@ BUILDIN(agitend2) *------------------------------------------*/ BUILDIN(agitcheck) { - script_pushint(st,agit_flag); + script_pushint(st,iMap->agit_flag); return true; } @@ -10813,7 +10813,7 @@ BUILDIN(agitcheck) *------------------------------------------*/ BUILDIN(agitcheck2) { - script_pushint(st,agit2_flag); + script_pushint(st,iMap->agit2_flag); return true; } @@ -10827,7 +10827,7 @@ BUILDIN(flagemblem) if(g_id < 0) return true; - nd = (TBL_NPC*)map_id2nd(st->oid); + nd = (TBL_NPC*)iMap->id2nd(st->oid); if( nd == NULL ) { ShowError("script:flagemblem: npc %d not found\n", st->oid); } else if( nd->subtype != SCRIPT ) { @@ -10946,7 +10946,7 @@ BUILDIN(getequipcardcnt) num=script_getnum(st,2); sd=script_rid2sd(st); if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if (i < 0 || !sd->inventory_data[i]) { script_pushint(st,0); @@ -10978,7 +10978,7 @@ BUILDIN(successremovecards) { int num = script_getnum(st,2); if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if (i < 0 || !sd->inventory_data[i]) { return true; @@ -10996,9 +10996,9 @@ BUILDIN(successremovecards) { item_tmp.nameid = sd->status.inventory[i].card[c]; item_tmp.identify = 1; - if((flag=pc_additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT))){ // get back the cart in inventory + if((flag=iPc->additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT))){ // get back the cart in inventory clif->additem(sd,0,0,flag); - map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); + iMap->addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } } } @@ -11017,10 +11017,10 @@ BUILDIN(successremovecards) { for (j = sd->inventory_data[i]->slot; j < MAX_SLOTS; j++) item_tmp.card[j]=sd->status.inventory[i].card[j]; - pc_delitem(sd,i,1,0,3,LOG_TYPE_SCRIPT); - if((flag=pc_additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT))){ //chk if can be spawn in inventory otherwise put on floor + iPc->delitem(sd,i,1,0,3,LOG_TYPE_SCRIPT); + if((flag=iPc->additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT))){ //chk if can be spawn in inventory otherwise put on floor clif->additem(sd,0,0,flag); - map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); + iMap->addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } clif->misceffect(&sd->bl,3); @@ -11042,7 +11042,7 @@ BUILDIN(failedremovecards) { int typefail = script_getnum(st,3); if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if (i < 0 || !sd->inventory_data[i]) return true; @@ -11063,9 +11063,9 @@ BUILDIN(failedremovecards) { item_tmp.nameid = sd->status.inventory[i].card[c]; item_tmp.identify = 1; - if((flag=pc_additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT))){ + if((flag=iPc->additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT))){ clif->additem(sd,0,0,flag); - map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); + iMap->addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } } } @@ -11073,7 +11073,7 @@ BUILDIN(failedremovecards) { if(cardflag == 1) { if(typefail == 0 || typefail == 2){ // destroy the item - pc_delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); + iPc->delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); } if(typefail == 1){ // destroy the card int flag; @@ -11090,11 +11090,11 @@ BUILDIN(failedremovecards) { for (j = sd->inventory_data[i]->slot; j < MAX_SLOTS; j++) item_tmp.card[j]=sd->status.inventory[i].card[j]; - pc_delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); + iPc->delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); - if((flag=pc_additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT))){ + if((flag=iPc->additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT))){ clif->additem(sd,0,0,flag); - map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); + iMap->addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } } clif->misceffect(&sd->bl,2); @@ -11125,7 +11125,7 @@ BUILDIN(mapwarp) // Added by RoVeRT check_ID=script_getnum(st,7); } - if((m=map_mapname2mapid(mapname))< 0) + if((m=iMap->mapname2mapid(mapname))< 0) return true; if(!(index=mapindex_name2id(str))) @@ -11138,23 +11138,23 @@ BUILDIN(mapwarp) // Added by RoVeRT for( i=0; i < g->max_member; i++) { if(g->member[i].sd && g->member[i].sd->bl.m==m){ - pc_setpos(g->member[i].sd,index,x,y,CLR_TELEPORT); + iPc->setpos(g->member[i].sd,index,x,y,CLR_TELEPORT); } } } break; case 2: - p = party_search(check_ID); + p = iParty->search(check_ID); if(p){ for(i=0;i<MAX_PARTY; i++){ if(p->data[i].sd && p->data[i].sd->bl.m == m){ - pc_setpos(p->data[i].sd,index,x,y,CLR_TELEPORT); + iPc->setpos(p->data[i].sd,index,x,y,CLR_TELEPORT); } } } break; default: - map_foreachinmap(buildin_areawarp_sub,m,BL_PC,index,x,y,0,0); + iMap->foreachinmap(buildin_areawarp_sub,m,BL_PC,index,x,y,0,0); break; } @@ -11190,7 +11190,7 @@ BUILDIN(mobcount) // Added by RoVeRT script_pushint(st,-1); return true; } - } else if( (m = map_mapname2mapid(mapname)) < 0 ) { + } else if( (m = iMap->mapname2mapid(mapname)) < 0 ) { script_pushint(st,-1); return true; } @@ -11200,7 +11200,7 @@ BUILDIN(mobcount) // Added by RoVeRT return true; } - script_pushint(st,map_foreachinmap(buildin_mobcount_sub, m, BL_MOB, event)); + script_pushint(st,iMap->foreachinmap(buildin_mobcount_sub, m, BL_MOB, event)); return true; } @@ -11209,9 +11209,9 @@ BUILDIN(marriage) { const char *partner=script_getstr(st,2); TBL_PC *sd=script_rid2sd(st); - TBL_PC *p_sd=map_nick2sd(partner); + TBL_PC *p_sd=iMap->nick2sd(partner); - if(sd==NULL || p_sd==NULL || pc_marriage(sd,p_sd) < 0){ + if(sd==NULL || p_sd==NULL || iPc->marriage(sd,p_sd) < 0){ script_pushint(st,0); return true; } @@ -11224,7 +11224,7 @@ BUILDIN(wedding_effect) struct block_list *bl; if(sd==NULL) { - bl=map_id2bl(st->oid); + bl=iMap->id2bl(st->oid); } else bl=&sd->bl; clif->wedding_effect(bl); @@ -11233,7 +11233,7 @@ BUILDIN(wedding_effect) BUILDIN(divorce) { TBL_PC *sd=script_rid2sd(st); - if(sd==NULL || pc_divorce(sd) < 0){ + if(sd==NULL || iPc->divorce(sd) < 0){ script_pushint(st,0); return true; } @@ -11245,8 +11245,8 @@ BUILDIN(ispartneron) { TBL_PC *sd=script_rid2sd(st); - if(sd==NULL || !pc_ismarried(sd) || - map_charid2sd(sd->status.partner_id) == NULL) { + if(sd==NULL || !iPc->ismarried(sd) || + iMap->charid2sd(sd->status.partner_id) == NULL) { script_pushint(st,0); return true; } @@ -11311,8 +11311,8 @@ BUILDIN(warppartner) TBL_PC *sd=script_rid2sd(st); TBL_PC *p_sd=NULL; - if(sd==NULL || !pc_ismarried(sd) || - (p_sd=map_charid2sd(sd->status.partner_id)) == NULL) { + if(sd==NULL || !iPc->ismarried(sd) || + (p_sd=iMap->charid2sd(sd->status.partner_id)) == NULL) { script_pushint(st,0); return true; } @@ -11323,7 +11323,7 @@ BUILDIN(warppartner) mapindex = mapindex_name2id(str); if (mapindex) { - pc_setpos(p_sd,mapindex,x,y,CLR_OUTSIGHT); + iPc->setpos(p_sd,mapindex,x,y,CLR_OUTSIGHT); script_pushint(st,1); } else script_pushint(st,0); @@ -11424,16 +11424,16 @@ BUILDIN(setwall) shootable = script_getnum(st,7); name = script_getstr(st,8); - if( (m = map_mapname2mapid(map)) < 0 ) + if( (m = iMap->mapname2mapid(map)) < 0 ) return true; // Invalid Map - map_iwall_set(m, x, y, size, dir, shootable, name); + iMap->iwall_set(m, x, y, size, dir, shootable, name); return true; } BUILDIN(delwall) { const char *name = script_getstr(st,2); - map_iwall_remove(name); + iMap->iwall_remove(name); return true; } @@ -11466,7 +11466,7 @@ BUILDIN(guardianinfo) if( !gc->guardian[id].visible ) script_pushint(st,-1); else - if( (gd = map_id2md(gc->guardian[id].id)) == NULL ) + if( (gd = iMap->id2md(gc->guardian[id].id)) == NULL ) script_pushint(st,-1); else { @@ -11637,7 +11637,7 @@ BUILDIN(getequipcardid) slot=script_getnum(st,3); sd=script_rid2sd(st); if (num > 0 && num <= ARRAYLENGTH(equip)) - i=pc_checkequip(sd,equip[num-1]); + i=iPc->checkequip(sd,equip[num-1]); if(i >= 0 && slot>=0 && slot<4) script_pushint(st,sd->status.inventory[i].card[slot]); else @@ -11662,7 +11662,7 @@ BUILDIN(petskillbonus) if (pd->bonus) { //Clear previous bonus if (pd->bonus->timer != INVALID_TIMER) - delete_timer(pd->bonus->timer, pet_skill_bonus_timer); + iTimer->delete_timer(pd->bonus->timer, pet_skill_bonus_timer); } else //init pd->bonus = (struct pet_bonus *) aMalloc(sizeof(struct pet_bonus)); @@ -11678,7 +11678,7 @@ BUILDIN(petskillbonus) if (battle_config.pet_equip_required && pd->pet.equip == 0) pd->bonus->timer = INVALID_TIMER; else - pd->bonus->timer = add_timer(gettick()+pd->bonus->delay*1000, pet_skill_bonus_timer, sd->bl.id, 0); + pd->bonus->timer = iTimer->add_timer(iTimer->gettick()+pd->bonus->delay*1000, pet_skill_bonus_timer, sd->bl.id, 0); return true; } @@ -11735,22 +11735,22 @@ BUILDIN(getinventorylist) if(!sd) return true; for(i=0;i<MAX_INVENTORY;i++){ if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount > 0){ - pc_setreg(sd,reference_uid(add_str("@inventorylist_id"), j),sd->status.inventory[i].nameid); - pc_setreg(sd,reference_uid(add_str("@inventorylist_amount"), j),sd->status.inventory[i].amount); - pc_setreg(sd,reference_uid(add_str("@inventorylist_equip"), j),sd->status.inventory[i].equip); - pc_setreg(sd,reference_uid(add_str("@inventorylist_refine"), j),sd->status.inventory[i].refine); - pc_setreg(sd,reference_uid(add_str("@inventorylist_identify"), j),sd->status.inventory[i].identify); - pc_setreg(sd,reference_uid(add_str("@inventorylist_attribute"), j),sd->status.inventory[i].attribute); + iPc->setreg(sd,reference_uid(add_str("@inventorylist_id"), j),sd->status.inventory[i].nameid); + iPc->setreg(sd,reference_uid(add_str("@inventorylist_amount"), j),sd->status.inventory[i].amount); + iPc->setreg(sd,reference_uid(add_str("@inventorylist_equip"), j),sd->status.inventory[i].equip); + iPc->setreg(sd,reference_uid(add_str("@inventorylist_refine"), j),sd->status.inventory[i].refine); + iPc->setreg(sd,reference_uid(add_str("@inventorylist_identify"), j),sd->status.inventory[i].identify); + iPc->setreg(sd,reference_uid(add_str("@inventorylist_attribute"), j),sd->status.inventory[i].attribute); for (k = 0; k < MAX_SLOTS; k++) { sprintf(card_var, "@inventorylist_card%d",k+1); - pc_setreg(sd,reference_uid(add_str(card_var), j),sd->status.inventory[i].card[k]); + iPc->setreg(sd,reference_uid(add_str(card_var), j),sd->status.inventory[i].card[k]); } - pc_setreg(sd,reference_uid(add_str("@inventorylist_expire"), j),sd->status.inventory[i].expire_time); + iPc->setreg(sd,reference_uid(add_str("@inventorylist_expire"), j),sd->status.inventory[i].expire_time); j++; } } - pc_setreg(sd,add_str("@inventorylist_count"),j); + iPc->setreg(sd,add_str("@inventorylist_count"),j); return true; } @@ -11761,13 +11761,13 @@ BUILDIN(getskilllist) if(!sd) return true; for(i=0;i<MAX_SKILL;i++){ if(sd->status.skill[i].id > 0 && sd->status.skill[i].lv > 0){ - pc_setreg(sd,reference_uid(add_str("@skilllist_id"), j),sd->status.skill[i].id); - pc_setreg(sd,reference_uid(add_str("@skilllist_lv"), j),sd->status.skill[i].lv); - pc_setreg(sd,reference_uid(add_str("@skilllist_flag"), j),sd->status.skill[i].flag); + iPc->setreg(sd,reference_uid(add_str("@skilllist_id"), j),sd->status.skill[i].id); + iPc->setreg(sd,reference_uid(add_str("@skilllist_lv"), j),sd->status.skill[i].lv); + iPc->setreg(sd,reference_uid(add_str("@skilllist_flag"), j),sd->status.skill[i].flag); j++; } } - pc_setreg(sd,add_str("@skilllist_count"),j); + iPc->setreg(sd,add_str("@skilllist_count"),j); return true; } @@ -11778,7 +11778,7 @@ BUILDIN(clearitem) if(sd==NULL) return true; for (i=0; i<MAX_INVENTORY; i++) { if (sd->status.inventory[i].amount) { - pc_delitem(sd, i, sd->status.inventory[i].amount, 0, 0, LOG_TYPE_SCRIPT); + iPc->delitem(sd, i, sd->status.inventory[i].amount, 0, 0, LOG_TYPE_SCRIPT); } } return true; @@ -11796,7 +11796,7 @@ BUILDIN(disguise) id = script_getnum(st,2); if (mobdb_checkid(id) || npcdb_checkid(id)) { - pc_disguise(sd, id); + iPc->disguise(sd, id); script_pushint(st,id); } else script_pushint(st,0); @@ -11813,7 +11813,7 @@ BUILDIN(undisguise) if (sd == NULL) return true; if (sd->disguise != -1) { - pc_disguise(sd, -1); + iPc->disguise(sd, -1); script_pushint(st,0); } else { script_pushint(st,1); @@ -11828,7 +11828,7 @@ BUILDIN(undisguise) BUILDIN(classchange) { int _class,type; - struct block_list *bl=map_id2bl(st->oid); + struct block_list *bl=iMap->id2bl(st->oid); if(bl==NULL) return true; @@ -11847,7 +11847,7 @@ BUILDIN(misceffect) type=script_getnum(st,2); if(st->oid && st->oid != fake_nd->bl.id) { - struct block_list *bl = map_id2bl(st->oid); + struct block_list *bl = iMap->id2bl(st->oid); if (bl) clif->specialeffect(bl,type,AREA); } else{ @@ -11909,17 +11909,17 @@ BUILDIN(playBGMall) int x1 = script_getnum(st,6); int y1 = script_getnum(st,7); - map_foreachinarea(playBGM_sub, map_mapname2mapid(map), x0, y0, x1, y1, BL_PC, name); + iMap->foreachinarea(playBGM_sub, iMap->mapname2mapid(map), x0, y0, x1, y1, BL_PC, name); } else if( script_hasdata(st,3) ) {// entire map const char* map = script_getstr(st,3); - map_foreachinmap(playBGM_sub, map_mapname2mapid(map), BL_PC, name); + iMap->foreachinmap(playBGM_sub, iMap->mapname2mapid(map), BL_PC, name); } else {// entire server - map_foreachpc(&playBGM_foreachpc_sub, name); + iMap->map_foreachpc(&playBGM_foreachpc_sub, name); } return true; @@ -11961,14 +11961,14 @@ BUILDIN(soundeffectall) const char* name; int type; - bl = (st->rid) ? &(script_rid2sd(st)->bl) : map_id2bl(st->oid); + bl = (st->rid) ? &(script_rid2sd(st)->bl) : iMap->id2bl(st->oid); if (!bl) return true; name = script_getstr(st,2); type = script_getnum(st,3); - //FIXME: enumerating map squares (map_foreach) is slower than enumerating the list of online players (map_foreachpc?) [ultramage] + //FIXME: enumerating map squares (iMap->foreach) is slower than enumerating the list of online players (iMap->foreachpc?) [ultramage] if(!script_hasdata(st,4)) { // area around @@ -11978,7 +11978,7 @@ BUILDIN(soundeffectall) if(!script_hasdata(st,5)) { // entire map const char* map = script_getstr(st,4); - map_foreachinmap(soundeffect_sub, map_mapname2mapid(map), BL_PC, name, type); + iMap->foreachinmap(soundeffect_sub, iMap->mapname2mapid(map), BL_PC, name, type); } else if(script_hasdata(st,8)) @@ -11988,7 +11988,7 @@ BUILDIN(soundeffectall) int y0 = script_getnum(st,6); int x1 = script_getnum(st,7); int y1 = script_getnum(st,8); - map_foreachinarea(soundeffect_sub, map_mapname2mapid(map), x0, y0, x1, y1, BL_PC, name, type); + iMap->foreachinarea(soundeffect_sub, iMap->mapname2mapid(map), x0, y0, x1, y1, BL_PC, name, type); } else { @@ -12013,7 +12013,7 @@ BUILDIN(petrecovery) if (pd->recovery) { //Halt previous bonus if (pd->recovery->timer != INVALID_TIMER) - delete_timer(pd->recovery->timer, pet_recovery_timer); + iTimer->delete_timer(pd->recovery->timer, pet_recovery_timer); } else //Init pd->recovery = (struct pet_recovery *)aMalloc(sizeof(struct pet_recovery)); @@ -12041,9 +12041,9 @@ BUILDIN(petheal) if (pd->s_skill->timer != INVALID_TIMER) { if (pd->s_skill->id) - delete_timer(pd->s_skill->timer, pet_skill_support_timer); + iTimer->delete_timer(pd->s_skill->timer, pet_skill_support_timer); else - delete_timer(pd->s_skill->timer, pet_heal_timer); + iTimer->delete_timer(pd->s_skill->timer, pet_heal_timer); } } else //init memory pd->s_skill = (struct pet_skill_support *) aMalloc(sizeof(struct pet_skill_support)); @@ -12059,7 +12059,7 @@ BUILDIN(petheal) if (battle_config.pet_equip_required && pd->pet.equip == 0) pd->s_skill->timer = INVALID_TIMER; else - pd->s_skill->timer = add_timer(gettick()+pd->s_skill->delay*1000,pet_heal_timer,sd->bl.id,0); + pd->s_skill->timer = iTimer->add_timer(iTimer->gettick()+pd->s_skill->delay*1000,pet_heal_timer,sd->bl.id,0); return true; } @@ -12135,9 +12135,9 @@ BUILDIN(petskillsupport) if (pd->s_skill->timer != INVALID_TIMER) { if (pd->s_skill->id) - delete_timer(pd->s_skill->timer, pet_skill_support_timer); + iTimer->delete_timer(pd->s_skill->timer, pet_skill_support_timer); else - delete_timer(pd->s_skill->timer, pet_heal_timer); + iTimer->delete_timer(pd->s_skill->timer, pet_heal_timer); } } else //init memory pd->s_skill = (struct pet_skill_support *) aMalloc(sizeof(struct pet_skill_support)); @@ -12152,7 +12152,7 @@ BUILDIN(petskillsupport) if (battle_config.pet_equip_required && pd->pet.equip == 0) pd->s_skill->timer = INVALID_TIMER; else - pd->s_skill->timer = add_timer(gettick()+pd->s_skill->delay*1000,pet_skill_support_timer,sd->bl.id,0); + pd->s_skill->timer = iTimer->add_timer(iTimer->gettick()+pd->s_skill->delay*1000,pet_skill_support_timer,sd->bl.id,0); return true; } @@ -12182,7 +12182,7 @@ BUILDIN(skilleffect) /// npcskilleffect "<skill name>",<level>,<x>,<y> BUILDIN(npcskilleffect) { - struct block_list *bl= map_id2bl(st->oid); + struct block_list *bl= iMap->id2bl(st->oid); uint16 skill_id=( script_isstring(st,2) ? skill->name2id(script_getstr(st,2)) : script_getnum(st,2) ); uint16 skill_lv=script_getnum(st,3); @@ -12190,7 +12190,7 @@ BUILDIN(npcskilleffect) int y=script_getnum(st,5); if (bl) - clif->skill_poseffect(bl,skill_id,skill_lv,x,y,gettick()); + clif->skill_poseffect(bl,skill_id,skill_lv,x,y,iTimer->gettick()); return true; } @@ -12200,7 +12200,7 @@ BUILDIN(npcskilleffect) *------------------------------------------*/ BUILDIN(specialeffect) { - struct block_list *bl=map_id2bl(st->oid); + struct block_list *bl=iMap->id2bl(st->oid); int type = script_getnum(st,2); enum send_target target = script_hasdata(st,3) ? (send_target)script_getnum(st,3) : AREA; @@ -12234,7 +12234,7 @@ BUILDIN(specialeffect2) enum send_target target = script_hasdata(st,3) ? (send_target)script_getnum(st,3) : AREA; if( script_hasdata(st,4) ) - sd = map_nick2sd(script_getstr(st,4)); + sd = iMap->nick2sd(script_getstr(st,4)); if (sd) clif->specialeffect(&sd->bl, type, target); @@ -12257,7 +12257,7 @@ BUILDIN(nude) if( sd->equip_index[ i ] >= 0 ) { if( !calcflag ) calcflag = 1; - pc_unequipitem( sd , sd->equip_index[ i ] , 2); + iPc->unequipitem( sd , sd->equip_index[ i ] , 2); } } @@ -12289,7 +12289,7 @@ BUILDIN(atcommand) memset(&dummy_sd, 0, sizeof(TBL_PC)); if (st->oid) { - struct block_list* bl = map_id2bl(st->oid); + struct block_list* bl = iMap->id2bl(st->oid); memcpy(&dummy_sd.bl, bl, sizeof(struct block_list)); if (bl->type == BL_NPC) safestrncpy(dummy_sd.status.name, ((TBL_NPC*)bl)->name, NAME_LENGTH); @@ -12423,7 +12423,7 @@ BUILDIN(getmercinfo) { char_id = script_getnum(st,3); - if( ( sd = map_charid2sd(char_id) ) == NULL ) + if( ( sd = iMap->charid2sd(char_id) ) == NULL ) { ShowError("buildin_getmercinfo: No such character (char_id=%d).\n", char_id); script_pushnil(st); @@ -12546,7 +12546,7 @@ BUILDIN(message) player = script_getstr(st,2); msg = script_getstr(st,3); - if((pl_sd=map_nick2sd((char *) player)) == NULL) + if((pl_sd=iMap->nick2sd((char *) player)) == NULL) return true; clif->message(pl_sd->fd, msg); @@ -12561,7 +12561,7 @@ BUILDIN(npctalk) const char* str; char name[NAME_LENGTH], message[256]; - struct npc_data* nd = (struct npc_data *)map_id2bl(st->oid); + struct npc_data* nd = (struct npc_data *)iMap->id2bl(st->oid); str = script_getstr(st,2); if(nd) @@ -12582,7 +12582,7 @@ BUILDIN(npcspeed) int speed; speed = script_getnum(st,2); - nd =(struct npc_data *)map_id2bl(st->oid); + nd =(struct npc_data *)iMap->id2bl(st->oid); if( nd ) { if( nd->ud == &npc_base_ud ) { @@ -12598,7 +12598,7 @@ BUILDIN(npcspeed) } // make an npc walk to a position [Valaris] BUILDIN(npcwalkto) { - struct npc_data *nd=(struct npc_data *)map_id2bl(st->oid); + struct npc_data *nd=(struct npc_data *)iMap->id2bl(st->oid); int x=0,y=0; x=script_getnum(st,2); @@ -12624,7 +12624,7 @@ BUILDIN(npcwalkto) { // stop an npc's movement [Valaris] BUILDIN(npcstop) { - struct npc_data *nd=(struct npc_data *)map_id2bl(st->oid); + struct npc_data *nd=(struct npc_data *)iMap->id2bl(st->oid); if(nd) { unit_stop_walking(&nd->bl,1|4); @@ -12745,7 +12745,7 @@ BUILDIN(getmapxy) switch (type){ case 0: //Get Character Position if( script_hasdata(st,6) ) - sd=map_nick2sd(script_getstr(st,6)); + sd=iMap->nick2sd(script_getstr(st,6)); else sd=script_rid2sd(st); @@ -12760,11 +12760,11 @@ BUILDIN(getmapxy) if (nd) bl = &nd->bl; } else //In case the origin is not an npc? - bl=map_id2bl(st->oid); + bl=iMap->id2bl(st->oid); break; case 2: //Get Pet Position if(script_hasdata(st,6)) - sd=map_nick2sd(script_getstr(st,6)); + sd=iMap->nick2sd(script_getstr(st,6)); else sd=script_rid2sd(st); @@ -12775,7 +12775,7 @@ BUILDIN(getmapxy) break; //Not supported? case 4: //Get Homun Position if(script_hasdata(st,6)) - sd=map_nick2sd(script_getstr(st,6)); + sd=iMap->nick2sd(script_getstr(st,6)); else sd=script_rid2sd(st); @@ -12784,7 +12784,7 @@ BUILDIN(getmapxy) break; case 5: //Get Mercenary Position if(script_hasdata(st,6)) - sd=map_nick2sd(script_getstr(st,6)); + sd=iMap->nick2sd(script_getstr(st,6)); else sd=script_rid2sd(st); @@ -12793,7 +12793,7 @@ BUILDIN(getmapxy) break; case 6: //Get Elemental Position if(script_hasdata(st,6)) - sd=map_nick2sd(script_getstr(st,6)); + sd=iMap->nick2sd(script_getstr(st,6)); else sd=script_rid2sd(st); @@ -12875,7 +12875,7 @@ BUILDIN(summon) const char *str,*event=""; TBL_PC *sd; struct mob_data *md; - int tick = gettick(); + int tick = iTimer->gettick(); sd=script_rid2sd(st); if (!sd) return true; @@ -12896,8 +12896,8 @@ BUILDIN(summon) md->master_id=sd->bl.id; md->special_state.ai = AI_ATTACK; if( md->deletetimer != INVALID_TIMER ) - delete_timer(md->deletetimer, mob_timer_delete); - md->deletetimer = add_timer(tick+(timeout>0?timeout*1000:60000),mob_timer_delete,md->bl.id,0); + iTimer->delete_timer(md->deletetimer, mob_timer_delete); + md->deletetimer = iTimer->add_timer(tick+(timeout>0?timeout*1000:60000),mob_timer_delete,md->bl.id,0); mob_spawn (md); //Now it is ready for spawning. clif->specialeffect(&md->bl,344,AREA); sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000); @@ -12910,13 +12910,13 @@ BUILDIN(summon) *------------------------------------------*/ BUILDIN(isnight) { - script_pushint(st,(night_flag == 1)); + script_pushint(st,(iMap->night_flag == 1)); return true; } BUILDIN(isday) { - script_pushint(st,(night_flag == 0)); + script_pushint(st,(iMap->night_flag == 0)); return true; } @@ -13116,12 +13116,12 @@ BUILDIN(getrefine) *-------------------------------------------------------*/ BUILDIN(night) { - if (night_flag != 1) map_night_timer(night_timer_tid, 0, 0, 1); + if (iMap->night_flag != 1) iPc->map_night_timer(iPc->night_timer_tid, 0, 0, 1); return true; } BUILDIN(day) { - if (night_flag != 0) map_day_timer(day_timer_tid, 0, 0, 1); + if (iMap->night_flag != 0) iPc->map_day_timer(iPc->day_timer_tid, 0, 0, 1); return true; } @@ -13138,9 +13138,9 @@ BUILDIN(unequip) sd = script_rid2sd(st); if( sd != NULL && num >= 1 && num <= ARRAYLENGTH(equip) ) { - i = pc_checkequip(sd,equip[num-1]); + i = iPc->checkequip(sd,equip[num-1]); if (i >= 0) - pc_unequipitem(sd,i,1|2); + iPc->unequipitem(sd,i,1|2); } return true; } @@ -13161,7 +13161,7 @@ BUILDIN(equip) } ARR_FIND( 0, MAX_INVENTORY, i, sd->status.inventory[i].nameid == nameid ); if( i < MAX_INVENTORY ) - pc_equipitem(sd,i,item_data->equip); + iPc->equipitem(sd,i,item_data->equip); return true; } @@ -14484,7 +14484,7 @@ BUILDIN(npcshopattach) } if (flag) - nd->master_nd = ((struct npc_data *)map_id2bl(st->oid)); + nd->master_nd = ((struct npc_data *)iMap->id2bl(st->oid)); else nd->master_nd = NULL; @@ -14618,7 +14618,7 @@ BUILDIN(checkvending) // check vending [Nab4] TBL_PC *sd = NULL; if(script_hasdata(st,2)) - sd = map_nick2sd(script_getstr(st,2)); + sd = iMap->nick2sd(script_getstr(st,2)); else sd = script_rid2sd(st); @@ -14636,7 +14636,7 @@ BUILDIN(checkchatting) // check chatting [Marka] TBL_PC *sd = NULL; if(script_hasdata(st,2)) - sd = map_nick2sd(script_getstr(st,2)); + sd = iMap->nick2sd(script_getstr(st,2)); else sd = script_rid2sd(st); @@ -14653,7 +14653,7 @@ BUILDIN(checkidle) TBL_PC *sd = NULL; if (script_hasdata(st, 2)) - sd = map_nick2sd(script_getstr(st, 2)); + sd = iMap->nick2sd(script_getstr(st, 2)); else sd = script_rid2sd(st); @@ -14780,7 +14780,7 @@ BUILDIN(rid2name) { struct block_list *bl = NULL; int rid = script_getnum(st,2); - if((bl = map_id2bl(rid))) + if((bl = iMap->id2bl(rid))) { switch(bl->type) { case BL_MOB: script_pushstrcopy(st,((TBL_MOB*)bl)->name); break; @@ -14810,7 +14810,7 @@ BUILDIN(pcblockmove) flag = script_getnum(st,3); if(id) - sd = map_id2sd(id); + sd = iMap->id2sd(id); else sd = script_rid2sd(st); @@ -14830,12 +14830,12 @@ BUILDIN(pcfollow) targetid = script_getnum(st,3); if(id) - sd = map_id2sd(id); + sd = iMap->id2sd(id); else sd = script_rid2sd(st); if(sd) - pc_follow(sd, targetid); + iPc->follow(sd, targetid); return true; } @@ -14849,12 +14849,12 @@ BUILDIN(pcstopfollow) id = script_getnum(st,2); if(id) - sd = map_id2sd(id); + sd = iMap->id2sd(id); else sd = script_rid2sd(st); if(sd) - pc_stop_following(sd); + iPc->stop_following(sd); return true; } @@ -14871,7 +14871,7 @@ BUILDIN(unitwalk) { struct block_list* bl; - bl = map_id2bl(script_getnum(st,2)); + bl = iMap->id2bl(script_getnum(st,2)); if( bl == NULL ) { script_pushint(st, 0); @@ -14885,7 +14885,7 @@ BUILDIN(unitwalk) else { int map_id = script_getnum(st,3); - script_pushint(st, unit_walktobl(bl,map_id2bl(map_id),65025,1)); + script_pushint(st, unit_walktobl(bl,iMap->id2bl(map_id),65025,1)); } return true; @@ -14896,7 +14896,7 @@ BUILDIN(unitwalk) /// unitkill <unit_id>; BUILDIN(unitkill) { - struct block_list* bl = map_id2bl(script_getnum(st,2)); + struct block_list* bl = iMap->id2bl(script_getnum(st,2)); if( bl != NULL ) status_kill(bl); @@ -14922,14 +14922,14 @@ BUILDIN(unitwarp) y = (short)script_getnum(st,5); if (!unit_id) //Warp the script's runner - bl = map_id2bl(st->rid); + bl = iMap->id2bl(st->rid); else - bl = map_id2bl(unit_id); + bl = iMap->id2bl(unit_id); if( strcmp(mapname,"this") == 0 ) map = bl?bl->m:-1; else - map = map_mapname2mapid(mapname); + map = iMap->mapname2mapid(mapname); if( map >= 0 && bl != NULL ) script_pushint(st, unit_warp(bl,map,x,y,CLR_OUTSIGHT)); @@ -14954,7 +14954,7 @@ BUILDIN(unitattack) int actiontype = 0; // get unit - unit_bl = map_id2bl(script_getnum(st,2)); + unit_bl = iMap->id2bl(script_getnum(st,2)); if( unit_bl == NULL ) { script_pushint(st, 0); return true; @@ -14964,11 +14964,11 @@ BUILDIN(unitattack) get_val(st, data); if( data_isstring(data) ) { - TBL_PC* sd = map_nick2sd(script->conv_str(st, data)); + TBL_PC* sd = iMap->nick2sd(script->conv_str(st, data)); if( sd != NULL ) target_bl = &sd->bl; } else - target_bl = map_id2bl(script->conv_num(st, data)); + target_bl = iMap->id2bl(script->conv_num(st, data)); // request the attack if( target_bl == NULL ) { @@ -14983,7 +14983,7 @@ BUILDIN(unitattack) switch( unit_bl->type ) { case BL_PC: - clif->pActionRequest_sub(((TBL_PC *)unit_bl), actiontype > 0 ? 0x07 : 0x00, target_bl->id, gettick()); + clif->pActionRequest_sub(((TBL_PC *)unit_bl), actiontype > 0 ? 0x07 : 0x00, target_bl->id, iTimer->gettick()); script_pushint(st, 1); return true; case BL_MOB: @@ -15011,7 +15011,7 @@ BUILDIN(unitstop) unit_id = script_getnum(st,2); - bl = map_id2bl(unit_id); + bl = iMap->id2bl(unit_id); if( bl != NULL ) { unit_stop_attack(bl); @@ -15035,7 +15035,7 @@ BUILDIN(unittalk) unit_id = script_getnum(st,2); message = script_getstr(st, 3); - bl = map_id2bl(unit_id); + bl = iMap->id2bl(unit_id); if( bl != NULL ) { struct StringBuf sbuf; @@ -15063,7 +15063,7 @@ BUILDIN(unitemote) unit_id = script_getnum(st,2); emotion = script_getnum(st,3); - bl = map_id2bl(unit_id); + bl = iMap->id2bl(unit_id); if( bl != NULL ) clif->emotion(bl, emotion); @@ -15087,7 +15087,7 @@ BUILDIN(unitskilluseid) skill_lv = script_getnum(st,4); target_id = ( script_hasdata(st,5) ? script_getnum(st,5) : unit_id ); - bl = map_id2bl(unit_id); + bl = iMap->id2bl(unit_id); if( bl != NULL ) unit_skilluse_id(bl, target_id, skill_id, skill_lv); @@ -15113,7 +15113,7 @@ BUILDIN(unitskillusepos) skill_x = script_getnum(st,5); skill_y = script_getnum(st,6); - bl = map_id2bl(unit_id); + bl = iMap->id2bl(unit_id); if( bl != NULL ) unit_skilluse_pos(bl, skill_x, skill_y, skill_id, skill_lv); @@ -15162,7 +15162,7 @@ BUILDIN(sleep2) if( ticks <= 0 ) {// do nothing - script_pushint(st, (map_id2sd(st->rid)!=NULL)); + script_pushint(st, (iMap->id2sd(st->rid)!=NULL)); } else if( !st->sleep.tick ) {// sleep for the target amount of time @@ -15173,7 +15173,7 @@ BUILDIN(sleep2) {// sleep time is over st->state = RUN; st->sleep.tick = 0; - script_pushint(st, (map_id2sd(st->rid)!=NULL)); + script_pushint(st, (iMap->id2sd(st->rid)!=NULL)); } return true; } @@ -15197,7 +15197,7 @@ BUILDIN(awake) if( (int)__64BPTRSIZE(node->key) == nd->bl.id ) {// sleep timer for the npc struct script_state* tst = (struct script_state*)node->data; - TBL_PC* sd = map_id2sd(tst->rid); + TBL_PC* sd = iMap->id2sd(tst->rid); if( tst->sleep.timer == INVALID_TIMER ) {// already awake ??? @@ -15210,7 +15210,7 @@ BUILDIN(awake) tst->rid = 0; } - delete_timer(tst->sleep.timer, run_script_timer); + iTimer->delete_timer(tst->sleep.timer, run_script_timer); node = script_erase_sleepdb(node); tst->sleep.timer = INVALID_TIMER; if(tst->state != RERUNLINE) @@ -15284,7 +15284,7 @@ BUILDIN(warpportal) struct skill_unit_group* group; struct block_list* bl; - bl = map_id2bl(st->oid); + bl = iMap->id2bl(st->oid); if( bl == NULL ) { ShowError("script:warpportal: npc is needed\n"); @@ -15343,12 +15343,12 @@ BUILDIN(openauction) /// @see cell_chk* constants in const.txt for the types BUILDIN(checkcell) { - int16 m = map_mapname2mapid(script_getstr(st,2)); + int16 m = iMap->mapname2mapid(script_getstr(st,2)); int16 x = script_getnum(st,3); int16 y = script_getnum(st,4); cell_chk type = (cell_chk)script_getnum(st,5); - script_pushint(st, map_getcell(m, x, y, type)); + script_pushint(st, iMap->getcell(m, x, y, type)); return true; } @@ -15360,7 +15360,7 @@ BUILDIN(checkcell) /// @see cell_* constants in const.txt for the types BUILDIN(setcell) { - int16 m = map_mapname2mapid(script_getstr(st,2)); + int16 m = iMap->mapname2mapid(script_getstr(st,2)); int16 x1 = script_getnum(st,3); int16 y1 = script_getnum(st,4); int16 x2 = script_getnum(st,5); @@ -15630,7 +15630,7 @@ BUILDIN(checkquest) BUILDIN(showevent) { TBL_PC *sd = script_rid2sd(st); - struct npc_data *nd = map_id2nd(st->oid); + struct npc_data *nd = iMap->id2nd(st->oid); int state, color; if( sd == NULL || nd == NULL ) @@ -15659,9 +15659,9 @@ BUILDIN(waitingroom2bg) if( script_hasdata(st,7) ) nd = npc_name2id(script_getstr(st,7)); else - nd = (struct npc_data *)map_id2bl(st->oid); + nd = (struct npc_data *)iMap->id2bl(st->oid); - if( nd == NULL || (cd = (struct chat_data *)map_id2bl(nd->chat_id)) == NULL ) + if( nd == NULL || (cd = (struct chat_data *)iMap->id2bl(nd->chat_id)) == NULL ) { script_pushint(st,0); return true; @@ -15720,7 +15720,7 @@ BUILDIN(waitingroom2bg_single) y = script_getnum(st,5); nd = npc_name2id(script_getstr(st,6)); - if( nd == NULL || (cd = (struct chat_data *)map_id2bl(nd->chat_id)) == NULL || cd->users <= 0 ) + if( nd == NULL || (cd = (struct chat_data *)iMap->id2bl(nd->chat_id)) == NULL || cd->users <= 0 ) return true; if( (sd = cd->usersd[0]) == NULL ) @@ -15728,7 +15728,7 @@ BUILDIN(waitingroom2bg_single) if( bg_team_join(bg_id, sd) ) { - pc_setpos(sd, mapindex, x, y, CLR_TELEPORT); + iPc->setpos(sd, mapindex, x, y, CLR_TELEPORT); script_pushint(st,1); } else @@ -15790,7 +15790,7 @@ BUILDIN(bg_monster_set_team) int id = script_getnum(st,2), bg_id = script_getnum(st,3); - if( (mbl = map_id2bl(id)) == NULL || mbl->type != BL_MOB ) + if( (mbl = iMap->id2bl(id)) == NULL || mbl->type != BL_MOB ) return true; md = (TBL_MOB *)mbl; md->bg_id = bg_id; @@ -15832,7 +15832,7 @@ BUILDIN(bg_getareausers) bg_id = script_getnum(st,2); str = script_getstr(st,3); - if( (bg = bg_team_search(bg_id)) == NULL || (m = map_mapname2mapid(str)) < 0 ) + if( (bg = bg_team_search(bg_id)) == NULL || (m = iMap->mapname2mapid(str)) < 0 ) { script_pushint(st,0); return true; @@ -15862,7 +15862,7 @@ BUILDIN(bg_updatescore) int16 m; str = script_getstr(st,2); - if( (m = map_mapname2mapid(str)) < 0 ) + if( (m = iMap->mapname2mapid(str)) < 0 ) return true; map[m].bgscore_lion = script_getnum(st,3); @@ -15989,7 +15989,7 @@ BUILDIN(instance_detachmap) { instance_id = st->instance_id; else return true; - if( (m = map_mapname2mapid(str)) < 0 || (m = instance->map2imap(m,instance_id)) < 0 ) { + if( (m = iMap->mapname2mapid(str)) < 0 || (m = instance->map2imap(m,instance_id)) < 0 ) { ShowError("buildin_instance_detachmap: Trying to detach invalid map %s\n", str); return true; } @@ -16074,7 +16074,7 @@ BUILDIN(instance_announce) { return true; for( i = 0; i < instances[instance_id].num_map; i++ ) - map_foreachinmap(buildin_announce_sub, instances[instance_id].map[i], BL_PC, + iMap->foreachinmap(buildin_announce_sub, instances[instance_id].map[i], BL_PC, mes, strlen(mes)+1, flag&0xf0, fontColor, fontType, fontSize, fontAlign, fontY); return true; @@ -16112,7 +16112,7 @@ BUILDIN(has_instance) { str = script_getstr(st, 2); - if( (m = map_mapname2mapid(str)) < 0 ) { + if( (m = iMap->mapname2mapid(str)) < 0 ) { script_pushconststr(st, ""); return true; } @@ -16133,7 +16133,7 @@ BUILDIN(has_instance) { if( i != sd->instances ) instance_id = sd->instance[i]; } - if( instance_id == -1 && sd->status.party_id && (p = party_search(sd->status.party_id)) && p->instances ) { + if( instance_id == -1 && sd->status.party_id && (p = iParty->search(sd->status.party_id)) && p->instances ) { for( i = 0; i < p->instances; i++ ) { ARR_FIND(0, instances[p->instance[i]].num_map, j, map[instances[p->instance[i]].map[j]].instance_src_map == m); if( j != instances[p->instance[i]].num_map ) @@ -16167,7 +16167,7 @@ static int buildin_instance_warpall_sub(struct block_list *bl,va_list ap) { int x = va_arg(ap,int); int y = va_arg(ap,int); - pc_setpos(sd,mapindex,x,y,CLR_TELEPORT); + iPc->setpos(sd,mapindex,x,y,CLR_TELEPORT); return 0; } @@ -16189,12 +16189,12 @@ BUILDIN(instance_warpall) { else return true; - if( (m = map_mapname2mapid(mapn)) < 0 || (map[m].flag.src4instance && (m = instance->mapid2imapid(m, instance_id)) < 0) ) + if( (m = iMap->mapname2mapid(mapn)) < 0 || (map[m].flag.src4instance && (m = instance->mapid2imapid(m, instance_id)) < 0) ) return true; mapindex = map_id2index(m); - map_foreachininstance(buildin_instance_warpall_sub, instance_id, BL_PC,mapindex,x,y); + iMap->foreachininstance(buildin_instance_warpall_sub, instance_id, BL_PC,mapindex,x,y); return true; } @@ -16230,14 +16230,14 @@ BUILDIN(instance_check_party) { party_id = script_getnum(st,2); else return true; - if( !(p = party_search(party_id)) ){ + if( !(p = iParty->search(party_id)) ){ script_pushint(st, 0); // Returns false if party does not exist. return true; } for( i = 0; i < MAX_PARTY; i++ ) if( (pl_sd = p->data[i].sd) ) - if(map_id2bl(pl_sd->bl.id)){ + if(iMap->id2bl(pl_sd->bl.id)){ if(pl_sd->status.base_level < min){ script_pushint(st, 0); return true; @@ -16293,9 +16293,9 @@ static int buildin_mobuseskill_sub(struct block_list *bl,va_list ap) // 0:self, 1:target, 2:master, default:random switch( target ) { - case 0: tbl = map_id2bl(md->bl.id); break; - case 1: tbl = map_id2bl(md->target_id); break; - case 2: tbl = map_id2bl(md->master_id); break; + case 0: tbl = iMap->id2bl(md->bl.id); break; + case 1: tbl = iMap->id2bl(md->target_id); break; + case 2: tbl = iMap->id2bl(md->master_id); break; default:tbl = battle->get_enemy(&md->bl, DEFAULT_ENEMY_TYPE(md),skill->get_range2(&md->bl, skill_id, skill_lv)); break; } @@ -16323,7 +16323,7 @@ BUILDIN(areamobuseskill) int16 m; int range,mobid,skill_id,skill_lv,casttime,emotion,target,cancel; - if( (m = map_mapname2mapid(script_getstr(st,2))) < 0 ) { + if( (m = iMap->mapname2mapid(script_getstr(st,2))) < 0 ) { ShowError("areamobuseskill: invalid map name.\n"); return true; } @@ -16343,7 +16343,7 @@ BUILDIN(areamobuseskill) emotion = script_getnum(st,11); target = script_getnum(st,12); - map_foreachinrange(buildin_mobuseskill_sub, ¢er, range, BL_MOB, mobid, skill_id, skill_lv, casttime, cancel, emotion, target); + iMap->foreachinrange(buildin_mobuseskill_sub, ¢er, range, BL_MOB, mobid, skill_id, skill_lv, casttime, cancel, emotion, target); return true; } @@ -16363,7 +16363,7 @@ BUILDIN(progressbar) second = script_getnum(st,3); sd->progressbar.npc_id = st->oid; - sd->progressbar.timeout = gettick() + second*1000; + sd->progressbar.timeout = iTimer->gettick() + second*1000; clif->progressbar(sd, strtol(color, (char **)NULL, 0), second); return true; @@ -16524,10 +16524,10 @@ BUILDIN(setdragon) { if( (sd = script_rid2sd(st)) == NULL ) return true; - if( !pc_checkskill(sd,RK_DRAGONTRAINING) || (sd->class_&MAPID_THIRDMASK) != MAPID_RUNE_KNIGHT ) + if( !iPc->checkskill(sd,RK_DRAGONTRAINING) || (sd->class_&MAPID_THIRDMASK) != MAPID_RUNE_KNIGHT ) script_pushint(st,0);//Doesn't have the skill or it's not a Rune Knight else if ( pc_isridingdragon(sd) ) {//Is mounted; release - pc_setoption(sd, sd->sc.option&~OPTION_DRAGON); + iPc->setoption(sd, sd->sc.option&~OPTION_DRAGON); script_pushint(st,1); } else {//Not mounted; Mount now. unsigned int option = OPTION_DRAGON1; @@ -16542,7 +16542,7 @@ BUILDIN(setdragon) { option = OPTION_DRAGON1; } } - pc_setoption(sd, sd->sc.option|option); + iPc->setoption(sd, sd->sc.option|option); script_pushint(st,1); } return true; @@ -16612,12 +16612,12 @@ BUILDIN(getcharip) if( script_hasdata(st, 2) ) { if (script_isstring(st, 2)) - sd = map_nick2sd(script_getstr(st, 2)); + sd = iMap->nick2sd(script_getstr(st, 2)); else if (script_isint(st, 2) || script_getnum(st, 2)) { int id; id = script_getnum(st, 2); - sd = (map_id2sd(id) ? map_id2sd(id) : map_charid2sd(id)); + sd = (iMap->id2sd(id) ? iMap->id2sd(id) : iMap->charid2sd(id)); } } else @@ -16803,7 +16803,7 @@ BUILDIN(useatcmd) memset(&dummy_sd, 0, sizeof(TBL_PC)); if( st->oid ) { - struct block_list* bl = map_id2bl(st->oid); + struct block_list* bl = iMap->id2bl(st->oid); memcpy(&dummy_sd.bl, bl, sizeof(struct block_list)); if( bl->type == BL_NPC ) safestrncpy(dummy_sd.status.name, ((TBL_NPC*)bl)->name, NAME_LENGTH); @@ -16921,10 +16921,10 @@ BUILDIN(getrandgroupitem) { for (i = 0; i < qty; i += get_count) { // if not pet egg if (!pet_create_egg(sd, nameid)) { - if ((flag = pc_additem(sd, &item_tmp, get_count, LOG_TYPE_SCRIPT))) { + if ((flag = iPc->additem(sd, &item_tmp, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); - if( pc_candrop(sd,&item_tmp) ) - map_addflooritem(&item_tmp,get_count,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); + if( iPc->candrop(sd,&item_tmp) ) + iMap->addflooritem(&item_tmp,get_count,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } } } @@ -16937,7 +16937,7 @@ BUILDIN(getrandgroupitem) { static int atcommand_cleanfloor_sub(struct block_list *bl, va_list ap) { nullpo_ret(bl); - map_clearflooritem(bl); + iMap->clearflooritem(bl); return 0; } @@ -16949,19 +16949,19 @@ BUILDIN(cleanmap) int16 x0 = 0, y0 = 0, x1 = 0, y1 = 0; map = script_getstr(st, 2); - m = map_mapname2mapid(map); + m = iMap->mapname2mapid(map); if (!m) return false; if ((script_lastdata(st) - 2) < 4) { - map_foreachinmap(atcommand_cleanfloor_sub, m, BL_ITEM); + iMap->foreachinmap(atcommand_cleanfloor_sub, m, BL_ITEM); } else { x0 = script_getnum(st, 3); y0 = script_getnum(st, 4); x1 = script_getnum(st, 5); y1 = script_getnum(st, 6); if (x0 > 0 && y0 > 0 && x1 > 0 && y1 > 0) { - map_foreachinarea(atcommand_cleanfloor_sub, m, x0, y0, x1, y1, BL_ITEM); + iMap->foreachinarea(atcommand_cleanfloor_sub, m, x0, y0, x1, y1, BL_ITEM); } else { ShowError("cleanarea: invalid coordinate defined!\n"); return false; @@ -16987,7 +16987,7 @@ BUILDIN(npcskill) stat_point = script_getnum(st, 4); npc_level = script_getnum(st, 5); sd = script_rid2sd(st); - nd = (struct npc_data *)map_id2bl(sd->npc_id); + nd = (struct npc_data *)iMap->id2bl(sd->npc_id); if (stat_point > battle_config.max_third_parameter) { ShowError("npcskill: stat point exceeded maximum of %d.\n",battle_config.max_third_parameter ); @@ -17090,7 +17090,7 @@ bool script_hqueue_add(int idx, int var) { script->hq[idx].item[i] = var; - if( var >= START_ACCOUNT_NUM && (sd = map_id2sd(var)) ) { + if( var >= START_ACCOUNT_NUM && (sd = iMap->id2sd(var)) ) { for(i = 0; i < sd->queues_count; i++) { if( sd->queues[i] == -1 ) { break; @@ -17134,7 +17134,7 @@ bool script_hqueue_remove(int idx, int var) { struct map_session_data *sd; script->hq[idx].item[i] = 0; - if( var >= START_ACCOUNT_NUM && (sd = map_id2sd(var)) ) { + if( var >= START_ACCOUNT_NUM && (sd = iMap->id2sd(var)) ) { for(i = 0; i < sd->queues_count; i++) { if( sd->queues[i] == var ) { break; @@ -17212,7 +17212,7 @@ bool script_hqueue_del(int idx) { int i; for(i = 0; i < script->hq[idx].items; i++) { - if( script->hq[idx].item[i] >= START_ACCOUNT_NUM && (sd = map_id2sd(script->hq[idx].item[i])) ) { + if( script->hq[idx].item[i] >= START_ACCOUNT_NUM && (sd = iMap->id2sd(script->hq[idx].item[i])) ) { int j; for(j = 0; j < sd->queues_count; j++) { if( sd->queues[j] == script->hq[idx].item[i] ) { |