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" => "Innere Macht", "gw" => 36000, "mx" => 50 }, | |||
{ "name" => "Jagd", "gw" => 23200, "mx" => 50 }, | |||
{ "name" => "Glück", "gw" => | { "name" => "Kochkunst", "gw" => 22000, "mx" => 80 }, | ||
{ "name" => "Gruppenheilung", "gw" => | { "name" => "Labortechnik", "gw" => 120000, "mx" => 20 }, | ||
{ "name" => "Lagerlogistik", "gw" => 25000, "mx" => 70 }, | |||
{ "name" => "Innere Macht", "gw" => | { "name" => "Lebensenergie", "gw" => 26000, "mx" => 30 }, | ||
{ "name" => "Lebenstraining", "gw" => 34000, "mx" => 50 }, | |||
{ "name" => "Jagd", "gw" => | { "name" => "Lerntechnik", "gw" => 35000, "mx" => 50 }, | ||
{ "name" => "Kochkunst", "gw" => | { "name" => "Magieverlängerung", "gw" => 48000, "mx" => 30 }, | ||
{ "name" => "Labortechnik", "gw" => | { "name" => "Marktwirtschaft", "gw" => 10000, "mx" => 50 }, | ||
{ "name" => "Lagerlogistik", "gw" => | { "name" => "Ölverwaltung", "gw" => 26000, "mx" => 60 }, | ||
{ "name" => "Lebensenergie", "gw" => | { "name" => "Pflanzenkunde", "gw" => 40000, "mx" => 80 }, | ||
{ "name" => "Lebenstraining", "gw" => | { "name" => "Phasenverständnis", "gw" => 10000, "mx" => 70 }, | ||
{ "name" => "Lerntechnik", "gw" => | { "name" => "Plünderung", "gw" => 37200, "mx" => 30 }, | ||
{ "name" => "Magieverlängerung", "gw" => | { "name" => "Reparaturwissen", "gw" => 12000, "mx" => 30 }, | ||
{ "name" => "Marktwirtschaft", "gw" => | { "name" => "Schusswaffen", "gw" => 64000, "mx" => 14 }, | ||
{ "name" => "Ölverwaltung", "gw" => | { "name" => "Seelenverbindung", "gw" => 60000, "mx" => 60 }, | ||
{ "name" => "Selbstheilung", "gw" => 32000, "mx" => 60 }, | |||
{ "name" => "Stärketraining", "gw" => 30000, "mx" => 50 }, | |||
{ "name" => "Pflanzenkunde", "gw" => | { "name" => "Überzeugungskraft", "gw" => 34000, "mx" => 50 }, | ||
{ "name" => "Phasenverständnis", "gw" => | { "name" => "Waffenkunst", "gw" => 26000, "mx" => 30 }, | ||
{ "name" => "Plünderung", "gw" => | { "name" => "Zauberkunst", "gw" => 240000, "mx" => 8 }, | ||
{ "name" => "Zaubertruhenwissen", "gw" => 100000, "mx" => 40 } | |||
{ "name" => "Reparaturwissen", "gw" => | |||
{ "name" => "Schusswaffen", "gw" => | |||
{ "name" => "Seelenverbindung", "gw" => | |||
{ "name" => "Selbstheilung", "gw" => | |||
{ "name" => "Stärketraining", "gw" => | |||
{ "name" => "Überzeugungskraft", "gw" => | |||
{ "name" => "Waffenkunst", "gw" => | |||
{ "name" => "Zauberkunst", "gw" => | |||
{ "name" => "Zaubertruhenwissen", "gw" => | |||
]; | ]; | ||
Zeile 66: | Zeile 54: | ||
my $extra = { | my $extra = { | ||
"Schusswaffen" => { | "Schusswaffen" => { | ||
"head" => " | "head" => "Anwendbarer Bogen", | ||
"1" => "[[Einfacher Holzbogen]]", | "1" => "[[Einfacher Holzbogen]]", | ||
"2" => "[[Einfacher Eisenbogen]]", | "2" => "[[Einfacher Eisenbogen]]", | ||
Zeile 80: | Zeile 68: | ||
"12" => "[[Bogen des starken Lebens]]", | "12" => "[[Bogen des starken Lebens]]", | ||
"13" => "[[Armbrust des großen Donners]]", | "13" => "[[Armbrust des großen Donners]]", | ||
"14" => "[[stark durchschlagende Armbrust]]" | "14" => "[[stark durchschlagende Armbrust]]" | ||
}, | }, | ||
Zeile 96: | Zeile 80: | ||
"6" => "[[Kampfunfähigkeits-Schutz]], [[starker Hautbrand]]", | "6" => "[[Kampfunfähigkeits-Schutz]], [[starker Hautbrand]]", | ||
"7" => "[[Mächtiger Wegzauber-Schutz]], [[Mächtiger Starreschutz-Zauber]], [[Zauber des langen Lebens]], [[Zauber der unbändigen Wut]]", | "7" => "[[Mächtiger Wegzauber-Schutz]], [[Mächtiger Starreschutz-Zauber]], [[Zauber des langen Lebens]], [[Zauber der unbändigen Wut]]", | ||
"8" => "[[Mächtige Sicht der Diebesopfer]], [[Sicht der Diebesopfer | "8" => "[[Mächtige Sicht der Diebesopfer]], [[Sicht der Diebesopfer]]", | ||
}, | }, | ||
"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 121: | Zeile 105: | ||
"19" => "[[Lebenserweiterung]] (9.500 XP)", | "19" => "[[Lebenserweiterung]] (9.500 XP)", | ||
"20" => "[[Zauber der Wettererzeugung]] (10.000 XP)", | "20" => "[[Zauber der Wettererzeugung]] (10.000 XP)", | ||
}, | }, | ||
}; | }; | ||
Zeile 168: | Zeile 121: | ||
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 128: | ||
<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 161: | ||
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 177: | ||
</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 201: | ||
print FILE "!bgcolor=#$bgcolor_block|".$ex->{"head"}."\n" if (defined($ex)); | print FILE "!bgcolor=#$bgcolor_block|".$ex->{"head"}."\n" if (defined($ex)); | ||
my $ | my $step = 1; | ||
my $ | $step = 5 if ($maxstufe > 14); | ||
my $zeile = 1; | |||
for(my $stufe=$step; $stufe<=$maxstufe; $stufe+=$step) | |||
{ | { | ||
print FILE "|-\n"; | print FILE "|-\n"; | ||
print FILE "|bgcolor=#$bgcolor_general|'''$stufe'''\n"; | print FILE "|bgcolor=#$bgcolor_general|'''$stufe'''\n"; | ||
Zeile 280: | Zeile 213: | ||
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", | ||
Zeile 289: | Zeile 222: | ||
} | } | ||
print FILE "|bgcolor=#$bgcolor_general|".$ex->{$stufe}."\n" if (defined($ex)); | print FILE "|bgcolor=#$bgcolor_general|".$ex->{$stufe}."\n" if (defined($ex)); | ||
$zeile++; | |||
} | |||
print FILE "|}\n</div>\n"; | |||
close FILE; | |||
} | |||
sub reihe | |||
{ | |||
my $z = shift; | |||
return ($z * ($z + 1) / 2); | |||
} | } | ||
</pre> | </pre> |