Phantasy 2018 Dev log: part II

Users who are viewing this thread

Status
Not open for further replies.

gsanders

Grandmaster Knight
Tired of reading through 1000+ posts just to figure out what's changed in the last week?
This is the place.

  Here's the deal:  I need to record all this stuff so I can figure out what I actually changed.  If I don't write it as I'm making the change, I'll forget.
I'm not writing here to say I'm great, to tell you every last detail of whatever line got changed, but sometimes I'm going to forget a line I touched at one computer and when I pull the work from cloud I need to know where that was.  So I write to myself here.  I also put up patch notes here.  I'll try to not put up any personal stuff, baby photos, or the cat's latest doings, out of consideration for your time.  If that's too much, just don't read it.  I need to keep it focused so I'll lock the thread.  That's the OTHER way to not have to wade through 1000 posts to get only the stuff worth your time.

  I'm sick, I'm tired, I'm old.  But that's not what matters.  Only the CODE matters.  So expect a lot of code stuff here.

  - GS

 
--
  I'll look at a B5 for v155 series, but the question about tournaments may keep it from being ready for a few days.
  I usually do v156 first because I can never get my custom troops in v155 to save and restore on a different computer, and I go from station to station so v155 isnt satisfying to me.  Eventually I'll marry the two in a way that stays stable but that would be yet another series and fresh start required, so I may as well hold  off on that until I am willing to make other changes, like adding new buildings (monastery/chapel/cathedral depending on is it at a village/castle/town) which grants global changes to magic defense/blessing at sieges/village raids.

  Next week I plan:
  brief adding recipes for Orcs: warg -> armored warg, except there are 3 kinds of wargs and they all look identical, so I might need to alias 3 different ingredients or make 3 copies of the recipe so that the player can find which warg in their inventory matches a recipe.  It would have been better to strip away unnecessary wargs so that if a player buys a "warg" and it has one set of stats they know right away it fits one recipe.  But to change that now breaks save game.  There are some other orc recipes that would be useful.  Mostly I reckon Drow can get by with what exists, but Orcs have nothing in crafting right now.

  I'd like to at least open Vynn up once and run it but so far have not had success.  It may be a dead end but I wanted to at least look over the dragon model, if nothing else.

  There's an angry post (wow!) at Nexusmods about TPE tournaments, and maybe there's something about the new tournaments that needs an adjust.  Tournaments really aren't my "thing".  If it was left to me they wouldn't even be here but players seem to find them a mandatory part of the game.  I was hoping the so-called intelligent AI for feinting and rolling in Vyrnn (however its spelled) could be adapted to tournaments and if the animations aren't the proprietary Viking Conquest animations then the rolling one for dodging.  But I really need to see it; it could be much hype and a dead end.

  As for flying, I already had that but its turned off.  I'm not sure the other author has anything better than what I already have, which is adapted from Evlat.  In any case, flying is a trick involving transparent surfaces to stand on.  In combat, the problem would be attacks coming from underneath either are absorbed by the object the target is standing on (and what happens to that transparent prop when hit?) or spells need to be taught how to penetrate past the object to do damage (fireball or lightning are fine, but what happens to for example flame arrow?).  What happens to arrows?  I can solve the "make an illusion of flight".  I can solve "how do I turn and accelerate/dive/climb and look realistic".  But this last is probably the most subtle and difficult.  Attacks coming from above (such as against an underwater swimmer) are fine, although arrows underwater need some re-thinking.  Swimming is like flying, it needs something to lift an agent off the ocean bottom and is technically identical to flying.  If you can fly, you could swim, in terms of the code.

  Anyway, these are things I should wrestle with "Soon".
----
Sunday morning 13 May:
  This morning was focused on v155.  It looks to me that if you are in v155 series and you ask the constable to train troops you lose the custom troops you made.  If you don't ask the constable to train troops, your custom troops definition stays intact.  This is a fairly important asterisk to keep in mind.
Test char  https://drive.google.com/file/d/1tPPWDlNku5JhGdKyMEajTsAfez-PM13f/view?usp=sharing    Warband v1.173 
  Drow char lost kingdom and going learning to live off the land

  I had felt v155 was not viable, but if I can isolate the loss of custom trees to one place I can see if this can help me resolve v155 custom trees loss.
EVENTUALLY I'll need to make a new series with stable custom trees that are not tied to having a kingdom or not, but I was kind of hoping to not have to start a new series until next month, at the earliest.  If I have to break savegames I want to have more features, and my scheme needed a new neutral faction, plus I wanted to add more building types somewhat fishing from source of hmm now I forget the name... "Sword of Damocles", which Computica sent me the source AND authorization to use as I wish in whatever mod I am working with in the future,  2 1/2 years ago. 
----
  I realize a solution allowing me to use any of the 3 orc wargs to craft with, although it ends up making a few tricks.  I've decided I'll make it work, validate it really works, then post it elsewhere as a OSP fragment since it's sort of using Rigale in a way that just wasn't obvious at first.  It would be better to craft than kill anyway, and I'm not really afraid of other mods doing something besides mayhem.  I expect crafting appeals to very few people, but anything that expands RPG in general seems useful to me, so long as it is not mandatory.  The current crafting is quite a bit more subtle than original Rigale, and the code complex enough to deserve to be in another forum.  I'll put a link in this when done, and players can see or skip as they wish.  If nothing else, it shows the boring life of scripting in Warband, which is considerably less complex than "real" coding, but like anything worth doing well can be clumsy or art depending how it is done.

  Right now crafting is a little of each.
----
patch v155 B5  is still adding features.
  I spent the day building more of a library of save games to watch different parts of diplomacy and validate crafting changes in v155.
  Besides what's in v156 B5  I wanted to look at how troop trees were saving and refreshing and made some changes so that troop trees were not corrupted as easily, my main complaint with v155 custom trees.
 
Patch v155 B5:  hot patch

1)  All the changes from v156 B5,
    (see  https://forums.taleworlds.com/index.php/topic,332197.msg8964511.html#msg8967514)

plus

2)  fix for storing custom troop trees to unpack correctly from a savegame, so can transport a save to another computer.

3)  added crafting  warg -> armored Warg,
  except there are 3 different wargs, all looking the same stats, icon, and description but normally there needs to be 3 different recipes.
  Introduced the concept of a virtual ingredient and made the code needed OSP @:
  https://forums.taleworlds.com/index.php/topic,332197.msg8970625.html#msg8970630

  Test char (v155 Warband 1.173) at  https://drive.google.com/file/d/1qh6ckSnMZtL6JVBR-QZCRJY7KHziKeqY/view?usp=sharing

Status:  approved at NexusMods
  https://www.nexusmods.com/mbwarband/mods/6194?tab=files
 
started a v155 B6 which will eventually also be a v156 B6.

  So far it is looking at "quality of life" changes:
1) The player may enter towns and castles that the player personally owns, regardless of prejudice reaction at the gate.  It is not good enough to
just be in the same faction, or even to be king but the town is not personally yours.  You need to be the actual owner to get prejudice waived.
status:  Tested working.

2) the list_sort introduced in B5 was actually broken, although the one place it was used (crafting wargs into armored wargs) always worked. it just did not always pull the warg it was supposed to, but the recipe always found a matching warg.  Now the sort actually works as intended, and might be useful for some future purpose.

Thursday:
3) mnu_center_repopulate_chosen had a script error for "script_update_volunteer_troops_in_village"  during the "migrate center" town menu option on page 2 of town menus (manage town).  Migration worked but it always gave an error here, that error is fixed for B6.

4) I just realized the mission_templates changes moving barbarian rage and collapsing 6 spells and several magic weapons into a single procedure that was part of B5 in v156 was NOT moved over toB5 in v155, so that can be done now.  This in following up on a report about barbarian rage not working as expected in B5/v156.

  After looking at it, the variable name holding the output damage in the original barbarian rage script happens to be the same as the incoming damage from whatever hit the person, which is used exactly 910 lines earlier.  Somehow I managed to not see this when merging the different scripts.  Its fixed for B6, which should be released tomorrow.

5) Another user pointed out there is an error at the romantic chemistry script  "troop_get_romantic_chemistry_with_troop",
where a check to make sure the reaction was always AT LEAST -10 was instead forcing the reaction to be AT MOST -10, which wasn't as planned but the two calls  val_min    and    val_max    look similar if you / me were sleepy enough. Fixed for tomorrow's patch.
This gets called when you tell a kingdom lady "You're her most ardent admirer" or also when you ask a lord of the opposite sex to marry you.
  While I was there I linked an earlier script I'd made that weights the reaction by your status/renown/properties to the kingdom lady's personality, which matters much less if she is romantic and much more if she is ambitious, in order to give players a fighting chance at impressing a lord of the opposite sex.  I would have allowed same sex but actually the dialog is structured so that if a man asks a man to join the family the lord being asked checks if he has a daughter or sister he can marry off; if a man asks a female lord its a direct marriage proposal. There exists already a cheat to force a marriage, which I'm not sure works male to male or female to female, but may well.  If a female player asks a male lord its implicitly a direct request for marriage.  I need to add more dialog choices to support female to female requests and male to male requests, but adding lines casually without being very careful can result in hangs that require closing the mod and starting again, so I stick to native when I can, for now.  I've been asked a few dozen times already why _I_ am not making gays easier, and the actual answer isn't because of historic or even religious reasons (I'm against "religion" interfering with true love, but that isn't the same thing as modern sex - and what is gender anyway on the internet?).  It's actually just for fear of hanging the mod by clumsy edits.  I'm somewhat better than my detractors claim and somewhat worse skilled than my supporters believe... so the only real "conservative" issue isn't desire but safety.  But the opposite sex chemistry as native has it is safe to work with, and at least now is aware of "personalities", be they female kingdom ladies or (promoted) female companions, male lords, female lords, or (promoted) male companions.

6) the "shady dealer" merchant at 4-ways inn, selling rare and used magic merchandise, has a sale now:
Code:
3) Gwilith               5000 -> 3500
4) Assassins sword       5000 -> 3500
5) Enchanted Drow Sword and parry sword set    7000 -> 5000
7) Dwarven Thrower      26000 -> 13000
        lengthened from 53 -> 57

8) the Butcher           5000 ->  3000
15) Elven Royal Plate   50000 -> 30000
18) Healer's Ring       40000 -> 32000
20) Sun Blade           20000 -> 10000
21) Vorpal Sword        20000 -> 14500
22) Mace Disruption     40000 -> 35000
23) Maul Titans         30000 -> 25000
24) Dagger Throwing     14500 ->  8500
26) Quiver Plenty       26999 -> 12999
35) Bolt case Plenty    26999 -> 10999
         corrected item price from 64 -> 6400
36) Javelin Bag Plenty  26999 ->  7999

7) Intense price competition from the 4 mage guilds has forced all the regional airlines to lower prices for teleport services.  4-ways inn and the 4 mage guilds now will transport you and your party to any other town for 7 dinars per person/creature in your party.  WizAir just got competitive!!

8 )  Orc town walkers now have clothes.  It wasn't modesty, merely the change of weather in the hills...

Status:  approved at NexusMods
  https://www.nexusmods.com/mbwarband/mods/6194?tab=files
 
opened hot patch v156 B7

1) fixed not able to access change player kingdom name on second page actions menu at camp menu

2) added option to sort garrison -- you can move troops around, up, down, top, bottom, to get that perfect order of battle.
  Heck, you can even move your allies garrison troops around (but not steal them) if you're king/queen.


3) Ability to park soldiers at 4-ways inn, in neutral territory.
  These will be accessed via similar structure as at town_menu; you can "manage your troops" at the inn, taking or adding to those parked there.
Also there won't be a discount for troops parked there, as they have to pay rent to the inn keeper.
They otherwise cannot participate in battles etc until you pick them up; but at least they are out of harm's way until you need them.

  Notice the re-arranged sequence - previously the SECOND choice got you inside, now its the first choice to enter the inn...
    edited the description of second menu item to "walk around outside the four ways inn", after taking this screen, for clarity.
    the last menu item "move troops within the inn" only shows when you have troops already parked at the inn.  You are sorting the troops.
sqGGA.jpg
AoLUT.jpg
E_qtq.jpg

4) teleports from mage guild add the 4-ways inn as a destination
5) script "diplomacy_start_peace_between_kingdoms" now sets relation to 5 instead of 0, so that peace lasts a little longer where the faction doesn't really like you that much anyway.  It will decay with time but at least now you have a few weeks of quiet to rebuild.

6)a) added support for resurrection of a few killed troops from tiers 4-7 under certain conditions, after the battle, using some tricks I came up with.  Right now all the storage is done, updates during battle, and reports on the growth of a list of friendly dead, which is not auto-erased at end of battle so can still fish dead from it.  It's possible someday in the future instead of auto-resurrect companions and player after battle, this list needs to be checked, although I would then need to adjust it to always include companion and player and have some scheme in town for a monastery / church / cathedral to supply resurrection services for a price.  This would make players be more careful not to die by some testosterone fueled stupidity while allowing Phantasy 2018 to be a little bit easier to believe, rather than Warband's "yer army is immortal" default companions and player handling.  It also gives incentive to build more churches / hospitals, in order to lower the cost of a friendly resurrection.

  The following skin types are not eligible for resurrection: {undead, skeleton, zombie, shadow, golem, demon}
      this does allow dark mages and non-lich NPC necromancers to be resurrected...  But it also exempts from resurrection Ogres.
      resurrected troops will be in "wounded" condition when added back into your party.  For now resurrection of enemies is not yet performed;
      it may require blocking the sale of enemies altogether (which ought to be a requirement of good alignment anyway).  Resurrection is not guaranteed; it is simply a second chance by dice roll for qualifying clerics to resurrect.  It might need construction of a church facility in later versions.  For now, it is a concept I simply want to add support and give a small chance to roll as a small bonus to keeping clerics / paladins in the party.

  You need to actually WIN the battle to have a chance to resurrect, as it takes place only after the battle ends normally.  Running away (via early tab or leaving the scene early) in a state of panic implies there is not time to try to raise dead...

added some debug info at m_t "custom_battle_check_victory_condition" and  "script_list_agent_filter_gc2"

  b) lengthened the cycle time for reinforcement checks for attacker and defender, with less information spam during spell trace.
  Stretched reinforcement cycles to reduce how often battles stutter during reinforcements, 8 s -> 13 defender and 9 s -> 15 attacker with secondary siege supplemental reinforcement checks moving from 11 seconds defender -> 17 and 13 s attacker -> 19.
Prime numbers help reduce the timers from popping during other, more frequent cycles, to keep processing spread out over time.
    This reminds me - I should make a list of all timers used in battle to make sure no two heavy loops overlap at the same time, as those will be stutter events as CPU bandwidth becomes limited in large battles.  Mostly these have been spread out to seldom overlap but there are only so many prime numbers and it is possible some events will overlap as the battle progresses.
  This should especially help very large battles.

---
Thursday's schedule:  Closed for Holiday

Friday's schedule:
7)a) Although at last the sequence for gathering the dead and filtering them according to criteria in preparation for resurrection is at last working as I want it to, I never did do the last step of going through with resurrection.
    DONE: results shown only if success and only in notes: recent messages after the battle.
ejGvU.jpg

  b) Noticed most missions did not clear the previous fight's lists as expected, and realized sometime in the past the binding to load the initialization before battles was stripped from most missions except sieges.  It needs adding back into village raids, night bandits, TPE tournaments, and other missing places. I've put it back at lead_charge, where most non-siege battles happen anyway, but each mission needs to have it re-added.  There were many missing some tab handling and other after battle cleanups as well.  These may have been impacting the so far elusive crash to desktop that sometimes (but rarely) happens after battles, where unlimited rewards spill out and despite many attempts at putting a limiter in it gets stuck in an infinite loop.  There may be some relief when all the missions are handled identically.

  A little bit more checking this morning showed a real iceberg of a problem lurking in the mod:
  I DO need to update all the patches and full downloads, including v150 P7, as ALL of the current builds aren't resetting lists, so only the first battle of the session + any sieges are starting with empty lists.  Open battles start with unnecessary overhead, as lists stop getting reset; which mainly risks agents that are not clerics/paladins or magic users being checked to see if they should cast spells, which they will always fail because they don't meet requirements.  It is possible some drow for example DO have magic power and start casting low grade magic, if they wake up with the same agent number as one of the caster agents in the previous battle, and now this battle thinks this agent # is still a caster, without looking, because each new agent that belongs on a list is just adding to whatever was already (last) left in the list.  And while having spells sounds great, it might also drop any shield, ranged weapon and ammunition, plus if the gear worn is heavy the spells will be so weak as to do no damage.

  In fact, the ONLY reason the game has not come tumbling to a crash is around 10-15 seconds into battle, exactly around the time of the first reinforcement, the lists for mage, cleric/paladin, and the lists used for sorting are self cleaned; plus list 03 for special magic and list_11 for necromancers and liches are self cleaning -- so the only thing left in each list is debris from the last 10-20 seconds of the PREVIOUS battle.  I checked and this has been the case going back all the way to Christmas, but the lists were healing themselves a few seconds into the battle, and would have mostly caused needless lag during the first reinforcement wave and a drag on each fight for the entire fight of any agents that were assigned, not dead, and something with that number was still on the battle field (and it could have been a horse etc this time around, and not at all the caster I wanted to wake up every few seconds and check for spell casting/mana regeneration/etc).

It is also possible that for example a caster, lets call it agent #86, happened to be in list_9 (magic users) at the end of the previous battle.
This battle, some other caster wakes up, and once in awhile is ALSO agent # 86 (the game recycles agent numbers every time a new battle starts or there are reinforcements and old agents that are now dead rag dolls are removed).  Now we have two list entries, both agent 86, and that agent now is checked twice for casting, twice for regeneration, two different times for what spell to use.  Oh don't worry, since the agent was not dead this battle, the NEXT battle there are STILL two agent 86's, and now its possible yet another agent happens to qualify as a caster and now a THIRD agent 86 is added (since there is no slow check to see what else the list had).  OK, so now there are THREE chances to pop off a spell, draining mana, and THREE regeneration checks for mana, and...  it is a problem.  It may sound fun, but it makes things inconsistent and unpredictable.

8 )a) Death cam is cleaned up slightly by stripping some duplicate code from PBOD second copy of Mad Vader's deathcam, so that two different sections of code were no longer playing tug of war over which should interpret the key strokes.  One was working as intended and the other was throwing away the keystrokes, leading to completely random behavior and sluggish response when in Deathcam mode.  Charge after knockout seems to be working in PBOD, not sure when that slipped in.

8 )b) slightly shorter check for victory (21 seconds timer not 30 seconds) to shave 9 seconds from many battles after winning.  It's not strictly so that every battle is 9 seconds sooner, but the worst case latency is 9 seconds less.

8 )c) Village Raid mission has more reinforcement opportunities for defender (up to 8 ) and attacker (up to 5) with slightly fewer defenders added each wave, mainly to allow large battles between a lord that arrived with a big army to defend a village where another lord has arrived with a large force and is actively already looting the village.  Before the defender would arrive with villagers blocking the defending forces and not enough reinforcements could come to overtake the attackers, who almost certainly arrived with troops superior to tier 1 villagers for the first 45 or so troops at defense.  Once those fall I expect to replace the villagers with waves of defenders from the actual rescuing army, which required a small tweak in the native reinforcements. It does NOT use the elaborate reinforcements seen at sieges or open field battles "lead_charge").

9) not much time for other fixes, a pity as there are some cleric fixes that need doing urgently.
    I'm a little afraid to make many changes in the final few minutes.

  a) Did fix damage for cleric spell "fire storm".
      A check for fire resistance mistakenly multiplied when it should have added, making overly ambitious damage numbers.
      reduced damage somewhat while I was there.
      Also reduced radius of effect to 7 meters instead of 9.

  b) Cleric positive energy burst and  negative energy burst had damage increased.
  c) Cleric Harm also had a flawed damage, changed.
        Adjusted so as to perform damage that would show in your message log, before it would do damage silently with no feedback given.
  d) item "Paladin Helm", used by Blazing Hand Vanquishers, has mesh from armet_01 while I think about what went wrong with it earlier

Status:  approved at NexusMods    Patch_v156b7
    approved at NexusMods and validated by re-downloading to fresh directory and playing the gameFull install v156 B7
    https://www.nexusmods.com/mbwarband/mods/6194?tab=files
    You must log in at NexusMods; anonymous downloads are disabled there now.
    You do NOT need to be a "premium" user; it is free and still close to 1 Mbyte/sec download, at least here in Europe.

    uploaded to NexusMods:  patch_v155b7

v150 P8:
    approved at NexusMods      patch_v150p8  6.9 MB
    approved at NexusMods       full install  v150p8  706.5 MB
    ModDB will be Monday

  the above changes except resurrection.  v150 series did not have as many unused lists as v155 and v156, so there is no way to squeeze in the resurrection process created for v156 / v155.
--
  Also the Rigale crafting upgrade of horses to armored horses in v156 is limited to wargs using leatherworking skill, as the other v156 crafted horses were using unique items added for v156 and v155 series.  The warg upgrades at least work for v150 P8.
  Finally, lowered the weight of tournament tunics  in order to give players less encumbrance (their NPC opponents are likely stronger and thus less encumbered compared to a freshly created player character).
 
started a new build, so far for v156 (and also v150):

1)  some cleanup of entering town, which should reduce the number of repeat clicks needed to enter castles.
  Towns still need more work.

2) re-organized barbarian rage so that normal weapons hits can enrage them.  Briefly only magic hits were causing rage for B7 in v155 and b5-b7 in v156.
    adjusted the second trigger handling hits from magic weapons, wizard staves, and spell intermediates to not pass through normal weapons damage which should have been dodged; now normal weapons no longer hit twice for identical damage, but behave as originally intended. 

3) slight increase in cost of gnome crafted multi-pulley bow, as it might be item cheat purchased instead of made by Berembert.

4)  Entering towns no longer needs 3 tries.  Between the issue corrected as item 1 and what was found for this item 4, I can account for the 3 tries needed.  For this second problem one of the mechanisms to stop town menu from looping and locking people inside town needed removing, and I'll have to see if more people get stuck in town or not now...

Tested item #4 for most of Tue afternoon, it looks like my fixes are working, no triple clicks needed, and still have prejudice etc working.  I think I can move on to something else for tomorrow.

5) Did find why special swords (vorpal, flame brand, holy avenger, Vampiric blade, frost brand) did not fire their scripts when intended.
    validated special swords and direct fire spells working correctly.

6) Corrected tournament dodge in 3 places:
  a) script_get_dodge_chance2 at module trees2_scripts  incorrectly referenced balrog_sword as a boundary for melee weapons but that moved,
    so the new boundary should have been set as "itm_riverboat_paddle".  But also, this script needed to be more aware of arena weapons for TPE

  b) next, in mission_triggers  tournament_triggers  needed 2 fixes:
        dodge itself was not aware of arena weapons, so these could do no damage, whether or not dodge worked, as the trigger needs to pass through damage on a failed dodge but never reaches that point for arena weapons
        dodge recovery normally has a 2 second trigger going off as part of the special mount attacks 2 second check, but this never gets called during arena missions so once dodge is used it would have been stuck at 5 seconds to go before dodge is fully use able, making dodge a 1 time only.  Added a 2 second timer to count down dodge timer for all arena agents now.
use during each arena round (as each round starts a fresh tournament mission)

  c) the reason the standard dodge is not used is to bypass ironflesh, stealth, and barbarian rage.  Instead, tournament dodge is an unnamed trigger within the set of triggers called only for tournaments now.  It does have a handler for unarmed combat.  Although v150 does not have TPE, it turns out this layer overlaps native tournaments and can be ported to all 3 series: v156, v155, and v150.  Right now this prototyping only on a v158 build, as proofs of concept.

  d) TPE (v156) tournaments did not have the correct deathcam keybinds activated so this was done as well to allow you to move the camera when you are knocked out.  The camera does not move around the stadium but it can turn your head to look left and right, which before did not occur.

  e)rebuilt initialization for tournaments to make sure all the agent fields are correctly filled out; dodge was not being linked in.  Actually all of the standard tournament re-coding was being skipped, so linked the correct triggers to the two TPE missions defined.  The order in which triggers are linked makes a difference; after some changes tournaments now work as they should have several patches ago.

7) back-ported the above changes to v150, which has a different tournament than the v155/156 series so needed some adjustments.
    cleaned up error messages in v150 tournaments coming from 3 missing parameters for "script_set_items_for_tournament" at game_menus
      issued just before entering tournaments.
    adjusted item pricing for v150 to be in line with v156 pricing, both to limit exploits via Rigale crafting and to have 4-ways inn prices reflecting market price.

---- <-- end of v150 P9 changes

8 )  actually most secondary classes were incorrectly handled by the M key (during battles/town center) for v156/155
      and currently this menu is unreliable.  Specifically the classes don't always show, although I'm starting to see why this is
(there was an inconsistency in assigning primary and secondary classes by a foolproof method, but I CAN test if a class is active-- this makes the logic deciding where to put the text label for the class more difficult in case it overwrites another label at the same location).  The result is the
M key doesn't present a very clean view of what character classes you have, but it does give magic and cleric access IF you are eligible for them
(and it is now aware of feeblemind status).

  If you want to see character classes, try camp: actions: action menu 2: Review your special skills and abilities:
    (new page) page 3

Status: approved at both NexusMods and Moddb: v156 B8 FULL
  approved at NexusMods: v156 B8 patch

  v150 P9 Status:  approved at NexusMods
  https://www.nexusmods.com/mbwarband/mods/6194?tab=files
  also both full and patch at Moddb  https://www.moddb.com/mods/phantasy-calradia
 
  Hot Patch v155 B8b:

1) corrected a mistake in the B8 code for v156/155 that kept dodge from recovery in tournaments for every agent except the first agent tested.

2) v155 TPE tournaments were crashing to desktop regardless of whether choosing advanced or basic weapons, and even trying to toggle OFF "advanced" (TPE) tournaments still crashed my tests.  I never was able to get TPE working in my tests, but I also seemed to have corrupt arena scenes (instant hang) so I copied those from v156 in my tests.  So now tournaments are v150 P9 for v155 series.

3) the TPE enhanced weapons would also be a problem for TPE tournaments (v156 B8 specifically); it's fixed for my source but still focused on getting this patch out.

4) Added a filter to block heroes (companions, lords, kingdom ladies (your spouse)) of either side from becoming targets of resurrection, as the resurrection pool seems to include tier 4+ from either side, especially if you fall in battle or more than 1 lord is involved.  Now they are filtered from entering the pool of potential dead; a second filter validates that the resurrection candidate is not past certain limits in and abundance of caution.

5)  My test case still has a problem with viewing/moving Orcish Juggernauts and otherwise is working well with this code level (B8b).

Status: uploaded to NexusMods
  https://www.nexusmods.com/mbwarband/mods/6194?tab=files

  v156 B8b Hot Patch and FULL:  uploaded to NexusMods and Moddb
    https://www.nexusmods.com/mbwarband/mods/6194?tab=files
    https://www.moddb.com/mods/phantasy-calradia
 
opened v156 B9 hot patch:

1) TPE tournaments now are forced random for gear equip, hopefully overcoming the various ways players can mess up tournament equip settings by self adjusting tournament options.  There is a line where the gear type is set for each town and this fails when towns are not native, giving a  "ERROR (TPE Design): An invalid item type (normal weapon) is detected." message; now instead of trying to index past the number of towns previously set aside in the TPE modmerged module, the effective town is always Sargoth but the gear loading is always random, side stepping these errors.

2) TPE tournament options and tournament access are now filtered by cheat menu.  That is, they stop showing normally. Tournaments happen, but they happen silently, without informing the player and there is no tournament option shown in town menu 2.  It can stay like this for the summer; I really am out of time to mess with tournaments.  If I wanted the mod to just be tournaments and Necromancers I'd have named it the Tournaments and Necromancers mod.  If thats the mod you were looking for, just keep looking.  But do it quietly.  My next available day will be sometime in September, with luck.  Else I'm just not available at all.  I've seen other mods wait 2 years between updates.  You can wait 10 weeks.

3)a) item "spring loaded shield" has greater speed and defense stats
  b) item "flintlock_pistol" has greater accuracy now.

4) Unarmed damage does greater initial damage to overcome the tendency for armor to absorb light damage and always drive damage performed to 0.  Mainly, the need to have reliable damage for Monks class is the sole reason a patch is being made today instead of end of summer.  Warband still wants to drive damage to 0 even with the last line in the trigger for hitting an agent
(set_trigger_result, ":damage"), 
so I have to apply unarmed damage as a magical attack that siphons hit points but can't kill immediately an enemy.  Instead they turn and run if they go under 0 HP, while Warband tells you they take 0 damage.  If now you hit them a second time for 0 damage they fall unconscious. I suppose I could add an agent variable that every 2 seconds or so checks agents that have this value set and whack them with a hammer, damage coming from themselves so I don't have a conflict with animations, but that might cause a crash and there is nothing worse than adding a new mechanic late friday then having 59 people complain during time when I absolutely am not available to babysit fixing it. 

5) Necromancers can no longer accidentally open spell books by jamming key M; the spell book thus opened now slams shut so fast human reaction time cannot find it anymore, UNLESS the person happens to actually BE a magic user.
    Necromancer has nothing to do with Magic user class.  Shouting intended for emphasis.

6)a) Spell scrolls are no longer sold at magic guild if you lack the magic user setting in the save game data.  So, if you're not a magic user, it is wrong to sell you scrolls that neither you can use nor your companions will ever need (they get all spells automatically if you pay for them to be casters).
  b) Chaos and White bolt are no longer sold
  c) Black Bolt description in dialogs no longer mentions, stupidly, "a favorite among Necromancers".  Necromancers don't cast spells in battle.  Period.  End of discussion.  This for the light bulb at Moddb that feels like arguing their Necromancer MUST have casting privileges because this spell said "a favorite among Necromancers".  It no longer says that.  Don't argue with me, I don't have time for it.

Status: uploaded patch to Moddb
  https://www.moddb.com/mods/phantasy-calradia
 
hot patch v156 B9b:

1) added changes at script_change_troop_faction to have special handling when the requested final faction is fac_commoners or fac_outlaws,
so that the various checks to in-progress quests, family (spouse and daughters) changes, status for marshall, vassal status, and village ownership are set correctly when discarding a kingdom lord from a faction that has lost all spawn centers, as the simple_trigger #49 could cause corruption of the centers on the map when resettling lords from factions that have lost all castles/towns but are not yet marked inactive.  Now instead the lord's faction is checked before picking a center to spawn at, and if that faction lost all properties where the lord might respawn correctly, the lord is instead marked inactive and removed from the faction.  This tends to shut down factions much sooner, and without risk of corrupting the map.

  Otherwise this is patch v156 B9 with no other changes.

  Status:  test patch at  https://drive.google.com/file/d/1AVJDD4z_8hVhBhiyZQE9-J-qJ-YdQ5Ln/view?usp=sharing
 
Just a reminder, there is no update this week and next week I'm away from my desk with no access to internet.

  I expect after that I'll be making changes to the new Warsword Conquest (Chaos Dwarf) project for 3 weeks or so.
  So unless there is some crisis here, this mod should be quiet, followed by a bunch of new features acquired by yet to be determined trade of time for time with other modders/contributors.  There are a few slick features but I have to EARN access to them.  Right now I can't just take, I have to earn it.  Thus I need to do something competent in trade...
 
This is sort of a dump on what's cooking on my side.
  "Work" on modding is currently occuring as three distinct threads:

A) Phantasy 2018 'more or less emergency' v156B10 patch:
    1) merge triggers for ti_on_agent_hit  to combine {dodge, unarmed, stealth, ironflesh, barbarian rage} with {special swords, charged wizard staves, direct attack mage spells} so that the second does not turn off damage to the first, or place damage that the first should have avoided.

    2) inspect the pre v156B9b scripts and simple_trigger changes for handling lords changing faction in order to allow lords of defeated factions to go to allied factions instead of instantly removing them from the pool of lords; at the same time re-allow lords changing faction to enter player faction as before a check was made for fac_kingdom_1 to kingdoms_end instead of fac_player_kingdom to kingdoms_end.  This was blocking player from gaining lords after 156B9b.  For Warsword Conquest this needs to be a further check that the new kingdom shares the same skin as the lord, or does not have a negative prejudice to that skin.  This will make defeating all evil factions a little harder, as the first to go down strengthens the next two (in Phantasy 201:cool:...

    3) prejudice effects modified by persuasion skill, per request from Warsword Conquest.
    As a third of my users modify their character stats by text editor, I'll assume any persuasion over 5 is fake and stop giving a further bonus after 5.
    I'm fond of a non linear curve for this:  each point of persuasion is increasingly effective.
    ([(base persuasion clipped to 5 maximum) * 5] + 25) * (base persuasion clipped to 5 maximum) gives a range of 0 - 250 "forgiveness" of prejudice.
      unfortunately, this isn't just at one place for entering town; it needs to be at village recruiting, town caravan recruiting, and every other place prejudice is checked EXCEPT for diplomacy, where gut revulsion for your party make up is NOT something you can flatter your way out of, since it occurs away from your immediate presence.

    4) Infection from undead as an in-battle effect:
  On every normal weapons hit that is not dodged coming from skins {skeleton, zombie, undead} there is a chance to toggle an infection timer to do damage over time to the victim agent, with skeletons 10%, zombies 15%, and mummies 25%.  The placement should occur in the first ti_on_agent_hit trigger just after dodge, to set the effect.  Thereafter, during the 3 second timer checks occuring on all agents, the infected bits should cause a check to count down the timer and where the timer is > 0 roll dice to do d2 damage to that agent for that 3 second impulse, telling the player only when they are the target of infection they are taking damage to reduce message spam.  Damage done by the player is not reported nor any indication of success is shown; the target is simply draining hit points silently.  Dispel Magic spells (npc mage, npc cleric, player mage, player cleric) needs amending to remove this effect when in range.

    5) experience buff for single class in v156 series:
  Each 169 hours (a week plus an hour) a simple_trigger needs to fire to check if the player is single classed or not, taking into account the risk the player is hacked to enable more classes than were originally chosen, and if the determination is one and only one class is enabled, to check if the player savegame is marked as having ever been checked for experience buff, and if so what the cached value was from last week, so the difference can be multiplied by 1/3rd and added to current player experience, with the resulting new value cached.  That value can then be obfuscated by adding d100 exp to the total so the current experience does not match cached value for people with far too much time on their hands trying to discern where I keep magic numbers.  The flags enabling this process are stored in a different place than the cached value in order to reduce the number of successful hacks for cheesy experience.

  6)  recruiting at town changes:
      I'd like to see orc shamen (which are orc female) recruitable at town menus but only when either the player or the player spouse is orc female skin.
      This should be 2 for 800; Ogres should no longer be 5 for 800 but instead 3 for 800.
   
    expected time: 3 working days

B) export Phantasy 2018 script snippets made solely by me to Warsword Conquest Chaos Dwarf edition (201:cool::
      this includes Diplomacy, does NOT include any layer of Rigale, does NOT include any portion of magic or necromancer support.
      excepting cool down timer on dodge the rest of mission_templates is not being exported; thus reinforcements, auto-resurrection, all the spells, and so on stay different between the mods.  The battle display is now shared and operational between both mods; it was broken until now on the other side.  Scripts are in general shared, with extensions that were class or faction specific being changed only. Dialogs mostly are shared but kingdom family creation is changed and marriage to kingdom ladies, with asking guardian's permission, is removed.  The ability to tune wait time rate (which impacts fast map movement) is removed per Nameless Warrior desire; actually all the phantasy 2018 style controls are removed.  Magic is totally different on the other side, which is fine as it keeps me out of a conflict of interest dilemma; it's also far more visual, but uses WSE.
  Done so far:
      faction report with prejudice: columns modified to support 9+1 factions per page by narrowing each faction's column
        the report shows correct prejudice and was a needed step towards implementing full prejudice.
      Battle mini-map fixed
      upstab for spears and corrected animations

  To do:
      prejudice effects at game_menus and otherwise few game menus changes at all
          caravan recruiting and checks for game menu overflow are likely changes

      simple_triggers, dialogs, scripts merged but with reinforcements kept native, no rigale layers, and no necromancer layers
      vassal recruitment of females modified for Warsword Conquest faction lore
      possibly: caravan trade route recruiting
      possibly: replacement for sea traders*
     
    expected time:  between 2 and 3 weeks working time

c) [delayed] import Warsword Conquest layers made primarily by me in 2016 or during B to Phantasy 2018 as part of a new series, as the underlying save game variables would need to be changed, as well as implement new systems suitable for a v160 build.
    sea travel not with Klabautermann tactical sea movement but using Wulf's simplified sea battles - requires data model changes
      there was an entire subsystem to track where your ship was and how to recover your ship / remove duplicate ships / validate your ship was not floating over land that I put in place in 2016 and I'd like to import this, but it would involve changes to the savegame and thus should occur as part of a new series.

    summoned troops not as thrown stones changing to troops on hit but rather as part of the next reinforcement wave thanks to extensive reinforcement mechanics already implemented.  This allows summoned troops to have a normal and natural placement into battle instead of the strained placement now made. This also allows a small number of them to potentially persist in the party after battle via recovery from auto-resurrection, although that could be filtered by flagging summoned troops with some new "summoned" savegame variable and excluding them from the pool of qualifying agents when building the list of agents that might qualify for later resurrection when they first appear on the battlefield.  This entire system avoids the summoning issues seen by other mods using the curtain of fire summoning system (a thrown stone becomes an agent).

    This opens up the next big change I'd like to see:  magic specialties,
  specifically the 4 magic elements plus life aspected/positive energy / negative energy divine plus druid summoning plus monster/hero summoning, plus buffs debuffs and transportation and stealth/invis/see invis etc for ambushes and counter ambushes.
  Once summoning works correctly (and changing the number of troops dynamically impacts reinforcements etc so there are a number of seemingly unrelated side effects to summoning), then a druid class is possible.  I'd like rangers to be more useful; I'd like rogues to be more useful.

    potions/scrolls as one use items activated from camp: actions menu.  This involves making more items, which in itself breaks save games.
   
    more things to build at towns/castles/villages, especially monasteries/churches/cathedrals  but also missing rigale guilds, ports, sea defences, coast guard patrols.  I'd like churches to have a anti-magic buff for sieges and battles taking place at that center for all magics except the specialty of that deity, the effect scaling according to the strength of the church construction (a village monastery is smaller and cheaper than a town cathedral).  Cathedrals should have a buff for town recruiting and be able to be destroyed by a siege win, in order to place a new type of cathedral etc by the victor.

    air travel / underwater movement: to be determined. 
  Besides being a PITA for changes to PBOD, it is difficult to get NPCs to keep in formation if following a flying leader, and turning in air tends to interfere with keys trapped by the game for normal ground movement, although context can be everything for this case...

    However the biggest barrier isn't just PBOD; its managing the potentially hundreds of props supporting agents, and their impact on adjacent agents when flying or travelling in formation.  If I have a large flying pegasus mount and a small flying imp, do their support props take the same space?  How close together will they be able to get? When either touches the ground is that prop removed/destroyed?  But props don't destroy instantly; they get scavenged in somewhat unexpected and unpredictable time in battle, so that if a hundred agents start hopping like locusts, do I have hundreds of props to manage as a list or attached as agent variables to store their positions in 3 parts as well as velocity vectors as well as scene_prop_ID for their support as well as by inference whether that prop is active or inactive right now... and it starts getting tedious.  If everyone gets a prop on entering battle that might lower stuttering but effectively there are hundreds of props lying around invisible during a battle.  Something like that happens already in the new Warsword Conquest magic system, and it will be useful to apply that debugging and management to the flying / swimming problem (and they are in fact identical cases).  Prop management is in fact the stickiest issue for dealing with flight; your agent never really flies at all.  Its a prop that flies.  You just have to stand still on it, and let it turn you, lift you, or lower you according to turning/lifting/lowering the scene_prop you're on.  Its a grand illusion...

    recruiting changes at castles:  I'm for one set of hire-able mercenaries at castles same as in town taverns. 

    expected time: 1 month+, the mythical "September" target.
 
quick heads up for v156 B10:
  its at  https://drive.google.com/file/d/1NsXcmFQdiHMJLUwO9__urOyq04BPOexQ/view?usp=sharing
  and hot fixes the issue with lost or disappeared lords that started after v156 B9b.

  the change log for it looks like:
1) allow lords to respawn even from the player's faction. but needs more testing  Tested working.

2) when a faction closes, instead of the lords being marked inactive and vanish from the map, they search the factions for
    a faction that has no prejudice between that lord's skin and the faction skin AND the target faction is not at war with the old faction for that lord
  This allowed for example Orcs to pick up drow lords once Drow faction was defeated and set to inactive.  If no factions qualify the lord is set inactive and to outlaw faction.

3) lords that were previously set to inactive or factions outlaw or commoner are now recycled using the above #2 method.

4) the player may now attempt to enter towns/castles where prejudice would normally lock the doors using persuasion skill to "forgive" the following amounts of prejudice reaction, as measured by faction reports "with prejudice":
Code:
  persuasion	amount
	0 	0
	1	-30
	2 	-70
	3	-120
	4	-180
	5	-250
    Max persuasion that is applied is 5

  I'll post a v156 B10b tomorrow with more changes.  The above changes are tested against two different save games each showing the issue and it auto-fixes both, plus auto-fixes the original issue intended for v156 B9b.
 
  Tomorrow I'll add in the change for unarmed damage and we should be able to coast until I can get back from re-doing my layers of Warsword Conquest Chaos Dwarf edition.  I mostly worked on that today.
 
still have not had a chance to make v156 B10b changes, so continue with v156 B10, which works but lacks an unarmed damage fix.

I wasn't completely slacking however, and managed to reduce the save game size and party count at Warsword Conquest Chaos Dwarf edition by 1/6th (so 20 MB instead of 24 MB yesterday for same age character).

  The team there made many things - including pointy ears on Elf females.  I expect they'll let me bring them here, sooner or later, but I need to "wow" them first.  Since the modelers labored 2 years without seeing me, they kind of feel like I haven't earned much respect yet, but I'm just getting started.  I think they'll be happy in about 2 weeks.  I may need to focus on them a few days before getting back to here with a valid trade.

  On the table:
K3peV.jpg
a9DTq.jpg

  Also I started on v158 just to test out water movement, since enough of the water movement at Warsword Conquest was mine - specifically the tracking of ships and recovery of glitched ships on shore.  The water fights are now static scenes already ships grappling so no more tactical problems with sinking ships.

  I found some errors in my data model as well;
a) one is an issue where lords could lose their personality_type after PBOD is involved in one of their battles (and that only happens if you the player are on either side of a fight with that lord).

b)  Another is a minor mistake in the lords relations table, but probably only fluffing the save game by a needless extra 1 to 1.5 MB.  Compared to the impact of a similar error in Warsword Conquest 2016, the error stayed fairly small in Phantasy 2018.

  Although the new WC-CD mod has at least 100 more spells than Phantasy 2018, agents are greatly limited as to how spells are performed and how to track spell effects on each agent.  I do it worst case hundreds of times faster here but best case nearly identical speed at either mod (so its a function of limiting the number of casters to keep it close to best case, but agents that are effected could drive it to worst case quickly).  but I don't have several hundred different spells and effects (and unique graphics to every last effect, my gosh).    It's terrifying what a hyperactive modeling group can accomplish in 2 years time; it needed all that time for spells to be done, the WC way, which is radically different than done here.  For huge battles involving more than 4-5 mages and clerics total, this mod is superior.  For sheer number of options, schools, spells, runes, auto cast finesse, and 150+ effects tracked on each agent, WC is more complex.

  Here agents are checked 3 times to cover 24 effects, broken roughly into visibility and movement, morale and health issues, and environment effects, covering all the temporary effects that could persist from moment to moment on an agent.
Processing is kept minimal to support larger battles; only when one of those bit fields has something interesting occuring.  The 3 types of master effects were chosen to guide in battle AI, outside of PBOD, at a future time.

  Most of the stutter here is at reinforcements when open lists are closed and re-opened - along with all deferred garbage collection happening, since agent_IDs are recirculated by Warband during reinforcements.  One of the things I do bring to the table is some understanding of the process at the script level, even if I am clueless about art stuff.

The code is different than I left it, so needed a hard review and I spent all day in documentation, similar to yesterday.  So it keeps me busy but I am not really touching spells, just doing integrating diplomacy oriented dialogs, scripts, simple_triggers, and menu extensions as tested here in the last 10 months.  Everything is in a different sequence so merge will be 2-5 times slower than with Guspav's code, where my merge was "save the outer 40% and discard the rest" Attila the Hun tech support.  I know, the mods (Phantasy Calradia and Phantasy 2018) look nearly identical, but at the source level they're completely different species.    It's more so at WC, even if some of it was still my code.  Be assured the mods are not bleeding Guspav's trade secrets, nor am I at liberty to liberate everything in sight at WC-CD.  I did the skins at WC 2016, so its a shame the females here and there had only the basic slider support, but there needed a change to get the faces to morph on an underlying model, which was absolutely beyond my abilities.  I just script.  I do that fairly well - fair enough anyway.

  When will v156 B10b get done?  Probably NOT this week.  And v158 series wont be ready to launch this week either. Its mostly for me to test water movement right now.  Before I should show it to you, I ought to make a new map or bum one off the community, possibly made by this tool:
https://forums.taleworlds.com/index.php/topic,177057.0.html

  I should also replace custom troop trees with a not modmerged version, which will be serious work.
  There are a few other tasks involved as well.

  Anyway, that is what is cooking in my kitchen.

- GS

EDIT:
  almost forgot, yesterday while fixing up looting & prisoners for sea battles, it was brought to my attention defending villages from enemy lords or bandits gave neither loot nor prisoners, and I now know the fix for that (since the same issue was happening at sea battles, for the same reasons).  So I can that to Phantasy 2018 changes coming up "sometime Soon enough" (while is later than "Soon").

  Also I can now support in-battle summoning for necromancers as part of reinforcement waves, avoiding issues seen by other summoning methods at older mods - when I feel like it (probably for Halloween).  This is something not using WC code but something for here.  We have very unusual reinforcement handling here.
 
Not much to mention right now, except I'm really digging into the next Warsword Conquest version and should have:

1)  partial diplomacy merge working by next week.  Actually, all of the dialogs should work by Friday, as those need the longest time for testing and merging into Nameless Warrior's code base.  What took me 2 -3 days to merge for just the dialogs module (thus about 25 man hours) might need a week for him to merge at his end.  Thus its a pipeline that is time sensitive -- I have to finish early or he won't make August release.  Thus it has my attention for the next 2 weeks.

  While comparing versions I see clues that might allow solving the problems with first quest series, the hang at the training fields, and why checking prices in town for the most profitable trade goods would not return results.  That's not bad for a few days hunting.

2)  Bantering back and forth between mod makers shows an issue for skills that are marked as "party skills" and more subtly any use of modmerger items enhancement such as used at Warsword Conquest, as not just tracking skill but especially pathfinding gets called many thousands of times and anything that is further auto called will slow the campaign map.  From this discussion came a breakthrough in how to accelerate kingdom parties creation and bandit spawns, both of which used to first stop and count every party on the map to make sure there were not too many of each type, for each faction, and each type of bandit, at different times in a day.  By being a little more clever, this overhead can be cut roughly to 1/12th the previous lines of script executing, or perhaps a little less (maybe 1/20th as much overhead for Warsword Conquest, which has more factions and deeper number of parties).

3) certainly we have a new model for female elves coming, but also a new body for human female.  I don't have anything yet for Drow or Orc females, pity.

4) there are some further changes coming for series v158, but I may as well not discuss them tonight.  I've mentioned a few changes already, but more are in the pipeline.  They're mainly things I needed right now for the next Warsword Conquest, and would break savegame if plopped into v156 nowm so they will be seen at v158 towards end of August.

  I'll update this post as I get closer to exiting my task at the other mod.  Its mostly a heads up on the timing for this month, and why this mod needs to wait a bit when there are in fact open issues that still need addressing, such as v156 B10 taking away any companions not yet joined the party.  I can get them back, but it's something I'll have to do after another 2 weeks.

EDIT:
  status update on Warsword Conquest:
  Almost finished with Diplomacy merge.  Here's a post I made about it ("medium long read")
  https://forums.taleworlds.com/index.php?topic=145937.msg9006361#msg9006361

in TL/DR summary, for Warsword Conquest 2018 version, the lines of script that I have to focus on are:
Code:
module_dialogs	 	=  45909
module_game_menus 	=  34780
module_items		=  15325
module_mission_templates=  25043
module_particle_systems	=   3327
module_presentations	=  17001
module_scripts		= 141399
module_simple_triggers	=  10062
module_strings		=   8378
module_triggers		=   1811
module_troops		=   5622

PBOD (all components)	=   9509
  (somewhere around  318,166 lines, using a search for "modmerger" to mark the end of each file).
  There are more lines than this, but each other add-in is 2000 lines or less and most of them don't need touching.

for comparison, here are the current numbers for Phantasy 2018 v158:
Code:
module_constants	=   3643
module_dialogs	 	=  47705
module_game_menus 	=  39465
module_items		=  4725
module_mission_templates=  24567
module_particle_systems	=   1949
module_presentations	=  17001
module_scripts		=  92823
module_simple_triggers	=  10269
module_strings		=   6102
module_triggers		=   3326
module_troops		=   4771

PBOD (all components)	=   9564
  A total of 265,910 code script lines for the sections that change heavily between mods

  some progress made on v158.  About out of time on both projects, due to real life complications.
 
It's been one year since Guspav made the source available to me for fixes and changes.
 
  I've started to export the source, scrubbed of anything proprietary to Guspav or myself, so that a subset of the source can form your own adventures.
I expect it needs a month, but it may be sooner.  It will overwrite the Pho_II source I have at https://forums.taleworlds.com/index.php/topic,367777.0.html

  I put 3 weeks (only) into the Pho_II that is there and never really did much with it after using it as the base for importing Guspav's code onto, so that I could run each of his modules in isolation in order to find out why it didn't compile and fix each module with kind of a firewall simulating the rest of the game.  Thus his game was brought up in stages -- at first, only doing generic tasks that should have worked, as they are in Native/Diplomacy, then calling his unique scripts but with generic battles, then his dialogs but with generic timed events, then having his timed events, scripts, and dialogs but with generic battles and menus, then his scripts, dialogs, timed events, strings, and battles but with generic menus, and then finally everything live but grafted over the Pho_II/Diplomacy skeleton.  So essentially, a broken mod was remade by stretching it over another mod to isolate the broken pieces. 

  I used the same method to take a Mount & Blade (not Warband) mod and have it up and running, with Diplomacy, in about 10 man days (Curtain of Fire, the first magic using mod).  I didn't polish it at all and its not bug free, but at least it showed that a Mount&Blade mod COULD be imported to Warband with a little effort.  That 10 days work is by the way at Rigale forum, as one of the Rigale sources.  Its unbalanced and not really playable for end users, but was there more for modders to rip apart for ideas.  Perhaps it helped Priest of Ru make his mod (or perhaps not).  Personally for a magic mod I'd suggest looking at The Gathering Storm, which heavily influenced Guspav's 2017 code.

  That's all the news that's fit to print.

EDIT Fri 03 August 18:
  Turned in my changes for Warsword Conquest "Chaos Dwarf" edition just now, exactly as estimated for time budget.
  I'll start on v158 and the related Pho_II export next week, using some of the fixes developed while merging Warsword Conquest (specifically for fixing tutorial training fields and the opening merchant quest line).  There is much to do, so there wont be any quick and dirty patch as before.
 
OK Some status updates:

  Yesterday was job interview day and preparation, so no time for modding. 
  Tuesday was spent testing vassals status in Warsword Conquest.  So far, I know chamberlain works, and I guess the next step is to cheat take a town so I can test in-town caravan recruiting, and the constable NPC.  So far no problems on my side but the merge for Nameless Warrior will take a very long time.  I should be able to get started on Phantasy updates or at least v158 early first awakening in 1-2 more days.

  EDIT:  a few minutes after posting this the place I interviewed with gave me an offer.  I'll be answering telephones for a small online gaming company, not great pay by foreign standards but actually good pay by local standards.  That in turn removes wife aggro, and will allow me to work in peace the remainder of the month until I start (else every single minute I have a fight over money).  It also means that I'll only be short 1 month as far as feeding my family goes.  It could be worse.  So anyway, it means I will have the luxury of the next two weeks not having to fight over "why am I on the computer again doing nothing "useful".  Of course its useful.  No doubt, even one person's prayers made this happen.  I didn't pray for myself, as it seems selfish, but my 13 year old daughter did.  My wife might have.  Tuidgy might have.  YOU, the unseen, unknown reader, might have.  So whoever did that - I thank you.  Now I can get back to making something happen in mods, without making my ex-boss pay a stipend to show up when there wasn't enough work for me to do anything "productive".  Now I can at least answer phones all night.  I'm expected to buy a console and know console games as well; I can do that.  I wish there was a way to mod something for consoles, as a thanks, but that may come to pass someday.  Anyway, I'll try to get something done in the next 2 weeks before all my time and energy goes into a new job.  The pay at least is much better than I've been getting these last 14 years, and they were cool with me not having a college diploma or speaking Bulgarian poorly.  Actually for the first time being born and raised my first 43 years in the USA gave me an advantage here.
 
a quick update on status:

  I've had some problems at Warsword Conquest's "Chaos Dwarves and Magic" update, but I definitely solved them late yesterday.
A fresh save game with the latest changes shows the corruption issue I had is solved, although I haven't yet forwarded the changes to Nameless Warrior, which I'll do later today.  I have a number of changes to sea traders that should allow them to finish trading (its unclear if they ever finished trading before, or if they were just sitting there) and move on.  Some issues that were slowing the game are also cleared up (such as the player's ship making in one case 90 dormant copies of itself and slowing all try_for_parties loops by 6%...

  I have slightly under 2 weeks to close all open issues for Warsword Conquest and Phantasy 2018 before I'm out of time and start a new, full time job. After that I won't have any time whatsoever for modding.  Hopefully when I am out of job probation status and not having to fight for my position I can have some small free time to mod.  That should be in about 6 months.  I'll see if I can at least squeeze out a small update here and something at Warsword Conquest -- the two are related, as much of the code being fixed up overlaps each mod.
 
Some pending v158 changes:

  changed the save game data model so that more constructions can occur:
Code:
slot_center_has_manor            = 130 #village
slot_center_has_fish_pond        = 131 #village  GS: Not really sure what this is, its leftover from Native
slot_center_has_watch_tower      = 132 #village
slot_center_has_school           = 133 #village
slot_center_has_the_watch        = 134   # GS <-- intended to act as a garrison active only in village_raid and village_bandits missions
slot_center_has_mining           = 135     # GS <-- intended to add some iron to owning player
slot_center_has_shrine           = 136      # GS <-- some buffs for village raid and village bandits missions and reduces chance of epidemics

slot_center_has_messenger_post   = 137 #town, castle, village
slot_center_has_prisoner_tower   = 138 #town, castle
slot_center_has_golem_factory    = 139  # GS <-- intended to build {4 clay golems, 2 stone golems, 1 iron golem} each 30 days
slot_center_has_temple           = 140  # GS <-- intended as a buff for sieges and reduces chance of epidemics
slot_woodcrafter_guild           = 141  # GS moved here so can build one if not already present in town
slot_smith_guild                 = 142 # GS moved here so can build one if not already present in town
slot_leatherworker_guild         = 143 # GS moved here so can build one if not already present in town

  also fixed an error with presentation dplmc_set_vassal_title where town caravan recruiting would be corrupted if player ever calls this routine
  added support to manage icons of parties currently on water
  added support to clean up dormant player ship parties when calling your ship to a port to generally reduce total parties count
---
  conducting first tests of sea travel today, time permitting.
  EDIT:  Yay me. :0
mauOE.jpg
fXZmm.jpg

  a few hours later I have most of the issues for sea travel worked out, now I need to spawn some pirates and set them to patrolling. 
Sometimes I have a glitch for player's ship left behind as well. 

This data model wanted to shrink some of the save game size, right now at 45 days
I have 1112 parties and size is 15.7 MB

edited simple_trigger #49 to skip companions when looking for inactive or exiled heroes.  I'll have to check how this handles kingdom ladies, but they shouldnt get inactive or exiled EXCEPT when attached to an exiled lord, so that will be the test worth looking at.  This is the fix needed but not applied at patch v156b10.
EDIT:  It took more than 1 try to get this right, with many fresh savegames until the right change proved stable.  I can now move on to the next issue.

  Mostly this is a test of the post-Warsword Conquest re-merges, as some WC layers were imported here and the (new) data model needs a stress test.
If this isn't greatly broken I can start fixing some of the smaller issues at Phantasy 2018 while waiting on WC to finish merging at Nameless Warrior's side.
Besides moving around, "sea travel" implies "sea battles", which imply both changes at mission_templates, an added sea scene, and handling at game_menus to set up the battle and handle loot and prisoners. 

  Some of the new village buildings can get tested tomorrow (or next week) as well.

Friday 17 Aug late morning:  a topic at Taleworlds modding forum gives clues as to why dual stab spears were failing so I'll explore re-doing that now.
  https://forums.taleworlds.com/index.php/topic,353520.msg8491778.html#msg8491778
 
Quick update:
  Right now I'm stuck in Warsword Conquest still, trying to clean up issues seen inside bandit lair missions.  Bandit lairs spawn fine enough but entering them brings various issues, partly based on the scene used and partly based on the party template complexity and total force strength.  These 3 factors interact to give several different possibilities, only one of which works as expected.

  Nameless Warrior solved some game_menus problems that also fix an issue at Phantasy 2018, so assisting over there gives some benefit here.  Its a pity I have so little time now but I'm not sorry I changed my day/evening job from one that paid nothing but let me mod to one that pays reasonably but doesnt let me mod. Modding never paid me; for free, everyone gained about 3500 hours of my time for free these last 4 years.  So updates happen when they happen, but at least a few things are done each week.  I expect Warsword Conquest to still make it out of where its stuck in the next week, although Nameless Warrior may have plenty of things that aren't stuck but that he wants to do on his own before releasing.  That's a different category and not something that I have to be taking time for.

EDIT:  after 4 hours effort this led to some fixes that can be applied to Phantasy 2018 for bandit_lairs, including the first kidnapper's lair mission.
I now know how the player ended up switching teams (during reinforcement cycles).  Solved for both mods now...
 
Sunday 9th Sept 2018:
  further progress on unreleased series v158:
  1) implemented Nameless Warrior's fix for not having to click twice to enter a town or castle.  At least I get something back for time spent elsewhere.
    In this manner, BOTH mods gained something.  This in addition to pointed ears on elf females.

  2) removed needless updates by timer leftover from v150 series.

  earlier fixes applied in the last two weeks:
  3) bandit lairs where player seems to switch sides during reinforcement phase
      this was an issue for the original kidnapped merchant brother lair and knowing how/why it happens allows later offering the original quest series again.

  4) added sea travel and spawn of sea pirate ships; validated sea travel as working.
        Minor issue sometimes player ship is beached and then unuseable, requires walking to nearest seaport town and from second page of town menu select "signal my ship to take me to sea".

  5)  the underlying data model is changed, allowing smaller/slightly faster save games but this means characters already made CANNOT be transferred to the new series.  Several new changes were made to support sea travel and future custom troops.  This actually occurred last month but I'm including it here to
keep a list of major changes in one place.

  6) a separate layer of interest is sea traders, which in previous years never completed their trades and piled up outside sea towns.
    This code (from me) has been changed and tested working at Warsword Conquest 2018 version, but now needs exporting here.

Coastal towns for purposes of sea travel, buying a ship, or sea trader destinations: (distance from town to nearest water)
Code:
#Town   Name       Dist
# 1     Sargoth     3
# 2     Tihr        2
# 5     Jelkala     3
# 6     Praven      3
# 7     Uxhal       7  marked NOT coastal
# 9     Khudan      6  marked NOT coastal
#11     Curaw       4
#12     Wercheg     2
#13     Rivacheg    4
#15     Yalen       5
#19     Shariz      4
#20     Durquba     3  marked NOT coastal
#22     Bariyye     2  marked NOT coastal
#25     Shin'szaluk's Ladder 5
#27     Wizard Tower 4
#29     Blazing Hand Temple 2  marked NOT coastal

7) added a check to block "script_courtship_event_troop_court_lady" from running if either party is -1

----  To Do:
  8 ) module_troops added filler to set the number of troops rows ahead of future hand merge of custom troops, removing some of the problems of modmerged custom troops and allowing a more stable save of partially defined custom troops.  In short, for the series to be consistent the number of troop types cant change, but the custom troops feature can be added later if the exact number of troop definitions are put in place ahead of time.  This requires some thinking about how many definitions are made and how changes that used to waste space in the original OSP are handled (specifically changing skins of troops and selecting the branch types.  I'll simplify the process by defining one tree of 7 tiers in a linear shape and one tree with a single split of 6 tiers deep, with either tree being able to change skin such that all of that one tree changes skin at once. This then becomes
  [ 7 definitions for empty base
    7 for linear tree

    3 linear + 3 upper branch + 3 lower branch  empty base
    3 linear + 3 upper branch + 3 lower branch  empty base ]
== 32 tree definitions needed as spacers to be overwritten later.

  9) It should be noted that trade routes have NOT been updated (yet) to reflect sea trade possibilities
    which needs doing before taking v158 live.

---
10) possible addition to caravan recruiting to allow special case of 4-ways inn as a recruiting center with the "trade routes" set to all 13 faction capitals
  This would be a distinct different presentation, starter menu entry, different 2 lists, and different internal menus, so would be a 4-5 man hours extension to build.

  11) ??? remains to be seen

problems open:
a)  Sea traders aren't spawning, but this is likely from trade routes not including sea destinations yet    Needs more test after changing trade routes
 
Status
Not open for further replies.
Back
Top Bottom