diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/script.c | 1437 |
1 files changed, 716 insertions, 721 deletions
diff --git a/src/map/script.c b/src/map/script.c index 2e26b9cad..7ab0164eb 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -2475,7 +2475,7 @@ void op_2str(struct script_state *st,int op,int sp1,int sp2) // Because push_val() overwrite stack_data[sp1], C_STR on stack_data[sp1] won't be freed. // So, call push_val() after freeing strings. [jA1783] - // push_val(st->stack,C_INT,a); + // script_pushint(st,a); if(st->stack->stack_data[sp1].type==C_STR) { aFree(s1); @@ -2486,7 +2486,7 @@ void op_2str(struct script_state *st,int op,int sp1,int sp2) aFree(s2); st->stack->stack_data[sp2].type=C_INT; } - push_val(st->stack,C_INT,a); + script_pushint(st,a); } /*========================================== @@ -2532,7 +2532,7 @@ void op_2num(struct script_state *st,int op,int i1,int i2) ret = (int)cap_value(ret_double,INT_MAX,INT_MIN); } } - push_val(st->stack,C_INT,ret); + script_pushint(st,ret); } /*========================================== @@ -2572,7 +2572,7 @@ void op_2(struct script_state *st,int op) aFree(s2); st->stack->stack_data[st->stack->sp+1].type = C_INT; } - push_val(st->stack,C_INT,0); + script_pushint(st,0); } } @@ -2595,7 +2595,7 @@ void op_1num(struct script_state *st,int op) i1=!i1; break; } - push_val(st->stack,C_INT,i1); + script_pushint(st,i1); } @@ -2672,7 +2672,7 @@ int run_func(struct script_state *st) } else { if(battle_config.error_log) ShowError("run_func : %s? (%d(%d))\n",str_buf+str_data[func].str,func,str_data[func].type); - push_val(st->stack,C_INT,0); + script_pushint(st,0); report_src(st); } @@ -4206,7 +4206,7 @@ struct script_function buildin_func[] = { BUILDIN_FUNC(mes) { struct map_session_data *sd = script_rid2sd(st); - const char *mes = conv_str(st, &(st->stack->stack_data[st->start+2])); + const char *mes = conv_str(st, script_getdata(st,2)); if (sd) clif_scriptmes(sd, st->oid, mes); return 0; @@ -4226,7 +4226,7 @@ BUILDIN_FUNC(goto) return 1; } - pos=conv_num(st,& (st->stack->stack_data[st->start+2])); + pos=conv_num(st,script_getdata(st,2)); st->pos=pos; st->state=GOTO; return 0; @@ -4239,7 +4239,7 @@ BUILDIN_FUNC(goto) BUILDIN_FUNC(callfunc) { struct script_code *scr, *oldscr; - const char *str=conv_str(st,& (st->stack->stack_data[st->start+2])); + const char *str=conv_str(st,script_getdata(st,2)); if( (scr=strdb_get(userfunc_db,(unsigned char*)str)) ){ int i,j; @@ -4247,10 +4247,10 @@ BUILDIN_FUNC(callfunc) for(i=st->start+3,j=0;i<st->end;i++,j++) push_copy(st->stack,i); - push_val(st->stack,C_INT,j); // 引数の数をプッシュ - push_val(st->stack,C_INT,st->stack->defsp); // 現在の基準スタックポインタをプッシュ - push_val(st->stack,C_INT,(int)st->script); // 現在のスクリプトをプッシュ - push_val(st->stack,C_INT,(int)st->stack->var_function); // 現在の関数依存変数をプッシュ + script_pushint(st,j); // 引数の数をプッシュ + script_pushint(st,st->stack->defsp); // 現在の基準スタックポインタをプッシュ + script_pushint(st,(int)st->script); // 現在のスクリプトをプッシュ + script_pushint(st,(int)st->stack->var_function); // 現在の関数依存変数をプッシュ push_val(st->stack,C_RETINFO,st->pos); // 現在のスクリプト位置をプッシュ oldscr = st->script; @@ -4286,7 +4286,7 @@ BUILDIN_FUNC(callfunc) */ BUILDIN_FUNC(callsub) { - int pos=conv_num(st,& (st->stack->stack_data[st->start+2])); + int pos=conv_num(st,script_getdata(st,2)); int i,j; if(st->stack->stack_data[st->start+2].type != C_POS && st->stack->stack_data[st->start+2].type != C_USERFUNC_POS) { ShowError("script: callsub: not label !\n"); @@ -4298,10 +4298,10 @@ BUILDIN_FUNC(callsub) for(i=st->start+3,j=0;i<st->end;i++,j++) push_copy(st->stack,i); - push_val(st->stack,C_INT,j); // 引数の数をプッシュ - push_val(st->stack,C_INT,st->stack->defsp); // 現在の基準スタックポインタをプッシュ - push_val(st->stack,C_INT,(int)st->script); // 現在のスクリプトをプッシュ - push_val(st->stack,C_INT,(int)st->stack->var_function); // 現在の関数依存変数をプッシュ + script_pushint(st,j); // 引数の数をプッシュ + script_pushint(st,st->stack->defsp); // 現在の基準スタックポインタをプッシュ + script_pushint(st,(int)st->script); // 現在のスクリプトをプッシュ + script_pushint(st,(int)st->stack->var_function); // 現在の関数依存変数をプッシュ push_val(st->stack,C_RETINFO,st->pos); // 現在のスクリプト位置をプッシュ st->pos=pos; @@ -4330,7 +4330,7 @@ BUILDIN_FUNC(callsub) */ BUILDIN_FUNC(getarg) { - int num=conv_num(st,& (st->stack->stack_data[st->start+2])); + int num=conv_num(st,script_getdata(st,2)); int max,stsp; if( st->stack->defsp<5 || st->stack->stack_data[st->stack->defsp-1].type!=C_RETINFO ){ ShowWarning("script:getarg without callfunc or callsub!\n"); @@ -4472,7 +4472,7 @@ BUILDIN_FUNC(menu) return 1; } pc_setreg(sd,add_str("@menu"),sd->npc_menu); - st->pos=conv_num(st,& (st->stack->stack_data[st->start+sd->npc_menu*2+1])); + st->pos=conv_num(st,script_getdata(st,sd->npc_menu*2+1)); st->state=GOTO; } } @@ -4523,9 +4523,9 @@ BUILDIN_FUNC(warp) nullpo_retr(0, sd); - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - x=conv_num(st,& (st->stack->stack_data[st->start+3])); - y=conv_num(st,& (st->stack->stack_data[st->start+4])); + str=conv_str(st,script_getdata(st,2)); + x=conv_num(st,script_getdata(st,3)); + y=conv_num(st,script_getdata(st,4)); if(strcmp(str,"Random")==0) pc_randomwarp(sd,3); else if(strcmp(str,"SavePoint")==0){ @@ -4563,14 +4563,14 @@ BUILDIN_FUNC(areawarp) const char *mapname; int x0,y0,x1,y1; - mapname=conv_str(st,& (st->stack->stack_data[st->start+2])); - x0=conv_num(st,& (st->stack->stack_data[st->start+3])); - y0=conv_num(st,& (st->stack->stack_data[st->start+4])); - x1=conv_num(st,& (st->stack->stack_data[st->start+5])); - y1=conv_num(st,& (st->stack->stack_data[st->start+6])); - str=conv_str(st,& (st->stack->stack_data[st->start+7])); - x=conv_num(st,& (st->stack->stack_data[st->start+8])); - y=conv_num(st,& (st->stack->stack_data[st->start+9])); + mapname=conv_str(st,script_getdata(st,2)); + x0=conv_num(st,script_getdata(st,3)); + y0=conv_num(st,script_getdata(st,4)); + x1=conv_num(st,script_getdata(st,5)); + y1=conv_num(st,script_getdata(st,6)); + str=conv_str(st,script_getdata(st,7)); + x=conv_num(st,script_getdata(st,8)); + y=conv_num(st,script_getdata(st,9)); if( (m=map_mapname2mapid(mapname))< 0) return 0; @@ -4599,10 +4599,10 @@ BUILDIN_FUNC(warpchar) struct map_session_data *sd, **pl_allsd; int users; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - x=conv_num(st,& (st->stack->stack_data[st->start+3])); - y=conv_num(st,& (st->stack->stack_data[st->start+4])); - a=conv_num(st,& (st->stack->stack_data[st->start+5])); + str=conv_str(st,script_getdata(st,2)); + x=conv_num(st,script_getdata(st,3)); + y=conv_num(st,script_getdata(st,4)); + a=conv_num(st,script_getdata(st,5)); pl_allsd = map_getallusers(&users); @@ -4639,10 +4639,10 @@ BUILDIN_FUNC(warpparty) unsigned short mapindex; struct map_session_data *pl_sd; struct party_data *p=NULL; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - x=conv_num(st,& (st->stack->stack_data[st->start+3])); - y=conv_num(st,& (st->stack->stack_data[st->start+4])); - p_id=conv_num(st,& (st->stack->stack_data[st->start+5])); + str=conv_str(st,script_getdata(st,2)); + x=conv_num(st,script_getdata(st,3)); + y=conv_num(st,script_getdata(st,4)); + p_id=conv_num(st,script_getdata(st,5)); if(p_id < 1) return 0; p = party_search(p_id); @@ -4723,10 +4723,10 @@ BUILDIN_FUNC(warpguild) struct map_session_data *pl_sd, **pl_allsd; int users; struct map_session_data *sd; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - x=conv_num(st,& (st->stack->stack_data[st->start+3])); - y=conv_num(st,& (st->stack->stack_data[st->start+4])); - g=conv_num(st,& (st->stack->stack_data[st->start+5])); + str=conv_str(st,script_getdata(st,2)); + x=conv_num(st,script_getdata(st,3)); + y=conv_num(st,script_getdata(st,4)); + g=conv_num(st,script_getdata(st,5)); sd=script_rid2sd(st); if(map[sd->bl.m].flag.noreturn || map[sd->bl.m].flag.nowarpto) @@ -4810,8 +4810,8 @@ BUILDIN_FUNC(heal) sd = script_rid2sd(st); if (!sd) return 0; - hp=conv_num(st,& (st->stack->stack_data[st->start+2])); - sp=conv_num(st,& (st->stack->stack_data[st->start+3])); + hp=conv_num(st,script_getdata(st,2)); + sp=conv_num(st,script_getdata(st,3)); status_heal(&sd->bl, hp, sp, 1); return 0; } @@ -4824,8 +4824,8 @@ BUILDIN_FUNC(itemheal) struct map_session_data *sd; int hp,sp; - hp=conv_num(st,& (st->stack->stack_data[st->start+2])); - sp=conv_num(st,& (st->stack->stack_data[st->start+3])); + hp=conv_num(st,script_getdata(st,2)); + sp=conv_num(st,script_getdata(st,3)); if(potion_flag==1) { potion_hp = hp; @@ -4846,8 +4846,8 @@ BUILDIN_FUNC(percentheal) { int hp,sp; - hp=conv_num(st,& (st->stack->stack_data[st->start+2])); - sp=conv_num(st,& (st->stack->stack_data[st->start+3])); + hp=conv_num(st,script_getdata(st,2)); + sp=conv_num(st,script_getdata(st,3)); if(potion_flag==1) { potion_per_hp = hp; @@ -4867,9 +4867,9 @@ BUILDIN_FUNC(jobchange) { int job, upper=-1; - job=conv_num(st,& (st->stack->stack_data[st->start+2])); + job=conv_num(st,script_getdata(st,2)); if( st->end>st->start+3 ) - upper=conv_num(st,& (st->stack->stack_data[st->start+3])); + upper=conv_num(st,script_getdata(st,3)); if ((job >= 0 && job < MAX_PC_CLASS)) { @@ -4887,7 +4887,7 @@ BUILDIN_FUNC(jobchange) */ BUILDIN_FUNC(jobname) { - int class_=conv_num(st,& (st->stack->stack_data[st->start+2])); + int class_=conv_num(st,script_getdata(st,2)); push_str(st->stack,C_CONSTSTR,job_name(class_)); return 0; } @@ -4968,11 +4968,11 @@ BUILDIN_FUNC(set) if( postfix=='$' ){ // 文字列 - const char *str = conv_str(st,& (st->stack->stack_data[st->start+3])); + const char *str = conv_str(st,script_getdata(st,3)); set_reg(st,sd,num,name,(void*)str,st->stack->stack_data[st->start+2].ref); }else{ // 数値 - int val = conv_num(st,& (st->stack->stack_data[st->start+3])); + int val = conv_num(st,script_getdata(st,3)); set_reg(st,sd,num,name,(void*)val,st->stack->stack_data[st->start+2].ref); } @@ -5020,7 +5020,7 @@ BUILDIN_FUNC(cleararray) char *name=str_buf+str_data[num&0x00ffffff].str; char prefix=*name; char postfix=name[strlen(name)-1]; - int sz=conv_num(st,& (st->stack->stack_data[st->start+4])); + int sz=conv_num(st,script_getdata(st,4)); int i; void *v; @@ -5032,9 +5032,9 @@ BUILDIN_FUNC(cleararray) sd=script_rid2sd(st); if( postfix=='$' ) - v=(void*)conv_str(st,& (st->stack->stack_data[st->start+3])); + v=(void*)conv_str(st,script_getdata(st,3)); else - v=(void*)conv_num(st,& (st->stack->stack_data[st->start+3])); + v=(void*)conv_num(st,script_getdata(st,3)); for(i=0;i<sz;i++) set_reg(st,sd,num+(i<<24),name,v,st->stack->stack_data[st->start+2].ref); @@ -5055,7 +5055,7 @@ BUILDIN_FUNC(copyarray) char *name2=str_buf+str_data[num2&0x00ffffff].str; char prefix2=*name2; char postfix2=name2[strlen(name2)-1]; - int sz=conv_num(st,& (st->stack->stack_data[st->start+4])); + int sz=conv_num(st,script_getdata(st,4)); int i; if( prefix!='$' && prefix!='@' && prefix!='.' ){ @@ -5122,11 +5122,11 @@ BUILDIN_FUNC(getarraysize) if( prefix != '$' && prefix != '@' && prefix != '.' ) { ShowWarning("buildin_getarraysize: illegal scope !\n"); - push_val(st->stack, C_INT, 0); + script_pushint(st,0); return 1; } - push_val(st->stack, C_INT, getarraysize(st, num, postfix, st->stack->stack_data[st->start+2].ref)); + script_pushint(st,getarraysize(st, num, postfix, st->stack->stack_data[st->start+2].ref)); return 0; } /*========================================== @@ -5145,7 +5145,7 @@ BUILDIN_FUNC(deletearray) if( (st->end > st->start+3) ) - count=conv_num(st,& (st->stack->stack_data[st->start+3])); + count=conv_num(st,script_getdata(st,3)); if( prefix!='$' && prefix!='@' && prefix!='.' ){ ShowWarning("buildin_deletearray: illegal scope !\n"); @@ -5179,10 +5179,10 @@ BUILDIN_FUNC(deletearray) BUILDIN_FUNC(getelementofarray) { if( st->stack->stack_data[st->start+2].type==C_NAME ){ - int i=conv_num(st,& (st->stack->stack_data[st->start+3])); + int i=conv_num(st,script_getdata(st,3)); if(i>127 || i<0){ ShowWarning("script: getelementofarray (operator[]): param2 illegal number %d\n",i); - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 1; }else{ push_val2(st->stack,C_NAME, @@ -5190,7 +5190,7 @@ BUILDIN_FUNC(getelementofarray) } }else{ ShowError("script: getelementofarray (operator[]): param1 not name !\n"); - push_val(st->stack,C_INT,0); + script_pushint(st,0); } return 0; } @@ -5203,8 +5203,8 @@ BUILDIN_FUNC(setlook) { int type,val; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); - val=conv_num(st,& (st->stack->stack_data[st->start+3])); + type=conv_num(st,script_getdata(st,2)); + val=conv_num(st,script_getdata(st,3)); pc_changelook(script_rid2sd(st),type,val); @@ -5219,8 +5219,8 @@ BUILDIN_FUNC(cutin) { int type; - conv_str(st,& (st->stack->stack_data[st->start+2])); - type=conv_num(st,& (st->stack->stack_data[st->start+3])); + conv_str(st,script_getdata(st,2)); + type=conv_num(st,script_getdata(st,3)); clif_cutin(script_rid2sd(st),st->stack->stack_data[st->start+2].u.str,type); @@ -5235,11 +5235,11 @@ BUILDIN_FUNC(viewpoint) { int type,x,y,id,color; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); - x=conv_num(st,& (st->stack->stack_data[st->start+3])); - y=conv_num(st,& (st->stack->stack_data[st->start+4])); - id=conv_num(st,& (st->stack->stack_data[st->start+5])); - color=conv_num(st,& (st->stack->stack_data[st->start+6])); + type=conv_num(st,script_getdata(st,2)); + x=conv_num(st,script_getdata(st,3)); + y=conv_num(st,script_getdata(st,4)); + id=conv_num(st,script_getdata(st,5)); + color=conv_num(st,script_getdata(st,6)); clif_viewpoint(script_rid2sd(st),st->oid,type,x,y,id,color); @@ -5260,11 +5260,11 @@ BUILDIN_FUNC(countitem) sd = script_rid2sd(st); if (!sd) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); @@ -5282,10 +5282,10 @@ BUILDIN_FUNC(countitem) else{ if(battle_config.error_log) ShowError("wrong item ID : countitem(%i)\n",nameid); - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 1; } - push_val(st->stack,C_INT,count); + script_pushint(st,count); return 0; } @@ -5305,11 +5305,11 @@ BUILDIN_FUNC(countitem2) sd = script_rid2sd(st); if (!sd) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); @@ -5319,13 +5319,13 @@ BUILDIN_FUNC(countitem2) }else nameid=conv_num(st,data); - iden=conv_num(st,& (st->stack->stack_data[st->start+3])); - ref=conv_num(st,& (st->stack->stack_data[st->start+4])); - attr=conv_num(st,& (st->stack->stack_data[st->start+5])); - c1=conv_num(st,& (st->stack->stack_data[st->start+6])); - c2=conv_num(st,& (st->stack->stack_data[st->start+7])); - c3=conv_num(st,& (st->stack->stack_data[st->start+8])); - c4=conv_num(st,& (st->stack->stack_data[st->start+9])); + iden=conv_num(st,script_getdata(st,3)); + ref=conv_num(st,script_getdata(st,4)); + attr=conv_num(st,script_getdata(st,5)); + c1=conv_num(st,script_getdata(st,6)); + c2=conv_num(st,script_getdata(st,7)); + c3=conv_num(st,script_getdata(st,8)); + c4=conv_num(st,script_getdata(st,9)); if (nameid>=500) //if no such ID then skip this iteration for(i=0;i<MAX_INVENTORY;i++){ @@ -5342,10 +5342,10 @@ BUILDIN_FUNC(countitem2) else{ if(battle_config.error_log) ShowError("wrong item ID : countitem2(%i)\n",nameid); - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 1; } - push_val(st->stack,C_INT,count); + script_pushint(st,count); return 0; } @@ -5363,7 +5363,7 @@ BUILDIN_FUNC(checkweight) sd = script_rid2sd(st); - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); @@ -5373,25 +5373,25 @@ BUILDIN_FUNC(checkweight) }else nameid=conv_num(st,data); - amount=conv_num(st,& (st->stack->stack_data[st->start+3])); + amount=conv_num(st,script_getdata(st,3)); if ( amount<=0 || nameid<500 ) { //if get wrong item ID or amount<=0, don't count weight of non existing items - push_val(st->stack,C_INT,0); + script_pushint(st,0); ShowError("buildin_checkweight: Wrong item ID or amount.\n"); return 1; } weight = itemdb_weight(nameid)*amount; if(amount > MAX_AMOUNT || weight + sd->weight > sd->max_weight){ - push_val(st->stack,C_INT,0); + script_pushint(st,0); } else { //Check if the inventory ain't full. //TODO: Currently does not checks if you can just stack it on top of another item you already have.... i = pc_search_inventory(sd,0); if (i >= 0) //Empty slot available. - push_val(st->stack,C_INT,1); + script_pushint(st,1); else //Inventory full - push_val(st->stack,C_INT,0); + script_pushint(st,0); } @@ -5490,7 +5490,7 @@ BUILDIN_FUNC(getitem2) sd = script_rid2sd(st); - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); @@ -5501,16 +5501,16 @@ BUILDIN_FUNC(getitem2) }else nameid=conv_num(st,data); - amount=conv_num(st,& (st->stack->stack_data[st->start+3])); - iden=conv_num(st,& (st->stack->stack_data[st->start+4])); - ref=conv_num(st,& (st->stack->stack_data[st->start+5])); - attr=conv_num(st,& (st->stack->stack_data[st->start+6])); - c1=conv_num(st,& (st->stack->stack_data[st->start+7])); - c2=conv_num(st,& (st->stack->stack_data[st->start+8])); - c3=conv_num(st,& (st->stack->stack_data[st->start+9])); - c4=conv_num(st,& (st->stack->stack_data[st->start+10])); + amount=conv_num(st,script_getdata(st,3)); + iden=conv_num(st,script_getdata(st,4)); + ref=conv_num(st,script_getdata(st,5)); + attr=conv_num(st,script_getdata(st,6)); + c1=conv_num(st,script_getdata(st,7)); + c2=conv_num(st,script_getdata(st,8)); + c3=conv_num(st,script_getdata(st,9)); + c4=conv_num(st,script_getdata(st,10)); if( st->end>st->start+11 ) //アイテムを指定したIDに渡す - sd=map_id2sd(conv_num(st,& (st->stack->stack_data[st->start+11]))); + sd=map_id2sd(conv_num(st,script_getdata(st,11))); if(sd == NULL) //アイテムを渡す相手がいなかったらお帰り return 0; @@ -5577,18 +5577,18 @@ BUILDIN_FUNC(getnameditem) sd = script_rid2sd(st); if (sd == NULL) { //Player not attached! - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); struct item_data *item_data = itemdb_searchname(name); if( item_data == NULL) { //Failed - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } nameid = item_data->nameid; @@ -5597,11 +5597,11 @@ BUILDIN_FUNC(getnameditem) if(!itemdb_exists(nameid)/* || itemdb_isstackable(nameid)*/) { //Even though named stackable items "could" be risky, they are required for certain quests. - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - data=&(st->stack->stack_data[st->start+3]); + data=script_getdata(st,3); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ) //Char Name tsd=map_nick2sd(conv_str(st,data)); @@ -5610,7 +5610,7 @@ BUILDIN_FUNC(getnameditem) if( tsd == NULL ) { //Failed - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -5622,7 +5622,7 @@ BUILDIN_FUNC(getnameditem) item_tmp.card[2]=tsd->status.char_id; item_tmp.card[3]=tsd->status.char_id >> 16; if(pc_additem(sd,&item_tmp,1)) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; //Failed to add item, we will not drop if they don't fit } @@ -5630,7 +5630,7 @@ BUILDIN_FUNC(getnameditem) if(log_config.enable_logs&0x40) log_pick_pc(sd, "N", item_tmp.nameid, item_tmp.amount, &item_tmp); - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } @@ -5643,8 +5643,8 @@ BUILDIN_FUNC(grouprandomitem) { int group; - group = conv_num(st,& (st->stack->stack_data[st->start+2])); - push_val(st->stack, C_INT, itemdb_searchrandomid(group)); + group = conv_num(st,script_getdata(st,2)); + script_pushint(st,itemdb_searchrandomid(group)); return 0; } @@ -5660,7 +5660,7 @@ BUILDIN_FUNC(makeitem) struct item item_tmp; struct script_data *data; - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); @@ -5671,10 +5671,10 @@ BUILDIN_FUNC(makeitem) }else nameid=conv_num(st,data); - amount=conv_num(st,& (st->stack->stack_data[st->start+3])); - mapname =conv_str(st,& (st->stack->stack_data[st->start+4])); - x =conv_num(st,& (st->stack->stack_data[st->start+5])); - y =conv_num(st,& (st->stack->stack_data[st->start+6])); + amount=conv_num(st,script_getdata(st,3)); + mapname =conv_str(st,script_getdata(st,4)); + x =conv_num(st,script_getdata(st,5)); + y =conv_num(st,script_getdata(st,6)); if(strcmp(mapname,"this")==0) { @@ -5715,7 +5715,7 @@ BUILDIN_FUNC(delitem) sd = script_rid2sd(st); - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); @@ -5726,7 +5726,7 @@ BUILDIN_FUNC(delitem) }else nameid=conv_num(st,data); - amount=conv_num(st,& (st->stack->stack_data[st->start+3])); + amount=conv_num(st,script_getdata(st,3)); if (nameid<500 || amount<=0 ) {//by Lupus. Don't run FOR if u got wrong item ID or amount<=0 //eprintf("wrong item ID or amount<=0 : delitem %i,\n",nameid,amount); @@ -5820,7 +5820,7 @@ BUILDIN_FUNC(delitem2) sd = script_rid2sd(st); - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); @@ -5831,14 +5831,14 @@ BUILDIN_FUNC(delitem2) }else nameid=conv_num(st,data); - amount=conv_num(st,& (st->stack->stack_data[st->start+3])); - iden=conv_num(st,& (st->stack->stack_data[st->start+4])); - ref=conv_num(st,& (st->stack->stack_data[st->start+5])); - attr=conv_num(st,& (st->stack->stack_data[st->start+6])); - c1=conv_num(st,& (st->stack->stack_data[st->start+7])); - c2=conv_num(st,& (st->stack->stack_data[st->start+8])); - c3=conv_num(st,& (st->stack->stack_data[st->start+9])); - c4=conv_num(st,& (st->stack->stack_data[st->start+10])); + amount=conv_num(st,script_getdata(st,3)); + iden=conv_num(st,script_getdata(st,4)); + ref=conv_num(st,script_getdata(st,5)); + attr=conv_num(st,script_getdata(st,6)); + c1=conv_num(st,script_getdata(st,7)); + c2=conv_num(st,script_getdata(st,8)); + c3=conv_num(st,script_getdata(st,9)); + c4=conv_num(st,script_getdata(st,10)); if (!itemdb_exists(nameid) || amount<=0 ) {//by Lupus. Don't run FOR if u got wrong item ID or amount<=0 //eprintf("wrong item ID or amount<=0 : delitem %i,\n",nameid,amount); @@ -5913,18 +5913,18 @@ BUILDIN_FUNC(readparam) int type; struct map_session_data *sd; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); if( st->end>st->start+3 ) - sd=map_nick2sd(conv_str(st,& (st->stack->stack_data[st->start+3]))); + sd=map_nick2sd(conv_str(st,script_getdata(st,3))); else sd=script_rid2sd(st); if(sd==NULL){ - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } - push_val(st->stack,C_INT,pc_readparam(sd,type)); + script_pushint(st,pc_readparam(sd,type)); return 0; } @@ -5937,23 +5937,23 @@ BUILDIN_FUNC(getcharid) int num; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); if( st->end>st->start+3 ) - sd=map_nick2sd(conv_str(st,& (st->stack->stack_data[st->start+3]))); + sd=map_nick2sd(conv_str(st,script_getdata(st,3))); else sd=script_rid2sd(st); if(sd==NULL || num<0 || num>3){ - push_val(st->stack,C_INT,0); //return 0, according docs + script_pushint(st,0); //return 0, according docs return 0; } if(num==0) - push_val(st->stack,C_INT,sd->status.char_id); + script_pushint(st,sd->status.char_id); if(num==1) - push_val(st->stack,C_INT,sd->status.party_id); + script_pushint(st,sd->status.party_id); if(num==2) - push_val(st->stack,C_INT,sd->status.guild_id); + script_pushint(st,sd->status.guild_id); if(num==3) - push_val(st->stack,C_INT,sd->status.account_id); + script_pushint(st,sd->status.account_id); return 0; } /*========================================== @@ -5981,7 +5981,7 @@ BUILDIN_FUNC(getpartyname) char *name; int party_id; - party_id=conv_num(st,& (st->stack->stack_data[st->start+2])); + party_id=conv_num(st,script_getdata(st,2)); name=buildin_getpartyname_sub(party_id); if(name != NULL) push_str(st->stack,C_STR,name); @@ -5999,10 +5999,10 @@ BUILDIN_FUNC(getpartymember) struct party_data *p; int i,j=0,type=0; - p=party_search(conv_num(st,& (st->stack->stack_data[st->start+2]))); + p=party_search(conv_num(st,script_getdata(st,2))); if( st->end>st->start+3 ) - type=conv_num(st,& (st->stack->stack_data[st->start+3])); + type=conv_num(st,script_getdata(st,3)); if(p!=NULL){ for(i=0;i<MAX_PARTY;i++){ @@ -6036,9 +6036,9 @@ BUILDIN_FUNC(getpartyleader) int party_id, type = 0, i=0; struct party_data *p; - party_id=conv_num(st,& (st->stack->stack_data[st->start+2])); + party_id=conv_num(st,script_getdata(st,2)); if( st->end>st->start+3 ) - type=conv_num(st,& (st->stack->stack_data[st->start+3])); + type=conv_num(st,script_getdata(st,3)); p=party_search(party_id); @@ -6047,7 +6047,7 @@ BUILDIN_FUNC(getpartyleader) if (!p || i == MAX_PARTY) { //leader not found if (type) - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); else push_str(st->stack,C_CONSTSTR,"null"); return 0; @@ -6055,19 +6055,19 @@ BUILDIN_FUNC(getpartyleader) switch (type) { case 1: - push_val(st->stack,C_INT,p->party.member[i].account_id); + script_pushint(st,p->party.member[i].account_id); break; case 2: - push_val(st->stack,C_INT,p->party.member[i].char_id); + script_pushint(st,p->party.member[i].char_id); break; case 3: - push_val(st->stack,C_INT,p->party.member[i].class_); + script_pushint(st,p->party.member[i].class_); break; case 4: push_str(st->stack,C_STR,aStrdup(mapindex_id2name(p->party.member[i].map))); break; case 5: - push_val(st->stack,C_INT,p->party.member[i].lv); + script_pushint(st,p->party.member[i].lv); break; default: push_str(st->stack,C_STR,aStrdup(p->party.member[i].name)); @@ -6097,7 +6097,7 @@ char *buildin_getguildname_sub(int guild_id) BUILDIN_FUNC(getguildname) { char *name; - int guild_id=conv_num(st,& (st->stack->stack_data[st->start+2])); + int guild_id=conv_num(st,script_getdata(st,2)); name=buildin_getguildname_sub(guild_id); if(name != NULL) push_str(st->stack,C_STR,name); @@ -6128,7 +6128,7 @@ char *buildin_getguildmaster_sub(int guild_id) BUILDIN_FUNC(getguildmaster) { char *master; - int guild_id=conv_num(st,& (st->stack->stack_data[st->start+2])); + int guild_id=conv_num(st,script_getdata(st,2)); master=buildin_getguildmaster_sub(guild_id); if(master!=0) push_str(st->stack,C_STR,master); @@ -6141,16 +6141,16 @@ BUILDIN_FUNC(getguildmasterid) { char *master; struct map_session_data *sd=NULL; - int guild_id=conv_num(st,& (st->stack->stack_data[st->start+2])); + int guild_id=conv_num(st,script_getdata(st,2)); master=buildin_getguildmaster_sub(guild_id); if(master!=0){ if((sd=map_nick2sd(master)) == NULL){ - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - push_val(st->stack,C_INT,sd->status.char_id); + script_pushint(st,sd->status.char_id); }else{ - push_val(st->stack,C_INT,0); + script_pushint(st,0); } return 0; } @@ -6170,7 +6170,7 @@ BUILDIN_FUNC(strcharinfo) push_str(st->stack,C_CONSTSTR,""); return 0; } - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); switch(num){ case 0: push_str(st->stack,C_STR,aStrdup(sd->status.name)); @@ -6216,16 +6216,16 @@ BUILDIN_FUNC(getequipid) ShowError("getequipid: sd == NULL\n"); return 0; } - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); i=pc_checkequip(sd,equip[num-1]); if(i >= 0){ item=sd->inventory_data[i]; if(item) - push_val(st->stack,C_INT,item->nameid); + script_pushint(st,item->nameid); else - push_val(st->stack,C_INT,0); + script_pushint(st,0); }else{ - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); } return 0; } @@ -6243,7 +6243,7 @@ BUILDIN_FUNC(getequipname) buf=(char *)aMallocA(64*sizeof(char)); sd=script_rid2sd(st); - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); i=pc_checkequip(sd,equip[num-1]); if(i >= 0){ item=sd->inventory_data[i]; @@ -6270,7 +6270,7 @@ BUILDIN_FUNC(getbrokenid) sd=script_rid2sd(st); - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); for(i=0; i<MAX_INVENTORY; i++) { if(sd->status.inventory[i].attribute==1){ brokencounter++; @@ -6281,7 +6281,7 @@ BUILDIN_FUNC(getbrokenid) } } - push_val(st->stack,C_INT,id); + script_pushint(st,id); return 0; } @@ -6299,7 +6299,7 @@ BUILDIN_FUNC(repair) sd=script_rid2sd(st); - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); for(i=0; i<MAX_INVENTORY; i++) { if(sd->status.inventory[i].attribute==1){ repaircounter++; @@ -6325,7 +6325,7 @@ BUILDIN_FUNC(getequipisequiped) int i,num; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); if ((num - 1) >= (sizeof(equip) / sizeof(equip[0]))) @@ -6334,9 +6334,9 @@ BUILDIN_FUNC(getequipisequiped) i=pc_checkequip(sd,equip[num-1]); if(i >= 0) - push_val(st->stack,C_INT,1); + script_pushint(st,1); else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -6350,14 +6350,14 @@ BUILDIN_FUNC(getequipisenableref) int i,num; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(i >= 0 && sd->inventory_data[i] && !sd->inventory_data[i]->flag.no_refine) { - push_val(st->stack,C_INT,1); + script_pushint(st,1); } else { - push_val(st->stack,C_INT,0); + script_pushint(st,0); } return 0; @@ -6372,13 +6372,13 @@ BUILDIN_FUNC(getequipisidentify) int i,num; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(i >= 0) - push_val(st->stack,C_INT,sd->status.inventory[i].identify); + script_pushint(st,sd->status.inventory[i].identify); else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -6392,13 +6392,13 @@ BUILDIN_FUNC(getequiprefinerycnt) int i,num; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(i >= 0) - push_val(st->stack,C_INT,sd->status.inventory[i].refine); + script_pushint(st,sd->status.inventory[i].refine); else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -6412,13 +6412,13 @@ BUILDIN_FUNC(getequipweaponlv) int i,num; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(i >= 0 && sd->inventory_data[i]) - push_val(st->stack,C_INT,sd->inventory_data[i]->wlv); + script_pushint(st,sd->inventory_data[i]->wlv); else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -6432,13 +6432,13 @@ BUILDIN_FUNC(getequippercentrefinery) int i,num; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(i >= 0 && sd->status.inventory[i].nameid && sd->status.inventory[i].refine < MAX_REFINE) - push_val(st->stack,C_INT,percentrefinery[itemdb_wlv(sd->status.inventory[i].nameid)][(int)sd->status.inventory[i].refine]); + script_pushint(st,percentrefinery[itemdb_wlv(sd->status.inventory[i].nameid)][(int)sd->status.inventory[i].refine]); else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -6452,7 +6452,7 @@ BUILDIN_FUNC(successrefitem) int i,num,ep; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(i >= 0) { @@ -6505,7 +6505,7 @@ BUILDIN_FUNC(failedrefitem) int i,num; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(i >= 0) { @@ -6535,7 +6535,7 @@ BUILDIN_FUNC(statusup) int type; struct map_session_data *sd; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); pc_statusup(sd,type); @@ -6550,8 +6550,8 @@ BUILDIN_FUNC(statusup2) int type,val; struct map_session_data *sd; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); - val=conv_num(st,& (st->stack->stack_data[st->start+3])); + type=conv_num(st,script_getdata(st,2)); + val=conv_num(st,script_getdata(st,3)); sd=script_rid2sd(st); pc_statusup2(sd,type,val); @@ -6977,24 +6977,24 @@ BUILDIN_FUNC(gettimetick) /* Asgard Version */ time_t timer; struct tm *t; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); switch(type){ case 2: //type 2:(Get the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC // from the system clock.) - push_val(st->stack,C_INT,(int)time(NULL)); + script_pushint(st,(int)time(NULL)); break; case 1: //type 1:(Second Ticks: 0-86399, 00:00:00-23:59:59) time(&timer); t=localtime(&timer); - push_val(st->stack,C_INT,((t->tm_hour)*3600+(t->tm_min)*60+t->tm_sec)); + script_pushint(st,((t->tm_hour)*3600+(t->tm_min)*60+t->tm_sec)); break; case 0: default: //type 0:(System Ticks) - push_val(st->stack,C_INT,gettick()); + script_pushint(st,gettick()); break; } return 0; @@ -7013,38 +7013,38 @@ BUILDIN_FUNC(gettime) /* Asgard Version */ time_t timer; struct tm *t; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); time(&timer); t=localtime(&timer); switch(type){ case 1://Sec(0~59) - push_val(st->stack,C_INT,t->tm_sec); + script_pushint(st,t->tm_sec); break; case 2://Min(0~59) - push_val(st->stack,C_INT,t->tm_min); + script_pushint(st,t->tm_min); break; case 3://Hour(0~23) - push_val(st->stack,C_INT,t->tm_hour); + script_pushint(st,t->tm_hour); break; case 4://WeekDay(0~6) - push_val(st->stack,C_INT,t->tm_wday); + script_pushint(st,t->tm_wday); break; case 5://MonthDay(01~31) - push_val(st->stack,C_INT,t->tm_mday); + script_pushint(st,t->tm_mday); break; case 6://Month(01~12) - push_val(st->stack,C_INT,t->tm_mon+1); + script_pushint(st,t->tm_mon+1); break; case 7://Year(20xx) - push_val(st->stack,C_INT,t->tm_year+1900); + script_pushint(st,t->tm_year+1900); break; case 8://Year Day(01~366) - push_val(st->stack,C_INT,t->tm_yday+1); + script_pushint(st,t->tm_yday+1); break; default://(format error) - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); break; } return 0; @@ -7061,8 +7061,8 @@ BUILDIN_FUNC(gettimestr) int maxlen; time_t now = time(NULL); - fmtstr=conv_str(st,& (st->stack->stack_data[st->start+2])); - maxlen=conv_num(st,& (st->stack->stack_data[st->start+3])); + fmtstr=conv_str(st,script_getdata(st,2)); + maxlen=conv_num(st,script_getdata(st,3)); tmpstr=(char *)aMallocA((maxlen+1)*sizeof(char)); strftime(tmpstr,maxlen,fmtstr,localtime(&now)); @@ -7087,7 +7087,7 @@ BUILDIN_FUNC(guildopenstorage) struct map_session_data *sd=script_rid2sd(st); int ret; ret = storage_guild_storageopen(sd); - push_val(st->stack,C_INT,ret); + script_pushint(st,ret); return 0; } @@ -7101,9 +7101,9 @@ BUILDIN_FUNC(itemskill) const char *str; struct map_session_data *sd=script_rid2sd(st); - id=conv_num(st,& (st->stack->stack_data[st->start+2])); - lv=conv_num(st,& (st->stack->stack_data[st->start+3])); - str=conv_str(st,& (st->stack->stack_data[st->start+4])); + id=conv_num(st,script_getdata(st,2)); + lv=conv_num(st,script_getdata(st,3)); + str=conv_str(st,script_getdata(st,4)); // 詠唱中にスキルアイテムは使用できない if(sd->ud.skilltimer != -1) @@ -7123,7 +7123,7 @@ BUILDIN_FUNC(produce) int trigger; struct map_session_data *sd=script_rid2sd(st); - trigger=conv_num(st,& (st->stack->stack_data[st->start+2])); + trigger=conv_num(st,script_getdata(st,2)); clif_skill_produce_mix_list(sd, trigger); return 0; } @@ -7137,7 +7137,7 @@ BUILDIN_FUNC(makepet) struct script_data *data; int id,pet_id; - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); id=conv_num(st,data); @@ -7166,8 +7166,8 @@ BUILDIN_FUNC(getexp) struct map_session_data *sd = script_rid2sd(st); int base=0,job=0; - base=conv_num(st,& (st->stack->stack_data[st->start+2])); - job =conv_num(st,& (st->stack->stack_data[st->start+3])); + base=conv_num(st,script_getdata(st,2)); + job =conv_num(st,script_getdata(st,3)); if(base<0 || job<0) return 0; if(sd) @@ -7185,7 +7185,7 @@ BUILDIN_FUNC(guildgetexp) struct map_session_data *sd = script_rid2sd(st); int exp; - exp = conv_num(st,& (st->stack->stack_data[st->start+2])); + exp = conv_num(st,script_getdata(st,2)); if(exp < 0) return 0; if(sd && sd->status.guild_id > 0) @@ -7204,14 +7204,14 @@ BUILDIN_FUNC(guildchangegm) int guild_id; const char *name; - guild_id = conv_num(st,& (st->stack->stack_data[st->start+2])); - name = conv_str(st,& (st->stack->stack_data[st->start+3])); + guild_id = conv_num(st,script_getdata(st,2)); + name = conv_str(st,script_getdata(st,3)); sd=map_nick2sd(name); if (!sd) - push_val(st->stack,C_INT,0); + script_pushint(st,0); else - push_val(st->stack,C_INT,guild_gm_change(guild_id, sd)); + script_pushint(st,guild_gm_change(guild_id, sd)); return 0; } @@ -7225,14 +7225,14 @@ BUILDIN_FUNC(monster) int class_,amount,x,y; const char *str,*map,*event=""; - map =conv_str(st,& (st->stack->stack_data[st->start+2])); - x =conv_num(st,& (st->stack->stack_data[st->start+3])); - y =conv_num(st,& (st->stack->stack_data[st->start+4])); - str =conv_str(st,& (st->stack->stack_data[st->start+5])); - class_=conv_num(st,& (st->stack->stack_data[st->start+6])); - amount=conv_num(st,& (st->stack->stack_data[st->start+7])); + map =conv_str(st,script_getdata(st,2)); + x =conv_num(st,script_getdata(st,3)); + y =conv_num(st,script_getdata(st,4)); + str =conv_str(st,script_getdata(st,5)); + class_=conv_num(st,script_getdata(st,6)); + amount=conv_num(st,script_getdata(st,7)); if( st->end>st->start+8 ){ - event=conv_str(st,& (st->stack->stack_data[st->start+8])); + event=conv_str(st,script_getdata(st,8)); check_event(st, event); } @@ -7252,16 +7252,16 @@ BUILDIN_FUNC(areamonster) int class_,amount,x0,y0,x1,y1; const char *str,*map,*event=""; - map =conv_str(st,& (st->stack->stack_data[st->start+2])); - x0 =conv_num(st,& (st->stack->stack_data[st->start+3])); - y0 =conv_num(st,& (st->stack->stack_data[st->start+4])); - x1 =conv_num(st,& (st->stack->stack_data[st->start+5])); - y1 =conv_num(st,& (st->stack->stack_data[st->start+6])); - str =conv_str(st,& (st->stack->stack_data[st->start+7])); - class_=conv_num(st,& (st->stack->stack_data[st->start+8])); - amount=conv_num(st,& (st->stack->stack_data[st->start+9])); + map =conv_str(st,script_getdata(st,2)); + x0 =conv_num(st,script_getdata(st,3)); + y0 =conv_num(st,script_getdata(st,4)); + x1 =conv_num(st,script_getdata(st,5)); + y1 =conv_num(st,script_getdata(st,6)); + str =conv_str(st,script_getdata(st,7)); + class_=conv_num(st,script_getdata(st,8)); + amount=conv_num(st,script_getdata(st,9)); if( st->end>st->start+10 ){ - event=conv_str(st,& (st->stack->stack_data[st->start+10])); + event=conv_str(st,script_getdata(st,10)); check_event(st, event); } @@ -7291,8 +7291,8 @@ BUILDIN_FUNC(killmonster) { const char *mapname,*event; int m,allflag=0; - mapname=conv_str(st,& (st->stack->stack_data[st->start+2])); - event=conv_str(st,& (st->stack->stack_data[st->start+3])); + mapname=conv_str(st,script_getdata(st,2)); + event=conv_str(st,script_getdata(st,3)); if(strcmp(event,"All")==0) allflag = 1; else @@ -7313,7 +7313,7 @@ BUILDIN_FUNC(killmonsterall) { const char *mapname; int m; - mapname=conv_str(st,& (st->stack->stack_data[st->start+2])); + mapname=conv_str(st,script_getdata(st,2)); if( (m=map_mapname2mapid(mapname))<0 ) return 0; @@ -7334,23 +7334,23 @@ BUILDIN_FUNC(clone) unsigned int duration = 0; const char *map,*event=""; - map=conv_str(st,& (st->stack->stack_data[st->start+2])); - x=conv_num(st,& (st->stack->stack_data[st->start+3])); - y=conv_num(st,& (st->stack->stack_data[st->start+4])); - event=conv_str(st,& (st->stack->stack_data[st->start+5])); - char_id=conv_num(st,& (st->stack->stack_data[st->start+6])); + map=conv_str(st,script_getdata(st,2)); + x=conv_num(st,script_getdata(st,3)); + y=conv_num(st,script_getdata(st,4)); + event=conv_str(st,script_getdata(st,5)); + char_id=conv_num(st,script_getdata(st,6)); if( st->end>st->start+7 ) - master_id=conv_num(st,& (st->stack->stack_data[st->start+7])); + master_id=conv_num(st,script_getdata(st,7)); if( st->end>st->start+8 ) - mode=conv_num(st,& (st->stack->stack_data[st->start+8])); + mode=conv_num(st,script_getdata(st,8)); if( st->end>st->start+9 ) - flag=conv_num(st,& (st->stack->stack_data[st->start+9])); + flag=conv_num(st,script_getdata(st,9)); if( st->end>st->start+10 ) - duration=conv_num(st,& (st->stack->stack_data[st->start+10])); + duration=conv_num(st,script_getdata(st,10)); check_event(st, event); @@ -7367,9 +7367,9 @@ BUILDIN_FUNC(clone) master_id = 0; } if (sd) //Return ID of newly crafted clone. - push_val(st->stack,C_INT,mob_clone_spawn(sd, m, x, y, event, master_id, mode, flag, 1000*duration)); + script_pushint(st,mob_clone_spawn(sd, m, x, y, event, master_id, mode, flag, 1000*duration)); else //Failed to create clone. - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -7380,7 +7380,7 @@ BUILDIN_FUNC(clone) BUILDIN_FUNC(doevent) { const char *event; - event=conv_str(st,& (st->stack->stack_data[st->start+2])); + event=conv_str(st,script_getdata(st,2)); check_event(st, event); npc_event(map_id2sd(st->rid),event,0); return 0; @@ -7392,7 +7392,7 @@ BUILDIN_FUNC(doevent) BUILDIN_FUNC(donpcevent) { const char *event; - event=conv_str(st,& (st->stack->stack_data[st->start+2])); + event=conv_str(st,script_getdata(st,2)); check_event(st, event); npc_event_do(event); return 0; @@ -7571,7 +7571,7 @@ BUILDIN_FUNC(getnpctimer) if (!nd || nd->bl.type != BL_NPC) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); if (battle_config.error_log) ShowError("getnpctimer: Invalid NPC\n"); return 1; @@ -7593,7 +7593,7 @@ BUILDIN_FUNC(getnpctimer) break; case 2: val= nd->u.scr.timeramount; break; } - push_val(st->stack,C_INT,val); + script_pushint(st,val); return 0; } /*========================================== @@ -7661,9 +7661,9 @@ BUILDIN_FUNC(detachnpctimer) BUILDIN_FUNC(playerattached) { if(st->rid == 0 || map_id2sd(st->rid) == NULL) - push_val(st->stack,C_INT,0); + script_pushint(st,0); else - push_val(st->stack,C_INT,st->rid); + script_pushint(st,st->rid); return 0; } @@ -7675,10 +7675,10 @@ BUILDIN_FUNC(announce) { const char *str, *color=NULL; int flag; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - flag=conv_num(st,& (st->stack->stack_data[st->start+3])); + str=conv_str(st,script_getdata(st,2)); + flag=conv_num(st,script_getdata(st,3)); if (st->end>st->start+4) - color=conv_str(st,& (st->stack->stack_data[st->start+4])); + color=conv_str(st,script_getdata(st,4)); if(flag&0x0f){ struct block_list *bl=(flag&0x08)? map_id2bl(st->oid) : @@ -7718,11 +7718,11 @@ BUILDIN_FUNC(mapannounce) const char *mapname,*str, *color=NULL; int flag,m; - mapname=conv_str(st,& (st->stack->stack_data[st->start+2])); - str=conv_str(st,& (st->stack->stack_data[st->start+3])); - flag=conv_num(st,& (st->stack->stack_data[st->start+4])); + mapname=conv_str(st,script_getdata(st,2)); + str=conv_str(st,script_getdata(st,3)); + flag=conv_num(st,script_getdata(st,4)); if (st->end>st->start+5) - color=conv_str(st,& (st->stack->stack_data[st->start+5])); + color=conv_str(st,script_getdata(st,5)); if( (m=map_mapname2mapid(mapname))<0 ) return 0; @@ -7741,15 +7741,15 @@ BUILDIN_FUNC(areaannounce) int flag,m; int x0,y0,x1,y1; - map=conv_str(st,& (st->stack->stack_data[st->start+2])); - x0=conv_num(st,& (st->stack->stack_data[st->start+3])); - y0=conv_num(st,& (st->stack->stack_data[st->start+4])); - x1=conv_num(st,& (st->stack->stack_data[st->start+5])); - y1=conv_num(st,& (st->stack->stack_data[st->start+6])); - str=conv_str(st,& (st->stack->stack_data[st->start+7])); - flag=conv_num(st,& (st->stack->stack_data[st->start+8])); + map=conv_str(st,script_getdata(st,2)); + x0=conv_num(st,script_getdata(st,3)); + y0=conv_num(st,script_getdata(st,4)); + x1=conv_num(st,script_getdata(st,5)); + y1=conv_num(st,script_getdata(st,6)); + str=conv_str(st,script_getdata(st,7)); + flag=conv_num(st,script_getdata(st,8)); if (st->end>st->start+9) - color=conv_str(st,& (st->stack->stack_data[st->start+9])); + color=conv_str(st,script_getdata(st,9)); if( (m=map_mapname2mapid(map))<0 ) return 0; @@ -7765,14 +7765,14 @@ BUILDIN_FUNC(areaannounce) */ BUILDIN_FUNC(getusers) { - int flag=conv_num(st,& (st->stack->stack_data[st->start+2])); + int flag=conv_num(st,script_getdata(st,2)); struct block_list *bl=map_id2bl((flag&0x08)?st->oid:st->rid); int val=0; switch(flag&0x07){ case 0: val=map[bl->m].users; break; case 1: val=map_getusers(); break; } - push_val(st->stack,C_INT,val); + script_pushint(st,val); return 0; } /*========================================== @@ -7811,10 +7811,10 @@ BUILDIN_FUNC(getmapguildusers) int m, gid; int i=0,c=0; struct guild *g = NULL; - str=conv_str(st, &(st->stack->stack_data[st->start+2])); - gid=conv_num(st, &(st->stack->stack_data[st->start+3])); + str=conv_str(st, script_getdata(st,2)); + gid=conv_num(st, script_getdata(st,3)); if ((m = map_mapname2mapid(str)) < 0) { // map id on this server (m == -1 if not in actual map-server) - push_val(st->stack, C_INT, -1); + script_pushint(st,-1); return 0; } g = guild_search(gid); @@ -7827,7 +7827,7 @@ BUILDIN_FUNC(getmapguildusers) } } - push_val(st->stack, C_INT, c); + script_pushint(st,c); return 0; } /*========================================== @@ -7838,12 +7838,12 @@ BUILDIN_FUNC(getmapusers) { const char *str; int m; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); if( (m=map_mapname2mapid(str))< 0){ - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } - push_val(st->stack,C_INT,map[m].users); + script_pushint(st,map[m].users); return 0; } /*========================================== @@ -7860,18 +7860,18 @@ BUILDIN_FUNC(getareausers) { const char *str; int m,x0,y0,x1,y1,users=0; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - x0=conv_num(st,& (st->stack->stack_data[st->start+3])); - y0=conv_num(st,& (st->stack->stack_data[st->start+4])); - x1=conv_num(st,& (st->stack->stack_data[st->start+5])); - y1=conv_num(st,& (st->stack->stack_data[st->start+6])); + str=conv_str(st,script_getdata(st,2)); + x0=conv_num(st,script_getdata(st,3)); + y0=conv_num(st,script_getdata(st,4)); + x1=conv_num(st,script_getdata(st,5)); + y1=conv_num(st,script_getdata(st,6)); if( (m=map_mapname2mapid(str))< 0){ - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } map_foreachinarea(buildin_getareausers_sub, m,x0,y0,x1,y1,BL_PC,&users); - push_val(st->stack,C_INT,users); + script_pushint(st,users); return 0; } @@ -7896,13 +7896,13 @@ BUILDIN_FUNC(getareadropitem) int m,x0,y0,x1,y1,item,amount=0; struct script_data *data; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - x0=conv_num(st,& (st->stack->stack_data[st->start+3])); - y0=conv_num(st,& (st->stack->stack_data[st->start+4])); - x1=conv_num(st,& (st->stack->stack_data[st->start+5])); - y1=conv_num(st,& (st->stack->stack_data[st->start+6])); + str=conv_str(st,script_getdata(st,2)); + x0=conv_num(st,script_getdata(st,3)); + y0=conv_num(st,script_getdata(st,4)); + x1=conv_num(st,script_getdata(st,5)); + y1=conv_num(st,script_getdata(st,6)); - data=&(st->stack->stack_data[st->start+7]); + data=script_getdata(st,7); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ const char *name=conv_str(st,data); @@ -7914,12 +7914,12 @@ BUILDIN_FUNC(getareadropitem) item=conv_num(st,data); if( (m=map_mapname2mapid(str))< 0){ - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } map_foreachinarea(buildin_getareadropitem_sub, m,x0,y0,x1,y1,BL_ITEM,item,&amount); - push_val(st->stack,C_INT,amount); + script_pushint(st,amount); return 0; } /*========================================== @@ -7929,7 +7929,7 @@ BUILDIN_FUNC(getareadropitem) BUILDIN_FUNC(enablenpc) { const char *str; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); npc_enable(str,1); return 0; } @@ -7940,7 +7940,7 @@ BUILDIN_FUNC(enablenpc) BUILDIN_FUNC(disablenpc) { const char *str; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); npc_enable(str,0); return 0; } @@ -7976,7 +7976,7 @@ BUILDIN_FUNC(disablearena) // Added by RoVeRT BUILDIN_FUNC(hideoffnpc) { const char *str; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); npc_enable(str,2); return 0; } @@ -7987,7 +7987,7 @@ BUILDIN_FUNC(hideoffnpc) BUILDIN_FUNC(hideonnpc) { const char *str; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); npc_enable(str,4); return 0; } @@ -7999,11 +7999,11 @@ BUILDIN_FUNC(sc_start) { struct block_list *bl; int type,tick,val1,val4=0; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); - tick=conv_num(st,& (st->stack->stack_data[st->start+3])); - val1=conv_num(st,& (st->stack->stack_data[st->start+4])); + type=conv_num(st,script_getdata(st,2)); + tick=conv_num(st,script_getdata(st,3)); + val1=conv_num(st,script_getdata(st,4)); if( st->end>st->start+5 ) //指定したキャラを状態異常にする - bl = map_id2bl(conv_num(st,& (st->stack->stack_data[st->start+5]))); + bl = map_id2bl(conv_num(st,script_getdata(st,5))); else bl = map_id2bl(st->rid); @@ -8033,12 +8033,12 @@ BUILDIN_FUNC(sc_start2) { struct block_list *bl; int type,tick,val1,val4=0,per; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); - tick=conv_num(st,& (st->stack->stack_data[st->start+3])); - val1=conv_num(st,& (st->stack->stack_data[st->start+4])); - per=conv_num(st,& (st->stack->stack_data[st->start+5])); + type=conv_num(st,script_getdata(st,2)); + tick=conv_num(st,script_getdata(st,3)); + val1=conv_num(st,script_getdata(st,4)); + per=conv_num(st,script_getdata(st,5)); if( st->end>st->start+6 ) //指定したキャラを状態異常にする - bl = map_id2bl(conv_num(st,& (st->stack->stack_data[st->start+6]))); + bl = map_id2bl(conv_num(st,script_getdata(st,6))); else bl = map_id2bl(st->rid); @@ -8072,14 +8072,14 @@ BUILDIN_FUNC(sc_start4) { struct block_list *bl; int type,tick,val1,val2,val3,val4; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); - tick=conv_num(st,& (st->stack->stack_data[st->start+3])); - val1=conv_num(st,& (st->stack->stack_data[st->start+4])); - val2=conv_num(st,& (st->stack->stack_data[st->start+5])); - val3=conv_num(st,& (st->stack->stack_data[st->start+6])); - val4=conv_num(st,& (st->stack->stack_data[st->start+7])); + type=conv_num(st,script_getdata(st,2)); + tick=conv_num(st,script_getdata(st,3)); + val1=conv_num(st,script_getdata(st,4)); + val2=conv_num(st,script_getdata(st,5)); + val3=conv_num(st,script_getdata(st,6)); + val4=conv_num(st,script_getdata(st,7)); if( st->end>st->start+8 ) - bl = map_id2bl(conv_num(st,& (st->stack->stack_data[st->start+8]))); + bl = map_id2bl(conv_num(st,script_getdata(st,8))); else bl = map_id2bl(st->rid); @@ -8109,7 +8109,7 @@ BUILDIN_FUNC(sc_end) { struct block_list *bl; int type; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); bl = map_id2bl(st->rid); if (potion_flag==1 && potion_target) @@ -8131,10 +8131,10 @@ BUILDIN_FUNC(getscrate) struct block_list *bl; int sc_def=0,type,rate; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); - rate=conv_num(st,& (st->stack->stack_data[st->start+3])); + type=conv_num(st,script_getdata(st,2)); + rate=conv_num(st,script_getdata(st,3)); if( st->end>st->start+4 ) //指定したキャラの耐性を計算する - bl = map_id2bl(conv_num(st,& (st->stack->stack_data[st->start+4]))); + bl = map_id2bl(conv_num(st,script_getdata(st,4))); else bl = map_id2bl(st->rid); @@ -8142,7 +8142,7 @@ BUILDIN_FUNC(getscrate) sc_def = status_get_sc_def(bl,type); rate = rate*(10000-sc_def)/10000; - push_val(st->stack,C_INT,rate<0?0:rate); + script_pushint(st,rate<0?0:rate); return 0; @@ -8154,7 +8154,7 @@ BUILDIN_FUNC(getscrate) */ BUILDIN_FUNC(debugmes) { - conv_str(st,& (st->stack->stack_data[st->start+2])); + conv_str(st,script_getdata(st,2)); ShowDebug("script debug : %d %d : %s\n",st->rid,st->oid,st->stack->stack_data[st->start+2].u.str); return 0; } @@ -8167,7 +8167,7 @@ BUILDIN_FUNC(catchpet) { int pet_id; struct map_session_data *sd; - pet_id= conv_num(st,& (st->stack->stack_data[st->start+2])); + pet_id= conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); pet_catch_process1(sd,pet_id); return 0; @@ -8193,26 +8193,26 @@ BUILDIN_FUNC(eaclass) { int class_; if( st->end>st->start+2 ) - class_ = conv_num(st,& (st->stack->stack_data[st->start+2])); + class_ = conv_num(st,script_getdata(st,2)); else { struct map_session_data *sd; sd=script_rid2sd(st); if (!sd) { - push_val(st->stack,C_INT, -1); + script_pushint(st,-1); return 0; } class_ = sd->status.class_; } - push_val(st->stack,C_INT, pc_jobid2mapid(class_)); + script_pushint(st,pc_jobid2mapid(class_)); return 0; } BUILDIN_FUNC(roclass) { - int class_ =conv_num(st,& (st->stack->stack_data[st->start+2])); + int class_ =conv_num(st,script_getdata(st,2)); int sex; if( st->end>st->start+3 ) - sex = conv_num(st,& (st->stack->stack_data[st->start+3])); + sex = conv_num(st,script_getdata(st,3)); else { struct map_session_data *sd; if (st->rid && (sd=script_rid2sd(st))) @@ -8220,7 +8220,7 @@ BUILDIN_FUNC(roclass) else sex = 1; //Just use male when not found. } - push_val(st->stack,C_INT,pc_mapid2jobid(class_, sex)); + script_pushint(st,pc_mapid2jobid(class_, sex)); return 0; } @@ -8244,7 +8244,7 @@ BUILDIN_FUNC(resetlvl) { struct map_session_data *sd; - int type=conv_num(st,& (st->stack->stack_data[st->start+2])); + int type=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); pc_resetlvl(sd,type); @@ -8282,7 +8282,7 @@ BUILDIN_FUNC(skillpointcount) { struct map_session_data *sd; sd=script_rid2sd(st); - push_val(st->stack,C_INT,sd->status.skill_point + pc_resetskill(sd,2)); + script_pushint(st,sd->status.skill_point + pc_resetskill(sd,2)); return 0; } @@ -8296,14 +8296,14 @@ BUILDIN_FUNC(changebase) int vclass; if( st->end>st->start+3 ) - sd=map_id2sd(conv_num(st,& (st->stack->stack_data[st->start+3]))); + sd=map_id2sd(conv_num(st,script_getdata(st,3))); else sd=script_rid2sd(st); if(sd == NULL) return 0; - vclass = conv_num(st,& (st->stack->stack_data[st->start+2])); + vclass = conv_num(st,script_getdata(st,2)); if(vclass == JOB_WEDDING) { if (!battle_config.wedding_modifydisplay || //Do not show the wedding sprites @@ -8355,27 +8355,27 @@ BUILDIN_FUNC(waitingroom) { const char *name,*ev=""; int limit, trigger = 0,pub=1; - name=conv_str(st,& (st->stack->stack_data[st->start+2])); - limit= conv_num(st,& (st->stack->stack_data[st->start+3])); + name=conv_str(st,script_getdata(st,2)); + limit= conv_num(st,script_getdata(st,3)); if(limit==0) pub=3; if( (st->end > st->start+5) ){ - struct script_data* data=&(st->stack->stack_data[st->start+5]); + struct script_data* data=script_getdata(st,5); get_val(st,data); if(data->type==C_INT){ // 新Athena仕様(旧Athena仕様と互換性あり) - ev=conv_str(st,& (st->stack->stack_data[st->start+4])); - trigger=conv_num(st,& (st->stack->stack_data[st->start+5])); + ev=conv_str(st,script_getdata(st,4)); + trigger=conv_num(st,script_getdata(st,5)); }else{ // eathena仕様 - trigger=conv_num(st,& (st->stack->stack_data[st->start+4])); - ev=conv_str(st,& (st->stack->stack_data[st->start+5])); + trigger=conv_num(st,script_getdata(st,4)); + ev=conv_str(st,script_getdata(st,5)); } }else{ // 旧Athena仕様 if( st->end > st->start+4 ) - ev=conv_str(st,& (st->stack->stack_data[st->start+4])); + ev=conv_str(st,script_getdata(st,4)); } chat_createnpcchat( (struct npc_data *)map_id2bl(st->oid), limit,pub,trigger,name,(int)strlen(name)+1,ev); @@ -8391,11 +8391,11 @@ BUILDIN_FUNC(globalmes) struct npc_data *nd = (struct npc_data *)bl; const char *name=NULL,*mes; - mes=conv_str(st,& (st->stack->stack_data[st->start+2])); // メッセージの取得 + mes=conv_str(st,script_getdata(st,2)); // メッセージの取得 if(mes==NULL) return 0; if(st->end>st->start+3){ // NPC名の取得(123#456) - name=conv_str(st,& (st->stack->stack_data[st->start+3])); + name=conv_str(st,script_getdata(st,3)); } else { name=nd->name; } @@ -8412,7 +8412,7 @@ BUILDIN_FUNC(delwaitingroom) { struct npc_data *nd; if( st->end > st->start+2 ) - nd=npc_name2id(conv_str(st,& (st->stack->stack_data[st->start+2]))); + nd=npc_name2id(conv_str(st,script_getdata(st,2))); else nd=(struct npc_data *)map_id2bl(st->oid); chat_deletenpcchat(nd); @@ -8428,7 +8428,7 @@ BUILDIN_FUNC(waitingroomkickall) struct chat_data *cd; if( st->end > st->start+2 ) - nd=npc_name2id(conv_str(st,& (st->stack->stack_data[st->start+2]))); + nd=npc_name2id(conv_str(st,script_getdata(st,2))); else nd=(struct npc_data *)map_id2bl(st->oid); @@ -8448,7 +8448,7 @@ BUILDIN_FUNC(enablewaitingroomevent) struct chat_data *cd; if( st->end > st->start+2 ) - nd=npc_name2id(conv_str(st,& (st->stack->stack_data[st->start+2]))); + nd=npc_name2id(conv_str(st,script_getdata(st,2))); else nd=(struct npc_data *)map_id2bl(st->oid); @@ -8468,7 +8468,7 @@ BUILDIN_FUNC(disablewaitingroomevent) struct chat_data *cd; if( st->end > st->start+2 ) - nd=npc_name2id(conv_str(st,& (st->stack->stack_data[st->start+2]))); + nd=npc_name2id(conv_str(st,script_getdata(st,2))); else nd=(struct npc_data *)map_id2bl(st->oid); @@ -8486,14 +8486,14 @@ BUILDIN_FUNC(getwaitingroomstate) struct npc_data *nd; struct chat_data *cd; int val=0,type; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); if( st->end > st->start+3 ) - nd=npc_name2id(conv_str(st,& (st->stack->stack_data[st->start+3]))); + nd=npc_name2id(conv_str(st,script_getdata(st,3))); else nd=(struct npc_data *)map_id2bl(st->oid); if(nd==NULL || (cd=(struct chat_data *)map_id2bl(nd->chat_id))==NULL ){ - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } @@ -8515,7 +8515,7 @@ BUILDIN_FUNC(getwaitingroomstate) push_str(st->stack,C_CONSTSTR,cd->npc_event); return 0; } - push_val(st->stack,C_INT,val); + script_pushint(st,val); return 0; } @@ -8535,12 +8535,12 @@ BUILDIN_FUNC(warpwaitingpc) return 0; n=cd->trigger&0x7f; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - x=conv_num(st,& (st->stack->stack_data[st->start+3])); - y=conv_num(st,& (st->stack->stack_data[st->start+4])); + str=conv_str(st,script_getdata(st,2)); + x=conv_num(st,script_getdata(st,3)); + y=conv_num(st,script_getdata(st,4)); if( st->end > st->start+5 ) - n=conv_num(st,& (st->stack->stack_data[st->start+5])); + n=conv_num(st,script_getdata(st,5)); for(i=0;i<n;i++){ sd=cd->usersd[0]; @@ -8568,8 +8568,8 @@ BUILDIN_FUNC(warpwaitingpc) */ BUILDIN_FUNC(attachrid) { - st->rid=conv_num(st,& (st->stack->stack_data[st->start+2])); - push_val(st->stack,C_INT, (map_id2sd(st->rid)!=NULL)); + st->rid=conv_num(st,script_getdata(st,2)); + script_pushint(st,(map_id2sd(st->rid)!=NULL)); return 0; } /*========================================== @@ -8588,7 +8588,7 @@ BUILDIN_FUNC(detachrid) BUILDIN_FUNC(isloggedin) { push_val(st->stack,C_INT, map_id2sd( - conv_num(st,& (st->stack->stack_data[st->start+2])) )!=NULL ); + conv_num(st,script_getdata(st,2)) )!=NULL ); return 0; } @@ -8603,10 +8603,10 @@ BUILDIN_FUNC(setmapflagnosave) unsigned short mapindex; const char *str,*str2; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - str2=conv_str(st,& (st->stack->stack_data[st->start+3])); - x=conv_num(st,& (st->stack->stack_data[st->start+4])); - y=conv_num(st,& (st->stack->stack_data[st->start+5])); + str=conv_str(st,script_getdata(st,2)); + str2=conv_str(st,script_getdata(st,3)); + x=conv_num(st,script_getdata(st,4)); + y=conv_num(st,script_getdata(st,5)); m = map_mapname2mapid(str); mapindex = mapindex_name2id(str2); @@ -8626,10 +8626,10 @@ BUILDIN_FUNC(setmapflag) const char *str; const char *val=NULL; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - i=conv_num(st,& (st->stack->stack_data[st->start+3])); + str=conv_str(st,script_getdata(st,2)); + i=conv_num(st,script_getdata(st,3)); if(st->end>st->start+4){ - val=conv_str(st,& (st->stack->stack_data[st->start+4])); + val=conv_str(st,script_getdata(st,4)); } m = map_mapname2mapid(str); if(m >= 0) { @@ -8778,8 +8778,8 @@ BUILDIN_FUNC(removemapflag) int m,i; const char *str; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - i=conv_num(st,& (st->stack->stack_data[st->start+3])); + str=conv_str(st,script_getdata(st,2)); + i=conv_num(st,script_getdata(st,3)); m = map_mapname2mapid(str); if(m >= 0) { switch(i) { @@ -8931,7 +8931,7 @@ BUILDIN_FUNC(pvpon) const char *str; struct map_session_data *pl_sd=NULL, **pl_allsd; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); m = map_mapname2mapid(str); if(m >= 0 && !map[m].flag.pvp) { map[m].flag.pvp = 1; @@ -8973,7 +8973,7 @@ BUILDIN_FUNC(pvpoff) int m; const char *str; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); m = map_mapname2mapid(str); if(m < 0 || !map[m].flag.pvp) return 0; //fixed Lupus @@ -8993,7 +8993,7 @@ BUILDIN_FUNC(gvgon) int m; const char *str; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); m = map_mapname2mapid(str); if(m >= 0 && !map[m].flag.gvg) { map[m].flag.gvg = 1; @@ -9007,7 +9007,7 @@ BUILDIN_FUNC(gvgoff) int m; const char *str; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); m = map_mapname2mapid(str); if(m >= 0 && map[m].flag.gvg) { map[m].flag.gvg = 0; @@ -9027,12 +9027,12 @@ BUILDIN_FUNC(emotion) int type; int player=0; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); if(type < 0 || type > 100) return 0; if( st->end>st->start+3 ) - player=conv_num(st,& (st->stack->stack_data[st->start+3])); + player=conv_num(st,script_getdata(st,3)); if (player) { struct map_session_data *sd = script_rid2sd(st); @@ -9073,9 +9073,9 @@ static int buildin_maprespawnguildid_sub_mob(struct block_list *bl,va_list ap) BUILDIN_FUNC(maprespawnguildid) { - const char *mapname=conv_str(st,& (st->stack->stack_data[st->start+2])); - int g_id=conv_num(st,& (st->stack->stack_data[st->start+3])); - int flag=conv_num(st,& (st->stack->stack_data[st->start+4])); + const char *mapname=conv_str(st,script_getdata(st,2)); + int g_id=conv_num(st,script_getdata(st,3)); + int flag=conv_num(st,script_getdata(st,4)); int m=map_mapname2mapid(mapname); @@ -9111,13 +9111,13 @@ BUILDIN_FUNC(agitend) */ BUILDIN_FUNC(agitcheck) { - push_val(st->stack,C_INT,agit_flag); + script_pushint(st,agit_flag); return 0; } BUILDIN_FUNC(flagemblem) { - int g_id=conv_num(st,& (st->stack->stack_data[st->start+2])); + int g_id=conv_num(st,script_getdata(st,2)); if(g_id < 0) return 0; @@ -9144,7 +9144,7 @@ BUILDIN_FUNC(getcastlename) BUILDIN_FUNC(getcastledata) { char mapname[MAP_NAME_LENGTH]; - int index=conv_num(st,& (st->stack->stack_data[st->start+3])); + int index=conv_num(st,script_getdata(st,3)); const char *event=NULL; struct guild_castle *gc; int i; @@ -9153,7 +9153,7 @@ BUILDIN_FUNC(getcastledata) gc = guild_mapname2gc(mapname); if(st->end>st->start+4 && index==0 && gc) { - event=conv_str(st,& (st->stack->stack_data[st->start+4])); + event=conv_str(st,script_getdata(st,4)); check_event(st, event); guild_addcastleinfoevent(gc->castle_id,17,event); } @@ -9165,23 +9165,23 @@ BUILDIN_FUNC(getcastledata) guild_castledataload(gc->castle_id,i); break; case 1: - push_val(st->stack,C_INT,gc->guild_id); break; + script_pushint(st,gc->guild_id); break; case 2: - push_val(st->stack,C_INT,gc->economy); break; + script_pushint(st,gc->economy); break; case 3: - push_val(st->stack,C_INT,gc->defense); break; + script_pushint(st,gc->defense); break; case 4: - push_val(st->stack,C_INT,gc->triggerE); break; + script_pushint(st,gc->triggerE); break; case 5: - push_val(st->stack,C_INT,gc->triggerD); break; + script_pushint(st,gc->triggerD); break; case 6: - push_val(st->stack,C_INT,gc->nextTime); break; + script_pushint(st,gc->nextTime); break; case 7: - push_val(st->stack,C_INT,gc->payTime); break; + script_pushint(st,gc->payTime); break; case 8: - push_val(st->stack,C_INT,gc->createTime); break; + script_pushint(st,gc->createTime); break; case 9: - push_val(st->stack,C_INT,gc->visibleC); break; + script_pushint(st,gc->visibleC); break; case 10: case 11: case 12: @@ -9190,7 +9190,7 @@ BUILDIN_FUNC(getcastledata) case 15: case 16: case 17: - push_val(st->stack,C_INT,gc->guardian[index-10].visible); break; + script_pushint(st,gc->guardian[index-10].visible); break; case 18: case 19: case 20: @@ -9199,21 +9199,21 @@ BUILDIN_FUNC(getcastledata) case 23: case 24: case 25: - push_val(st->stack,C_INT,gc->guardian[index-18].hp); break; + script_pushint(st,gc->guardian[index-18].hp); break; default: - push_val(st->stack,C_INT,0); break; + script_pushint(st,0); break; } return 0; } - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } BUILDIN_FUNC(setcastledata) { char mapname[MAP_NAME_LENGTH]; - int index=conv_num(st,& (st->stack->stack_data[st->start+3])); - int value=conv_num(st,& (st->stack->stack_data[st->start+4])); + int index=conv_num(st,script_getdata(st,3)); + int value=conv_num(st,script_getdata(st,4)); struct guild_castle *gc; strncpy(mapname, conv_str(st,script_getdata(st,2)), MAP_NAME_LENGTH); @@ -9287,11 +9287,11 @@ BUILDIN_FUNC(setcastledata) */ BUILDIN_FUNC(requestguildinfo) { - int guild_id=conv_num(st,& (st->stack->stack_data[st->start+2])); + int guild_id=conv_num(st,script_getdata(st,2)); const char *event=NULL; if( st->end>st->start+3 ){ - event=conv_str(st,& (st->stack->stack_data[st->start+3])); + event=conv_str(st,script_getdata(st,3)); check_event(st, event); } @@ -9310,22 +9310,22 @@ BUILDIN_FUNC(getequipcardcnt) struct map_session_data *sd; int c=MAX_SLOTS; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(itemdb_isspecial(sd->status.inventory[i].card[0])) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } do{ if(sd->status.inventory[i].card[c-1] && itemdb_type(sd->status.inventory[i].card[c-1]) == IT_CARD){ // [Celest] - push_val(st->stack,C_INT,(c)); + script_pushint(st,(c)); return 0; } }while(c--); - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -9340,7 +9340,7 @@ BUILDIN_FUNC(successremovecards) struct item item_tmp; int c=MAX_SLOTS; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); + num=conv_num(st,script_getdata(st,2)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(itemdb_isspecial(sd->status.inventory[i].card[0])) @@ -9408,8 +9408,8 @@ BUILDIN_FUNC(failedremovecards) struct item item_tmp; int c=MAX_SLOTS; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); - typefail=conv_num(st,& (st->stack->stack_data[st->start+3])); + num=conv_num(st,script_getdata(st,2)); + typefail=conv_num(st,script_getdata(st,3)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(itemdb_isspecial(sd->status.inventory[i].card[0])) @@ -9494,13 +9494,13 @@ BUILDIN_FUNC(mapwarp) // Added by RoVeRT const char *str; const char *mapname; unsigned int index; - mapname=conv_str(st,& (st->stack->stack_data[st->start+2])); - str=conv_str(st,& (st->stack->stack_data[st->start+3])); - x=conv_num(st,& (st->stack->stack_data[st->start+4])); - y=conv_num(st,& (st->stack->stack_data[st->start+5])); + mapname=conv_str(st,script_getdata(st,2)); + str=conv_str(st,script_getdata(st,3)); + x=conv_num(st,script_getdata(st,4)); + y=conv_num(st,script_getdata(st,5)); if(st->end > st->start+7){ - check_val=conv_num(st,& (st->stack->stack_data[st->start+6])); - check_ID=conv_num(st,& (st->stack->stack_data[st->start+7])); + check_val=conv_num(st,script_getdata(st,6)); + check_ID=conv_num(st,script_getdata(st,7)); } if( (m=map_mapname2mapid(mapname))< 0) @@ -9543,8 +9543,8 @@ BUILDIN_FUNC(cmdothernpc) // Added by RoVeRT { const char *npc,*command; - npc=conv_str(st,& (st->stack->stack_data[st->start+2])); - command=conv_str(st,& (st->stack->stack_data[st->start+3])); + npc=conv_str(st,script_getdata(st,2)); + command=conv_str(st,script_getdata(st,3)); npc_command(map_id2sd(st->rid),npc,command); return 0; @@ -9582,30 +9582,30 @@ BUILDIN_FUNC(mobcount) // Added by RoVeRT { const char *mapname,*event; int m; - mapname=conv_str(st,& (st->stack->stack_data[st->start+2])); - event=conv_str(st,& (st->stack->stack_data[st->start+3])); + mapname=conv_str(st,script_getdata(st,2)); + event=conv_str(st,script_getdata(st,3)); check_event(st, event); if( (m=map_mapname2mapid(mapname))<0 ) { - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } - push_val(st->stack,C_INT,map_foreachinmap(buildin_mobcount_sub, m, BL_MOB, event)); + script_pushint(st,map_foreachinmap(buildin_mobcount_sub, m, BL_MOB, event)); return 0; } BUILDIN_FUNC(marriage) { - const char *partner=conv_str(st,& (st->stack->stack_data[st->start+2])); + const char *partner=conv_str(st,script_getdata(st,2)); struct map_session_data *sd=script_rid2sd(st); struct map_session_data *p_sd=map_nick2sd(partner); if(sd==NULL || p_sd==NULL || pc_marriage(sd,p_sd) < 0){ - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } BUILDIN_FUNC(wedding_effect) @@ -9624,10 +9624,10 @@ BUILDIN_FUNC(divorce) { struct map_session_data *sd=script_rid2sd(st); if(sd==NULL || pc_divorce(sd) < 0){ - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } @@ -9638,11 +9638,11 @@ BUILDIN_FUNC(ispartneron) if(sd==NULL || !pc_ismarried(sd) || (p_sd=map_charid2sd(sd->status.partner_id)) == NULL) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } @@ -9650,11 +9650,11 @@ BUILDIN_FUNC(getpartnerid) { struct map_session_data *sd=script_rid2sd(st); if (sd == NULL) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - push_val(st->stack,C_INT,sd->status.partner_id); + script_pushint(st,sd->status.partner_id); return 0; } @@ -9662,11 +9662,11 @@ BUILDIN_FUNC(getchildid) { struct map_session_data *sd=script_rid2sd(st); if (sd == NULL) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - push_val(st->stack,C_INT,sd->status.child); + script_pushint(st,sd->status.child); return 0; } @@ -9674,11 +9674,11 @@ BUILDIN_FUNC(getmotherid) { struct map_session_data *sd=script_rid2sd(st); if (sd == NULL) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - push_val(st->stack,C_INT,sd->status.mother); + script_pushint(st,sd->status.mother); return 0; } @@ -9686,11 +9686,11 @@ BUILDIN_FUNC(getfatherid) { struct map_session_data *sd=script_rid2sd(st); if (sd == NULL) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - push_val(st->stack,C_INT,sd->status.father); + script_pushint(st,sd->status.father); return 0; } @@ -9704,20 +9704,20 @@ BUILDIN_FUNC(warppartner) if(sd==NULL || !pc_ismarried(sd) || (p_sd=map_charid2sd(sd->status.partner_id)) == NULL) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - str=conv_str(st,& (st->stack->stack_data[st->start+2])); - x=conv_num(st,& (st->stack->stack_data[st->start+3])); - y=conv_num(st,& (st->stack->stack_data[st->start+4])); + str=conv_str(st,script_getdata(st,2)); + x=conv_num(st,script_getdata(st,3)); + y=conv_num(st,script_getdata(st,4)); mapindex = mapindex_name2id(str); if (mapindex) { pc_setpos(p_sd,mapindex,x,y,0); - push_val(st->stack,C_INT,1); + script_pushint(st,1); } else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -9728,8 +9728,8 @@ BUILDIN_FUNC(warppartner) BUILDIN_FUNC(strmobinfo) { - int num=conv_num(st,& (st->stack->stack_data[st->start+2])); - int class_=conv_num(st,& (st->stack->stack_data[st->start+3])); + int num=conv_num(st,script_getdata(st,2)); + int class_=conv_num(st,script_getdata(st,3)); if((class_>=0 && class_<=1000) || class_ >2000) return 0; @@ -9742,22 +9742,22 @@ BUILDIN_FUNC(strmobinfo) push_str(st->stack,C_CONSTSTR,mob_db(class_)->jname); break; case 3: - push_val(st->stack,C_INT,mob_db(class_)->lv); + script_pushint(st,mob_db(class_)->lv); break; case 4: - push_val(st->stack,C_INT,mob_db(class_)->status.max_hp); + script_pushint(st,mob_db(class_)->status.max_hp); break; case 5: - push_val(st->stack,C_INT,mob_db(class_)->status.max_sp); + script_pushint(st,mob_db(class_)->status.max_sp); break; case 6: - push_val(st->stack,C_INT,mob_db(class_)->base_exp); + script_pushint(st,mob_db(class_)->base_exp); break; case 7: - push_val(st->stack,C_INT,mob_db(class_)->job_exp); + script_pushint(st,mob_db(class_)->job_exp); break; default: - push_val(st->stack,C_INT,0); + script_pushint(st,0); break; } return 0; @@ -9812,19 +9812,19 @@ BUILDIN_FUNC(guardian) */ BUILDIN_FUNC(guardianinfo) { - int guardian=conv_num(st,& (st->stack->stack_data[st->start+2])); + int guardian=conv_num(st,script_getdata(st,2)); struct map_session_data *sd=script_rid2sd(st); struct guild_castle *gc=guild_mapname2gc(map[sd->bl.m].name); if (guardian < 0 || guardian >= MAX_GUARDIANS || gc==NULL) { - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } if(gc->guardian[guardian].visible) - push_val(st->stack,C_INT,gc->guardian[guardian].hp); - else push_val(st->stack,C_INT,-1); + script_pushint(st,gc->guardian[guardian].hp); + else script_pushint(st,-1); return 0; } @@ -9839,7 +9839,7 @@ BUILDIN_FUNC(getitemname) char *item_name; struct script_data *data; - data=&(st->stack->stack_data[st->start+2]); + data=script_getdata(st,2); get_val(st,data); if( data->type==C_STR || data->type==C_CONSTSTR ){ @@ -9871,14 +9871,14 @@ BUILDIN_FUNC(getitemslots) int item_id; struct item_data *i_data; - item_id=conv_num(st,& (st->stack->stack_data[st->start+2])); + item_id=conv_num(st,script_getdata(st,2)); i_data = itemdb_exists(item_id); if (i_data) - push_val(st->stack,C_INT,i_data->slot); + script_pushint(st,i_data->slot); else - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } @@ -9911,15 +9911,15 @@ BUILDIN_FUNC(getiteminfo) int *item_arr; struct item_data *i_data; - item_id = conv_num(st,& (st->stack->stack_data[st->start+2])); - n = conv_num(st,& (st->stack->stack_data[st->start+3])); + item_id = conv_num(st,script_getdata(st,2)); + n = conv_num(st,script_getdata(st,3)); i_data = itemdb_exists(item_id); if (i_data && n>=0 && n<14) { item_arr = (int*)&i_data->value_buy; - push_val(st->stack,C_INT,item_arr[n]); + script_pushint(st,item_arr[n]); } else - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } @@ -9953,17 +9953,17 @@ BUILDIN_FUNC(setiteminfo) int *item_arr; struct item_data *i_data; - item_id = conv_num(st,& (st->stack->stack_data[st->start+2])); - n = conv_num(st,& (st->stack->stack_data[st->start+3])); - value = conv_num(st,& (st->stack->stack_data[st->start+4])); + item_id = conv_num(st,script_getdata(st,2)); + n = conv_num(st,script_getdata(st,3)); + value = conv_num(st,script_getdata(st,4)); i_data = itemdb_exists(item_id); if (i_data && n>=0 && n<14) { item_arr = (int*)&i_data->value_buy; item_arr[n] = value; - push_val(st->stack,C_INT,value); + script_pushint(st,value); } else - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } @@ -9985,14 +9985,14 @@ BUILDIN_FUNC(getequipcardid) int i,num,slot; struct map_session_data *sd; - num=conv_num(st,& (st->stack->stack_data[st->start+2])); - slot=conv_num(st,& (st->stack->stack_data[st->start+3])); + num=conv_num(st,script_getdata(st,2)); + slot=conv_num(st,script_getdata(st,3)); sd=script_rid2sd(st); i=pc_checkequip(sd,equip[num-1]); if(i >= 0 && slot>=0 && slot<4) - push_val(st->stack,C_INT,sd->status.inventory[i].card[slot]); + script_pushint(st,sd->status.inventory[i].card[slot]); else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -10019,10 +10019,10 @@ BUILDIN_FUNC(petskillbonus) } else //init pd->bonus = (struct pet_bonus *) aMalloc(sizeof(struct pet_bonus)); - pd->bonus->type=conv_num(st,& (st->stack->stack_data[st->start+2])); - pd->bonus->val=conv_num(st,& (st->stack->stack_data[st->start+3])); - pd->bonus->duration=conv_num(st,& (st->stack->stack_data[st->start+4])); - pd->bonus->delay=conv_num(st,& (st->stack->stack_data[st->start+5])); + pd->bonus->type=conv_num(st,script_getdata(st,2)); + pd->bonus->val=conv_num(st,script_getdata(st,3)); + pd->bonus->duration=conv_num(st,script_getdata(st,4)); + pd->bonus->delay=conv_num(st,script_getdata(st,5)); if (pd->state.skillbonus == 1) pd->state.skillbonus=0; // waiting state @@ -10049,7 +10049,7 @@ BUILDIN_FUNC(petloot) if(sd==NULL || sd->pd==NULL) return 0; - max=conv_num(st,& (st->stack->stack_data[st->start+2])); + max=conv_num(st,script_getdata(st,2)); if(max < 1) max = 1; //Let'em loot at least 1 item. @@ -10148,15 +10148,15 @@ BUILDIN_FUNC(disguise) struct map_session_data *sd=script_rid2sd(st); int id; - id = conv_num(st,& (st->stack->stack_data[st->start+2])); + id = conv_num(st,script_getdata(st,2)); if (!mobdb_checkid(id) && !npcdb_checkid(id)) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } pc_disguise(sd, id); - push_val(st->stack,C_INT,id); + script_pushint(st,id); return 0; } @@ -10170,9 +10170,9 @@ BUILDIN_FUNC(undisguise) if (sd->disguise) { pc_disguise(sd, 0); - push_val(st->stack,C_INT,0); + script_pushint(st,0); } else { - push_val(st->stack,C_INT,1); + script_pushint(st,1); } return 0; } @@ -10190,8 +10190,8 @@ BUILDIN_FUNC(classchange) if(bl==NULL) return 0; - _class=conv_num(st,& (st->stack->stack_data[st->start+2])); - type=conv_num(st,& (st->stack->stack_data[st->start+3])); + _class=conv_num(st,script_getdata(st,2)); + type=conv_num(st,script_getdata(st,3)); clif_class_change(bl,_class,type); return 0; } @@ -10204,7 +10204,7 @@ BUILDIN_FUNC(misceffect) { int type; - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); if(st->oid && st->oid != fake_nd->bl.id) { struct block_list *bl = map_id2bl(st->oid); if (bl) @@ -10229,8 +10229,8 @@ BUILDIN_FUNC(soundeffect) int type=0; - name=conv_str(st,& (st->stack->stack_data[st->start+2])); - type=conv_num(st,& (st->stack->stack_data[st->start+3])); + name=conv_str(st,script_getdata(st,2)); + type=conv_num(st,script_getdata(st,3)); if(sd){ if(!st->rid) clif_soundeffect(sd,map_id2bl(st->oid),name,type); @@ -10264,9 +10264,9 @@ BUILDIN_FUNC(soundeffectall) struct block_list *bl; int type, coverage, x0, y0, x1, y1; - name=conv_str(st,& (st->stack->stack_data[st->start+2])); - type=conv_num(st,& (st->stack->stack_data[st->start+3])); - coverage=conv_num(st,& (st->stack->stack_data[st->start+4])); + name=conv_str(st,script_getdata(st,2)); + type=conv_num(st,script_getdata(st,3)); + coverage=conv_num(st,script_getdata(st,4)); if(!st->rid) bl = map_id2bl(st->oid); @@ -10278,11 +10278,11 @@ BUILDIN_FUNC(soundeffectall) clif_soundeffectall(bl,name,type,coverage); }else { if(st->end > st->start+9){ - map=conv_str(st,& (st->stack->stack_data[st->start+5])); - x0 = conv_num(st,& (st->stack->stack_data[st->start+6])); - y0 = conv_num(st,& (st->stack->stack_data[st->start+7])); - x1 = conv_num(st,& (st->stack->stack_data[st->start+8])); - y1 = conv_num(st,& (st->stack->stack_data[st->start+9])); + map=conv_str(st,script_getdata(st,5)); + x0 = conv_num(st,script_getdata(st,6)); + y0 = conv_num(st,script_getdata(st,7)); + x1 = conv_num(st,script_getdata(st,8)); + y1 = conv_num(st,script_getdata(st,9)); map_foreachinarea(soundeffect_sub,map_mapname2mapid(map),x0,y0,x1,y1,BL_PC,name,type); } else { ShowError("buildin_soundeffectall: insufficient arguments for specific area broadcast.\n"); @@ -10312,8 +10312,8 @@ BUILDIN_FUNC(petrecovery) } else //Init pd->recovery = (struct pet_recovery *)aMalloc(sizeof(struct pet_recovery)); - pd->recovery->type=conv_num(st,& (st->stack->stack_data[st->start+2])); - pd->recovery->delay=conv_num(st,& (st->stack->stack_data[st->start+3])); + pd->recovery->type=conv_num(st,script_getdata(st,2)); + pd->recovery->delay=conv_num(st,script_getdata(st,3)); pd->recovery->timer=-1; @@ -10347,10 +10347,10 @@ BUILDIN_FUNC(petheal) pd->s_skill->id=0; //This id identifies that it IS petheal rather than pet_skillsupport //Use the lv as the amount to heal - pd->s_skill->lv=conv_num(st,& (st->stack->stack_data[st->start+2])); - pd->s_skill->delay=conv_num(st,& (st->stack->stack_data[st->start+3])); - pd->s_skill->hp=conv_num(st,& (st->stack->stack_data[st->start+4])); - pd->s_skill->sp=conv_num(st,& (st->stack->stack_data[st->start+5])); + pd->s_skill->lv=conv_num(st,script_getdata(st,2)); + pd->s_skill->delay=conv_num(st,script_getdata(st,3)); + pd->s_skill->hp=conv_num(st,script_getdata(st,4)); + pd->s_skill->sp=conv_num(st,script_getdata(st,5)); //Use delay as initial offset to avoid skill/heal exploits if (battle_config.pet_equip_required && pd->pet.equip == 0) @@ -10377,11 +10377,11 @@ BUILDIN_FUNC(petskillattack) if (pd->a_skill == NULL) pd->a_skill = (struct pet_skill_attack *)aMalloc(sizeof(struct pet_skill_attack)); - pd->a_skill->id=conv_num(st,& (st->stack->stack_data[st->start+2])); - pd->a_skill->lv=conv_num(st,& (st->stack->stack_data[st->start+3])); + pd->a_skill->id=conv_num(st,script_getdata(st,2)); + pd->a_skill->lv=conv_num(st,script_getdata(st,3)); pd->a_skill->div_ = 0; - pd->a_skill->rate=conv_num(st,& (st->stack->stack_data[st->start+4])); - pd->a_skill->bonusrate=conv_num(st,& (st->stack->stack_data[st->start+5])); + pd->a_skill->rate=conv_num(st,script_getdata(st,4)); + pd->a_skill->bonusrate=conv_num(st,script_getdata(st,5)); return 0; } @@ -10402,11 +10402,11 @@ BUILDIN_FUNC(petskillattack2) if (pd->a_skill == NULL) pd->a_skill = (struct pet_skill_attack *)aMalloc(sizeof(struct pet_skill_attack)); - pd->a_skill->id=conv_num(st,& (st->stack->stack_data[st->start+2])); - pd->a_skill->lv=conv_num(st,& (st->stack->stack_data[st->start+3])); - pd->a_skill->div_ = conv_num(st,& (st->stack->stack_data[st->start+4])); - pd->a_skill->rate=conv_num(st,& (st->stack->stack_data[st->start+5])); - pd->a_skill->bonusrate=conv_num(st,& (st->stack->stack_data[st->start+6])); + pd->a_skill->id=conv_num(st,script_getdata(st,2)); + pd->a_skill->lv=conv_num(st,script_getdata(st,3)); + pd->a_skill->div_ = conv_num(st,script_getdata(st,4)); + pd->a_skill->rate=conv_num(st,script_getdata(st,5)); + pd->a_skill->bonusrate=conv_num(st,script_getdata(st,6)); return 0; } @@ -10436,11 +10436,11 @@ BUILDIN_FUNC(petskillsupport) } else //init memory pd->s_skill = (struct pet_skill_support *) aMalloc(sizeof(struct pet_skill_support)); - pd->s_skill->id=conv_num(st,& (st->stack->stack_data[st->start+2])); - pd->s_skill->lv=conv_num(st,& (st->stack->stack_data[st->start+3])); - pd->s_skill->delay=conv_num(st,& (st->stack->stack_data[st->start+4])); - pd->s_skill->hp=conv_num(st,& (st->stack->stack_data[st->start+5])); - pd->s_skill->sp=conv_num(st,& (st->stack->stack_data[st->start+6])); + pd->s_skill->id=conv_num(st,script_getdata(st,2)); + pd->s_skill->lv=conv_num(st,script_getdata(st,3)); + pd->s_skill->delay=conv_num(st,script_getdata(st,4)); + pd->s_skill->hp=conv_num(st,script_getdata(st,5)); + pd->s_skill->sp=conv_num(st,script_getdata(st,6)); //Use delay as initial offset to avoid skill/heal exploits if (battle_config.pet_equip_required && pd->pet.equip == 0) @@ -10459,8 +10459,8 @@ BUILDIN_FUNC(skilleffect) { struct map_session_data *sd; - int skillid=conv_num(st,& (st->stack->stack_data[st->start+2])); - int skilllv=conv_num(st,& (st->stack->stack_data[st->start+3])); + int skillid=conv_num(st,script_getdata(st,2)); + int skilllv=conv_num(st,script_getdata(st,3)); sd=script_rid2sd(st); clif_skill_nodamage(&sd->bl,&sd->bl,skillid,skilllv,1); @@ -10476,10 +10476,10 @@ BUILDIN_FUNC(npcskilleffect) { struct block_list *bl= map_id2bl(st->oid); - int skillid=conv_num(st,& (st->stack->stack_data[st->start+2])); - int skilllv=conv_num(st,& (st->stack->stack_data[st->start+3])); - int x=conv_num(st,& (st->stack->stack_data[st->start+4])); - int y=conv_num(st,& (st->stack->stack_data[st->start+5])); + int skillid=conv_num(st,script_getdata(st,2)); + int skilllv=conv_num(st,script_getdata(st,3)); + int x=conv_num(st,script_getdata(st,4)); + int y=conv_num(st,script_getdata(st,5)); if (bl) clif_skill_poseffect(bl,skillid,skilllv,x,y,gettick()); @@ -10498,7 +10498,7 @@ BUILDIN_FUNC(specialeffect) if(bl==NULL) return 0; - clif_specialeffect(bl,conv_num(st,& (st->stack->stack_data[st->start+2])), ((st->end > st->start+3)?conv_num(st,& (st->stack->stack_data[st->start+3])):AREA)); + clif_specialeffect(bl,conv_num(st,script_getdata(st,2)), ((st->end > st->start+3)?conv_num(st,script_getdata(st,3)):AREA)); return 0; } @@ -10510,7 +10510,7 @@ BUILDIN_FUNC(specialeffect2) if(sd==NULL) return 0; - clif_specialeffect(&sd->bl,conv_num(st,& (st->stack->stack_data[st->start+2])), ((st->end > st->start+3)?conv_num(st,& (st->stack->stack_data[st->start+3])):AREA)); + clif_specialeffect(&sd->bl,conv_num(st,script_getdata(st,2)), ((st->end > st->start+3)?conv_num(st,script_getdata(st,3)):AREA)); return 0; } @@ -10554,7 +10554,7 @@ BUILDIN_FUNC(atcommand) struct map_session_data *sd=NULL; const char *cmd; - cmd = conv_str(st,& (st->stack->stack_data[st->start+2])); + cmd = conv_str(st,script_getdata(st,2)); if (st->rid) sd = script_rid2sd(st); @@ -10591,7 +10591,7 @@ BUILDIN_FUNC(charcommand) struct map_session_data *sd=NULL; const char *cmd; - cmd = conv_str(st,& (st->stack->stack_data[st->start+2])); + cmd = conv_str(st,script_getdata(st,2)); if (st->rid) sd = script_rid2sd(st); @@ -10633,7 +10633,7 @@ BUILDIN_FUNC(dispbottom) { struct map_session_data *sd=script_rid2sd(st); const char *message; - message=conv_str(st,& (st->stack->stack_data[st->start+2])); + message=conv_str(st,script_getdata(st,2)); if(sd) clif_disp_onlyself(sd,message,(int)strlen(message)); return 0; @@ -10672,16 +10672,16 @@ BUILDIN_FUNC(getpetinfo) { struct map_session_data *sd=script_rid2sd(st); struct pet_data *pd; - int type=conv_num(st,& (st->stack->stack_data[st->start+2])); + int type=conv_num(st,script_getdata(st,2)); if(sd && sd->status.pet_id && sd->pd){ pd = sd->pd; switch(type){ case 0: - push_val(st->stack,C_INT,sd->status.pet_id); + script_pushint(st,sd->status.pet_id); break; case 1: - push_val(st->stack,C_INT,pd->pet.class_); + script_pushint(st,pd->pet.class_); break; case 2: if(pd->pet.name) @@ -10690,17 +10690,17 @@ BUILDIN_FUNC(getpetinfo) push_str(st->stack,C_CONSTSTR,"null"); break; case 3: - push_val(st->stack,C_INT,pd->pet.intimate); + script_pushint(st,pd->pet.intimate); break; case 4: - push_val(st->stack,C_INT,pd->pet.hungry); + script_pushint(st,pd->pet.hungry); break; default: - push_val(st->stack,C_INT,0); + script_pushint(st,0); break; } }else{ - push_val(st->stack,C_INT,0); + script_pushint(st,0); } return 0; } @@ -10714,28 +10714,28 @@ BUILDIN_FUNC(checkequipedcard) { struct map_session_data *sd=script_rid2sd(st); int n,i,c=0; - c=conv_num(st,& (st->stack->stack_data[st->start+2])); + c=conv_num(st,script_getdata(st,2)); if(sd){ for(i=0;i<MAX_INVENTORY;i++){ if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount){ for(n=0;n<MAX_SLOTS;n++){ if(sd->status.inventory[i].card[n]==c){ - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } } } } } - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } BUILDIN_FUNC(jump_zero) { int sel; - sel=conv_num(st,& (st->stack->stack_data[st->start+2])); + sel=conv_num(st,script_getdata(st,2)); if(!sel) { int pos; if( st->stack->stack_data[st->start+3].type!=C_POS ){ @@ -10744,7 +10744,7 @@ BUILDIN_FUNC(jump_zero) return 0; } - pos=conv_num(st,& (st->stack->stack_data[st->start+3])); + pos=conv_num(st,script_getdata(st,3)); st->pos=pos; st->state=GOTO; // printf("script: jump_zero: jumpto : %d\n",pos); @@ -10795,7 +10795,7 @@ BUILDIN_FUNC(select) } pc_setreg(sd,add_str("@menu"),sd->npc_menu); sd->state.menu_or_input=0; - push_val(st->stack,C_INT,sd->npc_menu); + script_pushint(st,sd->npc_menu); } return 0; } @@ -10841,7 +10841,7 @@ BUILDIN_FUNC(prompt) } pc_setreg(sd,add_str("@menu"),sd->npc_menu); sd->state.menu_or_input=0; - push_val(st->stack,C_INT,sd->npc_menu); + script_pushint(st,sd->npc_menu); } return 0; } @@ -10860,21 +10860,21 @@ BUILDIN_FUNC(getmapmobs) int count=0,c; struct block_list *bl; - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); if(strcmp(str,"this")==0){ struct map_session_data *sd=script_rid2sd(st); if(sd) m=sd->bl.m; else{ - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } }else m=map_mapname2mapid(str); if(m < 0){ - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } @@ -10888,7 +10888,7 @@ BUILDIN_FUNC(getmapmobs) } } } - push_val(st->stack,C_INT,count); + script_pushint(st,count); return 0; } @@ -10903,9 +10903,9 @@ BUILDIN_FUNC(movenpc) const char *npc; int x,y; - npc = conv_str(st,& (st->stack->stack_data[st->start+2])); - x = conv_num(st,& (st->stack->stack_data[st->start+3])); - y = conv_num(st,& (st->stack->stack_data[st->start+4])); + npc = conv_str(st,script_getdata(st,2)); + x = conv_num(st,script_getdata(st,3)); + y = conv_num(st,script_getdata(st,4)); if ((nd = npc_name2id(npc)) == NULL) return -1; @@ -10927,8 +10927,8 @@ BUILDIN_FUNC(message) sd = script_rid2sd(st); - player = conv_str(st,& (st->stack->stack_data[st->start+2])); - msg = conv_str(st,& (st->stack->stack_data[st->start+3])); + player = conv_str(st,script_getdata(st,2)); + msg = conv_str(st,script_getdata(st,3)); if((pl_sd=map_nick2sd((char *) player)) == NULL) return 0; @@ -10949,7 +10949,7 @@ BUILDIN_FUNC(npctalk) char message[255]; struct npc_data *nd=(struct npc_data *)map_id2bl(st->oid); - str=conv_str(st,& (st->stack->stack_data[st->start+2])); + str=conv_str(st,script_getdata(st,2)); if(nd) { memcpy(message, nd->name, NAME_LENGTH); @@ -10977,12 +10977,12 @@ BUILDIN_FUNC(hasitems) for(i=0; i<MAX_INVENTORY; i++) { if(sd->status.inventory[i].amount && sd->status.inventory[i].nameid!=2364 && sd->status.inventory[i].nameid!=2365) { - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } } - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -10992,7 +10992,7 @@ BUILDIN_FUNC(npcspeed) struct npc_data *nd=(struct npc_data *)map_id2bl(st->oid); int x=0; - x=conv_num(st,& (st->stack->stack_data[st->start+2])); + x=conv_num(st,script_getdata(st,2)); if(nd) { nd->speed=x; @@ -11006,8 +11006,8 @@ BUILDIN_FUNC(npcwalkto) struct npc_data *nd=(struct npc_data *)map_id2bl(st->oid); int x=0,y=0; - x=conv_num(st,& (st->stack->stack_data[st->start+2])); - y=conv_num(st,& (st->stack->stack_data[st->start+3])); + x=conv_num(st,script_getdata(st,2)); + y=conv_num(st,script_getdata(st,3)); if(nd) { unit_walktoxy(&nd->bl,x,y,0); @@ -11038,7 +11038,7 @@ BUILDIN_FUNC(getlook) struct map_session_data *sd; sd=script_rid2sd(st); - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); val=-1; switch(type){ case LOOK_HAIR: //1 @@ -11069,7 +11069,7 @@ BUILDIN_FUNC(getlook) break; } - push_val(st->stack,C_INT,val); + script_pushint(st,val); return 0; } @@ -11085,7 +11085,7 @@ BUILDIN_FUNC(getsavepoint) sd=script_rid2sd(st); - type=conv_num(st,& (st->stack->stack_data[st->start+2])); + type=conv_num(st,script_getdata(st,2)); x=sd->status.save_point.x; y=sd->status.save_point.y; @@ -11097,13 +11097,13 @@ BUILDIN_FUNC(getsavepoint) push_str(st->stack,C_STR,mapname); break; case 1: - push_val(st->stack,C_INT,x); + script_pushint(st,x); break; case 2: - push_val(st->stack,C_INT,y); + script_pushint(st,y); break; default: - push_val(st->stack,C_INT,0); + script_pushint(st,0); break; } return 0; @@ -11145,27 +11145,27 @@ BUILDIN_FUNC(getmapxy) if( st->stack->stack_data[st->start+2].type!=C_NAME ){ ShowWarning("script: buildin_getmapxy: not mapname variable\n"); - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 1; } if( st->stack->stack_data[st->start+3].type!=C_NAME ){ ShowWarning("script: buildin_getmapxy: not mapx variable\n"); - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 1; } if( st->stack->stack_data[st->start+4].type!=C_NAME ){ ShowWarning("script: buildin_getmapxy: not mapy variable\n"); - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 1; } //??????????? >>> Possible needly check function parameters on C_STR,C_INT,C_INT <<< ???????????// - type=conv_num(st,& (st->stack->stack_data[st->start+5])); + type=conv_num(st,script_getdata(st,5)); switch (type){ case 0: //Get Character Position if( st->end>st->start+6 ) - sd=map_nick2sd(conv_str(st,& (st->stack->stack_data[st->start+6]))); + sd=map_nick2sd(conv_str(st,script_getdata(st,6))); else sd=script_rid2sd(st); @@ -11176,7 +11176,7 @@ BUILDIN_FUNC(getmapxy) if( st->end > st->start+6 ) { struct npc_data *nd; - nd=npc_name2id(conv_str(st,& (st->stack->stack_data[st->start+6]))); + nd=npc_name2id(conv_str(st,script_getdata(st,6))); if (nd) bl = &nd->bl; } else //In case the origin is not an npc? @@ -11184,7 +11184,7 @@ BUILDIN_FUNC(getmapxy) break; case 2: //Get Pet Position if(st->end>st->start+6) - sd=map_nick2sd(conv_str(st,& (st->stack->stack_data[st->start+6]))); + sd=map_nick2sd(conv_str(st,script_getdata(st,6))); else sd=script_rid2sd(st); @@ -11195,7 +11195,7 @@ BUILDIN_FUNC(getmapxy) break; //Not supported? case 4: //Get Homun Position if(st->end>st->start+6) - sd=map_nick2sd(conv_str(st,& (st->stack->stack_data[st->start+6]))); + sd=map_nick2sd(conv_str(st,script_getdata(st,6))); else sd=script_rid2sd(st); @@ -11204,7 +11204,7 @@ BUILDIN_FUNC(getmapxy) break; } if (!bl) { //No object found. - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); return 0; } @@ -11246,7 +11246,7 @@ BUILDIN_FUNC(getmapxy) set_reg(st,sd,num,name,(void*)y,st->stack->stack_data[st->start+4].ref); //Return Success value - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -11257,7 +11257,7 @@ BUILDIN_FUNC(getmapxy) BUILDIN_FUNC(logmes) { if (log_config.npc <= 0 ) return 0; - conv_str(st,& (st->stack->stack_data[st->start+2])); + conv_str(st,script_getdata(st,2)); log_npc(script_rid2sd(st),st->stack->stack_data[st->start+2].u.str); return 0; } @@ -11273,12 +11273,12 @@ BUILDIN_FUNC(summon) sd=script_rid2sd(st); if (!sd) return 0; - str =conv_str(st,& (st->stack->stack_data[st->start+2])); - _class=conv_num(st,& (st->stack->stack_data[st->start+3])); + str =conv_str(st,script_getdata(st,2)); + _class=conv_num(st,script_getdata(st,3)); if( st->end>st->start+4 ) - timeout=conv_num(st,& (st->stack->stack_data[st->start+4])); + timeout=conv_num(st,script_getdata(st,4)); if( st->end>st->start+5 ){ - event=conv_str(st,& (st->stack->stack_data[st->start+5])); + event=conv_str(st,script_getdata(st,5)); check_event(st, event); } @@ -11302,13 +11302,13 @@ BUILDIN_FUNC(summon) */ BUILDIN_FUNC(isnight) { - push_val(st->stack,C_INT, (night_flag == 1)); + script_pushint(st,(night_flag == 1)); return 0; } BUILDIN_FUNC(isday) { - push_val(st->stack,C_INT, (night_flag == 0)); + script_pushint(st,(night_flag == 0)); return 0; } @@ -11370,7 +11370,7 @@ BUILDIN_FUNC(isequipped) if (!ret) break; } - push_val(st->stack,C_INT,ret); + script_pushint(st,ret); return 0; } #endif @@ -11388,7 +11388,7 @@ BUILDIN_FUNC(isequippedcnt) sd = script_rid2sd(st); if (!sd) { //If the player is not attached it is a script error anyway... but better prevent the map server from crashing... - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -11422,7 +11422,7 @@ BUILDIN_FUNC(isequippedcnt) } } - push_val(st->stack,C_INT,ret); + script_pushint(st,ret); return 0; } @@ -11445,7 +11445,7 @@ BUILDIN_FUNC(isequipped) sd = script_rid2sd(st); if (!sd) { //If the player is not attached it is a script error anyway... but better prevent the map server from crashing... - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -11512,7 +11512,7 @@ BUILDIN_FUNC(isequipped) sd->setitem_hash = setitem_hash; sd->setitem_hash2 = setitem_hash2; } - push_val(st->stack,C_INT,ret); + script_pushint(st,ret); return 0; } @@ -11553,8 +11553,8 @@ BUILDIN_FUNC(cardscnt) } } } - push_val(st->stack,C_INT,ret); -// push_val(st->stack,C_INT,current_equip_item_index); + script_pushint(st,ret); +// script_pushint(st,current_equip_item_index); return 0; } @@ -11567,9 +11567,9 @@ BUILDIN_FUNC(getrefine) { struct map_session_data *sd; if ((sd = script_rid2sd(st))!= NULL) - push_val(st->stack, C_INT, sd->status.inventory[current_equip_item_index].refine); + script_pushint(st,sd->status.inventory[current_equip_item_index].refine); else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -11581,9 +11581,9 @@ BUILDIN_FUNC(adopt) { int ret; - const char *parent1 = conv_str(st,& (st->stack->stack_data[st->start+2])); - const char *parent2 = conv_str(st,& (st->stack->stack_data[st->start+3])); - const char *child = conv_str(st,& (st->stack->stack_data[st->start+4])); + const char *parent1 = conv_str(st,script_getdata(st,2)); + const char *parent2 = conv_str(st,script_getdata(st,3)); + const char *child = conv_str(st,script_getdata(st,4)); struct map_session_data *p1_sd = map_nick2sd(parent1); struct map_session_data *p2_sd = map_nick2sd(parent2); @@ -11595,7 +11595,7 @@ BUILDIN_FUNC(adopt) return 0; ret = pc_adoption(p1_sd, p2_sd, c_sd); - push_val(st->stack, C_INT, ret); + script_pushint(st,ret); return 0; } @@ -11624,7 +11624,7 @@ BUILDIN_FUNC(unequip) size_t num; struct map_session_data *sd; - num = conv_num(st,& (st->stack->stack_data[st->start+2])) - 1; + num = conv_num(st,script_getdata(st,2)) - 1; sd=script_rid2sd(st); if(sd!=NULL && num<10) { @@ -11643,7 +11643,7 @@ BUILDIN_FUNC(equip) sd = script_rid2sd(st); - nameid=conv_num(st,& (st->stack->stack_data[st->start+2])); + nameid=conv_num(st,script_getdata(st,2)); if((item_data = itemdb_exists(nameid)) == NULL) { if(battle_config.error_log) @@ -11661,8 +11661,8 @@ BUILDIN_FUNC(autoequip) { int nameid, flag; struct item_data *item_data; - nameid=conv_num(st,& (st->stack->stack_data[st->start+2])); - flag=conv_num(st,& (st->stack->stack_data[st->start+3])); + nameid=conv_num(st,script_getdata(st,2)); + flag=conv_num(st,script_getdata(st,3)); if(nameid>=500 && (item_data = itemdb_search(nameid)) != NULL){ item_data->flag.autoequip = flag>0?1:0; } @@ -11673,8 +11673,8 @@ BUILDIN_FUNC(setbattleflag) { const char *flag, *value; - flag = conv_str(st,& (st->stack->stack_data[st->start+2])); - value = conv_str(st,& (st->stack->stack_data[st->start+3])); + flag = conv_str(st,script_getdata(st,2)); + value = conv_str(st,script_getdata(st,3)); if (battle_set_value(flag, value) == 0) ShowWarning("buildin_setbattleflag: unknown battle_config flag '%s'\n",flag); @@ -11687,8 +11687,8 @@ BUILDIN_FUNC(setbattleflag) BUILDIN_FUNC(getbattleflag) { const char *flag; - flag = conv_str(st,& (st->stack->stack_data[st->start+2])); - push_val(st->stack,C_INT,battle_get_value(flag)); + flag = conv_str(st,script_getdata(st,2)); + script_pushint(st,battle_get_value(flag)); return 0; } @@ -11698,10 +11698,10 @@ BUILDIN_FUNC(getbattleflag) BUILDIN_FUNC(getstrlen) { - const char *str = conv_str(st,& (st->stack->stack_data[st->start+2])); + const char *str = conv_str(st,script_getdata(st,2)); int len = (str) ? (int)strlen(str) : 0; - push_val(st->stack,C_INT,len); + script_pushint(st,len); return 0; } @@ -11710,12 +11710,12 @@ BUILDIN_FUNC(getstrlen) //------------------------------------------------------- BUILDIN_FUNC(charisalpha) { - const char *str=conv_str(st,& (st->stack->stack_data[st->start+2])); - int pos=conv_num(st,& (st->stack->stack_data[st->start+3])); + const char *str=conv_str(st,script_getdata(st,2)); + int pos=conv_num(st,script_getdata(st,3)); int val = ( str && pos>0 && (unsigned int)pos<strlen(str) ) ? ISALPHA( str[pos] ) : 0; - push_val(st->stack,C_INT,val); + script_pushint(st,val); return 0; } @@ -11725,9 +11725,9 @@ BUILDIN_FUNC(fakenpcname) const char *name; const char *newname; int look; - name = conv_str(st,& (st->stack->stack_data[st->start+2])); - newname = conv_str(st,& (st->stack->stack_data[st->start+3])); - look = conv_num(st,& (st->stack->stack_data[st->start+4])); + name = conv_str(st,script_getdata(st,2)); + newname = conv_str(st,script_getdata(st,3)); + look = conv_num(st,script_getdata(st,4)); if(look > 32767 || look < -32768) { ShowError("buildin_fakenpcname: Invalid look value %d\n",look); return 1; // Safety measure to prevent runtime errors @@ -11739,8 +11739,8 @@ BUILDIN_FUNC(fakenpcname) BUILDIN_FUNC(atoi) { const char *value; - value = conv_str(st,& (st->stack->stack_data[st->start+2])); - push_val(st->stack, C_INT, atoi(value)); + value = conv_str(st,script_getdata(st,2)); + script_pushint(st,atoi(value)); return 0; } @@ -11751,9 +11751,9 @@ BUILDIN_FUNC(compare) { const char *message; const char *cmpstring; - message = conv_str(st,& (st->stack->stack_data[st->start+2])); - cmpstring = conv_str(st,& (st->stack->stack_data[st->start+3])); - push_val(st->stack,C_INT,(stristr(message,cmpstring) != NULL)); + message = conv_str(st,script_getdata(st,2)); + cmpstring = conv_str(st,script_getdata(st,3)); + script_pushint(st,(stristr(message,cmpstring) != NULL)); return 0; } @@ -11764,43 +11764,43 @@ BUILDIN_FUNC(compare) BUILDIN_FUNC(sqrt) { double i, a; - i = conv_num(st, &(st->stack->stack_data[st->start+2])); + i = conv_num(st, script_getdata(st,2)); a = sqrt(i); - push_val(st->stack, C_INT, (int)a); + script_pushint(st,(int)a); return 0; } BUILDIN_FUNC(pow) { double i, a, b; - a = conv_num(st, &(st->stack->stack_data[st->start+2])); - b = conv_num(st, &(st->stack->stack_data[st->start+3])); + a = conv_num(st, script_getdata(st,2)); + b = conv_num(st, script_getdata(st,3)); i = pow(a,b); - push_val(st->stack, C_INT, (int)i); + script_pushint(st,(int)i); return 0; } BUILDIN_FUNC(distance) { int x0, y0, x1, y1; - x0 = conv_num(st, &(st->stack->stack_data[st->start+2])); - y0 = conv_num(st, &(st->stack->stack_data[st->start+3])); - x1 = conv_num(st, &(st->stack->stack_data[st->start+4])); - y1 = conv_num(st, &(st->stack->stack_data[st->start+5])); + x0 = conv_num(st, script_getdata(st,2)); + y0 = conv_num(st, script_getdata(st,3)); + x1 = conv_num(st, script_getdata(st,4)); + y1 = conv_num(st, script_getdata(st,5)); - push_val(st->stack, C_INT, distance(x0-x1, y0-y1)); + script_pushint(st,distance(x0-x1, y0-y1)); return 0; } BUILDIN_FUNC(checkcell) { int m; - const char *map = conv_str(st, &(st->stack->stack_data[st->start+2])); + const char *map = conv_str(st, script_getdata(st,2)); m = mapindex_name2id(map); if(m){ - push_val(st->stack, C_INT, map_getcell(m, conv_num(st, &(st->stack->stack_data[st->start+3])), conv_num(st, &(st->stack->stack_data[st->start+4])),conv_num(st, &(st->stack->stack_data[st->start+5])))); + script_pushint(st,map_getcell(m, conv_num(st, script_getdata(st,3)), conv_num(st, script_getdata(st,4)),conv_num(st, script_getdata(st,5)))); } else { - push_val(st->stack, C_INT, 0); + script_pushint(st,0); } return 0; } @@ -11819,8 +11819,8 @@ BUILDIN_FUNC(setd) char varname[100]; const char *value, *buffer; int elem; - buffer = conv_str(st, & (st->stack->stack_data[st->start+2])); - value = conv_str(st, & (st->stack->stack_data[st->start+3])); + buffer = conv_str(st, script_getdata(st,2)); + value = conv_str(st, script_getdata(st,3)); if(sscanf(buffer, "%[^[][%d]", varname, &elem) < 2) elem = 0; @@ -11846,12 +11846,12 @@ BUILDIN_FUNC(query_sql) struct { char * dst_var_name; char type; } row[32]; struct map_session_data *sd = (st->rid)? script_rid2sd(st) : NULL; - query = conv_str(st,& (st->stack->stack_data[st->start+2])); + query = conv_str(st,script_getdata(st,2)); strcpy(tmp_sql, query); if(mysql_query(&mmysql_handle,tmp_sql)){ ShowSQL("DB error - %s\n",mysql_error(&mmysql_handle)); ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql); - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 1; } @@ -11866,14 +11866,14 @@ BUILDIN_FUNC(query_sql) if (!nb_rows) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; // Nothing to store } if (nb_rows > 32) { ShowWarning("buildin_query_sql: too many rows!\n"); - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 1; } @@ -11883,7 +11883,7 @@ BUILDIN_FUNC(query_sql) { if(st->stack->stack_data[st->start+3+j].type != C_NAME){ ShowWarning("buildin_query_sql: Parameter %d is not a variable!\n", j); - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } else { // Store type of variable (string = 0/int = 1) @@ -11909,10 +11909,10 @@ BUILDIN_FUNC(query_sql) // Free data mysql_free_result(sql_res); } - push_val(st->stack, C_INT, i); + script_pushint(st,i); #else //for TXT version, we always return -1 - push_val(st->stack, C_INT, -1); + script_pushint(st,-1); #endif return 0; } @@ -11922,7 +11922,7 @@ BUILDIN_FUNC(escape_sql) { const char *query; char *t_query; - query = conv_str(st,& (st->stack->stack_data[st->start+2])); + query = conv_str(st,script_getdata(st,2)); t_query = aMallocA((strlen(query)*2+1)*sizeof(char)); jstrescapecpy(t_query,query); @@ -11937,7 +11937,7 @@ BUILDIN_FUNC(getd) //struct script_data dat; int elem; - buffer = conv_str(st, & (st->stack->stack_data[st->start+2])); + buffer = conv_str(st, script_getdata(st,2)); if(sscanf(buffer, "%[^[][%d]", varname, &elem) < 2) elem = 0; @@ -11956,35 +11956,35 @@ BUILDIN_FUNC(petstat) struct map_session_data *sd = NULL; struct pet_data *pd; char *tmp; - int flag = conv_num(st, & (st->stack->stack_data[st->start+2])); + int flag = conv_num(st, script_getdata(st,2)); sd = script_rid2sd(st); if(!sd || !sd->status.pet_id || !sd->pd){ if(flag == 2) push_str(st->stack, C_CONSTSTR, ""); else - push_val(st->stack, C_INT, 0); + script_pushint(st,0); return 0; } pd = sd->pd; switch(flag){ case 1: - push_val(st->stack, C_INT, (int)pd->pet.class_); + script_pushint(st,(int)pd->pet.class_); break; case 2: tmp = aStrdup(pd->pet.name); push_str(st->stack, C_STR, tmp); break; case 3: - push_val(st->stack, C_INT, (int)pd->pet.level); + script_pushint(st,(int)pd->pet.level); break; case 4: - push_val(st->stack, C_INT, (int)pd->pet.hungry); + script_pushint(st,(int)pd->pet.hungry); break; case 5: - push_val(st->stack, C_INT, (int)pd->pet.intimate); + script_pushint(st,(int)pd->pet.intimate); break; default: - push_val(st->stack, C_INT, 0); + script_pushint(st,0); break; } return 0; @@ -11998,16 +11998,16 @@ BUILDIN_FUNC(callshop) int flag = 0; sd = script_rid2sd(st); if (!sd) { - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } - shopname = conv_str(st, & (st->stack->stack_data[st->start+2])); + shopname = conv_str(st, script_getdata(st,2)); if( st->end>st->start+3 ) - flag = conv_num(st, & (st->stack->stack_data[st->start+3])); + flag = conv_num(st, script_getdata(st,3)); nd = npc_name2id(shopname); if (!nd || nd->bl.type!=BL_NPC || nd->bl.subtype!=SHOP) { ShowError("buildin_callshop: Shop [%s] not found (or NPC is not shop type)", shopname); - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 1; } @@ -12023,7 +12023,7 @@ BUILDIN_FUNC(callshop) break; } sd->npc_shopid = nd->bl.id; - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } @@ -12037,12 +12037,12 @@ BUILDIN_FUNC(npcshopitem) int i = 3; int amount; - const char* npcname = conv_str(st, & (st->stack->stack_data[st->start + 2])); + const char* npcname = conv_str(st, script_getdata(st,2)); nd = npc_name2id(npcname); if(!nd || nd->bl.subtype!=SHOP) { //Not found. - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -12061,9 +12061,9 @@ BUILDIN_FUNC(npcshopitem) n = 0; while (st->end > st->start + i) { - nd->u.shop_item[n].nameid = conv_num(st, & (st->stack->stack_data[st->start+i])); + nd->u.shop_item[n].nameid = conv_num(st, script_getdata(st,i)); i++; - nd->u.shop_item[n].value = conv_num(st, & (st->stack->stack_data[st->start+i])); + nd->u.shop_item[n].value = conv_num(st, script_getdata(st,i)); i++; n++; } @@ -12077,12 +12077,12 @@ BUILDIN_FUNC(npcshopadditem) int i = 3; int amount; - const char* npcname = conv_str(st, & (st->stack->stack_data[st->start+2])); + const char* npcname = conv_str(st, script_getdata(st,2)); nd = npc_name2id(npcname); if (!nd || nd->bl.subtype!=SHOP) { //Not found. - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } amount = ((st->end-2)/2)+1; @@ -12097,9 +12097,9 @@ BUILDIN_FUNC(npcshopadditem) map_addiddb(&nd->bl); while(st->end > st->start + i){ - nd->u.shop_item[n].nameid = conv_num(st, & (st->stack->stack_data[st->start+i])); + nd->u.shop_item[n].nameid = conv_num(st, script_getdata(st,i)); i++; - nd->u.shop_item[n].value = conv_num(st, & (st->stack->stack_data[st->start+i])); + nd->u.shop_item[n].value = conv_num(st, script_getdata(st,i)); i++; n++; } @@ -12108,7 +12108,7 @@ BUILDIN_FUNC(npcshopadditem) nd->u.shop_item[n].value = 0; nd->u.shop_item[n].nameid = 0; - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } @@ -12119,12 +12119,12 @@ BUILDIN_FUNC(npcshopdelitem) int i=3; int size = 0; - const char* npcname = conv_str(st, & (st->stack->stack_data[st->start+2])); + const char* npcname = conv_str(st, script_getdata(st,2)); nd = npc_name2id(npcname); if (!nd || nd->bl.subtype!=SHOP) { //Not found. - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -12133,7 +12133,7 @@ BUILDIN_FUNC(npcshopdelitem) while (st->end > st->start+i) { for(n=0;nd->u.shop_item[n].nameid && n < MAX_SHOPITEM;n++) { - if (nd->u.shop_item[n].nameid == conv_num(st, & (st->stack->stack_data[st->start+i]))) { + if (nd->u.shop_item[n].nameid == conv_num(st, script_getdata(st,i))) { // We're moving 1 extra empty block. Junk data is eliminated later. memmove(&nd->u.shop_item[n], &nd->u.shop_item[n+1], sizeof(nd->u.shop_item[0])*(size-n)); } @@ -12152,7 +12152,7 @@ BUILDIN_FUNC(npcshopdelitem) sizeof(nd->u.shop_item[0]) * (size+1)); map_addiddb(&nd->bl); - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } @@ -12160,7 +12160,7 @@ BUILDIN_FUNC(npcshopdelitem) BUILDIN_FUNC(npcshopattach) { struct npc_data *nd=NULL; - const char* npcname = conv_str(st, & (st->stack->stack_data[st->start+2])); + const char* npcname = conv_str(st, script_getdata(st,2)); int flag = 1; if( script_hasdata(st,3) ) @@ -12170,7 +12170,7 @@ BUILDIN_FUNC(npcshopattach) if (!nd || nd->bl.subtype!=SHOP) { //Not found. - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -12178,7 +12178,7 @@ BUILDIN_FUNC(npcshopattach) nd->master_nd = ((struct npc_data *)map_id2bl(st->oid)); else nd->master_nd = NULL; - push_val(st->stack,C_INT,1); + script_pushint(st,1); return 0; } @@ -12199,10 +12199,10 @@ BUILDIN_FUNC(setitemscript) struct item_data *i_data; struct script_code *dstscript; - item_id = conv_num(st,& (st->stack->stack_data[st->start+2])); - script = conv_str(st,& (st->stack->stack_data[st->start+3])); + item_id = conv_num(st,script_getdata(st,2)); + script = conv_str(st,script_getdata(st,3)); if( st->end>st->start+4 ) - n=conv_num(st,& (st->stack->stack_data[st->start+4])); + n=conv_num(st,script_getdata(st,4)); i_data = itemdb_exists(item_id); if (i_data && script!=NULL && script[0]=='{' && n<3) { @@ -12215,9 +12215,9 @@ BUILDIN_FUNC(setitemscript) if(dstscript) script_free_code(dstscript); dstscript = parse_script(script, "script_setitemscript", 0, 0); - push_val(st->stack,C_INT,1); + script_pushint(st,1); } else - push_val(st->stack,C_INT,0); + script_pushint(st,0); return 0; } @@ -12225,25 +12225,25 @@ BUILDIN_FUNC(setitemscript) BUILDIN_FUNC(addmonsterdrop) { int class_,item_id,chance; - class_=conv_num(st,& (st->stack->stack_data[st->start+2])); - item_id=conv_num(st,& (st->stack->stack_data[st->start+3])); - chance=conv_num(st,& (st->stack->stack_data[st->start+4])); + class_=conv_num(st,script_getdata(st,2)); + item_id=conv_num(st,script_getdata(st,3)); + chance=conv_num(st,script_getdata(st,4)); if(class_>1000 && item_id>500 && chance>0) { - push_val(st->stack,C_INT,1); + script_pushint(st,1); } else { - push_val(st->stack,C_INT,0); + script_pushint(st,0); } } BUILDIN_FUNC(delmonsterdrop) { int class_,item_id; - class_=conv_num(st,& (st->stack->stack_data[st->start+2])); - item_id=conv_num(st,& (st->stack->stack_data[st->start+3])); + class_=conv_num(st,script_getdata(st,2)); + item_id=conv_num(st,script_getdata(st,3)); if(class_>1000 && item_id>500) { - push_val(st->stack,C_INT,1); + script_pushint(st,1); } else { - push_val(st->stack,C_INT,0); + script_pushint(st,0); } } */ @@ -12258,82 +12258,82 @@ BUILDIN_FUNC(getmonsterinfo) struct mob_db *mob; int mob_id; - mob_id = conv_num(st,& (st->stack->stack_data[st->start+2])); + mob_id = conv_num(st,script_getdata(st,2)); if (!mobdb_checkid(mob_id)) { ShowError("buildin_getmonsterinfo: Wrong Monster ID: %i", mob_id); - push_val(st->stack, C_INT, -1); + script_pushint(st,-1); return -1; } mob = mob_db(mob_id); - switch ( conv_num(st,& (st->stack->stack_data[st->start+3])) ) { + switch ( conv_num(st,script_getdata(st,3)) ) { case 0: //Name push_str(st->stack,C_CONSTSTR,mob->jname); break; case 1: //Lvl - push_val(st->stack,C_INT, mob->lv); + script_pushint(st,mob->lv); break; case 2: //MaxHP - push_val(st->stack,C_INT, mob->status.max_hp); + script_pushint(st,mob->status.max_hp); break; case 3: //Base EXP - push_val(st->stack,C_INT, mob->base_exp); + script_pushint(st,mob->base_exp); break; case 4: //Job EXP - push_val(st->stack,C_INT, mob->job_exp); + script_pushint(st,mob->job_exp); break; case 5: //Atk1 - push_val(st->stack,C_INT, mob->status.rhw.atk); + script_pushint(st,mob->status.rhw.atk); break; case 6: //Atk2 - push_val(st->stack,C_INT, mob->status.rhw.atk2); + script_pushint(st,mob->status.rhw.atk2); break; case 7: //Def - push_val(st->stack,C_INT, mob->status.def); + script_pushint(st,mob->status.def); break; case 8: //Mdef - push_val(st->stack,C_INT, mob->status.mdef); + script_pushint(st,mob->status.mdef); break; case 9: //Str - push_val(st->stack,C_INT, mob->status.str); + script_pushint(st,mob->status.str); break; case 10: //Agi - push_val(st->stack,C_INT, mob->status.agi); + script_pushint(st,mob->status.agi); break; case 11: //Vit - push_val(st->stack,C_INT, mob->status.vit); + script_pushint(st,mob->status.vit); break; case 12: //Int - push_val(st->stack,C_INT, mob->status.int_); + script_pushint(st,mob->status.int_); break; case 13: //Dex - push_val(st->stack,C_INT, mob->status.dex); + script_pushint(st,mob->status.dex); break; case 14: //Luk - push_val(st->stack,C_INT, mob->status.luk); + script_pushint(st,mob->status.luk); break; case 15: //Range - push_val(st->stack,C_INT, mob->status.rhw.range); + script_pushint(st,mob->status.rhw.range); break; case 16: //Range2 - push_val(st->stack,C_INT, mob->range2); + script_pushint(st,mob->range2); break; case 17: //Range3 - push_val(st->stack,C_INT, mob->range3); + script_pushint(st,mob->range3); break; case 18: //Size - push_val(st->stack,C_INT, mob->status.size); + script_pushint(st,mob->status.size); break; case 19: //Race - push_val(st->stack,C_INT, mob->status.race); + script_pushint(st,mob->status.race); break; case 20: //Element - push_val(st->stack,C_INT, mob->status.def_ele); + script_pushint(st,mob->status.def_ele); break; case 21: //Mode - push_val(st->stack,C_INT, mob->status.mode); + script_pushint(st,mob->status.mode); break; default: //wrong Index - push_val(st->stack,C_INT,-1); + script_pushint(st,-1); } return 0; } @@ -12343,14 +12343,14 @@ BUILDIN_FUNC(checkvending) // check vending [Nab4] struct map_session_data *sd = NULL; if(st->end > st->start + 2) - sd = map_nick2sd(conv_str(st,&st->stack->stack_data[st->start+2])); + sd = map_nick2sd(conv_str(st,script_getdata(st,2))); else sd = script_rid2sd(st); if(sd) - push_val(st->stack, C_INT, (sd->vender_id != 0)); + script_pushint(st,(sd->vender_id != 0)); else - push_val(st->stack, C_INT, 0); + script_pushint(st,0); return 0; } @@ -12361,14 +12361,14 @@ BUILDIN_FUNC(checkchatting) // check chatting [Marka] struct map_session_data *sd = NULL; if(st->end > st->start + 2) - sd = map_nick2sd(conv_str(st,&st->stack->stack_data[st->start+2])); + sd = map_nick2sd(conv_str(st,script_getdata(st,2))); else sd = script_rid2sd(st); if(sd) - push_val(st->stack, C_INT, (sd->chatID != 0)); + script_pushint(st,(sd->chatID != 0)); else - push_val(st->stack, C_INT, 0); + script_pushint(st,0); return 0; } @@ -12409,8 +12409,8 @@ int axtoi(const char *hexStg) // [Lance] Hex string to integer converter BUILDIN_FUNC(axtoi) { - const char *hex = conv_str(st,& (st->stack->stack_data[st->start+2])); - push_val(st->stack, C_INT, axtoi(hex)); + const char *hex = conv_str(st,script_getdata(st,2)); + script_pushint(st,axtoi(hex)); return 0; } @@ -12418,7 +12418,7 @@ BUILDIN_FUNC(axtoi) BUILDIN_FUNC(rid2name) { struct block_list *bl = NULL; - int rid = conv_num(st, & (st->stack->stack_data[st->start + 2])); + int rid = conv_num(st, script_getdata(st,2)); if((bl = map_id2bl(rid))){ switch(bl->type){ case BL_MOB: @@ -12453,8 +12453,8 @@ BUILDIN_FUNC(pcblockmove) int id, flag; struct map_session_data *sd = NULL; - id = conv_num(st, & (st->stack->stack_data[st->start + 2])); - flag = conv_num(st, & (st->stack->stack_data[st->start + 3])); + id = conv_num(st, script_getdata(st,2)); + flag = conv_num(st, script_getdata(st,3)); if(id) sd = map_id2sd(id); @@ -12473,8 +12473,8 @@ BUILDIN_FUNC(pcfollow) struct map_session_data *sd = NULL; - id = conv_num(st, & (st->stack->stack_data[st->start + 2])); - targetid = conv_num(st, & (st->stack->stack_data[st->start + 3])); + id = conv_num(st, script_getdata(st,2)); + targetid = conv_num(st, script_getdata(st,3)); if(id) sd = map_id2sd(id); @@ -12493,7 +12493,7 @@ BUILDIN_FUNC(pcstopfollow) struct map_session_data *sd = NULL; - id = conv_num(st, & (st->stack->stack_data[st->start + 2])); + id = conv_num(st, script_getdata(st,2)); if(id) sd = map_id2sd(id); @@ -12515,16 +12515,16 @@ BUILDIN_FUNC(mobspawn) const char *str,*map; // Who? - str =conv_str(st,& (st->stack->stack_data[st->start+2])); + str =conv_str(st,script_getdata(st,2)); // What? - class_ =conv_num(st,& (st->stack->stack_data[st->start+3])); + class_ =conv_num(st,script_getdata(st,3)); // Where? - map =conv_str(st,& (st->stack->stack_data[st->start+4])); - x =conv_num(st,& (st->stack->stack_data[st->start+5])); - y =conv_num(st,& (st->stack->stack_data[st->start+6])); + map =conv_str(st,script_getdata(st,4)); + x =conv_num(st,script_getdata(st,5)); + y =conv_num(st,script_getdata(st,6)); id = mob_once_spawn(map_id2sd(st->rid),map,x,y,str,class_,1,""); - push_val(st->stack,C_INT,id); + script_pushint(st,id); return 0; } @@ -12533,7 +12533,7 @@ BUILDIN_FUNC(mobremove) { int id; struct block_list *bl = NULL; - id = conv_num(st, & (st->stack->stack_data[st->start+2])); + id = conv_num(st, script_getdata(st,2)); bl = map_id2bl(id); if (bl && bl->type == BL_MOB) @@ -12548,7 +12548,7 @@ BUILDIN_FUNC(getmobdata) char *name; struct mob_data *md = NULL; struct map_session_data *sd = st->rid?map_id2sd(st->rid):NULL; - id = conv_num(st, & (st->stack->stack_data[st->start+2])); + id = conv_num(st, script_getdata(st,2)); if(!(md = (struct mob_data *)map_id2bl(id)) || md->bl.type != BL_MOB || st->stack->stack_data[st->start+3].type!=C_NAME ){ ShowWarning("buildin_getmobdata: Error in argument!\n"); @@ -12860,11 +12860,6 @@ BUILDIN_FUNC(unitattack) { struct block_list* unit_bl; - int id = 0, actiontype = 0; - const char *target = NULL; - struct map_session_data *sd = NULL; - struct block_list *bl = NULL, *tbl = NULL; - // get unit unit_bl = map_id2bl(conv_num(st, script_getdata(st, 2))); if( unit_bl != NULL ) |