File information

Last updated

Original upload

Created by

Oltopeteeh

Uploaded by

Oltopeteeh

Virus scan

Some manually verified files

506 comments

  1. dragon554
    dragon554
    • premium
    • 0 kudos
    Any chance that the armors for the factions will be completed in the next update? Skelmar, Brotherhood, Legion, and Deserter faction armors are incomplete - as well as some missing weapons. Other than that, I love the mod, keep it up man!
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      It's possible) I'll add it to my future plans :)
  2. MattTheLord
    MattTheLord
    • member
    • 0 kudos
    Hi, I am trying to make it so I remove level requirements for gear. Afaik I want to add "requireLevel": 1 to the props line of every item. What is the best way I can go about doing this? Thank you!
    {
    "id": "Broomstick",
    "name": "Oui, Oui, très bien",
    "weight": 0.5,
    "baseBonus": [
    {
    "value": 1,
    "attribute": "Dexterity"
    }
    ],
    "props": {
    "requireLevel": 1,
    "model": "chars/Weapons/Broomhandle_01.fbx",
    "skill": "Sweep",
    "flags": 128,
    "disableLoot": true
    },
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      Yes, "requireLevel": 1, for all items is enoght.
      I use simple text replacement in notepad++, like:
      "props": {to
      "props": { "requireLevel": 1,
      And re-check item with requireLevel (remove double).
      Plus, you may change fixedLevel 1 or delete some baseBonus, like BaseArmorStart1 (vanila's 5 armor for 1-15 level, is looks like a flaw in balance).
  3. Zrevax
    Zrevax
    • member
    • 0 kudos
    Hi there ! I'm back with another question.
    So, i made some skills that can be learned through manuals. But, there's some passive skills that i don't want the mercenaries to cumulate. I know i could restrict that by making the skills being learned through levels, but i want to make it so that those skills can be learned or not, and cannot be cumulated.

    The idea is that if a mercenary learn "PassiveSkill1" with a manual, they cannot learn "PassiveSkill2" nor "PassiveSkill3", and the same will goes with any of these. I tried a few things, like "requires", or "unitCondition", on both the skills themselves and the manuals, but it didn't work. So, is there a way to make it work ? Or is it just not implemented in the game ?
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      Usually books do not prohibit learning other skills.
      You can introduce alternative options. For example, copy the prohibition from traits to the properties of items, so that books will prohibit learning in your mod.

      Example:

      "cantBeWith": [
      {
      "kind": "Sickly"
      }
      ],
      for traits.

      The path is difficult. It is easier not to learn the skills in your mod than to be so sophisticated.
  4. wranys
    wranys
    • member
    • 0 kudos
    Each time players level up, 1 Aptitude Points is given.How to double the Aptitude Points received for increasing the level of a player?What values should I change?
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      lvup : A.Points - is hardcode.

      Alt way:
      "name": "confessions",
      "id": "ConfessionLevelUp",
      add attributePoint

      This constant.
      Saved in vanilla after removing the mod.
      But does not affect characters that have already leveled up earlier.

      ...
      Or change stats of classes for mod-only.

      "id": "Swordman",
      "stats"
      {
      "value": 4,
      "attribute": "Strength",
      "upValue": 23
      },
      4-46 (analog of double of Strength for Swordman.
      ...etc.
  5. Rifthebit
    Rifthebit
    • member
    • 0 kudos
    Hi awesome mod by the way :D 
    also quick question, is it possible to add more skills from the "Class Specialization" skill ? 
    "Allows you to unlock a skill from a previous level." since it stat that only A skill, was wondering if its possible to add more than one skill selection :D ?
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      There are such mods. Sometimes we can take all the fighter's skills. But then it's not interesting to play at all. Even in vanilla we can defeat everyone in 1 turn, already from level 10, without mods.
    2. Rifthebit
      Rifthebit
      • member
      • 0 kudos
      Aight thanks for the reply :) yeah since u mention it I'll give up on the idea.

      last question if u would, what do I need to edit to make map resource pickup  amount to 1 and how do I change the respawn timer ? 

      Thank u again for your time :D 
    3. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      Pickup IronOre

      {
      "id": "IronOre",
      "content": [
      {
      "proba": 1,
      "item": "IronOre",
      "min": 1,
      "max": 4
      }
      ]
      },

      My mod: IronOre 1-4 to 2-4
      { "id": "IronOre", "content": [ { "proba": 1, "item": "IronOre", "min": 2, "max": 4 } ] },

      If you really want set 1-1 => min 1, max 1.

      ____

      Refill:

      {
      "id": "GatherRefillSlow",
      "value": 0.15
      },
      {
      "id": "GatherRefillNormal",
      "value": 0.3
      },
      {
      "id": "GatherRefillFast",
      "value": 1
      },
      {
      "id": "GatherRefillFactorExtreme",
      "value": 1.5,
      "info": "refill /= value (refill is the qty by day)"
      },
    4. Rifthebit
      Rifthebit
      • member
      • 0 kudos
      So how much value should I put on em if I were going for the resource spawn to be in a day or two days ? 
      would this setting effect the mining, wood cutting and fishing too ? 

      Again thank you so much for the informative help :D 
    5. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      mining, wood cutting and fishing have special points, like "id": "MiningRangeTorusMax", "value": 0.6 :)
      value ... for the resource spawn to be in a day or two days ?
      Ideally, it should do some testing. Vanilla is set up so that prices and respawn times match each other. But nothing prevents you from making the respawn at least instant, like in Lazy Overhaul ;)
    6. Rifthebit
      Rifthebit
      • member
      • 0 kudos
      Again thank you so much :D 
  6. TimeleX
    TimeleX
    • member
    • 0 kudos
    irulannaba Can you share your crafting mod files for books with skills "Lively" and "Giant" please?
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      It's not difficult to do it yourself)

      Example:
      https://drive.google.com/file/d/1mwRrbaPFsjRwlbBJ_DOvHJHpwV6EkILT/view?usp=sharing
    2. Rifthebit
      Rifthebit
      • member
      • 0 kudos
      If its ok to ask  :) 
      On which line do I add the these Kill books for traits ? 
      can I ask for an example ? and how the structure looks like ? 

      do I need to add the descriptions too ? 
    3. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
       data.cdb

        { "id": "AddTraitVividManual", "name": "", "weight": 0.3, "baseBonus": [], "props": { "special": 2, "skill": "AddTraitVivid", "flags": 64 }, "icon": { "file": "ui/Icons_Resources.png", "size": 96, "x": 0, "y": 10 }, "type": "SkillManual", "rarity": 2, "price": 105, "iconeDone": true, "done": 2 },

         { "item": "AddTraitVividManual", "tool": "Booksz", "recipe": [ { "qty": 75, "item": "Gold" }, { "qty": 25, "item": "Influence" } ], "props": {}, "jobLevel": 1, "learnCost": [] },

      "id": "Swordman" (and other)
      add
      { "skill": "AddTraitVivid", "minLevel": 15 },

        { "id": "AddTraitVivid", "name": "", "desc": "", "mode": 6, "range": {}, "props": { "learnTrait": "Vivid" }, "script": "", "notes": "", "icon": { "file": "ui/Icons/BattleIcons96PX.png", "size": 96, "x": 12, "y": 5 }, "iconeDone": true, "done": 2 },


      export_en.xml

            <AddTraitVividManual>
                  <name>Book: Vivid</name>
      <desc>Book: Vivid</desc>
              </AddTraitVividManual>

              <AddTraitVivid>
                  <name>Lively</name>
                  <desc>[Strength] and [Dexterity] +5% when a one-handed weapon is equipped.</desc>
              </AddTraitVivid>
    4. Rifthebit
      Rifthebit
      • member
      • 0 kudos
      Thank you so much this is helpful :D 
  7. SMYMER
    SMYMER
    • supporter
    • 0 kudos
    Hello, thanks for your help with looting materials around the world. I'm currently having a problem that I didn't have before, because I had already implemented something like this in previous versions of the game. When I edit attributes and either use the Human Resources function or just recruit them in the Tavern, all those with the "HardSkin" trait don't appear in the group when recruited, they simple disappear.
    I made these changes:

    "id": "HardSkin",
    "name": "Peau dure",
    "desc": "[ATTR]% de [Guard] de base.",
    "props": {
    "attributes": [
    {
    "kind": "Guard",
    "value": 3
    }

    To:

    "id": "HardSkin",
    "name": "Peau dure",
    "desc": "[ATTR]% de [Guard] de base.",
    "props": {
    "attributes": [
    {
    "kind": "Strength",
    "value": 10
    },
    {
    "kind": "Dexterity",
    "value": 10
    },
    {
    "kind": "Constitution",
    "value": 10
    },
    {
    "kind": "Willpower", 
    "value": 10
    },
    {
    "kind": "CritHitPercent",
    "value": 10
    },
    {
    "kind": "Movement", 
    "value": 10
    },
    {
    "kind": "Guard",
    "value": 50
    }

    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      In theory, you can find the error point if you add bonuses one by one. There are too many of them in the current version, which could lead to a failure of the recruitment script after the patch.
  8. Zrevax
    Zrevax
    • member
    • 0 kudos
    Greetings ! (Sorry for the bad english, it's not my main language)
    I'm not sure where i'm supposed to ask, so i'm doing it here. I apologize if i'm supposed to do it somewhere else.

    So, i tried creating a new group of enemies that could spawn on the map, but i haven't seen the group after two rest. Maybe i need to wait for six days, i considered that possibility, but when i wanted to check the parts related to spawn in the file data.cdb, i only found two who were explicit :
    {
    "id": "GhostPackSpawn_MinDays",
    "value": 7
    }
    and
    {
    "id": "Brigands_Spawn_MinDays",
    "value": 6
    }

    And nothing else for others, including animals. Did i miss something ? Or are the spawns configurations somewhere else than within data.cdb ?

    Thanks for the answers.
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      Data file contains info (data) for respawn.

      It may help you to know that in prefabs you can set both the group itself and the conditions for its respawn.

      For example:
      function onEndFight() {
      respawn(0.1);
      }
      in
      res.pak\content\regions\Alazar_Aneding\POI\Region.prefab (=Tiltren)
    2. Zrevax
      Zrevax
      • member
      • 0 kudos
      Thanks for the answer !
      But, in order to edit prefab files, do i need unity ? Or can i do it with a code editor like Visual Studio code ?
    3. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      Probably, Unity or VStudio can also help, I haven't checked) Because any hex-editor is enough there. But only for simple edits. If you want more (for example, add a new file linked to others), then you will need special software from the developer studio, which I was unable to install without bugs.
    4. Zrevax
      Zrevax
      • member
      • 0 kudos
      After a few search, unity considers prefab files from extraction as corrupted or from another version of Unity, and asset extractors doesn't work with prefab, or so it seems. Like you said, an hex editor seems to be the best option. But, can i just "add" code like that ? Is there special sections where specific code (like spawns) is supposed to be ?
    5. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
       If you want more (for example, add a new file linked to others), then you will need special software from the developer studio
      https://haxe.org/blog/shirogames-stack/
    6. Zrevax
      Zrevax
      • member
      • 0 kudos
      Hello.
      After some testing -and headaches-, i chose to not focus on new enemy spawns for now. The dev tools are indeed not exactly easy to install.
      So i tried other things, and i'm currenntly on a seemingly easy things to do, but not that easy after some tests.
      I created a skill that increase a unit stats each time the said unit kills an enemy. It worked, but reset after each fights. So, i tried to figure how to make the bonus persist. I tried asking chatGPT for some help, and the idea isn't bad : Using counters to stock the value and made it persist.
      The script look like this :
      "script": 
      "function onDeath(a) {
      if( a.unit == skill.unit ) {
      if(skill.unit.hasTrait(Trait.Freed)) {
      skill.unit.incCounter(Counter.StrengthBonus, 1);
      skill.unit.incCounter(Counter.DexterityBonus, 1);
      skill.unit.incCounter(Counter.ConstitutionBonus, 1);
      }
      }
      }  

      function onBeginRound() {
      tvars.strBonus = skill.unit.getCounter(Counter.StrengthBonus);
      vars.dexBonus = skill.unit.getCounter(Counter.DexterityBonus);
      vars.conBonus = skill.unit.getCounter(Counter.ConstitutionBonus);
      skill.unit.stats.strength += vars.strBonus;
      skill.unit.stats.dexterity += vars.dexBonus;
      skill.unit.stats.constitution += vars.conBonus;
      }",
      Problem : Wartales doesn't seem to recognize those counters, so it doesn't work. It seems like creating new function doesn't work either, since the function onLoad() isn't recognized by Wartales either. And if creating new counters is possible, i don't know how to do it properly.
      Another solution that came to my mind is to use a single counter, that should exist somewhere : the number of units that a character has killed. Yes, true genius.
      More seriously, considering the titles a character can gain (like "the wall", or "the Pigs Bane"), it seems there are such a counter somewhere. But i have no idea where, so i don't know to access it exactly. I have an idea on how to use it (as shown before), but finding the exact name of the counter is my current problem. Do you know the name ? Or have an idea on how to find it ? Or, maybe, a  better idea to make that skill work ?
    7. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      I conducted several tests and came up with a working version.

      function onBeginBattle()
      Not onBeginRound - otherwise the fighters will receive a bonus every(!) round.

      ... Condition (required trait, or something else)

      skill.unit.stats.strength += skill.unit.getCounter(Counter.NightsNearAnimal);
      skill.unit.stats.dexterity += skill.unit.getCounter(Counter.NightsNearAnimal);
      skill.unit.stats.constitution += 2 * skill.unit.getCounter(Counter.NightsNearAnimal);

      If kill:
      skill.unit.incCounter(Counter.NightsNearAnimal, 1);

      You can set any other condition instead of NightsNearAnimal. If there is no counter, add it :)

      P.S.: vars. - work, tvars. - not (like "tvars.strBonus = skill.unit.getCounter(Counter.StrengthBonus);" ). Be more careful ;)
    8. Zrevax
      Zrevax
      • member
      • 0 kudos
      Hey there !
      After several tests, i managed to find a working solution.
      I created a counter (EnemiesKilled) to make it work (and avoid problems with other counters), added a few vars to the skill, and here is the result :

      "vars" :
        "memorizedStrength": 0,
        "memorizedDexterity": 0,
        "memorizedConstitution": 0,
        "memorizedMaxHealth": 0,
        "counterActualValue": 0

      "script":
      function onDeath(a) {
        if( a.unit == skill.unit ) {
          if( skill.unit.hasTrait(Trait.Freed) ) {
            skill.unit.incCounter(Counter.EnemiesKilled, 1);
          }
        }

      function onBeginBattle() {
        vars.memorizedStrength = (skill.unit.stats.strength + skill.unit.getCounter(Counter.EnemiesKilled));
        vars.memorizedDexterity = (skill.unit.stats.dexterity + skill.unit.getCounter(Counter.EnemiesKilled));
        vars.memorizedConstitution = (skill.unit.stats.constitution + skill.unit.getCounter(Counter.EnemiesKilled));
        vars.memorizedMaxHealth = skill.unit.stats.maxHealth + (skill.unit.getCounter(Counter.EnemiesKilled)*2);
        skill.unit.stats.maxHealth = vars.memorizedMaxHealth;
        skill.unit.gainsHealth(ceil(skill.unit.stats.health));
        vars.counterActualValue = skill.unit.getCounter(Counter.EnemiesKilled);
      }
      function onBeginAction() {
        skill.unit.stats.strength = vars.memorizedStrength;
        skill.unit.stats.dexterity = vars.memorizedDexterity;
        skill.unit.stats.constitution = vars.memorizedConstitution;
        skill.unit.stats.maxHealth = vars.memorizedMaxHealth;
        vars.counterActualValue = skill.unit.getCounter(Counter.EnemiesKilled);
      }
      function onEndTurn() {
        skill.unit.stats.strength = vars.memorizedStrength;
        skill.unit.stats.dexterity = vars.memorizedDexterity;
        skill.unit.stats.constitution = vars.memorizedConstitution;
        skill.unit.stats.maxHealth = vars.memorizedMaxHealth;
        vars.counterActualValue = skill.unit.getCounter(Counter.EnemiesKilled);
      }

      True, it's quite the heavy script, but it's to ensure the stats won't be changed back to their original value after EVERY action (yes, that's what happened if the stats are only modified at the start of the fight). I also had to edit the max health since modifying constitution during the fight didn't actually changed health.

      And, yeah, it may be too powerful as it is, but it's fine for my playstyle, and it's a functionnal base for anyone who want something similar but tweaked differently.

      Thanks again for your help, Oltopeteeh !
                          
  9. Waral
    Waral
    • member
    • 0 kudos
    I have a questionwhat should be changed to make it possible to upgrade rare items and not just legendary ones
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      Props of item:
      add flag 128
      = any equipment upgradable (in Brotherhood). Legendary (rarity 3), Rare (r2), Uncommon (r1), Common (r0).

      P S : Some vanilla's rare have flag 128 as default and may up without mod.
  10. dragon554
    dragon554
    • premium
    • 0 kudos
    Hey Olto! Quick question - I've been looking through the the crafting options and it seems there still some armor/weapons/miscellaneous options missing. I wanted to know if you are still adding things in. Thank you for making this lovely creation, and keeping it updated! I downloaded it more recently, after replacing the Lazy Overhaul mod since it has ceased its updates ;--;

    Keep it up my friend!
    1. Oltopeteeh
      Oltopeteeh
      • supporter
      • 20 kudos
      Adding new recipes is not difficult, when there is a list of necessary items :)
    2. dragon554
      dragon554
      • premium
      • 0 kudos
      Items/Equipment I saw not available to craft:

      -Barber Kit (can't find a recipe to craft it)
      -Higher tier Medium+Heavy Inquisition armor set (Unusual+, not the helmets - the armor only is missing)
      -Brotherhood Armor Heavy (You cannot forge Brotherhood Battleplate - which is needed to upgrade into Peacebearer's Segmenta)
      -Skelmar Weapons (Numerous)

      This is what I found so far, I will continue to look around for anything else missin'