Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 04-23-2016, 07:18 PM
Figback65
Discordant
 
Join Date: Aug 2009
Location: 2131231231
Posts: 255
Default Titanium/Non Crescent Hardcode startzones/default binds

This is the hardcode I implemented to make sure start zones and start binds work for titanium. Titanium was iffy on reading the start zones table, plus, it always had issues with double default binds via woodelves in kelethen bound in gfaydark and high elves bound in gfaydark. It never allowed 2 separate binds, anywho, heres the code.

I deleted all entries in the startzones table so it didn't pull anything from there.

If you want to change anything, atleast heres a good example to work with how you want it to be.

EDIT : Because I'm classic-pop with no drakkin and theres no case for froglok in rathe mountain(left froglok in for fashionquest). I added a race check in default. You could do the same for drakkin I imagine.

worlddb.cpp
Code:
void WorldDatabase::SetTitaniumDefaultStartZone(PlayerProfile_Struct* in_pp, CharCreate_Struct* in_cc)
{
	switch (in_cc->start_zone)
	{
		case 0: // Erudin
	{
		if (in_cc->class_ == SHADOWKNIGHT) // Cazic-Thule Erudites go to Paineel WORKS
		{
			in_pp->x = 456.00;
			in_pp->y = 880.00;
			in_pp->z = -120.18;
			in_pp->zone_id = 75; // paineel
			in_pp->binds[0].zoneId = 75;
			in_pp->binds[0].x = 200.00;
			in_pp->binds[0].y = 800.00;
			in_pp->binds[0].z = 3.39;
		}
		else if (in_cc->class_ == NECROMANCER) // Cazic-Thule Erudites go to Paineel WORKS 
		{
			in_pp->x = 839.42;
			in_pp->y = 785.43;
			in_pp->z = -24.12;
			in_pp->zone_id = 75; // paineel
			in_pp->binds[0].zoneId = 75;
			in_pp->binds[0].x = 200.00;
			in_pp->binds[0].y = 800.00;
			in_pp->binds[0].z = 3.39;
		}
		else
		{
			in_pp->x = 75.89;
			in_pp->y = -14.76;
			in_pp->z = 19.75;
			in_pp->zone_id = 24;	// erudnext
			in_pp->binds[0].zoneId = 38;	// tox
			in_pp->binds[0].x = 204.20;
			in_pp->binds[0].y = 2358.52;
			in_pp->binds[0].z = -44.89;
		}
		break;
	}
	case 1: // Qeynos
	{
		if (in_cc->deity == 201)
		{
			in_pp->x = -370.89;
			in_pp->y = 361.61;
			in_pp->z = -38.22;
			in_pp->zone_id = 45; // qcat
			in_pp->binds[0].zoneId = 2;
			in_pp->binds[0].x = 120;
			in_pp->binds[0].y = 406.14;
			in_pp->binds[0].z = 1.88;
		}
		else
		{
			in_pp->x = 233.76;
			in_pp->y = 20.43;
			in_pp->z = 2.44;
			in_pp->zone_id = 2;	// qeynos2
			in_pp->binds[0].zoneId = 2;	// qeynos2
			in_pp->binds[0].x = 120;
			in_pp->binds[0].y = 406.14;
			in_pp->binds[0].z = 1.88;
		}
		break;
	}
	case 2: // Halas
	{
		in_pp->x = 75.54;
		in_pp->y = 127.53;
		in_pp->z = 4.38;
		in_pp->zone_id = 29;	// halas
		in_pp->binds[0].zoneId = 30;	// everfrost
		in_pp->binds[0].x = 578.13;
		in_pp->binds[0].y = 3346.48;
		in_pp->binds[0].z = -49.70;
		break;
	}
	case 3: // Rivervale
	{
		in_pp->x = -157.54;
		in_pp->y = 100.40;
		in_pp->z = 46.16;
		in_pp->zone_id = 19;	// rivervale
		in_pp->binds[0].zoneId = 33;	// misty
		in_pp->binds[0].x = -2427.33;
		in_pp->binds[0].y = 491.37;
		in_pp->binds[0].z = 1.36;
		break;
	}
	case 4: // Freeport
	{
		in_pp->x = -667.86;
		in_pp->y = 146.32;
		in_pp->z = -54.09;
		in_pp->zone_id = 10;	// freporte
		in_pp->binds[0].zoneId = 9;	// freportw
		in_pp->binds[0].x = 100.35;
		in_pp->binds[0].y = 33.62;
		in_pp->binds[0].z = -26.12;
		break;
	}
	case 5: // Dark Elves
	{
		in_pp->x = -559.71;
		in_pp->y = -55.14;
		in_pp->z = -40.09;
		in_pp->zone_id = 40;	// neriaka
		in_pp->binds[0].zoneId = 25;	// nektulos
		in_pp->binds[0].x = -1019.67;
		in_pp->binds[0].y = 2309.76;
		in_pp->binds[0].z = 1.56;
		break;
	}
	case 6: // Trolls
	{
		in_pp->x = 3.0;
		in_pp->y = 23.0;
		in_pp->z = 5.0;
		in_pp->zone_id = 52;	// gukta
		in_pp->binds[0].zoneId = 46;	// innothule
		in_pp->binds[0].x = -536.88;
		in_pp->binds[0].y = -2617.37;
		in_pp->binds[0].z = -20.70;
		break;
	}
	case 7: // Ogres
	{
		in_pp->x = 504.00;
		in_pp->y = 208.00;
		in_pp->z = 61.59;
		in_pp->zone_id = 49;	// oggok
		in_pp->binds[0].zoneId = 47;	// feerrott
		in_pp->binds[0].x = 900.70;
		in_pp->binds[0].y = 1446.68;
		in_pp->binds[0].z = 62.94;
		break;
	}
	case 8: // Dwarfs
	{
		in_pp->x = 38.00;
		in_pp->y = 43.00;
		in_pp->z = 2.50;
		in_pp->zone_id = 60;	// kaladima
		in_pp->binds[0].zoneId = 68;	// butcher
		in_pp->binds[0].x = -212.98;
		in_pp->binds[0].y = 2876.49;
		in_pp->binds[0].z = -0.90;
		break;
	}
	case 9: // Wood Elves
	{
		if (in_cc->class_ == WARRIOR) // 
		{
			in_pp->x = 276.99;
			in_pp->y = 343.69;
			in_pp->z = 75.85;
			in_pp->zone_id = 54;	// gfaydark
			in_pp->binds[0].zoneId = 54;	// gfaydark
			in_pp->binds[0].x = 218.55;
			in_pp->binds[0].y = 204.54;
			in_pp->binds[0].z = -1.50;
		}
		else if (in_cc->class_ == BARD) // 
		{
			in_pp->x = 248.76;
			in_pp->y = -235.21;
			in_pp->z = 75.85;
			in_pp->zone_id = 54;	// gfaydark
			in_pp->binds[0].zoneId = 54;	// gfaydark
			in_pp->binds[0].x = 218.55;
			in_pp->binds[0].y = 204.54;
			in_pp->binds[0].z = -1.50;
		}
		else if (in_cc->class_ == RANGER) // 
		{
			in_pp->x = 472.72;
			in_pp->y = -411.62;
			in_pp->z = 116.28;
			in_pp->zone_id = 54;	// gfaydark
			in_pp->binds[0].zoneId = 54;	// gfaydark
			in_pp->binds[0].x = 218.55;
			in_pp->binds[0].y = 204.54;
			in_pp->binds[0].z = -1.50;
		}
		else if (in_cc->class_ == ROGUE) // 
		{
			in_pp->x = -211.92;
			in_pp->y = -499.10;
			in_pp->z = 159.85;
			in_pp->zone_id = 54;	// gfaydark
			in_pp->binds[0].zoneId = 54;	// gfaydark
			in_pp->binds[0].x = 218.55;
			in_pp->binds[0].y = 204.54;
			in_pp->binds[0].z = -1.50;
		}
		else if (in_cc->class_ == DRUID) // 
		{
			in_pp->x = 224.11;
			in_pp->y = -628.38;
			in_pp->z = 75.81;
			in_pp->zone_id = 54;	// gfaydark
			in_pp->binds[0].zoneId = 54;	// gfaydark
			in_pp->binds[0].x = 218.55;
			in_pp->binds[0].y = 204.54;
			in_pp->binds[0].z = -1.50;
		}
		else {
			in_pp->x = 218.55;
			in_pp->y = 204.54;
			in_pp->z = -1.50;
			in_pp->zone_id = 54;	// gfaydark
			in_pp->binds[0].zoneId = 54;	// gfaydark
			in_pp->binds[0].x = 218.55;
			in_pp->binds[0].y = 204.54;
			in_pp->binds[0].z = -1.50;
		}
		break;
	}
	case 10: // High Elves
	{
		in_pp->x = 94.00;
		in_pp->y = -25.00;
		in_pp->z = 1.88;
		in_pp->zone_id = 61;	// felwithea
		in_pp->binds[0].zoneId = 54;	// gfaydark
		in_pp->binds[0].x = -2331.74;
		in_pp->binds[0].y = -1999.01;
		in_pp->binds[0].z = 27.36;
		break;
	}
	case 11: // Gnomes
	{ // Case
		if (in_cc->deity == 201) // Deity
		{
			if (in_cc->class_ == CLERIC) // 
			{
				in_pp->x = -403.04;
				in_pp->y = 2091.60;
				in_pp->z = -182.06;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == ENCHANTER) // 
			{
				in_pp->x = -587.69;
				in_pp->y = 2031.06;
				in_pp->z = -182.06;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == MAGICIAN) // 
			{
				in_pp->x = -587.69;
				in_pp->y = 2031.06;
				in_pp->z = -182.06;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == NECROMANCER) // 
			{
				in_pp->x = -403.04;
				in_pp->y = 2091.60;
				in_pp->z = -182.06;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == ROGUE) // 
			{
				in_pp->x = -498.21;
				in_pp->y = 2067.43;
				in_pp->z = -182.06;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == SHADOWKNIGHT) // 
			{
				in_pp->x = -435.80;
				in_pp->y = 2139.74;
				in_pp->z = -182.06;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == WARRIOR) // 
			{
				in_pp->x = -511.52;
				in_pp->y = 2109.26;
				in_pp->z = -182.06;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == WIZARD) // 
			{
				in_pp->x = -587.69;
				in_pp->y = 2031.06;
				in_pp->z = -182.06;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
		} // close deity
		else
		{
			if (in_cc->class_ == PALADIN) // 
			{
				in_pp->x = -544.65;
				in_pp->y = 1230.97;
				in_pp->z = -40.09;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == CLERIC) // 
			{
				in_pp->x = -557.09;
				in_pp->y = 1190.74;
				in_pp->z = -40.09;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == ENCHANTER) // 
			{
				in_pp->x = -1008.20;
				in_pp->y = 1083.57;
				in_pp->z = 29.88;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == MAGICIAN) // 
			{
				in_pp->x = -1008.20;
				in_pp->y = 1083.57;
				in_pp->z = 29.88;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == ROGUE) // 
			{
				in_pp->x = -605.87;
				in_pp->y = 1240.76;
				in_pp->z = -54.09;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == WARRIOR) // 
			{
				in_pp->x = -436.47;
				in_pp->y = 850.33;
				in_pp->z = -30.12;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}
			else if (in_cc->class_ == WIZARD) // 
			{
				in_pp->x = -1008.20;
				in_pp->y = 1083.57;
				in_pp->z = 29.88;
				in_pp->zone_id = 55;	// akanon
				in_pp->binds[0].zoneId = 56;	// steamfont
				in_pp->binds[0].x = 556.56;
				in_pp->binds[0].y = -1810.46;
				in_pp->binds[0].z = -110.03;
			}	
		} // close else
		break;
		} // close case
	
	case 12: // Iksar
	{
		if (in_cc->class_ == SHADOWKNIGHT) // 
		{
			in_pp->x = -190.09;
			in_pp->y = 1041.38;
			in_pp->z = 45.72;
			in_pp->zone_id = 106; // cabeast
			in_pp->binds[0].zoneId = 78; // field of bone
			in_pp->binds[0].x = 3217.32;
			in_pp->binds[0].y = -2395.32;
			in_pp->binds[0].z = 10.31;
		}
		else if (in_cc->class_ == BEASTLORD) // 
		{
			in_pp->x = -190.09;
			in_pp->y = 1041.38;
			in_pp->z = 45.72;
			in_pp->zone_id = 106; // cabeast
			in_pp->binds[0].zoneId = 78; // field of bone
			in_pp->binds[0].x = 3217.32;
			in_pp->binds[0].y = -2395.32;
			in_pp->binds[0].z = 10.31;
		}
		else if (in_cc->class_ == SHAMAN) // 
		{
			in_pp->x = -189.26;
			in_pp->y = 1030.43;
			in_pp->z = 20.75;
			in_pp->zone_id = 106; // cabeast
			in_pp->binds[0].zoneId = 78; // field of bone
			in_pp->binds[0].x = 3217.32;
			in_pp->binds[0].y = -2395.32;
			in_pp->binds[0].z = 10.31;
		}
		else if (in_cc->class_ == NECROMANCER) //  
		{
			in_pp->x = 793.48;
			in_pp->y = 315.15;
			in_pp->z = 76.72;
			in_pp->zone_id = 82; // cabwest
			in_pp->binds[0].zoneId = 78; // field of bone
			in_pp->binds[0].x = 3217.32;
			in_pp->binds[0].y = -2395.32;
			in_pp->binds[0].z = 10.31;
		}
		else if (in_cc->class_ == WARRIOR) //  
		{
			in_pp->x = 16.00;
			in_pp->y = -477.00;
			in_pp->z = 59.72;
			in_pp->zone_id = 106; // cabeast
			in_pp->binds[0].zoneId = 78; // field of bone
			in_pp->binds[0].x = 3217.32;
			in_pp->binds[0].y = -2395.32;
			in_pp->binds[0].z = 10.31;
		}
		else if (in_cc->class_ == MONK) // 
		{
			in_pp->x = -42.96;
			in_pp->y = 420.47;
			in_pp->z = 6.75;
			in_pp->zone_id = 106; // cabeast
			in_pp->binds[0].zoneId = 78; // field of bone
			in_pp->binds[0].x = 3217.32;
			in_pp->binds[0].y = -2395.32;
			in_pp->binds[0].z = 10.31;
		}
		else
		{
			in_pp->zone_id = 82;	// cabwest
			in_pp->binds[0].zoneId = 78;	// fieldofbone
		}
		break;
	}
	case 13: // Vahshir
	{
		if (in_cc->class_ == SHAMAN) // 
		{
			in_pp->x = 101.07;
			in_pp->y = 58.30;
			in_pp->z = -259.50;
			in_pp->zone_id = 155; // sharvahl
			in_pp->binds[0].zoneId = 165; // shadeweavers
			in_pp->binds[0].x = -3399.17;
			in_pp->binds[0].y = -2132.69;
			in_pp->binds[0].z = -100.65;
		}
		else if (in_cc->class_ == BEASTLORD) // 
		{
			in_pp->x = 89.92;
			in_pp->y = 275.48;
			in_pp->z = -259.52;
			in_pp->zone_id = 155; // sharvahl
			in_pp->binds[0].zoneId = 165; // shadeweavers
			in_pp->binds[0].x = -3399.17;
			in_pp->binds[0].y = -2132.69;
			in_pp->binds[0].z = -100.65;
		}
		else if (in_cc->class_ == BARD) // 
		{
			in_pp->x = 554.77;
			in_pp->y = -0.80;
			in_pp->z = -103.43;
			in_pp->zone_id = 155; // sharvahl
			in_pp->binds[0].zoneId = 165; // shadeweavers
			in_pp->binds[0].x = -3399.17;
			in_pp->binds[0].y = -2132.69;
			in_pp->binds[0].z = -100.65;
		}
		else if (in_cc->class_ == WARRIOR) // 
		{
			in_pp->x = -538.20;
			in_pp->y = -144.16;
			in_pp->z = -259.44;
			in_pp->zone_id = 155; // sharvahl
			in_pp->binds[0].zoneId = 165; // shadeweavers
			in_pp->binds[0].x = -3399.17;
			in_pp->binds[0].y = -2132.69;
			in_pp->binds[0].z = -100.65;
		}
		else if (in_cc->class_ == ROGUE) // 
		{
			in_pp->x = -300.53;
			in_pp->y = 191.60;
			in_pp->z = -247.53;
			in_pp->zone_id = 155; // sharvahl
			in_pp->binds[0].zoneId = 165; // shadeweavers
			in_pp->binds[0].x = -3399.17;
			in_pp->binds[0].y = -2132.69;
			in_pp->binds[0].z = -100.65;
		}
		break;
	}
	default:
		if (in_cc->race == 330)
		{
			in_pp->x = 227.00;
			in_pp->y = -1762.43;
			in_pp->z = 3.01;
			in_pp->zone_id = 50; // rathemtn
			in_pp->binds[0].zoneId = 50;
			in_pp->binds[0].x = 227.00;
			in_pp->binds[0].y = 1762.43;
			in_pp->binds[0].z = 3.01;
		}
	}
}
__________________
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:01 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3