Choose Your Language

Saturday, 16 February 2019

The Adventure Continues .... 27. Restoring The Distance (v2.51)

Well v2.50 only fixed 80% of the GOLD issue that I reported on last time, as it soon became clear that normal "gold coins" were not being detected by my code. And surprisingly, when I did find the fix, I thought it would have replaced what I had already done, because it seemed more efficient by using the On(Un)Acquired code. However, in testing it showed that any gold "given" or taken" from PCs does not actually trigger the OnAcquire or OnUnaquire hooks, and so my home-brew functions from the last fix were still needed. I ended up concluding that the handling of gold via the code and official campaign is most unusual - and is probably why I had so many problems for so long.

The bottom line is, I needed two systems in place: (1) To handle gold given or removed from players via the functions, which must have simply altered a variable rather than hand over or take any actual item. (That was my updated home-brew functions.) (2) A system that "detected" the acquisition or removal of "gold coins" via the coin item. At first I thought this was going to be impossible, as the OnAcquired did not appear to register any tag for the gold coins movement. Then I realised that while this was indeed the case, any movement with gold coins did actually still fire these two hooks! A very strange setup. Thankfully, however, regardless of the fact that I could not "get" the gold coins via these acquisition scripts, I was still able to fire my own function check for any gold movement, even though it was effectively invisible.

Anyway, that probably sounded like a lot of waffle, but I hope it helps some coders. Meanwhile, here is what else was addressed:-

The List of Fixes

1) GOLD HANDLING: I am still listing this as a fix even though I explained some above. Basically, this part fixed the movement of gold coins from creatures or placeables onto the PC. On "detection", it simply runs the same PouchCheck function as the home brew "Give" and "Take" functions do. The bottom line: It really should be squashed by now. In our own group play, this caused an incorrect amount of gold being carried, and after searching through the saved games, I calculated that the gold for the party was out by 9000gp! This is mainly because I was fixing stuff between sessions, which meant when the player rejoined the session and had their PCs join the party, any gold pouches their PCs carried were being duplicated. The new gold check system is now robust enough to take this sort of thing into account. Furthermore, it is unlikely to have affected any SP games at all. (I also removed some DEBUG code that I had inadvertently left from previous testing.)

2) CRAFTED ITEM NAMING: The ability to rename a crafted item had been broken after a small change I had made a short while ago. This has been reverted and the renaming GUI works fine again. As a workaround, players could rename worn items via the Althéa Main Menu anyway.

3) DUNGEON STATUS: At one point during our session, Threska started to complain about the morality of opening a Talanthian chest. This was due to a variable not being correctly picked up / corrected by the code and so Threska did not register that they were in a dungeon. This has now been fixed.

4) TOO FAR AWAY: Some notice text related to examining placeable objects was being displayed at times when it was not required. I have fixed this.

5) AIRY WATER EFFECT: A check was missing to ensure animals did not receive the Airy Water VFX, and so Scraps (when later found) still had his showing. It looked like a glamerous dog collar! This has now been fixed and I will be adding a patch for our session to remove the VFX from Scraps.

6) INVENTORY COMPARE: Sometimes an object description when comparing to a shop item would not fully display. I believe this was related to the same error introduced in (2) above. It relates to whether the item needs to have its description updated or not. I had tried to increase the number of times an item could have this done to allow for any changes I may have missed. However, this appeared too zealous as the item lost all description (when needed)! The fix is now in place, but a player may need to either HOVER or LEFT CLICK on an inventory item to update the item description for their game, which I hope will now remain valid when required. If it still ever appears to go missing, then I may need to look for other additions of the variable clearance that needs removing.

7) LIGHT CRYSTALS: If a PC left an area carrying light orbs, then they would have their quantity dropped to one if they carried more than one. This is because I have to replace "light" objects to fix a broken VFX when they travel between areas. However, I was trying to replace a "stack" of light orbs, when they do not stack. Hence, in our session, three light orbs got replaced with a single one. The code has now been fixed (and made more efficient by doing so), as light orb fixes have been moved alongside torches and lanterns that require the same treatment.

8) OTHER ISSUES: Very minor .... If a DM looked at the Party Craft tab on a character sheet, the essences section was not displayed correctly (even though it has nothing to say really). However, I fixed it anyway.

Karasten Tries His Hand At Enchanting

Deciphering The Cypher!
The Strange Crystal
No Way Out!
The Great Kalim!
The Three Maidens!
Helden Studies The Portal Console
Escape Now Or Die!

The Adventure Continues ... 27. Restoring The Distance

And The Return of Scraps!

NB: Contains spoilers for ALL backgrounds.

"Blast it! It's an ammonite key! It won't work." cried Myara as she tried to use the key they found to open the only way that remained unexplored to them. The problem was the magikal lock required a magikal key. Thankfully, the heroes were in a library full of information, and Karasten was both intelligent enough and skilled enough to make a copy if the group were able to find the information they needed. Furthermore, the relative order of the Talanthians library allowed the heroes to find the information they required and after resting to recover the spell they needed, Karasten went on to create the copy of the key from the ammonite ore they carried.

Having rested outside the tower and returned earlier, it appeared most likely that the heroes had wiped out all opposition from within the tower as they noticed no repercussions from their combat the day before. Therefore, after creating the key they needed using a magicians workbench they discovered in the tower, Karasten decided to spend some more time going through his finds, distilling essences and gathering gems to be able to enchant some armour for some members of the party. It had made quite a break from all the combat, and after he had finished his work, the heroes were much better equipped.

Using the newly created ammonite key, the heroes opened the door and climbed to the next level, and found the sleeping quarters for the residents of the tower. All doors were locked and the rooms obviously empty. It was not long before they were unlocked by either Myara's skills or Helden's dedicated axe for the job. They found quite a stash of treasure and a strange flute.

Continuing upwards, the heroes entered into what appeared to be some kind of study room with three small side chambers. In one of the small rooms they found a code board, and a scroll that contained some kind of cipher. The heroes got to work deciphering the script and soon learned how they needed to operate the strange Vocaliser device. With the new knowledge and the knowledge they had gained from other scrolls they had found, the heroes used the Vocaliser to contact those who would inadvertently hand over some information regarding the portal destruction code. Within just a few heartbeats, the heroes had managed to acquire all the coded phrases they needed. The problem was, they had not, at this stage, any idea how to interpret them.

It took a while of going through old scrolls and notes before Karasten realised that the Chameleon Stone they had found on Matthais (and had not yet been able to decode) may contain a clue. Refocusing their sights on anything to do with Matthais, the heroes eventually found a scroll that was signed by him and read it again. After reading the text more closely, they were rewarded with the answer they needed to crack the magikal stone. As soon as Myara tried the password, she successfully retrieved a new scroll .... one that had another strange grid with images on it. At once, she realised this was the missing piece of information they needed to decipher the cryptic phrases that would reveal the portal destruction code.

After a few minutes of carefully going over the phrases, the heroes had a six digit code that they believed to be the one they needed. However, before they would return, Karasten had been fascinated by a strange drawing he noticed on a nearby blackboard and it appeared to make reference to the flute they found and the nearby crystal in the side room. Realising this may be the only opportunity to investigate the crystal, Helden agreed to try to learn more. As an experiment, he sounded the flute near the crystal, and within a single heartbeat, the entire party found themselves teleported to a hidden chamber, with some unusual decor. Most strikingly, was the fact that the room had no exits!

What happened in that room over the next hour or so will remain unspoken, as the heroes had agreed to make a pact with somebody called the Great Kalim to keep it secret. Suffice to say, the heroes came back a great deal wealthier than they had gone in, to the tune of around 12000 gp! It was the largest haul they had ever seen, and they had managed to escape the chamber! The fighters could barely walk under the weight, but Helden was grateful that they had pursued Karasten's desire for knowledge .... and Karasten was pleased that he had returned with more knowledge of the history of Althéa than he had entered. Myara was happy about the three magikal glowing orbs she also now carried.

There was one other chamber that appeared alight with fire, which Helden drew the line regarding curiosity. There was another kind of magikal pattern on the floor, and he feared it the mark of more demonic work, and he had had enough of demons lately! And so, weighed down with almost more gold than the group could carry, the heroes made their slow walk back to the caverns at the far side of the enclave. If they could make it back, they would be rich indeed .... although Helden did spare a thought towards his trusty hound as he slowly made his way ... Had Scraps made it?

The joyful mood actually made the return trip to the Talanthian caves appear quite speedy. And it was decided that Helden, as leader of the group, would be the one to enter the code. If it was wrong, then they may need smarter heads left with the problem if entering an incorrect code should prove fatal. Almost as slowly as he had been walking over the last hour, the fighter tapped in the six digit code ... then there was a flash and the whole cave system shuddered.

"Quick! Through the portal!" Helden did not really need to tell anyone, and his own slow movements under the weight of gold actually made his urgency quite comical if the situation had not been so serious. Thankfully, the sequence for destruction would take at least thirty seconds, and the heroes would never hear the final twenty seconds countdown as they entered the magik portal to take them home.

"Your back! And just in time by the looks of it." Aubrey, the Red Guard leader welcomed the heroes return as the portal flashed once and disappeared altogether behind them. It had been a close call, but it was quite obvious to everybody now, that the heroes had been successful and the distant enemy that had drawn quite close, was at a distance once again. Without further ado, the heroes made their final walk from the local caves back to the village, with each step promising either to bring good or bad news to the fighter who was missing his hound.

"Scraps! You old scoundrel!" Helden could not hide his joy, possibly more joyful than from all the gold he had brought back with him. Scraps had clearly put on weight, even in the short couple of days they had been separated. Thankfully, thought Helden, there were still a few tasks left that Scraps could help with, and help him to lose weight too. The most important of which was to still find a way to bring down the barrier that surrounded the village.

TOTAL SESSION TIME (UNPAUSED): 4 Hours 37 Minutes. (Roughly.)
GAME TIME SINCE START: 56 Hours 50 Minutes.

No comments: