Kategorien
Bearbeiten von „FreewarWiki:Bot/Skripts/cf.pl“
Zur Navigation springen
Zur Suche springen
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 1: | Zeile 1: | ||
<pre> | <pre> | ||
#!/usr/bin/perl | #!/usr/bin/perl | ||
Zeile 14: | Zeile 13: | ||
my $cfs = [ | my $cfs = [ | ||
{ "name" => "Angriffsenergie", "gw" => | { "name" => "Angriffsenergie", "gw" => 80000, "mx" => 10 }, | ||
{ "name" => "Auftragsbeziehung", "gw" => | { "name" => "Auftragsbeziehung", "gw" => 80000, "mx" => 40 }, | ||
{ "name" => "Auftragsplanung", "gw" => | { "name" => "Auftragsplanung", "gw" => 6800, "mx" => 70 }, | ||
{ "name" => "Ausgrabungswissen", "gw" => | { "name" => "Ausgrabungswissen", "gw" => 30000, "mx" => 70 }, | ||
{ "name" => "Bankwesen", "gw" => | { "name" => "Bankwesen", "gw" => 28000, "mx" => 80 }, | ||
{ "name" => "Bauwesen", "gw" => | { "name" => "Bauwesen", "gw" => 25000, "mx" => 70 }, | ||
{ "name" => "Diebstahlschutzwissen", "gw" => 28000, "mx" => 50 }, | |||
{ "name" => "Getreideverarbeitung", "gw" => 16000, "mx" => 30 }, | |||
{ "name" => "Diebstahlschutzwissen", "gw" => | { "name" => "Gewebeforschung", "gw" => 11600, "mx" => 50 }, | ||
{ "name" => "Getreideverarbeitung", "gw" => | { "name" => "Goldabbau", "gw" => 44000, "mx" => 30 }, | ||
{ "name" => "Gewebeforschung", "gw" => | { "name" => "Glück", "gw" => 16000, "mx" => 15 }, | ||
{ "name" => "Goldabbau", "gw" => | { "name" => "Gruppenheilung", "gw" => 7200, "mx" => 120 }, | ||
{ "name" => "Handwerkskunst", "gw" => 200000, "mx" => 9 }, | |||
{ "name" => "Innere Macht", "gw" => 36000, "mx" => 50 }, | |||
{ "name" => "Glück", "gw" => | { "name" => "Jagd", "gw" => 23200, "mx" => 50 }, | ||
{ "name" => "Gruppenheilung", "gw" => | { "name" => "Kochkunst", "gw" => 22000, "mx" => 80 }, | ||
{ "name" => "Handwerkskunst", "gw" => | { "name" => "Labortechnik", "gw" => 120000, "mx" => 28 }, | ||
{ "name" => "Innere Macht", "gw" => | { "name" => "Lagerlogistik", "gw" => 25000, "mx" => 70 }, | ||
{ "name" => "Lebensenergie", "gw" => 26000, "mx" => 30 }, | |||
{ "name" => "Jagd", "gw" => | { "name" => "Lebenstraining", "gw" => 34000, "mx" => 50 }, | ||
{ "name" => "Kochkunst", "gw" => | { "name" => "Lerntechnik", "gw" => 35000, "mx" => 50 }, | ||
{ "name" => "Labortechnik", "gw" => | { "name" => "Magieverlängerung", "gw" => 48000, "mx" => 30 }, | ||
{ "name" => "Lagerlogistik", "gw" => | { "name" => "Marktwirtschaft", "gw" => 10000, "mx" => 50 }, | ||
{ "name" => "Lebensenergie", "gw" => | { "name" => "Ölverwaltung", "gw" => 26000, "mx" => 60 }, | ||
{ "name" => "Lebenstraining", "gw" => | { "name" => "Phasenenergieeffizienz", "gw" => 23000, "mx" => 70 }, | ||
{ "name" => "Lerntechnik", "gw" => | { "name" => "Phasenenergiemaximierung", "gw" => 25000, "mx" => 80 }, | ||
{ "name" => "Magieverlängerung", "gw" => | { "name" => "Pflanzenkunde", "gw" => 40000, "mx" => 80 }, | ||
{ "name" => "Marktwirtschaft", "gw" => | { "name" => "Phasenverständnis", "gw" => 10000, "mx" => 70 }, | ||
{ "name" => "Ölverwaltung", "gw" => | { "name" => "Plünderung", "gw" => 37200, "mx" => 30 }, | ||
{ "name" => "Phasenenergieeffizienz", "gw" => | { "name" => "Rache", "gw" => 10000, "mx" => 80 }, | ||
{ "name" => "Phasenenergiemaximierung", "gw" => | { "name" => "Reparaturwissen", "gw" => 12000, "mx" => 30 }, | ||
{ "name" => "Pflanzenkunde", "gw" => | { "name" => "Schusswaffen", "gw" => 64000, "mx" => 16 }, | ||
{ "name" => "Phasenverständnis", "gw" => | { "name" => "Seelenverbindung", "gw" => 60000, "mx" => 60 }, | ||
{ "name" => "Plünderung", "gw" => | { "name" => "Selbstheilung", "gw" => 32000, "mx" => 60 }, | ||
{ "name" => "Rache", "gw" => | { "name" => "Stärketraining", "gw" => 30000, "mx" => 50 }, | ||
{ "name" => "Reparaturwissen", "gw" => | { "name" => "Überzeugungskraft", "gw" => 34000, "mx" => 50 }, | ||
{ "name" => "Schusswaffen", "gw" => | { "name" => "Waffenkunst", "gw" => 26000, "mx" => 30 }, | ||
{ "name" => "Seelenverbindung", "gw" => | { "name" => "Zauberkunst", "gw" => 240000, "mx" => 8 }, | ||
{ "name" => "Selbstheilung", "gw" => | { "name" => "Zaubertruhenwissen", "gw" => 100000, "mx" => 40 } | ||
{ "name" => "Stärketraining", "gw" => | |||
{ "name" => "Überzeugungskraft", "gw" => | |||
{ "name" => "Waffenkunst", "gw" => | |||
{ "name" => "Zauberkunst", "gw" => | |||
{ "name" => "Zaubertruhenwissen", "gw" => | |||
]; | ]; | ||
Zeile 66: | Zeile 58: | ||
my $extra = { | my $extra = { | ||
"Schusswaffen" => { | "Schusswaffen" => { | ||
"head" => " | "head" => "Anwendbarer Bogen", | ||
"1" => "[[Einfacher Holzbogen]]", | "1" => "[[Einfacher Holzbogen]]", | ||
"2" => "[[Einfacher Eisenbogen]]", | "2" => "[[Einfacher Eisenbogen]]", | ||
Zeile 83: | Zeile 75: | ||
"15" => "[[Phasenstrahlkanone]]", | "15" => "[[Phasenstrahlkanone]]", | ||
"16" => "[[Itemschleuder]]", | "16" => "[[Itemschleuder]]", | ||
}, | }, | ||
Zeile 100: | Zeile 91: | ||
"Labortechnik" => { | "Labortechnik" => { | ||
"head" => "Herstellbare Zauber | "head" => "Herstellbare Zauber (Mindest-XP zur Herstellung)", | ||
"1" => "[[Heimzauber]] (500 XP)", | "1" => "[[Heimzauber]] (500 XP)", | ||
"2" => "[[großer Heiltrank]] (1.000 XP)", | "2" => "[[großer Heiltrank]] (1.000 XP)", | ||
Zeile 129: | Zeile 120: | ||
"27" => "[[scharfer Phasentrank]] (13.500 XP)", | "27" => "[[scharfer Phasentrank]] (13.500 XP)", | ||
"28" => "[[Rückangriff: Schutzvernichtung]] (14.000 XP)", | "28" => "[[Rückangriff: Schutzvernichtung]] (14.000 XP)", | ||
}, | }, | ||
Zeile 144: | Zeile 133: | ||
"8" => "[[Ausgrabungsspaten]] (55.000 PE / 40.000 XP)", | "8" => "[[Ausgrabungsspaten]] (55.000 PE / 40.000 XP)", | ||
"9" => "[[Dämonenblutfass]] (3.000 PE / 45.000 XP)", | "9" => "[[Dämonenblutfass]] (3.000 PE / 45.000 XP)", | ||
}, | }, | ||
}; | }; | ||
Zeile 168: | Zeile 149: | ||
my $ex = $extra->{$cf->{"name"}}; | my $ex = $extra->{$cf->{"name"}}; | ||
my $colspan = 11; | my $colspan = 11; | ||
open(FILE, ">".$cache_dir.lc($cf->{"name"}).".txt"); | open(FILE, ">".$cache_dir.lc($cf->{"name"}).".txt"); | ||
Zeile 176: | Zeile 156: | ||
<div id="CFcalc">$grundwert</div> | <div id="CFcalc">$grundwert</div> | ||
<div id="CFlevel"> | <div id="CFlevel"> | ||
{| | {| {{Prettytable}} | ||
|+ style="text-align: left;" | <small style="float:right;">''(Angaben in Tagen:Stunden:Minuten)''</small>'''Lernzeit pro Stufe, | |+ style="text-align: left;" | <small style="float:right;">''(Angaben in Tagen:Stunden:Minuten)''</small>'''Lernzeit pro Stufe, abhängig von der Lerntechnik: ''' | ||
|- | |- | ||
| | | | ||
Zeile 209: | Zeile 189: | ||
for (my $lerntech = 0; $lerntech <= $maxlt; $lerntech += 5) | for (my $lerntech = 0; $lerntech <= $maxlt; $lerntech += 5) | ||
{ | { | ||
my $lernfaktor = 0. | my $lernfaktor = 0.97 ** $lerntech; | ||
my $sekunden = ($stufe-1) * $grundwert * $lernfaktor; | my $sekunden = ($stufe-1) * $grundwert * $lernfaktor; | ||
printf FILE "|bgcolor=#%s|%02d:%02d:%02d\n", | printf FILE "|bgcolor=#%s|%02d:%02d:%02d\n", | ||
Zeile 225: | Zeile 205: | ||
</div> | </div> | ||
<div id="CFtotal"> | <div id="CFtotal"> | ||
{| | {| {{Prettytable}} | ||
|+ style="text-align: left;" | <small style="float:right;">''(Angaben in Tagen:Stunden:Minuten)''</small>'''Gesamtlernzeit bis zur jeweiligen Stufe, | |+ style="text-align: left;" | <small style="float:right;">''(Angaben in Tagen:Stunden:Minuten)''</small>'''Gesamtlernzeit bis zur jeweiligen Stufe, abhängig von der Lerntechnik: ''' | ||
|- | |- | ||
| | | | ||
Zeile 249: | Zeile 229: | ||
print FILE "!bgcolor=#$bgcolor_block|".$ex->{"head"}."\n" if (defined($ex)); | print FILE "!bgcolor=#$bgcolor_block|".$ex->{"head"}."\n" if (defined($ex)); | ||
my $step = 1; | |||
$step = 5 if ($maxstufe > 14); | |||
my $zeile = 0; | my $zeile = 0; | ||
my $LetzteStufe = $step; | my $LetzteStufe = $step; | ||
Zeile 256: | Zeile 238: | ||
$LetzteStufe = $stufe; | $LetzteStufe = $stufe; | ||
} | } | ||
if ( $LetzteStufe < $maxstufe) { | if ( $LetzteStufe < $maxstufe) { | ||
print_zeile($maxstufe, ++$zeile, $grundwert, $maxlt, $ex); | print_zeile($maxstufe, ++$zeile, $grundwert, $maxlt, $ex); | ||
Zeile 280: | Zeile 261: | ||
for (my $lerntech = 0; $lerntech <= $maxlt; $lerntech += 5) | for (my $lerntech = 0; $lerntech <= $maxlt; $lerntech += 5) | ||
{ | { | ||
my $lernfaktor = 0. | my $lernfaktor = 0.97 ** $lerntech; | ||
my $sekunden = reihe($stufe-1) * $grundwert * $lernfaktor; | my $sekunden = reihe($stufe-1) * $grundwert * $lernfaktor; | ||
printf FILE "|bgcolor=#%s|%02d:%02d:%02d\n", | printf FILE "|bgcolor=#%s|%02d:%02d:%02d\n", |