Engine Bugs

Report any bugs or ideas/suggestions that arise during testing of the Alpha Build Version 5

Re: Engine Bugs

Postby slowdive » Fri Sep 13, 2013 6:26 am

Dorateen wrote:The check on PC for conditionals is working, I am pleased to report.

However, I discovered one issue when testing this. It is the first PC only, when checked for attributes/characteristics.

For example, using the "You're a dwarf like me!" option I had created in an opening conversation, it does show up when a dwarf character was selected as the first PC in the party. Unfortunately, if you left click to select any other party members, they will still get that dialogue option, as the conditional is checking just that first PC (who in this case is a dwarf).

Furthermore, if you have someone else as the first PC such as an elf or a human, then that option will not show up, which is good. But if you have a dwarf somewhere else in the party (like Trumpkin in the 3rd or 4th position) and left click on his portrait to select him on the map, the dwarf will still not trigger that dialogue option. Again, it is because the conditional is only checking the first PC, not whoever is selected.

Just wanted to mention this, because I am hoping to allow the player to cycle through different party members and when they engage in a conversation, have different options available based on who is selected.


Here are the new scripts with option for selectedPartyLeader (just replace the code in gcCheckIsClassLevel.cs and gcCheckIsRace.cs with these):

gcCheckIsClassLevel
Code: Select all
//gcCheckIsClassLevel.cs - Checks to see if PC is a certain class and has enough levels in that class.
//parm1 = (int) index of the PC to check for class and level (1st PC is index = 0), leave blank
//         or enter -1 to use the currently selected party leader
//parm2 = (string) tag of the class to check (ex. fighter)
//parm3 = (int) level to check if PC is equal to or greater than
//parm4 = none
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using IceBlinkCore;
using IceBlink;

namespace IceBlink
{
    public class IceBlinkScript
    {
        public void Script(ScriptFunctions sf, string p1, string p2, string p3, string p4)
        {
            // C# code goes here
            int parm1 = 0;
            if ((p1 == "") || (p1 == "-1"))
            {
                parm1 = sf.gm.selectedPartyLeader;
            }
            else
            {
                parm1 = Convert.ToInt32(p1);
            }
            int parm3 = Convert.ToInt32(p3);
            sf.gm.returnCheck = sf.CheckIsClassLevel(parm1, p2, parm3);
        }
    }
}


gcCheckIsRace.cs
Code: Select all
//gcCheckIsRace.cs - Checks to see if PC is of a certain race.
//parm1 = (int) index of the PC to check for Race (1st PC is index = 0), leave blank
//         or enter -1 to use the currently selected party leader
//parm2 = (string) tag of the Race to check for
//parm3 = none
//parm4 = none
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using IceBlinkCore;
using IceBlink;

namespace IceBlink
{
    public class IceBlinkScript
    {
        public void Script(ScriptFunctions sf, string p1, string p2, string p3, string p4)
        {
            // C# code goes here
            int parm1 = 0;
            if ((p1 == "") || (p1 == "-1"))
            {
                parm1 = sf.gm.selectedPartyLeader;
            }
            else
            {
                parm1 = Convert.ToInt32(p1);
            }           
            sf.gm.returnCheck = sf.CheckIsRace(parm1, p2);
        }
    }
}


If you want the check to be on the currently selected party leader, you can either enter nothing (leave blank) for parameter 1 or enter "-1" without the quotation marks.
I found a bug with the way the "not" checkbox was working, but I fixed it and I will send an updated IceBlink.exe once I am able to package up another build here tomorrow.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3101
Joined: Wed Nov 21, 2012 11:58 pm

Re: Engine Bugs

Postby youngneil1 » Wed Sep 18, 2013 12:06 pm

Great stuff above about selected party leader, will look closer at this soon.
___

Bug: The game does not save world time, e.g. on reload it's 00.00 hours on day 1 again.
User avatar
youngneil1
Backer
Backer
 
Posts: 4843
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Bugs

Postby youngneil1 » Wed Oct 09, 2013 9:48 am

Looks like the handling of dead creatures and PCs in combat is a little buggy:

While having great fun with Castle Hearkenwold here atm, I found that in the occasion that a enemy living creature stands on the square of an enemy dead creature my next attack was directed again against the dead creature, killing it again.

Also, a dead creature got an attack of opportunity against an archer of mine firing an arrow when standing next to the body of the dead creature.

Finally, I had a situation where I somehow tried to move into the square of dead PC, but this was registered as attack on a goblin standing a square further away, iirc. Not certain about this one.

All in all, I think it's worth to put some extra testing time into the handling of the dead ;-).
User avatar
youngneil1
Backer
Backer
 
Posts: 4843
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Bugs

Postby youngneil1 » Fri Oct 11, 2013 6:45 am

Brrr.... this bug has caused me many hours questioning where I did go wrong in my own stumbling attempts :? Learned a lot in the process though :D

Here it goes:

When you change party leader via right click on portrait, the .png for a standing sprite changes. The animations are still those of the original party leader still. This means that once you're new party leader starts moving (i.e. the party moves) you will be shown a walking animation belonging to the old party leader. When standing the sprite of the new party leader is shown, when moving you can see the animated sprite of the old party leader.
User avatar
youngneil1
Backer
Backer
 
Posts: 4843
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Bugs

Postby slowdive » Fri Oct 11, 2013 1:29 pm

Hm... Sounds like I may have missed one of those "change 0 to selectedPartyLeader" in the walking method. I'll fix that.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3101
Joined: Wed Nov 21, 2012 11:58 pm

Re: Engine Bugs

Postby youngneil1 » Fri Oct 11, 2013 2:21 pm

Great to hear, Jer! But no stress about it - it's just about cosmetics and only relevant if party sprites are animated at all.
User avatar
youngneil1
Backer
Backer
 
Posts: 4843
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Bugs

Postby slowdive » Fri Oct 11, 2013 10:21 pm

Okay, fixed. I missed changing a "0" to "selectedPartyLeader" in the walking animation method. It was always pointing to the zero index PC (first created one) and not the currently selected one. Left overs from the era before you could switch the party leader :oops: .
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3101
Joined: Wed Nov 21, 2012 11:58 pm

Re: Engine Bugs

Postby youngneil1 » Fri Oct 11, 2013 10:24 pm

That was fast, much appreciated!
User avatar
youngneil1
Backer
Backer
 
Posts: 4843
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Bugs

Postby Dorateen » Wed Oct 16, 2013 1:36 am

I have downloaded the beta, and converted Hearkenwold. It appears everything is working.

I did stumble upon a bug, but it might be something that goes back to earlier alpha versions. Was trying to enable a trigger from a conversation in one area, and the trigger is in another area. When the conversation line fired, I got the message:

"Cannot locate designated trigger in this area"

Or something to that effect. Sure enough, the trigger in question was not enabled.

Does this mean triggers cannot be enabled/disabled from conversations that are in different area? Hopefully this is a small issue that can be easily fixed, searching all the module areas for the tag of the trigger called for.

Here's the message the pops up on screen:
Attachments
triggertag.jpg
triggertag.jpg (12.33 KiB) Viewed 3805 times
User avatar
Dorateen
Backer
Backer
 
Posts: 935
Joined: Mon Nov 26, 2012 2:08 pm

Re: Engine Bugs

Postby slowdive » Wed Oct 16, 2013 4:27 am

I added a foreach() loop to search all areas in the module...see attached.
Give this a try (replace the one in the main directory):
IceBlinkScriptFunctions_10152013.rar
(21.43 KiB) Downloaded 160 times


The previous one was only searching in the current area.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3101
Joined: Wed Nov 21, 2012 11:58 pm

PreviousNext

Return to Alpha Build 5 Bugs and Ideas Reporting

Who is online

Users browsing this forum: No registered users and 0 guests

cron