Version 0.2.6

From VbGORE Visual Basic Online RPG Engine

Contents


[edit] Downloads

All downloads contain the same files, just using different compression methods.

Non-EXE users must download the Libraries Files at the bottom!

*.EXE - Self-installing file (10.24 MB)

*.ZIP - Compressed with WinZip (10.92 MB)

*.RAR - Compressed with WinRAR (8.81 MB)

*.7z - Compressed with 7Zip (8.88 MB)

Libraries Files (Not required for EXE users) (1.05 MB)

[edit] Release Notes

Released on January 19, 2007

Version 0.2.6 contains a lot of changes. Most importantly is the complete set of ranged attack support, from checking if the path to the target is blocked, changing the heading towards the target when attacking, and even making NPCs able to support ranged attacks. Attack animations for ranged and melee attacks were also added, allowing you to make slashes for swords and arrows for bows. AI, too, was also updated to not bog down the server so much, so it should run quite a bit faster. I never noticed how bad it was until I put in the ranged attack NPCs, which really give the server a workout.

[edit] Change Log

Fix - Spells updating stats: Fixed the spells to update the user's stats. The Stats.Update flag has to be changed to 1 because the modstat doesn't update directly in the spell routine.

Change - NPC attack AI in new sub: Moved the NPC attack AI into a new, seperate sub. This way, you can call it on the AI at certain times, not just before the movement routines. This will allow movement AI (running, for example) to happen before attacking.

Add - NPC AI delays: Added delays at fail parts of the NPC AI (failure to find a NPC within range to chase, NPC in range to attack with ranged attack, etc) which will prevent extensive AI checks to happen every single AI call. This is a huge increase on performance, especially with ranged attacks.

Add - NPC attack grhs: Since NPCs don't use objects for their equipment, they have the attack animation variables (attackgrh, projectilerotationspeed, attackdistance) put right into their UDT.

Add - Ranged attacks for NPCs: Added ranged attacks for NPCs.

Add - Ninja NPC: Added a ninja NPC that will throw ninja stars.

Add - Melee slashes: Added melee slashes on the effects layer that will automatically rotate the defined image appropriately to the attacker's heading.

Fix - Passed body and head values for new characters: Fixed the body and head values passed from the client when making a new character to being checked on the values. Since the server doesn't have Body.dat along with you don't want users getting any bodies or heads they want, it is hardcoded into the server which body and head values are allowed.

Add - Projectile shadows: Projectiles are now drawn with shadows to add more depth to them.

Add - Projectile rotation: Added a projectile rotation speed so for rotating projectiles (bombs, ninja stars, etc), you can have it rotate based on a speed specified in the database. Each object can have their own speed.

Changed - Blood animation: Changed the blood animation to animate faster, and to start from small, go to large, and go back to small. Now it should be moderately less annoying of a slow splatter.

Add - Facing your target: Added a routine to find the nearest direction and change the user to face that direction when attacking from a distange. Looks better then shooting a bow or throwing a ninja star and having it, somehow, have a negative velocity so it can go in the exact opposite direction you threw it.

Add - Projectile graphics: Added a new array that works like the Effects, but for projectiles, such as arrows, ninja stars, throwing knives, etc.

Fix - Engine_Render_GrhEX rotation: Fixed the Engine_Render_GrhEX routine to accept the rotation value to be a single, instead of a byte, which allows you to use all of 0-360 degrees.

Add - Object use grh: Added an object use grh value in the object database that specifies the grh used for the object when it is used. Right now, it only works with ranged weapon graphics.

Fix - Level value: Fixed the level value so it raises correctly when the user levels.

Fix - NPC trading: Fixed it so you can buy items from NPC again, instead of getting the "too far away" message.

Fix - Map editor mailbox info: Fixed the map editor to show the mailbox info correctly on the tile preview form.

Add - Chat entering on click: If you click the chat window, you can start typing into it.

Add - Spell exhaustion wait: The client can no longer request to cast a skill/spell while spell exhausted. Prevents server spam.

Add - Client-side grab delay: Added a delay that works the same as the attack delay below, but for looting items. Delay is 500ms by default.

Add - Client-side attack delay: Made is so the user won't send the attack key hundreds of times every second causing the server to do a huge amount of downloading. Theres a 200ms wait, by default, between attacks, client-side. This does not mean that they attack every 200ms, though. Also applicable to spells/skills casting/using.

Fix - Engine_Render_Grh/GrhEX: Fixed the Grh rendering routines to animate properly with fast animations that do not loop.

Change - NPC movement variable: NPC's move style variable was changed from an integer to a byte. Highly doubt you're going to have over 255 different type of movement AIs.

Add - Server high priority constant: Added a constant to state whether the server goes into high priority or not.

Add - Running: Changed shift to support running instead of changing the direction faced, and made the direction faced changed by holding tab instead.

Fix - Demo map blocked flags: Fixed the blocked flags on the demo maps in certain places, along with added the BlockedAttack flags where needed.

Add - Map editor BlockedAttack support: Added support for the map editor to set, load and save blocked attack flags. Since it was combined with the blocked walking form, a checkbox stating whether each one is to be used was added so you can set one blocked flag without setting the other.

Add - BlockedAttack tile flags: Added a BlockedAttack tile flag. No longer will not being able to attack be based off of the blocked tile, but the blockedattack instead. This allows you to be able to attack over stuff like cliffs and ponds and through fences without being able to walk through them.

Fix - Engine_ElapsedTime: Added a valid range check to the Engine_ElapsedTime routine that will make sure to never use more then 1000ms as the elapsed time to prevent overflows (both in the client and map editor).

Add - Engine_ClearPath: Added the Engine_ClearPath function that will check all the tiles between a user and their target to see if it is a valid path. On a 2.2ghz AMD processor, it runs faster then 0.001ms compiled on average, which is going to be perfect since the server is going to need to use it for every ranged attack used on a character that can't be used through walls.

Fix - NPC speed / delay time: Added a flag on Server_WalkTimePerTile that allows you to define the lag buffer time (default 150). For NPCs, they do not lag since theres no network lagtime for them like the users have, so they get this value set to 0. This will give the correct movement speed for the NPCs so they no longer jump around.

Fix - Crash spell casting: Fixed a bug in the spell casting routine that would crash the server when trying to cast a spell on a NPC.

Add - Line/rect collision detection: Added a wrapper for the line-line collision detection that will break down a rect into 4 lines and check the collision on them, allowing you to see if a line from, oh lets say the user to a NPC, contains any blocked tiles in it. On a 2.2ghz 512mb ram AMD processor, it takes about 0.0003 average (when compiled) to execute a single check. Quite the speedy little guy I must say.

Add - Line collision detection: Brewed up a line-line collision detection algorithm for upcoming usage with ranged attacks.

Add - Attack animation demo: Added an attack animation demo for both the bodies that shows the attack animation using the walking frame.

Fix - Attack animations: Fixed the attack animation routine to actually work and show attack animations correctly. Before, it was completely busted and would only flash a quick frame, if anything, for one frame, then revert back.

Change - GUI reposition key: Instead of F12 to reposition the GUI, it is now Shift + F12, so you can now use the last quick-use slot.

Add - Auto-reply whisper: If someone has whispered you, pressing R with the text buffer disabled (not in typing mode) will automatically type the reply text to the last person to whisper to you.

Fix - ValidCharacter: Fixed ValidCharacter to accept using spaces.

Add - Client-side legal name check: Added a legal name check for the client that will make sure the name/password are legal strings.

Fix - Client keyboard input: Cleaned up the client keyboard input a bit, namely the spells - if you hold down the spell button, it'll keep casting it, or alt will keep grabbing items off the ground.

Fix - Getting items from mail: Fixed a small bug in getting items from the mail that used the distance algorithm incorrectly.

Fix - Emoticons when mailing: Fixed the emoticons from coming up when composing a message.

Personal tools