JSValueRef js_map_object_nearest_player_skip_self_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception) { int min_dist,max_dist; float ang,ang_sweep; d3pnt pnt; obj_type *obj; ang=-1; ang_sweep=360; if (!script_check_param_count(cx,func,argc,5,exception)) return(script_null_to_value(cx)); script_value_to_point(cx,argv[0],&pnt); if (!script_is_value_null(cx,argv[1])) ang=script_value_to_float(cx,argv[1]); if (!script_is_value_null(cx,argv[2])) ang_sweep=script_value_to_float(cx,argv[2]); min_dist=script_value_to_int(cx,argv[3]); max_dist=script_value_to_int(cx,argv[4]); // find object obj=object_find_nearest(&pnt,NULL,-1,-1,ang,ang_sweep,min_dist,max_dist,TRUE,script_get_attached_object_uid(j_obj)); if (obj==NULL) return(script_int_to_value(cx,-1)); return(script_int_to_value(cx,obj->idx)); }
JSValueRef js_map_object_nearest_skip_object_id_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception) { int type,min_dist,max_dist; char *name_ptr,name[name_str_len]; float ang,ang_sweep; d3pnt pnt; obj_type *obj; name_ptr=NULL; type=-1; ang=-1; ang_sweep=360; if (!script_check_param_count(cx,func,argc,8,exception)) return(script_null_to_value(cx)); script_value_to_point(cx,argv[0],&pnt); if (!script_is_value_null(cx,argv[1])) { script_value_to_string(cx,argv[1],name,name_str_len); name_ptr=name; } if (!script_is_value_null(cx,argv[2])) type=script_value_to_int(cx,argv[2])-sd_object_type_player; if (!script_is_value_null(cx,argv[3])) ang=script_value_to_float(cx,argv[3]); if (!script_is_value_null(cx,argv[4])) ang_sweep=script_value_to_float(cx,argv[4]); min_dist=script_value_to_int(cx,argv[5]); max_dist=script_value_to_int(cx,argv[6]); // find object obj=object_find_nearest(&pnt,name_ptr,type,-1,ang,ang_sweep,min_dist,max_dist,FALSE,script_value_to_int(cx,argv[7])); if (obj==NULL) return(script_int_to_value(cx,-1)); return(script_int_to_value(cx,obj->idx)); }
JSValueRef js_map_object_nearest_team_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception) { int min_dist,max_dist,team_idx; float ang,ang_sweep; d3pnt pnt; obj_type *obj; ang=-1; ang_sweep=360; if (!script_check_param_count(cx,func,argc,6,exception)) return(script_null_to_value(cx)); script_value_to_point(cx,argv[0],&pnt); team_idx=script_value_to_int(cx,argv[1])-sd_team_none; if (!script_is_value_null(cx,argv[2])) ang=script_value_to_float(cx,argv[2]); if (!script_is_value_null(cx,argv[3])) ang_sweep=script_value_to_float(cx,argv[3]); min_dist=script_value_to_int(cx,argv[4]); max_dist=script_value_to_int(cx,argv[5]); // find object obj=object_find_nearest(&pnt,NULL,-1,team_idx,ang,ang_sweep,min_dist,max_dist,FALSE,-1); if (obj==NULL) return(script_int_to_value(cx,-1)); return(script_int_to_value(cx,obj->idx)); }
JSBool js_multiplayer_bot_get_from_min_max_func(JSContext *cx,JSObject *j_obj,uintN argc,jsval *argv,jsval *rval) { float skill,min,max; min=script_value_to_float(argv[0]); max=script_value_to_float(argv[1]); skill=(float)setup.network.bot.skill; *rval=script_float_to_value(min+(((max-min)*skill)/4.0f)); return(JS_TRUE); }
JSValueRef js_proj_action_bounce_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception) { float min_ymove,reduce; proj_type *proj; if (!script_check_param_count(cx,func,argc,2,exception)) return(script_null_to_value(cx)); proj=proj_get_attach(j_obj); if (proj==NULL) return(script_null_to_value(cx)); min_ymove=script_value_to_float(cx,argv[0]); reduce=script_value_to_float(cx,argv[1]); projectile_bounce(proj,min_ymove,reduce,FALSE); return(script_null_to_value(cx)); }
JSValueRef js_proj_action_seek_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception) { proj_type *proj; obj_type *to_obj; if (!script_check_param_count(cx,func,argc,3,exception)) return(script_null_to_value(cx)); proj=proj_get_attach(j_obj); if (proj==NULL) return(script_null_to_value(cx)); to_obj=script_find_obj_from_uid_arg(cx,argv[0],exception); if (to_obj==NULL) return(script_null_to_value(cx)); projectile_seek(proj,to_obj,script_value_to_float(cx,argv[1]),script_value_to_float(cx,argv[2])); return(script_null_to_value(cx)); }
JSBool js_obj_thrust_set_maxSpeed(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { obj_type *obj; obj=object_find_uid(js.attach.thing_uid); obj->thrust.max_speed=script_value_to_float(*vp); return(JS_TRUE); }
bool js_obj_forward_speed_set_decelerationAir(JSContextRef cx,JSObjectRef j_obj,JSStringRef name,JSValueRef vp,JSValueRef *exception) { obj_type *obj; obj=object_get_attach(j_obj); obj->forward_move.air_decelerate=fabsf(script_value_to_float(cx,vp)); return(TRUE); }
JSBool js_obj_vert_speed_set_flySlop(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { obj_type *obj; obj=object_find_uid(js.attach.thing_uid); obj->vert_move.slop=fabsf(script_value_to_float(*vp)); return(JS_TRUE); }
JSBool js_obj_turn_speed_set_key(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { obj_type *obj; obj=object_find_uid(js.attach.thing_uid); obj->turn.key_speed=fabsf(script_value_to_float(*vp)); return(JS_TRUE); }
JSBool js_obj_health_set_fallDamageFactor(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { obj_type *obj; obj=object_find_uid(js.attach.thing_uid); obj->fall.damage_factor=script_value_to_float(*vp); return(JS_TRUE); }
bool js_weap_hand_angle_set_z(JSContextRef cx,JSObjectRef j_obj,JSStringRef name,JSValueRef vp,JSValueRef *exception) { weapon_type *weap; weap=weapon_get_attach(j_obj); weap->hand.ang.z=script_value_to_float(cx,vp); return(TRUE); }
bool js_proj_action_set_auto_bounceReduce(JSContextRef cx,JSObjectRef j_obj,JSStringRef name,JSValueRef vp,JSValueRef *exception) { proj_setup_type *proj_setup; proj_setup=proj_setup_get_attach(j_obj); if (proj_setup!=NULL) proj_setup->action.bounce_reduce=script_value_to_float(cx,vp); return(TRUE); }
JSBool js_weap_zoom_set_lookFactor(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { weapon_type *weap; weap=weapon_find_uid(js.attach.thing_uid); weap->zoom.look_factor=script_value_to_float(*vp); return(JS_TRUE); }
JSBool js_weap_crosshair_pickup_color_set_blue(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { weapon_type *weap; weap=weapon_find_uid(js.attach.thing_uid); weap->crosshair.pickup_col.b=script_value_to_float(*vp); return(JS_TRUE); }
bool js_model_set_resize(JSContextRef cx,JSObjectRef j_obj,JSStringRef name,JSValueRef vp,JSValueRef *exception) { model_draw *draw; draw=script_find_model_draw(j_obj); draw->resize=script_value_to_float(cx,vp); return(TRUE); }
bool js_weap_crosshair_color_set_blue(JSContextRef cx,JSObjectRef j_obj,JSStringRef name,JSValueRef vp,JSValueRef *exception) { weapon_type *weap; weap=weapon_get_attach(j_obj); weap->crosshair.col.b=script_value_to_float(cx,vp); return(TRUE); }
bool js_obj_thrust_set_maxSpeed(JSContextRef cx,JSObjectRef j_obj,JSStringRef name,JSValueRef vp,JSValueRef *exception) { obj_type *obj; obj=object_get_attach(j_obj); obj->thrust.max_speed=script_value_to_float(cx,vp); return(TRUE); }
bool js_obj_sight_set_lookFieldAngle(JSContextRef cx,JSObjectRef j_obj,JSStringRef name,JSValueRef vp,JSValueRef *exception) { obj_type *obj; obj=object_get_attach(j_obj); obj->sight.look_angle=script_value_to_float(cx,vp); return(TRUE); }
JSBool js_obj_turn_speed_set_topDownAngleOffset(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { obj_type *obj; obj=object_find_uid(js.attach.thing_uid); obj->turn.top_down_ang_offset=fabsf(script_value_to_float(*vp)); return(JS_TRUE); }
JSBool js_weap_hand_set_bobAngle(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { weapon_type *weap; weap=weapon_find_uid(js.attach.thing_uid); weap->hand.bounce_ang=script_value_to_float(*vp); return(JS_TRUE); }
JSBool js_weap_zoom_set_fovMaximum(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { weapon_type *weap; weap=weapon_find_uid(js.attach.thing_uid); weap->zoom.fov_max=script_value_to_float(*vp); return(JS_TRUE); }
JSValueRef js_map_object_nearest_player_skip_team_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception) { int obj_idx,team_idx,min_dist,max_dist; float ang,ang_sweep; d3pnt pnt; obj_type *obj; ang=-1; ang_sweep=360; if (!script_check_param_count(cx,func,argc,5,exception)) return(script_null_to_value(cx)); script_value_to_point(cx,argv[0],&pnt); if (!script_is_value_null(cx,argv[1])) ang=script_value_to_float(cx,argv[1]); if (!script_is_value_null(cx,argv[2])) ang_sweep=script_value_to_float(cx,argv[2]); min_dist=script_value_to_int(cx,argv[3]); max_dist=script_value_to_int(cx,argv[4]); // get team team_idx=-1; obj_idx=script_get_attached_object_uid(j_obj); if (obj_idx!=-1) { obj=server.obj_list.objs[obj_idx]; if (obj!=NULL) { switch (obj->team_idx) { case net_team_red: team_idx=net_team_blue; break; case net_team_blue: team_idx=net_team_red; break; } } } // find object obj=object_find_nearest(&pnt,NULL,-1,team_idx,ang,ang_sweep,min_dist,max_dist,TRUE,-1); if (obj==NULL) return(script_int_to_value(cx,-1)); return(script_int_to_value(cx,obj->idx)); }
JSValueRef js_obj_motion_vector_alter_gravity_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception) { obj_type *obj; if (!script_check_param_count(cx,func,argc,1,exception)) return(script_null_to_value(cx)); obj=object_get_attach(j_obj); object_alter_gravity(obj,script_value_to_float(cx,argv[0])); return(script_null_to_value(cx)); }
JSValueRef js_obj_motion_vector_walk_to_dodge_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception) { obj_type *obj; if (!script_check_param_count(cx,func,argc,2,exception)) return(script_null_to_value(cx)); obj=object_get_attach(j_obj); object_auto_walk_dodge_setup(obj,script_value_to_float(cx,argv[0]),script_value_to_int(cx,argv[1])); return(script_null_to_value(cx)); }
JSBool js_interface_bar_set_alpha_func(JSContext *cx,JSObject *j_obj,uintN argc,jsval *argv,jsval *rval) { hud_bar_type *bar; bar=script_find_bar_from_name(argv[0]); if (bar==NULL) return(JS_FALSE); bar->fill_alpha=script_value_to_float(argv[1]); return(JS_TRUE); }
JSBool js_obj_watch_set_restrict_sight_func(JSContext *cx,JSObject *j_obj,uintN argc,jsval *argv,jsval *rval) { obj_type *obj; obj=object_find_uid(js.attach.thing_uid); obj->watch.restrict_on=TRUE; obj->watch.restrict_ang=script_value_to_float(argv[0]); return(JS_TRUE); }
JSBool js_model_halo_set_maxAlpha(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { model_draw *draw; model_draw_halo *halo; draw=js_find_model_draw(j_obj,TRUE); halo=&draw->halos[draw->script_halo_idx]; halo->max_alpha=script_value_to_float(*vp); return(JS_TRUE); }
bool js_model_light_color_set_blue(JSContextRef cx,JSObjectRef j_obj,JSStringRef name,JSValueRef vp,JSValueRef *exception) { model_draw *draw; model_draw_light *light; draw=script_find_model_draw(j_obj); light=&draw->lights[draw->script_light_idx]; light->col.b=script_value_to_float(cx,vp); return(TRUE); }
JSBool js_model_light_set_exponent(JSContext *cx,JSObject *j_obj,jsval id,jsval *vp) { model_draw *draw; model_draw_light *light; draw=js_find_model_draw(j_obj,TRUE); light=&draw->lights[draw->script_light_idx]; light->exponent=script_value_to_float(*vp); return(JS_TRUE); }