diff --git a/AMAIStrategyManager.pl b/AMAIStrategyManager.pl index ca7f41d06..bb962d2c9 100644 --- a/AMAIStrategyManager.pl +++ b/AMAIStrategyManager.pl @@ -1,1014 +1,1247 @@ -#! /usr/bin/perl5 -w - -use strict; -use Tk; -use Tk::TextUndo; -use Tk::Table; -use Tk::NoteBook; - -BEGIN{ - if($^O eq 'MSWin32'){ - require Win32::Console; - #Win32::Console::Free(); - } -} - -my $fdialogbug = 0; - -if($] >= 5.008004) { - $fdialogbug = 1; -} - -my $main = MainWindow->new(-title => 'AMAI Strategy Manager'); -my $lframe = $main->Frame->pack(-side => 'left'); -my $race; -my $ver; -my $strat; -my $profile; -my $rframe = $main->Frame->pack(-side => 'right'); -my $notebook = $rframe->NoteBook()->pack(-side => 'left'); -my $stratframe = $notebook->add("strat", -label => 'Strategies'); -my $profileframe = $notebook->add("profile", -label => 'Profiles'); -my $stratlb = $stratframe->Listbox(-height => 0)->pack; -tie $strat, "Tk::Listbox", $stratlb; -my $profilelb = $profileframe->Listbox(-height => 0)->pack; -tie $profile, "Tk::Listbox", $profilelb; -my $bframe = $rframe->Frame->pack(-side => 'right'); -$bframe->Button( - -text => 'New', - -command => sub { - if ($notebook->raised eq 'strat') { - InsertStratSub("$ver\\$race\\New.ais", $ver, $race); - UpdateStratList($stratlb, $ver, $race) - } - else { - InsertProfileSub("$ver\\New.aip", $ver); - UpdateProfileList($profilelb, $ver) - } - }, - -width => 6)->pack; -$bframe->Button( - -text => 'Extract', - -command => sub { - if ($notebook->raised eq 'strat') { - ExtractStrat($main, $ver, $race, $strat) - } - else { - ExtractProfile($main, $ver, $profile) - } - }, - -width => 6)->pack; -$bframe->Button( - -text => 'Insert', - -command => sub { - if ($notebook->raised eq 'strat') { - InsertStrat($main, $ver, $race); - UpdateStratList($stratlb, $ver, $race) - } - else { - InsertProfile($main, $ver); - UpdateProfileList($profilelb, $ver) - } - }, - -width => 6)->pack; -$bframe->Button( - -text => 'Copy', - -command => sub { - if ($notebook->raised eq 'strat') { - CopyStrat($ver, $race, $strat); - UpdateStratList($stratlb, $ver, $race) - } - else { - CopyProfile($ver, $profile); - UpdateProfileList($profilelb, $ver) - } - }, - -width => 6)->pack; -$bframe->Button( - -text => 'Remove', - -command => sub { - if ($notebook->raised eq 'strat') { - RemoveStrat($main, $ver, $race, $strat); - UpdateStratList($stratlb, $ver, $race) - } - else { - RemoveProfile($main, $ver, $profile); - UpdateProfileList($profilelb, $ver) - } - }, - -width => 6)->pack; -$bframe->Button( - -text => 'Edit', - -command => sub { - if ($notebook->raised eq 'strat') { - EditStrat($main, $ver, $race, $strat) - } - else { - EditProfile($main, $ver, $profile) - } - }, - -width => 6)->pack; -$bframe->Button( - -text => 'Lock', - -command => sub { - if ($notebook->raised eq 'strat') { - SetRaceOption($ver, $race, 'debug_strategy', "STRAT_$strat->[0]") - } - else { - SetVerOption($ver, 'debug_profile', GetArrayIndex($profile, $profilelb->get(0, 'end'))) - } - }, - -width => 6)->pack; -$bframe->Button( - -text => 'Unlock', - -command => sub { - if ($notebook->raised eq 'strat') { - SetRaceOption($ver, $race, 'debug_strategy', -1) - } - else { - SetVerOption($ver, 'debug_profile', -1) - } - }, - -width => 6)->pack; -$bframe->Button( - -text => 'Quit', - -command => [$main => 'destroy'], - -width => 6)->pack; - -open(VERFILE, "Versions.txt") or die "File not found!"; -my @vers = ; -close(VERFILE); -chomp foreach (@vers); -my $raceopt; -my $veropt; -$veropt = $lframe->Optionmenu( - -command => sub { $raceopt -> destroy if($raceopt); - $raceopt = $lframe->Optionmenu( - -command => sub { UpdateStratList($stratlb, $ver, $race) }, - -variable => \$race, - -width => 10)->pack(-after => $veropt); - $raceopt -> addOptions(GetRaces($ver)); - UpdateStratList($stratlb, $ver, $race); - UpdateProfileList($profilelb, $ver) }, - -variable => \$ver, - -width => 10)->pack; -$veropt->addOptions(@vers); -$lframe->Button( - -text => 'Edit Racial Builds', - -command => sub { EditRacialBuilds($main, $ver, $race) }, - -width => 15)->pack; -$lframe->Button( - -text => 'Edit Global Settings', - -command => sub { EditSettings($main, "$ver\\GlobalSettings.txt") }, - -width => 15)->pack; -$lframe->Button( - -text => 'Edit Racial Settings', - -command => sub { EditSettings($main, "$ver\\$race\\Settings.txt") }, - -width => 15)->pack; -$lframe->Button( - -text => 'Compile', - -command => sub { system("Make$ver.bat", "1") }, - -width => 15)->pack; -$lframe->Button( - -text => 'Compile, Optimize', - -command => sub { system("MakeOpt$ver.bat", "1") }, - -width => 15)->pack; -MainLoop; - -sub GetRaces { - my $ver = shift; - open(RACEFILE, "$ver\\Races.txt") or die "File <$ver\\Races.txt> not found!"; - my @races = ; - close(RACEFILE); - chomp foreach (@races); - foreach (@races) { - /^([^\t]*)\t/; - $_ = $1; - }; - return @races; -} - -sub GetArrayIndex { - my ($x, @a) = @_; - my $i = 0; - return -1 unless (@$x[0]); - foreach (@a) { - return $i if (@$x[0] eq $_); - $i++; - } - return -1; -} - -sub SetRaceOption { - my ($ver, $race, $opt, $val) = @_; - open(SETFILE, "$ver\\$race\\Settings.txt") or die "File <$ver\\$race\\Settings.txt> not found!"; - my @setfile = (); - my $optionexists = 0; - while() { - if (/^$opt\t[^\t]*\t(.*)/) { - push @setfile, "$opt\t$val\t$1\n"; - $optionexists = 1; - } - else { - push @setfile, $_; - } - } - push @setfile, "$opt\t$val\t\n" if ($optionexists == 0); - close(SETFILE); - open(SETFILE, ">$ver\\$race\\Settings.txt") or die "File <$ver\\$race\\Settings.txt> not found!"; - print SETFILE @setfile; - close(SETFILE); -} - -sub SetVerOption { - my ($ver, $opt, $val) = @_; - open(SETFILE, "$ver\\GlobalSettings.txt") or die "File <$ver\\GlobalSettings.txt> not found!"; - my @setfile = (); - my $optionexists = 0; - while() { - if (/^$opt\t[^\t]*\t(.*)/) { - push @setfile, "$opt\t$val\t$1\n"; - $optionexists = 1; - } - else { - push @setfile, $_; - } - } - push @setfile, "$opt\t$val\t\n" if ($optionexists == 0); - close(SETFILE); - open(SETFILE, ">$ver\\GlobalSettings.txt") or die "File <$ver\\GlobalSettings.txt> not found!"; - print SETFILE @setfile; - close(SETFILE); -} - -sub GetStratList { - my $ver = shift; - my $race = shift; - return () unless ($ver and $race); - open(STRATFILE, "$ver\\$race\\Strategy.txt") or die "File <$ver\\$race\\Strategy.txt> not found!"; - my @stratlist = (); - ; - while () { - if (/^([^\t]*)\t/) { - push @stratlist, $1; - } - }; - close(STRATFILE); - return @stratlist; -}; - -sub UpdateStratList { - my $stratlb = shift; - my $ver = shift; - my $race = shift; - $stratlb->delete(0, $stratlb->index('end')-1); - $stratlb->insert('end', GetStratList($ver, $race)); -} - -sub GetProfileList { - my $ver = shift; - return () unless ($ver); - open(PROFILEFILE, "$ver\\Profiles.txt") or die "File <$ver\\Profiles.txt> not found!"; - my @profilelist = (); - ; - while () { - if (/^([^\t]*)\t/) { - push @profilelist, $1; - } - }; - close(PROFILEFILE); - return @profilelist; -}; - -sub UpdateProfileList { - my ($profilelb, $ver) = @_; - $profilelb->delete(0, $profilelb->index('end')-1); - $profilelb->insert('end', GetProfileList($ver)); -} - -sub RemoveStrat { - my ($main, $version, $race, $strat) = @_; - return unless @$strat[0]; - my $response = $main->messageBox(-message => 'Are you sure you want to remove that strategy?', -title => 'Really?', -type => 'YesNo', -default => 'no'); - return if ($response eq 'no' or $response eq 'No'); - my $stratname = @$strat[0]; - open(STRATFILE, "$version\\$race\\Strategy.txt") or die "File <$version\\$race\\Strategy.txt> not found!"; - my @stratfile = (); - while () { - unless (/^$stratname\t/) { - push(@stratfile, $_); - } - } - close(STRATFILE); - open(STRATFILE, ">$version\\$race\\Strategy.txt") or die "File <$version\\$race\\Strategy.txt> could not be opened for writing!"; - print STRATFILE @stratfile; - close(STRATFILE); - @stratfile = (); - open(AIFILE, "$version\\$race\\BuildSequence.ai") or die "File <$version\\$race\\BuildSequence.ai> not found!"; - my @aifile = (); - while () { - if (/\bfunction\s*init_strategy_$stratname\b/) { - while (( or die "Strategy not complete in Build Sequence") !~ /endfunction/) {} - while (( or die "Strategy not complete in Build Sequence") !~ /endfunction/) {} - } - else { - push(@aifile, $_); - } - } - close(AIFILE); - open(AIFILE, ">$version\\$race\\BuildSequence.ai") or die "File <$version\\$race\\BuildSequence.ai> could not be opened for writing!"; - print AIFILE @aifile; - close(AIFILE); -} - -sub RemoveProfile { - my ($main, $version, $profile) = @_; - return unless @$profile[0]; - my $response = $main->messageBox(-message => 'Are you sure you want to remove that profile?', -title => 'Really?', -type => 'YesNo', -default => 'no'); - return if ($response eq 'no' or $response eq 'No'); - my $profilename = @$profile[0]; - open(PROFILEFILE, "$version\\Profiles.txt") or die "File <$version\\Profiles.txt> not found!"; - my @profilefile = (); - while () { - unless (/^$profilename\t/) { - push(@profilefile, $_); - } - } - close(PROFILEFILE); - open(PROFILEFILE, ">$version\\Profiles.txt") or die "File <$version\\Profiles.txt> could not be opened for writing!"; - print PROFILEFILE @profilefile; - close(PROFILEFILE); -} - -sub CopyStrat { - my ($version, $race, $strat) = @_; - return unless @$strat[0]; - my $stratname = @$strat[0]; - ExtractStratSub('tmp', $version, $race, $stratname); - InsertStratSub('tmp', $version, $race); - system "del tmp"; -} - -sub CopyProfile { - my ($version, $profile) = @_; - return unless @$profile[0]; - my $profilename = @$profile[0]; - ExtractProfileSub('tmp', $version, $profilename); - InsertProfileSub('tmp', $version); - system "del tmp"; -} - -sub ExtractStratSub { - my ($filename, $version, $race, $stratname) = @_; - open(AIFILE, "$version\\$race\\BuildSequence.ai") or die "File <$version\\$race\\BuildSequence.ai> not found!"; - open(STRATFILE, "$version\\$race\\Strategy.txt") or die "File <$version\\$race\\Strategy.txt> not found!"; - open(TARGETFILE, ">$filename") or die "File <$filename> not found!"; - print TARGETFILE "#AMAI 2.0 Strategy\n"; - my $line = ; - while (($line = ( or die "Strategy not found in Strategy Table")) !~ /^$stratname\t/) {} - print TARGETFILE $line; - while (($line = ( or die "Strategy not found in Build Sequence")) !~ /\bfunction\s*init_strategy_$stratname\b/) {} - print TARGETFILE $line; - while (($line = ( or die "Strategy not complete in Build Sequence")) !~ /endfunction/) {print TARGETFILE $line;} - print TARGETFILE $line; - while (($line = ( or die "Strategy not complete in Build Sequence")) !~ /endfunction/) {print TARGETFILE $line;} - print TARGETFILE $line; - close(TARGETFILE); - close(AIFILE); - close(STRATFILE); -} - -sub ExtractStrat { - my ($main, $version, $race, $strat) = @_; - return unless @$strat[0]; - my $stratname = @$strat[0]; - my $types = [['AMAI Strategies', '.ais']]; - $types = [['AMAI Strategies', '.ais'],[]] if ($fdialogbug); - my $filename = $main->getSaveFile( - -defaultextension => '.ais', - -filetypes => $types ); - return unless ($filename and ($filename ne "")); - ExtractStratSub($filename, $version, $race, $stratname); -} - -sub ExtractProfileSub { - my ($filename, $version, $profilename) = @_; - open(PROFILEFILE, "$version\\Profiles.txt") or die "File <$version\\Profiles.txt> not found!"; - open(TARGETFILE, ">$filename") or die "File <$filename> not found!"; - print TARGETFILE "#AMAI 2.0 Profile\n"; - my $line = ; - while (($line = ( or die "Profile not found in Profile Table")) !~ /^$profilename\t/) {} - print TARGETFILE $line; - close(TARGETFILE); - close(PROFILEFILE); -} - -sub ExtractProfile { - my ($main, $version, $profile) = @_; - return unless @$profile[0]; - my $profilename = @$profile[0]; - my $types = [['AMAI Profiles', '.aip']]; - $types = [['AMAI Profiles', '.aip'],[]] if ($fdialogbug); - my $filename = $main->getSaveFile( - -defaultextension => '.aip', - -filetypes => $types ); - return unless ($filename and ($filename ne "")); - ExtractProfileSub($filename, $version, $profilename); -} - -sub InsertStratSub { - my ($filename, $version, $race) = @_; - my $stratlist = join ',', GetStratList($version, $race); - open(SOURCE, $filename) or die "File <$filename> not found!"; - open(AIFILE, ">>$version\\$race\\BuildSequence.ai") or die "File <$version\\$race\\BuildSequence.ai> not found!"; - open(STRATFILE, ">>$version\\$race\\Strategy.txt") or die "File <$version\\$race\\Strategy.txt> not found!"; - my $line = ; - if ($line !~ /#AMAI 2.0 Strategy/) {die "No AMAI 2.0 Strategy File";} - $line = ; - $line =~ /^([^\t]*)\t/; - my $oldstratname = $1; - my $stratname = $oldstratname; - my $x = 0; - while ($stratlist =~ /\b$stratname\b/) { - $x++; - $stratname = "$oldstratname$x"; - } - - $line =~ s/^$oldstratname/$stratname/; - print STRATFILE $line; - print AIFILE "\n"; - while () { - s/\b(function \w*_)$oldstratname\b/$1$stratname/; - print AIFILE; - } - close(AIFILE); - close(STRATFILE); - close(SOURCE); -} - -sub InsertStrat { - my ($main, $version, $race) = @_; - my $types = [['AMAI Strategies', '.ais']]; - $types = [['AMAI Strategies', '.ais'],[]] if ($fdialogbug); - my $filename = $main->getOpenFile( - -defaultextension => '.ais', - -filetypes => $types ); - return unless ($filename and ($filename ne "")); - InsertStratSub($filename, $version, $race); -} - -sub InsertProfileSub { - my ($filename, $version) = @_; - my $profilelist = join ',', GetProfileList($version); - open(SOURCE, $filename) or die "File <$filename> not found!"; - open(PROFILEFILE, ">>$version\\Profiles.txt") or die "File <$version\\Profiles.txt> not found!"; - my $line = ; - if ($line !~ /#AMAI 2.0 Profile/) {die "No AMAI 2.0 Profile File";} - $line = ; - $line =~ /^([^\t]*)\t/; - my $oldprofilename = $1; - my $profilename = $oldprofilename; - my $x = 0; - while ($profilelist =~ /\b$profilename\b/) { - $x++; - $profilename = "$oldprofilename$x"; - } - - $line =~ s/^$oldprofilename/$profilename/; - print PROFILEFILE $line; - close(PROFILEFILE); - close(SOURCE); -} - -sub InsertProfile { - my ($main, $version) = @_; - my $types = [['AMAI Profiles', '.aip']]; - $types = [['AMAI Profiles', '.aip'],[]] if ($fdialogbug); - my $filename = $main->getOpenFile( - -defaultextension => '.aip', - -filetypes => $types ); - return unless ($filename and ($filename ne "")); - InsertProfileSub($filename, $version); -} - -sub EditStrat { - my ($main, $version, $race, $strat) = @_; - return unless @$strat[0]; - my $edit = $main->Toplevel(-title => 'AMAI Strategy Editor'); - my $lframe = $edit->Frame->pack(-side => 'left'); - my $rframe = $edit->Frame->pack(-side => 'right'); - my $bframe = $rframe->Frame->pack(-side => 'right'); - my $strattable = $rframe->Table(-rows => 37)->pack(-side => 'left'); - open(TIERFILE, "$ver\\$race\\Tiers.txt") or die "File <$ver\\$race\\Tiers.txt> not found!"; - my @tiers = ; - my $tiernum = @tiers; - close(TIERFILE); - my $textheight = 44 / ($tiernum + 1); - my @buildtexttier = (); - $lframe->Label(-text => 'Initalisation Code')->pack; - my $inittext = $lframe->Scrolled('TextUndo', -scrollbars => 'se', -wrap => 'none', -height => $textheight)->pack; - for(my $i=1;$i<=$tiernum;$i++) { - $lframe->Label(-text => "Code for Tier $i")->pack; - $buildtexttier[$i] = $lframe->Scrolled('TextUndo', -scrollbars => 'se', -wrap => 'none', -height => $textheight)->pack; - } - my $optarrayref = FillTable($strattable, $version, $race, @$strat[0]); - FillTexts($inittext, \@buildtexttier, $version, $race, @$strat[0]); - $bframe->Button( - -text => 'OK', - -command => sub {SaveStrat($edit, $inittext, \@buildtexttier, $strattable, $version, $race, @$strat[0], $optarrayref)}, - -width => 6)->pack; - $bframe->Button( - -text => 'Cancel', - -command => [$edit => 'destroy'], - -width => 6)->pack; - $edit->focusForce; -} - -sub EditProfile { - my ($main, $version, $profile) = @_; - return unless @$profile[0]; - my $edit = $main->Toplevel(-title => 'AMAI Profile Editor'); - my $bframe = $edit->Frame->pack(-side => 'right'); - my $profiletable = $edit->Table(-rows => 37)->pack(-side => 'left'); - my $optarrayref = FillProfileTable($profiletable, $version, @$profile[0]); - $bframe->Button( - -text => 'OK', - -command => sub {SaveProfile($edit, $profiletable, $version, @$profile[0], $optarrayref)}, - -width => 6)->pack; - $bframe->Button( - -text => 'Cancel', - -command => [$edit => 'destroy'], - -width => 6)->pack; - $edit->focusForce; -} - -sub GetVarList { - my ($ver, $var, $race) = @_; - open(VARFILE, "VarDefs.ini") or die "File not found!"; - ; - while() { - chomp; - if (/$var\t(.*)/) { - my $fn = $1; - $fn =~ s/\$RACE\$/$race/g; - close(VARFILE); - open(VARTABLE, "$ver\\$fn") or die "File <$ver\\$fn> not found!"; - my @vt = (); - while () { - /([^\t\n]*)(\t|\n|$)/; - push @vt, $1; - } - close(VARTABLE); - return @vt; - } - } - return $var; -} - -sub ExtendTable { - my ($ver, $race, @table) = @_; - my @outtable = (); - foreach (@table) { - my @l = (); - push @l, $_; - my $b = 1; - while($b) { - $b = 0; - my @lout = (); - foreach (@l) { - if(/\$([^\$]*)\$/) { - my $var = $1; - my $it = $_; - $b = 1; - foreach (GetVarList($ver, $var, $race)) { - my $itrep = $it; - $itrep =~ s/\$$var\$/$_/g; - push @lout, $itrep; - } - } - else { - push @lout, $_; - } - } - @l = @lout; - } - push @outtable, @l; - } - return @outtable; -} - -sub ExtendOptList { - my ($ver, $dummy, @ilist) = @_; - my @olist = ($dummy); - foreach(@ilist) { - if (/\%([^\%]+)\%/) { - push @olist, GetVarList($ver, $1, ''); - } - else { - push @olist, $_; - } - } - return @olist; -} - -sub GetOptList { - my $ver = shift; - open(OPTFILE, "Optionlist.ini") or die "File not found!"; - my %optlist = (); - my @optfile = ; - close(OPTFILE); - @optfile = ExtendTable($ver, '', @optfile); - foreach (@optfile) { - chomp; - /([^:]*):([^:]*)/; - my $optname = $1; - my @optarray = split(',', $2); - @optarray = ExtendOptList($ver, @optarray) if ($optarray[0] eq 'list'); - $optlist{$optname} = \@optarray; - } - return \%optlist; -} - -sub OptionmenuAddOptions { - my ($optmenu, $curval, @optlist) = @_; - foreach (@optlist) { - $optmenu->addOptions($_) unless $_ eq $curval; - } - $optmenu->addOptions($curval); -} - -sub GetUnitLists { - my ($version, $race) = @_; - my @unitlist = (0); - my @buildinglist = (0); - my @upgradelist = (0); - my @herolist = (0); - open(UNITFILE, "$version\\StandardUnits.txt") or die "File <$version\\StandardUnits.txt> not found!"; - while() { - my @line = split("\t", $_); - push @buildinglist, $line[0] if ($line[2] =~ /$race/ and $line[4] eq "BUILDING"); - push @unitlist, $line[0] if (($line[2] =~ /$race/) and ($line[3] !~ /peon|mutated/) and $line[4] eq "UNIT"); - push @upgradelist, $line[0] if (($line[2] =~ /$race/) and ($line[3] =~ /upgrade/)); - push @herolist, $line[0] if (($line[2] =~ /$race|NEUTRAL/) and ($line[3] !~ /mutated/) and ($line[3] =~ /hero/)); - } - close(UNITFILE); - return (\@unitlist, \@buildinglist, \@upgradelist, \@herolist); -} - -sub GetProfileUnitLists { - my ($version, @races) = @_; - my %unitlists; - my %herolists; - foreach (@races) { - my @unitlist = (0); - my @herolist = (0); - $unitlists{$_} = \@unitlist; - $herolists{$_} = \@herolist; - } - open(UNITFILE, "$version\\StandardUnits.txt") or die "File <$version\\StandardUnits.txt> not found!"; - while() { - my @line = split("\t", $_); - foreach (@races) { - push @{$unitlists{$_}}, $line[0] if (($line[3] !~ /dummy|mutated|peon/) and ($line[2] =~ /$_/) and $line[4] eq "UNIT"); - push @{$herolists{$_}}, $line[0] if (($line[3] =~ /hero/) and ($line[3] !~ /mutated/) and ($line[2] =~ /$_/)); - } - } - close(UNITFILE); - return (\%unitlists, \%herolists); -} - -sub FillTable { - my ($strattable, $version, $race, $strat) = @_; - my $optlistref = GetOptList($version); - my %optlist = %$optlistref; - my ($unitlistref, $buildinglistref, $upgradelistref, $herolistref) = GetUnitLists($version, $race); - my @unitlist = @{$unitlistref}; - my @buildinglist = @{$buildinglistref}; - my @upgradelist = @{$upgradelistref}; - my @herolist = @{$herolistref}; - open(STRATFILE, "$version\\$race\\Strategy.txt") or die "File <$version\\$race\\Strategy.txt> not found!"; - my $line = ; - chomp($line); - my @opt = split("\t", $line); - my $l; - my $i = 0; - foreach my $v (@opt) { - $l = $strattable->Label(-text => $v); - $strattable->put($i, 0, $l); - $i++; - } - while (($line = ( or die "Strategy not found in Strategy table.")) !~ /^$strat\t/) {} - chomp($line); - my @optval = split("\t", $line); - $i = 0; - my @optarray = (); - foreach my $v (@optval) { - if ($optlist{$opt[$i]}) { - my @optvalarray = @{$optlist{$opt[$i]}}; - $l = $strattable->Optionmenu( - -variable => \($optarray[$i]), - -width => 25)->pack; - if ($optvalarray[0] eq 'list') { - OptionmenuAddOptions($l, $v, @optvalarray[1..$#optvalarray]); - } - elsif ($optvalarray[0] eq 'unit') { - OptionmenuAddOptions($l, $v, @unitlist); - } - elsif ($optvalarray[0] eq 'building') { - OptionmenuAddOptions($l, $v, @buildinglist); - } - elsif ($optvalarray[0] eq 'hero') { - OptionmenuAddOptions($l, $v, @herolist); - } - else { - OptionmenuAddOptions($l, $v, @upgradelist); - } - } - else { - $l = $strattable->Entry(-width => 25); - $l->insert('end', $v); - } - $strattable->put($i, 1, $l); - $i++; - } - close(STRATFILE); - return \@optarray; -} - -sub FillProfileTable { - my ($profiletable, $version, $profile) = @_; - my $optlistref = GetOptList($version); - my %optlist = %$optlistref; - my ($unitlistref, $herolistref) = GetProfileUnitLists($version, GetRaces($version), 'NEUTRAL'); - my %unitlists = %{$unitlistref}; - my %herolists = %{$herolistref}; - open(PROFILEFILE, "$version\\Profiles.txt") or die "File <$version\\Profiles.txt> not found!"; - my $line = ; - chomp($line); - my @opt = split("\t", $line); - my $l; - my $i = 0; - foreach my $v (@opt) { - $l = $profiletable->Label(-text => $v); - $profiletable->put($i, 0, $l); - $i++; - } - while (($line = ( or die "Profile not found in Profile table.")) !~ /^$profile\t/) {} - chomp($line); - my @optval = split("\t", $line); - $i = 0; - my @optarray = (); - foreach my $v (@optval) { - if ($optlist{$opt[$i]}) { - my @optvalarray = @{$optlist{$opt[$i]}}; - $l = $profiletable->Optionmenu( - -variable => \($optarray[$i]), - -width => 35)->pack; - if ($optvalarray[0] eq 'list') { - OptionmenuAddOptions($l, $v, @optvalarray[1..$#optvalarray]); - } - elsif ($optvalarray[0] eq 'unit') { - OptionmenuAddOptions($l, $v, @{$unitlists{$optvalarray[1]}}); - } - else { - OptionmenuAddOptions($l, $v, @{$herolists{$optvalarray[1]}}); - } - } - else { - $l = $profiletable->Entry(-width => 40); - $l->insert('end', $v); - } - $profiletable->put($i, 1, $l); - $i++; - } - close(PROFILEFILE); - return \@optarray; -} - -sub AssembleTable { - my ($strattable, $optarrayref) = @_; - my @jl = (); - for(my $i=0;$i<$strattable->totalRows;$i++) { - if (defined @{$optarrayref}[$i]) { - push @jl, @{$optarrayref}[$i]; - } - else { - push @jl, $strattable->get($i,1)->get; - } - } - return join "\t", @jl; -} - -sub FillTexts { - my ($inittext, $buildtexttierref, $version, $race, $stratname, @optarray) = @_; - my @buildtexttier = @{$buildtexttierref}; - open(AIFILE, "$version\\$race\\BuildSequence.ai") or die "File <$version\\$race\\BuildSequence.ai> not found!"; - my $line; - while (( or die "Strategy not found in AI File") !~ /\bfunction\s*init_strategy_$stratname\b/) {} - while (($line = ( or die "Strategy not complete in AI File")) !~ /endfunction/) {$inittext->insert('end', $line);} - while (( or die "Strategy not complete in AI File") !~ /\bfunction\s*build_sequence_$stratname\b/) {} - while (( or die "Strategy not complete in AI File") !~ /if.*tier.*==.*$#buildtexttier/) {} - for(my $i=$#buildtexttier;$i>2;$i--) { - my $j = $i-1; - while (($line = ( or die "Strategy not complete in AI File")) !~ /elseif.*tier.*==.*$j/) {$buildtexttier[$i]->insert('end', $line);} - } - my $iflevel = 0; - while ((($line = ( or die "Strategy not complete in AI File")) !~ /\belse\b/) or $iflevel != 0) { - $buildtexttier[2]->insert('end', $line); - $iflevel++ if ($line =~ /\bif/); - $iflevel-- if ($line =~ /endif/); - } - $iflevel = 0; - while ((($line = ( or die "Strategy not complete in AI File")) !~ /endif/) or $iflevel != 0) { - $buildtexttier[1]->insert('end', $line); - $iflevel++ if ($line =~ /\bif/); - $iflevel-- if ($line =~ /endif/); - } - close(AIFILE); -} - -sub SaveStrat { - my ($edit, $inittext, $buildtexttierref, $strattable, $version, $race, $stratname, $optarrayref) = @_; - my @buildtexttier = @{$buildtexttierref}; - my $newstratname = $strattable->get(0,1)->get; - open(STRATFILE, "$version\\$race\\Strategy.txt") or die "File <$version\\$race\\Strategy.txt> not found!"; - my @stratfile = (); - while () { - if (/^$stratname\t/) { - push(@stratfile, AssembleTable($strattable, $optarrayref)); - push(@stratfile, "\n"); - } - else { - push(@stratfile, $_); - } - } - close(STRATFILE); - open(STRATFILE, ">$version\\$race\\Strategy.txt") or die "File <$version\\$race\\Strategy.txt> could not be opened for writing!"; - print STRATFILE @stratfile; - close(STRATFILE); - @stratfile = (); - open(AIFILE, "$version\\$race\\BuildSequence.ai") or die "File <$version\\$race\\BuildSequence.ai> not found!"; - my @aifile = (); - while () { - if (/\bfunction\s*init_strategy_$stratname\b/) { - while (( or die "Strategy not complete in Build Sequence") !~ /endfunction/) {} - while (( or die "Strategy not complete in Build Sequence") !~ /endfunction/) {} - push(@aifile, "function init_strategy_$newstratname takes nothing returns nothing\n"); - push(@aifile, $inittext->get('1.0', 'end')); - push(@aifile, "endfunction\n"); - push(@aifile, "function build_sequence_$newstratname takes nothing returns nothing\n"); - push(@aifile, "if tier == $#buildtexttier then\n"); - for(my $i=$#buildtexttier;$i>2;$i--) { - my $j = $i-1; - push(@aifile, $buildtexttier[$i]->get('1.0', 'end')); - push(@aifile, "elseif tier == $j then\n"); - } - push(@aifile, $buildtexttier[2]->get('1.0', 'end')); - push(@aifile, "else\n"); - push(@aifile, $buildtexttier[1]->get('1.0', 'end')); - push(@aifile, "endif\n"); - push(@aifile, "endfunction\n"); - } - else { - push(@aifile, $_); - } - } - close(AIFILE); - open(AIFILE, ">$version\\$race\\BuildSequence.ai") or die "File <$version\\$race\\BuildSequence.ai> could not be opened for writing!"; - print AIFILE @aifile; - close(AIFILE); - $edit->destroy; -} - -sub SaveProfile { - my ($edit, $profiletable, $version, $profilename, $optarrayref) = @_; - my $newprofilename = $profiletable->get(0,1)->get; - open(PROFILEFILE, "$version\\Profiles.txt") or die "File <$version\\Profiles.txt> not found!"; - my @profilefile = (); - while () { - if (/^$profilename\t/) { - push(@profilefile, AssembleTable($profiletable, $optarrayref)); - push(@profilefile, "\n"); - } - else { - push(@profilefile, $_); - } - } - close(PROFILEFILE); - open(PROFILEFILE, ">$version\\Profiles.txt") or die "File <$version\\Profiles.txt> could not be opened for writing!"; - print PROFILEFILE @profilefile; - close(PROFILEFILE); - $edit->destroy; -} - -sub EditRacialBuilds { - my ($main, $ver, $race) = @_; - my $edit = $main->Toplevel(-title => 'AMAI Racial Builds Editor'); - my $lframe = $edit->Frame->pack(-side => 'left'); - my $rframe = $edit->Frame->pack(-side => 'right'); - my $textheight = 22; - $lframe->Label(-text => 'Initalisation Code')->pack; - my $inittext = $lframe->Scrolled('TextUndo', -scrollbars => 'se', -wrap => 'none', -height => $textheight)->pack; - $lframe->Label(-text => "Build Code")->pack; - my $buildtext = $lframe->Scrolled('TextUndo', -scrollbars => 'se', -wrap => 'none', -height => $textheight)->pack; - LoadRacialBuild($inittext, $buildtext, $ver, $race); - $rframe->Button( - -text => 'OK', - -command => sub {SaveRacialBuild($edit, $inittext, $buildtext, $ver, $race)}, - -width => 6)->pack; - $rframe->Button( - -text => 'Cancel', - -command => [$edit => 'destroy'], - -width => 6)->pack; - $edit->focusForce; -} - -sub LoadRacialBuild { - my ($inittext, $buildtext, $ver, $race) = @_; - open(AIFILE, "$ver\\$race\\BuildSequence.ai") or die "File <$ver\\$race\\BuildSequence.ai> not found!"; - my $line; - while (( or die "global_init_strategy not in Build Sequence") !~ /function global_init_strategy/) {} - while (($line = ( or die "global_init_strategy not complete in Build Sequence")) !~ /endfunction/) {$inittext->insert('end', $line);} - while (( or die "global_build_sequence not in Build Sequence") !~ /function global_build_sequence/) {} - while (($line = ( or die "global_build_sequence not complete in Build Sequence")) !~ /endfunction/) {$buildtext->insert('end', $line);} - close(AIFILE); -} - -sub SaveRacialBuild { - my ($edit, $inittext, $buildtext, $ver, $race) = @_; - open(AIFILE, "$ver\\$race\\BuildSequence.ai") or die "File <$ver\\$race\\BuildSequence.ai> not found!"; - my @aifile = (); - while () { - if (/\bfunction\s*global_init_strategy\b/) { - while (( or die "Global Builds not complete in Build Sequence") !~ /endfunction/) {} - while (( or die "Global Builds not complete in Build Sequence") !~ /endfunction/) {} - push(@aifile, "function global_init_strategy takes nothing returns nothing\n"); - push(@aifile, $inittext->get('1.0', 'end')); - push(@aifile, "endfunction\n"); - push(@aifile, "function global_build_sequence takes nothing returns nothing\n"); - push(@aifile, $buildtext->get('1.0', 'end')); - push(@aifile, "endfunction\n"); - } - else { - push(@aifile, $_); - } - } - close(AIFILE); - open(AIFILE, ">$ver\\$race\\BuildSequence.ai") or die "File <$ver\\$race\\BuildSequence.ai> could not be opened for writing!"; - print AIFILE @aifile; - close(AIFILE); - $edit->destroy; -} - -sub EditSettings { - my ($main, $file) = @_; - my $edit = $main->Toplevel(-title => 'AMAI Settings Editor'); - my $lframe = $edit->Frame->pack(-side => 'left'); - my $rframe = $edit->Frame->pack(-side => 'right'); - my $table = $lframe->Table(-rows => 37)->pack(-side => 'left'); - my $rownumber = LoadSettings($table, $file); - $rframe->Button( - -text => 'OK', - -command => sub {SaveSettings($edit, $table, $file, $rownumber)}, - -width => 6)->pack; - $rframe->Button( - -text => 'Cancel', - -command => [$edit => 'destroy'], - -width => 6)->pack; - $edit->focusForce; -} - -sub LoadSettings { - my ($table, $file) = @_; - open(SETTINGS, $file) or die "File <$file> not found!"; - ; - my $i = 0; - while() { - chomp; - my @setting = split "\t", $_; - my $l = $table->Label(-text => $setting[0]); - $table->put($i, 0, $l); - $l = $table->Entry(-width => 25); - $l->insert('end', $setting[1]); - $table->put($i, 1, $l); - $l = $table->Label(-text => $setting[2]); - $table->put($i, 2, $l); - $i++; - } - close(SETTINGS); - return $i; -} - -sub SaveSettings { - my ($edit, $table, $file, $rownumber) = @_; - open(SETTINGS, ">$file") or die "File <$file> could not be opened for writing!"; - print SETTINGS "Variable Setting\tValue\tComment\n"; - for(my $i=0;$i<$rownumber;$i++) { - my $setting = $table->get($i, 0)->cget('-text'); - my $value = $table->get($i, 1)->get; - my $comment = $table->get($i, 2)->cget('-text'); - print SETTINGS "$setting\t$value\t$comment\n"; - } - close(SETTINGS); - $edit->destroy; -} +#! /usr/bin/perl5 -w + +use strict; +use Tk; +use Tk::TextUndo; +use Tk::Table; +use Tk::NoteBook; +use Tk::Balloon; # Add for tooltips +use Tk::Font; +use utf8; +use open ':std', ':encoding(UTF-8)'; + +my $fdialogbug = 0; + +if($] >= 5.008004) { + $fdialogbug = 1; +} + +my $language = "Chinese"; +my $lang_path = 'AMAIStrategyManager.pl'; + +sub set_language { + my ($key) = @_; + open (LANGX, "<$lang_path"); + my @lines = ; + close LANGX; + if (defined $key && $key ne "") { + foreach my $line (@lines) { + if ($line =~ /^(\s*)my\s+\$language\s*=/) { + $line = "$1my \$language = \"$key\";\n"; + last; + } + } + } else { + $language = "English"; + } + open (LANGX, ">$lang_path"); + print LANGX @lines; + close(LANGX); + exec $^X, $lang_path; +}; + +if (!$language) { + set_language("English"); +} + +my %lang_data_cache; +my $lang_file = "Languages\\$language\\StrategyManager.txt"; +my $back_lang_file = "Languages\\English\\StrategyManager.txt"; +sub load_language { + my ($lang_file) = @_; + return $lang_data_cache{$lang_file} if exists $lang_data_cache{$lang_file}; + open (LANG, $lang_file) or die "Cannot open file <$lang_file>"; + my %keylang; + while () { + chomp; + next if /^\s*(?:#.*)?$/; + my ($key, $value) = split '=', $_, 2; + unless (defined $key && defined $value) { + warn "Invalid line format in language file at line $.: $_"; + next; + } + # $key =~ s/^\s+|\s+$//g; + # $value =~ s/^\s+|\s+$//g; + $keylang{$key} = $value; + } + close LANG; + $lang_data_cache{$lang_file} = \%keylang; + return \%keylang; +} + +sub get_translation { + my ($key, @args) = @_; + my $lang_ref = load_language($lang_file); + if (exists $lang_ref->{$key} && $lang_ref->{$key} !~ /^\s*$/) { + return sprintf($lang_ref->{$key}, @args); + } + $lang_ref = load_language($back_lang_file); + if (exists $lang_ref->{$key} && $lang_ref->{$key} !~ /^\s*$/) { + return sprintf($lang_ref->{$key}, @args); + } + if (@args) { + return join(@args) . " $key"; + } else { + return $key; + } +} + +my $main = MainWindow->new(-title => get_translation('title_strategy_manager')); +$main->optionAdd('*font' => 'Segoe 12'); +my $lframe = $main->Frame->pack(-side => 'left', -padx => 4); +my ($screen_width, $screen_height) = ($main->screenwidth, $main->screenheight); +$main->maxsize(520, 1280); +$main->minsize(520, 880); +my $race; +my $ver; +my $strat; +my $profile; +my $rframe = $main->Frame->pack(-side => 'right'); +my $font = $main->Font(-family => "Segoe", -size => 11, -weight => 'normal'); +my $notebook = $rframe->NoteBook()->pack(-side => 'left'); +$notebook->configure(-font => ['Segoe', 11]); +my $stratframe = $notebook->add("strat", -label => get_translation('label_strategies')); +my $profileframe = $notebook->add("profile", -label => get_translation('label_profiles')); +my $stratlb = $stratframe->Scrolled('Listbox', + -scrollbars => 'se', + -height => 0, +)->pack(-fill => 'both', -expand => 1); +mouse_wheel($stratlb); +tie $strat, "Tk::Listbox", $stratlb; +my $profilelb = $profileframe->Scrolled('Listbox', + -scrollbars => 'se', + -height => 0, +)->pack(-fill => 'both', -expand => 1); +mouse_wheel($profilelb); +tie $profile, "Tk::Listbox", $profilelb; +my $bframe = $rframe->Frame->pack(-side => 'right'); +sub confirm_box { + my ($message) = @_; + $main->messageBox( + -message => $message, + -title => get_translation('title_really'), + -type => 'OK', + -default => 'OK', + ); + die; +} + +sub mouse_wheel { + my ($widget) = @_; + $widget->focus; + $widget->bind('', sub { + my $delta = $Tk::event->D; + $widget->yview('scroll', -($delta <=> 0), 'units'); + }); +} + +# Add a Balloon widget for tooltips +my $balloon = $main->Balloon( + -background => '#f8f9fa', # Soft, light-gray background + -foreground => '#343a40', # Dark gray text for high contrast + -font => 'Segoe 11 bold', # Clean and modern font style + -borderwidth => 1, # Thin border for a sleek appearance + -relief => 'flat', # Flat style for a minimalistic look +); + +# Create a reusable subroutine for button creation +sub create_button { + my ($parent, $text, $command, $width, $tooltip) = @_; + my $button = $parent->Button( + -text => $text, + -font => $font, + -command => $command, + -width => $width + )->pack; + $balloon->attach($button, -msg => $tooltip) if $tooltip; + return $button; +} + +# Replace button creation with the reusable subroutine +create_button($bframe, get_translation('button_new'), sub { + if ($notebook->raised eq 'strat') { + InsertStratSub("$ver\\$race\\New.ais", $ver, $race); + UpdateStratList($stratlb, $ver, $race); + } else { + InsertProfileSub("$ver\\New.aip", $ver); + UpdateProfileList($profilelb, $ver); + } +}, 18, get_translation('button_tip_new')); +create_button($bframe, get_translation('button_copy'), sub { + if ($notebook->raised eq 'strat') { + CopyStrat($ver, $race, $strat); + UpdateStratList($stratlb, $ver, $race); + } else { + CopyProfile($ver, $profile); + UpdateProfileList($profilelb, $ver); + } +}, 18, get_translation('button_tip_copy')); +create_button($bframe, get_translation('button_edit'), sub { + if ($notebook->raised eq 'strat') { + EditStrat($main, $ver, $race, $strat); + } else { + EditProfile($main, $ver, $profile); + } +}, 18, get_translation('button_tip_edit')); +create_button($bframe, get_translation('button_lock'), sub { + if ($notebook->raised eq 'strat') { + SetRaceOption($ver, $race, 'debug_strategy', "STRAT_$strat->[0]"); + } else { + SetVerOption($ver, 'debug_profile', GetArrayIndex($profile, $profilelb->get(0, 'end'))); + } +}, 18, get_translation('button_tip_lock')); +create_button($bframe, get_translation('button_unlock'), sub { + if ($notebook->raised eq 'strat') { + SetRaceOption($ver, $race, 'debug_strategy', -1); + } else { + SetVerOption($ver, 'debug_profile', -1); + } +}, 18, get_translation('button_tip_unlock')); +create_button($bframe, get_translation('button_extract'), sub { + if ($notebook->raised eq 'strat') { + ExtractStrat($main, $ver, $race, $strat); + } else { + ExtractProfile($main, $ver, $profile); + } +}, 18, get_translation('button_tip_extract')); +create_button($bframe, get_translation('button_insert'), sub { + if ($notebook->raised eq 'strat') { + InsertStrat($main, $ver, $race); + UpdateStratList($stratlb, $ver, $race); + } else { + InsertProfile($main, $ver); + UpdateProfileList($profilelb, $ver); + } +}, 18, get_translation('button_tip_insert')); +create_button($bframe, get_translation('button_remove'), sub { + if ($notebook->raised eq 'strat') { + RemoveStrat($main, $ver, $race, $strat); + UpdateStratList($stratlb, $ver, $race); + } else { + RemoveProfile($main, $ver, $profile); + UpdateProfileList($profilelb, $ver); + } +}, 18, get_translation('button_tip_remove')); + +open(VERFILE, "Versions.txt") or do { confirm_box(get_translation('err_file_not_writing', "")) }; +my @vers = ; +close(VERFILE); +chomp foreach (@vers); +my $raceopt; +my $veropt; +my $langopt; +$lframe->Label( + -text => get_translation('placeholder_ver'), + -font => $font, + -width => 24, + -height => 1, +)->pack; +$veropt = $lframe->Optionmenu( + -command => sub { $raceopt -> destroy if($raceopt); + $raceopt = $lframe->Optionmenu( + -command => sub { UpdateStratList($stratlb, $ver, $race) }, + -variable => \$race, + -font => $font, + -width => 20)->pack(-after => $veropt); + $raceopt -> addOptions(GetRaces($ver)); + UpdateStratList($stratlb, $ver, $race); + UpdateProfileList($profilelb, $ver) }, + -variable => \$ver, + -font => $font, + -width => 20 +)->pack; +$veropt->addOptions(@vers); +$lframe->Label( + -height => 1, +)->pack; # Placeholder +$lframe->Label( + -text => get_translation('placeholder_set'), + -font => $font, + -width => 24, + -height => 1, +)->pack; +create_button($lframe, get_translation('button_edit_global'), sub { EditSettings($main, "$ver\\GlobalSettings.txt") }, 24, +get_translation('button_tip_edit_global')); +$lframe->Label( + -height => 1, +)->pack; # Placeholder +$lframe->Label( + -text => get_translation('placeholder_raceset'), + -font => $font, + -width => 24, + -height => 1, +)->pack; +create_button($lframe, get_translation('button_edit_racial_builds'), sub { EditRacialBuilds($main, $ver, $race) }, 24, + get_translation('button_tip_edit_racial_builds')); +create_button($lframe, get_translation('button_edit_racial_settings'), sub { EditSettings($main, "$ver\\$race\\Settings.txt") }, 24, +get_translation('button_tip_edit_racial_settings')); +$lframe->Label( + -height => 1, +)->pack; # Placeholder +$lframe->Label( + -text => get_translation('placeholder_compile'), + -font => $font, + -width => 24, + -height => 1, +)->pack; +create_button($lframe, get_translation('button_compile_ver'), sub { system("Make$ver.bat", "1"), system("MakeOpt$ver.bat", "1") }, 24, +get_translation('button_tip_compile_ver')); +create_button($lframe, get_translation('button_compile_opt'), sub { system("MakeOpt$ver.bat", "1") }, 24, +get_translation('button_tip_compile_opt')); +create_button($lframe, get_translation('button_compile_all'), sub { system("MakeAll.bat", "1") }, 24, +get_translation('button_tip_compile_all')); +$lframe->Label( + -height => 1, +)->pack; # Placeholder +$lframe->Label( + -text => get_translation('placeholder_setlang'), + -font => $font, + -width => 24, + -height => 1, +)->pack; +$langopt = $lframe->Optionmenu( + -command => sub { set_language("@_"); }, + -variable => \$language, + -font => $font, + -width => 20, +)->pack; +$langopt -> addOptions(GetLanguages()); +$lframe->Label( + -height => 1, +)->pack; # Placeholder +$lframe->Label( + -text => (get_translation('placeholder_about')), + -font => $font, + -width => 24, + -height => 1, + )->pack; +create_button($lframe, get_translation('button_about'), sub { + -command => sub { + my $url = "https://github.com/SMUnlimited/AMAI"; + my $open_cmd = qq{start "" "$url"}; + system($open_cmd); + }, +}, 24, ''); +$lframe->Label( + -height => 4, +)->pack; # Placeholder +$lframe->Label( + -text => ("v 1.1"), + -font => $font, + )->pack; +# create_button($bframe, get_translation('button_quit'), sub { + # my $response = $main->messageBox( + # -message => get_translation('message_quit'), + # -title => get_translation('title_really'), + # -type => 'YesNo', + # -default => 'no' + # ); +# $main->destroy if $response eq 'Yes'; +# }, 24, get_translation('button_tip_quit')); + +MainLoop; + +sub GetLanguages { + open(LANG, "Languages.txt") or do { confirm_box(get_translation('err_file_not_writing', "")) }; + my @languages = ; + close(LANG); + shift @languages; + chomp foreach (@languages); + foreach (@languages) { + /^([^\t]*)\t/; + $_ = $1; + }; + return @languages; +}; + +sub GetRaces { + my $ver = shift; + open(RACEFILE, "$ver\\Races.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\Races.txt>")) }; + my @races = ; + close(RACEFILE); + chomp foreach (@races); + foreach (@races) { + /^([^\t]*)\t/; + $_ = $1; + }; + return @races; +} + +sub GetArrayIndex { + my ($x, @a) = @_; + my $i = 0; + return -1 unless (@$x[0]); + foreach (@a) { + return $i if (@$x[0] eq $_); + $i++; + } + return -1; +} + +sub SetRaceOption { + my ($ver, $race, $opt, $val) = @_; + open(SETFILE, "$ver\\$race\\Settings.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\$race\\Settings.txt>")) }; + my @setfile = (); + my $optionexists = 0; + while() { + if (/^$opt\t[^\t]*\t(.*)/) { + push @setfile, "$opt\t$val\t$1\n"; + $optionexists = 1; + } + else { + push @setfile, $_; + } + } + push @setfile, "$opt\t$val\t\n" if ($optionexists == 0); + close(SETFILE); + open(SETFILE, ">$ver\\$race\\Settings.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\$race\\Settings.txt>")) }; + print SETFILE @setfile; + close(SETFILE); +} + +sub SetVerOption { + my ($ver, $opt, $val) = @_; + open(SETFILE, "$ver\\GlobalSettings.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\GlobalSettings.txt>")) }; + my @setfile = (); + my $optionexists = 0; + while() { + if (/^$opt\t[^\t]*\t(.*)/) { + push @setfile, "$opt\t$val\t$1\n"; + $optionexists = 1; + } + else { + push @setfile, $_; + } + } + push @setfile, "$opt\t$val\t\n" if ($optionexists == 0); + close(SETFILE); + open(SETFILE, ">$ver\\GlobalSettings.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\GlobalSettings.txt>")) }; + print SETFILE @setfile; + close(SETFILE); +} + +sub GetStratList { + my $ver = shift; + my $race = shift; + return () unless ($ver and $race); + open(STRATFILE, "$ver\\$race\\Strategy.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\$race\\Strategy.txt>")) }; + my @stratlist = (); + ; + while () { + if (/^([^\t]*)\t/) { + push @stratlist, $1; + } + }; + close(STRATFILE); + return @stratlist; +}; + +sub UpdateStratList { + my $stratlb = shift; + my $ver = shift; + my $race = shift; + $stratlb->delete(0, $stratlb->index('end')-1); + $stratlb->insert('end', GetStratList($ver, $race)); +} + +sub GetProfileList { + my $ver = shift; + return () unless ($ver); + open(PROFILEFILE, "$ver\\Profiles.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\Profiles.txt>")) }; + my @profilelist = (); + ; + while () { + if (/^([^\t]*)\t/) { + push @profilelist, $1; + } + }; + close(PROFILEFILE); + return @profilelist; +}; + +sub UpdateProfileList { + my ($profilelb, $ver) = @_; + $profilelb->delete(0, $profilelb->index('end')-1); + $profilelb->insert('end', GetProfileList($ver)); +} + +sub RemoveStrat { + my ($main, $version, $race, $strat) = @_; + return unless @$strat[0]; + my $response = $main->messageBox(-message => get_translation('message_remove_strategy'), -title => get_translation('title_really'), -type => 'YesNo', -default => 'no'); + return if ($response eq 'no' or $response eq 'No'); + my $stratname = @$strat[0]; + open(STRATFILE, "$version\\$race\\Strategy.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\Strategy.txt>")) }; + my @stratfile = (); + while () { + unless (/^$stratname\t/) { + push(@stratfile, $_); + } + } + close(STRATFILE); + open(STRATFILE, ">$version\\$race\\Strategy.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\Strategy.txt>")) }; + chomp($stratfile[-1]); + print STRATFILE @stratfile; + close(STRATFILE); + @stratfile = (); + open(AIFILE, "$version\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\BuildSequence.ai>")) }; + my @aifile = (); + while () { + if (/\bfunction\s*init_strategy_$stratname\b/) { + while (( or do { confirm_box(get_translation('err_strategy_not_complete')) }) !~ /endfunction/) {} + while (( or do { confirm_box(get_translation('err_strategy_not_complete')) }) !~ /endfunction/) {} + } + else { + push(@aifile, $_); + } + } + close(AIFILE); + open(AIFILE, ">$version\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\BuildSequence.ai>")) }; + print AIFILE @aifile; + close(AIFILE); +} + +sub RemoveProfile { + my ($main, $version, $profile) = @_; + return unless @$profile[0]; + my $response = $main->messageBox(-message => get_translation('message_remove_profile'), -title => get_translation('title_really'), -type => 'YesNo', -default => 'no'); + return if ($response eq 'no' or $response eq 'No'); + my $profilename = @$profile[0]; + open(PROFILEFILE, "$version\\Profiles.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\Profiles.txt>")) }; + my @profilefile = (); + while () { + unless (/^$profilename\t/) { + push(@profilefile, $_); + } + } + close(PROFILEFILE); + open(PROFILEFILE, ">$version\\Profiles.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\Profiles.txt>")) }; + chomp($profilefile[-1]); + print PROFILEFILE @profilefile; + close(PROFILEFILE); +} + +sub CopyStrat { + my ($version, $race, $strat) = @_; + return unless @$strat[0]; + my $stratname = @$strat[0]; + ExtractStratSub('tmp', $version, $race, $stratname); + InsertStratSub('tmp', $version, $race); + system "del tmp"; +} + +sub CopyProfile { + my ($version, $profile) = @_; + return unless @$profile[0]; + my $profilename = @$profile[0]; + ExtractProfileSub('tmp', $version, $profilename); + InsertProfileSub('tmp', $version); + system "del tmp"; +} + +sub ExtractStratSub { + my ($filename, $version, $race, $stratname) = @_; + open(AIFILE, "$version\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\BuildSequence.ai>")) }; + open(STRATFILE, "$version\\$race\\Strategy.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\Strategy.txt>")) }; + open(TARGETFILE, ">$filename") or do { confirm_box(get_translation('err_file_not_writing', "<$filename>")) }; + print TARGETFILE "#AMAI 2.0 Strategy\n"; + my $line = ; + while (($line = ( or do { confirm_box(get_translation('err_strategy_not_found_strategy')) })) !~ /^$stratname\t/) {} + print TARGETFILE $line; + print TARGETFILE "\n"; + while (($line = ( or do { confirm_box(get_translation('err_strategy_not_found_buildsequence')) })) !~ /\bfunction\s*init_strategy_$stratname\b/) {} + print TARGETFILE $line; + while (($line = ( or do { confirm_box(get_translation('err_strategy_not_complete')) })) !~ /endfunction/) {print TARGETFILE $line;} + print TARGETFILE $line; + while (($line = ( or do { confirm_box(get_translation('err_strategy_not_complete')) })) !~ /endfunction/) {print TARGETFILE $line;} + print TARGETFILE $line; + close(TARGETFILE); + close(AIFILE); + close(STRATFILE); +} + +sub ExtractStrat { + my ($main, $version, $race, $strat) = @_; + return unless @$strat[0]; + my $stratname = @$strat[0]; + my $types = [['AMAI Strategies', '.ais']]; + $types = [['AMAI Strategies', '.ais'],[]] if ($fdialogbug); + my $filename = $main->getSaveFile( + -defaultextension => '.ais', + -filetypes => $types ); + return unless ($filename and ($filename ne "")); + ExtractStratSub($filename, $version, $race, $stratname); +} + +sub ExtractProfileSub { + my ($filename, $version, $profilename) = @_; + open(PROFILEFILE, "$version\\Profiles.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\Profiles.txt>")) }; + open(TARGETFILE, ">$filename") or do { confirm_box(get_translation('err_file_not_writing', "<$filename>")) }; + print TARGETFILE "#AMAI 2.0 Profile\n"; + my $line = ; + while (($line = ( or do { confirm_box(get_translation('err_profile_not_found_p')) })) !~ /^$profilename\t/) {} + print TARGETFILE $line; + close(TARGETFILE); + close(PROFILEFILE); +} + +sub ExtractProfile { + my ($main, $version, $profile) = @_; + return unless @$profile[0]; + my $profilename = @$profile[0]; + my $types = [['AMAI Profiles', '.aip']]; + $types = [['AMAI Profiles', '.aip'],[]] if ($fdialogbug); + my $filename = $main->getSaveFile( + -defaultextension => '.aip', + -filetypes => $types ); + return unless ($filename and ($filename ne "")); + ExtractProfileSub($filename, $version, $profilename); +} + +sub InsertStratSub { + my ($filename, $version, $race) = @_; + my $stratlist = join ',', GetStratList($version, $race); + open(SOURCE, $filename) or do { confirm_box(get_translation('err_file_not_writing', "<$filename>")) }; + open(AIFILE, ">>$version\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\BuildSequence.ai>")) }; + open(STRATFILE, ">>$version\\$race\\Strategy.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\Strategy.txt>")) }; + my $line = ; + if ($line !~ /#AMAI 2.0 Strategy/) {do { confirm_box(get_translation('err_not_file_sequence')) };} + $line = ; + $line =~ /^([^\t]*)\t/; + my $oldstratname = $1; + my $stratname = $oldstratname; + my $x = 0; + while ($stratlist =~ /\b$stratname\b/) { + $x++; + $stratname = "$oldstratname$x"; + } + $line =~ s/^$oldstratname/$stratname/; + $line = $line =~ /\S/ ? $line : ''; # Remove empty lines + $line =~ s/^\s+|\s+$//g; # Remove leading and trailing whitespace + print STRATFILE "\n"; + print STRATFILE $line; + print AIFILE "\n"; + while () { + s/\b(function \w*_)$oldstratname\b/$1$stratname/; + print AIFILE; + } + close(AIFILE); + close(STRATFILE); + close(SOURCE); +} + +sub InsertStrat { + my ($main, $version, $race) = @_; + my $types = [['AMAI Strategies', '.ais']]; + $types = [['AMAI Strategies', '.ais'],[]] if ($fdialogbug); + my $filename = $main->getOpenFile( + -defaultextension => '.ais', + -filetypes => $types ); + return unless ($filename and ($filename ne "")); + InsertStratSub($filename, $version, $race); +} + +sub InsertProfileSub { + my ($filename, $version) = @_; + my $profilelist = join ',', GetProfileList($version); + open(SOURCE, $filename) or do { confirm_box(get_translation('err_file_not_writing', "<$filename>")) }; + open(PROFILEFILE, ">>$version\\Profiles.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\Profiles.txt>")) }; + my $line = ; + if ($line !~ /#AMAI 2.0 Profile/) {do { confirm_box(get_translation('err_not_file_profiles')) };} + $line = ; + $line =~ /^([^\t]*)\t/; + my $oldprofilename = $1; + my $profilename = $oldprofilename; + my $x = 0; + while ($profilelist =~ /\b$profilename\b/) { + $x++; + $profilename = "$oldprofilename$x"; + } + $line =~ s/^$oldprofilename/$profilename/; + $line = $line =~ /\S/ ? $line : ''; + $line =~ s/^\s+|\s+$//g; # Remove leading and trailing whitespace + print PROFILEFILE "\n"; + print PROFILEFILE $line; + close(PROFILEFILE); + close(SOURCE); +} + +sub InsertProfile { + my ($main, $version) = @_; + my $types = [['AMAI Profiles', '.aip']]; + $types = [['AMAI Profiles', '.aip'],[]] if ($fdialogbug); + my $filename = $main->getOpenFile( + -defaultextension => '.aip', + -filetypes => $types ); + return unless ($filename and ($filename ne "")); + InsertProfileSub($filename, $version); +} + +sub EditStrat { + my ($main, $version, $race, $strat) = @_; + return unless @$strat[0]; + my $edit = $main->Toplevel(-title => get_translation('title_strategy_editor')); + my $lframe = $edit->Frame->pack(-side => 'left'); + my $rframe = $edit->Frame->pack(-side => 'right'); + my $bframe = $rframe->Frame->pack(-side => 'right'); + my $strattable = $rframe->Table(-rows => 44)->pack(-side => 'left'); + $strattable->configure(-takefocus => 1); + open(TIERFILE, "$ver\\$race\\Tiers.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\$race\\Tiers.txt>")) }; + my @tiers = ; + my $tiernum = @tiers; + close(TIERFILE); + my $textheight = 48 / ($tiernum + 1); + my @buildtexttier = (); + $lframe->Label(-text => get_translation('label_strategies') . " @$strat[0]" . " ($race)", -font => $font)->pack; + $lframe->Label(-height => 2,)->pack; # Placeholder + $lframe->Label(-text => get_translation('label_Init_code'), -font => $font)->pack; + my $inittext = $lframe->Scrolled('TextUndo', -scrollbars => 'se', -wrap => 'none', -height => $textheight)->pack; + $lframe->Label(-height => 1,)->pack; # Placeholder + for(my $i=1;$i<=$tiernum;$i++) { + $lframe->Label(-text => get_translation('label_tier_code', "$i"), -font => $font)->pack; + $buildtexttier[$i] = $lframe->Scrolled('TextUndo', -scrollbars => 'se', -wrap => 'none', -height => $textheight)->pack; + } + $lframe->Label(-height => 2,)->pack; # Placeholder + $lframe->Label(-text => get_translation('label_strategy_report'), -font => $font)->pack; + my $button_frame = $lframe->Frame->pack(-side => 'top', -fill => 'x'); + my @languages = GetLanguages(); + my $buttons_per_row = 5; + my $button_count = 0; + foreach my $lang (@languages) { + my $file_path = "Languages/$lang/Strategy.txt"; + $button_frame->Button( + -text => $lang, + -font => $font, + -command => sub { + if (-e $file_path) { + system("start $file_path"); + } else { + confirm_box(get_translation('err_file_not_writing', "<$file_path>")); + } + }, + -width => int(80 / $buttons_per_row), + )->pack(-side => 'left', -padx => 2, -pady => 2); + $button_count++; + if ($button_count % $buttons_per_row == 0) { + $button_frame = $lframe->Frame->pack(-side => 'top', -fill => 'x'); + } + } + + my $optarrayref = FillTable($strattable, $version, $race, @$strat[0]); + FillTexts($inittext, \@buildtexttier, $version, $race, @$strat[0]); + mouse_wheel($strattable); + $strattable->bind("", sub { + $strattable->focus; + }); + $bframe->Button( + (-text => get_translation('button_ok'), -font => $font), + -command => sub {SaveStrat($edit, $inittext, \@buildtexttier, $strattable, $version, $race, @$strat[0], $optarrayref)}, + -width => 14)->pack; + $bframe->Button( + (-text => get_translation('button_cancel'), -font => $font), + -command => [$edit => 'destroy'], + -width => 14)->pack; + $edit->focusForce; +} + +sub EditProfile { + my ($main, $version, $profile) = @_; + return unless @$profile[0]; + my $edit = $main->Toplevel(-title => get_translation('title_profile_editor')); + my $bframe = $edit->Frame->pack(-side => 'right'); + my $profiletable = $edit->Table(-rows => 40)->pack(-side => 'left'); + mouse_wheel($profiletable); + my $optarrayref = FillProfileTable($profiletable, $version, @$profile[0]); + $bframe->Button( + (-text => get_translation('button_ok'), -font => $font), + -command => sub {SaveProfile($edit, $profiletable, $version, @$profile[0], $optarrayref)}, + -width => 14)->pack; + $bframe->Button( + (-text => get_translation('button_cancel'), -font => $font), + -command => [$edit => 'destroy'], + -width => 14)->pack; + $edit->focusForce; +} + +sub GetVarList { + my ($ver, $var, $race) = @_; + open(VARFILE, "VarDefs.ini") or do { confirm_box(get_translation('err_file_not_writing', "")) }; + ; + while() { + chomp; + if (/$var\t(.*)/) { + my $fn = $1; + $fn =~ s/\$RACE\$/$race/g; + close(VARFILE); + open(VARTABLE, "$ver\\$fn") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\$fn>")) }; + my @vt = (); + while () { + /([^\t\n]*)(\t|\n|$)/; + push @vt, $1; + } + close(VARTABLE); + return @vt; + } + } + return $var; +} + +sub ExtendTable { + my ($ver, $race, @table) = @_; + my @outtable = (); + foreach (@table) { + my @l = (); + push @l, $_; + my $b = 1; + while($b) { + $b = 0; + my @lout = (); + foreach (@l) { + if(/\$([^\$]*)\$/) { + my $var = $1; + my $it = $_; + $b = 1; + foreach (GetVarList($ver, $var, $race)) { + my $itrep = $it; + $itrep =~ s/\$$var\$/$_/g; + push @lout, $itrep; + } + } + else { + push @lout, $_; + } + } + @l = @lout; + } + push @outtable, @l; + } + return @outtable; +} + +sub ExtendOptList { + my ($ver, $dummy, @ilist) = @_; + my @olist = ($dummy); + foreach(@ilist) { + if (/\%([^\%]+)\%/) { + push @olist, GetVarList($ver, $1, ''); + } + else { + push @olist, $_; + } + } + return @olist; +} + +sub GetOptList { + my $ver = shift; + open(OPTFILE, "Optionlist.ini") or do { confirm_box(get_translation('err_file_not_writing', "")) }; + my %optlist = (); + my @optfile = ; + close(OPTFILE); + @optfile = ExtendTable($ver, '', @optfile); + foreach (@optfile) { + chomp; + /([^:]*):([^:]*)/; + my $optname = $1; + my @optarray = split(',', $2); + @optarray = ExtendOptList($ver, @optarray) if ($optarray[0] eq 'list'); + $optlist{$optname} = \@optarray; + } + return \%optlist; +} + +sub OptionmenuAddOptions { + my ($optmenu, $curval, @optlist) = @_; + foreach (@optlist) { + $optmenu->addOptions($_) unless $_ eq $curval; + } + $optmenu->addOptions($curval); +} + +sub GetUnitLists { + my ($version, $race) = @_; + my @unitlist = (0); + my @buildinglist = (0); + my @upgradelist = (0); + my @herolist = (0); + open(UNITFILE, "$version\\StandardUnits.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\StandardUnits.txt>")) }; + while() { + my @line = split("\t", $_); + push @buildinglist, $line[0] if ($line[2] =~ /$race/ and $line[4] eq "BUILDING"); + push @unitlist, $line[0] if (($line[2] =~ /$race/) and ($line[3] !~ /peon|mutated/) and $line[4] eq "UNIT"); + push @upgradelist, $line[0] if (($line[2] =~ /$race/) and ($line[3] =~ /upgrade/)); + push @herolist, $line[0] if (($line[2] =~ /$race|NEUTRAL/) and ($line[3] !~ /mutated/) and ($line[3] =~ /hero/)); + } + close(UNITFILE); + return (\@unitlist, \@buildinglist, \@upgradelist, \@herolist); +} + +sub GetProfileUnitLists { + my ($version, @races) = @_; + my %unitlists; + my %herolists; + foreach (@races) { + my @unitlist = (0); + my @herolist = (0); + $unitlists{$_} = \@unitlist; + $herolists{$_} = \@herolist; + } + open(UNITFILE, "$version\\StandardUnits.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\StandardUnits.txt>")) }; + while() { + my @line = split("\t", $_); + foreach (@races) { + push @{$unitlists{$_}}, $line[0] if (($line[3] !~ /dummy|mutated|peon/) and ($line[2] =~ /$_/) and $line[4] eq "UNIT"); + push @{$herolists{$_}}, $line[0] if (($line[3] =~ /hero/) and ($line[3] !~ /mutated/) and ($line[2] =~ /$_/)); + } + } + close(UNITFILE); + return (\%unitlists, \%herolists); +} + +sub FillTable { + my ($strattable, $version, $race, $strat) = @_; + my $optlistref = GetOptList($version); + my %optlist = %$optlistref; + my ($unitlistref, $buildinglistref, $upgradelistref, $herolistref) = GetUnitLists($version, $race); + my @unitlist = @{$unitlistref}; + my @buildinglist = @{$buildinglistref}; + my @upgradelist = @{$upgradelistref}; + my @herolist = @{$herolistref}; + open(STRATFILE, "$version\\$race\\Strategy.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\Strategy.txt>")) }; + my $line = ; + chomp($line); + my @opt = split("\t", $line); + my $l; + my $i = 0; + foreach my $v (@opt) { + my $translated_desc = get_translation($i); + if ($translated_desc eq $i) { + $translated_desc = get_translation($v); + if ($translated_desc eq $i) { + $translated_desc = $v; + } + } + $l = $strattable->Label(-text => $translated_desc, -font => $font, -anchor => 'e'); + $strattable->put($i, 0, $l); + $i++; + } + while (($line = ( or do { confirm_box(get_translation('err_strategy_not_found_strategy')) })) !~ /^$strat\t/) {} + chomp($line); + my @optval = split("\t", $line); + $i = 0; + my @optarray = (); + foreach my $v (@optval) { + if ($optlist{$opt[$i]}) { + my @optvalarray = @{$optlist{$opt[$i]}}; + $l = $strattable->Optionmenu( + -variable => \($optarray[$i]), + -width => 25)->pack; + if ($optvalarray[0] eq 'list') { + OptionmenuAddOptions($l, $v, @optvalarray[1..$#optvalarray]); + } + elsif ($optvalarray[0] eq 'unit') { + OptionmenuAddOptions($l, $v, @unitlist); + } + elsif ($optvalarray[0] eq 'building') { + OptionmenuAddOptions($l, $v, @buildinglist); + } + elsif ($optvalarray[0] eq 'hero') { + OptionmenuAddOptions($l, $v, @herolist); + } + else { + OptionmenuAddOptions($l, $v, @upgradelist); + } + } + else { + $l = $strattable->Entry(-width => 25); + $l->insert('end', $v); + } + $strattable->put($i, 1, $l); + $i++; + } + close(STRATFILE); + return \@optarray; +} + +sub FillProfileTable { + my ($profiletable, $version, $profile) = @_; + my $optlistref = GetOptList($version); + my %optlist = %$optlistref; + my ($unitlistref, $herolistref) = GetProfileUnitLists($version, GetRaces($version), 'NEUTRAL'); + my %unitlists = %{$unitlistref}; + my %herolists = %{$herolistref}; + open(PROFILEFILE, "$version\\Profiles.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\Profiles.txt>")) }; + my $line = ; + chomp($line); + my @opt = split("\t", $line); + my $l; + my $i = 0; + foreach my $v (@opt) { + $l = $profiletable->Label(-text => get_translation($v), -font => $font, -anchor => 'e'); + $profiletable->put($i, 0, $l); + $i++; + } + while (($line = ( or do { confirm_box(get_translation('err_profile_not_found_profiles')) })) !~ /^$profile\t/) {} + chomp($line); + my @optval = split("\t", $line); + $i = 0; + my @optarray = (); + foreach my $v (@optval) { + if ($optlist{$opt[$i]}) { + my @optvalarray = @{$optlist{$opt[$i]}}; + $l = $profiletable->Optionmenu( + -variable => \($optarray[$i]), + -width => 35)->pack; + if ($optvalarray[0] eq 'list') { + OptionmenuAddOptions($l, $v, @optvalarray[1..$#optvalarray]); + } + elsif ($optvalarray[0] eq 'unit') { + OptionmenuAddOptions($l, $v, @{$unitlists{$optvalarray[1]}}); + } + else { + OptionmenuAddOptions($l, $v, @{$herolists{$optvalarray[1]}}); + } + } + else { + $l = $profiletable->Entry(-width => 40); + $l->insert('end', $v); + } + $profiletable->put($i, 1, $l); + $i++; + } + close(PROFILEFILE); + return \@optarray; +} + +sub AssembleTable { + my ($strattable, $optarrayref) = @_; + my @jl = (); + for(my $i=0;$i<$strattable->totalRows;$i++) { + if (defined @{$optarrayref}[$i]) { + push @jl, @{$optarrayref}[$i]; + } + else { + push @jl, $strattable->get($i,1)->get; + } + } + return join "\t", @jl; +} + +sub FillTexts { + my ($inittext, $buildtexttierref, $version, $race, $stratname, @optarray) = @_; + my @buildtexttier = @{$buildtexttierref}; + open(AIFILE, "$version\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\BuildSequence.ai>")) }; + my $line; + while (( or do { confirm_box(get_translation('err_strategy_not_found_ai')) }) !~ /\bfunction\s*init_strategy_$stratname\b/) {} + while (($line = ( or do { confirm_box(get_translation('err_strategy_not_found_ai')) })) !~ /endfunction/) {$inittext->insert('end', $line);} + while (( or do { confirm_box(get_translation('err_strategy_not_found_ai')) }) !~ /\bfunction\s*build_sequence_$stratname\b/) {} + while (( or do { confirm_box(get_translation('err_strategy_not_found_ai')) }) !~ /if.*tier.*==.*$#buildtexttier/) {} + for(my $i=$#buildtexttier;$i>2;$i--) { + my $j = $i-1; + while (($line = ( or do { confirm_box(get_translation('err_strategy_not_found_ai')) })) !~ /elseif.*tier.*==.*$j/) {$buildtexttier[$i]->insert('end', $line);} + } + my $iflevel = 0; + while ((($line = ( or do { confirm_box(get_translation('err_strategy_not_found_ai')) })) !~ /\belse\b/) or $iflevel != 0) { + $buildtexttier[2]->insert('end', $line); + $iflevel++ if ($line =~ /\bif/); + $iflevel-- if ($line =~ /endif/); + } + $iflevel = 0; + while ((($line = ( or do { confirm_box(get_translation('err_strategy_not_found_ai')) })) !~ /endif/) or $iflevel != 0) { + $buildtexttier[1]->insert('end', $line); + $iflevel++ if ($line =~ /\bif/); + $iflevel-- if ($line =~ /endif/); + } + close(AIFILE); +} + +sub SaveStrat { + my ($edit, $inittext, $buildtexttierref, $strattable, $version, $race, $stratname, $optarrayref) = @_; + my @buildtexttier = @{$buildtexttierref}; + my $newstratname = $strattable->get(0,1)->get; + open(STRATFILE, "$version\\$race\\Strategy.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\Strategy.txt>")) }; + my @stratfile = (); + while () { + if (/^$stratname\t/) { + push(@stratfile, AssembleTable($strattable, $optarrayref)); + push(@stratfile, "\n"); + } + else { + push(@stratfile, $_); + } + } + close(STRATFILE); + open(STRATFILE, ">$version\\$race\\Strategy.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\Strategy.txt>")) }; + print STRATFILE @stratfile; + close(STRATFILE); + @stratfile = (); + open(AIFILE, "$version\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\BuildSequence.ai>")) }; + my @aifile = (); + while () { + if (/\bfunction\s*init_strategy_$stratname\b/) { + while (( or do { confirm_box(get_translation('err_strategy_not_complete')) }) !~ /endfunction/) {} + while (( or do { confirm_box(get_translation('err_strategy_not_complete')) }) !~ /endfunction/) {} + push(@aifile, "function init_strategy_$newstratname takes nothing returns nothing\n"); + push(@aifile, $inittext->get('1.0', 'end')); + push(@aifile, "endfunction\n"); + push(@aifile, "function build_sequence_$newstratname takes nothing returns nothing\n"); + push(@aifile, "if tier == $#buildtexttier then\n"); + for(my $i=$#buildtexttier;$i>2;$i--) { + my $j = $i-1; + push(@aifile, $buildtexttier[$i]->get('1.0', 'end')); + push(@aifile, "elseif tier == $j then\n"); + } + push(@aifile, $buildtexttier[2]->get('1.0', 'end')); + push(@aifile, "else\n"); + push(@aifile, $buildtexttier[1]->get('1.0', 'end')); + push(@aifile, "endif\n"); + push(@aifile, "endfunction\n"); + } + else { + push(@aifile, $_); + } + } + close(AIFILE); + open(AIFILE, ">$version\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\$race\\BuildSequence.ai>")) }; + print AIFILE @aifile; + close(AIFILE); + $edit->destroy; +} + +sub SaveProfile { + my ($edit, $profiletable, $version, $profilename, $optarrayref) = @_; + my $newprofilename = $profiletable->get(0,1)->get; + open(PROFILEFILE, "$version\\Profiles.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\Profiles.txt>")) }; + my @profilefile = (); + while () { + if (/^$profilename\t/) { + push(@profilefile, AssembleTable($profiletable, $optarrayref)); + push(@profilefile, "\n"); + } + else { + push(@profilefile, $_); + } + } + close(PROFILEFILE); + open(PROFILEFILE, ">$version\\Profiles.txt") or do { confirm_box(get_translation('err_file_not_writing', "<$version\\Profiles.txt>")) }; + print PROFILEFILE @profilefile; + close(PROFILEFILE); + $edit->destroy; +} + +sub EditRacialBuilds { + my ($main, $ver, $race) = @_; + my $edit = $main->Toplevel(-title => get_translation('title_racial_builds_editor')); + my $lframe = $edit->Frame->pack(-side => 'left'); + my $rframe = $edit->Frame->pack(-side => 'right'); + my $textheight = 22; + $lframe->Label(-text => get_translation('label_racial_Init_code'), -font => $font)->pack; + my $inittext = $lframe->Scrolled('TextUndo', -scrollbars => 'se', -wrap => 'none', -height => $textheight)->pack; + $lframe->Label(-text => get_translation('label_racial_build'), -font => $font)->pack; + my $buildtext = $lframe->Scrolled('TextUndo', -scrollbars => 'se', -wrap => 'none', -height => $textheight)->pack; + LoadRacialBuild($inittext, $buildtext, $ver, $race); + $rframe->Button( + (-text => get_translation('button_ok'), -font => $font), + -command => sub {SaveRacialBuild($edit, $inittext, $buildtext, $ver, $race)}, + -width => 14)->pack; + $rframe->Button( + (-text => get_translation('button_cancel'), -font => $font), + -command => [$edit => 'destroy'], + -width => 14)->pack; + $edit->focusForce; +} + +sub LoadRacialBuild { + my ($inittext, $buildtext, $ver, $race) = @_; + open(AIFILE, "$ver\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\$race\\BuildSequence.ai>")) }; + my $line; + while (( or do { confirm_box(get_translation('err_strategy_init_not_set')) }) !~ /function global_init_strategy/) {} + while (($line = ( or do { confirm_box(get_translation('err_strategy_init_not_complete')) })) !~ /endfunction/) {$inittext->insert('end', $line);} + while (( or do { confirm_box(get_translation('err_strategy_build_set')) }) !~ /function global_build_sequence/) {} + while (($line = ( or do { confirm_box(get_translation('err_strategy_build_complete')) })) !~ /endfunction/) {$buildtext->insert('end', $line);} + close(AIFILE); +} + +sub SaveRacialBuild { + my ($edit, $inittext, $buildtext, $ver, $race) = @_; + open(AIFILE, "$ver\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\$race\\BuildSequence.ai>")) }; + my @aifile = (); + while () { + if (/\bfunction\s*global_init_strategy\b/) { + while (( or do { confirm_box(get_translation('err_global_build_set')) }) !~ /endfunction/) {} + while (( or do { confirm_box(get_translation('err_global_build_set')) }) !~ /endfunction/) {} + push(@aifile, "function global_init_strategy takes nothing returns nothing\n"); + push(@aifile, $inittext->get('1.0', 'end')); + push(@aifile, "endfunction\n"); + push(@aifile, "function global_build_sequence takes nothing returns nothing\n"); + push(@aifile, $buildtext->get('1.0', 'end')); + push(@aifile, "endfunction\n"); + } + else { + push(@aifile, $_); + } + } + close(AIFILE); + open(AIFILE, ">$ver\\$race\\BuildSequence.ai") or do { confirm_box(get_translation('err_file_not_writing', "<$ver\\$race\\BuildSequence.ai>")) }; + print AIFILE @aifile; + close(AIFILE); + $edit->destroy; +} + +sub EditSettings { + my ($main, $file) = @_; + my $edit = $main->Toplevel(-title => get_translation('title_settings_editor')); + my $lframe = $edit->Frame->pack(-side => 'left'); + my $rframe = $edit->Frame->pack(-side => 'right'); + my $table = $lframe->Table(-rows => 40)->pack(-side => 'left'); + my $rownumber = LoadSettings($table, $file); + mouse_wheel($table); + $rframe->Button( + (-text => get_translation('button_ok'), -font => $font), + -command => sub {SaveSettings($edit, $table, $file, $rownumber)}, + -width => 14)->pack; + $rframe->Button( + (-text => get_translation('button_cancel'), -font => $font), + -command => [$edit => 'destroy'], + -width => 14)->pack; + $edit->focusForce; +} + +sub LoadSettings { + my ($table, $file) = @_; + open(SETTINGS, $file) or do { confirm_box(get_translation('err_file_not_writing', "<$file>")) }; + ; + my $i = 0; + while() { + chomp; + my ($option, $value, $description) = split /\t/; + my $label_opt = $table->Label(-text => $option, -font => $font); + $table->put($i, 0, $label_opt); + my $entry_val = $table->Entry(-width => 25); + $entry_val->insert('end', $value); + $table->put($i, 1, $entry_val); + my $translated_desc = get_translation($option); + if ($translated_desc eq $option) { + $translated_desc = $description; + } + my $label_desc = $table->Label(-text => $translated_desc, -anchor => 'w', -font => $font); + $table->put($i, 2, $label_desc); + $i++; + } + close(SETTINGS); + return $i; +} + +sub SaveSettings { + my ($edit, $table, $file, $rownumber) = @_; + open(SETTINGS, ">$file") or do { confirm_box(get_translation('err_file_not_writing', "<$file>")) }; + print SETTINGS "Variable Setting\tValue\tComment\n"; + for(my $i=0;$i<$rownumber;$i++) { + my $setting = $table->get($i, 0)->cget('-text'); + my $value = $table->get($i, 1)->get; + my $comment = $table->get($i, 2)->cget('-text'); + print SETTINGS "$setting\t$value\t$comment\n"; + } + close(SETTINGS); + $edit->destroy; +} \ No newline at end of file diff --git a/Jobs/TOWER_RUSH_CHECK.eai b/Jobs/TOWER_RUSH_CHECK.eai index faaba052e..75766d7ec 100644 --- a/Jobs/TOWER_RUSH_CHECK.eai +++ b/Jobs/TOWER_RUSH_CHECK.eai @@ -1,56 +1,144 @@ -#IFDEF GLOBAL - boolean towerrush = false - unit array builder - location tower_target_loc = null - real first_tower_point_x = 0 - real first_tower_point_y = 0 - real enemy_point_x = 0 - real enemy_point_y = 0 - integer towers_built = 0 - player rushedplayer = null - location toweringplayerloc = null -#ELSE - -// ######################## Tower Rush Check ############################## -// # Created by Strategy Master 13/07/05. The conditions that check if -// # tower rush can start. -// ####################################################################### - -function StartTowerRush takes integer delay returns nothing - set toweringplayerloc = GetStartLocationLoc(GetPlayerStartLocation(rushedplayer)) - - call Trace("Starting the tower rush") - set towerrush = true - call SetPeonsRepair(false) - set towers_built = 0 - call DisplayToAllies(chat_towerrush) -// set rushedplayer = GetNearestEnemy() // no longer needed as is set from the GetNearestEnemyDistance function - set tower_target_loc = GetLocationInDistanceFromLoc(toweringplayerloc,front_base_distance, true) - - call TQAddJob(delay , TOWER_RUSH, 0) - -endfunction - -function TowerRushCheck takes nothing returns nothing -local integer i = GetRandomInt(1,100) - call DisplayToAllJobDebug("TOWER_RUSH_CHECK JOB START") - - if not towerrush then - if hero_rush_bonus[hero[1]] >= race_towerrush_hero_rush_level then - // if ai_time > 60 then // 5 mins - // set towerrush = false - // //call Trace("Tower Rush - Out of Time") - // elseif GetNearestEnemyDistance() < 8000 then // Total percentage to be choosen is 33% - // call StartTowerRush() - // elseif i <= 75 and GetNearestEnemyDistance() < 11000 then // Total percentage to be choosen is 25% - // call StartTowerRush() - // elseif i <= 50 and GetNearestEnemyDistance() < 14000 then // Total percentage to be choosen is 16% - // call StartTowerRush() - // elseif i <= 20 and GetNearestEnemyDistance() < 16000 then // Total percentage to be choosen is 7% - // endif - endif - endif -// call TQAddJob(90, TOWER_RUSH_CHECK, 0) -endfunction - +#IFDEF GLOBAL + boolean towerrush = false + boolean race_tower_alliancetarget = false // alliance have tower rush target? + boolean tower_used_item = false // tower rush item used done? + boolean tower_attack_run = false // tower rush attack team has left home? + boolean tower_peon_run = false // tower rush peon team has left home? just first left + boolean tower_peon_inplace = false // tower rush peon in place? use to attack + boolean Console_TR_Commands = false // tower rush Order by Player from Console? + unit array builder // hero and peon go to enemy home + location tower_target_loc = null + real first_tower_point_x = 0 + real first_tower_point_y = 0 + real second_attack_point_x = 0 + real second_attack_point_y = 0 + real enemy_point_x = 0 + real enemy_point_y = 0 + real tower_peon_point_x = 0 + real tower_peon_point_y = 0 + integer towers_built = 0 + integer towers_built_count = 0 + integer race_tower_shop = 0 + player rushedplayer = null + group tower_rush_power = null + location toweringplayerloc = null + location towerrushsubloc = null + location towerrecoveryloc = null +#ELSE + +// ######################## Tower Rush Check ############################## +// # Created by Strategy Master 13/07/05. The conditions that check if +// # tower rush can start. +// ####################################################################### + +function StartTowerRush takes integer delay returns nothing + //local location target_loc = null + // if GetLocationNonCreepStrength(enemy_point_x, enemy_point_y, 2000) == 0 and ai_time >= 80 then //no longer needed as is set from the GetNearestEnemyDistance, and now will set other Base + // call StartGetEnemyBase() + // loop + // exitwhen not WaitGetEnemyBase() + // call Sleep(1) + // endloop + // set u = GetEnemyBase() + // set target_loc = GetUnitLoc(u) + // set enemy_point_x = GetLocationX(target_loc) + // set enemy_point_y = GetLocationY(target_loc) + // set toweringplayerloc = Location(enemy_point_x ,enemy_point_y) + // endif + set tower_rush_power = CreateGroup() + call SetPeonsRepair(false) + call DisplayToAllies(chat_towerrush) + call DisplayToObserversImportant(chat_towerrush) + set towers_built = 0 + set towers_built_count = 0 + call Trace("Starting the tower rush") + set towerrush = true + call TQAddJob(RMax(delay,5), TOWER_RUSH, 0) +endfunction + +function TowerRushCheck takes integer delay returns nothing + //local integer i = GetRandomInt(1,100) + local unit u = null + local player p = null + local real distance = GetNearestEnemyDistance() + local boolean mapinappropriate = (c_ally_total + c_enemy_total) > 5 or (c_ally_total - c_enemy_total < -1) or mapSize > 3 // only 1V1 OR 2V2 map + call DisplayToAllJobDebug("TOWER_RUSH_CHECK JOB START") + if rushedplayer == null or (not IsLocationFoggedToPlayer(home_location, rushedplayer) and not Console_TR_Commands) or distance > 14000 or distance < front_base_distance * 2 or builder[10] == null or mapinappropriate or (race_tower_item_must and racial_shop == 0 and not IsPointBlighted(GetUnitX(builder[10]), GetUnitY(builder[10])) and IsPointBlighted(GetLocationX(home_location), GetLocationY(home_location))) then //Distance to too far or player too many or ffa , ROC not shop + call Trace("the map unsuited tower rush") + if Console_TR_Commands then + call DisplayToAllies(chat_unsuited_towerrush) + endif + if mapinappropriate then + set race_towerrush_available = false + endif + set builder[10] = null + return + endif + + //set rushedplayer = GetNearestEnemy() // no longer needed as is set from the GetNearestEnemyDistance function + if toweringplayerloc == null then + if race_tower_alliancetarget == false and ai_time <= 96 then // Priority collaboration with allies + set u = GetAllianceTarget() + if u == null or not UnitAlive(u) then + set u = I2U(GetStoredInteger(amaiCache, Int2Str(ALLIANCE_TARGET), "0")) + endif + endif + if u != null then //coordinate towertush with allies , 480 second + set p = GetOwningPlayer(u) + if IsPlayerEnemy(p, ai_player) and p != Player(PLAYER_NEUTRAL_AGGRESSIVE) then + set rushedplayer = p + set toweringplayerloc = GetStartLocationLoc(GetPlayerStartLocation(rushedplayer)) + set race_tower_alliancetarget = true + set builder[10] = null + endif + set p = null + endif + if toweringplayerloc == null and builder[10] != null then + set toweringplayerloc = GetUnitLoc(builder[10]) // builder[10] from the GetNearestEnemyDistance + endif + set u = null + endif + if toweringplayerloc != null then + if GetPlayerRace(rushedplayer) == RACE_NIGHTELF and GetPlayerStructureCount(rushedplayer, true) < 6 then + set tower_target_loc = GetLocationInDistanceFromLoc(toweringplayerloc, 700, true) // ELF can be closer + else + set tower_target_loc = GetLocationInDistanceFromLoc(toweringplayerloc, front_base_distance, true) //DistanceBetweenPoints the toweringplayerloc and first_tower_point , front_base_distance now is change , so need set new + endif + if tower_target_loc != null then + set racial_rushcreep = 0 // TowerRush BR , waste time + set enemy_point_x = GetLocationX(toweringplayerloc) + set enemy_point_y = GetLocationY(toweringplayerloc) + set towerrushsubloc = GetSubtractionLoc(tower_target_loc, toweringplayerloc) + call StartTowerRush(delay) + return + endif + call RemoveLocation(toweringplayerloc) + set toweringplayerloc = null + endif + if Console_TR_Commands then + call DisplayToAllies(chat_unsuited_towerrush) + endif + set enemy_point_x = 0 + set enemy_point_y = 0 + set rushedplayer = null + set builder[10] = null + set race_tower_alliancetarget = false + //if not towerrush then + //if hero_rush_bonus[hero[1]] >= race_towerrush_hero_rush_level then + // if ai_time > 60 then // 5 mins + // set towerrush = false + // //call Trace("Tower Rush - Out of Time") + // elseif GetNearestEnemyDistance() < 8000 then // Total percentage to be choosen is 33% + // call StartTowerRush() + // elseif i <= 75 and GetNearestEnemyDistance() < 11000 then // Total percentage to be choosen is 25% + // call StartTowerRush() + // elseif i <= 50 and GetNearestEnemyDistance() < 14000 then // Total percentage to be choosen is 16% + // call StartTowerRush() + // elseif i <= 20 and GetNearestEnemyDistance() < 16000 then // Total percentage to be choosen is 7% + // endif + //endif + //endif +// call TQAddJob(90, TOWER_RUSH_CHECK, 0) +endfunction + #ENDIF \ No newline at end of file diff --git a/Languages/Chinese/StrategyManager.txt b/Languages/Chinese/StrategyManager.txt new file mode 100644 index 000000000..f58294e82 --- /dev/null +++ b/Languages/Chinese/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new=新建 +button_extract=导出 +button_insert=导入 +button_copy=复制 +button_remove=删除 +button_edit=编辑 +button_lock=锁定 +button_unlock=解锁 +button_quit=退出 +button_edit_racial_builds=编辑种族构筑 +button_edit_global=编辑全局参数 +button_edit_racial_settings=编辑种族参数 +button_compile_ver=常规 +button_compile_opt=优化 +button_compile_all=全部 +button_ok=提交 +button_cancel=取消 +button_yes=确定 +button_about=访问官网 +button_tip_new=创建新策略或档案 +button_tip_extract=导出所选策略或档案 +button_tip_insert=导入所选策略或档案 +button_tip_copy=复制所选策略或档案 +button_tip_remove=删除所选策略或档案 +button_tip_edit=编辑所选策略或档案 +button_tip_lock=锁定,使AI始终使用所选策略或档案 +button_tip_unlock=解锁所选策略或档案 +button_tip_quit=退出应用程序 +button_tip_edit_racial_builds=编辑种族构筑顺序(不管策略如何都会运行) +button_tip_edit_global=编辑所选版本全局设置(可调整AI各种选项) +button_tip_edit_racial_settings=编辑种族设置(可调整AI种族设置) +button_tip_compile_ver=编译此版本的脚本,包括正常版本和优化版本 +button_tip_compile_opt=编译此版本的优化脚本(可稍微提升AMAI运行效率) +button_tip_compile_all=编译所有可用版本的脚本 +placeholder_operate=- 操作 - +placeholder_ver=- 版本与种族 - +placeholder_set=- 全局设置 - +placeholder_raceset=- 种族设置 - +placeholder_compile=- 编译脚本 - +placeholder_setlang=- 管理器语言 - +placeholder_about=- 关于 - +label_strategies=策略 +label_profiles=档案 +label_Init_code=策略初始化设置 +label_tier_code=%s 本基地训练/研究逻辑 +label_racial_Init_code=全局限制 +label_racial_build=全局训练/研究逻辑 +label_strategy_report=策略报告译文 +err_file_not_writing=%s 文件不能写入,可能是文件丢失或被其他程序占用! +err_strategy_not_found_ai=AI文件中找不到策略 +err_strategy_not_found_strategy=策略表中找不到策略 +err_strategy_not_found_buildsequence=构筑表中找不到策略 +err_strategy_not_complete=策略未完成 +err_strategy_not_complete_ai=该AI文件的策略尚未完成 +err_strategy_init_not_set=种族构筑未初始化 +err_strategy_init_not_complete=种族构筑未完成 +err_strategy_build_set=种族构筑未设置 +err_strategy_build_complete=种族构筑未完成 +err_global_build_set=种族构筑未完成 +err_profile_not_found_profiles=档案表中找不到该档案 +err_not_file_sequence=策略文件丢失 +err_not_file_profiles=档案文件丢失 +message_remove_strategy=确定删除策略? +message_remove_profile=确定删除档案? +message_quit=确定退出? +title_really=提示 +title_strategy_manager=AMAI 策略管理器 +title_profile_editor=AMAI 档案编辑器 +title_strategy_editor=AMAI 策略编辑器 +title_racial_builds_editor=AMAI 种族构筑编辑器 +title_settings_editor=AMAI 参数编辑器 + +sleep_multiplier=睡眠倍率,越高性能越好,性能与AMAI响应度反相关 +slm_start=多少AMAI才能开始增加睡眠倍率? +slm_end=多少AMAI才能停止增加睡眠倍率? +slm_start_mult=未达到开始增加的AMAI数量时,睡眠倍率是多少? +slm_end_mult=超过停止增加的AMAI数量时,睡眠倍率是多少? +hero_radius=扫描英雄周围多少距离来判定英雄是否被敌人包围或有被包围的危险,以便逃离? +use_linear_upkeep_saving=AMAI是此时间内保持维修人口,还是在达到维护人口临界值时一次性保持? +repair_threshold=仅当AMAI拥有超过此数量的工人时,才会修理建筑物? +repair_threshold_threatened=只有当基地受到攻击且AMAI拥有超过该数量工人时,才会修理建筑物? +max_follow_dist=飞艇跟随军队应保持多远距离? +neutral_hero_time=中立英雄在多少秒后可用(时间需除以5) +buy_distance=需要离商店多近才可以购买单位或物品? +buy_timeout_large=英雄在前往商店时,最多持续多久?超时仍未达到会放弃本次购买 +buy_timeout_small=英雄在商店购买时,最久会停留多久(秒)?主要是无库存时兜底 +rp_strat_normal=构建数组重置周期,每隔此数值*5秒 +build_array_reset_time=此值用于规范在优势时添加战略的优先级 +strategy_tier_bonus=如果AMAI的主城等级与特定策略相同,优先使用该策略的概率是多少? +attacking_strategy=攻击策略(与战术策略不同) +focus_fire_limit=如果敌方英雄的生命值低于战斗中远程攻击者的总和乘以此值,AMAI会集火该英雄 +focus_fire_ranged_dist=远程单位集火距离 +focus_fire_melee_dist=近战单位集火距离 +flee_health_percentage=单位生命值低于百分之几(0.25 即 百分之25)时要逃离战场? +flee_minimum_health=单位生命值低于多少时要逃离战场? +statue_distance=不死族雕像在战斗时应该保持多远? +teleport_radius=使用回城卷轴时,回城英雄周围的单位应呆在多远? +gold_exchange_level=AMAI将超出此值的额外黄金给予其他需要金币的AI盟友 +wood_exchange_level=AMAI将超出此值的额外木材给予其他需要金币的AI盟友 +max_towns=AMAI最大该拥有几个基地??(以三种等级主城数量之和判断) +add_tag=在AMAI名称前添加[AMAI]标签? +add_skill=在AMAI名称后添加难度标签? +fav_hero_add=优先选择档案偏好英雄 +max_harass_groups=AMAI可以使用的多个骚扰组? +attacking_aggression=AMAI基础侵略值,值越高越激进。建议:-5到5 +expansion_radius=AMAI在开矿之前检查金矿附近怪物的半径 +harass_radius_attack_ranged=骚扰组进攻劣等敌方单位时,要与远程敌方单位有多远距离? +harass_radius_attack_melee=骚扰组攻击劣等敌方单位时,要与近战敌方单位有多远距离? +harass_radius_flee_ranged=骚扰组在距离远程敌方单位多远时逃跑? +harass_radius_flee_melee=骚扰组在距离近战敌方单位多远时逃跑? +chatting=需要AMAI聊天(BB)吗? +full_threat_distance=多远距离内的敌军被视为完全威胁? +no_threat_distance=多远距离外的敌军不被视为威胁? +distance_threat_exponent=随着敌军从无威胁距离转为完全威胁距离,威胁增加的速度是多少? +distance_threat_mult=当敌军接近时,对基地的威胁值增加多少?值越高威胁越大 +atl_time_start=此值威胁级别开始增加 +atl_time_end=此值威胁级别结束增加 +atl_time_start_val=威胁级别初始值 +atl_time_end_val=威胁级别终值 +atl_enemy_start=威胁级别倍数在敌军数量达到该值时增加 +atl_enemy_end=威胁级别倍数在敌军数量达到该值时不再增加 +atl_enemy_start_mult=威胁级别倍数初始值 +atl_enemy_end_mult=威胁级别倍数终值 +teleport_low_threat=在威胁级别较低时,如果威胁级别大于此值,军队使用回城卷轴 +teleport_high_threat=在威胁级别较高时,如果威胁级别大于此值,军队使用回城卷轴 +teleport_low_threat_distance=在威胁级别较低时,军队在离基地多近时不使用回城卷轴? +teleport_high_threat_distance=在威胁级别较高时,军队在离基地多近时不使用回城卷轴? +teleport_army_min_strength=使用回城卷轴所需的军队规模 +teleport_min_threat=允许使用回城卷轴的最低威胁级别 +shredder_peon_count=一个伐木机的伐木效率相当于几个工人? +minimum_peon_wood=AMAI拥有多少木材后,不再在增加用于采集木材的工人数量? +maximum_peon_wood=AMAI拥有多少黄金后,不再在增加用于采集黄金的工人数量? +ver_neutral_heroes_available=该版本是否有中立英雄? +ver_neutral_hero_number=有多少位中立英雄? +ver_only_heroes_buy=只有英雄能买单位或物品吗? +ver_food_limit=该版本的人口上限是多少? +normal_battle_radius=单位的常规仇恨距离是多少? +creep_battle_radius=野怪的仇恨距离是多少? +expansion_taken_radius=敌方建筑必须离矿点多近才能让AMAI识别为已被占领? +ver_hero_base_value=英雄的基础强度是多少(实际强度为等级加上基础强度)? +ver_hero_ultimate_level=英雄在几级可以学大招? +ver_hero_ultimate_value=大招会给英雄增加多少额外强度? +ver_creeps_attack_buildings_dist=野怪攻击建筑物的距离是多少? +ver_mercs_night_buy=在晚上购买雇佣兵不会惊醒野怪? +ver_tower_check_radius=在目标周围多少范围内检测塔? +ver_harass_tower_check_radius=在骚扰时,在多少范围内检测塔? +ver_strat_change_enemy_strength_min=游戏中所有敌方玩家的最大强度都超此值时,才允许更改策略。 +destroy_buildings_on_defeat=AMAI的建筑在战败时应该被摧毁还是交给中立玩家? +attack_reform_length=每次攻击时重新组建攻击组(获取新单位)的间隔为多少(秒/2)? +front_base_distance=基地前哨位置距离出生点多远? +ver_heroes=此版本英雄是否可用? +fixedcomputername=AMAI应该使用固定名称而不是档案名称? +green_creep_camp_strength_bonus=绿点野怪额外强度 +orange_creep_camp_strength_bonus=黄点野怪额外强度 +red_creep_camp_strength_bonus=红点野怪额外强度 +debugging=设为非0启用调试模式(DEBUG),系统会显示对应数字的调试类型消息 +strategy_change_threshold=新策略优先级必须大于当前策略几倍? +disable_surrender=AMAI不该过早放弃游戏? +major_hero_skill_value=英雄选择一技能的概率 +minor_hero_skill_value=英雄选择二技能的概率 +rare_hero_skill_value=英雄选择三技能的概率 +ver_optimal_gold=为档案偏好英雄添加多少概率? +ver_flee_multiple1=每座黄金的采集最佳工人数量,默认为5 +ver_flee_multiple1=最低侵略性下玩家强度的倍数,用于衡量是否允许AMAI逃跑 +ver_flee_multiple2=最高侵略性下玩家强度的倍数,用于衡量是否允许AMAI逃跑 +ver_flee_multiple3=最高侵略度下玩家强度的倍数,用于衡量AMAI是否会逃跑 +ver_low_aggression=侵略性低于多少时,使用最低强度的逃跑倍数 +ver_high_aggression=侵略性高于多少时,使用最高强度的逃跑倍数 +custom_data_set=如果希望AMAI在使用自定义1.0.1游戏版本的地图上工作,请设置为true + +hero1_revive_prio=复活首英雄的优先级 +hero2_revive_prio=复活第二英雄的优先级 +hero3_revive_prio=复活第三英雄的优先级 +prio_n_inc=建造所需建筑的额外优先级奖励 +prio_t_inc=按时间增加优先级奖励 +priority increase in quantity=按数量增加优先级奖励 +prio_q_inc=在距离可用人口上限多少时建造新的人口建筑? +farm_food2=在已用人口接近可用人口时,建造人口建筑的优先级 +farm_prio=建造人口建筑的优先级 +peon_prio=建造工人的优先级 +expa_prio=开矿的优先级 +expa_emergency_prio=在紧急情况下(当前矿场/全部矿场 + 自有资源即将耗尽)开矿的优先级 +expa_rebuild_prio=重建分基地的优先级 +peon_1_mine_number=拥有1座金矿时的工人数量上限 +peon_2_mines_number=拥有2座金矿时的工人数量上限 +peon_mines_number=拥有更多金矿时的工人数量上限 +min_peon_number_single_mine=拥有1座金矿时的工人数量下限 +min_peon_number_double_mine=拥有2座金矿时的工人数量下限 +min_peon_number_multi_mine=拥有更多金矿时的工人数量下限 +strat_food_persistence=在当前策略持续爆人口的优先级(防止AMAI在拥有大量军队时变更策略) +relevant_strat_change_number=变更策略时可以选择几个最高优先级的策略? +kb_add1=已拥有的核心建筑增加多少优先级?(影响所有策略) +kb_add2=正在建造的核心建筑增加多少优先级?(影响所有策略) +kb_add3=已拥有和正在建造的核心建筑增加多少优先级?(影响所有策略) +kb_add4=第二核心建筑增加多少优先级?(影响所有策略) +ku_add1=第一核心科技增加多少优先级?(影响所有策略) +ku_add2=第二核心科技增加多少优先级?(影响所有策略) +ku_add3=第三核心科技增加多少优先级?(影响所有策略) +fav_unit_add=AMAI档案的偏好单位增加多少优先级?(影响所有策略) +debug_strategy=该种族锁定此策略以便测试。(-1表示不锁定) +race_use_fountain=该种族使用治疗之泉? +race_manual_loading=该种族采金时需要将工人装载到金矿中,类似暗夜? +race_manual_loading_wisp=哪种工人单位要装载到金矿中? +race_manual_loading_mine=哪种金矿装载工人? +race_towerrush_available=该种族是否可以TR? +race_tower_item=TR有辅助物品吗?如头骨制造腐地或哨塔,仅支持大写英文 +race_tower_item_must=TR必须购买辅助物品吗(如腐地)? +race_tower_item_quantity=TR最多可以拥有多少辅助物品? +race_tower_id=TR的塔是哪种单位? +race_tower_id_replace=TR时不能创建腐地,如果建筑需要建造在腐地上,应设置替换单位,哪种单位可以替换? +race_tower_upgrade1=TR的塔的第一种升级是哪种单位?(核心输出) +race_tower_upgrade2=TR的塔的第二种升级是哪种单位?(辅助输出) +race_tower_move=TR的塔可以移动吗,比如暗夜的树或星际人类建筑的飞行? +race_tower_movestartstring=TR时开始塔移动的命令是哪个(填写命令字符串)?需加英文双引号 +race_tower_moveendstring=TR时结束塔移动的命令是哪个(填写命令字符串)?需加英文双引号 +race_tower_bypeon=TR的塔是由工人变成的,像暗夜?设置后AMAI会额外补偿2个工人 +race_tower_peon=TR要补偿多少造塔工人,由于亡灵是召唤建筑,可以设置得少些 +race_towerrush_requirement=造塔需要哪种建筑?如伐木场或磨坊 +race_towerrush_probability=TR的触发概率(百分比)是多少? +race_militia_expansion_available=该种族开矿时可以敲民兵吗? +race_hero_number=该种族有多少位本族英雄? +race_simple_melee=基础近战单位,使用基础近战策略时必须填写 +race_advanced_melee=高级近战单位,使用基础近战策略时必须填写 +race_has_ghouls=该种族有兼顾伐木和战斗的单位吗,类似食尸鬼? +race_ghouls_attack=兼顾伐木和战斗的单位会加入军队吗? +race_has_power_build=该种族的工人多敲建筑吗?类似人族 +race_no_wood_harvest=该种族没有专门的木材收集建筑吗?类似暗夜 +race_ignore_injured=该种族会把受伤单位留在家吗? +race_uses_mine_expansion=该种族是否使用矿盖开矿?类似亡灵 +race_uses_shredder=该种族使用伐木机吗? +race_militia_available=该种族是否可以敲民兵? +race_militia_max_distance=民兵允许离基地多远? +race_militia_id=民兵是哪种单位? +race_militia_ability=民兵的变身技能是哪个? +race_militia_hall_ability=大厅号召民兵的技能是哪个? +race_militia_unitstring=民兵的变身技能命令字符串是什么?需加英文双引号 +race_militiaworker_unitstring=民兵单位的单位字符串是什么?需加英文双引号 +use_militia_only_on_bigger_threats=仅在遭受较大威胁时才使用民兵? +race_ancient_expansion_available=该种族的建筑可以站起来协防?类似暗夜 +race_ancient_expansion_probability=该种族使用古树开矿的概率(百分比)是多少? +race_ancient_expansion_strength=该种族使用古树开矿的分矿野怪强度最大是多少(已弃用)? +race_ancient_expansion_help_id=哪种单位可替代古树开矿? +race_item_expansion_available=该种族可以使用物品开矿吗?如迷你大厅 +race_item_expansion_probability=使用物品开矿的概率(百分比)是多少? +race_item_sale_level=购买开矿物品需要多少级主基地? +race_item_expansion_item_id=开矿物品是哪个? +race_sell_ziggurats=该种族会出售无用的分矿通灵塔/冰塔/幽魂塔? +race_ziggurat_keep_distance=如果这个通灵塔/冰塔/幽魂塔多少距离内有另一个建筑(除了通灵塔/冰塔/幽魂塔),则不卖 +race_build_farms_front=该种族应在基地前方哨点建造人口建筑(确定哨点后)? +race_farms_front_limit=基地前方哨点的人口建筑最多可以造几个? +race_farms_at_mine=该种族应优先在金矿附近建造几个人口建筑? +race_max_expa_mine_distance=分矿与分基地之间的最大距离是? +race_has_moonwells=该种族的人口建筑拥有治疗光环? +race_towerrush_hero_rush_level=英雄必须拥有额外强度才TR(指定英雄种类,与英雄属性无关) +race_ancient_expansion_hero_rush_level=英雄必须拥有额外强度才古树开矿(指定英雄种类,与英雄属性无关) +ghoul_prio=建造食尸鬼的优先级 +race_min_ghouls=至少要造几个食尸鬼? +race_max_ghouls=缺木材时最多造几个食尸鬼? +groundid=探路单位是哪种?不能与该种族工人相同 +racial_burrow=该种族哪种建筑可以通过装载工人或单位来攻击?类似地洞 +structid=用于在投降时触发失败条件。 +race_ancient_barracks_rush_chance=如果种族可以BR(暗夜)且此值大于0,BR打野的概率会增加多少?(可在standardunits.txt中找到rushcreep标志) + +Strategy Function Name=策略名称(使用英文以确保翻译工作) +Default Name=默认名称(使用英文以确保翻译工作) +Default Report=默认策略报告(使用英文以确保翻译工作) +key_building1=第一个核心建筑 +key_building2=第二个核心建筑 +key_upgrade1=第一个核心科技 +key_upgrade2=第二个核心科技 +key_unit=核心单位 +beginning_strat=策略在开局即可选择? +strat_minimum_time (in seconds/6)=策略最短时间(当前时间/6),按秒计 +strategy_type=策略类型 +main_strategy_tier=策略核心主城等级 +base rp=基础资源点 +ally bonus=盟友加成 +1on1 bonus=1V1加成 +FFA bonus=混战加成 +random enemy bonus=对阵随机种族加成 +ELF enemy bonus=对阵暗夜加成 +HUMAN enemy bonus=对阵人类加成 +ORC enemy bonus=对阵兽族加成 +UNDEAD enemy bonus=对阵亡灵加成 +ELF ally bonus=暗夜盟友加成 +HUMAN ally bonus=人类盟友加成 +ORC ally bonus=兽族盟友加成 +UNDEAD ally bonus=亡灵盟友加成 +anti air strength=反制空军强度 +anti casters strength=反制施法者强度 +anti towers strength=反制塔强度 +anti piercing strength=反制穿刺强度 +anti normal strength=反制普通强度 +anti siege strength=反制攻城强度 +anti magic strength=反制魔法强度 +anti unarmored strength=反无甲强度 +anti lightarmor strength=反轻甲强度 +anti mediumarmor strength=反中甲强度 +anti heavyarmor strength=反重甲强度 +expansion time=开首矿时间 +second expansion time=开二矿时间 +first hero bonus=首发哪位英雄有加成 +first hero bonus amount=首发英雄加成值 +second hero bonus=二发哪位英雄有加成 +second hero bonus amount=二发英雄加成值 +third hero bonus=三发哪位英雄有加成 +third hero bonus amount=三发英雄加成值 +enemy_ELF add agg t1=1本对抗暗夜侵略性额外加成 +enemy_ELF add agg t2=2本对抗暗夜侵略性额外加成 +enemy_ELF add agg t3=3本对抗暗夜侵略性额外加成 +enemy_HUMAN add agg t1=1本对抗人类侵略性额外加成 +enemy_HUMAN add agg t2=2本对抗人类侵略性额外加成 +enemy_HUMAN add agg t3=3本对抗人类侵略性额外加成 +enemy_ORC add agg t1=1本对抗兽族侵略性额外加成 +enemy_ORC add agg t2=2本对抗兽族侵略性额外加成 +enemy_ORC add agg t3=3本对抗兽族侵略性额外加成 +enemy_UNDEAD add agg t1=1本对抗亡灵侵略性额外加成 +enemy_UNDEAD add agg t2=2本对抗亡灵侵略性额外加成 +enemy_UNDEAD add agg t3=3本对抗亡灵侵略性额外加成 + +Profile Name=档案名称 +Race=种族 +Aggression=侵略性,建议-10~10 +Uncertainty=不确定性,建议5~15 +Minimum Attack Strength=最小攻击强度,建议6~9 +Build Farm at left food=偏好人口可用值,可用人口减已用人口小于该值时AMAI会优先建人口建筑,建议6~12 +first expansion time=开首矿时间,建议-10~10 +second expansion time=开二矿时间,建议-20~20 +strategy persistence=策略持久性,建议500~1500 +influences number of factories built=考虑建造更多兵营,建议0.9~1.0 +Taunt Rate=嘲讽概率,建议0~2 +Expansion Target Bonus=进攻敌人分矿倾向,建议0~20 +Hard coded AI target bonus=AMAI进攻目标奖励(硬编码),建议0~20 +Hard coded AI target rate=AMAI进攻频率奖励(硬编码),建议0.3~0.8 +Surrender Value=投降倾向,越高越爱投,建议0~4 +Favorite ELF Hero=最爱的暗夜英雄 +Favorite HUMAN Hero=最爱的人类英雄 +Favorite ORC Hero=最爱兽族英雄 +Favorite UNDEAD Hero=最爱的亡灵英雄 +Favorite Neutral Hero=最爱的中立英雄 +Favorite ELF Unit=最爱的暗夜单位 +Favorite HUMAN Unit=最爱的人类单位 +Favorite ORC Unit=最爱兽族单位 +Favorite UNDEAD Unit=最爱的亡灵单位 +Rare Profile=稀有档案,0为普通,1为稀有 \ No newline at end of file diff --git a/Languages/Deutsch/StrategyManager.txt b/Languages/Deutsch/StrategyManager.txt new file mode 100644 index 000000000..d4415754b --- /dev/null +++ b/Languages/Deutsch/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile_ver= +button_compile_opt= +button_compile_all= +button_ok= +button_cancel= +button_yes= +button_about= +button_tip_new= +button_tip_extract= +button_tip_insert= +button_tip_copy= +button_tip_remove= +button_tip_edit= +button_tip_lock= +button_tip_unlock= +button_tip_quit= +button_tip_edit_racial_builds= +button_tip_edit_global= +button_tip_edit_racial_settings= +button_tip_compile_ver= +button_tip_compile_opt= +button_tip_compile_all= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_racial_Init_code= +label_racial_build= +label_tier_code= +label_strategy_report= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_global_build_set= +err_strategy_build_complete= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +message_quit= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/Languages/English/StrategyManager.txt b/Languages/English/StrategyManager.txt new file mode 100644 index 000000000..b32965a31 --- /dev/null +++ b/Languages/English/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new=New +button_extract=Extract +button_insert=Insert +button_copy=Copy +button_remove=Remove +button_edit=Edit +button_lock=Lock +button_unlock=Unlock +button_quit=Quit +button_edit_racial_builds=Edit Racial Builds +button_edit_global=Edit Global Settings +button_edit_racial_settings=Edit Racial Settings +button_compile_ver=Normal +button_compile_opt=Optimize +button_compile_all=Compile All +button_ok=OK +button_cancel=Cancel +button_yes=Yes +button_about=GitHub +button_tip_new=Create a new strategy or profile +button_tip_extract=Extract the selected strategy or profile to a file +button_tip_insert=Insert a strategy or profile from a file +button_tip_copy=Copy the selected strategy or profile +button_tip_remove=Remove the selected strategy or profile +button_tip_edit=Edit the selected strategy or profile +button_tip_lock=Lock to make the AI always use the selected strategy or profile +button_tip_unlock=Unlock a locked strategy or profile +button_tip_quit=Exit the application +button_tip_edit_racial_builds=Edit races build orders run regardless of strategy +button_tip_edit_global=Edit versions global settings allowing to tweak a variety of options in how the AI plays +button_tip_edit_racial_settings=Edit races settings allowing to tweak a variety of options in how the AI plays this race +button_tip_compile_ver=Compile this versions scripts both normal and optimised +button_tip_compile_opt=Compile optimized scripts to accelerate AI efficiency +button_tip_compile_all=Compile all available versions and scripts +placeholder_operate=- Operate - +placeholder_ver=- Versions and Race - +placeholder_set=- Global Settings - +placeholder_raceset= - Race Settings - +placeholder_compile=- Compile Script- +placeholder_setlang=- Manager Language - +placeholder_about=- About - +label_strategies=Strategies +label_profiles=Profiles +label_Init_code=Initalisation Code +label_racial_Init_code=Racial Initalisation Code +label_racial_build=Racial Build Code +label_tier_code=Code for Tier %s +label_strategy_report=Strategy Report Translation +err_file_not_writing=File <%s> could not be opened for writing , Please check if the file exists or is occupied by other programs! +err_strategy_not_found_ai=Strategy not found in AI File +err_strategy_not_found_strategy=Strategy not found in Strategy Table +err_strategy_not_found_buildsequence=Strategy not found in Build Sequence +err_strategy_not_complete=Strategy not complete in Build Sequence +err_strategy_not_complete_ai=Strategy not complete in AI File +err_strategy_init_not_set=global_init_strategy not in Build Sequence +err_strategy_init_not_complete=global_init_strategy not complete in Build Sequence +err_strategy_build_set=global_build_sequence not in Build Sequence +err_global_build_set=Global Builds not complete in Build Sequence +err_strategy_build_complete=global_build_sequence not complete in Build Sequence +err_profile_not_found_profiles=Profile not found in Profile Table +err_not_file_sequence=No AMAI 2.0 Strategy File +err_not_file_profiles=No AMAI 2.0 Profile File +message_remove_strategy=Are you sure you want to remove that strategy? +message_remove_profile=Are you sure you want to remove that profile? +message_quit=Are you sure you want to quit? +title_really=Tip +title_strategy_manager=AMAI Strategy Manager +title_profile_editor=AMAI Profile Editor +title_strategy_editor=AMAI Strategy Editor +title_racial_builds_editor=AMAI Racial Builds Editor +title_settings_editor=AMAI Settings Editor + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/Languages/French/StrategyManager.txt b/Languages/French/StrategyManager.txt new file mode 100644 index 000000000..d4415754b --- /dev/null +++ b/Languages/French/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile_ver= +button_compile_opt= +button_compile_all= +button_ok= +button_cancel= +button_yes= +button_about= +button_tip_new= +button_tip_extract= +button_tip_insert= +button_tip_copy= +button_tip_remove= +button_tip_edit= +button_tip_lock= +button_tip_unlock= +button_tip_quit= +button_tip_edit_racial_builds= +button_tip_edit_global= +button_tip_edit_racial_settings= +button_tip_compile_ver= +button_tip_compile_opt= +button_tip_compile_all= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_racial_Init_code= +label_racial_build= +label_tier_code= +label_strategy_report= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_global_build_set= +err_strategy_build_complete= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +message_quit= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/Languages/Norwegian/StrategyManager.txt b/Languages/Norwegian/StrategyManager.txt new file mode 100644 index 000000000..d4415754b --- /dev/null +++ b/Languages/Norwegian/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile_ver= +button_compile_opt= +button_compile_all= +button_ok= +button_cancel= +button_yes= +button_about= +button_tip_new= +button_tip_extract= +button_tip_insert= +button_tip_copy= +button_tip_remove= +button_tip_edit= +button_tip_lock= +button_tip_unlock= +button_tip_quit= +button_tip_edit_racial_builds= +button_tip_edit_global= +button_tip_edit_racial_settings= +button_tip_compile_ver= +button_tip_compile_opt= +button_tip_compile_all= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_racial_Init_code= +label_racial_build= +label_tier_code= +label_strategy_report= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_global_build_set= +err_strategy_build_complete= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +message_quit= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/Languages/Portuguese/StrategyManager.txt b/Languages/Portuguese/StrategyManager.txt new file mode 100644 index 000000000..d4415754b --- /dev/null +++ b/Languages/Portuguese/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile_ver= +button_compile_opt= +button_compile_all= +button_ok= +button_cancel= +button_yes= +button_about= +button_tip_new= +button_tip_extract= +button_tip_insert= +button_tip_copy= +button_tip_remove= +button_tip_edit= +button_tip_lock= +button_tip_unlock= +button_tip_quit= +button_tip_edit_racial_builds= +button_tip_edit_global= +button_tip_edit_racial_settings= +button_tip_compile_ver= +button_tip_compile_opt= +button_tip_compile_all= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_racial_Init_code= +label_racial_build= +label_tier_code= +label_strategy_report= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_global_build_set= +err_strategy_build_complete= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +message_quit= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/Languages/Romanian/StrategyManager.txt b/Languages/Romanian/StrategyManager.txt new file mode 100644 index 000000000..d4415754b --- /dev/null +++ b/Languages/Romanian/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile_ver= +button_compile_opt= +button_compile_all= +button_ok= +button_cancel= +button_yes= +button_about= +button_tip_new= +button_tip_extract= +button_tip_insert= +button_tip_copy= +button_tip_remove= +button_tip_edit= +button_tip_lock= +button_tip_unlock= +button_tip_quit= +button_tip_edit_racial_builds= +button_tip_edit_global= +button_tip_edit_racial_settings= +button_tip_compile_ver= +button_tip_compile_opt= +button_tip_compile_all= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_racial_Init_code= +label_racial_build= +label_tier_code= +label_strategy_report= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_global_build_set= +err_strategy_build_complete= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +message_quit= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/Languages/Russian/StrategyManager.txt b/Languages/Russian/StrategyManager.txt new file mode 100644 index 000000000..d4415754b --- /dev/null +++ b/Languages/Russian/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile_ver= +button_compile_opt= +button_compile_all= +button_ok= +button_cancel= +button_yes= +button_about= +button_tip_new= +button_tip_extract= +button_tip_insert= +button_tip_copy= +button_tip_remove= +button_tip_edit= +button_tip_lock= +button_tip_unlock= +button_tip_quit= +button_tip_edit_racial_builds= +button_tip_edit_global= +button_tip_edit_racial_settings= +button_tip_compile_ver= +button_tip_compile_opt= +button_tip_compile_all= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_racial_Init_code= +label_racial_build= +label_tier_code= +label_strategy_report= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_global_build_set= +err_strategy_build_complete= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +message_quit= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/Languages/Spanish/StrategyManager.txt b/Languages/Spanish/StrategyManager.txt new file mode 100644 index 000000000..d4415754b --- /dev/null +++ b/Languages/Spanish/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile_ver= +button_compile_opt= +button_compile_all= +button_ok= +button_cancel= +button_yes= +button_about= +button_tip_new= +button_tip_extract= +button_tip_insert= +button_tip_copy= +button_tip_remove= +button_tip_edit= +button_tip_lock= +button_tip_unlock= +button_tip_quit= +button_tip_edit_racial_builds= +button_tip_edit_global= +button_tip_edit_racial_settings= +button_tip_compile_ver= +button_tip_compile_opt= +button_tip_compile_all= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_racial_Init_code= +label_racial_build= +label_tier_code= +label_strategy_report= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_global_build_set= +err_strategy_build_complete= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +message_quit= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/Languages/StrategyManager.txt b/Languages/StrategyManager.txt new file mode 100644 index 000000000..539320d71 --- /dev/null +++ b/Languages/StrategyManager.txt @@ -0,0 +1,329 @@ +button_new=新建 +button_extract=导出 +button_insert=导入 +button_copy=复制 +button_remove=删除 +button_edit=编辑 +button_lock=锁定 +button_unlock=解锁 +button_quit=退出 +button_edit_racial_builds=编辑种族构筑 +button_edit_global=编辑全局参数 +button_edit_racial_settings=编辑种族参数 +button_compile=常规 +button_compile_opt=优化 +button_compile_vsai=vs 暴雪AI +button_ok=提交 +button_cancel=取消 +button_yes=确定 +button_about=访问官网 +placeholder_operate=- 操作 - +placeholder_ver=- 版本与种族 - +placeholder_set=- 全局设置 - +placeholder_raceset=- 种族设置 - +placeholder_compile=- 编译脚本 - +placeholder_setlang=- 管理器语言 - +placeholder_about=- 关于 - +label_strategies=策略 +label_profiles=档案 +label_Init_code=策略初始化设置 +label_tier_code=%s 本基地训练/研究逻辑 +label_racial_Init_code=全局限制 +label_racial_build=全局训练/研究逻辑 +err_file_not_writing=%s 文件不能写入,可能是文件丢失或被其他程序占用! +err_strategy_not_found_ai=AI文件中找不到策略 +err_strategy_not_found_strategy=策略表中找不到策略 +err_strategy_not_found_buildsequence=构筑表中找不到策略 +err_strategy_not_complete=策略未完成 +err_strategy_not_complete_ai=该AI文件的策略尚未完成 +err_strategy_init_not_set=种族构筑未初始化 +err_strategy_init_not_complete=种族构筑未完成 +err_strategy_build_set=种族构筑未设置 +err_strategy_build_complete=种族构筑未完成 +err_global_build_set=种族构筑未完成 +err_profile_not_found_profiles=档案表中找不到该档案 +err_not_file_sequence=策略文件丢失 +err_not_file_profiles=档案文件丢失 +message_remove_strategy=确定删除策略? +message_remove_profile=确定删除档案? +confirm_compile_opt=编译经过优化的脚本,可稍微提升AMAI运行效率 +confirm_compile_vsai=单双数队伍分别为 AMAI 和 第三方AI (默认为暴雪官方AI) +title_really=提示 +title_strategy_manager=AMAI 策略管理器 +title_profile_editor=AMAI 档案编辑器 +title_strategy_editor=AMAI 策略编辑器 +title_racial_builds_editor=AMAI 种族构筑编辑器 +title_settings_editor=AMAI 参数编辑器 + +sleep_multiplier=睡眠倍率,越高性能越好,性能与AMAI响应度反相关 +slm_start=多少AMAI才能开始增加睡眠倍率? +slm_end=多少AMAI才能停止增加睡眠倍率? +slm_start_mult=未达到开始增加的AMAI数量时,睡眠倍率是多少? +slm_end_mult=超过停止增加的AMAI数量时,睡眠倍率是多少? +hero_radius=扫描英雄周围多少距离来判定英雄是否被敌人包围或有被包围的危险,以便逃离? +use_linear_upkeep_saving=AMAI是此时间内保持维修人口,还是在达到维护人口临界值时一次性保持? +repair_threshold=仅当AMAI拥有超过此数量的工人时,才会修理建筑物? +repair_threshold_threatened=只有当基地受到攻击且AMAI拥有超过该数量工人时,才会修理建筑物? +max_follow_dist=飞艇跟随军队应保持多远距离? +neutral_hero_time=中立英雄在多少秒后可用(时间需除以5) +buy_distance=需要离商店多近才可以购买单位或物品? +buy_timeout_large=英雄在前往商店时,最多持续多久?超时仍未达到会放弃本次购买 +buy_timeout_small=英雄在商店购买时,最久会停留多久(秒)?主要是无库存时兜底 +rp_strat_normal=构建数组重置周期,每隔此数值*5秒 +build_array_reset_time=此值用于规范在优势时添加战略的优先级 +strategy_tier_bonus=如果AMAI的主城等级与特定策略相同,优先使用该策略的概率是多少? +attacking_strategy=攻击策略(与战术策略不同) +focus_fire_limit=如果敌方英雄的生命值低于战斗中远程攻击者的总和乘以此值,AMAI会集火该英雄 +focus_fire_ranged_dist=远程单位集火距离 +focus_fire_melee_dist=近战单位集火距离 +flee_health_percentage=单位生命值低于百分之几(0.25 即 百分之25)时要逃离战场? +flee_minimum_health=单位生命值低于多少时要逃离战场? +statue_distance=不死族雕像在战斗时应该保持多远? +teleport_radius=使用回城卷轴时,回城英雄周围的单位应呆在多远? +gold_exchange_level=AMAI将超出此值的额外黄金给予其他需要金币的AI盟友 +wood_exchange_level=AMAI将超出此值的额外木材给予其他需要金币的AI盟友 +max_towns=AMAI最大该拥有几个基地??(以三种等级主城数量之和判断) +add_tag=在AMAI名称前添加[AMAI]标签? +add_skill=在AMAI名称后添加难度标签? +fav_hero_add=优先选择档案偏好英雄 +max_harass_groups=AMAI可以使用的多个骚扰组? +attacking_aggression=AMAI基础侵略值,值越高越激进。建议:-5到5 +expansion_radius=AMAI在开矿之前检查金矿附近怪物的半径 +harass_radius_attack_ranged=骚扰组进攻劣等敌方单位时,要与远程敌方单位有多远距离? +harass_radius_attack_melee=骚扰组攻击劣等敌方单位时,要与近战敌方单位有多远距离? +harass_radius_flee_ranged=骚扰组在距离远程敌方单位多远时逃跑? +harass_radius_flee_melee=骚扰组在距离近战敌方单位多远时逃跑? +chatting=需要AMAI聊天(BB)吗? +full_threat_distance=多远距离内的敌军被视为完全威胁? +no_threat_distance=多远距离外的敌军不被视为威胁? +distance_threat_exponent=随着敌军从无威胁距离转为完全威胁距离,威胁增加的速度是多少? +distance_threat_mult=当敌军接近时,对基地的威胁值增加多少?值越高威胁越大 +atl_time_start=此值威胁级别开始增加 +atl_time_end=此值威胁级别结束增加 +atl_time_start_val=威胁级别初始值 +atl_time_end_val=威胁级别终值 +atl_enemy_start=威胁级别倍数在敌军数量达到该值时增加 +atl_enemy_end=威胁级别倍数在敌军数量达到该值时不再增加 +atl_enemy_start_mult=威胁级别倍数初始值 +atl_enemy_end_mult=威胁级别倍数终值 +teleport_low_threat=在威胁级别较低时,如果威胁级别大于此值,军队使用回城卷轴 +teleport_high_threat=在威胁级别较高时,如果威胁级别大于此值,军队使用回城卷轴 +teleport_low_threat_distance=在威胁级别较低时,军队在离基地多近时不使用回城卷轴? +teleport_high_threat_distance=在威胁级别较高时,军队在离基地多近时不使用回城卷轴? +teleport_army_min_strength=使用回城卷轴所需的军队规模 +teleport_min_threat=允许使用回城卷轴的最低威胁级别 +shredder_peon_count=一个伐木机的伐木效率相当于几个工人? +minimum_peon_wood=AMAI拥有多少木材后,不再在增加用于采集木材的工人数量? +maximum_peon_wood=AMAI拥有多少黄金后,不再在增加用于采集黄金的工人数量? +ver_neutral_heroes_available=该版本是否有中立英雄? +ver_neutral_hero_number=有多少位中立英雄? +ver_only_heroes_buy=只有英雄能买单位或物品吗? +ver_food_limit=该版本的人口上限是多少? +normal_battle_radius=单位的常规仇恨距离是多少? +creep_battle_radius=野怪的仇恨距离是多少? +expansion_taken_radius=敌方建筑必须离矿点多近才能让AMAI识别为已被占领? +ver_hero_base_value=英雄的基础强度是多少(实际强度为等级加上基础强度)? +ver_hero_ultimate_level=英雄在几级可以学大招? +ver_hero_ultimate_value=大招会给英雄增加多少额外强度? +ver_creeps_attack_buildings_dist=野怪攻击建筑物的距离是多少? +ver_mercs_night_buy=在晚上购买雇佣兵不会惊醒野怪? +ver_tower_check_radius=在目标周围多少范围内检测塔? +ver_harass_tower_check_radius=在骚扰时,在多少范围内检测塔? +ver_strat_change_enemy_strength_min=游戏中所有敌方玩家的最大强度都超此值时,才允许更改策略。 +destroy_buildings_on_defeat=AMAI的建筑在战败时应该被摧毁还是交给中立玩家? +attack_reform_length=每次攻击时重新组建攻击组(获取新单位)的间隔为多少(秒/2)? +front_base_distance=基地前哨位置距离出生点多远? +ver_heroes=此版本英雄是否可用? +fixedcomputername=AMAI应该使用固定名称而不是档案名称? +green_creep_camp_strength_bonus=绿点野怪额外强度 +orange_creep_camp_strength_bonus=黄点野怪额外强度 +red_creep_camp_strength_bonus=红点野怪额外强度 +debugging=打开调试模式?(DEBUG) +strategy_change_threshold=新策略优先级必须大于当前策略几倍? +disable_surrender=AMAI不该过早放弃游戏? +major_hero_skill_value=英雄选择一技能的概率 +minor_hero_skill_value=英雄选择二技能的概率 +rare_hero_skill_value=英雄选择三技能的概率 +ver_optimal_gold=为档案偏好英雄添加多少概率? +ver_flee_multiple1=每座黄金的采集最佳工人数量,默认为5 +ver_flee_multiple1=最低侵略性下玩家强度的倍数,用于衡量是否允许AMAI逃跑 +ver_flee_multiple2=最高侵略性下玩家强度的倍数,用于衡量是否允许AMAI逃跑 +ver_flee_multiple3=最高侵略度下玩家强度的倍数,用于衡量AMAI是否会逃跑 +ver_low_aggression=侵略性低于多少时,使用最低强度的逃跑倍数 +ver_high_aggression=侵略性高于多少时,使用最高强度的逃跑倍数 + +hero1_revive_prio=复活首英雄的优先级 +hero2_revive_prio=复活第二英雄的优先级 +hero3_revive_prio=复活第三英雄的优先级 +prio_n_inc=建造所需建筑的额外优先级奖励 +prio_t_inc=按时间增加优先级奖励 +priority increase in quantity=按数量增加优先级奖励 +prio_q_inc=在距离可用人口上限多少时建造新的人口建筑? +farm_food2=在已用人口接近可用人口时,建造人口建筑的优先级 +farm_prio=建造人口建筑的优先级 +peon_prio=建造工人的优先级 +expa_prio=开矿的优先级 +expa_emergency_prio=在紧急情况下(当前矿场/全部矿场 + 自有资源即将耗尽)开矿的优先级 +expa_rebuild_prio=重建分基地的优先级 +peon_1_mine_number=拥有1座金矿时的工人数量上限 +peon_2_mines_number=拥有2座金矿时的工人数量上限 +peon_mines_number=拥有更多金矿时的工人数量上限 +min_peon_number_single_mine=拥有1座金矿时的工人数量下限 +min_peon_number_double_mine=拥有2座金矿时的工人数量下限 +min_peon_number_multi_mine=拥有更多金矿时的工人数量下限 +strat_food_persistence=在当前策略持续爆人口的优先级(防止AMAI在拥有大量军队时变更策略) +relevant_strat_change_number=变更策略时可以选择几个最高优先级的策略? +kb_add1=已拥有的核心建筑增加多少优先级?(影响所有策略) +kb_add2=正在建造的核心建筑增加多少优先级?(影响所有策略) +kb_add3=已拥有和正在建造的核心建筑增加多少优先级?(影响所有策略) +kb_add4=第二核心建筑增加多少优先级?(影响所有策略) +ku_add1=第一核心科技增加多少优先级?(影响所有策略) +ku_add2=第二核心科技增加多少优先级?(影响所有策略) +ku_add3=第三核心科技增加多少优先级?(影响所有策略) +fav_unit_add=AMAI档案的偏好单位增加多少优先级?(影响所有策略) +debug_strategy=该种族锁定此策略以便测试。(-1表示不锁定) +race_use_fountain=该种族使用治疗之泉? +race_manual_loading=该种族采金时需要将工人装载到金矿中,类似暗夜? +race_manual_loading_wisp=哪种工人单位要装载到金矿中? +race_manual_loading_mine=哪种金矿装载工人? +race_towerrush_available=该种族是否可以TR? +race_tower_item=TR有辅助物品吗?如头骨制造腐地或哨塔,仅支持大写英文 +race_tower_item_must=TR必须购买辅助物品吗(如腐地)? +race_tower_item_quantity=TR最多可以拥有多少辅助物品? +race_tower_id=TR的塔是哪种单位? +race_tower_id_replace=TR时不能创建腐地,如果建筑需要建造在腐地上,应设置替换单位,哪种单位可以替换? +race_tower_upgrade1=TR的塔的第一种升级是哪种单位?(核心输出) +race_tower_upgrade2=TR的塔的第二种升级是哪种单位?(辅助输出) +race_tower_move=TR的塔可以移动吗,比如暗夜的树或星际人类建筑的飞行? +race_tower_movestartstring=TR时开始塔移动的命令是哪个(填写命令字符串)?需加英文双引号 +race_tower_moveendstring=TR时结束塔移动的命令是哪个(填写命令字符串)?需加英文双引号 +race_tower_bypeon=TR的塔是由工人变成的,像暗夜?设置后AMAI会额外补偿2个工人 +race_tower_peon=TR要补偿多少造塔工人,由于亡灵是召唤建筑,可以设置得少些 +race_towerrush_requirement=造塔需要哪种建筑?如伐木场或磨坊 +race_towerrush_probability=TR的触发概率(百分比)是多少? +race_militia_expansion_available=该种族开矿时可以敲民兵吗? +race_hero_number=该种族有多少位本族英雄? +race_simple_melee=基础近战单位,使用基础近战策略时必须填写 +race_advanced_melee=高级近战单位,使用基础近战策略时必须填写 +race_has_ghouls=该种族有兼顾伐木和战斗的单位吗,类似食尸鬼? +race_ghouls_attack=兼顾伐木和战斗的单位会加入军队吗? +race_has_power_build=该种族的工人多敲建筑吗?类似人族 +race_no_wood_harvest=该种族没有专门的木材收集建筑吗?类似暗夜 +race_ignore_injured=该种族会把受伤单位留在家吗? +race_uses_mine_expansion=该种族是否使用矿盖开矿?类似亡灵 +race_uses_shredder=该种族使用伐木机吗? +race_militia_available=该种族是否可以敲民兵? +race_militia_max_distance=民兵允许离基地多远? +race_militia_id=民兵是哪种单位? +race_militia_ability=民兵的变身技能是哪个? +race_militia_hall_ability=大厅号召民兵的技能是哪个? +race_militia_unitstring=民兵的变身技能命令字符串是什么?需加英文双引号 +race_militiaworker_unitstring=民兵单位的单位字符串是什么?需加英文双引号 +use_militia_only_on_bigger_threats=仅在遭受较大威胁时才使用民兵? +race_ancient_expansion_available=该种族的建筑可以站起来协防?类似暗夜 +race_ancient_expansion_probability=该种族使用古树开矿的概率(百分比)是多少? +race_ancient_expansion_strength=该种族使用古树开矿的分矿野怪强度最大是多少(已弃用)? +race_ancient_expansion_help_id=哪种单位可替代古树开矿? +race_item_expansion_available=该种族可以使用物品开矿吗?如迷你大厅 +race_item_expansion_probability=使用物品开矿的概率(百分比)是多少? +race_item_sale_level=购买开矿物品需要多少级主基地? +race_item_expansion_item_id=开矿物品是哪个? +race_sell_ziggurats=该种族会出售无用的分矿通灵塔/冰塔/幽魂塔? +race_ziggurat_keep_distance=如果这个通灵塔/冰塔/幽魂塔多少距离内有另一个建筑(除了通灵塔/冰塔/幽魂塔),则不卖 +race_build_farms_front=该种族应在基地前方哨点建造人口建筑(确定哨点后)? +race_farms_front_limit=基地前方哨点的人口建筑最多可以造几个? +race_farms_at_mine=该种族应优先在金矿附近建造几个人口建筑? +race_max_expa_mine_distance=分矿与分基地之间的最大距离是? +race_has_moonwells=该种族的人口建筑拥有治疗光环? +race_towerrush_hero_rush_level=英雄必须拥有额外强度才TR(指定英雄种类,与英雄属性无关) +race_ancient_expansion_hero_rush_level=英雄必须拥有额外强度才古树开矿(指定英雄种类,与英雄属性无关) +ghoul_prio=建造食尸鬼的优先级 +race_min_ghouls=至少要造几个食尸鬼? +race_max_ghouls=缺木材时最多造几个食尸鬼? +groundid=探路单位是哪种?不能与该种族工人相同 +racial_burrow=该种族哪种建筑可以通过装载工人或单位来攻击?类似地洞 +structid=用于在投降时触发失败条件。 +race_ancient_barracks_rush_chance=如果种族可以BR(暗夜)且此值大于0,BR打野的概率会增加多少?(可在standardunits.txt中找到rushcreep标志) + +Strategy Function Name=策略名称(使用英文以确保翻译工作) +Default Name=默认名称(使用英文以确保翻译工作) +Default Report=默认策略报告(使用英文以确保翻译工作) +key_building1=第一个核心建筑 +key_building2=第二个核心建筑 +key_upgrade1=第一个核心科技 +key_upgrade2=第二个核心科技 +key_unit=核心单位 +beginning_strat=初始策略 +strat_minimum_time (in seconds/6)=策略最短时间(当前时间/6),按秒计 +strategy_type=策略类型 +main_strategy_tier=策略核心主城等级 +base rp=基础资源点 +ally bonus=盟友加成 +1on1 bonus=1V1加成 +FFA bonus=混战加成 +random enemy bonus=对阵随机种族加成 +ELF enemy bonus=对阵暗夜加成 +HUMAN enemy bonus=对阵人类加成 +ORC enemy bonus=对阵兽族加成 +UNDEAD enemy bonus=对阵亡灵加成 +ELF ally bonus=暗夜盟友加成 +HUMAN ally bonus=人类盟友加成 +ORC ally bonus=兽族盟友加成 +UNDEAD ally bonus=亡灵盟友加成 +anti air strength=反制空军强度 +anti casters strength=反制施法者强度 +anti towers strength=反制塔强度 +anti piercing strength=反制穿刺强度 +anti normal strength=反制普通强度 +anti siege strength=反制攻城强度 +anti magic strength=反制魔法强度 +anti unarmored strength=反无甲强度 +anti lightarmor strength=反轻甲强度 +anti mediumarmor strength=反中甲强度 +anti heavyarmor strength=反重甲强度 +expansion time=开首矿时间 +second expansion time=开二矿时间 +first hero bonus=首发哪位英雄有加成 +first hero bonus amount=首发英雄加成值 +second hero bonus=二发哪位英雄有加成 +second hero bonus amount=二发英雄加成值 +third hero bonus=三发哪位英雄有加成 +third hero bonus amount=三发英雄加成值 +enemy_ELF add agg t1=1本对敌暗夜侵略性额外加成 +enemy_ELF add agg t2=2本对敌暗夜侵略性额外加成 +enemy_ELF add agg t3=3本对敌暗夜侵略性额外加成 +enemy_HUMAN add agg t1=1本对敌人类侵略性额外加成 +enemy_HUMAN add agg t2=2本对敌人类侵略性额外加成 +enemy_HUMAN add agg t3=3本对敌人类侵略性额外加成 +enemy_ORC add agg t1=1本对敌兽族侵略性额外加成 +enemy_ORC add agg t2=2本对敌兽族侵略性额外加成 +enemy_ORC add agg t3=3本对敌兽族侵略性额外加成 +enemy_UNDEAD add agg t1=1本对敌亡灵侵略性额外加成 +enemy_UNDEAD add agg t2=2本对敌亡灵侵略性额外加成 +enemy_UNDEAD add agg t3=3本对敌亡灵侵略性额外加成 + +Profile Name=档案名称 +Race=种族 +Aggression=侵略性,建议-10~10 +Uncertainty=不确定性,建议5~15 +Minimum Attack Strength=最小攻击强度,建议6~9 +Build Farm at left food=偏好人口可用值,可用人口减已用人口小于该值时AMAI会优先建人口建筑,建议6~12 +first expansion time=开首矿时间,建议-10~10 +second expansion time=开二矿时间,建议-20~20 +strategy persistence=策略持久性,建议500~1500 +influences number of factories built=考虑建造更多兵营,建议0.9~1.0 +Taunt Rate=嘲讽概率,建议0~2 +Expansion Target Bonus=进攻敌人分矿倾向,建议0~20 +Hard coded AI target bonus=AMAI进攻目标奖励(硬编码),建议0~20 +Hard coded AI target rate=AMAI进攻频率奖励(硬编码),建议0.3~0.8 +Surrender Value=投降倾向,越高越爱投,建议0~4 +Favorite ELF Hero=最爱的暗夜英雄 +Favorite HUMAN Hero=最爱的人类英雄 +Favorite ORC Hero=最爱兽族英雄 +Favorite UNDEAD Hero=最爱的亡灵英雄 +Favorite Neutral Hero=最爱的中立英雄 +Favorite ELF Unit=最爱的暗夜单位 +Favorite HUMAN Unit=最爱的人类单位 +Favorite ORC Unit=最爱兽族单位 +Favorite UNDEAD Unit=最爱的亡灵单位 +Rare Profile=稀有档案,0为普通,1为稀有 \ No newline at end of file diff --git a/Languages/Swedish/StrategyManager.txt b/Languages/Swedish/StrategyManager.txt new file mode 100644 index 000000000..d4415754b --- /dev/null +++ b/Languages/Swedish/StrategyManager.txt @@ -0,0 +1,345 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile_ver= +button_compile_opt= +button_compile_all= +button_ok= +button_cancel= +button_yes= +button_about= +button_tip_new= +button_tip_extract= +button_tip_insert= +button_tip_copy= +button_tip_remove= +button_tip_edit= +button_tip_lock= +button_tip_unlock= +button_tip_quit= +button_tip_edit_racial_builds= +button_tip_edit_global= +button_tip_edit_racial_settings= +button_tip_compile_ver= +button_tip_compile_opt= +button_tip_compile_all= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_racial_Init_code= +label_racial_build= +label_tier_code= +label_strategy_report= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_global_build_set= +err_strategy_build_complete= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +message_quit= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= +custom_data_set= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/REFORGED/Elf/Settings.txt b/REFORGED/Elf/Settings.txt index 17651616c..3077da2dc 100644 --- a/REFORGED/Elf/Settings.txt +++ b/REFORGED/Elf/Settings.txt @@ -1,80 +1,92 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 180 priority for reviving hero2 -hero3_revive_prio 150 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food2 -4 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 280 priority for expansion building -expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 400 priority for rebuilding an expansion -peon_1_mine_number 15 number of peons to build when 1 mine is owned -peon_2_mines_number 20 number of peons to build when 2 mines are owned -peon_mines_number 24 number of peons to build when more mines are owned -min_peon_number_single_mine 11 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 16 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 21 minimum number of peons when more than 1 mine is owned -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading true does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp WISP What is the unit to load ? -race_manual_loading_mine ELF_MINE What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_tower_id ANCIENT_PROTECT what is the id of the races towers? -race_tower_upgrade 0 what is the id of the tower upgrade1 (core)? -race_towerrush_requirement HUNTERS_HALL what is the building required to build towers ? -race_towerrush_probability 23 how high (in percent) is the probability of doing a tower rush? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 4 how many racial heroes ? -race_simple_melee ARCHER a basic melee unit, only necessary when basic_melee is used -race_advanced_melee DRUID_CLAW an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_id 0 what is the militia unit type id? -race_militia_ability 0 what is the militia ability id ? -race_militia_hall_ability 0 what is the militia ability of the hall ? -race_militia_unitstring "" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available true can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 43 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 18 up to how much expansion strength is an ancient expansion allowed (DEPRECATED) ? -race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion -race_item_expansion_available false can expand with item building ? -race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? -race_item_sale_level 0 buy expand item need hall level ? -race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front true should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 1 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_has_moonwells true Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 1 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'uaco' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 50 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 180 priority for reviving hero2 +hero3_revive_prio 150 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food2 -4 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 280 priority for expansion building +expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 400 priority for rebuilding an expansion +peon_1_mine_number 15 number of peons to build when 1 mine is owned +peon_2_mines_number 20 number of peons to build when 2 mines are owned +peon_mines_number 24 number of peons to build when more mines are owned +min_peon_number_single_mine 11 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 16 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 21 minimum number of peons when more than 1 mine is owned +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading true does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp WISP What is the unit to load ? +race_manual_loading_mine ELF_MINE What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item 0 if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 0 how many items at a time , if can buy +race_tower_id ANCIENT_PROTECT what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 0 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 0 what is the id of the tower upgrade2 (secondary)? +race_tower_move true tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "root" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "unroot" what is the unorder of tower end move? +race_tower_bypeon true tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement HUNTERS_HALL what is the building required to build towers ? +race_towerrush_probability 20 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 4 how many racial heroes ? +race_simple_melee ARCHER a basic melee unit, only necessary when basic_melee is used +race_advanced_melee DRUID_CLAW an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_id 0 what is the militia unit type id? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available true can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 43 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 18 up to how much expansion strength is an ancient expansion allowed (DEPRECATED) ? +race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion +race_item_expansion_available false can expand with item building ? +race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? +race_item_sale_level 0 buy expand item need hall level ? +race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front true should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells true Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 1 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'uaco' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' // Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 50 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/REFORGED/GlobalSettings.txt b/REFORGED/GlobalSettings.txt index 81b8a1845..c57126e5f 100644 --- a/REFORGED/GlobalSettings.txt +++ b/REFORGED/GlobalSettings.txt @@ -1,97 +1,96 @@ -Variable Setting Value Comment -sleep_multiplier 1 increases performance by checking stuff not so often -slm_start 6 how many computer players is needed tor the sleep multiplier to start increasing. -slm_end 18 how many computer players is needed tor the sleep multiplier to stop increasing. -slm_start_mult 1 how much is the sleep multiplied when it's below the slm_start condition -slm_end_mult 2.9 how much is the sleep multiplied when it's above the slm_end condition -hero_radius 200 scanning this small area around hero to detect if the hero gets surrounded by enemy or is in danger of becoming that so it should move -use_linear_upkeep_saving false should the computers save the upkeep threshold gold over the time above or save it all at once when it get's to the upkeep border? -repair_threshold 6 computers only repair buildings if they have more than this many workers -repair_threshold_threatened 8 computers only repair buildings when the town is under attack if they got more than this many workers -max_follow_dist 1000 Distance behind the army a zeppelin follows -neutral_hero_time 26 when is neutral heroes available in seconds /5 -buy_distance 350 how close to a shop do a unit have to be for buying? -buy_timeout_large 120 time in seconds the hero goes to a shop before it gives up if it haven't reached it -buy_timeout_small 3 time in seconds a hero tries to buy items at shop before giving up -build_array_reset_time 100 every this * 5 seconds, the build array is reset -rp_strat_normal 250 normalizing strategy priorities added from strengths with this value -strategy_tier_bonus 22 the priority bonus added to a strategy if the computer is in the same tier as specified for the strategy -attacking_strategy 4 strategy when attacking enemy players -focus_fire_limit 35 if a enemy heros hp fall below the computers combined strength of ranged attackers in a battle * this, they will focus fire on the hero -focus_fire_ranged_dist 600 Distance from ranged units enemy units can be targeted with focus fire -focus_fire_melee_dist 333 Distance from melee units enemy units can be targeted with focus fire -flee_health_percentage 0.30 Units flee from battle if the health goes below his % value(0.25 = 25%) -flee_minimum_health 100 Units flee from battle if the health goes below this -statue_distance 300 how near the units a statue used by undead should be in the fights -teleport_radius 800 units will stay within this radius from a hero that is using town portal -gold_exchange_level 650 computers give extra gold above this value to other computers on the same team in need of gold -wood_exchange_level 350 computers give extra lumber above this value to other computers on the same team in need of lumber -max_towns 5 how many towns is a computer allowed to have? -add_tag true Add the [AMAI] tag in front of name -add_skill true Add the current skill after the name -fav_hero_add 10 priority added to heroes to be picked if they are favorites of the used profile -max_harass_groups 10 how many different harass groups you can use -attacking_aggression 2 the base agression value for all computers, higher value and they will play more agressive. Recomended -5 to 5 -expansion_radius 1250 the radius araound a mine computers check for creeps before expanding there -harass_radius_attack_ranged 800 how far away from ranged enemy units harassing units attack a inferior enemy unit -harass_radius_attack_melee 400 how far away from melee enemy units harassing units attack a inferior enemy unit -harass_radius_flee_ranged 1500 how far away from ranged enemy units harassing units turn and flee -harass_radius_flee_melee 800 how far away from melee enemy units harassing units turn and flee -chatting true computers use chat taunts -full_threat_distance 1000 a enemy army within this distance is counted as a full threat -no_threat_distance 2000 a enemy army outside this distance is counted as no threat -distance_threat_exponent 0.8 how fast the threat increases as the enemy army gets from the no_threat_distance to the full_threat_distance -distance_threat_mult 540 how much the threat vlaue goes up on a town when a enemy army aproaches, higher value means higher threat to town -atl_time_start 300 accepted threat level increase starts at this time -atl_time_end 900 and ends at that time -atl_time_start_val 10 it starts with this value -atl_time_end_val 20 and ends with that value -atl_enemy_start 1 accepted threat level multiplier increases at that enemy number -atl_enemy_end 4 until that enemy number -atl_enemy_start_mult 1 the multiplier starts for accepted threat level starts with this -atl_enemy_end_mult 1.5 and ends with this -teleport_low_threat 50 Army uses TP to get home and defend if a threat is greater than this -teleport_high_threat 100 Army uses TP to get home and defend if a threat is greater than this -teleport_low_threat_distance 4000 Army won't use TP home if they are closer to base than this and a low threat level appears -teleport_high_threat_distance 2300 Army won't use TP home if they are closer to base than this and a high threat level appears -teleport_army_min_strength 20 how big the army need to be for use of TP to threatened town -teleport_min_threat 50 minimum threat level TP use is allowed on -shredder_peon_count 10 how many peons does a goblin shredder replace in lumber harvesting -minimum_peon_wood 2000 computers don't build any workers for lumber harvesting if they have more lumber than this -maximum_peon_wood 200 computers build all needed workers for lumber harvesting if they have lumber lower than this -ver_neutral_heroes_available true does the version have neutral heroes ? -ver_neutral_hero_number 8 how many neutral heroes ? -ver_only_heroes_buy false can only heroes buy stuff ? -ver_food_limit GetPlayerState(ai_player, PLAYER_STATE_FOOD_CAP_CEILING) what is the versions food limit ? -normal_battle_radius 1500 units within that radius are considered belonging to the current battle -creep_battle_radius 750 same as with normal_battle_radius, but for battles against creeps -expansion_taken_radius 1300 how near a mine a enemy building must be to make amai recognize it as taken -ver_hero_base_value 2 what is the base strength of a hero (the level number is added to get the actual strength) ? -ver_hero_ultimate_level 6 at what level do the heroes get their ultimates ? -ver_hero_ultimate_value 3 how much extra strength does the ultimate give to the hero ? -ver_creeps_attack_buildings_dist 1850 how far away do creeps attack buildings ? -ver_mercs_night_buy false can mercs be bought at night without waking up creeps ? -ver_tower_check_radius 2000 check for towers in this radius around a target -ver_harass_tower_check_radius 2200 check for towers in this radius during harassing -ver_strat_change_enemy_strength_min 25 don't allow strategy change unless the maximum strength of all enemy players in the game is above this. -destroy_buildings_on_defeat false Should the buildings of the AI be destroyed on defeat or given to neutral player ? -attack_reform_length 10 reform the attack group (getting new units) every that time on an attack (in seconds / 2) -front_base_distance difficulty * 50 + 900 the distance of the front locations from the start location -ver_heroes true Does this version have heroes? -fixedcomputername false Enable to force computers to have there fixed name instead of a profile name -green_creep_camp_strength_bonus 0 Bonus strength added to minor creep camps -orange_creep_camp_strength_bonus 2 Bonus strength added to mediocre creep camps -red_creep_camp_strength_bonus 4 Bonus strength added to major creep camps -debugging false Can turn on for debugging mode to display debug type messages -strategy_change_threshold 1.05 New strategy priority must be larger than this multiple to the current strategy -disable_surrender false Set to true to stop amai from giving up early when it detects its going to lose -major_hero_skill_value 60 Priority to choose the first line of hero skills -minor_hero_skill_value 30 Priority to choose the second line of hero skills -rare_hero_skill_value 10 Priority to choose the third line of hero skills -fav_hero_add 20 priority added to heroes to be picked if they are favorites of the used profile -ver_optimal_gold 5 The optimal number of peons that should be harvesting gold -ver_flee_multiple1 1 Multiplier to players strength at lowest aggression to measure if amai is allowed to flee -ver_flee_multiple2 2 Multiplier to players strength at highest aggression to measure if amai allowed to flee -ver_flee_multiple3 3 Multipler to players strength at highest aggression to measure if amai will flee -ver_low_aggression -15 Aggression below this uses the lowest strength flee multiplier -ver_high_aggression 45 Agression above this uses the highest strength flee multiplier +Variable Setting Value Comment +sleep_multiplier 1 increases performance by checking stuff not so often +slm_start 6 how many computer players is needed tor the sleep multiplier to start increasing. +slm_end 18 how many computer players is needed tor the sleep multiplier to stop increasing. +slm_start_mult 1 how much is the sleep multiplied when it's below the slm_start condition +slm_end_mult 2.9 how much is the sleep multiplied when it's above the slm_end condition +hero_radius 200 scanning this small area around hero to detect if the hero gets surrounded by enemy or is in danger of becoming that so it should move +use_linear_upkeep_saving false should the computers save the upkeep threshold gold over the time above or save it all at once when it get's to the upkeep border? +repair_threshold 6 computers only repair buildings if they have more than this many workers +repair_threshold_threatened 8 computers only repair buildings when the town is under attack if they got more than this many workers +max_follow_dist 1000 Distance behind the army a zeppelin follows +neutral_hero_time 26 when is neutral heroes available in seconds /5 +buy_distance 350 how close to a shop do a unit have to be for buying? +buy_timeout_large 120 time in seconds the hero goes to a shop before it gives up if it haven't reached it +buy_timeout_small 3 time in seconds a hero tries to buy items at shop before giving up +build_array_reset_time 100 every this * 5 seconds, the build array is reset +rp_strat_normal 250 normalizing strategy priorities added from strengths with this value +strategy_tier_bonus 22 the priority bonus added to a strategy if the computer is in the same tier as specified for the strategy +attacking_strategy 4 strategy when attacking enemy players +focus_fire_limit 35 if a enemy heros hp fall below the computers combined strength of ranged attackers in a battle * this, they will focus fire on the hero +focus_fire_ranged_dist 600 Distance from ranged units enemy units can be targeted with focus fire +focus_fire_melee_dist 333 Distance from melee units enemy units can be targeted with focus fire +flee_health_percentage 0.30 Units flee from battle if the health goes below his % value(0.25 is 25%) +flee_minimum_health 100 Units flee from battle if the health goes below this +statue_distance 300 how near the units a statue used by undead should be in the fights +teleport_radius 800 units will stay within this radius from a hero that is using town portal +gold_exchange_level 650 computers give extra gold above this value to other computers on the same team in need of gold +wood_exchange_level 350 computers give extra lumber above this value to other computers on the same team in need of lumber +max_towns 5 how many towns is a computer allowed to have? +add_tag true Add the [AMAI] tag in front of name +add_skill true Add the current skill after the name +fav_hero_add 10 priority added to heroes to be picked if they are favorites of the used profile +max_harass_groups 10 how many different harass groups you can use +attacking_aggression 2 the base agression value for all computers, higher value and they will play more agressive. Recomended -5 to 5 +expansion_radius 1250 the radius araound a mine computers check for creeps before expanding there +harass_radius_attack_ranged 800 how far away from ranged enemy units harassing units attack a inferior enemy unit +harass_radius_attack_melee 400 how far away from melee enemy units harassing units attack a inferior enemy unit +harass_radius_flee_ranged 1500 how far away from ranged enemy units harassing units turn and flee +harass_radius_flee_melee 800 how far away from melee enemy units harassing units turn and flee +chatting true computers use chat taunts +full_threat_distance 1000 a enemy army within this distance is counted as a full threat +no_threat_distance 2000 a enemy army outside this distance is counted as no threat +distance_threat_exponent 0.8 how fast the threat increases as the enemy army gets from the no_threat_distance to the full_threat_distance +distance_threat_mult 540 how much the threat vlaue goes up on a town when a enemy army aproaches, higher value means higher threat to town +atl_time_start 300 accepted threat level increase starts at this time +atl_time_end 900 and ends at that time +atl_time_start_val 10 it starts with this value +atl_time_end_val 20 and ends with that value +atl_enemy_start 1 accepted threat level multiplier increases at that enemy number +atl_enemy_end 4 until that enemy number +atl_enemy_start_mult 1 the multiplier starts for accepted threat level starts with this +atl_enemy_end_mult 1.5 and ends with this +teleport_low_threat 50 Army uses TP to get home and defend if a threat is greater than this +teleport_high_threat 100 Army uses TP to get home and defend if a threat is greater than this +teleport_low_threat_distance 4000 Army won't use TP home if they are closer to base than this and a low threat level appears +teleport_high_threat_distance 2300 Army won't use TP home if they are closer to base than this and a high threat level appears +teleport_army_min_strength 20 how big the army need to be for use of TP to threatened town +teleport_min_threat 50 minimum threat level TP use is allowed on +shredder_peon_count 10 how many peons does a goblin shredder replace in lumber harvesting +minimum_peon_wood 2000 computers don't build any workers for lumber harvesting if they have more lumber than this +maximum_peon_wood 200 computers build all needed workers for lumber harvesting if they have lumber lower than this +ver_neutral_heroes_available true does the version have neutral heroes ? +ver_neutral_hero_number 8 how many neutral heroes ? +ver_only_heroes_buy false can only heroes buy stuff ? +ver_food_limit GetPlayerState(ai_player, PLAYER_STATE_FOOD_CAP_CEILING) what is the versions food limit ? +normal_battle_radius 1500 units within that radius are considered belonging to the current battle +creep_battle_radius 750 same as with normal_battle_radius, but for battles against creeps +expansion_taken_radius 1300 how near a mine a enemy building must be to make amai recognize it as taken +ver_hero_base_value 2 what is the base strength of a hero (the level number is added to get the actual strength) ? +ver_hero_ultimate_level 6 at what level do the heroes get their ultimates ? +ver_hero_ultimate_value 3 how much extra strength does the ultimate give to the hero ? +ver_creeps_attack_buildings_dist 1850 how far away do creeps attack buildings ? +ver_mercs_night_buy false can mercs be bought at night without waking up creeps ? +ver_tower_check_radius 2000 check for towers in this radius around a target +ver_harass_tower_check_radius 2200 check for towers in this radius during harassing +ver_strat_change_enemy_strength_min 25 don't allow strategy change unless the maximum strength of all enemy players in the game is above this. +destroy_buildings_on_defeat false Should the buildings of the AI be destroyed on defeat or given to neutral player ? +attack_reform_length 10 reform the attack group (getting new units) every that time on an attack (in seconds / 2) +front_base_distance difficulty * 50 + front_base_distance the distance of the front locations from the start location +ver_heroes true Does this version have heroes? +fixedcomputername false Enable to force computers to have there fixed name instead of a profile name +green_creep_camp_strength_bonus 0 Bonus strength added to minor creep camps +orange_creep_camp_strength_bonus 2 Bonus strength added to mediocre creep camps +red_creep_camp_strength_bonus 4 Bonus strength added to major creep camps +debugging false Can turn on for debugging mode to display debug type messages +strategy_change_threshold 1.05 New strategy priority must be larger than this multiple to the current strategy +disable_surrender false Set to true to stop amai from giving up early when it detects its going to lose +major_hero_skill_value 60 Priority to choose the first line of hero skills +minor_hero_skill_value 30 Priority to choose the second line of hero skills +rare_hero_skill_value 10 Priority to choose the third line of hero skills +ver_optimal_gold 5 The optimal number of peons that should be harvesting gold +ver_flee_multiple1 1 Multiplier to players strength at lowest aggression to measure if amai is allowed to flee +ver_flee_multiple2 2 Multiplier to players strength at highest aggression to measure if amai allowed to flee +ver_flee_multiple3 3 Multipler to players strength at highest aggression to measure if amai will flee +ver_low_aggression -15 Aggression below this uses the lowest strength flee multiplier +ver_high_aggression 45 Agression above this uses the highest strength flee multiplier diff --git a/REFORGED/Human/Settings.txt b/REFORGED/Human/Settings.txt index ced67c6c1..c680bdacf 100644 --- a/REFORGED/Human/Settings.txt +++ b/REFORGED/Human/Settings.txt @@ -1,80 +1,92 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 180 priority for reviving hero2 -hero3_revive_prio 150 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food2 0 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 280 priority for expansion building -expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 400 priority for rebuilding an expansion -peon_1_mine_number 14 number of peons to build when 1 mine is owned -peon_2_mines_number 18 number of peons to build when 2 mines are owned -peon_mines_number 22 number of peons to build when more mines are owned -min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 14 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 19 minimum number of peons when more than 1 mine is owned -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_tower_id WATCH_TOWER what is the id of the races towers? -race_tower_upgrade GUARD_TOWER what is the id of the tower upgrade1 (core)? -race_towerrush_requirement LUMBER_MILL what is the building required to build towers ? -race_towerrush_probability 28 how high (in percent) is the probability of doing a tower rush? -race_militia_expansion_available true does the race have a militia expansion ? -race_hero_number 4 how many racial heroes ? -race_simple_melee FOOTMAN a basic melee unit, only necessary when basic_melee is used -race_advanced_melee KNIGHT an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_has_power_build true can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available true does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_id 'hmil' what is the militia unit type id? -race_militia_ability 'Amil' what is the militia ability id ? -race_militia_hall_ability 'Amic' what is the militia ability of the hall ? -race_militia_unitstring "militia" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion -race_item_expansion_available false can expand with item building ? -race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? -race_item_sale_level 0 buy expand item need hall level ? -race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 4 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 180 priority for reviving hero2 +hero3_revive_prio 150 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food2 0 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 280 priority for expansion building +expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 400 priority for rebuilding an expansion +peon_1_mine_number 14 number of peons to build when 1 mine is owned +peon_2_mines_number 18 number of peons to build when 2 mines are owned +peon_mines_number 22 number of peons to build when more mines are owned +min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 14 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 19 minimum number of peons when more than 1 mine is owned +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item IVORY_TOWER if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 2 how many items at a time , if can buy +race_tower_id WATCH_TOWER what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 GUARD_TOWER what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 ARCANE_TOWER what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement LUMBER_MILL what is the building required to build towers ? +race_towerrush_probability 15 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available true does the race have a militia expansion ? +race_hero_number 4 how many racial heroes ? +race_simple_melee FOOTMAN a basic melee unit, only necessary when basic_melee is used +race_advanced_melee KNIGHT an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_has_power_build true can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available true does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_id 'hmil' what is the militia unit type id? +race_militia_ability 'Amil' what is the militia ability id ? +race_militia_hall_ability 'Amic' what is the militia ability of the hall ? +race_militia_unitstring "militia" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_item_expansion_available false can expand with item building ? +race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? +race_item_sale_level 0 buy expand item need hall level ? +race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' // Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/REFORGED/New.aip b/REFORGED/New.aip index 384f61090..bb767e3ed 100644 --- a/REFORGED/New.aip +++ b/REFORGED/New.aip @@ -1,2 +1,2 @@ #AMAI 2.0 Profile -NewProfile RANDOM 0 10 7 8 0 0 1000 0.9 1 8 5 0.5 1 0 0 0 0 0 0 0 0 0 +NewProfile RANDOM 0 10 7 8 0 0 1000 0.9 1 8 5 0.5 1 0 0 0 0 0 0 0 0 0 0 diff --git a/REFORGED/Orc/Settings.txt b/REFORGED/Orc/Settings.txt index d75f20d9a..97cf2da7c 100644 --- a/REFORGED/Orc/Settings.txt +++ b/REFORGED/Orc/Settings.txt @@ -1,81 +1,92 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 180 priority for reviving hero2 -hero3_revive_prio 150 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food2 -4 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 280 priority for expansion building -expa_emergency_prio 500 priority for making expansion when it's an emergency (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 400 priority for rebuilding an expansion -peon_1_mine_number 13 number of peons to build when 1 mine is owned -peon_2_mines_number 18 number of peons to build when 2 mines are owned -peon_mines_number 22 number of peons to build when more mines are owned -min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 13 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 18 minimum number of peons when more than 1 mine is owned -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 2 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 10 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available true does the race have a towerrush ? -race_tower_id ORC_WATCH_TOWER what is the id of the races towers? -race_tower_upgrade 0 what is the id of the tower upgrade1 (core)? -race_towerrush_requirement FORGE what is the building required to build towers ? -race_towerrush_probability 32 how high (in percent) is the probability of doing a tower rush? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 4 how many racial heroes ? -race_simple_melee GRUNT a basic melee unit, only necessary when basic_melee is used -race_advanced_melee TAUREN an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_id 0 what is the militia unit type id? -race_militia_ability 0 what is the militia ability id ? -race_militia_hall_ability 0 what is the militia ability of the hall ? -race_militia_unitstring "" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion -race_item_expansion_available true can expand with item building ? -race_item_expansion_probability 75 how high (in percent) is the probability of doing a item expansion ? -race_item_sale_level 3 buy expand item need hall level ? -race_item_expansion_item_id TINY_GREAT_HALL what is expand item name(from StandardUnits.txt) ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 4 limit the number of farms at the front to this number -race_farms_at_mine 2 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion buildingmin_peon_number_double_mine -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon -racial_burrow BURROW Building id that can house peons/units and then shoot enemies. -race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 180 priority for reviving hero2 +hero3_revive_prio 150 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food2 -4 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 280 priority for expansion building +expa_emergency_prio 500 priority for making expansion when it's an emergency (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 400 priority for rebuilding an expansion +peon_1_mine_number 13 number of peons to build when 1 mine is owned +peon_2_mines_number 18 number of peons to build when 2 mines are owned +peon_mines_number 22 number of peons to build when more mines are owned +min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 13 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 18 minimum number of peons when more than 1 mine is owned +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 2 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 10 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item 0 if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 0 how many items at a time , if can buy +race_tower_id ORC_WATCH_TOWER what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), Please set, cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 0 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 0 what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement FORGE what is the building required to build towers ? +race_towerrush_probability 23 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 4 how many racial heroes ? +race_simple_melee GRUNT a basic melee unit, only necessary when basic_melee is used +race_advanced_melee TAUREN an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_id 0 what is the militia unit type id? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_item_expansion_available true can expand with item building ? +race_item_expansion_probability 75 how high (in percent) is the probability of doing a item expansion ? +race_item_sale_level 3 buy expand item need hall level ? +race_item_expansion_item_id TINY_GREAT_HALL what is expand item name(from StandardUnits.txt) ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 2 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion buildingmin_peon_number_double_mine +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow BURROW Building id that can house peons/units and then shoot enemies. +structid 'ngnh' // Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/REFORGED/Undead/Settings.txt b/REFORGED/Undead/Settings.txt index af26374b8..91b8ce37c 100644 --- a/REFORGED/Undead/Settings.txt +++ b/REFORGED/Undead/Settings.txt @@ -1,80 +1,92 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 180 priority for reviving hero2 -hero3_revive_prio 150 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food2 -4 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 280 priority for expansion building -expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 400 priority for rebuilding an expansion -peon_1_mine_number 5 number of peons to build when 1 mine is owned -peon_2_mines_number 10 number of peons to build when 2 mines are owned -peon_mines_number 15 number of peons to build when more mines are owned -min_peon_number_single_mine 5 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 10 minimum number of peons when 2 mine is owned -min_peon_number_multi_mine 15 minimum number of peons when more than 1 mine is owned -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_tower_id ZIGGURAT_1 what is the id of the races towers? -race_tower_upgrade ZIGGURAT_2 what is the id of the tower upgrade1 (core)? -race_towerrush_requirement GRAVEYARD what is the building required to build towers ? -race_towerrush_probability 25 how high (in percent) is the probability of doing a tower rush? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 4 how many racial heroes ? -race_simple_melee GHOUL a basic melee unit, only necessary when basic_melee is used -race_advanced_melee ABOMINATION an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls true has the race a ghoul-like wood harvester/fighter unit ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion true does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_id 0 what is the militia unit type id? -race_militia_ability 0 what is the militia ability id ? -race_militia_hall_ability 0 what is the militia ability of the hall ? -race_militia_unitstring "" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion -race_item_expansion_available false can expand with item building ? -race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? -race_item_sale_level 0 buy expand item need hall level ? -race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? -race_sell_ziggurats true does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1200 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 3 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 3 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 180 priority for reviving hero2 +hero3_revive_prio 150 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food2 -4 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 280 priority for expansion building +expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 400 priority for rebuilding an expansion +peon_1_mine_number 5 number of peons to build when 1 mine is owned +peon_2_mines_number 10 number of peons to build when 2 mines are owned +peon_mines_number 15 number of peons to build when more mines are owned +min_peon_number_single_mine 5 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 10 minimum number of peons when 2 mine is owned +min_peon_number_multi_mine 15 minimum number of peons when more than 1 mine is owned +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item SACRIFICIAL_SKULL if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must true the item is build towers is must? +race_tower_item_quantity 1 how many items at a time , if can buy +race_tower_id ZIGGURAT_1 what is the id of the races towers? +race_tower_id_replace AVIARY if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 ZIGGURAT_2 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 ZIGGURAT_FROST what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 2 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement GRAVEYARD what is the building required to build towers ? +race_towerrush_probability 17 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 4 how many racial heroes ? +race_simple_melee GHOUL a basic melee unit, only necessary when basic_melee is used +race_advanced_melee ABOMINATION an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls true has the race a ghoul-like wood harvester/fighter unit ? +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion true does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_id 0 what is the militia unit type id? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_item_expansion_available false can expand with item building ? +race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? +race_item_sale_level 0 buy expand item need hall level ? +race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? +race_sell_ziggurats true does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1200 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 3 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 3 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' // Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/ROC/Elf/Settings.txt b/ROC/Elf/Settings.txt index ecf5fb692..a8a090ba9 100644 --- a/ROC/Elf/Settings.txt +++ b/ROC/Elf/Settings.txt @@ -1,78 +1,89 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 120 priority for reviving hero2 -hero3_revive_prio 80 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food 8 build farm when this near food used to food produced -farm_food2 1 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 200 priority for expansion building -expa_emergency_prio 300 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 200 priority for rebuilding an expansion -peon_1_mine_number 15 number of peons to build when 1 mine is owned -peon_2_mines_number 20 number of peons to build when 2 mines are owned -peon_mines_number 25 number of peons to build when more mines are owned -min_peon_number_single_mine 10 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 15 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 20 minimum number of peons when more than 1 mine is owned -strat_persistence 1500 extra added priority to the current strategy to make computer not change strategy too fast -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading true does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp WISP What is the unit to load ? -race_manual_loading_mine ELF_MINE What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 3 how many racial heroes ? -race_simple_melee 0 a basic melee unit, only necessary when basic_melee is used -race_advanced_melee 0 an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_ability 'Amil' what is the militia ability id ? -race_militia_hall_ability 'Amic' what is the militia ability of the hall ? -race_militia_unitstring "militia" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available true can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion -race_towerrush_requirement HUNTERS_HALL what is the building required to build towers ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 4 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_tower_id ANCIENT_PROTECT what is the id of the races towers? -race_tower_upgrade 0 what is the id of the tower upgrade ? -race_towerrush_probability 50 how high (in percent) is the probability of doing a tower rush? -min_peon_number_double_mine 11 minimum number of peons when 2 mines are owned -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'uaco' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 50 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 120 priority for reviving hero2 +hero3_revive_prio 80 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food 8 build farm when this near food used to food produced +farm_food2 1 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 200 priority for expansion building +expa_emergency_prio 300 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 200 priority for rebuilding an expansion +peon_1_mine_number 15 number of peons to build when 1 mine is owned +peon_2_mines_number 20 number of peons to build when 2 mines are owned +peon_mines_number 24 number of peons to build when more mines are owned +min_peon_number_single_mine 11 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 16 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 21 minimum number of peons when more than 1 mine is owned +strat_persistence 1500 extra added priority to the current strategy to make computer not change strategy too fast +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading true does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp WISP What is the unit to load ? +race_manual_loading_mine ELF_MINE What unit is it loaded in ? +race_towerrush_available false does the race have a towerrush ? +race_tower_item 0 if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 0 how many items at a time , if can buy +race_tower_id ANCIENT_PROTECT what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 0 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 0 what is the id of the tower upgrade2 (secondary)? +race_tower_move true tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "root" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "unroot" what is the unorder of tower end move? +race_tower_bypeon true tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement HUNTERS_HALL what is the building required to build towers ? +race_towerrush_probability 15 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 3 how many racial heroes ? +race_simple_melee 0 a basic melee unit, only necessary when basic_melee is used +race_advanced_melee 0 an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available true can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells true Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 1 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'uaco' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/ROC/GlobalSettings.txt b/ROC/GlobalSettings.txt index 10f9cfa71..f66c14ae0 100644 --- a/ROC/GlobalSettings.txt +++ b/ROC/GlobalSettings.txt @@ -1,97 +1,97 @@ -Variable Setting Value Comment -sleep_multiplier 1 increases performance by checking stuff not so often -slm_start 4 how many computer players is needed tor the sleep multiplier to start increasing. -slm_end 10 how many computer players is needed tor the sleep multiplier to stop increasing. -slm_start_mult 1 how much is the sleep multiplied when it's below the slm_start condition -slm_end_mult 2 how much is the sleep multiplied when it's above the slm_end condition -hero_radius 200 scanning this small area around hero to detect if the hero gets surrounded by enemy or is in danger of becoming that so it should move -use_linear_upkeep_saving false should the computers save the upkeep threshold gold over the time above or save it all at once when it get's to the upkeep border? -repair_threshold 6 computers only repair buildings if they have more than this many workers -repair_threshold_threatened 8 computers only repair buildings when the town is under attack if they got more than this many workers -max_follow_dist 1000 Distance behind the arme a zeppelin follows -neutral_hero_time 25 when is neutral heroes available in seconds /5 -buy_distance 350 how close to a shop do a unit have to be for buying? -buy_timeout_large 120 time in seconds the hero goes to a shop before it gives up if it haven't reached it -buy_timeout_small 15 time in seconds a hero tries to buy items at shop before giving up -build_array_reset_time 100 every this * 5 seconds, the build array is reset -rp_strat_normal 250 normalizing strategy priorities added from strengths with this value -strategy_tier_bonus 35 the priority bonus added to a strategy if the computer is in the same tier as specified for the strategy -attacking_strategy 4 strategy when attacking enemy players -focus_fire_limit 35 if a enemy heros hp fall below the computers combined strength of ranged attackers in a battle * this, they will focus fire on the hero -focus_fire_ranged_dist 600 Distance from ranged units enemy units can be targeted with focus fire -focus_fire_melee_dist 50 Distance from melee units enemy units can be targeted with focus fire -flee_health_percentage 0.25 Units flee from battle if the health goes below his % value(0.25 = 25%) -flee_minimum_health 100 Units flee from battle if the health goes below this -statue_distance 300 how near the units a statue used by undead should be in the fights -teleport_radius 800 units will stay within this radius from a hero that is using town portal -gold_exchange_level 650 computers give extra gold above this value to other computers on the same team in need of gold -wood_exchange_level 350 computers give extra lumber above this value to other computers on the same team in need of lumber -max_towns 5 how many towns is a computer allowed to have? -add_tag true Add the [AMAI] tag in front of name -add_skill true Add the current skill after the name -fav_hero_add 20 priority added to heroes to be picked if they are favorites of the used profile -max_harass_groups 10 how many different harass groups you can use -attacking_aggression 1 the base agression value for all computers, higher value and they will play more agressive. Recomended -5 to 5 -expansion_radius 1250 the radius araound a mine computers check for creeps before expanding there -harass_radius_attack_ranged 800 how far away from ranged enemy units harassing units attack a inferior enemy unit -harass_radius_attack_melee 400 how far away from melee enemy units harassing units attack a inferior enemy unit -harass_radius_flee_ranged 1200 how far away from ranged enemy units harassing units turn and flee -harass_radius_flee_melee 800 how far away from melee enemy units harassing units turn and flee -chatting true computers use chat taunts -full_threat_distance 600 a enemy army within this distance is counted as a full threat -no_threat_distance 3000 a enemy army outside this distance is counted as no threat -distance_threat_exponent 0.8 how fast the threat increases as the enemy army gets from the no_threat_distance to the full_threat_distance -distance_threat_mult 540 how much the threat vlaue goes up on a rown when a enemy army aproashes, higher value means higher threat to town -atl_time_start 300 accepted threat level increase starts at this time -atl_time_end 900 and ends at that time -atl_time_start_val 10 it starts with this value -atl_time_end_val 20 and ends with that value -atl_enemy_start 1 accepted threat level multiplier increases at that enemy number -atl_enemy_end 4 until that enemy number -atl_enemy_start_mult 1 the multiplier starts for accepted threat level starts with this -atl_enemy_end_mult 1.5 and ends with this -teleport_low_threat 70 Army uses TP to get home and defend if a threat is greater than this -teleport_high_threat 120 Army uses TP to get home and defend if a threat is greater than this -teleport_low_threat_distance 5000 Army won't use TP home if they are closer to base than this and a low threat level appears -teleport_high_threat_distance 3000 Army won't use TP home if they are closer to base than this and a high threat level appears -teleport_army_min_strength 20 how big the army need to be for use of TP to threatened town -teleport_min_threat 70 minimum threat level TP use is allowed on -shredder_peon_count 10 how many peons does a goblin shredder replace in lumber harvesting -minimum_peon_wood 2000 computers don't build any workers for lumber harvesting if they have more lumber than this -maximum_peon_wood 200 computers build all needed workers for lumber harvesting if they have lumber lower than this -ver_neutral_heroes_available false does the version have neutral heroes ? -ver_neutral_hero_number 0 how many neutral heroes ? -ver_only_heroes_buy true can only heroes buy stuff ? -ver_food_limit GetPlayerState(ai_player, PLAYER_STATE_FOOD_CAP_CEILING) what is the versions food limit ? -normal_battle_radius 1500 units within that radius are considered belonging to the current battle -creep_battle_radius 750 same as with normal_battle_radius, but for battles against creeps -expansion_taken_radius 1300 how near a mine a enemy building must be to make amai recognize it as taken -ver_strat_change_enemy_strength_min 25 don't allow strategy change unless the maximum strength of all enemy players in the game is above this. -ver_hero_base_value 2 what is the base strength of a hero (the level number is added to get the actual strength) ? -ver_hero_ultimate_level 6 at what level do the heroes get their ultimates ? -ver_hero_ultimate_value 3 how much extra strength does the ultimate give to the hero ? -ver_creeps_attack_buildings_dist 1500 how far away do creeps attack buildings ? -ver_mercs_night_buy false can mercs be bought at night without waking up creeps ? -ver_tower_check_radius 2000 check for towers in this radius around a target -ver_harass_tower_check_radius 1400 check for towers in this radius during harassing -destroy_buildings_on_defeat false Should the buildings of the AI be destroyed on defeat or given to neutral player ? -attack_reform_length 10 reform the attack group (getting new units) every that time on an attack (in seconds / 2) -ver_heroes true Does this version have heroes? -front_base_distance difficulty * 50 + 900 the distance of the front locations from the start location -fixedcomputername false Enable to force computers to have there fixed name instead of a profile name -debugging false Can turn on for debugging mode to display debug type messages -green_creep_camp_strength_bonus 0 Bonus strength added to minor creep camps -orange_creep_camp_strength_bonus 2 Bonus strength added to mediocre creep camps -red_creep_camp_strength_bonus 4 Bonus strength added to major creep camps -strategy_change_threshold 1.05 New strategy priority must be larger than this multiple to the current strategy -disable_surrender false Set to true to stop amai from giving up early when it detects its going to lose -minor_hero_skill_value 30 Priority to choose the second line of hero skills -rare_hero_skill_value 10 Priority to choose the third line of hero skills -major_hero_skill_value 60 Priority to choose the first line of hero skills -ver_optimal_gold 5 The optimal number of peons that should be harvesting gold -fav_hero_add 20 priority added to heroes to be picked if they are favorites of the used profile -ver_flee_multiple1 1 Multiplier to players strength at lowest aggression to measure if amai is allowed to flee -ver_flee_multiple2 2 Multiplier to players strength at highest aggression to measure if amai allowed to flee -ver_flee_multiple3 3 Multipler to players strength at highest aggression to measure if amai will flee -ver_low_aggression -15 Aggression below this uses the lowest strength flee multiplier -ver_high_aggression 45 Agression above this uses the highest strength flee multiplier +Variable Setting Value Comment +sleep_multiplier 1 increases performance by checking stuff not so often +slm_start 6 how many computer players is needed tor the sleep multiplier to start increasing. +slm_end 18 how many computer players is needed tor the sleep multiplier to stop increasing. +slm_start_mult 1 how much is the sleep multiplied when it's below the slm_start condition +slm_end_mult 2.9 how much is the sleep multiplied when it's above the slm_end condition +hero_radius 200 scanning this small area around hero to detect if the hero gets surrounded by enemy or is in danger of becoming that so it should move +use_linear_upkeep_saving false should the computers save the upkeep threshold gold over the time above or save it all at once when it get's to the upkeep border? +repair_threshold 6 computers only repair buildings if they have more than this many workers +repair_threshold_threatened 8 computers only repair buildings when the town is under attack if they got more than this many workers +max_follow_dist 1000 Distance behind the army a zeppelin follows +neutral_hero_time 26 when is neutral heroes available in seconds /5 +buy_distance 350 how close to a shop do a unit have to be for buying? +buy_timeout_large 120 time in seconds the hero goes to a shop before it gives up if it haven't reached it +buy_timeout_small 3 time in seconds a hero tries to buy items at shop before giving up +build_array_reset_time 100 every this * 5 seconds, the build array is reset +rp_strat_normal 250 normalizing strategy priorities added from strengths with this value +strategy_tier_bonus 22 the priority bonus added to a strategy if the computer is in the same tier as specified for the strategy +attacking_strategy 4 strategy when attacking enemy players +focus_fire_limit 35 if a enemy heros hp fall below the computers combined strength of ranged attackers in a battle * this, they will focus fire on the hero +focus_fire_ranged_dist 600 Distance from ranged units enemy units can be targeted with focus fire +focus_fire_melee_dist 333 Distance from melee units enemy units can be targeted with focus fire +flee_health_percentage 0.30 Units flee from battle if the health goes below his % value(0.25 = 25%) +flee_minimum_health 100 Units flee from battle if the health goes below this +statue_distance 300 how near the units a statue used by undead should be in the fights +teleport_radius 800 units will stay within this radius from a hero that is using town portal +gold_exchange_level 650 computers give extra gold above this value to other computers on the same team in need of gold +wood_exchange_level 350 computers give extra lumber above this value to other computers on the same team in need of lumber +max_towns 5 how many towns is a computer allowed to have? +add_tag true Add the [AMAI] tag in front of name +add_skill true Add the current skill after the name +fav_hero_add 10 priority added to heroes to be picked if they are favorites of the used profile +max_harass_groups 10 how many different harass groups you can use +attacking_aggression 2 the base agression value for all computers, higher value and they will play more agressive. Recomended -5 to 5 +expansion_radius 1250 the radius araound a mine computers check for creeps before expanding there +harass_radius_attack_ranged 800 how far away from ranged enemy units harassing units attack a inferior enemy unit +harass_radius_attack_melee 400 how far away from melee enemy units harassing units attack a inferior enemy unit +harass_radius_flee_ranged 1500 how far away from ranged enemy units harassing units turn and flee +harass_radius_flee_melee 800 how far away from melee enemy units harassing units turn and flee +chatting true computers use chat taunts +full_threat_distance 1000 a enemy army within this distance is counted as a full threat +no_threat_distance 2000 a enemy army outside this distance is counted as no threat +distance_threat_exponent 0.8 how fast the threat increases as the enemy army gets from the no_threat_distance to the full_threat_distance +distance_threat_mult 540 how much the threat vlaue goes up on a town when a enemy army aproaches, higher value means higher threat to town +atl_time_start 300 accepted threat level increase starts at this time +atl_time_end 900 and ends at that time +atl_time_start_val 10 it starts with this value +atl_time_end_val 20 and ends with that value +atl_enemy_start 1 accepted threat level multiplier increases at that enemy number +atl_enemy_end 4 until that enemy number +atl_enemy_start_mult 1 the multiplier starts for accepted threat level starts with this +atl_enemy_end_mult 1.5 and ends with this +teleport_low_threat 50 Army uses TP to get home and defend if a threat is greater than this +teleport_high_threat 100 Army uses TP to get home and defend if a threat is greater than this +teleport_low_threat_distance 4000 Army won't use TP home if they are closer to base than this and a low threat level appears +teleport_high_threat_distance 2300 Army won't use TP home if they are closer to base than this and a high threat level appears +teleport_army_min_strength 20 how big the army need to be for use of TP to threatened town +teleport_min_threat 50 minimum threat level TP use is allowed on +shredder_peon_count 12 how many peons does a goblin shredder replace in lumber harvesting +minimum_peon_wood 2000 computers don't build any workers for lumber harvesting if they have more lumber than this +maximum_peon_wood 200 computers build all needed workers for lumber harvesting if they have lumber lower than this +ver_neutral_heroes_available true does the version have neutral heroes ? +ver_neutral_hero_number 8 how many neutral heroes ? +ver_only_heroes_buy false can only heroes buy stuff ? +ver_food_limit GetPlayerState(ai_player, PLAYER_STATE_FOOD_CAP_CEILING) what is the versions food limit ? +normal_battle_radius 1500 units within that radius are considered belonging to the current battle +creep_battle_radius 750 same as with normal_battle_radius, but for battles against creeps +expansion_taken_radius 1300 how near a mine a enemy building must be to make amai recognize it as taken +ver_hero_base_value 4 what is the base strength of a hero (the level number is added to get the actual strength) ? +ver_hero_ultimate_level 6 at what level do the heroes get their ultimates ? +ver_hero_ultimate_value 6 how much extra strength does the ultimate give to the hero ? +ver_creeps_attack_buildings_dist 1850 how far away do creeps attack buildings ? +ver_mercs_night_buy false can mercs be bought at night without waking up creeps ? +ver_tower_check_radius 2000 check for towers in this radius around a target +ver_harass_tower_check_radius 2200 check for towers in this radius during harassing +ver_strat_change_enemy_strength_min 25 don't allow strategy change unless the maximum strength of all enemy players in the game is above this. +destroy_buildings_on_defeat false Should the buildings of the AI be destroyed on defeat or given to neutral player ? +attack_reform_length 10 reform the attack group (getting new units) every that time on an attack (in seconds / 2) +front_base_distance difficulty * 50 + front_base_distance the distance of the front locations from the start location +ver_heroes true Does this version have heroes? +fixedcomputername false Enable to force computers to have there fixed name instead of a profile name +green_creep_camp_strength_bonus 0 Bonus strength added to minor creep camps +orange_creep_camp_strength_bonus 2 Bonus strength added to mediocre creep camps +red_creep_camp_strength_bonus 4 Bonus strength added to major creep camps +debugging false Can turn on for debugging mode to display debug type messages +strategy_change_threshold 1.05 New strategy priority must be larger than this multiple to the current strategy +disable_surrender false Set to true to stop amai from giving up early when it detects its going to lose +major_hero_skill_value 60 Priority to choose the first line of hero skills +minor_hero_skill_value 30 Priority to choose the second line of hero skills +rare_hero_skill_value 10 Priority to choose the third line of hero skills +fav_hero_add 20 priority added to heroes to be picked if they are favorites of the used profile +ver_optimal_gold 5 The optimal number of peons that should be harvesting gold +ver_flee_multiple1 1 Multiplier to players strength at lowest aggression to measure if amai is allowed to flee +ver_flee_multiple2 2 Multiplier to players strength at highest aggression to measure if amai allowed to flee +ver_flee_multiple3 3 Multipler to players strength at highest aggression to measure if amai will flee +ver_low_aggression -15 Aggression below this uses the lowest strength flee multiplier +ver_high_aggression 45 Agression above this uses the highest strength flee multiplier diff --git a/ROC/Human/Settings.txt b/ROC/Human/Settings.txt index 7c610720d..e7b3be988 100644 --- a/ROC/Human/Settings.txt +++ b/ROC/Human/Settings.txt @@ -1,78 +1,89 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 120 priority for reviving hero2 -hero3_revive_prio 80 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food 8 build farm when this near food used to food produced -farm_food2 1 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 200 priority for expansion building -expa_emergency_prio 300 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 200 priority for rebuilding an expansion -peon_1_mine_number 12 number of peons to build when 1 mine is owned -peon_2_mines_number 17 number of peons to build when 2 mines are owned -peon_mines_number 22 number of peons to build when more mines are owned -min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 14 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 19 minimum number of peons when more than 1 mine is owned -strat_persistence 1500 extra added priority to the current strategy to make computer not change strategy too fast -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_militia_expansion_available true does the race have a militia expansion ? -race_hero_number 3 how many racial heroes ? -race_simple_melee FOOTMAN a basic melee unit, only necessary when basic_melee is used -race_advanced_melee KNIGHT an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_has_power_build true can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available true does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_ability 'Amil' what is the militia ability id ? -race_militia_hall_ability 'Amic' what is the militia ability of the hall ? -race_militia_unitstring "militia" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats true shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 33 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion -race_towerrush_requirement LUMBER_MILL what is the building required to build towers ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 4 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_tower_id WATCH_TOWER what is the id of the races towers? -race_tower_upgrade GUARD_TOWER what is the id of the tower upgrade ? -race_towerrush_probability 50 how high (in percent) is the probability of doing a tower rush? -min_peon_number_double_mine 11 minimum number of peons when 2 mines are owned -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 2 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 120 priority for reviving hero2 +hero3_revive_prio 80 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food 8 build farm when this near food used to food produced +farm_food2 1 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 200 priority for expansion building +expa_emergency_prio 300 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 200 priority for rebuilding an expansion +peon_1_mine_number 14 number of peons to build when 1 mine is owned +peon_2_mines_number 18 number of peons to build when 2 mines are owned +peon_mines_number 22 number of peons to build when more mines are owned +min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 14 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 19 minimum number of peons when more than 1 mine is owned +strat_persistence 1500 extra added priority to the current strategy to make computer not change strategy too fast +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available false does the race have a towerrush ? +race_tower_item 0 if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 0 how many items at a time , if can buy +race_tower_id WATCH_TOWER what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 GUARD_TOWER what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 0 what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement LUMBER_MILL what is the building required to build towers ? +race_towerrush_probability 20 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available true does the race have a militia expansion ? +race_hero_number 3 how many racial heroes ? +race_simple_melee FOOTMAN a basic melee unit, only necessary when basic_melee is used +race_advanced_melee KNIGHT an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_has_power_build true can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available true does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_ability 'Amil' what is the militia ability id ? +race_militia_hall_ability 'Amic' what is the militia ability of the hall ? +race_militia_unitstring "militia" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats true shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 33 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 1 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/ROC/Orc/Settings.txt b/ROC/Orc/Settings.txt index 101a033c2..f9f09101d 100644 --- a/ROC/Orc/Settings.txt +++ b/ROC/Orc/Settings.txt @@ -1,78 +1,89 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 120 priority for reviving hero2 -hero3_revive_prio 80 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food 8 build farm when this near food used to food produced -farm_food2 1 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 200 priority for expansion building -expa_emergency_prio 300 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 200 priority for rebuilding an expansion -peon_1_mine_number 12 number of peons to build when 1 mine is owned -peon_2_mines_number 17 number of peons to build when 2 mines are owned -peon_mines_number 22 number of peons to build when more mines are owned -min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 13 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 18 minimum number of peons when more than 1 mine is owned -strat_persistence 1500 extra added priority to the current strategy to make computer not change strategy too fast -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available true does the race have a towerrush ? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 3 how many racial heroes ? -race_simple_melee 0 a basic melee unit, only necessary when basic_melee is used -race_advanced_melee 0 an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_ability 'Amil' what is the militia ability id ? -race_militia_hall_ability 'Amic' what is the militia ability of the hall ? -race_militia_unitstring "militia" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 33 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion -race_towerrush_requirement FORGE what is the building required to build towers ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 4 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_tower_id ORC_WATCH_TOWER what is the id of the races towers? -race_tower_upgrade 0 what is the id of the tower upgrade ? -race_towerrush_probability 40 how high (in percent) is the probability of doing a tower rush? -min_peon_number_double_mine 11 minimum number of peons when 2 mines are owned -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 2 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 120 priority for reviving hero2 +hero3_revive_prio 80 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food 8 build farm when this near food used to food produced +farm_food2 1 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 200 priority for expansion building +expa_emergency_prio 300 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 200 priority for rebuilding an expansion +peon_1_mine_number 13 number of peons to build when 1 mine is owned +peon_2_mines_number 18 number of peons to build when 2 mines are owned +peon_mines_number 22 number of peons to build when more mines are owned +min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 13 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 18 minimum number of peons when more than 1 mine is owned +strat_persistence 1500 extra added priority to the current strategy to make computer not change strategy too fast +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item 0 if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 0 how many items at a time , if can buy +race_tower_id ORC_WATCH_TOWER what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 0 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 0 what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement FORGE what is the building required to build towers ? +race_towerrush_probability 25 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 3 how many racial heroes ? +race_simple_melee GRUNT a basic melee unit, only necessary when basic_melee is used +race_advanced_melee RAIDER an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 33 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow BURROW Building id that can house peons/units and then shoot enemies. +structid 'ngnh' Used to trigger melee defeat conditions on surrender. race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/ROC/Undead/Settings.txt b/ROC/Undead/Settings.txt index a301ab9e5..6a1374002 100644 --- a/ROC/Undead/Settings.txt +++ b/ROC/Undead/Settings.txt @@ -1,77 +1,89 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 120 priority for reviving hero2 -hero3_revive_prio 80 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food 8 build farm when this near food used to food produced -farm_food2 1 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 200 priority for expansion building -expa_emergency_prio 300 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 200 priority for rebuilding an expansion -peon_1_mine_number 5 number of peons to build when 1 mine is owned -peon_2_mines_number 10 number of peons to build when 2 mines are owned -peon_mines_number 15 number of peons to build when more mines are owned -min_peon_number_single_mine 5 minimum number of peons when 1 mine is owned -min_peon_number_multi_mine 10 minimum number of peons when more than 1 mine is owned -strat_persistence 1500 extra added priority to the current strategy to make computer not change strategy too fast -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 3 how many racial heroes ? -race_simple_melee 0 a basic melee unit, only necessary when basic_melee is used -race_advanced_melee 0 an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls true has the race a ghoul-like wood harvester/fighter unit ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion true does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_ability 'Amil' what is the militia ability id ? -race_militia_hall_ability 'Amic' what is the militia ability of the hall ? -race_militia_unitstring "militia" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 33 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion -race_towerrush_requirement 0 what is the building required to build towers ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_sell_ziggurats true does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1200 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 4 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_tower_id ZIGGURAT_1 what is the id of the races towers? -race_tower_upgrade ZIGGURAT_2 what is the id of the tower upgrade ? -race_towerrush_probability 50 how high (in percent) is the probability of doing a tower rush? -min_peon_number_double_mine 11 minimum number of peons when 2 mines are owned -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 2 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 120 priority for reviving hero2 +hero3_revive_prio 80 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food 8 build farm when this near food used to food produced +farm_food2 1 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 200 priority for expansion building +expa_emergency_prio 300 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 200 priority for rebuilding an expansion +peon_1_mine_number 5 number of peons to build when 1 mine is owned +peon_2_mines_number 10 number of peons to build when 2 mines are owned +peon_mines_number 15 number of peons to build when more mines are owned +min_peon_number_single_mine 5 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 10 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 15 minimum number of peons when more than 1 mine is owned +strat_persistence 1500 extra added priority to the current strategy to make computer not change strategy too fast +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available false does the race have a towerrush ? +race_tower_item 0 if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 0 how many items at a time , if can buy +race_tower_id ZIGGURAT_1 what is the id of the races towers? +race_tower_id_replace AVIARY if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 ZIGGURAT_2 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 0 what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 2 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement GRAVEYARD what is the building required to build towers ? +race_towerrush_probability 20 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 3 how many racial heroes ? +race_simple_melee 0 a basic melee unit, only necessary when basic_melee is used +race_advanced_melee 0 an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls true has the race a ghoul-like wood harvester/fighter unit ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion true does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 33 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_sell_ziggurats true does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1200 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race diff --git a/TFT/Elf/Settings.txt b/TFT/Elf/Settings.txt index 8eabf18ae..3077da2dc 100644 --- a/TFT/Elf/Settings.txt +++ b/TFT/Elf/Settings.txt @@ -1,80 +1,92 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 180 priority for reviving hero2 -hero3_revive_prio 150 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food2 -4 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 280 priority for expansion building -expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 400 priority for rebuilding an expansion -peon_1_mine_number 15 number of peons to build when 1 mine is owned -peon_2_mines_number 20 number of peons to build when 2 mines are owned -peon_mines_number 24 number of peons to build when more mines are owned -min_peon_number_single_mine 11 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 16 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 21 minimum number of peons when more than 1 mine is owned -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading true does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp WISP What is the unit to load ? -race_manual_loading_mine ELF_MINE What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_tower_id ANCIENT_PROTECT what is the id of the races towers? -race_tower_upgrade 0 what is the id of the tower upgrade1 (core)? -race_towerrush_requirement HUNTERS_HALL what is the building required to build towers ? -race_towerrush_probability 23 how high (in percent) is the probability of doing a tower rush? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 4 how many racial heroes ? -race_simple_melee ARCHER a basic melee unit, only necessary when basic_melee is used -race_advanced_melee DRUID_CLAW an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_id 0 what is the militia unit type id? -race_militia_ability 0 what is the militia ability id ? -race_militia_hall_ability 0 what is the militia ability of the hall ? -race_militia_unitstring "" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available true can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 43 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 18 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion -race_item_expansion_available false can expand with item building ? -race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? -race_item_sale_level 0 buy expand item need hall level ? -race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front true should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 1 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_has_moonwells true Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 1 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'uaco' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 50 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 180 priority for reviving hero2 +hero3_revive_prio 150 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food2 -4 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 280 priority for expansion building +expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 400 priority for rebuilding an expansion +peon_1_mine_number 15 number of peons to build when 1 mine is owned +peon_2_mines_number 20 number of peons to build when 2 mines are owned +peon_mines_number 24 number of peons to build when more mines are owned +min_peon_number_single_mine 11 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 16 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 21 minimum number of peons when more than 1 mine is owned +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading true does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp WISP What is the unit to load ? +race_manual_loading_mine ELF_MINE What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item 0 if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 0 how many items at a time , if can buy +race_tower_id ANCIENT_PROTECT what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 0 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 0 what is the id of the tower upgrade2 (secondary)? +race_tower_move true tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "root" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "unroot" what is the unorder of tower end move? +race_tower_bypeon true tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement HUNTERS_HALL what is the building required to build towers ? +race_towerrush_probability 20 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 4 how many racial heroes ? +race_simple_melee ARCHER a basic melee unit, only necessary when basic_melee is used +race_advanced_melee DRUID_CLAW an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_id 0 what is the militia unit type id? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available true can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 43 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 18 up to how much expansion strength is an ancient expansion allowed (DEPRECATED) ? +race_ancient_expansion_help_id 'earc' the unit id of the unit that should help in ancient expansion +race_item_expansion_available false can expand with item building ? +race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? +race_item_sale_level 0 buy expand item need hall level ? +race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front true should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells true Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 1 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'uaco' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' // Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 50 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/TFT/GlobalSettings.txt b/TFT/GlobalSettings.txt index 687db6c14..9e63c6b55 100644 --- a/TFT/GlobalSettings.txt +++ b/TFT/GlobalSettings.txt @@ -1,97 +1,96 @@ -Variable Setting Value Comment -sleep_multiplier 1 increases performance by checking stuff not so often -slm_start 6 how many computer players is needed tor the sleep multiplier to start increasing. -slm_end 18 how many computer players is needed tor the sleep multiplier to stop increasing. -slm_start_mult 1 how much is the sleep multiplied when it's below the slm_start codition -slm_end_mult 2.9 how much is the sleep multiplied when it's above the slm_end codition -hero_radius 200 scanning this small area around hero to detect if the hero gets surrounded by enemy or is in danger of becoming that so it should move -use_linear_upkeep_saving false should the computers save the upkeep threshold gold over the time above or save it all at once when it get's to the upkeep border? -repair_threshold 6 computers only repair buildings if they have more than this many workers -repair_threshold_threatened 8 computers only repair buildings when the town is under attack if they got more than this many workers -max_follow_dist 1000 Distance behind the army a zeppelin follows -neutral_hero_time 26 when is neutral heroes available in seconds /5 -buy_distance 350 how close to a shop do a unit have to be for buying? -buy_timeout_large 120 time in seconds the hero goes to a shop before it gives up if it haven't reached it -buy_timeout_small 3 time in seconds a hero tries to buy items at shop before giving up -build_array_reset_time 100 every this * 5 seconds, the build array is reset -rp_strat_normal 250 normalizing strategy priorities added from strengths with this value -strategy_tier_bonus 22 the priority bonus added to a strategy if the computer is in the same tier as specified for the strategy -attacking_strategy 4 strategy when attacking enemy players -focus_fire_limit 35 if a enemy heros hp fall below the computers combined strength of ranged attackers in a battle * this, they will focus fire on the hero -focus_fire_ranged_dist 600 Distance from ranged units enemy units can be targeted with focus fire -focus_fire_melee_dist 333 Distance from melee units enemy units can be targeted with focus fire -flee_health_percentage 0.30 Units flee from battle if the health goes below his % value(0.25 = 25%) -flee_minimum_health 100 Units flee from battle if the health goes below this -statue_distance 300 how near the units a statue used by undead should be in the fights -teleport_radius 800 units will stay within this radius from a hero that is using town portal -gold_exchange_level 650 computers give extra gold above this value to other computers on the same team in need of gold -wood_exchange_level 350 computers give extra lumber above this value to other computers on the same team in need of lumber -max_towns 5 how many towns is a computer allowed to have? -add_tag true Add the [AMAI] tag in front of name -add_skill true Add the current skill after the name -fav_hero_add 10 priority added to heroes to be picked if they are favorites of the used profile -max_harass_groups 10 how many different harass groups you can use -attacking_aggression 2 the base agression value for all computers, higher value and they will play more agressive. Recomended -5 to 5 -expansion_radius 1250 the radius araound a mine computers check for creeps before expanding there -harass_radius_attack_ranged 800 how far away from ranged enemy units harassing units attack a inferior enemy unit -harass_radius_attack_melee 400 how far away from melee enemy units harassing units attack a inferior enemy unit -harass_radius_flee_ranged 1500 how far away from ranged enemy units harassing units turn and flee -harass_radius_flee_melee 800 how far away from melee enemy units harassing units turn and flee -chatting true computers use chat taunts -full_threat_distance 1000 a enemy army within this distance is counted as a full threat -no_threat_distance 2000 a enemy army outside this distance is counted as no threat -distance_threat_exponent 0.8 how fast the threat increases as the enemy army gets from the no_threat_distance to the full_threat_distance -distance_threat_mult 540 how much the threat vlaue goes up on a town when a enemy army aproaches, higher value means higher threat to town -atl_time_start 300 accepted threat level increase starts at this time -atl_time_end 900 and ends at that time -atl_time_start_val 10 it starts with this value -atl_time_end_val 20 and ends with that value -atl_enemy_start 1 accepted threat level multiplier increases at that enemy number -atl_enemy_end 4 until that enemy number -atl_enemy_start_mult 1 the multiplier starts for accepted threat level starts with this -atl_enemy_end_mult 1.5 and ends with this -teleport_low_threat 50 Army uses TP to get home and defend if a threat is greater than this -teleport_high_threat 100 Army uses TP to get home and defend if a threat is greater than this -teleport_low_threat_distance 4000 Army won't use TP home if they are closer to base than this and a low threat level appears -teleport_high_threat_distance 2300 Army won't use TP home if they are closer to base than this and a high threat level appears -teleport_army_min_strength 20 how big the army need to be for use of TP to threatened town -teleport_min_threat 50 minimum threat level TP use is allowed on -shredder_peon_count 12 how many peons does a goblin shredder replace in lumber harvesting -minimum_peon_wood 2000 computers don't build any workers for lumber harvesting if they have more lumber than this -maximum_peon_wood 200 computers build all needed workers for lumber harvesting if they have lumber lower than this -ver_neutral_heroes_available true does the version have neutral heroes ? -ver_neutral_hero_number 8 how many neutral heroes ? -ver_only_heroes_buy false can only heroes buy stuff ? -ver_food_limit GetPlayerState(ai_player, PLAYER_STATE_FOOD_CAP_CEILING) what is the versions food limit ? -normal_battle_radius 1500 units within that radius are considered belonging to the current battle -creep_battle_radius 750 same as with normal_battle_radius, but for battles against creeps -expansion_taken_radius 1300 how near a mine a enemy building must be to make amai recognize it as taken -ver_hero_base_value 2 what is the base strength of a hero (the level number is added to get the actual strength) ? -ver_hero_ultimate_level 6 at what level do the heroes get their ultimates ? -ver_hero_ultimate_value 3 how much extra strength does the ultimate give to the hero ? -ver_creeps_attack_buildings_dist 1850 how far away do creeps attack buildings ? -ver_mercs_night_buy false can mercs be bought at night without waking up creeps ? -ver_tower_check_radius 2000 check for towers in this radius around a target -ver_harass_tower_check_radius 2200 check for towers in this radius during harassing -ver_strat_change_enemy_strength_min 25 don't allow strategy change unless the maximum strength of all enemy players in the game is above this. -destroy_buildings_on_defeat false Should the buildings of the AI be destroyed on defeat or given to neutral player ? -attack_reform_length 10 reform the attack group (getting new units) every that time on an attack (in seconds / 2) -front_base_distance difficulty * 50 + 900 the distance of the front locations from the start location -ver_heroes true Does this version have heroes? -fixedcomputername false Enable to force computers to have there fixed name instead of a profile name -green_creep_camp_strength_bonus 0 Bonus strength added to minor creep camps -orange_creep_camp_strength_bonus 2 Bonus strength added to mediocre creep camps -red_creep_camp_strength_bonus 4 Bonus strength added to major creep camps -debugging false Can turn on for debugging mode to display debug type messages -strategy_change_threshold 1.05 New strategy priority must be larger than this multiple to the current strategy -disable_surrender false Set to true to stop amai from giving up early when it detects its going to lose -major_hero_skill_value 60 Priority to choose the first line of hero skills -minor_hero_skill_value 30 Priority to choose the second line of hero skills -rare_hero_skill_value 10 Priority to choose the third line of hero skills -fav_hero_add 20 priority added to heroes to be picked if they are favorites of the used profile -ver_optimal_gold 5 The optimal number of peons that should be harvesting gold -ver_flee_multiple1 1 Multiplier to players strength at lowest aggression to measure if amai is allowed to flee -ver_flee_multiple2 2 Multiplier to players strength at highest aggression to measure if amai allowed to flee -ver_flee_multiple3 3 Multipler to players strength at highest aggression to measure if amai will flee -ver_low_aggression -15 Aggression below this uses the lowest strength flee multiplier -ver_high_aggression 45 Agression above this uses the highest strength flee multiplier +Variable Setting Value Comment +sleep_multiplier 1 increases performance by checking stuff not so often +slm_start 6 how many computer players is needed tor the sleep multiplier to start increasing. +slm_end 18 how many computer players is needed tor the sleep multiplier to stop increasing. +slm_start_mult 1 how much is the sleep multiplied when it's below the slm_start condition +slm_end_mult 2.9 how much is the sleep multiplied when it's above the slm_end condition +hero_radius 200 scanning this small area around hero to detect if the hero gets surrounded by enemy or is in danger of becoming that so it should move +use_linear_upkeep_saving false should the computers save the upkeep threshold gold over the time above or save it all at once when it get's to the upkeep border? +repair_threshold 6 computers only repair buildings if they have more than this many workers +repair_threshold_threatened 8 computers only repair buildings when the town is under attack if they got more than this many workers +max_follow_dist 1000 Distance behind the army a zeppelin follows +neutral_hero_time 26 when is neutral heroes available in seconds /5 +buy_distance 350 how close to a shop do a unit have to be for buying? +buy_timeout_large 120 time in seconds the hero goes to a shop before it gives up if it haven't reached it +buy_timeout_small 3 time in seconds a hero tries to buy items at shop before giving up +build_array_reset_time 100 every this * 5 seconds, the build array is reset +rp_strat_normal 250 normalizing strategy priorities added from strengths with this value +strategy_tier_bonus 22 the priority bonus added to a strategy if the computer is in the same tier as specified for the strategy +attacking_strategy 4 strategy when attacking enemy players +focus_fire_limit 35 if a enemy heros hp fall below the computers combined strength of ranged attackers in a battle * this, they will focus fire on the hero +focus_fire_ranged_dist 600 Distance from ranged units enemy units can be targeted with focus fire +focus_fire_melee_dist 333 Distance from melee units enemy units can be targeted with focus fire +flee_health_percentage 0.30 Units flee from battle if the health goes below his % value(0.25 is 25%) +flee_minimum_health 100 Units flee from battle if the health goes below this +statue_distance 300 how near the units a statue used by undead should be in the fights +teleport_radius 800 units will stay within this radius from a hero that is using town portal +gold_exchange_level 650 computers give extra gold above this value to other computers on the same team in need of gold +wood_exchange_level 350 computers give extra lumber above this value to other computers on the same team in need of lumber +max_towns 5 how many towns is a computer allowed to have? +add_tag true Add the [AMAI] tag in front of name +add_skill true Add the current skill after the name +max_harass_groups 10 how many different harass groups you can use +attacking_aggression 2 the base agression value for all computers, higher value and they will play more agressive. Recomended -5 to 5 +expansion_radius 1250 the radius araound a mine computers check for creeps before expanding there +harass_radius_attack_ranged 800 how far away from ranged enemy units harassing units attack a inferior enemy unit +harass_radius_attack_melee 400 how far away from melee enemy units harassing units attack a inferior enemy unit +harass_radius_flee_ranged 1500 how far away from ranged enemy units harassing units turn and flee +harass_radius_flee_melee 800 how far away from melee enemy units harassing units turn and flee +chatting true computers use chat taunts +full_threat_distance 1000 a enemy army within this distance is counted as a full threat +no_threat_distance 2000 a enemy army outside this distance is counted as no threat +distance_threat_exponent 0.8 how fast the threat increases as the enemy army gets from the no_threat_distance to the full_threat_distance +distance_threat_mult 540 how much the threat vlaue goes up on a town when a enemy army aproaches, higher value means higher threat to town +atl_time_start 300 accepted threat level increase starts at this time +atl_time_end 900 and ends at that time +atl_time_start_val 10 it starts with this value +atl_time_end_val 20 and ends with that value +atl_enemy_start 1 accepted threat level multiplier increases at that enemy number +atl_enemy_end 4 until that enemy number +atl_enemy_start_mult 1 the multiplier starts for accepted threat level starts with this +atl_enemy_end_mult 1.5 and ends with this +teleport_low_threat 50 Army uses TP to get home and defend if a threat is greater than this +teleport_high_threat 100 Army uses TP to get home and defend if a threat is greater than this +teleport_low_threat_distance 4000 Army won't use TP home if they are closer to base than this and a low threat level appears +teleport_high_threat_distance 2300 Army won't use TP home if they are closer to base than this and a high threat level appears +teleport_army_min_strength 20 how big the army need to be for use of TP to threatened town +teleport_min_threat 50 minimum threat level TP use is allowed on +shredder_peon_count 12 how many peons does a goblin shredder replace in lumber harvesting +minimum_peon_wood 2000 computers don't build any workers for lumber harvesting if they have more lumber than this +maximum_peon_wood 200 computers build all needed workers for lumber harvesting if they have lumber lower than this +ver_neutral_heroes_available true does the version have neutral heroes ? +ver_neutral_hero_number 8 how many neutral heroes ? +ver_only_heroes_buy false can only heroes buy stuff ? +ver_food_limit GetPlayerState(ai_player, PLAYER_STATE_FOOD_CAP_CEILING) what is the versions food limit ? +normal_battle_radius 1500 units within that radius are considered belonging to the current battle +creep_battle_radius 750 same as with normal_battle_radius, but for battles against creeps +expansion_taken_radius 1300 how near a mine a enemy building must be to make amai recognize it as taken +ver_hero_base_value 2 what is the base strength of a hero (the level number is added to get the actual strength) ? +ver_hero_ultimate_level 6 at what level do the heroes get their ultimates ? +ver_hero_ultimate_value 3 how much extra strength does the ultimate give to the hero ? +ver_creeps_attack_buildings_dist 1850 how far away do creeps attack buildings ? +ver_mercs_night_buy false can mercs be bought at night without waking up creeps ? +ver_tower_check_radius 2000 check for towers in this radius around a target +ver_harass_tower_check_radius 2200 check for towers in this radius during harassing +ver_strat_change_enemy_strength_min 25 don't allow strategy change unless the maximum strength of all enemy players in the game is above this. +destroy_buildings_on_defeat false Should the buildings of the AI be destroyed on defeat or given to neutral player ? +attack_reform_length 10 reform the attack group (getting new units) every that time on an attack (in seconds / 2) +front_base_distance difficulty * 50 + front_base_distance the distance of the front locations from the start location +ver_heroes true Does this version have heroes? +fixedcomputername false Enable to force computers to have there fixed name instead of a profile name +green_creep_camp_strength_bonus 0 Bonus strength added to minor creep camps +orange_creep_camp_strength_bonus 2 Bonus strength added to mediocre creep camps +red_creep_camp_strength_bonus 4 Bonus strength added to major creep camps +debugging false Can turn on for debugging mode to display debug type messages +strategy_change_threshold 1.05 New strategy priority must be larger than this multiple to the current strategy +disable_surrender false Set to true to stop amai from giving up early when it detects its going to lose +major_hero_skill_value 60 Priority to choose the first line of hero skills +minor_hero_skill_value 30 Priority to choose the second line of hero skills +rare_hero_skill_value 10 Priority to choose the third line of hero skills +fav_hero_add 20 priority added to heroes to be picked if they are favorites of the used profile +ver_optimal_gold 5 The optimal number of peons that should be harvesting gold +ver_flee_multiple1 1 Multiplier to players strength at lowest aggression to measure if amai is allowed to flee +ver_flee_multiple2 2 Multiplier to players strength at highest aggression to measure if amai allowed to flee +ver_flee_multiple3 3 Multipler to players strength at highest aggression to measure if amai will flee +ver_low_aggression -15 Aggression below this uses the lowest strength flee multiplier +ver_high_aggression 45 Agression above this uses the highest strength flee multiplier diff --git a/TFT/Human/Settings.txt b/TFT/Human/Settings.txt index ced67c6c1..dd75e2b3c 100644 --- a/TFT/Human/Settings.txt +++ b/TFT/Human/Settings.txt @@ -1,80 +1,92 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 180 priority for reviving hero2 -hero3_revive_prio 150 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food2 0 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 280 priority for expansion building -expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 400 priority for rebuilding an expansion -peon_1_mine_number 14 number of peons to build when 1 mine is owned -peon_2_mines_number 18 number of peons to build when 2 mines are owned -peon_mines_number 22 number of peons to build when more mines are owned -min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 14 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 19 minimum number of peons when more than 1 mine is owned -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_tower_id WATCH_TOWER what is the id of the races towers? -race_tower_upgrade GUARD_TOWER what is the id of the tower upgrade1 (core)? -race_towerrush_requirement LUMBER_MILL what is the building required to build towers ? -race_towerrush_probability 28 how high (in percent) is the probability of doing a tower rush? -race_militia_expansion_available true does the race have a militia expansion ? -race_hero_number 4 how many racial heroes ? -race_simple_melee FOOTMAN a basic melee unit, only necessary when basic_melee is used -race_advanced_melee KNIGHT an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_has_power_build true can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available true does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_id 'hmil' what is the militia unit type id? -race_militia_ability 'Amil' what is the militia ability id ? -race_militia_hall_ability 'Amic' what is the militia ability of the hall ? -race_militia_unitstring "militia" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion -race_item_expansion_available false can expand with item building ? -race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? -race_item_sale_level 0 buy expand item need hall level ? -race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 4 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 180 priority for reviving hero2 +hero3_revive_prio 150 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food2 0 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 280 priority for expansion building +expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 400 priority for rebuilding an expansion +peon_1_mine_number 14 number of peons to build when 1 mine is owned +peon_2_mines_number 18 number of peons to build when 2 mines are owned +peon_mines_number 22 number of peons to build when more mines are owned +min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 14 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 19 minimum number of peons when more than 1 mine is owned +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item IVORY_TOWER if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 2 how many items at a time , if can buy +race_tower_id WATCH_TOWER what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 GUARD_TOWER what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 ARCANE_TOWER what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement LUMBER_MILL what is the building required to build towers ? +race_towerrush_probability 18 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available true does the race have a militia expansion ? +race_hero_number 4 how many racial heroes ? +race_simple_melee FOOTMAN a basic melee unit, only necessary when basic_melee is used +race_advanced_melee KNIGHT an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_has_power_build true can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available true does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_id 'hmil' what is the militia unit type id? +race_militia_ability 'Amil' what is the militia ability id ? +race_militia_hall_ability 'Amic' what is the militia ability of the hall ? +race_militia_unitstring "militia" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "peasant" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_item_expansion_available false can expand with item building ? +race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? +race_item_sale_level 0 buy expand item need hall level ? +race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' // Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/TFT/New.aip b/TFT/New.aip index 384f61090..bb767e3ed 100644 --- a/TFT/New.aip +++ b/TFT/New.aip @@ -1,2 +1,2 @@ #AMAI 2.0 Profile -NewProfile RANDOM 0 10 7 8 0 0 1000 0.9 1 8 5 0.5 1 0 0 0 0 0 0 0 0 0 +NewProfile RANDOM 0 10 7 8 0 0 1000 0.9 1 8 5 0.5 1 0 0 0 0 0 0 0 0 0 0 diff --git a/TFT/Orc/Settings.txt b/TFT/Orc/Settings.txt index 7bc61e1c2..220d7a75f 100644 --- a/TFT/Orc/Settings.txt +++ b/TFT/Orc/Settings.txt @@ -1,81 +1,92 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 180 priority for reviving hero2 -hero3_revive_prio 150 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food2 -4 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 280 priority for expansion building -expa_emergency_prio 500 priority for making expansion when it's an emergency (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 400 priority for rebuilding an expansion -peon_1_mine_number 13 number of peons to build when 1 mine is owned -peon_2_mines_number 18 number of peons to build when 2 mines are owned -peon_mines_number 22 number of peons to build when more mines are owned -min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 13 minimum number of peons when 2 mines are owned -min_peon_number_multi_mine 18 minimum number of peons when more than 1 mine is owned -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 2 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 10 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available true does the race have a towerrush ? -race_tower_id ORC_WATCH_TOWER what is the id of the races towers? -race_tower_upgrade 0 what is the id of the tower upgrade1 (core)? -race_towerrush_requirement FORGE what is the building required to build towers ? -race_towerrush_probability 32 how high (in percent) is the probability of doing a tower rush? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 4 how many racial heroes ? -race_simple_melee GRUNT a basic melee unit, only necessary when basic_melee is used -race_advanced_melee TAUREN an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion false does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_id 0 what is the militia unit type id? -race_militia_ability 0 what is the militia ability id ? -race_militia_hall_ability 0 what is the militia ability of the hall ? -race_militia_unitstring "" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion -race_item_expansion_available true can expand with item building ? -race_item_expansion_probability 65 how high (in percent) is the probability of doing a item expansion ? -race_item_sale_level 3 buy expand item need hall level ? -race_item_expansion_item_id TINY_GREAT_HALL what is expand item name(from StandardUnits.txt) ? -race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 4 limit the number of farms at the front to this number -race_farms_at_mine 2 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion buildingmin_peon_number_double_mine -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 2 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon -racial_burrow BURROW Building id that can house peons/units and then shoot enemies. -race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 180 priority for reviving hero2 +hero3_revive_prio 150 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food2 -4 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 280 priority for expansion building +expa_emergency_prio 500 priority for making expansion when it's an emergency (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 400 priority for rebuilding an expansion +peon_1_mine_number 13 number of peons to build when 1 mine is owned +peon_2_mines_number 18 number of peons to build when 2 mines are owned +peon_mines_number 22 number of peons to build when more mines are owned +min_peon_number_single_mine 8 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 13 minimum number of peons when 2 mines are owned +min_peon_number_multi_mine 18 minimum number of peons when more than 1 mine is owned +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 2 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 10 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item 0 if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must false the item is build towers is must? +race_tower_item_quantity 0 how many items at a time , if can buy +race_tower_id ORC_WATCH_TOWER what is the id of the races towers? +race_tower_id_replace 0 if the race_tower_id has Blig land (AbilityId 'Abgl'), Please set, cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 0 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 0 what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 4 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement FORGE what is the building required to build towers ? +race_towerrush_probability 24 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 4 how many racial heroes ? +race_simple_melee GRUNT a basic melee unit, only necessary when basic_melee is used +race_advanced_melee TAUREN an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls false has the race a ghoul-like wood harvester/fighter unit ? +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion false does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_id 0 what is the militia unit type id? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_item_expansion_available true can expand with item building ? +race_item_expansion_probability 75 how high (in percent) is the probability of doing a item expansion ? +race_item_sale_level 3 buy expand item need hall level ? +race_item_expansion_item_id TINY_GREAT_HALL what is expand item name(from StandardUnits.txt) ? +race_sell_ziggurats false does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1500 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 4 limit the number of farms at the front to this number +race_farms_at_mine 2 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion buildingmin_peon_number_double_mine +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 2 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow BURROW Building id that can house peons/units and then shoot enemies. +structid 'ngnh' // Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/TFT/Undead/Settings.txt b/TFT/Undead/Settings.txt index af26374b8..91b8ce37c 100644 --- a/TFT/Undead/Settings.txt +++ b/TFT/Undead/Settings.txt @@ -1,80 +1,92 @@ -Variable Setting Value Comment -hero1_revive_prio 200 priority for reviving hero1 -hero2_revive_prio 180 priority for reviving hero2 -hero3_revive_prio 150 priority for reviving hero3 -prio_n_inc 2 priority increase for building needed buildings -prio_t_inc 1 priority increase in time -prio_q_inc 2 priority increase in quantity -farm_food2 -4 builds another farm at the same time when this near food used to food produced -farm_prio 400 priority for farm building -peon_prio 280 priority for peon building -expa_prio 280 priority for expansion building -expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) -expa_rebuild_prio 400 priority for rebuilding an expansion -peon_1_mine_number 5 number of peons to build when 1 mine is owned -peon_2_mines_number 10 number of peons to build when 2 mines are owned -peon_mines_number 15 number of peons to build when more mines are owned -min_peon_number_single_mine 5 minimum number of peons when 1 mine is owned -min_peon_number_double_mine 10 minimum number of peons when 2 mine is owned -min_peon_number_multi_mine 15 minimum number of peons when more than 1 mine is owned -strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) -relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy -kb_add1 8 priority added to all strategies having a building the computer already got as a key building -kb_add2 9 priority added to all strategies having a building the computer already started to build as key building -kb_add3 3 priority added to all strategies having both building the computer already got as key buildings -kb_add4 10 value for 2 of a key buildings -ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level -ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level -ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level -fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. -debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) -race_use_fountain true does the race use healing fountains ? -race_manual_loading false does the race need manual loading of wisps in goldmines ? -race_manual_loading_wisp 0 What is the unit to load ? -race_manual_loading_mine 0 What unit is it loaded in ? -race_towerrush_available false does the race have a towerrush ? -race_tower_id ZIGGURAT_1 what is the id of the races towers? -race_tower_upgrade ZIGGURAT_2 what is the id of the tower upgrade1 (core)? -race_towerrush_requirement GRAVEYARD what is the building required to build towers ? -race_towerrush_probability 25 how high (in percent) is the probability of doing a tower rush? -race_militia_expansion_available false does the race have a militia expansion ? -race_hero_number 4 how many racial heroes ? -race_simple_melee GHOUL a basic melee unit, only necessary when basic_melee is used -race_advanced_melee ABOMINATION an advanced melee unit to replace the basic one, only necessary when basic_melee is used -race_has_ghouls true has the race a ghoul-like wood harvester/fighter unit ? -race_ghouls_attack true do those ghouls go with the army on attacks ? -race_has_power_build false can multiple racial workers work on the same building ? -race_no_wood_harvest false has the race no wood harvesters ? -race_ignore_injured false should the race leave injured units at home ? -race_uses_mine_expansion true does the race expand with a mine building like undead ? -race_uses_shredder true does the race use the goblin shredder ? -race_militia_available false does the race have militia ? -race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? -race_militia_id 0 what is the militia unit type id? -race_militia_ability 0 what is the militia ability id ? -race_militia_hall_ability 0 what is the militia ability of the hall ? -race_militia_unitstring "" what is the unitstring/name of the militia ? -race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? -use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? -race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? -race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? -race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? -race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion -race_item_expansion_available false can expand with item building ? -race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? -race_item_sale_level 0 buy expand item need hall level ? -race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? -race_sell_ziggurats true does the race sell ziggurats that are at no more needed expansions ? -race_ziggurat_keep_distance 1200 keep ziggurat if this near another building except a ziggurat is -race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? -race_farms_front_limit 3 limit the number of farms at the front to this number -race_farms_at_mine 0 the first that many farms will be built at the mine -race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building -race_has_moonwells false Racial farms have healing properties -race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush -race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion -ghoul_prio 250 priority for ghoul building -race_min_ghouls 3 smallest number of ghouls to build at all times -race_max_ghouls 5 maximum number of ghouls to build in low lumber situations -groundid 'ewsp' Used to create path units, must be different from race peon -race_ancient_barracks_rush_chance 0 If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file +Variable Setting Value Comment +hero1_revive_prio 200 priority for reviving hero1 +hero2_revive_prio 180 priority for reviving hero2 +hero3_revive_prio 150 priority for reviving hero3 +prio_n_inc 2 priority increase for building needed buildings +prio_t_inc 1 priority increase in time +prio_q_inc 2 priority increase in quantity +farm_food2 -4 builds another farm at the same time when this near food used to food produced +farm_prio 400 priority for farm building +peon_prio 280 priority for peon building +expa_prio 280 priority for expansion building +expa_emergency_prio 500 priority for making expansion when it's an emergensy (current mine/mines + own resources are about to be depleted) +expa_rebuild_prio 400 priority for rebuilding an expansion +peon_1_mine_number 5 number of peons to build when 1 mine is owned +peon_2_mines_number 10 number of peons to build when 2 mines are owned +peon_mines_number 15 number of peons to build when more mines are owned +min_peon_number_single_mine 5 minimum number of peons when 1 mine is owned +min_peon_number_double_mine 10 minimum number of peons when 2 mine is owned +min_peon_number_multi_mine 15 minimum number of peons when more than 1 mine is owned +strat_food_persistence 3 * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) +relevant_strat_change_number 3 number of strategies with highest RPs that can be chosen when changing strategy +kb_add1 8 priority added to all strategies having a building the computer already got as a key building +kb_add2 9 priority added to all strategies having a building the computer already started to build as key building +kb_add3 3 priority added to all strategies having both building the computer already got as key buildings +kb_add4 10 value for 2 of a key buildings +ku_add1 4 priority added to all strategies having a upgrade the computer already got as key upgrade in first level +ku_add2 7 priority added to all strategies having a upgrade the computer already got as key upgrade in second level +ku_add3 8 priority added to all strategies having a upgrade the computer already got as key upgrade in third level +fav_unit_add 20 priority added to strategies havign the current profiles favorite unit as key units. +debug_strategy -1 this race is locked to this strategy number for testing.(-1 is unlocked) +race_use_fountain true does the race use healing fountains ? +race_manual_loading false does the race need manual loading of wisps in goldmines ? +race_manual_loading_wisp 0 What is the unit to load ? +race_manual_loading_mine 0 What unit is it loaded in ? +race_towerrush_available true does the race have a towerrush ? +race_tower_item SACRIFICIAL_SKULL if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER +race_tower_item_must true the item is build towers is must? +race_tower_item_quantity 1 how many items at a time , if can buy +race_tower_id ZIGGURAT_1 what is the id of the races towers? +race_tower_id_replace AVIARY if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop +race_tower_upgrade1 ZIGGURAT_2 what is the id of the tower upgrade1 (core)? +race_tower_upgrade2 ZIGGURAT_FROST what is the id of the tower upgrade2 (secondary)? +race_tower_move false tower can move , like ELF tree or StarCraft human build fly? +race_tower_movestartstring "" what is the order of tower start move? -- like use root to loc move +race_tower_moveendstring "" what is the unorder of tower end move? +race_tower_bypeon false tower is peon become , like ELF? AI will compensate more 2 peon +race_tower_peon 2 the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less +race_towerrush_requirement GRAVEYARD what is the building required to build towers ? +race_towerrush_probability 17 how high (in percent) is the probability of doing a tower rush? +race_militia_expansion_available false does the race have a militia expansion ? +race_hero_number 4 how many racial heroes ? +race_simple_melee GHOUL a basic melee unit, only necessary when basic_melee is used +race_advanced_melee ABOMINATION an advanced melee unit to replace the basic one, only necessary when basic_melee is used +race_has_ghouls true has the race a ghoul-like wood harvester/fighter unit ? +race_ghouls_attack true do those ghouls go with the army on attacks ? +race_has_power_build false can multiple racial workers work on the same building ? +race_no_wood_harvest false has the race no wood harvesters ? +race_ignore_injured false should the race leave injured units at home ? +race_uses_mine_expansion true does the race expand with a mine building like undead ? +race_uses_shredder true does the race use the goblin shredder ? +race_militia_available false does the race have militia ? +race_militia_max_distance 1000 how far away from the town hall are the militia allowed ? +race_militia_id 0 what is the militia unit type id? +race_militia_ability 0 what is the militia ability id ? +race_militia_hall_ability 0 what is the militia ability of the hall ? +race_militia_unitstring "" what is the unitstring/name of the militia ? +race_militiaworker_unitstring "" what is the string of the unit that can be turned to militia ? +use_militia_only_on_bigger_threats false shall the computer only use militias against larger threats ? +race_ancient_expansion_available false can the race expand with an uprooted building that also helps fighting the creeps ? +race_ancient_expansion_probability 50 how high (in percent) is the probability of doing an ancient expansion when possible ? +race_ancient_expansion_strength 15 up to how much expansion strength is an ancient expansion allowed ? +race_ancient_expansion_help_id 0 the unit id of the unit that should help in ancient expansion +race_item_expansion_available false can expand with item building ? +race_item_expansion_probability 35 how high (in percent) is the probability of doing a item expansion ? +race_item_sale_level 0 buy expand item need hall level ? +race_item_expansion_item_id 0 what is expand item name(from StandardUnits.txt) ? +race_sell_ziggurats true does the race sell ziggurats that are at no more needed expansions ? +race_ziggurat_keep_distance 1200 keep ziggurat if this near another building except a ziggurat is +race_build_farms_front false should the race build farms towards the front (as soon as the front is computed) ? +race_farms_front_limit 3 limit the number of farms at the front to this number +race_farms_at_mine 0 the first that many farms will be built at the mine +race_max_expa_mine_distance 850 the maximum distance between the mine and the expansion building +race_has_moonwells false Racial farms have healing properties +race_towerrush_hero_rush_level 1 the bonus strength value hero must have to be able to do the tower rush +race_ancient_expansion_hero_rush_level 2 the bonus strength value hero must have to be able to do the ancient expansion +ghoul_prio 250 priority for ghoul building +race_min_ghouls 3 smallest number of ghouls to build at all times +race_max_ghouls 5 maximum number of ghouls to build in low lumber situations +groundid 'ewsp' Used to create path units, must be different from race peon +racial_burrow 0 Building id that can house peons/units and then shoot enemies. +structid 'ngnh' // Used to trigger melee defeat conditions on surrender. +race_ancient_barracks_rush_chance 0 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race \ No newline at end of file diff --git a/Templates/StrategyManager.txt b/Templates/StrategyManager.txt new file mode 100644 index 000000000..aa7d8512d --- /dev/null +++ b/Templates/StrategyManager.txt @@ -0,0 +1,329 @@ +button_new= +button_extract= +button_insert= +button_copy= +button_remove= +button_edit= +button_lock= +button_unlock= +button_quit= +button_edit_racial_builds= +button_edit_global= +button_edit_racial_settings= +button_compile= +button_compile_opt= +button_compile_vsai= +button_ok= +button_cancel= +button_yes= +button_about= +placeholder_operate= +placeholder_ver= +placeholder_set= +placeholder_raceset= +placeholder_compile= +placeholder_setlang= +placeholder_about= +label_strategies= +label_profiles= +label_Init_code= +label_tier_code= +label_racial_Init_code= +label_racial_build= +err_file_not_writing= +err_strategy_not_found_ai= +err_strategy_not_found_strategy= +err_strategy_not_found_buildsequence= +err_strategy_not_complete= +err_strategy_not_complete_ai= +err_strategy_init_not_set= +err_strategy_init_not_complete= +err_strategy_build_set= +err_strategy_build_complete= +err_global_build_set= +err_profile_not_found_profiles= +err_not_file_sequence= +err_not_file_profiles= +message_remove_strategy= +message_remove_profile= +confirm_compile_opt= +confirm_compile_vsai= +title_really= +title_strategy_manager= +title_profile_editor= +title_strategy_editor= +title_racial_builds_editor= +title_settings_editor= + +sleep_multiplier= +slm_start= +slm_end= +slm_start_mult= +slm_end_mult= +hero_radius= +use_linear_upkeep_saving= +repair_threshold= +repair_threshold_threatened= +max_follow_dist= +neutral_hero_time= +buy_distance= +buy_timeout_large= +buy_timeout_small= +rp_strat_normal= +build_array_reset_time= +strategy_tier_bonus= +attacking_strategy= +focus_fire_limit= +focus_fire_ranged_dist= +focus_fire_melee_dist= +flee_health_percentage= +flee_minimum_health= +statue_distance= +teleport_radius= +gold_exchange_level= +wood_exchange_level= +max_towns= +add_tag= +add_skill= +fav_hero_add= +max_harass_groups= +attacking_aggression= +expansion_radius= +harass_radius_attack_ranged= +harass_radius_attack_melee= +harass_radius_flee_ranged= +harass_radius_flee_melee= +chatting= +full_threat_distance= +no_threat_distance= +distance_threat_exponent= +distance_threat_mult= +atl_time_start= +atl_time_end= +atl_time_start_val= +atl_time_end_val= +atl_enemy_start= +atl_enemy_end= +atl_enemy_start_mult= +atl_enemy_end_mult= +teleport_low_threat= +teleport_high_threat= +teleport_low_threat_distance= +teleport_high_threat_distance= +teleport_army_min_strength= +teleport_min_threat= +shredder_peon_count= +minimum_peon_wood= +maximum_peon_wood= +ver_neutral_heroes_available= +ver_neutral_hero_number= +ver_only_heroes_buy= +ver_food_limit= +normal_battle_radius= +creep_battle_radius= +expansion_taken_radius= +ver_hero_base_value= +ver_hero_ultimate_level= +ver_hero_ultimate_value= +ver_creeps_attack_buildings_dist= +ver_mercs_night_buy= +ver_tower_check_radius= +ver_harass_tower_check_radius= +ver_strat_change_enemy_strength_min= +destroy_buildings_on_defeat= +attack_reform_length= +front_base_distance= +ver_heroes= +fixedcomputername= +green_creep_camp_strength_bonus= +orange_creep_camp_strength_bonus= +red_creep_camp_strength_bonus= +debugging= +strategy_change_threshold= +disable_surrender= +major_hero_skill_value= +minor_hero_skill_value= +rare_hero_skill_value= +ver_optimal_gold= +ver_flee_multiple1= +ver_flee_multiple1= +ver_flee_multiple2= +ver_flee_multiple3= +ver_low_aggression= +ver_high_aggression= + +hero1_revive_prio= +hero2_revive_prio= +hero3_revive_prio= +prio_n_inc= +prio_t_inc= +priority increase in quantity= +prio_q_inc= +farm_food2= +farm_prio= +peon_prio= +expa_prio= +expa_emergency_prio= +expa_rebuild_prio= +peon_1_mine_number= +peon_2_mines_number= +peon_mines_number= +min_peon_number_single_mine= +min_peon_number_double_mine= +min_peon_number_multi_mine= +strat_food_persistence= +relevant_strat_change_number= +kb_add1= +kb_add2= +kb_add3= +kb_add4= +ku_add1= +ku_add2= +ku_add3= +fav_unit_add= +debug_strategy= +race_use_fountain= +race_manual_loading= +race_manual_loading_wisp= +race_manual_loading_mine= +race_towerrush_available= +race_tower_item= +race_tower_item_must= +race_tower_item_quantity= +race_tower_id= +race_tower_id_replace= +race_tower_upgrade1= +race_tower_upgrade2= +race_tower_move= +race_tower_movestartstring= +race_tower_moveendstring= +race_tower_bypeon= +race_tower_peon= +race_towerrush_requirement= +race_towerrush_probability= +race_militia_expansion_available= +race_hero_number= +race_simple_melee= +race_advanced_melee= +race_has_ghouls= +race_ghouls_attack= +race_has_power_build= +race_no_wood_harvest= +race_ignore_injured= +race_uses_mine_expansion= +race_uses_shredder= +race_militia_available= +race_militia_max_distance= +race_militia_id= +race_militia_ability= +race_militia_hall_ability= +race_militia_unitstring= +race_militiaworker_unitstring= +use_militia_only_on_bigger_threats= +race_ancient_expansion_available= +race_ancient_expansion_probability= +race_ancient_expansion_strength= +race_ancient_expansion_help_id= +race_item_expansion_available= +race_item_expansion_probability= +race_item_sale_level= +race_item_expansion_item_id= +race_sell_ziggurats= +race_ziggurat_keep_distance= +race_build_farms_front= +race_farms_front_limit= +race_farms_at_mine= +race_max_expa_mine_distance= +race_has_moonwells= +race_towerrush_hero_rush_level= +race_ancient_expansion_hero_rush_level= +ghoul_prio= +race_min_ghouls= +race_max_ghouls= +groundid= +racial_burrow= +structid= +race_ancient_barracks_rush_chance= + +Strategy Function Name= +Default Name= +Default Report= +key_building1= +key_building2= +key_upgrade1= +key_upgrade2= +key_unit= +beginning_strat= +strat_minimum_time (in seconds/6)= +strategy_type= +main_strategy_tier= +base rp= +ally bonus= +1on1 bonus= +FFA bonus= +random enemy bonus= +ELF enemy bonus= +HUMAN enemy bonus= +ORC enemy bonus= +UNDEAD enemy bonus= +ELF ally bonus= +HUMAN ally bonus= +ORC ally bonus= +UNDEAD ally bonus= +anti air strength= +anti casters strength= +anti towers strength= +anti piercing strength= +anti normal strength= +anti siege strength= +anti magic strength= +anti unarmored strength= +anti lightarmor strength= +anti mediumarmor strength= +anti heavyarmor strength= +expansion time= +second expansion time= +first hero bonus= +first hero bonus amount= +second hero bonus= +second hero bonus amount= +third hero bonus= +third hero bonus amount= +enemy_ELF add agg t1= +enemy_ELF add agg t2= +enemy_ELF add agg t3= +enemy_HUMAN add agg t1= +enemy_HUMAN add agg t2= +enemy_HUMAN add agg t3= +enemy_ORC add agg t1= +enemy_ORC add agg t2= +enemy_ORC add agg t3= +enemy_UNDEAD add agg t1= +enemy_UNDEAD add agg t2= +enemy_UNDEAD add agg t3= + +Profile Name= +Race= +Aggression= +Uncertainty= +Minimum Attack Strength= +Build Farm at left food= +first expansion time= +second expansion time= +strategy persistence= +influences number of factories built= +Taunt Rate= +Expansion Target Bonus= +Hard coded AI target bonus= +Hard coded AI target rate= +Surrender Value= +Favorite ELF Hero= +Favorite HUMAN Hero= +Favorite ORC Hero= +Favorite UNDEAD Hero= +Favorite Neutral Hero= +Favorite ELF Unit= +Favorite HUMAN Unit= +Favorite ORC Unit= +Favorite UNDEAD Unit= +Rare Profile= \ No newline at end of file diff --git a/common.eai b/common.eai index 8c0883252..d317d9044 100644 --- a/common.eai +++ b/common.eai @@ -270,7 +270,7 @@ globals real focus_fire_limit = 35 // if a enemy heros hp fall below the computers combined strength of ranged attackers in a battle * this, they will focus fire on the hero real focus_fire_ranged_dist = 600 // Distance from ranged units enemy units can be targeted with focus fire real focus_fire_melee_dist = 50 // Distance from melee units enemy units can be targeted with focus fire - real flee_health_percentage = 0.25 // Units flee from battle if the health goes below his % value(0.25 = 25%) + real flee_health_percentage = 0.25 // Units flee from battle if the health goes below his % value(0.25 is 25%) real flee_minimum_health = 100 // Units flee from battle if the health goes below this real statue_distance = 300 // how near the units a statue used by undead should be in the fights real teleport_radius = 800 // units will stay within this radius from a hero that is using town portal @@ -352,15 +352,16 @@ globals integer farm_food2 = 1 // builds another farm at the same time when this near food used to food produced integer farm_prio = 400 // priority for farm building integer peon_prio = 280 // priority for peon building - integer ghoul_prio = 250 // priority for ghoul building + integer ghoul_prio = 250 // priority for ghoul building integer expa_prio = 200 // priority for expansion building integer expa_emergency_prio = 300 // priority for rebuilding an expansion integer expa_rebuild_prio = 200 // priority for rebuilding an expansion - integer peon_1_mine_number = 15 // maximum number of peons to build when 1 mine is owned (redundent if race uses ghouls) - integer peon_2_mines_number = 20 // maximum number of peons to build when 2 mines are owned (redundent if race uses ghouls) - integer peon_mines_number = 24 // maximum number of peons to build when more mines are owned (redundent if race uses ghouls) - integer min_peon_number_single_mine = 6 // minimum number of peons when 1 mine is owned - integer min_peon_number_multi_mine = 11 // minimum number of peons when more than 1 mine is owned + integer peon_1_mine_number = 12 // maximum number of peons to build when 1 mine is owned (redundent if race uses ghouls) + integer peon_2_mines_number = 17 // maximum number of peons to build when 2 mines are owned (redundent if race uses ghouls) + integer peon_mines_number = 22 // maximum number of peons to build when more mines are owned (redundent if race uses ghouls) + integer min_peon_number_single_mine = 8 // minimum number of peons when 1 mine is owned + integer min_peon_number_double_mine = 13 // minimum number of peons when 2 mines are owned + integer min_peon_number_multi_mine = 18 // minimum number of peons when more than 1 mine is owned integer strat_food_persistence = 2 // * current food use added to priority for current strategy (prevents computers from changing styrategy when having large army) integer relevant_strat_change_number = 3 // number of strategies with highest RPs that can be chosen when changing strategy integer kb_add1 = 8 // priority added to all strategies having a building the computer already got as a key building @@ -371,25 +372,36 @@ globals integer ku_add2 = 7 // priority added to all strategies having a upgrade the computer already got as key upgrade in second level integer ku_add3 = 8 // priority added to all strategies having a upgrade the computer already got as key upgrade in third level integer fav_unit_add = 20 // priority added to strategies havign the current profiles favorite unit as key units. - integer debug_strategy = -1 // this race is locked to this strategy number for testing.(-1 is unlocked) + integer debug_strategy = -1 // this race is locked to this strategy number for testing.(-1 is unlocked) boolean race_use_fountain = true // does the race use healing fountains ? boolean race_manual_loading = true // does the race need manual loading of wisps in goldmines ? integer race_manual_loading_wisp = 0 // integer race_manual_loading_mine = 0 // boolean race_towerrush_available = false // does the race have a towerrush ? + integer race_tower_item = 0 // if the race_tower_id need Blig land (AbilityId 'Abgl') or shop can buy IVORY_TOWER + boolean race_tower_item_must = false // the item is build towers is must? + integer race_tower_item_quantity = 0 // how many items at a time , if can buy integer race_towerrush_requirement = 0 // what is the building required to build towers ? integer race_tower_id = 0 // what is the id of the races towers? + integer race_tower_id_replace = 0 // if the race_tower_id has Blig land (AbilityId 'Abgl'), cannot create Blig land , and this build should can replace shop integer race_tower_upgrade = 0 //what is the id of the tower upgrade ? - integer race_towerrush_probability = 33 // how high (in percent) is the probability of doing a tower rush? - integer race_towerrush_hero_rush_level = 2 // the bonus strength value hero must have to be able to do the tower rush + integer race_tower_upgrade1 = 0 //what is the id of the tower upgrade1 (core)? + integer race_tower_upgrade2 = 0 //what is the id of the tower upgrade2 (secondary)? + boolean race_tower_move = false //tower can move , like ELF tree or StarCraft human build fly? + string race_tower_movestartstring = "" //what is the order of tower start move? -- like use root to loc move + string race_tower_moveendstring = "" //what is the unorder of tower end move? + boolean race_tower_bypeon = false //tower is peon become , like ELF? AI will compensate more 2 peon + integer race_tower_peon = 2 // the peons go to build towers , how much need compensation peons , usually compensation be equal to go build peons , if build like UD , just summon ,can set less + integer race_towerrush_probability = 5 // how high (in percent) is the probability of doing a tower rush? + integer race_towerrush_hero_rush_level = 1 // the bonus strength value hero must have to be able to do the tower rush boolean race_militia_expansion_available = false // does the race have a militia expansion ? integer race_hero_number = 4 // how many racial heroes ? integer race_simple_melee = 0 // a basic melee unit, only necessary when basic_melee is used integer race_advanced_melee = 0 // an advanced melee unit to replace the basic one, only necessary when basic_melee is used boolean race_has_ghouls = false // has the race a ghoul-like wood harvester/fighter unit ? boolean race_ghouls_attack = true // do those ghouls go with the army on attacks ? - integer race_min_ghouls = 2 // smallest number of ghouls to build at all times - integer race_max_ghouls = 5 // maximum number of ghouls to build in low lumber situations + integer race_min_ghouls = 2 // smallest number of ghouls to build at all times + integer race_max_ghouls = 5 // maximum number of ghouls to build in low lumber situations boolean race_has_power_build = false // can multiple racial workers work on the same building ? boolean race_no_wood_harvest = false // has the race no wood harvesters ? boolean race_ignore_injured = false // should the race leave injured units at home ? @@ -407,23 +419,21 @@ globals integer race_ancient_expansion_strength = 15 // up to how much expansion strength is an ancient expansion allowed ? integer race_ancient_expansion_help_id = 'earc' // the unit id of the unit that should help in ancient expansion integer race_ancient_expansion_hero_rush_level = 2 // the bonus strength value hero must have to be able to do the ancient expansion - integer race_item_expansion_item_id = 0 // what is expand item name(from StandardUnits.txt) ? boolean race_item_expansion_available = false // can expand with item building ? integer race_item_expansion_probability = 5 // how high (in percent) is the probability of doing a item expansion? integer race_item_sale_level = 0 // buy expand item need hall level ? + integer race_item_expansion_item_id = 0 // what is expand item name(from StandardUnits.txt) ? boolean race_sell_ziggurats = false // does the race sell ziggurats that are at no more needed expansions ? real race_ziggurat_keep_distance = 1500 // keep ziggurat if this near another building except a ziggurat is boolean race_build_farms_front = false // should the race build farms towards the front (as soon as the front is computed) ? integer race_farms_front_limit = 4 // limit the number of farms at the front to this number integer race_farms_at_mine = 0 // the first that many farms will be built at the mine real race_max_expa_mine_distance = 850 // the maximum distance between the mine and the expansion building - integer min_peon_number_double_mine = 11 // minimum number of peons when 2 mines are owned boolean race_has_moonwells = false // Racial farms have healing properties integer groundid = 'ewsp' // Used to create path units, must be different from race peon integer racial_burrow = 0 // Building id that can house peons/units and then shoot enemies. integer structid = 'ngnh' // Used to trigger melee defeat conditions on surrender. integer race_ancient_barracks_rush_chance = 0 // If above 0 will set the chance to attack first nearby creep camp using an ancient building, uses the rushcreep flag in standardunits if available for race - #PRAGMA END RACIAL SETTINGS //==============================================================