Procházet zdrojové kódy

filled character traits, added constructor, filling script

Noath před 6 roky
rodič
revize
820bfe6a9e
100 změnil soubory, kde provedl 544 přidání a 270 odebrání
  1. 137 0
      assets/Filling traits.py
  2. 10 0
      assets/traits.ini
  3. 0 16
      assets/units/Archer/include/Archer.h
  4. 0 25
      assets/units/Archer/source/Archer.cpp
  5. 0 17
      assets/units/Mage/include/Mage.h
  6. 0 24
      assets/units/Mage/source/Mage.cpp
  7. 0 18
      assets/units/Rider/include/Rider.h
  8. 0 24
      assets/units/Rider/source/Rider.cpp
  9. 0 18
      assets/units/Rogue/include/Rogue.h
  10. 0 24
      assets/units/Rogue/source/Rogue.cpp
  11. 0 18
      assets/units/Warrior/include/Warrior.h
  12. 0 42
      assets/units/Warrior/source/Warrior.cpp
  13. 9 0
      assets/units/human/atraty-rider/traits.ini
  14. 0 1
      assets/units/human/atraty-rider/traits.txt
  15. 9 0
      assets/units/human/holy-spirit/traits.ini
  16. 0 1
      assets/units/human/holy-spirit/traits.txt
  17. 9 0
      assets/units/human/human-adept-of-subtetly/traits.ini
  18. 0 1
      assets/units/human/human-adept-of-subtetly/traits.txt
  19. 9 0
      assets/units/human/human-aerotheurger/traits.ini
  20. 0 1
      assets/units/human/human-aerotheurger/traits.txt
  21. 9 0
      assets/units/human/human-alchemist/traits.ini
  22. 0 1
      assets/units/human/human-alchemist/traits.txt
  23. 1 1
      assets/units/human/human-alchemist/unitname.txt
  24. 9 0
      assets/units/human/human-archer/traits.ini
  25. 0 1
      assets/units/human/human-archer/traits.txt
  26. 9 0
      assets/units/human/human-army-bowman/traits.ini
  27. 0 1
      assets/units/human/human-army-bowman/traits.txt
  28. 9 0
      assets/units/human/human-arsonist/traits.ini
  29. 0 1
      assets/units/human/human-arsonist/traits.txt
  30. 9 0
      assets/units/human/human-assassin/traits.ini
  31. 0 1
      assets/units/human/human-assassin/traits.txt
  32. 9 0
      assets/units/human/human-avenger/traits.ini
  33. 0 1
      assets/units/human/human-avenger/traits.txt
  34. 9 0
      assets/units/human/human-battle-mage/traits.ini
  35. 0 1
      assets/units/human/human-battle-mage/traits.txt
  36. 9 0
      assets/units/human/human-berserker/traits.ini
  37. 0 1
      assets/units/human/human-berserker/traits.txt
  38. 9 0
      assets/units/human/human-big-game-hunter/traits.ini
  39. 0 1
      assets/units/human/human-big-game-hunter/traits.txt
  40. 9 0
      assets/units/human/human-brigand/traits.ini
  41. 0 1
      assets/units/human/human-brigand/traits.txt
  42. 9 0
      assets/units/human/human-cataphract/traits.ini
  43. 0 1
      assets/units/human/human-cataphract/traits.txt
  44. 9 0
      assets/units/human/human-cavalryman/traits.ini
  45. 0 1
      assets/units/human/human-cavalryman/traits.txt
  46. 9 0
      assets/units/human/human-chastener/traits.ini
  47. 0 1
      assets/units/human/human-chastener/traits.txt
  48. 9 0
      assets/units/human/human-cleric/traits.ini
  49. 0 1
      assets/units/human/human-cleric/traits.txt
  50. 9 0
      assets/units/human/human-clinicaria/traits.ini
  51. 0 1
      assets/units/human/human-clinicaria/traits.txt
  52. 9 0
      assets/units/human/human-condottier/traits.ini
  53. 0 1
      assets/units/human/human-condottier/traits.txt
  54. 9 0
      assets/units/human/human-dancer-with-shadows/traits.ini
  55. 0 1
      assets/units/human/human-dancer-with-shadows/traits.txt
  56. 9 0
      assets/units/human/human-defender/traits.ini
  57. 0 1
      assets/units/human/human-defender/traits.txt
  58. 9 0
      assets/units/human/human-demolisher/traits.ini
  59. 0 1
      assets/units/human/human-demolisher/traits.txt
  60. 9 0
      assets/units/human/human-deserter/traits.ini
  61. 0 1
      assets/units/human/human-deserter/traits.txt
  62. 9 0
      assets/units/human/human-druid/traits.ini
  63. 0 1
      assets/units/human/human-druid/traits.txt
  64. 9 0
      assets/units/human/human-duelist/traits.ini
  65. 0 1
      assets/units/human/human-duelist/traits.txt
  66. 9 0
      assets/units/human/human-farstrider/traits.ini
  67. 0 1
      assets/units/human/human-farstrider/traits.txt
  68. 9 0
      assets/units/human/human-fencer/traits.ini
  69. 0 1
      assets/units/human/human-fencer/traits.txt
  70. 9 0
      assets/units/human/human-flayer/traits.ini
  71. 0 1
      assets/units/human/human-flayer/traits.txt
  72. 9 0
      assets/units/human/human-floromante/traits.ini
  73. 0 1
      assets/units/human/human-floromante/traits.txt
  74. 9 0
      assets/units/human/human-frost-mage/traits.ini
  75. 0 1
      assets/units/human/human-frost-mage/traits.txt
  76. 9 0
      assets/units/human/human-guardian/traits.ini
  77. 0 1
      assets/units/human/human-guardian/traits.txt
  78. 9 0
      assets/units/human/human-healer/traits.ini
  79. 0 1
      assets/units/human/human-healer/traits.txt
  80. 9 0
      assets/units/human/human-hoplite/traits.ini
  81. 0 1
      assets/units/human/human-hoplite/traits.txt
  82. 9 0
      assets/units/human/human-hunter/traits.ini
  83. 0 1
      assets/units/human/human-hunter/traits.txt
  84. 9 0
      assets/units/human/human-hydromante/traits.ini
  85. 0 1
      assets/units/human/human-hydromante/traits.txt
  86. 9 0
      assets/units/human/human-illusionist/traits.ini
  87. 0 1
      assets/units/human/human-illusionist/traits.txt
  88. 9 0
      assets/units/human/human-lightning-mage/traits.ini
  89. 0 1
      assets/units/human/human-lightning-mage/traits.txt
  90. 9 0
      assets/units/human/human-liquidator/traits.ini
  91. 0 1
      assets/units/human/human-liquidator/traits.txt
  92. 9 0
      assets/units/human/human-mage/traits.ini
  93. 0 1
      assets/units/human/human-mage/traits.txt
  94. 9 0
      assets/units/human/human-magus-mage/traits.ini
  95. 0 1
      assets/units/human/human-magus-mage/traits.txt
  96. 9 0
      assets/units/human/human-marauder/traits.ini
  97. 0 1
      assets/units/human/human-marauder/traits.txt
  98. 9 0
      assets/units/human/human-marksman/traits.ini
  99. 0 1
      assets/units/human/human-marksman/traits.txt
  100. 9 0
      assets/units/human/human-master-of-subtetly/traits.ini

+ 137 - 0
assets/Filling traits.py

@@ -0,0 +1,137 @@
+import sys
+import os
+import argparse
+import math
+
+parser = argparse.ArgumentParser()
+parser.add_argument('-dir', '--directory', '--game-directory', dest='game_dir',
+                    help='set path of GAME_DIR', required=True)
+
+print("Type arguments and tap enter. If there are not any arguments tap enter with empty string")
+print("Use -h or --help to get list of arguments")
+args = parser.parse_args(input().split())
+path_to_game = args.game_dir
+
+
+def get_lvl(path):
+    lvl = 0
+    for file in os.listdir(path=path):
+        if file == 'unitname.txt':
+            cur_file = open(path + '\\' + file, 'r')
+            # print(cur_file)
+            name = cur_file.read()
+            if 'IV' in name:
+                lvl = 4
+            elif 'III' in name:
+                lvl = 3
+            elif 'II' in name:
+                lvl = 2
+            elif 'I' in name:
+                lvl = 1
+            cur_file.close()
+    return lvl
+
+
+def get_baseclass(path):
+    for file in os.listdir(path=path):
+        if file == 'baseclass.txt':
+            cur_file = open(path + '\\' + file, 'r')
+            name = cur_file.read()
+            cur_file.close()
+    return name
+
+
+def print_traits(file, lvl, baseclass):
+    file.write('lvl=')
+    file.write(str(lvl) + '\n')
+    file.write('cost=')
+    file.write(str(125 + 150 * (lvl - 1)) + '\n')
+    file.write('starting_ap=')
+    file.write(str(max(2, lvl ** 2 - 2 * lvl - 2 * lvl // 4)) + '\n')
+    if baseclass == 'Warrior\n' or baseclass == 'Rider\n':
+        file.write('strength=')
+        file.write(str(lvl + 1) + '\n')
+        file.write('agility=')
+        stat = max(lvl - 1, 0)
+        file.write(str(stat) + '\n')
+        file.write('intelligence=')
+        stat = max(lvl - 2, 0)
+        file.write(str(stat) + '\n')
+    elif baseclass == 'Archer\n' or baseclass == 'Rogue\n':
+        stat = max(lvl - 2, 0)
+        file.write('strength=')
+        file.write(str(stat) + '\n')
+        file.write('agility=')
+        stat = max(lvl, 0)
+        file.write(str(lvl + 1) + '\n')
+        file.write('intelligence=')
+        stat = max(lvl - 2, 0)
+        file.write(str(stat) + '\n')
+    else:
+        stat = max(lvl - 2, 0)
+        file.write('strength=')
+        file.write(str(stat) + '\n')
+        file.write('agility=')
+        stat = max(lvl - 2, 0)
+        file.write(str(stat) + '\n')
+        file.write('intelligence=')
+        file.write(str(lvl + 1) + '\n')
+
+    file.write('initiative=')
+    if baseclass == 'Rider\n' or 'Rogue\n':
+        file.write(str(math.ceil(lvl * 2.5)) + '\n')
+    elif baseclass == 'Archer\n' or 'Warrior\n':
+        file.write(str(math.ceil(lvl * 2)) + '\n')
+    elif baseclass == 'Mage\n':
+        file.write(str(math.ceil(lvl * 1.5)) + '\n')
+
+    if baseclass == 'Rogue\n':
+        file.write('magic_def=' + str(math.ceil(lvl * 1.5)) + '\n')
+        file.write('physic_def=' + str(math.ceil(lvl)) + '\n')
+    elif baseclass == 'Rider\n':
+        file.write('magic_def=' + str(max(1, int(math.ceil(lvl * 0.75)))) + '\n')
+        file.write('physic_def=' + str(math.ceil(lvl * 1.5)) + '\n')
+    elif baseclass == 'Warrior\n':
+        file.write('magic_def=' + str(max(1, int(math.ceil(lvl * 0.75)))) + '\n')
+        file.write('physic_def=' + str(math.ceil(lvl * 2)) + '\n')
+    elif baseclass == 'Mage\n':
+        file.write('magic_def=' + str(math.ceil(lvl * 2)) + '\n')
+        file.write('physic_def=' + str(max(1, int(math.ceil(lvl * 0.75)))) + '\n')
+    elif baseclass == 'Archer\n':
+        file.write('magic_def=' + str(math.ceil(lvl)) + '\n')
+        file.write('physic_def=' + str(max(1, int(math.ceil(lvl * 0.75)))) + '\n')
+
+
+# -d D:\Honourihed\repo
+
+
+def race_traits_fill(racename):
+    path_to_race = path_to_game + '\\assets\\units\\' + racename
+    for class_dir in os.listdir(path=path_to_race):
+        if '.' not in class_dir:
+            for file in os.listdir(path=path_to_race + '\\' + class_dir):
+                if file.startswith('traits'):
+                    path = path_to_race + '\\' + class_dir + '\\' + file
+                    try:
+                        lvl = get_lvl(path_to_race + '\\' + class_dir)
+                        baseclass = get_baseclass(path_to_race + '\\' + class_dir)
+
+                        os.rename(path, path_to_race + '\\' + class_dir + '\\' + 'traits.ini')
+                        path = path_to_race + '\\' + class_dir + '\\' + 'traits.ini';
+
+                        cur_file = open(path, 'w')
+                        print_traits(cur_file, lvl, baseclass)
+                        cur_file.close()
+                        print(path + ' - OK!')
+
+                    except OSError:
+                        print(path + ' - FAILED!')
+
+
+def main():
+    race_traits_fill('undead')
+    race_traits_fill('human')
+
+
+if __name__ == '__main__':
+    main()

+ 10 - 0
assets/traits.ini

@@ -0,0 +1,10 @@
+[CharactersTraits]
+lvl=1
+cost=125
+starting_ap=2
+strength=0
+agility=2
+intelligence=0
+initiative=3
+magic_def=1
+physic_def=1

+ 0 - 16
assets/units/Archer/include/Archer.h

@@ -1,16 +0,0 @@
-#pragma once
-#include <iostream>
-#include <cassert>
-#include "unit.h"
-
-class Archer : public Unit {
-	Archer() = delete;
-	Archer(std::string id);
-	~Archer();
-
-	bool canAttackForDistance(int distance);
-
-	bool canAttackToCell(Cell* destination);
-
-	bool canAttackUnit(Unit* target);
-};

+ 0 - 25
assets/units/Archer/source/Archer.cpp

@@ -1,25 +0,0 @@
-#pragma once
-#include <iostream>
-#include <random>
-#include <ctime>
-#include "unit.h"
-#include "Archer.h"
-
-Archer::Archer(std::string id) {
-}
-
-Archer::~Archer() {}
-
-bool Archer::canAttackForDistance(int distance) { 
-	//this is a dummy
-	srand(time(0));
-	return rand() % 2;
-}
-
-bool Archer::canAttackToCell(Cell * destination) {
-	return canAttackForDistance(lenOfActualPath(destination) + getAttackCost() * getMovementSpeed());
-}
-
-bool Archer::canAttackUnit(Unit * target) {
-	return canAttackToCell(target->getLocation());
-}

+ 0 - 17
assets/units/Mage/include/Mage.h

@@ -1,17 +0,0 @@
-#pragma once
-#pragma once
-#include <iostream>
-#include <cassert>
-#include "unit.h"
-
-class Mage : public Unit {
-	Mage() = delete;
-	Mage(std::string id);
-	~Mage();
-
-	bool canAttackForDistance(int distance);
-
-	bool canAttackToCell(Cell* destination);
-
-	bool canAttackUnit(Unit* target);
-};

+ 0 - 24
assets/units/Mage/source/Mage.cpp

@@ -1,24 +0,0 @@
-#pragma once
-#include <iostream>
-#include <random>
-#include <ctime>
-#include "unit.h"
-#include "Mage.h"
-
-Mage::Mage(std::string id){
-}
-
-Mage::~Mage(){}
-
-bool Mage::canAttackForDistance(int distance){ //this is a dummy
-	srand(time(0));
-	return rand() % 2;
-}
-
-bool Mage::canAttackToCell(Cell * destination){
-	return canAttackForDistance(lenOfActualPath(destination) + getAttackCost() * getMovementSpeed());
-}
-
-bool Mage::canAttackUnit(Unit * target){
-	return canAttackToCell(target->getLocation());
-}

+ 0 - 18
assets/units/Rider/include/Rider.h

@@ -1,18 +0,0 @@
-#pragma once
-#include <iostream>
-#include <cassert>
-#include "unit.h"
-
-class Rider : public Unit {
-	Rider() = delete;
-	Rider(std::string id);
-	~Rider();
-
-	//increase dmg with len of movement path
-
-	bool canAttackForDistance(int distance);
-
-	bool canAttackToCell(Cell* destination);
-
-	bool canAttackUnit(Unit* target);
-};

+ 0 - 24
assets/units/Rider/source/Rider.cpp

@@ -1,24 +0,0 @@
-#pragma once
-#include <iostream>
-#include <random>
-#include <ctime>
-#include "unit.h"
-#include "Rider.h"
-
-Rider::Rider(std::string id) {
-}
-
-Rider::~Rider(){}
-
-bool Rider::canAttackForDistance(int distance) {
-	return (canMoveForDistance(attack_cost_ * getMovementSpeed() + distance - attack_range_));
-}
-
-bool Rider::canAttackToCell(Cell * destination) {
-	return lenOfActualPath(destination) != 0 &&
-		canAttackForDistance(lenOfActualPath(destination));
-}
-
-bool Rider::canAttackUnit(Unit * target) {
-	return canAttackToCell(target->getLocation());
-}

+ 0 - 18
assets/units/Rogue/include/Rogue.h

@@ -1,18 +0,0 @@
-#pragma once
-#include <iostream>
-#include <cassert>
-#include "unit.h"
-
-class Rogue : public Unit {
-	Rogue() = delete;
-	Rogue(std::string id);
-	~Rogue();
-
-	//backstab
-
-	bool canAttackForDistance(int distance);
-
-	bool canAttackToCell(Cell* destination);
-
-	bool canAttackUnit(Unit* target);
-};

+ 0 - 24
assets/units/Rogue/source/Rogue.cpp

@@ -1,24 +0,0 @@
-#pragma once
-#include <iostream>
-#include <random>
-#include <ctime>
-#include "unit.h"
-#include "Rogue.h"
-
-Rogue::Rogue(std::string id) {
-}
-
-Rogue::~Rogue() {}
-
-bool Rogue::canAttackForDistance(int distance) {
-	return (canMoveForDistance(attack_cost_ * getMovementSpeed() + distance - attack_range_));
-}
-
-bool Rogue::canAttackToCell(Cell * destination) {
-	return lenOfActualPath(destination) != 0 &&
-		canAttackForDistance(lenOfActualPath(destination));
-}
-
-bool Rogue::canAttackUnit(Unit * target) {
-	return canAttackToCell(target->getLocation());
-}

+ 0 - 18
assets/units/Warrior/include/Warrior.h

@@ -1,18 +0,0 @@
-#pragma once
-#include <iostream>
-#include <cassert>
-#include "unit.h"
-
-class Warrior : public Unit {
-	Warrior() = delete;
-	Warrior(std::string id);
-	~Warrior();
-
-	double reduceIncomingDamage(std::string damageType, int damage);
-
-	bool canAttackForDistance(int distance);
-
-	bool canAttackToCell(Cell* destination);
-
-	bool canAttackUnit(Unit* target);
-};

+ 0 - 42
assets/units/Warrior/source/Warrior.cpp

@@ -1,42 +0,0 @@
-#pragma once
-#include <iostream>
-#include <random>
-#include <ctime>
-#include "unit.h"
-#include "Warrior.h"
-
-Warrior::Warrior(std::string id){
-}
-
-Warrior::~Warrior(){}
-
-double Warrior::reduceIncomingDamage(std::string damageType, int damage) {//returns damage after reducing by defence
-	assert("Incorrect damage type in call reduceIncomingDamage(), expected" &&
-		damageType[0] == 'p' || damageType[0] == 'P' || damageType[0] == 'm' || damageType[0] == 'M');
-	assert("Magic defence of unit is incorrectly high (>40), but must be" && magic_defence_ <= 40);
-	assert("Physic defence of unit is incorrectly high (>40), but must be" && physic_defence_ <= 40);
-	if (damageType[0] == 'p' || damageType[0] == 'P') {
-		srand(time(0));
-		double reduced = (1 - 2.5 * physic_defence_ / 100) * damage;
-		if (rand() % 10 == 0) {
-			reduced = reduced / 2.0;
-		}
-		return reduced;
-	}
-	else if (damageType[0] == 'm' || damageType[0] == 'M') {
-		return (1 - 2.5 * magic_defence_ / 100) * damage;
-	}
-}
-
-bool Warrior::canAttackForDistance(int distance){
-	return (canMoveForDistance(attack_cost_ * getMovementSpeed() + distance - attack_range_));
-}
-
-bool Warrior::canAttackToCell(Cell * destination){
-	return lenOfActualPath(destination) != 0 && 
-				canAttackForDistance(lenOfActualPath(destination));
-}
-
-bool Warrior::canAttackUnit(Unit * target){
-	return canAttackToCell(target->getLocation());
-}

+ 9 - 0
assets/units/human/atraty-rider/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=4
+agility=2
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=5

+ 0 - 1
assets/units/human/atraty-rider/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/holy-spirit/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/holy-spirit/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-adept-of-subtetly/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=4
+intelligence=1
+initiative=8
+magic_def=5
+physic_def=3

+ 0 - 1
assets/units/human/human-adept-of-subtetly/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-aerotheurger/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=1
+intelligence=4
+initiative=8
+magic_def=6
+physic_def=3

+ 0 - 1
assets/units/human/human-aerotheurger/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-alchemist/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/human-alchemist/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 1 - 1
assets/units/human/human-alchemist/unitname.txt

@@ -1,2 +1,2 @@
-Человек-алхимик IV
+Человек-алхимик IV
 

+ 9 - 0
assets/units/human/human-archer/traits.ini

@@ -0,0 +1,9 @@
+lvl=1
+cost=125
+starting_ap=2
+strength=0
+agility=2
+intelligence=0
+initiative=3
+magic_def=1
+physic_def=1

+ 0 - 1
assets/units/human/human-archer/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-army-bowman/traits.ini

@@ -0,0 +1,9 @@
+lvl=2
+cost=275
+starting_ap=2
+strength=0
+agility=3
+intelligence=0
+initiative=5
+magic_def=2
+physic_def=2

+ 0 - 1
assets/units/human/human-army-bowman/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-arsonist/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/human-arsonist/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-assassin/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=4
+intelligence=1
+initiative=8
+magic_def=5
+physic_def=3

+ 0 - 1
assets/units/human/human-assassin/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-avenger/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=5
+agility=3
+intelligence=2
+initiative=10
+magic_def=3
+physic_def=8

+ 0 - 1
assets/units/human/human-avenger/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-battle-mage/traits.ini

@@ -0,0 +1,9 @@
+lvl=2
+cost=275
+starting_ap=2
+strength=0
+agility=0
+intelligence=3
+initiative=5
+magic_def=4
+physic_def=2

+ 0 - 1
assets/units/human/human-battle-mage/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-berserker/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=5
+agility=3
+intelligence=2
+initiative=10
+magic_def=3
+physic_def=8

+ 0 - 1
assets/units/human/human-berserker/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-big-game-hunter/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=4
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=3

+ 0 - 1
assets/units/human/human-big-game-hunter/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-brigand/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=4
+intelligence=1
+initiative=8
+magic_def=5
+physic_def=3

+ 0 - 1
assets/units/human/human-brigand/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-cataphract/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=4
+agility=2
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=5

+ 0 - 1
assets/units/human/human-cataphract/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-cavalryman/traits.ini

@@ -0,0 +1,9 @@
+lvl=2
+cost=275
+starting_ap=2
+strength=3
+agility=1
+intelligence=0
+initiative=5
+magic_def=2
+physic_def=3

+ 0 - 1
assets/units/human/human-cavalryman/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-chastener/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=4
+agility=2
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=6

+ 0 - 1
assets/units/human/human-chastener/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-cleric/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/human-cleric/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-clinicaria/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=4
+agility=2
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=5

+ 0 - 1
assets/units/human/human-clinicaria/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-condottier/traits.ini

@@ -0,0 +1,9 @@
+lvl=2
+cost=275
+starting_ap=2
+strength=3
+agility=1
+intelligence=0
+initiative=5
+magic_def=2
+physic_def=4

+ 0 - 1
assets/units/human/human-condottier/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-dancer-with-shadows/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=5
+intelligence=2
+initiative=10
+magic_def=6
+physic_def=4

+ 0 - 1
assets/units/human/human-dancer-with-shadows/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-defender/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=4
+agility=2
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=6

+ 0 - 1
assets/units/human/human-defender/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-demolisher/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=4
+agility=2
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=5

+ 0 - 1
assets/units/human/human-demolisher/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-deserter/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=4
+intelligence=1
+initiative=8
+magic_def=5
+physic_def=3

+ 0 - 1
assets/units/human/human-deserter/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-druid/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/human-druid/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-duelist/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=4
+agility=2
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=6

+ 0 - 1
assets/units/human/human-duelist/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-farstrider/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=5
+intelligence=2
+initiative=10
+magic_def=4
+physic_def=3

+ 0 - 1
assets/units/human/human-farstrider/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-fencer/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=5
+agility=3
+intelligence=2
+initiative=10
+magic_def=3
+physic_def=8

+ 0 - 1
assets/units/human/human-fencer/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-flayer/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=5
+intelligence=2
+initiative=10
+magic_def=6
+physic_def=4

+ 0 - 1
assets/units/human/human-flayer/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-floromante/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=1
+intelligence=4
+initiative=8
+magic_def=6
+physic_def=3

+ 0 - 1
assets/units/human/human-floromante/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-frost-mage/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/human-frost-mage/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-guardian/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=5
+agility=3
+intelligence=2
+initiative=10
+magic_def=3
+physic_def=8

+ 0 - 1
assets/units/human/human-guardian/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-healer/traits.ini

@@ -0,0 +1,9 @@
+lvl=2
+cost=275
+starting_ap=2
+strength=0
+agility=0
+intelligence=3
+initiative=5
+magic_def=4
+physic_def=2

+ 0 - 1
assets/units/human/human-healer/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-hoplite/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=5
+agility=3
+intelligence=2
+initiative=10
+magic_def=3
+physic_def=8

+ 0 - 1
assets/units/human/human-hoplite/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-hunter/traits.ini

@@ -0,0 +1,9 @@
+lvl=2
+cost=275
+starting_ap=2
+strength=0
+agility=3
+intelligence=0
+initiative=5
+magic_def=2
+physic_def=2

+ 0 - 1
assets/units/human/human-hunter/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-hydromante/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=1
+intelligence=4
+initiative=8
+magic_def=6
+physic_def=3

+ 0 - 1
assets/units/human/human-hydromante/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-illusionist/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/human-illusionist/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-lightning-mage/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/human-lightning-mage/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-liquidator/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=5
+intelligence=2
+initiative=10
+magic_def=6
+physic_def=4

+ 0 - 1
assets/units/human/human-liquidator/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-mage/traits.ini

@@ -0,0 +1,9 @@
+lvl=1
+cost=125
+starting_ap=2
+strength=0
+agility=0
+intelligence=2
+initiative=3
+magic_def=2
+physic_def=1

+ 0 - 1
assets/units/human/human-mage/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-magus-mage/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=2
+intelligence=5
+initiative=10
+magic_def=8
+physic_def=3

+ 0 - 1
assets/units/human/human-magus-mage/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-marauder/traits.ini

@@ -0,0 +1,9 @@
+lvl=4
+cost=575
+starting_ap=6
+strength=2
+agility=5
+intelligence=2
+initiative=10
+magic_def=6
+physic_def=4

+ 0 - 1
assets/units/human/human-marauder/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-marksman/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=4
+intelligence=1
+initiative=8
+magic_def=3
+physic_def=3

+ 0 - 1
assets/units/human/human-marksman/traits.txt

@@ -1 +0,0 @@
-This class is empty like ur soul!

+ 9 - 0
assets/units/human/human-master-of-subtetly/traits.ini

@@ -0,0 +1,9 @@
+lvl=3
+cost=425
+starting_ap=2
+strength=1
+agility=4
+intelligence=1
+initiative=8
+magic_def=5
+physic_def=3

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů