/**
 * INFO.txt
 *
 * @Path /sgdomain/event/war/
 * @Time 7/19/2001
 * @Auth edc
 **/

/////////////////////////
// abort.c
//
void destruct_area(string area)
void release_army(int p_id)
void abort_war(int p_id)


///////////////////////////////////
// att_arrange.c
//
// arrange the attack army. this is used to handle the the begin and over train
//
void release_army(int p_id);
void atack_abort(string p_id,int task_id)
void att_pre_arrange(int task_id,string att_area)
void att_collect(int task_id)
// this is the last stage so all the troop will created and enter the war field
void att_arrange_left(int task_id)
void put_att_troop(int task_id)
mixed get_att_val(int task_id)


/////////////////////////////////////////
// att_input.c
//
// att_input.c by fire
// tired tired tired
//
string att_get_position(string p_area,string p_dir);
array make_unique(array inp) ;
mixed get_att_val(int task_id);
void put_att_troop(int task_id);
int can_have_new_att_troop(int task_id)
string get_valid_att(int task_id)
string get_att_val_str(int task_id)
string att_prompt(int task_id)
mixed check_att_answer(int task_id,string str)
int input_arrange_att(int task_id,string str)


///////////////////////////////////////////
// attack_enter.c
//
// this means the attack part enter the battle field
// so the war can not aborted anymore
//
void attack_enter(int task_id)


//////////////////////
// check_result.c
//
//
void release_army(int p_id);
void war_att_win(int p_id);
void war_def_win(int p_id);
void bandit_def_win(int p_id)
void bandit_att_win(int p_id)
void check_result(int p_id)
void announce_att_win(string def_leader,string att_leader,string def_area)
void army_res_change(int p_id) {
void random_position(string p_id,string area)
void war_punish_defence1(string def_area,string att_leader) 
void war_punish_defence(string def_area,string att_leader,string d_nation)
void war_award_attack1(string att_leader,string *att_party,string def_area)
void war_award_attack(mixed par)
string war_fresh_body(string *ids)
void npc_army_back_to_captital(int p_id)//2001.4.13 
void announce_def_win(string def_leader,string att_leader,string def_area)
void war_punish_attack(string *att_party,string a_area)
void war_award_defence(mixed par)
void war_def_win(int p_id)
void war_log(int p_id,int r)


/////////////////////
// arrange_troop
// curent troop curent item, default value wait time
// modified by suicide in 2000.11.09
//
#define ARRANGE_TYPE(a)  "/daemons/area_d"->get_area(a,"arrange_type")
#define IS_OPEN          1
string auto_start_point(string p_area,string p_side);
void man_input(string p_id,int t_id,string p_side);
int pre_def_troop_num(int g_num,int arrange_type)
int pre_def_generals_per_troop(int g_num,int t_num)
int get_arrange_type(int task_id)
void def_arrange_left(int task_id)
void put_def_troop(int task_id)
mixed get_def_val(int task_id)
void def_pre_arrange(int task_id,string def_area)
void def_arrange(int task_id)


////////////////////
// def_input.c by fire 
// tired tired tired
//
string def_get_position(string p_area,string p_dir);
array make_unique(array inp);
mixed get_def_val(int task_id);
mixed valid_start_point(string p_area,string p_side,int x,int y);
void put_def_troop(int task_id);
int can_have_new_def_troop(int task_id)
string get_valid_def(int task_id)
string get_def_val_str(int task_id)
string def_prompt(int task_id)
mixed check_def_answer(int task_id,string str)
int input_arrange_def(int task_id,string str)


///////////////////////
// def_meeting.c
//
// used for the defensive part to prepare the war
// modified by suicide in 2000.11.09
//
void def_meeting(int t_num)
void i_want_leader(int task_id,string my_id)
void final_decision(int task_id)
void auto_want_leader(int task_id)


//////////////////////////////////////////
// input.c by fire on Dec 11,1998
//
// this is used to handle the manual arrange for war
// inherited by ev_war.c
//
#include <train.h>
#define MAX_TIME 30
void input_process(string p_id,int t_id,string p_side,string str);
string query_prompt(int t_id,string p_side)
mixed check_answer(int t_id,string p_side,string str)
string query_def_answer(int t_id,string p_side)
void finan_arrange(int task_id,string p_side)
void man_input(string p_id,int t_id,string p_side)
int input_arrange(int task_id,string p_side,string str)
void input_process(string p_id,int t_id,string p_side,string str)
void no_answer(string p_id,int t_id,string p_side)


///////////////////////////////////
// officer_d.c 
//by fire on June 30, 1998
//
#include <mudlib.h>
#define SAVE_FILE "/data/daemons/officer_d"
inherit M_ACCESS;
void save_data()
void create()
int query_max_officer_number(int p_title)
int query_level(int p_title)
int query_salary(int p_title)
int* fill_nation_officer_title(int p_nationlevel,int p_type,int p_officerlevel)
int* query_nation_officer_title(int p_nationlevel,int p_type,int p_officerlevel)
int* query_nation_officer_title_all(int p_nationlevel)
int* fill_area_officer_title(int p_arealevel,int p_type,int p_officerlevel)
int* query_area_officer_title(int p_arealevel,int p_type,int p_officerlevel)
int* query_area_officer_title_all(int p_arealevel)
string query_rank_name(int p_rank)
int init_offs()
mixed get_officer(mixed tit,string par)
string typ_str(int s)
string show_off(int r)
string stat_me(string what, mixed par) 
void clear_officer()
mixed remove_officer(int r) 
mixed add_officer(int r)
mixed set_officer(int r,string what,mixed val)


/////////////////////////////////////////
// restart_d.c
//
void test_one()
mixed clear_players() 
string stat_me()
mixed area_init1()
mixed area_init2()
mixed area_init3()
mixed area_init4()
mixed get_player_leader() 
void init_char1()
void build_npc_country(string k) 
void build_npc_country_all()
void find_npc(string a) 
void build_char_country(string k,string a)
void build_char_country_all()
void build_random_country(string a)
void build_random_country_all() 
void restart()
mixed char_test()
mixed area_test()
void creat()


///////////////////////////////////////
// robber.c
// need to handle robber for auto_war
// by fire on Sep 20, 1998
//
string auto_start_point(string p_area,string p_side);
string robber_name(string p_inp)
int robber_attack_prepare(int w_id)


///////////////////////////////////////
// start_point 
// this is used to handle the troop to enter the start position
//
int distance(int x,int y,int x1,int y1)
mixed valid_start_point(string p_area,string p_side,int x,int y)
string auto_start_point(string p_area,string p_side)
string att_get_position(string p_area,string p_dir)
string def_get_position(string p_area,string p_dir)


///////////////////////////////
// train.c 
// this is used to handle the the train process
// by fire on Dec 13, 1998
//
#include <train.h>
void release_army(int p_id);
void def_pre_arrange(int task_id,string def_area);
void train_arrange(int task_id)
void train_collect(int task_id)
void train(string p_area,string leader,string* group)
void train_process(int p_id)


///////////////////////////////
// train_beg.c 
//by fire on Dec 1998
// this is used to handle the the begin and over train
//
#include <train.h>
void release_army(int p_id);
void def_pre_arrange(int task_id,string def_area);
void train_collect(int task_id)
//Train_arrange() function have moved to train.c instead of this file.
void train_arrange(int task_id)

/////////////////////////////////////
// train_check.c 
// by fire on Dec 1998
//
#include <train.h>
int check_question(int task_id)


///////////////////////////////////////
// train_def.c
// by fire on Dec 17
//
string auto_start_point(string p_area,string p_side);
void train_arrange_defence(int task_id)
void train_arrange_attack(int task_id)


//////////////////////////////
// train_new.c 
// by fire on Dec 1998
//
#include <train.h>
// get a new question
string auto_start_point(string p_area,string p_side);
mixed new_question(int task_id)
void question_new(int task_id,string question)
void announce_task(int task_id)


/////////////////////////////////////////
// train_over.c
//
#include <train.h>
void big_award(object usr);
void small_award(object usr ,int num);
void release_army(int p_id);
void force_over(int task_id)
void train_over(int task_id)
void big_award(object usr)
void small_award(object usr ,int num)


//////////////////////////////
// train_question.c
// by fire on Dec 1998
//
#include <train.h>
mixed get_train_question()
void input_answer(string p_leader,int task_id,string ans)
void show_question(string p_leader,int task_id)
void quit_question(int task_id)


/////////////////////////////
// train_success.c
// by fire on Dec 1998
//
void def_arrange_left(int task_id);
#include <train.h>
void question_fail(int task_id)
void question_success(int task_id)
void question_wrong(int task_id)
void question_overdue(int task_id)


