Ejemplo n.º 1
0
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));
}
Ejemplo n.º 2
0
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));
}
Ejemplo n.º 3
0
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));
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
0
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));
}
Ejemplo n.º 6
0
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));
}
Ejemplo n.º 7
0
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);
}
Ejemplo n.º 8
0
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);
}
Ejemplo n.º 9
0
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);
}
Ejemplo n.º 10
0
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);
}
Ejemplo n.º 11
0
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);
}
Ejemplo n.º 12
0
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);
}
Ejemplo n.º 13
0
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);
}
Ejemplo n.º 14
0
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);
}
Ejemplo n.º 16
0
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);
}
Ejemplo n.º 17
0
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);
}
Ejemplo n.º 18
0
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);
}
Ejemplo n.º 19
0
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);
}
Ejemplo n.º 20
0
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);
}
Ejemplo n.º 21
0
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);
}
Ejemplo n.º 22
0
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);
}
Ejemplo n.º 23
0
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));
}
Ejemplo n.º 24
0
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));
}
Ejemplo n.º 25
0
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));
}
Ejemplo n.º 26
0
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);
}
Ejemplo n.º 27
0
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);
}
Ejemplo n.º 28
0
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);
}
Ejemplo n.º 29
0
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);
}
Ejemplo n.º 30
0
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);
}