Login Veteran Bonus

EQ2Emulator Development forum.

Moderator: Team Members

Post Reply
User avatar
xinux
Team Member
Posts: 680
Joined: Wed Mar 10, 2010 11:10 am
Location: Destroyer of Servers

Login Veteran Bonus

Post by xinux » Tue Dec 18, 2012 11:52 pm

Located the Veteran Bonus spot currently have it set to a hard set value till someone can code it in.
You do not have the required permissions to view the files attached to this post.
EQ II - Build=1360 (Orig) - Build=1360 (DoF) - Build=2654 (KoS) - Build=3375 (Classic) - Build=3554 (EoF)
EQ II - Build=4412 (RoK) - Build=5122 (TSO) - Build=6118 (SF) - Build=7628 (DoV) - Build=8295 (Aod)

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Login Veteran Bonus

Post by John Adams » Wed Dec 19, 2012 6:50 am

Thank you for your in-depth description of how to "code this in" ;)

So, how do bonuses work? What decides what % it will be? What are the values? How are they stored? What's the datatype? Are they account based, character based, etc? But, good find. Hope you figure out Freeblood appearances too ;)

There's something else in that login screen, the button to alter appearances. I tried tracing it down one day, when you click the button something is sent to Login but I got lost and then forgot about it.

Maybe we should add some entries to ProjMan for LoginServer additions. I know I want to struct-ify the login response packet and use data from the Login DB for more customizable server options.

User avatar
xinux
Team Member
Posts: 680
Joined: Wed Mar 10, 2010 11:10 am
Location: Destroyer of Servers

Re: Login Veteran Bonus

Post by xinux » Wed Dec 19, 2012 11:09 am

Here is the section in packetheaders.cpp where i added it in.

Code: Select all

EQ2Packet* LS_CharSelectList::serialize(int16 version){	
	Clear();
	AddData(num_characters);
	AddData(char_data);	
	if(version <= 1096){
		LS_CharListAccountInfo account_info;
		account_info.account_id = account_id;
		account_info.unknown1 = 0xFFFFFFFF;
		account_info.unknown2 = 0;
		account_info.unknown3 = 10;
		account_info.unknown4 = 0;
		account_info.vet_adv_bonus = 1;
		account_info.vet_trade_bonus = 2;
		for(int i=0;i<3;i++)
			account_info.unknown5[i] = 0xFFFFFFFF;
		account_info.unknown5[3] = 0;
		AddData(account_info);
	}
	else{
		LS_CharListAccountInfo1096Plus account_info;
		account_info.account_id = account_id;
		account_info.unknown1 = 0xFFFFFFFF;
		account_info.unknown2 = 0;
		account_info.unknown3 = 10;
		account_info.unknown4 = 0;
		account_info.vet_adv_bonus = 1;
		account_info.vet_trade_bonus = 2;
		for(int i=0;i<3;i++)
			account_info.unknown5[i] = 0xFFFFFFFF;
		account_info.unknown5[3] = 0;
		AddData(account_info);
	}
	return new EQ2Packet(OP_AllCharactersDescReplyMsg, getData(), getDataSize());
}

Here is the section in login_structs.h where i added it in.

Code: Select all

struct LS_CharListAccountInfo{
	int32	account_id;
	int32	unknown1;
	int16	unknown2;
	int32	unknown3;
	int8	unknown4;
	int32	unknown5[4];
	int8	vet_adv_bonus;
	int8	vet_trade_bonus;
};
struct LS_CharListAccountInfo1096Plus{
	int32	account_id;
	int32	unknown1;
	int16	unknown2;
	int32	unknown3;
	int8	unknown4;
	int32	unknown5[4];
	int8	vet_adv_bonus;
	int8	vet_trade_bonus;
};

The values are simple 1 = 20% 2 = 40% 3 = 60% all the way up to 200%

The veteran bonus has always been a account based bonus based on how many max adventure level and or tradeskill level characters you have.

for example if you have 2 max adventure level characters and 1 max tradeskill level character you will have the following applied to all characters on your account.

40% Adventure Bonus
20% Tradeskill Bonus


Hope you figure out Freeblood appearances too
You said you already had something worked out for that?
EQ II - Build=1360 (Orig) - Build=1360 (DoF) - Build=2654 (KoS) - Build=3375 (Classic) - Build=3554 (EoF)
EQ II - Build=4412 (RoK) - Build=5122 (TSO) - Build=6118 (SF) - Build=7628 (DoV) - Build=8295 (Aod)

User avatar
xinux
Team Member
Posts: 680
Joined: Wed Mar 10, 2010 11:10 am
Location: Destroyer of Servers

Re: Login Veteran Bonus

Post by xinux » Wed Dec 19, 2012 11:37 am

John Adams wrote: There's something else in that login screen, the button to alter appearances. I tried tracing it down one day, when you click the button something is sent to Login but I got lost and then forgot about it.

Looks like it is just 2 packets one to change the appearance and then the response from the server.

Code: Select all

-- OP_ReskinCharacterRequestMsg --
12/19/2012 10:27:46
10.15.155.168 -> 69.174.200.30
0000:	0F 00 00 00 00 65 00 00 00 07 BE 22 00 01 01 65 .....e....."...e
0010:	00 00 00 19 00 3A 67 63 37 34 39 30 64 37 39 62 .....:gc7490d79b
0020:	39 62 35 63 30 35 30 65 3A 48 75 6D 61 6E 09 01 9b5c050e:Human..
0030:	01 17 01 00 06 1B 00 65 63 2F 70 63 2F 68 75 6D .......ec/pc/hum
0040:	61 6E 2F 73 6F 67 61 5F 68 75 6D 61 6E 5F 6D 61 an/soga_human_ma
0050:	6C 65 83 82 82 3E BD BC 3C 3E F2 F0 F0 3D DA D8 le...>..<>...=..
0060:	D8 3E 99 98 98 3E 89 88 08 3E CE CC 4C 3F CE CC .>...>...>..L?..
0070:	4C 3F CE CC 4C 3F 99 98 18 3E B1 B0 B0 3D A9 A8 L?..L?...>...=..
0080:	A8 3D F2 F0 F0 3E CA C8 48 3E 00 00 00 00 DC DA .=...>..H>......
0090:	DA 3E E2 E0 60 3D C6 C4 44 3E 00 00 00 00 00 00 .>..`=..D>......
00A0:	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00B0:	00 00 00 00 18 00 61 63 63 65 73 73 6F 72 69 65 ......accessorie
00C0:	73 2F 68 61 69 72 2F 68 61 69 72 30 30 32 00 00 s/hair/hair002..
00D0:	00 00 00 00 00 00 00 00 00 00 B7 B6 B6 3E E2 E0 .............>..
00E0:	E0 3C C2 C0 C0 3C 1D 00 61 63 63 65 73 73 6F 72 .<...<..accessor
00F0:	69 65 73 2F 68 61 69 72 2F 66 61 63 65 2F 66 61 ies/hair/face/fa
0100:	63 65 30 30 34 00 00 00 00 00 00 00 00 00 00 00 ce004...........
0110:	00 B7 B6 B6 3E E2 E0 E0 3C C2 C0 C0 3C 00 00 00 ....>...<...<...
0120:	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0130:	00 00 00 00 00 00 00 3B 00 61 63 63 65 73 73 6F .......;.accesso
0140:	72 69 65 73 2F 77 65 61 72 61 62 6C 65 5F 69 74 ries/wearable_it
0150:	65 6D 73 2F 73 74 61 72 74 65 72 5F 63 6C 6F 74 ems/starter_clot
0160:	68 65 73 2F 68 75 6D 61 6E 5F 6D 61 6C 65 2F 63 hes/human_male/c
0170:	68 65 73 74 00 00 80 3F 00 00 80 3F 00 00 80 3F hest...?...?...?
0180:	00 00 80 3F 00 00 80 3F 00 00 80 3F 3A 00 61 63 ...?...?...?:.ac
0190:	63 65 73 73 6F 72 69 65 73 2F 77 65 61 72 61 62 cessories/wearab
01A0:	6C 65 5F 69 74 65 6D 73 2F 73 74 61 72 74 65 72 le_items/starter
01B0:	5F 63 6C 6F 74 68 65 73 2F 68 75 6D 61 6E 5F 6D _clothes/human_m
01C0:	61 6C 65 2F 6C 65 67 73 00 00 80 3F 00 00 80 3F ale/legs...?...?
01D0:	00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 80 3F ...?...?...?...?
01E0:	00 00 00 00 00 00 00 00 00 00 00 00 8F C2 75 3E ..............u>
01F0:	00 00 00 00 00 00 00 00 52 B8 5E 3F F5 28 DC BE ........R.^?.(..
0200:	00 00 00 00 CD CC 0C 3F 99 99 99 3E AE 47 E1 BE .......?...>.G..
0210:	C2 F5 28 BF 33 33 B3 BE 00 00 00 00 B8 1E 05 BE ..(.33..........
0220:	7B 14 6E 3F 33 33 73 3F 70 3D 8A BE E1 7A 54 BF {.n?33s?p=...zT.
0230:	00 00 80 3E 99 99 99 3E 1E 85 2B BF 52 B8 9E 3E ...>...>..+.R..>
0240:	66 66 E6 BE 00 00 80 BE 01 00                   ff........


Send's the same packet twice.

Code: Select all

-- OP_CreateCharacterReplyMsg --
12/19/2012 10:27:46
69.174.200.30 -> 10.15.155.168
0000:	00 09 00 4A 00 0C 47 85 67 2A 07 BE 22 00 01 06 ...J..G.g*.."...
0010:	00 48 61 63 61 63 69                            .Hacaci


-- OP_CreateCharacterReplyMsg --
12/19/2012 10:27:46
69.174.200.30 -> 10.15.155.168
0000:	00 09 00 4B 00 0C 47 85 67 2A 07 BE 22 00 01 06 ...K..G.g*.."...
0010:	00 48 61 63 61 63 69                            .Hacaci
EQ II - Build=1360 (Orig) - Build=1360 (DoF) - Build=2654 (KoS) - Build=3375 (Classic) - Build=3554 (EoF)
EQ II - Build=4412 (RoK) - Build=5122 (TSO) - Build=6118 (SF) - Build=7628 (DoV) - Build=8295 (Aod)

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Login Veteran Bonus

Post by John Adams » Wed Dec 19, 2012 12:50 pm

Yeah, ReSkin... that was it :) fix it! lol

As for Freeblood appearances, I added the DoV appearances to LoginServer db, then added the race ID, but still get a black female toon... I tried a few things I thought might be it but I think there's another race ID limit somewhere I missed. When I get more time it's on my TODO, but feel free to do it yourself if you have the desire or time.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests