Page 1 of 1

I need an inventory of the bugs in the "distro".

Posted: Wed Jul 05, 2017 7:34 pm
by Yukiko
I think all of us can agree that the Distro should be a working, playable set of scripts. It doesn't, nor can it, be totally bug free. A complicated system of programs will always have some bugs due to its complexity. However, the bugs from a "working server" should be more subtle than the ones I have been told about.

What I would like posted here are any outright bugs that have been found in the Edwards set of scripts.

As it is still the official "distro" I need to see where we stand on the bugs front. So start posting!

Re: I need an inventory of the bugs in the "distro".

Posted: Thu Jul 06, 2017 12:10 am
by ThisIsMe
BrainAI - NPC's dont wander as they should (Going to see if I can figure this out and if so share my workings with the class)
BrainAI - NPC's do not have sounds attributed to them (not necessarily a bug but more of a huge and easily avoided annoyance if the npcs were defined as they should have been(call me a grump I guess, noises are there for a reason))

Bard Songs - the bard song that poisons poisons the caster, a bit odd I would say

Housing - I ran into an issue where it would not accept commands; the "I wish to"'s which may or may not be a bug as I scrapped this house system and began working on my own.

While this last one is not a bug, there is no documentation easily found on what each of the custom packages do or how they work, I have just begun to scratch the surface of things after first getting the thing up and running, trudging through items that were misdefined, wrestling springs to mind but I know there were a couple others, I know there are other issues from things I have read but alas, I can not remember them and I have not encountered them as I am going through things rather slowly as I learn and will hopefully be able to fix or find fixes for the issues at hand but these are a few of my least favorite things I have found thus far in my travels through the distro.

EDIT:
Forgot to mention an odd bug, not sure if this pertains to the distro or something more serious.

About two days ago, I had come home from work and hopped on my computer, I normally just stay logged in as I don't get booted, normally I would see a journal full of 8 hours worth of world saves, but this time it was a journal full of "server shut down" countdown messages repeated over and over again, I know I sent you the screen shot of it, I have not mainly cause I did not go looking for it, figure out the issue at hand, but the server never restarted while I was away and when I tried to type in a dot command (.create or something similar), I received a system message about the command being put into a queue. It is odd and might be just a fluke thing but I will report it here just the same.

Re: I need an inventory of the bugs in the "distro".

Posted: Thu Jul 06, 2017 12:37 am
by ThisIsMe
While trying to figure out this wander conundrum, noticed guards don't attack.

Re: I need an inventory of the bugs in the "distro".

Posted: Thu Jul 06, 2017 5:59 am
by DevGIB
BrainAI
Seems to be heavily modified from the original Austin set of scripts. A lot of the functions don't appear to work correctly and i've started converting our "Edwards" distro to be compatible with the Mytharria BrainAI package.

Things like movement and attacking i found on the original Edwards BrainAI were simply because it doesn't appear to be correctly starting the aux scripts for combat or sleep.

You can attack them, they will attack back but then stop when you stop.

We have a list of things that we've worked on and a list of bugs which we've compiled with the scripts, we have some fixes for some things and some reworkings for others. I'll leave it to Pumpkins to supply the list as he is the bug finding expert.

Re: I need an inventory of the bugs in the "distro".

Posted: Fri Jul 07, 2017 10:30 am
by Pumpkins
Thank you GIB for granting me the honorary title of "bug finding expert" :D

There is more stuff to add to this list but I need to test a little more before posting it here.

Here is the list of bugs we found:

- Boat Plank/door is not closing automatically after a while.
- Boats don't come with keys. Everyone can get inside a boat and use the tillerman and boat chest without being the owner.
- .guards command has no npc guards, just a lightning instant kill.
- Branai is broken: No npc is wandering at all. They don't move around if you get in their "area" range. They don't go to sleep mode if you leave. Npcs have no sound effect or animation. Edwards removed all documentation about how the Brainai works, but it can be found inside Mystharria scripts.
Spells:
- Polymorph not working right. If you polymorph you will get a new form but if
you ride a horse you lose that form and change back to human with a horse.
(Maybe disable the option to use mounts while polymorph.)
- Bladespirit not working on new realms
- all kind of damage doesnt cancel paralize (need more testing)


Bugs we found and fixed:

- House Sign is not working. - Fixed by guialtran
- House management menu is broken you can use it outside your house and if you go to another house without being the owner you can still edit everything. - Fixed by guialtran
- Boats are not working right you get some debug.log error and you can't place a boat facing north. - Fixed by guialtran
- You can't get out of a boat using the plank. -Fixed by guialtran
- Spell fields are broken. - Fixed by DEV GIB
- spawnsystem menu makes the shard crash if you click on realms. - Fixed by guialtran
- you can cut infinite heads from players corpse. - Fixed by guialtran
- you get criminal cutting your own head. (not sure)
- Buff/debuff stacking bug - Fixed by Dev GIB

Re: I need an inventory of the bugs in the "distro".

Posted: Sat Jul 08, 2017 1:02 am
by boberski
Send fixes to Kiko sa we can include them into repository and test shards :)

Re: I need an inventory of the bugs in the "distro".

Posted: Sat Jul 08, 2017 1:37 am
by ThisIsMe
Combat:
When attacking no matter the weapon, your character walks in place, I just fixed this issue, not sure if there is a reason for this but it is annoying.

found in pkg/systems/combat/mainHitScript.src

I just commented out the lines that set the mobile to ANIM_WALK_ARMED or ANIM_WALK_UNARMED, if there is a reason why it does this I would like to know if it is important or not to keep but it looks silly.

Code: Select all

function PlayAttackAnimations( attacker, defender, weaponElem )

        var attackAnim := weaponElem.Anim;
        if( attacker.graphic == 400 || attacker.graphic == 401 )
                var xlate := ReadConfigFile( "::animxlate" ),
                    cfg_elem,
                    change;

	        if( GetEquipmentbyLayer( attacker, LAYER_MOUNT ))
                        cfg_elem := xlate["OnMount"];
                        if( cfg_elem )
			        change := GetConfigInt( cfg_elem, Hex( attackAnim ));
			        if( change )
				        attackAnim := change;
			        endif
                        endif
	        endif
        else
            //    attackAnim := ANIM_WALK_ARMED;
                if( attacker.IsA( POLCLASS_NPC ))
                        attackAnim := NPC_GetHitGraphic( attacker );
                endif
        endif
        
	PerformAction( attacker, CInt( attackAnim ));
 
        var defenderAnim := ANIM_HIT;
        if( defender.graphic != 400 && defender.graphic != 401 )
                //defenderAnim := ANIM_WALK_UNARMED;
                if( defender.IsA( POLCLASS_NPC ))
                        defenderAnim := NPC_GetDamagedGraphic( defender );
                endif
        endif

        PerformAction( defender, CInt( defenderAnim ));

	return 1;
endfunction
Blade Spirit fix:

Code: Select all

use uo;
use os;

include ":spells:spells";
include ":timedscripts:timedScripts";

program SpellScript_BladeSpirit( params )

	var mobile := params[1];
	var info := params[2];
	var targ := params[3];
        //var circle := SPELL_GetCircle( info.spell_id );
	params := 0;

	SPELL_PlaySpellSFX( info.spell_id, targ );
	SPELL_PlaySpellGFX( info.spell_id, targ, mobile );
 
	var template := ":ai_blade:BladeSpirit",
	    duration := SPELL_GetDuration( mobile );

	var summoned := CreateNPCFromTemplate( template, targ.x, targ.y, targ.z, 0, targ.realm );
	if( summoned.errortext )
		SendSysMessage( mobile, "Error couldn't create template <"+template+"> -->"+summoned.errortext );
                return 0;
	endif
 
	summoned.facing := mobile.facing;
 
	TS_StartTimer( summoned, "Summon", duration, template, mobile );
	
	return 1;
endprogram