| [Freeciv-Dev] Re: (PR#2433) Techs with "Never" as req1 and req2 are dele[Top] [All Lists][Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
 
 On Wed, Nov 27, 2002 at 09:57:19AM -0800, coppensbart@xxxxx via RT wrote:
> 
> When making a modpack or scenario, it is sometimes necessary to give certain 
> nations/races different techs. In Civilization, that was possible by the 
> means of setting the 2 prerequisites to None. Trying that in Freeciv doesn't 
> work. So I was advised to use "Never". That sounded right, but when I try 
> that, I get the message
> 2: Loading rulesets
> 0: tech "Wargs": req1 leads to removed tech "Fire of Morgoth" 
> This is an the exerpt from the techfile (a modified version of paulz's):
> 
> [advance_fire]
> name     = _("Fire of Morgoth")
> req1     = "Never"
> req2     = "Never"
> flags    = ""
> 
> [advance_wargs]
> name     = _("Wargs")
> req1     = "Fire of Morgoth"
> req2     = "None"
> flags    = ""
> 
> It seems that that tech is deleted instead of being usable in savegames/the 
> map editor. For advanced scenarios/modpacks, a fix for this is really 
> necessary.
This code responsible for this
  /* Some more consistency checking:
     Non-removed techs depending on removed techs is too
     broken to fix by default, so die.
  */
  for( i=A_FIRST; i<game.num_tech_types; i++ ) {
    if (tech_exists(i)) {
      a = &advances[i];
      if (!tech_exists(a->req[0])) {
        freelog(LOG_FATAL, "tech \"%s\": req1 leads to removed tech \"%s\" 
(%s)",
             a->name, advances[a->req[0]].name, filename);
        exit(EXIT_FAILURE);
      }
This code was there at the time the CVS was used. So I have no idea
what may break if we change it.
        Raimar
-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "#!/usr/bin/perl -w
  if ( `date +%w` != 1 ) {
    die "This script only works on Mondays." ;
  }"
    -- from chkars.pl by Cornelius Krasel in de.comp.os.linux.misc
 
 |  |