diff -ruN -X mod/diff_ignore 20011215-1800/ai/advdomestic.c mod/ai/advdomestic.c --- 20011215-1800/ai/advdomestic.c Sat Dec 15 19:09:44 2001 +++ mod/ai/advdomestic.c Sat Dec 15 20:26:49 2001 @@ -243,7 +243,8 @@ if (!unit_type_flag(acity->currently_building, F_NONMIL) && unit_types[acity->currently_building].move_type == LAND_MOVING) j += prod; - else if (unit_type_flag(acity->currently_building, F_CARAVAN) && + else if ((unit_type_flag(acity->currently_building, F_TRADE_ROUTE) || + unit_type_flag(acity->currently_building, F_HELP_WONDER)) && built_elsewhere(acity, B_SUNTZU)) j += prod; /* this also stops flip-flops */ } else if (acity->currently_building == B_BARRACKS || /* this stops flip-flops */ acity->currently_building == B_BARRACKS2 || @@ -599,12 +600,13 @@ } unit_list_iterate(pplayer->units, punit) - if (unit_flag(punit, F_CARAVAN) && + if ((unit_flag(punit, F_TRADE_ROUTE) || unit_flag(punit, F_HELP_WONDER)) && map_get_continent(punit->x, punit->y) == con) vans++; unit_list_iterate_end; city_list_iterate(pplayer->cities, acity) if (acity->is_building_unit && acity->shield_stock >= 50 && - unit_type_flag(acity->currently_building, F_CARAVAN) && + (unit_type_flag(acity->currently_building, F_TRADE_ROUTE) || + unit_type_flag(acity->currently_building, F_HELP_WONDER)) && map_get_continent(acity->x, acity->y) == con) vans++; city_list_iterate_end; @@ -617,18 +619,18 @@ /* if we just started building a wonder during a_c_c_b, the started_building */ /* notify comes equipped with an update. It calls generate_warmap, but this */ /* is a lot less warmap generation than there would be otherwise. -- Syela */ - iunit = best_role_unit(pcity, F_CARAVAN); + iunit = best_role_unit(pcity, F_HELP_WONDER); dw = pcity->ai.distance_to_wonder_city * 8 / ((iunit==U_LAST) ? SINGLE_MOVE : get_unit_type(iunit)->move_rate); want -= dw; /* value of 8 is a total guess and could be wrong, * but it's better than 0 -- Syela */ - iunit = get_role_unit(F_CARAVAN, 0); + iunit = get_role_unit(F_HELP_WONDER, 0); if (can_build_unit_direct(pcity, iunit)) { if (want > choice->want) { choice->want = want; choice->type = CT_NONMIL; - ai_choose_role_unit(pplayer, pcity, choice, F_CARAVAN, dw/2); + ai_choose_role_unit(pplayer, pcity, choice, F_HELP_WONDER, dw/2); } } else pplayer->ai.tech_want[get_unit_type(iunit)->tech_requirement] += want; @@ -646,7 +648,7 @@ /* allowing buy of peaceful units after much testing -- Syela */ if (!choice->want) { /* oh dear, better think of something! */ - iunit = best_role_unit(pcity, F_CARAVAN); + iunit = best_role_unit(pcity, F_HELP_WONDER); if (iunit == U_LAST) { iunit = best_role_unit(pcity, F_DIPLOMAT); /* someday, real diplomat code will be here! */ diff -ruN -X mod/diff_ignore 20011215-1800/ai/advmilitary.c mod/ai/advmilitary.c --- 20011215-1800/ai/advmilitary.c Sat Dec 15 19:09:44 2001 +++ mod/ai/advmilitary.c Sat Dec 15 19:59:48 2001 @@ -1086,7 +1086,7 @@ if (!pcity->is_building_unit && is_wonder(pcity->currently_building)) wondercity = map_get_continent(pcity->x, pcity->y); else wondercity = 0; - freight = best_role_unit(pcity, F_CARAVAN); + freight = best_role_unit(pcity, F_TRADE_ROUTE); moverate = (freight==U_LAST) ? SINGLE_MOVE : get_unit_type(freight)->move_rate; pcity->ai.downtown = 0; diff -ruN -X mod/diff_ignore 20011215-1800/ai/aicity.c mod/ai/aicity.c --- 20011215-1800/ai/aicity.c Sat Dec 15 19:09:44 2001 +++ mod/ai/aicity.c Sat Dec 15 19:53:48 2001 @@ -84,7 +84,7 @@ Unit_Type_id i; if (is_building_other_wonder(pcity)) { - i = best_role_unit(pcity, F_CARAVAN); + i = best_role_unit(pcity, F_HELP_WONDER); if (i < U_LAST) { ai_do_build_unit(pcity, i); return 1; @@ -420,7 +420,8 @@ pcity->food_stock < city_granary_size(pcity->size-1))) ; else if (bestchoice.type && bestchoice.type < 3 && /* not a defender */ buycost > unit_types[bestchoice.choice].build_cost * 2) { /* too expensive */ - if (unit_type_flag(bestchoice.choice, F_CARAVAN) && + if ((unit_type_flag(bestchoice.choice, F_TRADE_ROUTE) || + unit_type_flag(bestchoice.choice, F_HELP_WONDER)) && pplayer->ai.maxbuycost < 100) pplayer->ai.maxbuycost = 100; } #ifdef GRAVEDANGERWORKS @@ -458,7 +459,8 @@ /* possibly upgrade units here */ } /* end panic subroutine */ if (is_unit_choice_type(bestchoice.type) && - unit_type_flag(bestchoice.choice, F_CARAVAN)) { + (unit_type_flag(bestchoice.choice, F_TRADE_ROUTE) || + unit_type_flag(bestchoice.choice, F_HELP_WONDER))) { if (buycost > pplayer->ai.maxbuycost) pplayer->ai.maxbuycost = buycost; /* Gudy reminded me AI was slow to build wonders, I thought of the above -- Syela */ diff -ruN -X mod/diff_ignore 20011215-1800/ai/aiunit.c mod/ai/aiunit.c --- 20011215-1800/ai/aiunit.c Sat Dec 15 19:09:44 2001 +++ mod/ai/aiunit.c Sat Dec 15 20:29:53 2001 @@ -272,7 +272,8 @@ && can_unit_move_to_tile_with_notify(punit, x1, y1, 0) && !((pcity = map_get_city(x1,y1)) && (unit_flag(punit, F_DIPLOMAT) - || unit_flag(punit, F_CARAVAN))) + || unit_flag(punit, F_TRADE_ROUTE) + || unit_flag(punit, F_HELP_WONDER))) && !(is_barbarian(pplayer) && map_get_special(x1, y1) & S_HUT)) { most_unknown = unknown; best_x = x1; @@ -1386,7 +1387,8 @@ unit_list_iterate(aplayer->units, aunit) if (map_get_city(aunit->x, aunit->y)) continue; /* already dealt with it */ if (handicap && !map_get_known(aunit->x, aunit->y, pplayer)) continue; - if (unit_flag(aunit, F_CARAVAN) && !punit->id) continue; /* kluge */ + if ((unit_flag(aunit, F_TRADE_ROUTE) || unit_flag(aunit, F_HELP_WONDER)) + && !punit->id) continue; /* kluge */ if (ai_fuzzy(pplayer,1) && (aunit == get_defender(punit, aunit->x, aunit->y) && ((is_ground_unit(punit) && @@ -1864,7 +1866,7 @@ if (!punit->moves_left) return; /* can't do anything with no moves */ ai_manage_settler(pplayer, punit); return; - } else if (unit_flag(punit, F_CARAVAN)) { + } else if (unit_flag(punit, F_TRADE_ROUTE) || unit_flag(punit, F_HELP_WONDER)) { ai_manage_caravan(pplayer, punit); return; } else if (unit_has_role(punit->type, L_BARBARIAN_LEADER)) { diff -ruN -X mod/diff_ignore 20011215-1800/client/control.c mod/client/control.c --- 20011215-1800/client/control.c Sat Dec 15 19:09:38 2001 +++ mod/client/control.c Sat Dec 15 19:41:41 2001 @@ -1599,7 +1599,7 @@ void key_unit_build_wonder(void) { if(get_unit_in_focus()) - if(unit_flag(punit_focus, F_CARAVAN)) + if(unit_flag(punit_focus, F_HELP_WONDER)) request_unit_caravan_action(punit_focus, PACKET_UNIT_HELP_BUILD_WONDER); } @@ -1790,7 +1790,7 @@ void key_unit_traderoute(void) { if(get_unit_in_focus()) - if(unit_flag(punit_focus, F_CARAVAN)) + if(unit_flag(punit_focus, F_TRADE_ROUTE)) request_unit_caravan_action(punit_focus, PACKET_UNIT_ESTABLISH_TRADE); } diff -ruN -X mod/diff_ignore 20011215-1800/client/gui-gtk/menu.c mod/client/gui-gtk/menu.c --- 20011215-1800/client/gui-gtk/menu.c Sat Dec 15 19:09:36 2001 +++ mod/client/gui-gtk/menu.c Sat Dec 15 19:41:41 2001 @@ -1051,7 +1051,7 @@ punit->x, punit->y))); menus_set_sensitive("
/_Orders/Explode Nuclear", unit_flag(punit, F_NUCLEAR)); - if (unit_flag(punit, F_CARAVAN)) + if (unit_flag(punit, F_HELP_WONDER)) menus_rename("
/_Orders/_Build City", _("Help _Build Wonder")); else if (unit_flag(punit, F_CITIES)) { if (map_get_city(punit->x, punit->y)) @@ -1062,7 +1062,7 @@ else menus_rename("
/_Orders/_Build City", _("_Build City")); - if (unit_flag(punit, F_CARAVAN)) + if (unit_flag(punit, F_TRADE_ROUTE)) menus_rename("
/_Orders/Build _Road", _("Make Trade _Route")); else if (unit_flag(punit, F_SETTLERS)) { if (map_get_tile(punit->x,punit->y)->special&S_ROAD) { diff -ruN -X mod/diff_ignore 20011215-1800/client/helpdata.c mod/client/helpdata.c --- 20011215-1800/client/helpdata.c Sat Dec 15 19:09:39 2001 +++ mod/client/helpdata.c Sat Dec 15 19:44:11 2001 @@ -599,9 +599,13 @@ utype->transport_capacity); } } - if (unit_type_flag(i, F_CARAVAN)) { + if (unit_type_flag(i, F_TRADE_ROUTE)) { sprintf(buf+strlen(buf), - _("* Can establish trade routes and help build wonders.\n")); + _("* Can establish trade routes.\n")); + } + if (unit_type_flag(i, F_HELP_WONDER)) { + sprintf(buf+strlen(buf), + _("* Can help build wonders.\n")); } if (unit_type_flag(i, F_CITIES)) { sprintf(buf+strlen(buf), _("* Can build new cities.\n")); diff -ruN -X mod/diff_ignore 20011215-1800/client/packhand.c mod/client/packhand.c --- 20011215-1800/client/packhand.c Sat Dec 15 19:09:34 2001 +++ mod/client/packhand.c Sat Dec 15 19:38:41 2001 @@ -908,7 +908,7 @@ else refresh_city_dialog(pcity); - if(unit_flag(punit, F_CARAVAN) + if((unit_flag(punit, F_TRADE_ROUTE) || unit_flag(punit, F_HELP_WONDER)) && (!game.player_ptr->ai.control || ai_popup_windows) && punit->owner==game.player_idx && (punit->activity!=ACTIVITY_GOTO || diff -ruN -X mod/diff_ignore 20011215-1800/common/unit.c mod/common/unit.c --- 20011215-1800/common/unit.c Sat Dec 15 19:09:33 2001 +++ mod/common/unit.c Sat Dec 15 19:38:41 2001 @@ -185,7 +185,7 @@ && !same_pos(punit->x, punit->y, pcity->x, pcity->y)) return 0; - return unit_flag(punit, F_CARAVAN) + return unit_flag(punit, F_HELP_WONDER) && punit->owner==pcity->owner && !pcity->is_building_unit && is_wonder(pcity->currently_building) @@ -210,7 +210,7 @@ { struct city *phomecity, *pdestcity; - if (!unit_flag(punit, F_CARAVAN)) return 0; + if (!unit_flag(punit, F_TRADE_ROUTE)) return 0; pdestcity = map_get_city(punit->x, punit->y); if (!pdestcity) return 0; phomecity = find_city_by_id(punit->homecity); diff -ruN -X mod/diff_ignore 20011215-1800/common/unittype.c mod/common/unittype.c --- 20011215-1800/common/unittype.c Sat Dec 15 19:09:34 2001 +++ mod/common/unittype.c Sat Dec 15 21:44:52 2001 @@ -40,7 +40,7 @@ "Land", "Sea", "Heli", "Air" }; static const char *flag_names[] = { - "Caravan", "Missile", "IgZOC", "NonMil", "IgTer", "Carrier", + "TradeRoute" ,"HelpWonder", "Missile", "IgZOC", "NonMil", "IgTer", "Carrier", "OneAttack", "Pikemen", "Horse", "IgWall", "FieldUnit", "AEGIS", "Fighter", "Marines", "Partial_Invis", "Settlers", "Diplomat", "Trireme", "Nuclear", "Spy", "Transform", "Paratroopers", diff -ruN -X mod/diff_ignore 20011215-1800/common/unittype.h mod/common/unittype.h --- 20011215-1800/common/unittype.h Sat Dec 15 19:09:34 2001 +++ mod/common/unittype.h Sat Dec 15 19:32:41 2001 @@ -77,7 +77,8 @@ (It is easier to go from i to (1<owner != punit->owner && !pplayers_allied(city_owner(pcity), unit_owner(punit)) @@ -1108,7 +1108,7 @@ struct city *pcity_dest; punit = player_find_unit_by_id(pplayer, req->unit_id); - if (!punit || !unit_flag(punit, F_CARAVAN)) + if (!punit || !unit_flag(punit, F_HELP_WONDER)) return; pcity_dest = find_city_by_id(req->city_id); @@ -1152,7 +1152,7 @@ int revenue; punit = player_find_unit_by_id(pplayer, req->unit_id); - if (!punit || !unit_flag(punit, F_CARAVAN)) + if (!punit || !unit_flag(punit, F_TRADE_ROUTE)) return 0; pcity_homecity=player_find_city_by_id(pplayer, punit->homecity);