--- data/civ2/terrain.ruleset.orig Sat Oct 23 17:07:15 1999 +++ data/civ2/terrain.ruleset Sat Oct 23 17:06:58 1999 @@ -39,6 +39,14 @@ ; amount added to trade production if square is Civ2-style river river_trade_incr=1 +; help text for Civ2-style rivers +river_help_text = _("\ +Any terrain type (except Ocean) may have a River on it. A River adds 1 \ +trade to the resources produced by that tile. It also increases a tile's \ +defense factor by 50%. Finally, land units may move along a River (but \ +not diagonally); movement along a River costs only 1/3 of a movement point.\ +") + ; percent added to defense if square has fortress fortress_defense_bonus=100 --- data/default/terrain.ruleset.orig Sat Oct 23 15:31:35 1999 +++ data/default/terrain.ruleset Sat Oct 23 14:52:05 1999 @@ -39,6 +39,14 @@ ; amount added to trade production if square is Civ2-style river river_trade_incr=1 +; help text for Civ2-style rivers +river_help_text = _("\ +Any terrain type (except Ocean) may have a River on it. A River adds 1 \ +trade to the resources produced by that tile. It also increases a tile's \ +defense factor by 50%. Finally, land units may move along a River (but \ +not diagonally); movement along a River costs only 1/3 of a movement point.\ +") + ; percent added to defense if square has fortress fortress_defense_bonus=100 --- client/helpdata.c.orig Sat Oct 23 15:06:56 1999 +++ client/helpdata.c Sat Oct 23 16:52:42 1999 @@ -267,6 +267,17 @@ genlist_insert(&category_nodes, pitem, -1); } } + + /* Add special Civ2-style river help text if it's supplied. */ + if (terrain_control.river_help_text) { + pitem = new_help_item(HELP_TEXT); + pitem->topic = mystrdup(_(" Rivers")); + strcpy(long_buffer, terrain_control.river_help_text); + wordwrap_string(long_buffer, 68); + pitem->text = mystrdup(long_buffer); + genlist_insert(&category_nodes, pitem, -1); + } + } else if(current_type==HELP_GOVERNMENT) { for(i=0; iriver_move_mode; terrain_control.river_defense_bonus = p->river_defense_bonus; terrain_control.river_trade_incr = p->river_trade_incr; + terrain_control.river_help_text = + p->river_help_text ? mystrdup(p->river_help_text) : NULL; terrain_control.fortress_defense_bonus = p->fortress_defense_bonus; terrain_control.road_superhighway_trade_bonus = p->road_superhighway_trade_bonus; terrain_control.rail_food_bonus = p->rail_food_bonus; --- common/map.h.orig Sat Oct 23 15:07:16 1999 +++ common/map.h Sat Oct 23 15:35:22 1999 @@ -79,6 +79,7 @@ enum special_river_move river_move_mode; int river_defense_bonus; /* % added to defense if Civ2 river */ int river_trade_incr; /* added to trade if Civ2 river */ + char *river_help_text; /* help for Civ2-style rivers */ int fortress_defense_bonus; /* % added to defense if fortress */ int road_superhighway_trade_bonus; /* % added to trade if road/s-highway */ int rail_food_bonus; /* % added to food if railroad */ --- common/packets.c.orig Sat Oct 23 16:20:10 1999 +++ common/packets.c Sat Oct 23 16:35:34 1999 @@ -2484,6 +2484,7 @@ cptr=put_uint16(cptr, packet->pollution_food_penalty); cptr=put_uint16(cptr, packet->pollution_shield_penalty); cptr=put_uint16(cptr, packet->pollution_trade_penalty); + if (packet->river_help_text) cptr=put_string(cptr, packet->river_help_text); put_uint16(buffer, cptr-buffer); @@ -2499,6 +2500,7 @@ struct pack_iter iter; struct terrain_misc *packet= fc_malloc(sizeof(struct terrain_misc)); + int len; pack_iter_init(&iter, pc); @@ -2519,6 +2521,14 @@ iget_uint16(&iter, &packet->pollution_food_penalty); iget_uint16(&iter, &packet->pollution_shield_penalty); iget_uint16(&iter, &packet->pollution_trade_penalty); + + len = pack_iter_remaining(&iter); + if (len) { + packet->river_help_text = fc_malloc(len); + iget_string(&iter, packet->river_help_text, len); + } else { + packet->river_help_text = NULL; + } pack_iter_end(&iter, pc); remove_packet_from_buffer(&pc->buffer); --- common/capstr.c.orig Sat Oct 23 16:23:38 1999 +++ common/capstr.c Sat Oct 23 16:22:59 1999 @@ -68,7 +68,7 @@ * are not directly related to the capability strings discussed here.) */ -#define CAPABILITY "+1.9" +#define CAPABILITY "+1.9 +river_help_text" /* "+1.9" is protocol for 1.9.0 stable release */ --- server/ruleset.c.orig Sat Oct 23 16:08:58 1999 +++ server/ruleset.c Sat Oct 23 16:08:29 1999 @@ -833,6 +833,11 @@ secfile_lookup_int_default(&file, 50, "parameters.river_defense_bonus"); terrain_control.river_trade_incr = secfile_lookup_int_default(&file, 1, "parameters.river_trade_incr"); + { + char *s = secfile_lookup_str_default(&file, NULL, + "parameters.river_help_text"); + terrain_control.river_help_text = s ? mystrdup(s) : NULL; + } terrain_control.fortress_defense_bonus = secfile_lookup_int_default(&file, 100, "parameters.fortress_defense_bonus"); terrain_control.road_superhighway_trade_bonus =