Commit b4697bea authored by Stefan Göbel's avatar Stefan Göbel
Browse files

Initial commit

* Version 0.3
parents
This diff is collapsed.
ROSkillTrainer - Regnum Online Skill Trainer
========================================================================
ROSkillTrainer is a skill trainer for the game Regnum Online [1] (now
called Champions Of Regnum). It is not a web-based application, but a
standalone one, using Qt 4 as the GUI toolkit, so it should run on all
major platforms. It supports saving and loading skill setups (including
spell bar setups), saving the setups as images and it features an
import/export function to open setups from the Clan Inquisition skill
trainer [2].
ROSkillTrainer is free software licensed under the GNU General Public
License Version 3 (see COPYING or [3]).
There are currently no binaries available, you will have to build it
yourself from the source code.
Spell descriptions and icons are not included in the repository!
Icons
------------------------------------------------------------------------
NOTE: The following method to download the icons does not work anymore!
The Perl script contrib/download_icons.pl may be used to download
the required icons from the Regnum Online Wiki [4].
Usage:
cd ROSkillTrainer/spells
perl ../contrib/download_icons.pl
This has to be done before building the application!
You either have to modify the script or download all icons manually.
ROSkillTrainer will work without the icons though, using a fallback icon
instead.
------------------------------------------------------------------------
[1] <http://www.championsofregnum.com/>
[2] <http://trainer.claninquisition.org/trainer.html>
[3] <https://www.gnu.org/licenses/gpl.html>
[4] <http://regnum.wikia.com/wiki/Regnum_Online_Wiki>
#-------------------------------------------------
#
# Project created by QtCreator 2011-01-10T10:23:36
#
#-------------------------------------------------
QT += core gui
TARGET = ROSkillTrainer
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
pointspool.cpp \
loaddialog.cpp \
levelslider.cpp \
importexportdialog.cpp \
treeslider.cpp \
transparentslider.cpp \
trainerwidget.cpp \
trainersetups.cpp \
trainergui.cpp \
trainerconfig.cpp \
trainercodec.cpp \
spellslider.cpp \
savedialog.cpp \
treewidget.cpp \
spellbar.cpp \
resources.cpp
HEADERS += mainwindow.h \
pointspool.h \
loaddialog.h \
levelslider.h \
importexportdialog.h \
treeslider.h \
transparentslider.h \
trainerwidget.h \
trainersetups.h \
trainergui.h \
trainerconfig.h \
trainercodec.h \
spellslider.h \
savedialog.h \
treewidget.h \
spellbar.h \
resources.h
FORMS += mainwindow.ui \
loaddialog.ui \
importexportdialog.ui \
savedialog.ui
OTHER_FILES +=
RESOURCES += \
config.qrc \
gui.qrc \
spells.qrc
<RCC>
<qresource prefix="/">
<file>config/archer_high.points</file>
<file>config/archer_low.points</file>
<file>config/classes.en</file>
<file>config/discipline_costs</file>
<file>config/mage_high.points</file>
<file>config/mage_low.points</file>
<file>config/max_spell_levels</file>
<file>config/max_tree_levels</file>
</qresource>
</RCC>
10 45 12
11 56 13
12 68 14
13 81 15
14 96 16
15 112 17
16 129 18
17 148 19
18 168 20
19 189 21
20 211 22
21 234 23
22 258 24
23 283 25
24 309 26
25 336 27
26 364 28
27 393 29
28 423 30
29 454 31
30 486 32
31 519 33
32 553 34
33 588 35
34 624 36
35 661 37
36 700 38
37 740 39
38 781 40
39 823 41
40 866 43
41 910 45
42 955 47
43 1001 49
44 1048 51
45 1096 53
46 1145 55
47 1195 57
48 1246 59
49 1298 61
50 1351 65
51 1386 67
52 1421 69
53 1456 71
54 1491 73
55 1526 75
56 1561 77
57 1596 79
58 1631 81
59 1666 83
60 1703 85
1 0 4
2 1 4
3 3 4
4 6 4
5 10 5
6 15 6
7 21 7
8 28 8
9 36 9
10 45 10
Archer short_bows long_bows tricks evasion archer_low.points
Hunter short_bows long_bows tricks evasion scouting pets archer_high.points
Marksman short_bows long_bows tricks evasion arrow_mastery aiming_mastery archer_high.points
Mage mental mana_control staff_mastery enchantments mage_low.points
Conjurer mental mana_control staff_mastery enchantments life summon sorcery mage_high.points
Warlock mental mana_control staff_mastery enchantments arcania necromancy elements mage_high.points
Warrior slashing_weapons blunt_weapons piercing_weapons tactics archer_low.points
Barbarian slashing_weapons blunt_weapons piercing_weapons tactics warcries two_handed_mastery archer_high.points
Knight slashing_weapons blunt_weapons piercing_weapons tactics vanguard shields archer_high.points
1 1
2 3
3 3
4 6
5 6
6 10
7 10
8 15
9 15
10 21
11 21
12 28
13 28
14 36
15 36
16 45
17 45
18 55
10 56 13
11 68 14
12 81 15
13 96 16
14 112 17
15 129 18
16 147 19
17 166 20
18 187 21
19 210 22
20 234 23
21 259 24
22 286 25
23 314 26
24 343 27
25 374 28
26 406 29
27 439 30
28 474 31
29 511 32
30 549 33
31 588 34
32 629 35
33 671 36
34 714 37
35 758 38
36 803 39
37 849 40
38 896 41
39 944 42
40 993 44
41 1043 46
42 1094 48
43 1147 50
44 1201 53
45 1256 55
46 1312 58
47 1369 61
48 1427 64
49 1486 67
50 1546 73
51 1596 75
52 1648 77
53 1700 79
54 1752 81
55 1807 83
56 1863 85
57 1919 87
58 1975 89
59 2031 91
60 2087 93
1 0 4
2 1 4
3 3 4
4 6 4
5 10 5
6 15 6
7 21 7
8 35 8
9 45 9
10 56 10
1 2
2 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
10 2
11 3
12 3
13 3
14 3
15 4
16 4
17 4
18 4
19 5
1 1
2 1
3 2
4 2
5 3
6 3
7 4
8 4
9 5
10 5
11 6
12 6
13 7
14 7
15 8
16 8
17 9
18 9
19 10
20 10
21 11
22 11
23 12
24 12
25 13
26 13
27 14
28 14
29 15
30 15
31 16
32 16
33 17
34 17
35 18
36 18
37 19
38 19
39 19
40 19
41 19
42 19
43 19
44 19
45 19
46 19
47 19
48 19
49 19
50 19
51 19
52 19
53 19
54 19
55 19
56 19
57 19
58 19
59 19
60 19
#!/usr/bin/perl
use warnings;
use strict;
use File::Fetch;
use LWP::UserAgent;
my $ua = LWP::UserAgent -> new ();
my $ua_string = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3';
$ua -> agent ($ua_string);
$File::Fetch::USER_AGENT = $ua_string;
my $rs = $ua -> get ('http://regnum.wikia.com/wiki/Powers_Table');
if (! $rs -> is_success ()) {
print $rs -> status_line, "\n";
exit 1;
}
my @lines = split /[\r\n]+/, $rs -> decoded_content ();
my $dsc_old = '';
my $num = 0;
my $base_url = 'http://images.wikia.com/regnum/images';
while (@lines) {
my $line = shift @lines;
if ($line =~ m!"($base_url/[^"]+_Power_Icon\.(?:jpg|png))"!i) {
my $pwr_ico = $1;
my $pwr_ext = (split /\./, $pwr_ico) [-1];
my $pwr_nam = (split /\//, $pwr_ico) [-1];
shift @lines;
my $next_line = shift @lines;
if ($next_line =~ m!"($base_url/[^"]+_Discipline_Icon\.(?:jpg|png))"!i) {
my $dsc_ico = $1;
my $dsc_ext = (split /\./, $dsc_ico) [-1];
my $dsc_nam = (split /\//, $dsc_ico) [-1];
if ($next_line =~ m!>([^<]+)</a></span>!i) {
my $dsc_dir = $1;
$dsc_dir =~ tr/[A-Z ]/[a-z_]/;
my $ff;
if ($dsc_dir ne $dsc_old) {
$dsc_old = $dsc_dir;
$num = 0;
unless (-f "$dsc_dir/icon.$dsc_ext" and -s "$dsc_dir/icon.$dsc_ext") {
unlink ("$dsc_dir/icon.$dsc_ext") if (-f "$dsc_dir/icon.$dsc_ext");
$ff = File::Fetch -> new ('uri' => $dsc_ico);
mkdir $dsc_dir unless (-d $dsc_dir);
chdir $dsc_dir;
if ($ff -> fetch ()) {
rename $dsc_nam, "icon.$dsc_ext";
print "Got $dsc_dir/icon.$dsc_ext\n";
}
else {
print "Error fetching $dsc_ico: " . $ff -> error ();
}
chdir '..';
}
}
if (-d $dsc_dir) {
chdir $dsc_dir;
unless (-f "$num.$pwr_ext" and -s "$num.$pwr_ext") {
unlink ("$num.$pwr_ext") if (-f "$num.$pwr_ext");
$ff = File::Fetch -> new ('uri' => $pwr_ico);
if ($ff -> fetch ()) {
rename $pwr_nam, "$num.$pwr_ext";
print "Got $dsc_dir/$num.$pwr_ext\n";
}
else {
print "Error fetching $pwr_ico: " . $ff -> error ();
}
}
chdir '..';
}
else {
print "No directory created: $dsc_dir\n";
}
}
}
++ $num;
}
}
<RCC>
<qresource prefix="/">
<file>gui/dec_disabled.png</file>
<file>gui/dec_enabled.png</file>
<file>gui/fallback.png</file>
<file>gui/icon.png</file>
<file>gui/inc_disabled.png</file>
<file>gui/inc_enabled.png</file>
<file>gui/slider.png</file>
<file>gui/sb_0.png</file>
<file>gui/sb_1.png</file>
<file>gui/sb_2.png</file>
<file>gui/sb_3.png</file>
</qresource>
</RCC>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment