﻿/* No reproduction of contents without permission */

function createCharacter(level, additionalAttributePoints, skillRanks, attributeValues) {
	var character = new Character( "Schwertmeister", "Schwertmeister", level, 10, "1 + 0.01 * Math.floor( 3.34*(cl-1) )" );
	character.setAdditionalAttributePoints( additionalAttributePoints );
	setCharacter( character );

	var index = 0;

	var id = "accuracy";
	var value = getAttributeValue(attributeValues, index++);
	var attribute = new Attribute( id, character, "Pr&auml;zision", 15, "Jeder zusätzliche Präzisionspunkt erhöht den kritischen Schaden um 2% und verringert den Streuwinkel von Geschossen." );
	attribute.setValue( 15 + value );
	character.addAttribute( id, attribute );
	
	var id = "strength";
	var value = getAttributeValue(attributeValues, index++);
	var attribute = new Attribute( id, character, "St&auml;rke", 25, "Jeder zusätzliche Stärkepunkt erhöht deine Fähigkeit, schwere Rüstungen zu tragen. Ferner erhöht sich dein Nahkampfschaden um 1%." );
	attribute.setValue( 25 + value );
	character.addAttribute( id, attribute );
	
	var id = "stamina";
	var value = getAttributeValue(attributeValues, index++);
	var attribute = new Attribute( id, character, "Ausdauer", 20, "Jeder zusätzliche Ausdauerpunkt gewährt dir 5 weitere Trefferpunkte." );
	attribute.setValue( 20 + value );
	character.addAttribute( id, attribute );
	
	var id = "willpower";
	var value = getAttributeValue(attributeValues, index++);
	var attribute = new Attribute( id, character, "Willenskraft", 15, "Jeder zusätzliche Willenskraftpunkt verleiht dir 2 weitere Energiepunkte und erhöht deine Energieregenerationsrate." );
	attribute.setValue( 15 + value );
	character.addAttribute( id, attribute );
	
	index = 0;
	
	var id = "surge-of-restoration";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 1, 1, "Woge der Heilung", "Wogenangriff, Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Jeder gef&auml;llte D&auml;mon ist f&uuml;r den Schwertmeister ein Jungbrunnen. Sind mehrere Wogen der Heilung aktiv, wird eine gr&ouml;ssere Zahl von Trefferpunken wiederhergestellt. Dauer %d Sekunden", Array( "12" ) ) );
	skill.addConstantProperty( new PowerProperty( skill, "8*a" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Erste Woge: Regeneriert %d Trefferpunkte pro Minute.<br />Zweite Woge: Regeneriert %d Trefferpunkte pro Minute.<br />Dritte Woge: Regeneriert %d Trefferpunkte pro Minute.", Array( "Math.floor((0.1455+0.0295*sl)*hp)", "Math.floor((0.1455+0.0295*sl)*hp*2)", "Math.floor((0.1455+0.0295*sl)*hp*3)" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "sword-of-reckoning";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 1, 4, "Schwert der Rache", "Fechtkunst", 10, 1, 1 + rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Templer zerschmettert einen Gegner mit der g&ouml;ttlichen Faust des j&uuml;ngstens Gerichts." ) );
	skill.addConstantProperty( new PowerProperty( skill, "16*a" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Schaden erh&ouml;ht sich um %d%%.", Array( "85+15*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "sword-of-justice";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 1, 6, "Schwert der Gerechtigkeit", "Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Schwertmeister beschw&ouml;rt die g&ouml;ttliche Gerechtigkeit, um drei schnelle Angriffe in Folge auszuf&uuml;hren." ) );
	skill.addConstantProperty( new PowerProperty( skill, "20*a" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Schaden jedes Schlags um %d%% gesenkt.", Array( "75-4*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "heavens-arc";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 2, 3, "Himmelsbrücke", "Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Templar st&uuml;rzt sich entschlossen auf fliegende D&auml;monen.<br />Diese F&auml;higkeit kann nur gegen fliegende Gegner eingesetzt werden." ) );
	skill.addConstantProperty( new PowerProperty( skill, "10*a" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Schaden erh&ouml;ht sich um %d%%.", Array( "80 + 20*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "charge";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 2, 5, "Sturmangriff", "Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "sword-of-reckoning" ), 2 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Schwertmeister st&uuml;rmt, angetrieben vom Mut seiner Vorv&auml;ter, in die Schlacht. Schaden um 20%% erh&ouml;ht." ) );
	skill.addConstantProperty( new PowerProperty( skill, "30*a" ) );
	skill.addVariableProperty( new RateProperty( skill, "1/(0.0666+0.0134*(sl-1))" ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "matched-blades";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 2, 7, "Zwillingsklingen", "", 8, 0, rank );
	skill.addRequirement( new LevelRequirement( skill, new Array( 5, 6, 7, 8, 9, 10, 11, 12 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Seine spezielle Ausbildung erm&ouml;glicht dem Schwertk&auml;mpfer den beidh&auml;ndingen Einsatz von Nahkampfwaffen." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Willenskraftbedarf sinkt um %d.", Array( "12+12*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "aura-of-power";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 2, 8, "Aura der Macht", "Aura", 10, 0, rank );
	skill.addRequirement( new LevelRequirement( skill, new Array( 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Schwebt ein Schwertmeister in grosser Gefahr, beschleunigt sein Glaube die Regeneration seiner heiligen Macht.<br />F&auml;higkeit wird maximal von 8 Gegner verst&auml;rkt.<br />Nur jeweils eine Aura kann aktiv sein." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Energieregeneration erh&ouml;ht sich um %d pro Minute und Gegner innerhalb der heiligen Aura.", Array( "Math.floor((0.399+0.199*sl)*ep)" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "surge-of-wrath";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 3, 1, "Woge des Zorns", "Wogenangriff, Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "surge-of-restoration" ), 2 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Je mehr D&auml;monen der Schwertmeister f&auml;llt, desto gr&ouml;sser wird seine Macht. Sind mehrere Wogen des Zorns aktiv, erh&ouml;ht sich die Wahrscheinlichkeit eines kritischen Treffers. Dauer %d Sekunden.", Array( "12" ) ) );
	skill.addConstantProperty( new PowerProperty( skill, "9*a" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Erste Woge: Chance auf einen kritischen Treffer steigt um %d%%.<br />Zweite Woge: Chance auf einen kritischen Treffer steigt um %d%%.<br />Dritte Woge: Chance auf einen kritischen Treffer steigt um %d%%.", Array( "Math.floor(0.667*(sl+2))", "Math.floor(0.667*(sl+2)*2)", "Math.floor(0.667*(sl+2)*3)" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "call-of-the-chosen";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 3, 2, "Ruf des Auserwählten", "", 10, 0, rank );
	skill.addRequirement( new LevelRequirement( skill, new Array( 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Stimme des Schwertmeister wird eine &uuml;berschw&auml;ngliche Resonanz verliehen, so dass er einen einzelnen Gegenger als Ziel benennen kann, welches verspottet wird, w&auml;hrend alle anderen Feinde die Flucht ergreifen." ) );
	skill.addConstantProperty( new PowerProperty( skill, "20*a" ) );
	skill.addConstantProperty( new RangeProperty( skill, "30" ) );
	skill.addConstantProperty( new RateProperty( skill, "3.0" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Furchtradius um das Ziel: %d Meter.<br />Dauer der Furcht: %d Sekunden.", Array( "3+sl", "4+sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "crosscutter";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 3, 3, "Wurfschwert", "Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Schwertmeister verwandelt sein Schwert in ein t&ouml;dliches Geschoss, indem er es auf einen Gegner schleudert.<br />Wirft das Schwert der Haupthand.<br />Schaden um 50%% erh&ouml;ht." ) );
	skill.addConstantProperty( new PowerProperty( skill, "25*a" ) );
	skill.addConstantProperty( new RangeProperty( skill, "20.0" ) );
	skill.addVariableProperty( new RateProperty( skill, "1/(0.1+0.0666*sl)" ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "sweeping-strike";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 3, 6, "Rundumschlag", "Gruppenangriff, Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "sword-of-justice" ), 2 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Schwertmeister kanalisiert seine Rechschaffenheit zu einem Angriff, der allen Gegner in Nahkampf-Reichweite Schaden zuf&uuml;gt.<br />Schaden wird um 50%% erh&ouml;ht." ) );
	skill.addConstantProperty( new PowerProperty( skill, "25*a" ) );
	skill.addVariableProperty( new RateProperty( skill, "1/(0.02*(sl+4))" ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "surge-of-speed";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 4, 1, "Woge des Tempos", "Wogenangriff, Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "surge-of-wrath" ), 3 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Im K&ouml;rper des Schwertmeister kanalisierte heilige Energie erh&ouml;ht die Bewegungsgeschwindigkeit. Effekte von Sprint und Adrenalinpacks k&ouml;nnen nicht mit dieser Fertigkeit kombiniert werden. H&auml;lt f&uuml;r 12 Sekunden." ) );
	skill.addConstantProperty( new PowerProperty( skill, "10*a" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Erste Woge: Beweglichkeit erh&ouml;ht sich um %d%%.<br />Zweite Woge: Beweglichkeit erh&ouml;ht sich um %d%%.<br />Dritte Woge: Beweglichkeit erh&ouml;ht sich um %d%%.", Array( "17+3*sl", "24+6*sl", "31+9*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "sword-of-authority";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 4, 4, "Schwert der Macht", "Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "sword-of-reckoning" ), 5 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Glaube und Opferbereitschaft des Schertmeister verleihen seinem Angriff auf einen Gegner einen unwiderstehliche Macht.<br />Schaden erh&ouml;ht sich um 500%%." ) );
	skill.addConstantProperty( new PowerProperty( skill, "35*a" ) );
	skill.addVariableProperty( new RateProperty( skill, "1/(0.1+0.015*(sl-1))" ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "aura-of-the-elements";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 4, 8, "Aura der Elemente", "Aura", 10, 0, rank );
	skill.addRequirement( new LevelRequirement( skill, new Array( 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Wird der Schwertmeister von mehreren Gegner umringt, erfleht er den Beistand der Macht des Himmels und der Erde.<br />F&auml;higkeit wird von maximal 8 Gegnern verst&auml;rkt.<br />Nur jeweils eine Aura kann aktiv sein." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Bet&auml;ubungs- Entz&uuml;nden, Schock, Phasen- und Giftangriffe verbessern sich um %d pro Gegner innerhalb der heiligen Aura", Array( "cl+(6*sl-2)" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "aura-of-deflection";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 4, 9, "Aura der Ablenkung", "Aura", 4, 0, rank );
	skill.addRequirement( new LevelRequirement( skill, new Array( 15, 16, 17, 18 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Templar bittet die M&auml;chte des Himmels. Geschosse die in seine heilige Aura eindringen, abzulenken.<br />Nur jeweils eine Aura kann aktiv sein." ) );
	skill.addVariableProperty( new EffectProperty( skill, "%d%%-Chance, Geschosse zu zerst&ouml;ren.", Array( "10+10*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "angelic-orator";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 5, 2, "Engelstimme", "", 10, 0, rank );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "call-of-the-chosen" ), 3 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Ein mit dem Ruf des Auserw&auml;hlten anvisierten Gegner wird durch die heilige Omnipr&auml;senz des Befehls eingesch&uuml;chtert und b&uuml;sst ein Teil seiner Angriffskraft ein." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Schaden des Gegners sinkt um %d%%.<br />Die St&auml;rke von Angst- und Provokations-Attacken erh&ouml;ht sich um %d%%", Array( "2*sl", "Math.floor(12.5*sl)" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "sword-master";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 5, 3, "Herr der Klingen", "Fechtkunst", 10, 0, rank );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "crosscutter" ), 1 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Trainiert den Schwertmeister die Beherrschung der hohen Kunst, ein Schwert auf seinen Gegner zu schleudern." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Schaden des geworfenen Schwertes erh&ouml;ht sich um %d%%.", Array( "15*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "onslaught";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 5, 5, "Attacke", "", 10, 0, rank );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "charge" ), 3 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Schwertmeister verst&auml;rkt seinen Sturmangriff, indem er den Zorn des Himmels beschw&ouml;rt und K&ouml;rper und Klinge mit heiliger Energie f&uuml;llt." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Schild-&uuml;berladung von Sturmangriffen wird um %d%% erh&ouml;ht.", Array( "25+15*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "thorns";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 5, 7, "Dornen", "", 10, 0, rank );
	skill.addRequirement( new LevelRequirement( skill, new Array( 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Die Schergen der Dunkelheit, die es wagen, den Schwertmeister zu ber&uuml;hren, bezahlen f&uuml;r ihre Anmaßung einen schmerzhaften Preis.<br />Wird nur von Nahkampfangriffen ausgel&ouml;st." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Verursacht %d Punkte Schaden durch Dornen.", Array( "Math.floor((cl-1)/5)+2*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "surge-mastery";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 6, 1, "Heiliger Krieger", "Wogenangriff ", 7, 0, rank );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "surge-of-speed" ), 3 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 25, 26, 27, 28, 29, 30, 31 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Durch rechtschaffene Konzentration dehnen Blademaster die heiligen Energien aus, die durch ihre Klingen fließen." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Dauer der Woge erh&ouml;ht sich um %d%%.", Array( "15*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "hamper";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 6, 4, "Störung", "", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "sword-of-authority" ), 1 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Dieser Angriff dient der Senkung der Bewegungs- und Angriffsrate des Ziels. Dauer: %d Sekunden.", Array( "4" ) ) );
	skill.addConstantProperty( new PowerProperty( skill, "22*a" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Senkt die Bewegungsrate des Gegners um %d%%.<br />R&uuml;stungswert des Gegners verschlechtert sich um %d%%.", Array( "20+5*sl", "17+3*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "aura-of-zeal";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 6, 8, "Aura der Leidenschaft", "Aura", 10, 0, rank );
	skill.addRequirement( new LevelRequirement( skill, new Array( 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Je mehr Gegner sich n&auml;hern, desto leidenschaftlicher k&auml;mpft der Schwertmeister. Dadurch erh&ouml;t sich seine Chance auf einen kritischen Treffer.<br />F&auml;higkeit wird von maximal 8 Gegner verst&auml;rkt.<br />Nur jeweils eine Aura kann aktiv sein." ) );
	skill.addVariableProperty( new EffectProperty( skill, "Chance auf einen kritischen Treffer steigt um %d%%. Chance auf einen kritschen erh&ouml;ht sich um weitere 2%% pro Gegner innerhalb der heiligen Aura.", Array( "2+sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "aura-of-vengeance";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 6, 9, "Aura der Vergeltung", "Aura", 4, 0, rank );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "aura-of-deflection" ), 3 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 25, 26, 27, 28 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Templar kanalisiert die dunkle Macht des G&ouml;ttlichen, um Geschosse, die in seinen heiligen Aura eindringen, zur&uuml;ckzuwerfen.<br />Nur jeweils eine Aura kann aktiv sein." ) );
	skill.addVariableProperty( new EffectProperty( skill, "%d%%-Chance, Geschosse abzuwehren.", Array( "5 + 7*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "sword-typhoon";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 7, 3, "Schwert des Taifun", "Fechtkunst", 7, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "sword-master" ), 1 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 30, 33, 36, 39, 42, 45, 48 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Schwertmeister wirbelt herum und verteilt die heilige Essenz seines Schwertes auf eine Vielzahl rasiermesserscharfer Splitter.<br />Der Schaden eines Splitters betr&auml;gt 100%% des Grundschaden des Schwertes." ) );
	skill.addConstantProperty( new PowerProperty( skill, "40*a" ) );
	skill.addConstantProperty( new RateProperty( skill, "20.0" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Wirft %d Splitter.", Array( "8+4*sl" ) ) );
	skill.addVariableProperty( new RangeProperty( skill, "15+1.8*sl" ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "path-of-righteousness";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 7, 5, "Pfad der Gerechtigkeit", "Fechtkunst", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "onslaught" ), 3 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Getrieben von den M&auml;chten des Himmels, st&uuml;rmt der Schwertmeister nach vorne und f&auml;llt jeden Gegner auf seinem Weg." ) );
	skill.addConstantProperty( new PowerProperty( skill, "35*a" ) );
	skill.addVariableProperty( new RateProperty( skill, "1/(0.1+0.015*(sl-1))" ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;

	var id = "whirlwind";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 7, 6, "Wirbelwind", "Gruppenangriff", 10, 0, rank );
	skill.addRequirement( new TextRequirement( skill, "Ben&ouml;tigt: Schwert" ) );
	skill.addRequirement( new SkillRequirement( skill, character.getSkill( "sweeping-strike" ), 5 ) );
	skill.addRequirement( new LevelRequirement( skill, new Array( 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Der Schwertmeister entfesselt den Zorn des Himmels und verwandelt sich in einen Wirbelwind der Verdammnis. Dauer: %d Sekunden", Array( "4" ) ) );
	skill.addConstantProperty( new PowerProperty( skill, "40*a" ) );
	skill.addConstantProperty( new RateProperty( skill, "20" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Bewegungstempo erh&ouml;ht sich um %d%%.", Array( "60+10*sl" ) ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;
	
	
	var id = "use-all-weapons";
	var skill = new Skill( id, character, 8, 1, "Alle Waffen benutzen", "", 0, 0, 0 );
	skill.addConstantProperty( new DescriptionProperty( skill, "Benutzt alle angelegten Waffen." ) );
	character.addSkill( id, skill );

	var id = "use-left-weapon";
	var skill = new Skill( id, character, 8, 2, "Linke Waffe benutzen", "", 0, 0, 0 );
	skill.addConstantProperty( new DescriptionProperty( skill, "Benutzt die Waffe der linken Hand." ) );
	character.addSkill( id, skill );

	var id = "use-right-weapon";
	var skill = new Skill( id, character, 8, 3, "Rechte Waffe benutzen", "", 0, 0, 0 );
	skill.addConstantProperty( new DescriptionProperty( skill, "Benutzt die Waffe der rechten Hand." ) );
	character.addSkill( id, skill );

	var id = "recall";
	var skill = new Skill( id, character, 8, 4, "Rückruf", "", 0, 0, 0 );
	skill.addConstantProperty( new DescriptionProperty( skill, "Augenblickliche R&uuml;ckkehr zur zuletzt besuchten Station." ) );
	character.addSkill( id, skill );

	var id = "sprint";
	var rank = getSkillRank(skillRanks, index++);
	var skill = new Skill( id, character, 8, 5, "Sprint", "", 7, 1, 1 + rank );
	skill.addRequirement( new LevelRequirement( skill, new Array( 1, 2, 3, 4, 5, 6, 7 ) ) );
	skill.addConstantProperty( new DescriptionProperty( skill, "Ein schneller Anstieg der Laufgeschwindigkeit." ) );
	skill.addConstantProperty( new RateProperty( skill, "5" ) );
	skill.addVariableProperty( new EffectProperty( skill, "Laufgeschwindigkeit um %d%% erh&ouml;ht.", Array( "55+sl*15" ) ) );
	skill.addVariableProperty( new PowerProperty( skill, "(22-sl*2)*a" ) );
	character.addSkill( id, skill );
	character.skillPoints -= rank;
}
