VGOEmulator.net

A Development Project for the Vanguard:Saga of Heroes MMO

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • Portal
  • Project Manager
  • Bug Tracker
  • Server List
  • Wiki
  • Donate
  • Login
  • Register
  • Board index Community General Discussions
  • Search

Attribute/Gear Mods Testing

Discussions related to Vanguard: Saga of Heroes.

Moderator: Community Managers

Post Reply
  • Print view
Advanced search
10 posts • Page 1 of 1
User avatar
Ratief
Developer
Developer
Posts: 393
Joined: Thu Feb 06, 2014 8:21 am
Attribute/Gear Mods Testing
  • Quote

Post by Ratief » Wed Nov 25, 2015 11:16 pm

Hello All!

I could use some help testing the attribute code as well as the item equip code. Specifically you should be able to equip items and get their bonuses applied. I have a few attributes that even apply their mods to other attributes. So if you are interested in helping me test this, please create a character on "Ratief's Dev World" and play with items.

Here are some things to keep in mind/test/break.
  • Currently all stats display in strange ways and they all have a base default of 1%. Item mods are being applied, but they don't get displayed right now (I don't have the conversion from integer => percent working). So please don't bug this sort of stuff.[/*:m:2vly2s8y]
  • Defense, Attack, Ranged, and Off Hand are all sorts of screwed up and I haven't even looked into them yet.[/*:m:2vly2s8y]
  • The only attribute dependencies (that is what I'm calling them) that are working are the following.
    • Con => resists[/*:m:2vly2s8y]
    • Con => HPs[/*:m:2vly2s8y]
    • Vit => run speed[/*:m:2vly2s8y][/list:u][/*:m:2vly2s8y]
    • Hopefully things are all adding up to the correct values.[/*:m:2vly2s8y]
    • HPs/Energy/Endurance should all be working and regenerating.[/*:m:2vly2s8y]
    • Equiped effects/buffs aren't working.[/*:m:2vly2s8y]
    • Adventuring/Crafting/Diplomacy items should all be working.[/*:m:2vly2s8y]
    • Armor class should be working.[/*:m:2vly2s8y]
    • Mount speeds are currently stacking (ground+ground from flying mount = applied ground mount speed)[/*:m:2vly2s8y]
    • I haven't figured out how to detect landing yet, so you get the flying speed as soon as you summon your mount.[/*:m:2vly2s8y]
    • If my server disappears, just PM me and I'll get it running again.[/*:m:2vly2s8y]
    • You should be able to reset your attributes using '.resetattrs'.[/*:m:2vly2s8y]
    • If things get screwed up, try removing all of your gear, doing a resetattrs, then relogging. Please report if you have to do this as these bugs are critical![/*:m:2vly2s8y][/list:u]
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: Attribute/Gear Mods Testing
  • Quote

Post by John Adams » Thu Nov 26, 2015 8:02 am

Big Glaring Notice:

This is not code on New Telon!

You must test on Ratief's server.
Top

User avatar
Jakkal
Content Designer
Content Designer
Posts: 3098
Joined: Tue May 20, 2014 1:59 am
Location: Raleigh, NC
Contact:
Contact Jakkal
Website
Re: Attribute/Gear Mods Testing
  • Quote

Post by Jakkal » Thu Nov 26, 2015 12:57 pm

I tried to make a toon, but it broke. It didn't go to character customization at all. And now it's stuck on trying to get the info from the server.
Image
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: Attribute/Gear Mods Testing
  • Quote

Post by John Adams » Thu Nov 26, 2015 8:29 pm

Confirmed, created new toon, just hangs there.

Wake up from your turkey nap and reset!
Top

User avatar
Ratief
Developer
Developer
Posts: 393
Joined: Thu Feb 06, 2014 8:21 am
Re: Attribute/Gear Mods Testing
  • Quote

Post by Ratief » Thu Nov 26, 2015 11:39 pm

This is interesting. I see that the new characters got created without errors. I'm also still logged into the server. Very strange.

Edit: I was just able to create a character on my server as well. I have no clue why others are having an issue... I'll dig into it more tomorrow.
Top

User avatar
Ratief
Developer
Developer
Posts: 393
Joined: Thu Feb 06, 2014 8:21 am
Re: Attribute/Gear Mods Testing
  • Quote

Post by Ratief » Fri Nov 27, 2015 5:42 pm

Everyone should be able to log in now. Sorry for the troubles.
Top

User avatar
Ratief
Developer
Developer
Posts: 393
Joined: Thu Feb 06, 2014 8:21 am
Re: Attribute/Gear Mods Testing
  • Quote

Post by Ratief » Fri Nov 27, 2015 9:40 pm

As I've been playing with this and trying to figure out the correct stat defaults, I have run into a couple of problems though.

1) The item mod parsed data has all of the values as unsigned ints. There are several items that have negative item mods. I think we can fix this without a re-parse, but I want to mention it.

2) This one could be a big issue. I've run across some items that have strange mods listed. For the most part, if attribute_id=-1, then attribute_id2=the stat id (or so I assumed). However, I have found that there are some items with mods that have both an attribute_id and an attribute_id2. Both seem to be valid. As an example, item #1268888, has +156 Physical Spell Damage Focus. This is somehow derived from attribute_id=114 and attribute_id2=15. I haven't figured out what a stat id=15 is yet (it is still unknown), but 114 is attribute Physical Resistance. So somehow stat 15 turns that into Physical Spell Damage Focus. You see the same sort of thing from item #1269663. Stat 15 somehow turns attribute #55 (Fire Resistance) into Fire Spell Damage Focus. I've also seen this sort of thing on some diplo mods.

My code definitely doesn't deal with this strangeness. Right now I'm not even sure how to deal with it. I'm going to have to stand back and look at it all again and see if attribute_id2 is actually an id at all. Maybe it is some sort of function id...
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: Attribute/Gear Mods Testing
  • Quote

Post by John Adams » Fri Nov 27, 2015 10:33 pm

[quote="Ratief"]The item mod parsed data has all of the values as unsigned ints. There are several items that have negative item mods. I think we can fix this without a re-parse, but I want to mention it.[/quote]
Make sure this is fixed in the vgemu-structs.xml file and I will update the parser for the next full run (happening soon). If you don't know how, get with Xinux.


Also, here is my explosion of that item, if seeing the data helps.
http://vgoplayers.com/items.php?itemId=1268888
Top

User avatar
Xinux
Project Leader
Project Leader
Posts: 2549
Joined: Wed Aug 28, 2013 2:20 pm
Re: Attribute/Gear Mods Testing
  • Quote

Post by Xinux » Sat Nov 28, 2015 9:57 am

15 = Spell Damage focus

Code: Select all

BOOL __cdecl _GetItemModNameById(int a1, int a2)
{
  int v2; // edx@2
  int v3; // eax@68
  char *v5; // [sp-4h] [bp-68h]@3
  int v6; // [sp+4h] [bp-60h]@0
  int v7; // [sp+8h] [bp-5Ch]@0
  int v8; // [sp+10h] [bp-54h]@0
  int v9; // [sp+14h] [bp-50h]@1
  int v10; // [sp+18h] [bp-4Ch]@1
  char v11; // [sp+1Ch] [bp-48h]@68
  void *v12; // [sp+20h] [bp-44h]@69
  int v13; // [sp+30h] [bp-34h]@70
  unsigned int v14; // [sp+34h] [bp-30h]@68
  char v15; // [sp+38h] [bp-2Ch]@68
  void *v16; // [sp+3Ch] [bp-28h]@68
  int v17; // [sp+4Ch] [bp-18h]@68
  unsigned int v18; // [sp+50h] [bp-14h]@68
  unsigned int v19; // [sp+54h] [bp-10h]@1
  int v20; // [sp+60h] [bp-4h]@2

  v19 = (unsigned int)&v9 ^ dword_144A69C;
  v10 = a1;
  v9 = 0;
  switch ( a2 )
  {
    case 2:
      _BasicString__BasicString(a1, (char *)L"Tool Accuracy");
      v20 = 0;
      v9 = 1;
      return sub_DA40AB((void *)((unsigned int)&v9 ^ v19), a1, v2, v8, v6, v7, v9);
    case 3:
    case 43:
      v5 = (char *)L"Tool Effectiveness";
      goto LABEL_4;
    case 5:
      v5 = (char *)L"Healing Focus";
      goto LABEL_4;
    case 6:
    case 15:
      v5 = (char *)L"Spell Damage Focus";
      goto LABEL_4;
    case 7:
      v5 = (char *)L"Accuracy Rating";
      goto LABEL_4;
    case 8:
      v5 = (char *)L"Damage Rating";
      goto LABEL_4;
    case 9:
      v5 = (char *)L"Evasion Rating";
      goto LABEL_4;
    case 10:
      v5 = (char *)L"Mitigation Rating";
      goto LABEL_4;
    case 26:
      v5 = (char *)L"Melee Accuracy Rating";
      goto LABEL_4;
    case 27:
      v5 = (char *)L"Melee Damage Rating";
      goto LABEL_4;
    case 28:
      v5 = (char *)L"Melee Evasion Rating";
      goto LABEL_4;
    case 29:
      v5 = (char *)L"Melee Mitigation Rating";
      goto LABEL_4;
    case 30:
      v5 = (char *)L"Ranged Accuracy Rating";
      goto LABEL_4;
    case 31:
      v5 = (char *)L"Ranged Damage Rating";
      goto LABEL_4;
    case 32:
      v5 = (char *)L"Spell Accuracy Rating";
      goto LABEL_4;
    case 33:
      v5 = (char *)L"Spell Damage Rating";
      goto LABEL_4;
    case 34:
      v5 = (char *)L"Spell Evasion Rating";
      goto LABEL_4;
    case 35:
      v5 = (char *)L"Spell Mitigation Rating";
      goto LABEL_4;
    case 37:
      v5 = (char *)L"Endurance Regeneration";
      goto LABEL_4;
    case 38:
      v5 = (char *)L"Energy Regeneration";
      goto LABEL_4;
    case 39:
      v5 = (char *)L"Health Regeneration";
      goto LABEL_4;
    case 40:
      v5 = (char *)L"Melee Haste";
      goto LABEL_4;
    case 41:
      v5 = (char *)L"Spell Haste";
      goto LABEL_4;
    case 42:
      v5 = (char *)L"Mount Speed (Ground)";
      goto LABEL_4;
    case 70:
      v5 = (char *)L"Mount Speed (Air)";
      goto LABEL_4;
    case 71:
      v5 = (char *)L"Mount Speed (Water)";
      goto LABEL_4;
    case 36:
      v5 = (char *)L"Mount Stability";
      goto LABEL_4;
    case 48:
      v5 = (char *)L"Debate Effectiveness";
      goto LABEL_4;
    case 49:
      v5 = (char *)L"Min Range";
      goto LABEL_4;
    case 50:
      v5 = (char *)L"Max Range";
      goto LABEL_4;
    case 51:
      v5 = (char *)L"% Aim Time";
      goto LABEL_4;
    case 52:
      v5 = (char *)L"General Critical Hit Rating";
      goto LABEL_4;
    case 53:
      v5 = (char *)L"Melee Critical Hit Rating";
      goto LABEL_4;
    case 54:
      v5 = (char *)L"Ranged Critical Hit Rating";
      goto LABEL_4;
    case 55:
      v5 = (char *)L"Spell Critical Hit Rating";
      goto LABEL_4;
    case 67:
      v5 = (char *)L"Harvesting Speed";
      goto LABEL_4;
    case 68:
      v5 = (char *)L"Min Units Per Hit";
      goto LABEL_4;
    case 69:
      v5 = (char *)L"Avg Units Per Hit";
      goto LABEL_4;
    case 19:
      v5 = (char *)L"Assembly Skills";
      goto LABEL_4;
    case 17:
      v5 = (char *)L"Refining Parent Skills";
      goto LABEL_4;
    case 18:
      v5 = (char *)L"Finishing Parent Skills";
      goto LABEL_4;
    case 20:
      v5 = (char *)L"Crafting Station Use";
      goto LABEL_4;
    case 22:
      v5 = (char *)L"Crafting Tool Use";
      goto LABEL_4;
    case 21:
      v5 = (char *)L"Crafting Utility Use";
      goto LABEL_4;
    case 72:
      v5 = (char *)L"Heal Critical Chance";
      goto LABEL_4;
    case 73:
      v5 = (char *)L"Heal Critical Multiplier";
      goto LABEL_4;
    case 75:
      v5 = (char *)L"Melee Strikethrough";
      goto LABEL_4;
    case 76:
      v5 = (char *)L"Melee Strikethrough Chance";
      goto LABEL_4;
    case 77:
      v5 = (char *)L"Spell Strikethrough";
      goto LABEL_4;
    case 78:
      v5 = (char *)L"Spell Strikethrough Chance";
      goto LABEL_4;
    case 74:
      v5 = (char *)L"Heal Effectiveness";
      goto LABEL_4;
    case 45:
      v5 = (char *)L"Weapon Damage";
      goto LABEL_4;
    case 44:
      v5 = (char *)L"Armor Class";
      goto LABEL_4;
    case 46:
      v5 = (char *)L"Weapon Delay";
      goto LABEL_4;
    case 79:
      v5 = (char *)L"Global Recovery Haste";
      goto LABEL_4;
    case 80:
      v5 = (char *)L"Critical Hit Evasion";
      goto LABEL_4;
    case 81:
      v5 = (char *)L"Critical Hit Mitigation";
      goto LABEL_4;
    case 82:
      v5 = (char *)L"Proc On Attack Chance";
      goto LABEL_4;
    case 83:
      v5 = (char *)L"Proc On Hit Chance";
      goto LABEL_4;
    case 84:
      v5 = (char *)L"Proc On Cast Chance";
      goto LABEL_4;
    case 85:
      v5 = (char *)L"AOE Mitigation";
      goto LABEL_4;
    case 86:
      v5 = (char *)L"Spell Critical Damage Bonus";
      goto LABEL_4;
    case 87:
      v5 = (char *)L"Melee Critical Damage Bonus";
      goto LABEL_4;
    case 88:
      v5 = (char *)L"Ranged Critical Damage Bonus";
      goto LABEL_4;
    case 89:
      v5 = (char *)L"Critical Damage Bonus";
LABEL_4:
      _BasicString__BasicString(a1, v5);
      v20 = 0;
      v9 = 1;
      break;
    default:
      v18 = 7;
      v17 = 0;
      LOWORD(v16) = 0;
      _BasicString__opEquals_wchar_((int)&v15, (char *)L"Unknown Mod: ", 13);
Top

User avatar
Ratief
Developer
Developer
Posts: 393
Joined: Thu Feb 06, 2014 8:21 am
Re: Attribute/Gear Mods Testing
  • Quote

Post by Ratief » Sat Nov 28, 2015 4:57 pm

The trouble is that 15 is also all of the specialized spell damage focus values (so 7 attributes in one). My code is written such that they are all separate attributes.
Top


Post Reply
  • Print view

10 posts • Page 1 of 1

Return to “General Discussions”

Jump to
  • Information
  • ↳   Announcements
  • ↳   Dev Chats
  • ↳   Events
  • Community
  • ↳   General Discussions
  • ↳   VGO Team Help Requests
  • ↳   Introductions
  • ↳   Game Features
  • ↳   Wish List
  • ↳   Off-Topic
  • Support
  • ↳   How-To's
  • ↳   General Support
  • ↳   Windows
  • ↳   Linux
  • Bugs
  • ↳   Server Bugs
  • ↳   Server Bugs (Closed)
  • ↳   Content Bugs
  • ↳   Content Bugs (Closed)
  • ↳   Database Bugs
  • ↳   Tools Bugs
  • Board index
  • All times are UTC-07:00
  • Delete cookies
  • Contact us
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD