Author Topic: Warband Module System 1.166 (with tweaks and giggles)  (Read 28685 times)

0 Members and 1 Guest are viewing this topic.

Lav

  • Sergeant Knight at Arms
  • *
    • Skype - Eleyvie
    • Steam - eleyvie
    • View Profile
    • Lav's Warband Workshop
  • Faction: Vaegir
  • MP nick: Lav
  • M&BWB
Warband Module System 1.166 (with tweaks and giggles)
« on: January 30, 2015, 11:03:04 AM »
Warband Module System 1.166 (with tweaks and giggles)

Download the module system as zip archive (1.3 Mb file size) from:
Nexus Mods | Lav's Warband Workshop

This is essentially the vanilla Module System with a number of fixes and tweaks:
  • File header_operations.py has been completely replaced with properly documented version.
  • Issues with (party_set_marshal{l}) operation have been fixed, Module System will accept either syntax.
  • New 1.165 operations (try_for_prop_instances) and (try_for_players) are now correctly identified as "depth-increasing" operations (this affects compiler checks for unsafe can-fail operations and extra/missing (try_end)'s).
  • Temporary *.pyc files are no longer generated during compilation and won't clutter the folder in case of a failed compilation attempt.
  • Info page references "ip_*" are now correctly recognized by module system compiler and will not throw an "Unrecognized tag" error.
  • Added a small tweak to module_info.py which will provide a trailing slash to export_dir constant if it doesn't have one. Also provided several likely options for export_dir setting (commented out).
  • It is now possible to add items with modifiers to troop inventories directly in module_troops.py. For example, [(itm_item1, imod_rusty), itm_item2] will add rusty "itm_item1" and regular "itm_item2" to a troop. Code used is a slightly modified version of The_dragon's code from a long-forgotten thread in the Forge.
  • Modifications to header_common.py enable numeric, string and position registers up to reg127, s127 and pos127 respectively. Note that numeric and string registers with indexes of 100 and higher cannot be used in string substitutions (i.e. a string like "You have {reg120} gold." will throw errors during run-time).
  • Modifications to header_item_modifiers.py to add information about hardcoded game effects of item modifiers and make imodbit_* constants more readable.
  • Various modifications to header_items.py:
    • Item weight limit was increased from 63.75 kg to 655.35 kg with precision of up to 0.01 kg. Note that the game engine will round displayed weight to nearest 0.1 kg anyway.
    • Item other parameters will no longer overflow into hit points field, resulting in items with ridiculously high HP value (which is usually meaningless and harmless though).
    • Item max_ammo value can now go up to 65535 (compared to vanilla 255).
    • Two new flags for armor items: itp_replaces_helm and itp_replaces_shoes.
  • Modifications to header_skills.py get rid of uncomprehensibly big numbers, extend knows_*_# constants to include skill levels up to 15 and make it easier to change skill constants for mods with a non-standard skills set.
  • Modifications to header_troops.py provide attribute constants for attributes in [3..64) range (upper value not included).
  • Modifications to header_triggers.py to include detailed comments on triggers parameters and their effects (a lot of credit goes to K700, Slawomir of Aaarrghh and _Sebastian_ for providing a lot of useful information).

Lord of Shadows

  • Sergeant Knight
  • *
  • You cannot fight the shadow.
    • View Profile
  • Faction: Neutral
  • MP nick: Shadow
  • M&BWBWF&SNWVC
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #1 on: January 30, 2015, 01:13:44 PM »
Wow! This looks great! :) I have a few questions:

  • Temporary *.pyc files are no longer generated during compilation and won't clutter the folder in case of a failed compilation attempt.
Which file did you change here?

  • Modifications to header_skills.py get rid of uncomprehensibly big numbers, extend knows_*_# constants to include skill levels up to 15 and make it easier to change skill constants for mods with a non-standard skills set.
Do all skills now go to 15? Even the hardcoded ones?

Lav

  • Sergeant Knight at Arms
  • *
    • Skype - Eleyvie
    • Steam - eleyvie
    • View Profile
    • Lav's Warband Workshop
  • Faction: Vaegir
  • MP nick: Lav
  • M&BWB
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #2 on: January 30, 2015, 01:26:51 PM »
Wow! This looks great! :) I have a few questions:
  • Temporary *.pyc files are no longer generated during compilation and won't clutter the folder in case of a failed compilation attempt.
Which file did you change here?
All process_*.py files. You can check the first two lines of any of them.

  • Modifications to header_skills.py get rid of uncomprehensibly big numbers, extend knows_*_# constants to include skill levels up to 15 and make it easier to change skill constants for mods with a non-standard skills set.
Do all skills now go to 15? Even the hardcoded ones?
All skills still go to 10 as defined in module_skills.py. However, if you increase limit for any skill, the constants for higher skill levels will already be in header_skills.py. That's all. :-)

Lord of Shadows

  • Sergeant Knight
  • *
  • You cannot fight the shadow.
    • View Profile
  • Faction: Neutral
  • MP nick: Shadow
  • M&BWBWF&SNWVC
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #3 on: January 30, 2015, 01:39:34 PM »
Okay. Thanks. :)

epicboy12332

  • Veteran
  • *
    • View Profile
  • Faction: Bandit
  • WB
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #4 on: January 30, 2015, 01:50:39 PM »
This is awesome... I can actually understand the documentation.

WookieWarlord

  • Master Knight
  • *
    • View Profile
  • Faction: Nord
  • MP nick: WookieWarlord
  • WBNW
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #5 on: January 30, 2015, 01:56:53 PM »
Very nice. Just ported my project to this, as well as updating my client to 1.66 finally.

Lav

  • Sergeant Knight at Arms
  • *
    • Skype - Eleyvie
    • Steam - eleyvie
    • View Profile
    • Lav's Warband Workshop
  • Faction: Vaegir
  • MP nick: Lav
  • M&BWB
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #6 on: January 30, 2015, 02:39:46 PM »
Just to notify everyone, I'm currently working to update this module system with a few things that slipped my mind when I was originally preparing it.

1. Information on hardcoded game effects of item modifiers will be added to header_item_modifiers.py.
2. Information on trigger parameters will be added to header_triggers.py (many triggers are actually missing this information in vanilla file).

If you can remember anything I've missed, please let me know ASAP. :-)

JamesThompson

  • Guest
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #7 on: January 30, 2015, 03:18:26 PM »
Thanks for sharing this.  :mrgreen:

Lav

  • Sergeant Knight at Arms
  • *
    • Skype - Eleyvie
    • Steam - eleyvie
    • View Profile
    • Lav's Warband Workshop
  • Faction: Vaegir
  • MP nick: Lav
  • M&BWB
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #8 on: January 30, 2015, 04:02:26 PM »
Module system updated.

Files header_item_modifiers.py and header_triggers.py have been modified to include more detailed information about item modifiers and game triggers.

DerGreif

  • Sergeant Knight at Arms
  • *
    • View Profile
  • Faction: Neutral
  • WBVC
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #9 on: January 30, 2015, 07:18:56 PM »
Awesome! Thank you for all your time and hard work for the modding community!
   

Ikaguia

  • Grandmaster Knight
  • *
  • Defender of the Potato cult.
    • Skype - Ikaguia
    • Steam - Ikaguia
    • Twitch.tv - Ikaguia
    • View Profile
  • Faction: Sarranid
  • MP nick: Ikaguia
  • WBWF&SNW
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #10 on: January 31, 2015, 03:16:43 AM »
another great work from you lav! thanks for sharing

Sorry for my poor English, I'm Brazilian.

Damian97

  • Squire
  • *
    • View Profile
  • Faction: Nord
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #11 on: January 31, 2015, 07:09:13 PM »
Thanks for this, it's really useful.

Lionheart2

  • Veteran
  • *
  • Would rather be a pikeman than a knight
    • Skype - BBSpecs2
    • View Profile
  • Faction: Rhodok
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #12 on: February 02, 2015, 04:08:52 PM »
will ms files from 1.158 work with this?

Lav

  • Sergeant Knight at Arms
  • *
    • Skype - Eleyvie
    • Steam - eleyvie
    • View Profile
    • Lav's Warband Workshop
  • Faction: Vaegir
  • MP nick: Lav
  • M&BWB
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #13 on: February 02, 2015, 04:34:45 PM »
Use module files from 1.158 and header/process files from 1.165 and everything should work fine.

Lav

  • Sergeant Knight at Arms
  • *
    • Skype - Eleyvie
    • Steam - eleyvie
    • View Profile
    • Lav's Warband Workshop
  • Faction: Vaegir
  • MP nick: Lav
  • M&BWB
Re: Warband Module System 1.165 (with tweaks and giggles)
« Reply #14 on: February 05, 2015, 03:05:10 PM »
Updated the files a bit.

Tweak to guarantee trailing slash in export_dir setting has been moved to process files so that module_info.py now looks normal without any code additions.

All inconsistencies in the code have been fixed (missing (try_end)'s, using undefined variables, unused local variables, misnamed strings).

A number of duplicate items and strings have been renamed by adding "_DUPLICATE" to their name (both items and strings still remain in module files so savegame compatibility isn't broken).

Subjecting updated module system to W.R.E.C.K. reported a 100% clean compile.