Exemple #1
0
JSValueRef js_weap_projectile_spawn_from_center_func(JSContextRef cx,JSObjectRef func,JSObjectRef j_obj,size_t argc,const JSValueRef argv[],JSValueRef *exception)
{
	char					proj_name[name_str_len],err_str[256];
    obj_type				*obj;
	weapon_type				*weap;

	if (!script_check_param_count(cx,func,argc,1,exception)) return(script_null_to_value(cx));
	
	obj=object_get_attach(j_obj);
	weap=weapon_get_attach(j_obj);

	script_value_to_string(cx,argv[0],proj_name,name_str_len);

	if (!weapon_script_projectile_spawn_center(obj,weap,proj_name,1,0.0f,NULL,err_str)) {
		*exception=script_create_exception(cx,err_str);
	}

	return(script_null_to_value(cx));
}
Exemple #2
0
bool weapon_script_projectile_spawn_weapon_barrel(int tick,obj_type *obj,weapon_type *weap,char *proj_name,int count,float slop,d3ang *off_ang,char *err_str)
{
	d3pnt			pt;
	d3ang			ang;

		// if not in fpp, auto-switch to center spawn

	if (camera.mode!=cv_fpp) {
		return(weapon_script_projectile_spawn_center(tick,obj,weap,proj_name,count,slop,off_ang,err_str));
	}
	
		// get fire position and angle

	if (!weapon_get_projectile_position_angle_weapon_barrel(tick,obj,weap,&pt,&ang,err_str)) return(FALSE);
	
	weapon_get_projectile_position_angle_add_offset(&ang,off_ang);

		// spawn projectile

	return(weapon_script_projectile_spawn(tick,obj,weap,proj_name,&pt,&ang,count,slop,err_str));
}