/* Definitions of all the task types in Xconq. Copyright (C) 1993-1996, 1998-2000 Stanley T. Shebs. Xconq is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. See the file COPYING. */ /* The argument prototype list will be shared by the create_, set_, and push_ functions, but need not include all parameters of a task, only those that are useful to pass in when manipulating tasks from an interface or AI. Thus the argtypes string will not usually match the list of function arguments, since argtypes may include internal state for the task, and not a pointer to the unit executing the task. */ DEF_TASK("none", "None", TASK_NONE, "", do_none_task, create_none_task, set_none_task, net_set_none_task, push_none_task, net_push_none_task, (Unit *unit)) /* In alphabetical order... */ DEF_TASK("build", "Build", TASK_BUILD, "uUnnxy", do_build_task, create_build_task, set_build_task, net_set_build_task, push_build_task, net_push_build_task, (Unit *unit, int u, int n, int x, int y)) DEF_TASK("capture", "Capture", TASK_CAPTURE, "xyus", do_capture_task, create_capture_task, set_capture_task, net_set_capture_task, push_capture_task, net_push_capture_task, (Unit *unit, int x, int y, int u, int s)) DEF_TASK("collect", "Collect", TASK_COLLECT, "mxy", do_collect_task, create_collect_task, set_collect_task, net_set_collect_task, push_collect_task, net_push_collect_task, (Unit *unit, int m, int x, int y)) DEF_TASK("develop", "Develop", TASK_DEVELOP, "un", do_develop_task, create_develop_task, set_develop_task, net_set_develop_task, push_develop_task, net_push_develop_task, (Unit *unit, int u, int n)) DEF_TASK("disband", "Disband", TASK_DISBAND, "", do_disband_task, create_disband_task, set_disband_task, net_set_disband_task, push_disband_task, net_push_disband_task, (Unit *unit)) DEF_TASK("hit-pos", "Hit position", TASK_HIT_POSITION, "xyz", do_hit_position_task, create_hit_position_task, set_hit_position_task, net_set_hit_position_task, push_hit_position_task, net_push_hit_position_task, (Unit *unit, int x, int y, int z)) DEF_TASK("hit-unit", "Hit", TASK_HIT_UNIT, "xyus", do_hit_unit_task, create_hit_unit_task, set_hit_unit_task, net_set_hit_unit_task, push_hit_unit_task, net_push_hit_unit_task, (Unit *unit, int x, int y, int u, int s)) DEF_TASK("move-dir", "Move dir", TASK_MOVE_DIR, "dn", do_move_dir_task, create_move_dir_task, set_move_dir_task, net_set_move_dir_task, push_move_dir_task, net_push_move_dir_task, (Unit *unit, int d, int n)) DEF_TASK("move-to", "Move to", TASK_MOVE_TO, "xyznc", do_move_to_task, create_move_to_task, set_move_to_task, net_set_move_to_task, push_move_to_task, net_push_move_to_task, (Unit *unit, int x, int y, int n)) DEF_TASK("occupy", "Occupy", TASK_OCCUPY, "Uc", do_occupy_task, create_occupy_task, set_occupy_task, net_set_occupy_task, push_occupy_task, net_push_occupy_task, (Unit *unit, Unit *unit2)) DEF_TASK("pickup", "Pickup", TASK_PICKUP, "Uc", do_pickup_task, create_pickup_task, set_pickup_task, net_set_pickup_task, push_pickup_task, net_push_pickup_task, (Unit *unit, Unit *unit2)) DEF_TASK("produce", "Produce", TASK_PRODUCE, "mnn", do_produce_task, create_produce_task, set_produce_task, net_set_produce_task, push_produce_task, net_push_produce_task, (Unit *unit, int m, int n)) DEF_TASK("repair", "Repair", TASK_REPAIR, "", do_repair_task, create_repair_task, set_repair_task, net_set_repair_task, push_repair_task, net_push_repair_task, (Unit *unit)) DEF_TASK("resupply", "Resupply", TASK_RESUPPLY, "mU", do_resupply_task, create_resupply_task, set_resupply_task, net_set_resupply_task, push_resupply_task, net_push_resupply_task, (Unit *unit, int m)) DEF_TASK("sentry", "Sentry", TASK_SENTRY, "n", do_sentry_task, create_sentry_task, set_sentry_task, net_set_sentry_task, push_sentry_task, net_push_sentry_task, (Unit *unit, int n))