Compare commits
855
Commits
exiles-reach
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7288b8fedc | ||
|
|
36b30fd12a | ||
|
|
18ba84dd4e | ||
|
|
1e80d7d867 | ||
|
|
72a879d9cb | ||
|
|
aa08843e07 | ||
|
|
f2abcf67f6 | ||
|
|
cd572e8c6c | ||
|
|
b41cd95bb8 | ||
|
|
4985ab08a5 | ||
|
|
40ae64dd29 | ||
|
|
2640fdfa8e | ||
|
|
5e5965090b | ||
|
|
e90e395c35 | ||
|
|
b28dd6f77e | ||
|
|
5de7d827b3 | ||
|
|
95ff338eca | ||
|
|
1911c8b01b | ||
|
|
bc9e2c6d08 | ||
|
|
7816605b95 | ||
|
|
d259e0c817 | ||
|
|
f60ffe5032 | ||
|
|
ebf4b1b22c | ||
|
|
27c5476d5a | ||
|
|
83da508058 | ||
|
|
ebbe43a634 | ||
|
|
ff44fb9b69 | ||
|
|
7947401f3d | ||
|
|
9c7248966d | ||
|
|
e4daabc3a1 | ||
|
|
1835f627f6 | ||
|
|
ae710dcbbc | ||
|
|
ef7196351f | ||
|
|
8f47424a9a | ||
|
|
dd0d836bd1 | ||
|
|
48857018a5 | ||
|
|
f4ee5e5bbc | ||
|
|
fdb2c9392a | ||
|
|
33dffdf87b | ||
|
|
25e9fff09e | ||
|
|
eeb3c0c5c5 | ||
|
|
bbbf3bea53 | ||
|
|
cc8c877fc5 | ||
|
|
a701921b8c | ||
|
|
9664205b9b | ||
|
|
e2eb1fcaf0 | ||
|
|
d9729007c4 | ||
|
|
463ec4cc72 | ||
|
|
cf2d9c103f | ||
|
|
4715082743 | ||
|
|
e933258349 | ||
|
|
8a37692345 | ||
|
|
6b8b9336a5 | ||
|
|
5cbecf8e2d | ||
|
|
2774bb526f | ||
|
|
3a6212a9c2 | ||
|
|
3b8bbcb859 | ||
|
|
76505646a8 | ||
|
|
30824bfacb | ||
|
|
dbf1b1c0fe | ||
|
|
764eed6848 | ||
|
|
f088494ba0 | ||
|
|
3005443985 | ||
|
|
ee02d40e37 | ||
|
|
1c1756a1b5 | ||
|
|
11a25ded12 | ||
|
|
ed4bc78023 | ||
|
|
f58e739dcc | ||
|
|
a20c8988e8 | ||
|
|
13962ebc9f | ||
|
|
83fad1dae2 | ||
|
|
721396ef88 | ||
|
|
de14780789 | ||
|
|
bb3f84a87b | ||
|
|
0811620d76 | ||
|
|
1a914f5d74 | ||
|
|
01eaf563aa | ||
|
|
1cb0bb3f18 | ||
|
|
7e0bf614d4 | ||
|
|
41bf69e6e3 | ||
|
|
9e85d7bfa1 | ||
|
|
92949ff547 | ||
|
|
ae1c5f670f | ||
|
|
14ba04a2c0 | ||
|
|
2b4c49e31a | ||
|
|
47823f7416 | ||
|
|
5b5ce961e4 | ||
|
|
5cdb343842 | ||
|
|
472a782291 | ||
|
|
8a385c320b | ||
|
|
c694852504 | ||
|
|
67e0962a8b | ||
|
|
515efb2f86 | ||
|
|
6aee5fae08 | ||
|
|
89c539930f | ||
|
|
d3c0feebd9 | ||
|
|
b3076a01e0 | ||
|
|
ce8f02e48c | ||
|
|
246e9dccac | ||
|
|
5aa2a95eb6 | ||
|
|
c86a787d30 | ||
|
|
958e6e1ce6 | ||
|
|
8bca310f58 | ||
|
|
03b07adc15 | ||
|
|
899d0bde96 | ||
|
|
bfe79dc2d0 | ||
|
|
429ecdbe18 | ||
|
|
29e1d475f2 | ||
|
|
609aee127d | ||
|
|
7d1bc1237a | ||
|
|
5cb9dee306 | ||
|
|
3b52d609b1 | ||
|
|
4995d2ad14 | ||
|
|
b76377791b | ||
|
|
2f83245d87 | ||
|
|
bed3e0ff04 | ||
|
|
ca9f547035 | ||
|
|
5b021fc840 | ||
|
|
9cded4b858 | ||
|
|
53a7b0bbe9 | ||
|
|
e0ec5ac309 | ||
|
|
5f9987f63c | ||
|
|
238bc1541d | ||
|
|
deb42069d1 | ||
|
|
0cca4fcaf3 | ||
|
|
c2c22d88e8 | ||
|
|
4f387f1a3b | ||
|
|
f26a91fccf | ||
|
|
1a4902da04 | ||
|
|
4f942bbfe2 | ||
|
|
08105da605 | ||
|
|
a07eb6739a | ||
|
|
195c203d7c | ||
|
|
dc7c72ccfe | ||
|
|
14d1ef2d8f | ||
|
|
bc3139d921 | ||
|
|
7ac30d7e38 | ||
|
|
6cc26797ab | ||
|
|
e9bf501289 | ||
|
|
e5129ef40b | ||
|
|
69fa75cc2a | ||
|
|
7ffcd43922 | ||
|
|
167d313f96 | ||
|
|
a4e3679a45 | ||
|
|
cb8189accc | ||
|
|
37614b092c | ||
|
|
596eba3cab | ||
|
|
61e5da7d30 | ||
|
|
c4c374f027 | ||
|
|
fd70992193 | ||
|
|
4f28b6102f | ||
|
|
a9bc53c831 | ||
|
|
660bf7cec9 | ||
|
|
c212ff96b9 | ||
|
|
8d82d82732 | ||
|
|
ed5d0abfd3 | ||
|
|
2de3e034cc | ||
|
|
9432531975 | ||
|
|
75e50d8dda | ||
|
|
2f9c44c59c | ||
|
|
b6368e27f3 | ||
|
|
d9fa1aa73a | ||
|
|
6f93adbb2e | ||
|
|
3f5e997afd | ||
|
|
f19ee3937b | ||
|
|
f4afc16458 | ||
|
|
14beca20cc | ||
|
|
7baf8f83bb | ||
|
|
2cf2860cec | ||
|
|
18cf0e7fb0 | ||
|
|
9d8f098439 | ||
|
|
6266a8166d | ||
|
|
155c4090f9 | ||
|
|
6d82f07fba | ||
|
|
06d7734c8b | ||
|
|
04009024c9 | ||
|
|
774ec07192 | ||
|
|
7620e2d56f | ||
|
|
c4e9817395 | ||
|
|
6d0dd72fd5 | ||
|
|
fcf91ca159 | ||
|
|
47763cba47 | ||
|
|
6262f47922 | ||
|
|
fca294f5b3 | ||
|
|
ce1e19ffea | ||
|
|
3437524e5b | ||
|
|
24e6c5e4a2 | ||
|
|
f78246dedf | ||
|
|
eab48d2e58 | ||
|
|
661192bb66 | ||
|
|
c2ce67ceee | ||
|
|
c9b4610887 | ||
|
|
1221562029 | ||
|
|
18ed96f0b5 | ||
|
|
de6731c35d | ||
|
|
452a087df4 | ||
|
|
167a0f0685 | ||
|
|
a6fa569873 | ||
|
|
9f103d8db3 | ||
|
|
c395cf8095 | ||
|
|
ee37d9e24b | ||
|
|
2543c0a138 | ||
|
|
1cc3cc295c | ||
|
|
24faed09e9 | ||
|
|
98b6221faf | ||
|
|
bae6615dfc | ||
|
|
419e747a1a | ||
|
|
e679e059c7 | ||
|
|
a69fc40271 | ||
|
|
c4fcc30587 | ||
|
|
8d9799b1c6 | ||
|
|
5eb1019716 | ||
|
|
a89a654653 | ||
|
|
c1cf1dd828 | ||
|
|
2c187ea79f | ||
|
|
170331c6d6 | ||
|
|
06ec5d3b57 | ||
|
|
8b0a639883 | ||
|
|
31774f51ba | ||
|
|
cb62057856 | ||
|
|
04cbe672f9 | ||
|
|
337b50eb18 | ||
|
|
07f3f93060 | ||
|
|
eb8e2ebd53 | ||
|
|
5f6adfb702 | ||
|
|
a81041c96a | ||
|
|
84522036eb | ||
|
|
eb6ae62cf7 | ||
|
|
5a32a3750d | ||
|
|
46f6579986 | ||
|
|
ca8014581d | ||
|
|
bd4b9c5d09 | ||
|
|
12eba38e84 | ||
|
|
0c99ffd34e | ||
|
|
05d98acc58 | ||
|
|
8c7078a1d5 | ||
|
|
46596f68d4 | ||
|
|
7b99aa336d | ||
|
|
325d7e73e5 | ||
|
|
f3610900a7 | ||
|
|
0022f38753 | ||
|
|
bfb7930c68 | ||
|
|
a8870659ff | ||
|
|
87ebcf7789 | ||
|
|
e408678629 | ||
|
|
cf16c6eec7 | ||
|
|
b7b0238bc8 | ||
|
|
d46df5fb0a | ||
|
|
51ae2fa2a3 | ||
|
|
ea8c69ff61 | ||
|
|
9b129f3211 | ||
|
|
95f0f5b456 | ||
|
|
4061ee5a15 | ||
|
|
2f2523d59d | ||
|
|
2fd5aa5490 | ||
|
|
aebe3072a1 | ||
|
|
137450ad45 | ||
|
|
7a1c1a3a6e | ||
|
|
86763ea15d | ||
|
|
5c750d02b8 | ||
|
|
5789830b1a | ||
|
|
aae413165f | ||
|
|
54450abfa6 | ||
|
|
cd11ebbd46 | ||
|
|
5f1a3a8e6e | ||
|
|
4592be16d9 | ||
|
|
06f1d9aea9 | ||
|
|
ec769be191 | ||
|
|
75b1987e97 | ||
|
|
abfd04a794 | ||
|
|
627f759522 | ||
|
|
df83611560 | ||
|
|
7205f9f096 | ||
|
|
f1cbe1463f | ||
|
|
e0f07cc32e | ||
|
|
f915d55151 | ||
|
|
26aae0d429 | ||
|
|
34b118eaf6 | ||
|
|
d345f0372d | ||
|
|
9b30adb426 | ||
|
|
4ee0aa51bb | ||
|
|
896572c70c | ||
|
|
565d1176ee | ||
|
|
07ea25023b | ||
|
|
80977e7cfe | ||
|
|
a1c2fe2a14 | ||
|
|
688c1bd904 | ||
|
|
a9ae24d909 | ||
|
|
339edb7618 | ||
|
|
bdcfe6dd47 | ||
|
|
1759ba515e | ||
|
|
370ff3c2b6 | ||
|
|
cffc448890 | ||
|
|
6117ea8c42 | ||
|
|
35f998e75f | ||
|
|
b0792d28c4 | ||
|
|
9bd4bb0088 | ||
|
|
22df66db67 | ||
|
|
b91f27d921 | ||
|
|
780aa60be1 | ||
|
|
02ca8b8788 | ||
|
|
6d5684fc2a | ||
|
|
91847ad0da | ||
|
|
9ba34169e3 | ||
|
|
1df23abdfb | ||
|
|
effc57e7c0 | ||
|
|
a5e6c073ca | ||
|
|
7973004aab | ||
|
|
ebc2294508 | ||
|
|
1edb67e850 | ||
|
|
1bd0c45e60 | ||
|
|
9b1d608485 | ||
|
|
df88656f3f | ||
|
|
a3dceee4a8 | ||
|
|
47d9636848 | ||
|
|
34f1fc0549 | ||
|
|
007105d896 | ||
|
|
7737573e0c | ||
|
|
6519990412 | ||
|
|
b60bcf7688 | ||
|
|
d7352601ee | ||
|
|
c880fff2fa | ||
|
|
15615bb447 | ||
|
|
ab68ff256f | ||
|
|
2de723319b | ||
|
|
00cbdb235c | ||
|
|
e6e3ac3b22 | ||
|
|
e3772ea80d | ||
|
|
0ac8b930b0 | ||
|
|
2b1245d97e | ||
|
|
d24ac4ef95 | ||
|
|
ff039eed0f | ||
|
|
c30b0920ae | ||
|
|
d62a374834 | ||
|
|
3d30b9b56a | ||
|
|
9491f28693 | ||
|
|
d8c6f911f1 | ||
|
|
a869604d27 | ||
|
|
9063fcbfcf | ||
|
|
670039d88e | ||
|
|
50e7551d73 | ||
|
|
be06305309 | ||
|
|
1c35d05525 | ||
|
|
fe23ef20ea | ||
|
|
1085084486 | ||
|
|
b66f77d0e3 | ||
|
|
ae5deee031 | ||
|
|
fa89f1f68c | ||
|
|
82396991ab | ||
|
|
0715b8f2d1 | ||
|
|
548bc77f73 | ||
|
|
f2e58b0290 | ||
|
|
cd3954d8b9 | ||
|
|
ed6d50fdfd | ||
|
|
65a05c9411 | ||
|
|
101f67e18b | ||
|
|
34fb54526f | ||
|
|
42605b2c75 | ||
|
|
aa2876646d | ||
|
|
c6234c6312 | ||
|
|
8a3f908a48 | ||
|
|
be08f1f29b | ||
|
|
9515296e9a | ||
|
|
bc0551ab2d | ||
|
|
9f42d6717e | ||
|
|
87e8e45ab9 | ||
|
|
18f21f59da | ||
|
|
def0596cc1 | ||
|
|
a785a89c97 | ||
|
|
d9803f062d | ||
|
|
9262b50134 | ||
|
|
5ff3afc24c | ||
|
|
c1f54d0bfb | ||
|
|
dbd828a1eb | ||
|
|
c56d17aa7e | ||
|
|
e6da6ff594 | ||
|
|
ef8bada56d | ||
|
|
0c6a3792af | ||
|
|
59576f3f47 | ||
|
|
2658b2bb1f | ||
|
|
065b4da60f | ||
|
|
30821829cf | ||
|
|
306e7d21e4 | ||
|
|
59ba468321 | ||
|
|
90984ddfc4 | ||
|
|
2523e18a9c | ||
|
|
6b90f8434d | ||
|
|
408521fe00 | ||
|
|
2c5c10826f | ||
|
|
fbe20c41cb | ||
|
|
87e8e54864 | ||
|
|
0b133c3de6 | ||
|
|
e90eb8c103 | ||
|
|
6cfad45ee7 | ||
|
|
bd91a01504 | ||
|
|
3c47469c26 | ||
|
|
8ad87e5921 | ||
|
|
aa8eff444b | ||
|
|
bee8f47ff6 | ||
|
|
17196fc1b7 | ||
|
|
8431dde8a5 | ||
|
|
f404d016c9 | ||
|
|
6012c87ee3 | ||
|
|
be4f9d48c1 | ||
|
|
187b6a81a9 | ||
|
|
3069d229a5 | ||
|
|
befca15ae2 | ||
|
|
8385d0fb6d | ||
|
|
5be3ce35dd | ||
|
|
8b2220c844 | ||
|
|
d6c63ad5d7 | ||
|
|
a9534f776a | ||
|
|
d48e019536 | ||
|
|
b8e3f766bf | ||
|
|
53d73abc74 | ||
|
|
dca26799f6 | ||
|
|
874f10cd1c | ||
|
|
638e306713 | ||
|
|
65b1e364d3 | ||
|
|
93d3583b20 | ||
|
|
6bf82e8a98 | ||
|
|
5a04c57da9 | ||
|
|
5459305be7 | ||
|
|
fb18dd4abe | ||
|
|
090d058a23 | ||
|
|
53c230fc7e | ||
|
|
eca6949659 | ||
|
|
c1a56c2040 | ||
|
|
b27e3ee054 | ||
|
|
c3e77c17b9 | ||
|
|
3c67dfeb8e | ||
|
|
b30a1c1a94 | ||
|
|
7fe95a4375 | ||
|
|
4bc9612ece | ||
|
|
b1fb9742ec | ||
|
|
b368d66ccb | ||
|
|
0ac4f06ae3 | ||
|
|
bebc7282a7 | ||
|
|
9949f28481 | ||
|
|
ce7138473d | ||
|
|
a104693832 | ||
|
|
66b4c0031b | ||
|
|
1b62dbd3d2 | ||
|
|
9222140b6a | ||
|
|
1aa43a5e13 | ||
|
|
8bff98ff5b | ||
|
|
25743c47ac | ||
|
|
16d09bc6ae | ||
|
|
abe5bb06e0 | ||
|
|
89faba7a1d | ||
|
|
c56516fedc | ||
|
|
0327947c5c | ||
|
|
2a6309ee39 | ||
|
|
b6724e02d1 | ||
|
|
5aad593879 | ||
|
|
39a29a4f15 | ||
|
|
4309746efe | ||
|
|
c6bddb5a37 | ||
|
|
e06b82c20f | ||
|
|
35af683510 | ||
|
|
ff59d91281 | ||
|
|
dbe44b1fbc | ||
|
|
4b78bf1783 | ||
|
|
a81ad1441f | ||
|
|
fe82981295 | ||
|
|
39630ba78f | ||
|
|
78f3039bcf | ||
|
|
9479327891 | ||
|
|
4fa9aa772e | ||
|
|
1ce75096ca | ||
|
|
7053a981d5 | ||
|
|
2ffefdb117 | ||
|
|
f920c67ee4 | ||
|
|
365148aa93 | ||
|
|
78b7c0c895 | ||
|
|
f26aa8250b | ||
|
|
42cd278def | ||
|
|
4b27cd02c8 | ||
|
|
b8a7cabe2e | ||
|
|
1546d2bac5 | ||
|
|
82d3395770 | ||
|
|
a63a1aa146 | ||
|
|
7e2e539196 | ||
|
|
8f41f84183 | ||
|
|
91f8b7d397 | ||
|
|
3ed5549531 | ||
|
|
57182d1da0 | ||
|
|
02d961c7df | ||
|
|
84bf44ed1d | ||
|
|
ecc0ce9269 | ||
|
|
6ca76c41ff | ||
|
|
9f39780c4f | ||
|
|
36c38b89c2 | ||
|
|
50a720bf8e | ||
|
|
00f55ed447 | ||
|
|
5682c19edc | ||
|
|
861a694c4e | ||
|
|
2b010c1935 | ||
|
|
64cbe030ec | ||
|
|
22ae6ca777 | ||
|
|
1c7a856e48 | ||
|
|
2496fc7de3 | ||
|
|
36db8a16b5 | ||
|
|
21519e88fd | ||
|
|
996c3393dc | ||
|
|
744aedc0d5 | ||
|
|
de23a70e93 | ||
|
|
1e5b4eab89 | ||
|
|
061fefb08b | ||
|
|
40917cb70b | ||
|
|
92652e693a | ||
|
|
6d4ff69a62 | ||
|
|
a0adb613ba | ||
|
|
3ab50aef37 | ||
|
|
754cb9547b | ||
|
|
ef2b7bf837 | ||
|
|
c5382a4d9c | ||
|
|
3dd0c91898 | ||
|
|
fdf2335ab1 | ||
|
|
cb66441cae | ||
|
|
56d6639fb2 | ||
|
|
d2838f7162 | ||
|
|
82aec417ee | ||
|
|
5e75748eed | ||
|
|
0e9f168f18 | ||
|
|
f68b6796fd | ||
|
|
b69cf5cd63 | ||
|
|
5220e640f1 | ||
|
|
4b1d0c4999 | ||
|
|
124a41fa14 | ||
|
|
4e202c78b0 | ||
|
|
2b39caa8c3 | ||
|
|
119690680e | ||
|
|
e5d8d79dd1 | ||
|
|
8e1c2d660a | ||
|
|
24fd8e95c2 | ||
|
|
23e87a3088 | ||
|
|
3d6ba0308d | ||
|
|
91db5eb3d1 | ||
|
|
362c7d053c | ||
|
|
bf19457b8b | ||
|
|
378cef8b65 | ||
|
|
1fcd385645 | ||
|
|
fa4eb9ae8b | ||
|
|
1d4b9187de | ||
|
|
6a7f698c4e | ||
|
|
a088e627e6 | ||
|
|
6cb7f9de54 | ||
|
|
28ae381630 | ||
|
|
400b071cac | ||
|
|
213f4cf979 | ||
|
|
8fd13b5aa1 | ||
|
|
91b6de9300 | ||
|
|
aca09eb57b | ||
|
|
dd4998a8e8 | ||
|
|
db53bc4850 | ||
|
|
377f0991c4 | ||
|
|
1b4e8f85db | ||
|
|
0008217301 | ||
|
|
5c394a29fd | ||
|
|
195637d197 | ||
|
|
0f62627545 | ||
|
|
205af79752 | ||
|
|
43ad7c0b92 | ||
|
|
466940ba71 | ||
|
|
a893920db2 | ||
|
|
cff05ba3ce | ||
|
|
12553c36f7 | ||
|
|
009c475f18 | ||
|
|
996d876bbf | ||
|
|
9fed5635ff | ||
|
|
0182d47648 | ||
|
|
50c33e9b8a | ||
|
|
c3df2f8853 | ||
|
|
400879e3a9 | ||
|
|
528a35e927 | ||
|
|
7d41092fd8 | ||
|
|
aa4b3691e2 | ||
|
|
7531c050e5 | ||
|
|
e5ed044aa7 | ||
|
|
77d77369d1 | ||
|
|
788d2d892e | ||
|
|
787e1b27c0 | ||
|
|
ae0954cdf8 | ||
|
|
28573387b9 | ||
|
|
1e6f5d4e62 | ||
|
|
a99e5a6e57 | ||
|
|
e1302366f3 | ||
|
|
e49f7972a8 | ||
|
|
2b393d8399 | ||
|
|
a3cba81f1f | ||
|
|
0033f4cb19 | ||
|
|
473f90c6d4 | ||
|
|
9d33ea6062 | ||
|
|
e7b908758f | ||
|
|
61eacd7d78 | ||
|
|
fa68e20510 | ||
|
|
7b4f5e99b6 | ||
|
|
894501ad06 | ||
|
|
06a3aba5d7 | ||
|
|
2a5bab5bc6 | ||
|
|
6729fc6b92 | ||
|
|
041934821b | ||
|
|
fd8e6a2cc6 | ||
|
|
bd5fd6b1b4 | ||
|
|
18a1a232d2 | ||
|
|
f93b3198da | ||
|
|
7858ada1d0 | ||
|
|
f45a9d4530 | ||
|
|
82ab276a9e | ||
|
|
6178c12e09 | ||
|
|
bbbe5e06d3 | ||
|
|
de66012bef | ||
|
|
3250581ae8 | ||
|
|
18af3438f3 | ||
|
|
a2e233fd15 | ||
|
|
04a7bf319d | ||
|
|
e573593e4f | ||
|
|
4cbbdf5ccf | ||
|
|
1d3f95aa50 | ||
|
|
fc6c9fdcdd | ||
|
|
dfc9779a3e | ||
|
|
9df4301b23 | ||
|
|
93a26d3e69 | ||
|
|
15d6fb6f1d | ||
|
|
e3cf83ab54 | ||
|
|
8b1090d27f | ||
|
|
c2528c11c4 | ||
|
|
9054e82aec | ||
|
|
956bb11dc3 | ||
|
|
d7b43eb141 | ||
|
|
9069c69138 | ||
|
|
67dd86acbc | ||
|
|
b454ba0c21 | ||
|
|
e2fcb68112 | ||
|
|
79abcaaec5 | ||
|
|
b97daeabff | ||
|
|
13ebebde48 | ||
|
|
903f50b44f | ||
|
|
ca1d1bc608 | ||
|
|
f058d8e6d7 | ||
|
|
2b16448562 | ||
|
|
da445b622f | ||
|
|
bb9c3ff583 | ||
|
|
d5fbf57932 | ||
|
|
8905eadf63 | ||
|
|
1ed4b6c954 | ||
|
|
dd9398478b | ||
|
|
6b3f807127 | ||
|
|
82439e1f89 | ||
|
|
7bbc68ef5b | ||
|
|
93cf1815dd | ||
|
|
e4da4ed08d | ||
|
|
ebb56190e0 | ||
|
|
90d4052aba | ||
|
|
129ec064fb | ||
|
|
7eda51dcf3 | ||
|
|
5e3c8e7b1f | ||
|
|
b687aa8ecb | ||
|
|
ea770cc58c | ||
|
|
d297268406 | ||
|
|
f100c98c37 | ||
|
|
ad81a8fb7a | ||
|
|
8015d1259d | ||
|
|
4d7a5972cd | ||
|
|
4070080d38 | ||
|
|
1e781724c9 | ||
|
|
4cece3a0a6 | ||
|
|
699ecd683d | ||
|
|
988e7bf1e1 | ||
|
|
c5d7f530cd | ||
|
|
c7b20c24b4 | ||
|
|
f3dfd39eb6 | ||
|
|
dfec2bbda8 | ||
|
|
2282b95213 | ||
|
|
aab831eea1 | ||
|
|
8f0d65f477 | ||
|
|
ce01fae7bf | ||
|
|
8c9fb2fe01 | ||
|
|
7bc0988a64 | ||
|
|
1e05192d9f | ||
|
|
629901268d | ||
|
|
90a1491d66 | ||
|
|
3e0d33ff29 | ||
|
|
2dcf1d73a6 | ||
|
|
bb85ddac9d | ||
|
|
5e24549c82 | ||
|
|
c1f8e7a06a | ||
|
|
9b0e39a047 | ||
|
|
9488805fe7 | ||
|
|
e093825f77 | ||
|
|
772d85a9c4 | ||
|
|
b76369cdcb | ||
|
|
5c1546e11a | ||
|
|
c026255048 | ||
|
|
e94fe52e90 | ||
|
|
f709a3f424 | ||
|
|
2f724afc71 | ||
|
|
ec2f92c8ef | ||
|
|
17199ddabf | ||
|
|
d53b8901d3 | ||
|
|
ee7c3cae40 | ||
|
|
ed5a878a2f | ||
|
|
f352a31b29 | ||
|
|
143e1dfd2b | ||
|
|
cc46bc9fce | ||
|
|
8949220f55 | ||
|
|
7b2af0e464 | ||
|
|
948fb82f3d | ||
|
|
00d952e171 | ||
|
|
cb0d4099b3 | ||
|
|
691cf44341 | ||
|
|
71fa42c177 | ||
|
|
6db36c73c3 | ||
|
|
d42ac1bcca | ||
|
|
b2399e5299 | ||
|
|
c9a7d4ec91 | ||
|
|
0be2badb1c | ||
|
|
e1a4cfafed | ||
|
|
ce68951f15 | ||
|
|
a0f415b1ab | ||
|
|
2f341cf602 | ||
|
|
a1ff35c25f | ||
|
|
0bc64dbd5a | ||
|
|
ee06e93f12 | ||
|
|
29eb631f2f | ||
|
|
64aa62685e | ||
|
|
a900e0a82b | ||
|
|
aba33aa2bf | ||
|
|
f48845ab67 | ||
|
|
ad5710c68b | ||
|
|
e575fa7336 | ||
|
|
fae4eba8e2 | ||
|
|
4a97dd1b02 | ||
|
|
73bbc69f3e | ||
|
|
12c682be5b | ||
|
|
7c45a6008b | ||
|
|
fee8759c8e | ||
|
|
6fd2e25ba5 | ||
|
|
f70bc4dd31 | ||
|
|
718cc71fd3 | ||
|
|
f0d3d33ab3 | ||
|
|
699e042b28 | ||
|
|
5ea8bf993b | ||
|
|
67b8ef28c1 | ||
|
|
8b9e15b8ca | ||
|
|
aebe33c3a6 | ||
|
|
e5c16d8087 | ||
|
|
1a856fa250 | ||
|
|
152ceba035 | ||
|
|
cf16897c53 | ||
|
|
3e899d35f4 | ||
|
|
15024ba9ba | ||
|
|
9d0e630a80 | ||
|
|
b013a9d817 | ||
|
|
86e7fa3f8a | ||
|
|
6e35522f5e | ||
|
|
b2ca290a6a | ||
|
|
78ea7e759c | ||
|
|
bbeed0b22e | ||
|
|
6f5df16e22 | ||
|
|
86a0451a2a | ||
|
|
cdb29db793 | ||
|
|
27a40aaf7c | ||
|
|
225276e47e | ||
|
|
2402451c52 | ||
|
|
8ca04ff3f2 | ||
|
|
e8d6ede207 | ||
|
|
cd9b1cd170 | ||
|
|
071571f82e | ||
|
|
fed78331af | ||
|
|
e42029064a | ||
|
|
7b786fac7a | ||
|
|
fbf9df9340 | ||
|
|
6a8229c449 | ||
|
|
004f000cb8 | ||
|
|
33699df18c | ||
|
|
e76491e7ad | ||
|
|
2011fa2cfa | ||
|
|
763c785297 | ||
|
|
b982ff4f5e | ||
|
|
0873a3cfaa | ||
|
|
562f16a9a9 | ||
|
|
c62bdd24bd | ||
|
|
e6b5088c90 | ||
|
|
fa0140724e | ||
|
|
5b9ca922ad | ||
|
|
beaf00aaf9 | ||
|
|
3336763952 | ||
|
|
2a295eb46b | ||
|
|
bc589754cc | ||
|
|
20df5c5627 | ||
|
|
576444f92b | ||
|
|
dc32733fdb | ||
|
|
8e124a8d22 | ||
|
|
0ab9a2c3a8 | ||
|
|
fda1b3138d | ||
|
|
ac9d670a39 | ||
|
|
449d29fb6b | ||
|
|
212ba4f556 | ||
|
|
01c7902190 | ||
|
|
dfee46db91 | ||
|
|
85ce0f3d1b | ||
|
|
62a1e63397 | ||
|
|
125a8b90cf | ||
|
|
85dea75e98 | ||
|
|
bc064c5d5f | ||
|
|
ee65f0f429 | ||
|
|
bf8c64bbd8 | ||
|
|
bf724e80aa | ||
|
|
8097d59efd | ||
|
|
55971ed00b | ||
|
|
83f9701705 | ||
|
|
4c63b5b47b | ||
|
|
1c2bc18cfd | ||
|
|
26936bff82 | ||
|
|
f98c1122d0 | ||
|
|
399239a89c | ||
|
|
70ec10f139 | ||
|
|
93d03b6b90 | ||
|
|
bb03b85ca7 | ||
|
|
c92cdbcb77 | ||
|
|
c78685b766 | ||
|
|
55510bb9dd | ||
|
|
ff6a81c560 | ||
|
|
9dc75212c9 | ||
|
|
3a342b8bb0 | ||
|
|
6a16edffc8 | ||
|
|
d3bf90c301 | ||
|
|
659cbe34e1 | ||
|
|
658d3078b8 | ||
|
|
085bdd4970 | ||
|
|
3ed012ee18 | ||
|
|
9e833b3965 | ||
|
|
7cbe1e1659 | ||
|
|
e8ffaf233f | ||
|
|
c8155e6fa4 | ||
|
|
ecb3d5c978 | ||
|
|
f2e9404db3 | ||
|
|
ce99d17248 | ||
|
|
0ef46f27aa | ||
|
|
8054a7ebe1 | ||
|
|
e3408213ed | ||
|
|
de2a5a54b2 | ||
|
|
0f0f2e7c3a | ||
|
|
0210a458d1 | ||
|
|
10ff17738e | ||
|
|
57c781c979 | ||
|
|
4fd2295655 | ||
|
|
83e85478f5 | ||
|
|
6e9fb70ca3 | ||
|
|
1422bcf1ca | ||
|
|
ab5d1a5946 | ||
|
|
0be1a35260 | ||
|
|
93b939a462 |
-170
@@ -1,170 +0,0 @@
|
||||
# =============================================================================
|
||||
# TrinityCore Playerbot - Environment Variables Template
|
||||
# =============================================================================
|
||||
# Copy this file to .env and fill in your actual values
|
||||
# NEVER commit the .env file to git!
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# GitHub Integration
|
||||
# -----------------------------------------------------------------------------
|
||||
# Create a Personal Access Token at: https://github.com/settings/tokens
|
||||
# Required scopes: repo, workflow, write:packages
|
||||
GITHUB_TOKEN=ghp_your_github_personal_access_token_here
|
||||
|
||||
# Repository information
|
||||
GITHUB_REPO_OWNER=TrinityCore
|
||||
GITHUB_REPO_NAME=TrinityCore
|
||||
GITHUB_BRANCH=playerbot-dev
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Database Access (Trinity MySQL Databases)
|
||||
# -----------------------------------------------------------------------------
|
||||
# MySQL connection for trinity-database MCP
|
||||
TRINITY_DB_HOST=localhost
|
||||
TRINITY_DB_PORT=3306
|
||||
TRINITY_DB_USER=trinity
|
||||
TRINITY_DB_PASSWORD=your_mysql_password_here
|
||||
|
||||
# Database names
|
||||
TRINITY_DB_AUTH=trinity_auth
|
||||
TRINITY_DB_CHARACTERS=trinity_characters
|
||||
TRINITY_DB_WORLD=trinity_world
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# MCP Authentication
|
||||
# -----------------------------------------------------------------------------
|
||||
# Serena MCP authentication token (OPTIONAL - only needed for token estimation features)
|
||||
# Serena works without this - it's just a "nice to have" for advanced features
|
||||
# Leave empty or remove line if not using token estimation
|
||||
SERENA_AUTH_TOKEN=
|
||||
|
||||
# Context7 API key (OPTIONAL - only if you have a paid plan)
|
||||
# Context7 has a generous free tier that works without API key
|
||||
CONTEXT7_API_KEY=
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# TrinityCore Paths
|
||||
# -----------------------------------------------------------------------------
|
||||
TRINITY_ROOT=C:\TrinityBots\TrinityCore
|
||||
TRINITY_BUILD_DIR=C:\TrinityBots\TrinityCore\build
|
||||
TRINITY_SERVER_DIR=C:\TrinityBots\Server
|
||||
WORLDSERVER_PATH=C:\TrinityBots\Server\bin\worldserver.exe
|
||||
BNETSERVER_PATH=C:\TrinityBots\Server\bin\bnetserver.exe
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Build Configuration
|
||||
# -----------------------------------------------------------------------------
|
||||
CMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
BOOST_ROOT=C:\boost_1_84_0
|
||||
OPENSSL_ROOT_DIR=C:\libs\openssl
|
||||
MYSQL_ROOT_DIR=C:\Program Files\MySQL\MySQL Server 8.0
|
||||
|
||||
# Compiler settings
|
||||
MSVC_VERSION=2022
|
||||
CMAKE_GENERATOR=Ninja
|
||||
|
||||
# Build parallelism
|
||||
BUILD_PARALLEL_JOBS=8
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Notification Services (Optional)
|
||||
# -----------------------------------------------------------------------------
|
||||
# Email notifications via SMTP
|
||||
SMTP_ENABLED=false
|
||||
SMTP_SERVER=smtp.gmail.com
|
||||
SMTP_PORT=587
|
||||
SMTP_USE_TLS=true
|
||||
SMTP_USERNAME=[email protected]
|
||||
SMTP_PASSWORD=your_app_specific_password
|
||||
SMTP_FROM=[email protected]
|
||||
SMTP_TO=[email protected]
|
||||
|
||||
# Slack notifications
|
||||
SLACK_ENABLED=false
|
||||
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
|
||||
SLACK_CHANNEL=#playerbot-dev
|
||||
SLACK_USERNAME=PlayerBot CI
|
||||
|
||||
# Discord notifications
|
||||
DISCORD_ENABLED=false
|
||||
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/YOUR/WEBHOOK/URL
|
||||
DISCORD_USERNAME=PlayerBot CI
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Automation Configuration
|
||||
# -----------------------------------------------------------------------------
|
||||
# Auto-fix behavior
|
||||
AUTO_FIX_ENABLED=true
|
||||
AUTO_FIX_CRITICAL=true
|
||||
AUTO_FIX_HIGH=false
|
||||
AUTO_FIX_MEDIUM=false
|
||||
|
||||
# Review frequency
|
||||
DAILY_REVIEW_TIME=18:00
|
||||
NIGHTLY_REVIEW_TIME=02:00
|
||||
|
||||
# Performance thresholds
|
||||
MAX_BUILD_TIME_MINUTES=60
|
||||
MAX_REVIEW_TIME_MINUTES=120
|
||||
MAX_MEMORY_PER_BOT_MB=10
|
||||
MAX_CPU_PER_BOT_PERCENT=0.5
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Security Configuration
|
||||
# -----------------------------------------------------------------------------
|
||||
# Dependency scanning
|
||||
DEPENDENCY_SCAN_ENABLED=true
|
||||
CVE_CHECK_ENABLED=true
|
||||
CVE_MIN_SEVERITY=high
|
||||
|
||||
# Code scanning
|
||||
SAST_ENABLED=true
|
||||
SECRET_SCANNING_ENABLED=true
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Monitoring & Metrics
|
||||
# -----------------------------------------------------------------------------
|
||||
# Metrics collection
|
||||
METRICS_ENABLED=true
|
||||
METRICS_RETENTION_DAYS=90
|
||||
|
||||
# Performance profiling
|
||||
PROFILING_ENABLED=true
|
||||
PROFILING_TOOL=valgrind
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Development Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
# Debug mode
|
||||
DEBUG_MODE=false
|
||||
VERBOSE_LOGGING=false
|
||||
|
||||
# Cache settings
|
||||
CACHE_ENABLED=true
|
||||
CACHE_TTL_HOURS=4
|
||||
|
||||
# Parallel execution
|
||||
MAX_PARALLEL_AGENTS=6
|
||||
AGENT_TIMEOUT_SECONDS=300
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Custom MCP Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
# TrinityCore MCP Server
|
||||
TRINITY_MCP_PORT=3000
|
||||
TRINITY_MCP_HOST=localhost
|
||||
|
||||
# DBC/DB2 file paths
|
||||
DBC_PATH=M:\Wplayerbot\data\dbc\enUS
|
||||
DB2_PATH=M:\Wplayerbot\data\dbc\enUS
|
||||
|
||||
# GameTable (GT) file path
|
||||
GT_PATH=M:\Wplayerbot\data\gt
|
||||
|
||||
# =============================================================================
|
||||
# Notes:
|
||||
# - Replace all placeholder values with your actual credentials
|
||||
# - Keep this file secure and never commit to version control
|
||||
# - Add .env to .gitignore if not already present
|
||||
# =============================================================================
|
||||
@@ -1,180 +0,0 @@
|
||||
name: Build (Windows x64)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-2022
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: RelWithDebInfo
|
||||
MYSQL_ROOT_DIR: C:/Program Files/MySQL/MySQL Server 8.0
|
||||
OPENSSL_ROOT_DIR: C:/libs/openssl
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
|
||||
- name: Get current OpenSSL version
|
||||
id: openssl-info
|
||||
run: |
|
||||
$VersionsUrl = "https://api.github.com/repos/slproweb/opensslhashes/contents/win32_openssl_hashes.json"
|
||||
$Headers = @{
|
||||
Accept="application/vnd.github.raw+json"
|
||||
Authorization="Bearer ${{ secrets.GITHUB_TOKEN }}"
|
||||
}
|
||||
$openSSL = (Invoke-RestMethod $VersionsUrl -Headers $Headers).files.PSObject.Properties |
|
||||
Select-Object -ExpandProperty Value |
|
||||
Where-Object { $_.arch -eq 'INTEL' } |
|
||||
Where-Object { $_.bits -eq '64' } |
|
||||
Where-Object { $_.light -eq $false } |
|
||||
Where-Object { $_.installer -eq 'exe' } |
|
||||
Sort-Object -Descending @{ Expression = { [version]$_.basever } } |
|
||||
Select-Object -First 1
|
||||
[System.String]::Format("cache-key=openssl-{0}-win-{1}-{2}", $openSSL.basever, $openSSL.arch, $openSSL.bits) >> $env:GITHUB_OUTPUT
|
||||
[System.String]::Format("url={0}", $openSSL.url) >> $env:GITHUB_OUTPUT
|
||||
|
||||
- name: Cache OpenSSL
|
||||
id: cache-openssl
|
||||
uses: actions/cache@v6
|
||||
with:
|
||||
path: ${{ env.OPENSSL_ROOT_DIR }}
|
||||
key: ${{ steps.openssl-info.outputs.cache-key }}
|
||||
|
||||
- name: Download and install OpenSSL 3.x
|
||||
if: ${{ steps.cache-openssl.outputs.cache-hit != 'true' }}
|
||||
run: |
|
||||
(New-Object System.Net.WebClient).DownloadFile("${{ steps.openssl-info.outputs.url }}", "${{ env.TEMP }}\openssl.exe")
|
||||
Start-Process -Wait -FilePath "${{ env.TEMP }}\openssl.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES",/DIR=${{ env.OPENSSL_ROOT_DIR }}
|
||||
|
||||
# Quick OpenSSL install test
|
||||
& ${{ env.OPENSSL_ROOT_DIR }}/bin/openssl.exe version
|
||||
|
||||
- name: Download and install Boost
|
||||
uses: MarkusJx/install-boost@v2
|
||||
id: install-boost
|
||||
with:
|
||||
boost_version: 1.89.0
|
||||
link: static
|
||||
platform_version: 2022
|
||||
toolset: msvc
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
|
||||
OPENSSL_ROOT_DIR: C:/libs/openssl
|
||||
run: >
|
||||
cmake -S ${{ github.workspace }} -B build -G"Visual Studio 17 2022" -A x64
|
||||
-DSCRIPTS=static
|
||||
-DWITH_WARNINGS_AS_ERRORS=OFF
|
||||
-DTOOLS=ON
|
||||
|
||||
- name: Build
|
||||
run: >
|
||||
cmake --build build --config RelWithDebInfo
|
||||
|
||||
- name: Copy Dependencies
|
||||
shell: pwsh
|
||||
run: |
|
||||
cd build/bin/${{ env.CMAKE_BUILD_TYPE }}
|
||||
Copy-Item "${{ env.MYSQL_ROOT_DIR }}/lib/libmysql.dll" .
|
||||
# mysql may depend on a different version of openssl so copy its dlls first (override later with openssl's own if same version)
|
||||
Copy-Item "${{ env.MYSQL_ROOT_DIR }}/bin/libcrypto-3-x64.dll" . -ErrorAction SilentlyContinue
|
||||
Copy-Item "${{ env.MYSQL_ROOT_DIR }}/bin/libssl-3-x64.dll" . -ErrorAction SilentlyContinue
|
||||
Copy-Item "${{ env.OPENSSL_ROOT_DIR }}/bin/libcrypto-3-x64.dll" . -ErrorAction SilentlyContinue
|
||||
Copy-Item "${{ env.OPENSSL_ROOT_DIR }}/bin/libssl-3-x64.dll" . -ErrorAction SilentlyContinue
|
||||
Copy-Item "${{ env.OPENSSL_ROOT_DIR }}/bin/legacy.dll" . -ErrorAction SilentlyContinue
|
||||
Copy-Item "${{ env.MYSQL_ROOT_DIR }}/bin/zlib1.dll" . -ErrorAction SilentlyContinue
|
||||
|
||||
- name: Check binaries
|
||||
shell: pwsh
|
||||
run: |
|
||||
cd build/bin/${{ env.CMAKE_BUILD_TYPE }}
|
||||
foreach ($exe in @("bnetserver.exe", "worldserver.exe"))
|
||||
{
|
||||
if (-not (Test-Path $exe)) { Write-Error "Missing binary: $exe"; exit 1 }
|
||||
if ((Get-Item $exe).Length -lt 1MB) { Write-Error "Suspiciously small binary: $exe"; exit 1 }
|
||||
}
|
||||
Write-Output "Required binaries present. Version smoke test (may fail to start in the ephemeral runner DLL env):"
|
||||
cmd.exe /c "bnetserver.exe --version" 2>&1 | ForEach-Object { Write-Output " bnetserver: $_" }
|
||||
cmd.exe /c "worldserver.exe --version" 2>&1 | ForEach-Object { Write-Output " worldserver: $_" }
|
||||
Get-ChildItem *.dll | ForEach-Object { Write-Output " $($_.Name) ($($_.Length) bytes)" }
|
||||
Write-Output "Binary + package validation passed."
|
||||
exit 0
|
||||
|
||||
- name: Create zip
|
||||
shell: pwsh
|
||||
run: |
|
||||
cd build/bin
|
||||
7z a TrinityCoreWin64VS2022.zip .\RelWithDebInfo\* | Out-Null
|
||||
Remove-Item RelWithDebInfo\*.pdb
|
||||
7z a TrinityCoreWin64VS2022NoSymbols.zip .\RelWithDebInfo\* | Out-Null
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: TrinityCoreWin64VS2022
|
||||
path: build/bin/TrinityCoreWin64VS2022.zip
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Upload Artifacts (NoSymbols)
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: TrinityCoreWin64VS2022NoSymbols
|
||||
path: build/bin/TrinityCoreWin64VS2022NoSymbols.zip
|
||||
if-no-files-found: error
|
||||
|
||||
linux-build:
|
||||
runs-on: ubuntu-24.04
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: RelWithDebInfo
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
|
||||
- name: Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -yq \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
libboost-all-dev \
|
||||
libssl-dev \
|
||||
libreadline-dev \
|
||||
zlib1g-dev \
|
||||
libbz2-dev \
|
||||
default-libmysqlclient-dev \
|
||||
default-mysql-client
|
||||
|
||||
- name: Configure CMake
|
||||
run: >
|
||||
cmake -GNinja -S ${{ github.workspace }} -B build-linux
|
||||
-DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }}
|
||||
-DSCRIPTS=static
|
||||
-DWITH_WARNINGS_AS_ERRORS=OFF
|
||||
-DTOOLS=ON
|
||||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install
|
||||
|
||||
- name: Build
|
||||
run: >
|
||||
cmake --build build-linux
|
||||
|
||||
- name: Check binaries
|
||||
run: |
|
||||
cmake --install build-linux
|
||||
cd ${{ github.workspace }}/install/bin
|
||||
./bnetserver --version
|
||||
./worldserver --version
|
||||
|
||||
- name: Create tar.gz
|
||||
run: |
|
||||
cd ${{ github.workspace }}
|
||||
tar -czf TrinityCoreLinux64.tar.gz -C install .
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: TrinityCoreLinux64
|
||||
path: TrinityCoreLinux64.tar.gz
|
||||
if-no-files-found: error
|
||||
-30
@@ -23,33 +23,3 @@ nbproject/*
|
||||
cmake-build-*/*
|
||||
.vs
|
||||
*.user
|
||||
.aider*
|
||||
|
||||
# Build artifacts and logs
|
||||
*.exe
|
||||
*.log
|
||||
build_*.txt
|
||||
build_*.bat
|
||||
worldserver_*.exe
|
||||
*_build.log
|
||||
*_output.txt
|
||||
final_*.txt
|
||||
test_*.bat
|
||||
|
||||
# Python temporary files
|
||||
*.tmp.*
|
||||
*.pyc
|
||||
__pycache__/
|
||||
|
||||
# SQL dumps and temporary data
|
||||
*.sql.backup
|
||||
|
||||
# Claude Code Enhancement - Environment variables (contains secrets)
|
||||
.env
|
||||
.env.local
|
||||
|
||||
# Playerbot vendored dependencies (tracked via git submodules)
|
||||
# Git automatically manages submodule contents via .gitmodules
|
||||
# build*/ pattern above catches TBB build artifacts
|
||||
|
||||
phase7a-compile-log.txt
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
[submodule "src/modules/Playerbot/deps/phmap"]
|
||||
path = src/modules/Playerbot/deps/phmap
|
||||
url = https://github.com/greg7mdp/parallel-hashmap.git
|
||||
[submodule "src/modules/Playerbot/deps/tbb"]
|
||||
path = src/modules/Playerbot/deps/tbb
|
||||
url = https://github.com/oneapi-src/oneTBB.git
|
||||
+1
-1
@@ -86,7 +86,7 @@ add_subdirectory(src)
|
||||
include(CTest)
|
||||
if(BUILD_TESTING)
|
||||
list(APPEND CMAKE_MODULE_PATH
|
||||
"${Catch2_SOURCE_DIR}/extras")
|
||||
"${Catch2_SOURCE_DIR}/contrib")
|
||||
include(Catch)
|
||||
|
||||
add_subdirectory(tests)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
# This file is run right before CMake starts configuring the sourcetree
|
||||
|
||||
# Example: Force CMAKE_INSTALL_PREFIX to be preloaded with something before
|
||||
# doing the actual first "configure"-part - allows for hardforcing
|
||||
# destinations elsewhere in the CMake buildsystem (commented out on purpose)
|
||||
|
||||
# Override CMAKE_INSTALL_PREFIX on Windows platforms
|
||||
#if(WIN32)
|
||||
# if(NOT CYGWIN)
|
||||
# set(CMAKE_INSTALL_PREFIX
|
||||
# "" CACHE PATH "Default install path")
|
||||
# endif()
|
||||
#endif()
|
||||
@@ -1,22 +1,6 @@
|
||||
# Introduction:
|
||||
|
||||
WowCommunity Project is a World of Warcraft blizzlike design based on TrinityCore, which is based on the Midnight Expansion version 12.1.0.69404.
|
||||
|
||||
|
||||
# CI Status:
|
||||
|
||||
[](https://github.com/Thordekk/WowCommunityProject/actions/workflows/build.yml)
|
||||
|
||||
|
||||
# Downloads:
|
||||
|
||||
- [Windows x64 (con símbolos)](https://github.com/Thordekk/WowCommunityProject/actions/workflows/build.yml)
|
||||
|
||||
- [Windows x64 (sin símbolos)](https://github.com/Thordekk/WowCommunityProject/actions/workflows/build.yml)
|
||||
|
||||
- [Linux x64](https://github.com/Thordekk/WowCommunityProject/actions/workflows/build.yml)
|
||||
|
||||
Los artefactos se encuentran al final de cada ejecución en la pestaña Actions → build → Artifacts.
|
||||
WowCommunity Project is a World of Warcraft blizzlike design based on TrinityCore, which is based on the Midnight Expansion version 12.1.0.69933.
|
||||
|
||||
|
||||
# Developers:
|
||||
@@ -38,7 +22,7 @@ Los artefactos se encuentran al final de cada ejecución en la pestaña Actions
|
||||
|
||||
01c.- [Windows Desktop Runtime v.9.0.13 x64](https://dotnet.microsoft.com/es-es/download/dotnet/thank-you/runtime-desktop-9.0.13-windows-x64-installer)
|
||||
|
||||
02.- [Visual Studio Community 2022 v.17.14.38](https://www.junian.net/dev/visual-studio-community-download-links/)
|
||||
02.- [Visual Studio Community 2022 v.17.14.41](https://www.junian.net/dev/visual-studio-community-download-links/)
|
||||
|
||||
03a.- [Python v.3.15.0a6 x64](https://www.python.org/downloads/)
|
||||
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ build_script:
|
||||
- cmd: >-
|
||||
git config user.email "[email protected]" && git config user.name "AppVeyor"
|
||||
|
||||
cmake -S . -B .\build -G"Visual Studio 17 2022" -A x64 -DSCRIPTS=dynamic -DWITH_WARNINGS_AS_ERRORS=OFF -DTOOLS=ON
|
||||
cmake -S . -B .\build -G"Visual Studio 17 2022" -A x64 -DSCRIPTS=dynamic -DWITH_WARNINGS_AS_ERRORS=ON -DTOOLS=ON
|
||||
|
||||
cd build
|
||||
|
||||
|
||||
@@ -64,7 +64,9 @@ target_sources(g3dlib
|
||||
include/G3D/AABox.h
|
||||
include/G3D/BoundsTrait.h
|
||||
include/G3D/Box.h
|
||||
include/G3D/CollisionDetection.h
|
||||
include/G3D/CoordinateFrame.h
|
||||
include/G3D/Cylinder.h
|
||||
include/G3D/g3dmath.h
|
||||
include/G3D/Matrix3.h
|
||||
include/G3D/Matrix4.h
|
||||
@@ -101,4 +103,4 @@ if(USE_COREPCH)
|
||||
[["G3D/Vector3.h"]])
|
||||
|
||||
add_cxx_pch(g3dlib "${g3dlib_PCH_HEADERS}")
|
||||
endif()
|
||||
endif()
|
||||
@@ -31,3 +31,6 @@ G3D-v9.0 hotfix18.diff - 2024-02-17 - ARM64 support on MSVC
|
||||
G3D-v9.0 hotfix19.diff - 2024-06-09 - clang build fix on windows
|
||||
G3D-v9.0 hotfix20.diff - 2026-05-07 - gcc build fix on windows
|
||||
G3D-v9.0 hotfix21.diff - 2026-05-07 - gcc 16 warning fix
|
||||
G3D-v9.0 hotfix22.diff - 2026-09-06 - Remove unused data members from G3D::Ray
|
||||
G3D-v9.0 hotfix23.diff - 2026-09-06 - Make G3D::Plane destructor not virtual
|
||||
G3D-v9.0 hotfix24.diff - 2026-09-06 - Add direct yaw/pitch/roll conversions to G3D::Quat
|
||||
|
||||
@@ -77,8 +77,6 @@ public:
|
||||
|
||||
void serialize(class BinaryOutput& b) const;
|
||||
void deserialize(class BinaryInput& b);
|
||||
|
||||
virtual ~Plane() {}
|
||||
|
||||
/**
|
||||
Returns true if point is on the side the normal points to or
|
||||
|
||||
@@ -214,6 +214,10 @@ public:
|
||||
void toRotationMatrix(
|
||||
Matrix3& rot) const;
|
||||
|
||||
static Quat fromYPRAngles(float fYAngle, float fPAngle, float fRAngle);
|
||||
|
||||
void toYPRAngles(float& fYAngle, float& fPAngle, float& fRAngle) const;
|
||||
|
||||
private:
|
||||
/** \param maxAngle Maximum angle of rotation allowed. If a larger rotation is required, the angle of rotation applied is clamped to maxAngle */
|
||||
Quat slerp
|
||||
|
||||
@@ -34,6 +34,7 @@ private:
|
||||
Vector3 m_invDirection;
|
||||
|
||||
|
||||
#if 0
|
||||
/** The following are for the "ray slope" optimization from
|
||||
"Fast Ray / Axis-Aligned Bounding Box Overlap Tests using Ray Slopes"
|
||||
by Martin Eisemann, Thorsten Grosch, Stefan Müller and Marcus Magnor
|
||||
@@ -48,6 +49,7 @@ private:
|
||||
|
||||
/** Precomputed components */
|
||||
float c_xy, c_xz, c_yx, c_yz, c_zx, c_zy;
|
||||
#endif
|
||||
|
||||
public:
|
||||
/** \param direction Assumed to have unit length */
|
||||
|
||||
@@ -160,6 +160,26 @@ void Quat::toRotationMatrix(
|
||||
rot = Matrix3(*this);
|
||||
}
|
||||
|
||||
Quat Quat::fromYPRAngles(float fYAngle, float fPAngle, float fRAngle)
|
||||
{
|
||||
float angles[3] = { fRAngle * 0.5f, fPAngle * 0.5f, fYAngle * 0.5f };
|
||||
float s[3] = { sinf(angles[0]), sinf(angles[1]), sinf(angles[2]) };
|
||||
float c[3] = { cosf(angles[0]), cosf(angles[1]), cosf(angles[2]) };
|
||||
|
||||
return Quat(
|
||||
s[0] * c[1] * c[2] - c[0] * s[1] * s[2],
|
||||
c[0] * s[1] * c[2] + s[0] * c[1] * s[2],
|
||||
c[0] * c[1] * s[2] - s[0] * s[1] * c[2],
|
||||
c[0] * c[1] * c[2] + s[0] * s[1] * s[2]
|
||||
);
|
||||
}
|
||||
|
||||
void Quat::toYPRAngles(float& fYAngle, float& fPAngle, float& fRAngle) const
|
||||
{
|
||||
fYAngle = atan2f(2.0f * (w * z + x * y), 1.0f - 2.0f * (y * y + z * z));
|
||||
fPAngle = asinf(clamp(2.0f * (w * y - z * x), -1.0f, 1.0f));
|
||||
fRAngle = atan2f(2.0f * (w * x + y * z), 1.0f - 2.0f * (x * x + y * y));
|
||||
}
|
||||
|
||||
Quat Quat::slerp
|
||||
(const Quat& _quat1,
|
||||
|
||||
@@ -22,6 +22,7 @@ void Ray::set(const Vector3& origin, const Vector3& direction) {
|
||||
|
||||
m_invDirection = Vector3::one() / direction;
|
||||
|
||||
#if 0
|
||||
// ray slope
|
||||
ibyj = m_direction.x * m_invDirection.y;
|
||||
jbyi = m_direction.y * m_invDirection.x;
|
||||
@@ -120,6 +121,7 @@ void Ray::set(const Vector3& origin, const Vector3& direction) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -40,8 +40,8 @@
|
||||
|
||||
// Database updater base information
|
||||
#define DATABASE_MYSQL_EXECUTABLE R"(@MYSQL_EXECUTABLE@)"
|
||||
#define DATABASE_FULL_DATABASE "TDB_full_world_1127.26011_2026_01_14.sql"
|
||||
#define DATABASE_HOTFIXES_DATABASE "TDB_full_hotfixes_1127.26011_2026_01_14.sql"
|
||||
#define DATABASE_FULL_DATABASE "TDB_full_world_1125.25101_2025_10_29.sql"
|
||||
#define DATABASE_HOTFIXES_DATABASE "TDB_full_hotfixes_1125.25101_2025_10_29.sql"
|
||||
|
||||
// Windows resource defines
|
||||
#define TRINITY_COMPANYNAME_STR "TrinityCore Developers"
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
DELETE FROM `build_info` WHERE `build` IN (68974);
|
||||
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
|
||||
(68974,12,0,7,NULL);
|
||||
|
||||
DELETE FROM `build_auth_key` WHERE `build`=68974 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=68974 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=68974 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=68974 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=68974 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=68974 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=68974 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
|
||||
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
|
||||
(68974,'Mac','A64','WoW',0x85DD40DEE35AB993417DB525B6B77A29),
|
||||
(68974,'Mac','A64','WoWC',0xFC4DCA5DF2E85C3ECC29B7A378320BBB),
|
||||
(68974,'Mac','x64','WoW',0x731561ADB563C0DF0FADC297F58EB6B1),
|
||||
(68974,'Mac','x64','WoWC',0xC45758865E9D79B0AC35B489C0C69891),
|
||||
(68974,'Win','A64','WoW',0x940DD79F8BF0EEA09A5EAE8200411D50),
|
||||
(68974,'Win','x64','WoW',0xF76807CCEA2336A3973D3D33EDEF7B76),
|
||||
(68974,'Win','x64','WoWC',0xE6091ECC24198181EFB2385B83EFD729);
|
||||
|
||||
UPDATE `realmlist` SET `gamebuild`=68974 WHERE `gamebuild`=68887;
|
||||
|
||||
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '68974';
|
||||
@@ -1,10 +0,0 @@
|
||||
DELETE FROM `rbac_permissions` WHERE `id` IN (886,887);
|
||||
INSERT INTO `rbac_permissions` (`id`,`name`) VALUES
|
||||
(1001,'Command: reload shop_catalog'),
|
||||
(1002,'Command: shop');
|
||||
|
||||
DELETE FROM `rbac_linked_permissions` WHERE `linkedId` IN (886,887);
|
||||
INSERT INTO `rbac_linked_permissions` (`id`,`linkedId`) VALUES
|
||||
(196,1001),
|
||||
(197,1002);
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
--
|
||||
-- In-game Shop / BattlePay purchase ledger (account level). Shared home for BOTH the WoW Token branch
|
||||
-- and the in-game Shop branch: it answers CMSG_BATTLE_PAY_GET_PURCHASE_LIST from real history and gives
|
||||
-- purchases a PurchaseID that survives restarts. The PurchaseID (`id`) is allocated with the realm id in
|
||||
-- its high 32 bits so two realms sharing this auth DB never collide.
|
||||
DROP TABLE IF EXISTS `account_battlepay_purchase`;
|
||||
CREATE TABLE `account_battlepay_purchase` (
|
||||
`id` bigint unsigned NOT NULL COMMENT 'Persistent monotonic PurchaseID sent on the wire; high 32 bits = realm id',
|
||||
`account` int unsigned NOT NULL DEFAULT '0' COMMENT 'Owning game account',
|
||||
`productId` int unsigned NOT NULL DEFAULT '0' COMMENT '0 is a VALID value (e.g. web-checkout purchases)',
|
||||
`status` int NOT NULL DEFAULT '0' COMMENT 'BattlepayPurchaseStatus: 6 = done, 4 = failed',
|
||||
`resultCode` int NOT NULL DEFAULT '0' COMMENT 'PurchaseResult: 0 = ok',
|
||||
`basePrice` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Copper',
|
||||
`userPrice` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Copper',
|
||||
`timeCreated` bigint NOT NULL DEFAULT '0' COMMENT 'Unix seconds',
|
||||
`walletName` varchar(32) NOT NULL DEFAULT '' COMMENT 'Wallet label; empty on this core, sent record-final',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_account` (`account`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='In-game Shop / BattlePay purchase ledger';
|
||||
@@ -1,43 +0,0 @@
|
||||
--
|
||||
-- In-game Shop / BattlePay entitlement ("distribution") store, account level.
|
||||
--
|
||||
-- An entitlement is a purchased-but-not-yet-applied product: the retail "own it now, apply it later"
|
||||
-- model that backs buying at character select and every service product (boost, rename, faction/race
|
||||
-- change, transfer) whose grant targets a character chosen AFTER the purchase.
|
||||
--
|
||||
-- It lives in the AUTH database for the same reason `account_battlepay_purchase` does: the Shop opens
|
||||
-- at character select, where no character database context exists yet, and an entitlement is owned by
|
||||
-- the ACCOUNT, not by a character or a realm. `id` doubles as the wire DistributionID and is allocated
|
||||
-- with the realm id in its high 32 bits so two realms sharing this auth DB never collide, exactly like
|
||||
-- the purchase ledger's PurchaseID.
|
||||
--
|
||||
-- Lifecycle (see BattlePayEntitlements in BattlePayMgr.h):
|
||||
-- 1 AVAILABLE - owned, unassigned. The only status ever sent to the client (the sole value observed
|
||||
-- on the wire, 68275 capture).
|
||||
-- 2 CLAIMED - transient: an assign is in flight and has won the compare-and-swap on `claimToken`.
|
||||
-- 3 BOUND - assigned to `targetCharacter` on `realmId`; the payload is delivered the next time
|
||||
-- that character logs in.
|
||||
-- 4 FINISHED - delivered; terminal.
|
||||
-- 5 REVOKED - withdrawn by an admin / refunded; terminal.
|
||||
--
|
||||
-- `claimToken` is what makes assignment safe against a replay or a second realm: the claiming session
|
||||
-- writes a random token together with status 2 under a `status = 1` guard, then reads the row back and
|
||||
-- proceeds only if ITS token survived. Two racing assigns can therefore never both succeed, without
|
||||
-- needing an affected-rows count.
|
||||
DROP TABLE IF EXISTS `account_battlepay_entitlement`;
|
||||
CREATE TABLE `account_battlepay_entitlement` (
|
||||
`id` bigint unsigned NOT NULL COMMENT 'DistributionID sent on the wire; high 32 bits = realm id',
|
||||
`account` int unsigned NOT NULL DEFAULT '0' COMMENT 'Owning game account',
|
||||
`productId` int unsigned NOT NULL DEFAULT '0' COMMENT 'shop_product.productId this entitlement grants',
|
||||
`serviceType` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '0 = deferred delivery of the product payload; else the VAS service type from shop_product_deliverable.id where type = 5',
|
||||
`status` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '1 available, 2 claimed, 3 bound to a character, 4 finished, 5 revoked',
|
||||
`purchaseId` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'account_battlepay_purchase.id that created this entitlement',
|
||||
`claimToken` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Compare-and-swap token held by the session currently assigning this entitlement',
|
||||
`realmId` int unsigned NOT NULL DEFAULT '0' COMMENT 'Realm the target character lives on; 0 while unassigned',
|
||||
`targetCharacter` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Character guid counter it was assigned to; 0 while unassigned',
|
||||
`createTime` bigint NOT NULL DEFAULT '0' COMMENT 'Unix seconds',
|
||||
`updateTime` bigint NOT NULL DEFAULT '0' COMMENT 'Unix seconds of the last status change',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_account_status` (`account`, `status`),
|
||||
KEY `idx_pending_delivery` (`realmId`, `targetCharacter`, `status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='In-game Shop / BattlePay entitlements (distributions)';
|
||||
@@ -1,13 +0,0 @@
|
||||
--
|
||||
-- WoW Token holdings and token market listings (account level, queried at character select).
|
||||
DROP TABLE IF EXISTS `account_wow_token`;
|
||||
CREATE TABLE `account_wow_token` (
|
||||
`id` bigint unsigned NOT NULL COMMENT 'Token id sent to the client',
|
||||
`account` int unsigned NOT NULL DEFAULT '0' COMMENT 'Owning account, 0 while listed on the market',
|
||||
`state` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '0 Auctionable, 1 Consumable, 2 Listed on the market',
|
||||
`price` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Copper, only meaningful while state = 2',
|
||||
`createTime` bigint NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_account` (`account`),
|
||||
KEY `idx_state` (`state`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WoW Token holdings and market listings';
|
||||
@@ -1,7 +0,0 @@
|
||||
--
|
||||
-- WoW Token market: record the character that listed a token so its sale proceeds can be mailed to them
|
||||
-- when the listing is bought (feature/wow-token B3: sell / buy / redeem legs).
|
||||
ALTER TABLE `account_wow_token`
|
||||
ADD COLUMN `seller_guid` bigint unsigned NOT NULL DEFAULT '0'
|
||||
COMMENT 'Character lowguid that listed the token; receives the sale proceeds by mail'
|
||||
AFTER `createTime`;
|
||||
@@ -1,23 +0,0 @@
|
||||
DELETE FROM `build_info` WHERE `build` IN (69404);
|
||||
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
|
||||
(69404,12,1,0,NULL);
|
||||
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69404 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69404 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69404 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69404 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69404 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69404 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69404 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
|
||||
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
|
||||
(69404,'Mac','A64','WoW',0xBDA04532B8ADFC14EB0303A039BF7048),
|
||||
(69404,'Mac','A64','WoWC',0x77C294D2234949A948354CD87CF8EC48),
|
||||
(69404,'Mac','x64','WoW',0x90AC968F93FD22006D841AECA9238FAF),
|
||||
(69404,'Mac','x64','WoWC',0xA44B02A5B1B1C180856DAB378492ED45),
|
||||
(69404,'Win','A64','WoW',0xDB4BB15219663DA52CBF361EFD2E6553),
|
||||
(69404,'Win','x64','WoW',0xB86BE5F3F07C24ACB8EA41D76E0702FC),
|
||||
(69404,'Win','x64','WoWC',0x4FE59E2D64FABB732B5864EF37300FFE);
|
||||
|
||||
UPDATE `realmlist` SET `gamebuild`=69404 WHERE `gamebuild`=68974;
|
||||
|
||||
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '69404';
|
||||
@@ -0,0 +1,23 @@
|
||||
DELETE FROM `build_info` WHERE `build` IN (69587);
|
||||
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
|
||||
(69587,12,1,0,NULL);
|
||||
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69587 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69587 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69587 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69587 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69587 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69587 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69587 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
|
||||
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
|
||||
(69587,'Mac','A64','WoW',0x7FA9BFC62ACCD945E65A523ACC1F5EDE),
|
||||
(69587,'Mac','A64','WoWC',0x352327CB18DFF32F75337C368E6F07EA),
|
||||
(69587,'Mac','x64','WoW',0x1360FA09EC48BBACF779FD8BFCD5979F),
|
||||
(69587,'Mac','x64','WoWC',0xE22AD5AF37CB1E02A0C8A8A3CC80D950),
|
||||
(69587,'Win','A64','WoW',0x1D301623C394178B5BBC90BF0CC2468D),
|
||||
(69587,'Win','x64','WoW',0xEE9E0616CA2E563E9903A519573599CF),
|
||||
(69587,'Win','x64','WoWC',0x8CD796511F75479A66E6BCE3F1D7BF31);
|
||||
|
||||
UPDATE `realmlist` SET `gamebuild`=69587 WHERE `gamebuild`=69497;
|
||||
|
||||
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '69587';
|
||||
@@ -0,0 +1,23 @@
|
||||
DELETE FROM `build_info` WHERE `build` IN (69814);
|
||||
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
|
||||
(69814,12,1,0,NULL);
|
||||
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69814 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69814 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69814 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69814 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69814 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69814 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69814 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
|
||||
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
|
||||
(69814,'Mac','A64','WoW',0xD497A69BF6FB25BE54AE23E41A1AFA6E),
|
||||
(69814,'Mac','A64','WoWC',0x9694CB1E8B652A07C776A30220393858),
|
||||
(69814,'Mac','x64','WoW',0xFCD40D024C0EE8F8207F60593D41DD91),
|
||||
(69814,'Mac','x64','WoWC',0xC278DA09AFA8C593143A2E2583F904A9),
|
||||
(69814,'Win','A64','WoW',0x7EEA3C940FC8A5314EAD50E5C627A530),
|
||||
(69814,'Win','x64','WoW',0x534805439760F1DD48DD1B68DFE03AC7),
|
||||
(69814,'Win','x64','WoWC',0x21F435C122C5FD68B5DB3BC2D903AA1B);
|
||||
|
||||
UPDATE `realmlist` SET `gamebuild`=69814 WHERE `gamebuild`=69587;
|
||||
|
||||
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '69814';
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE `account` MODIFY COLUMN `username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' AFTER `id`;
|
||||
@@ -0,0 +1,23 @@
|
||||
DELETE FROM `build_info` WHERE `build` IN (69875);
|
||||
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
|
||||
(69875,12,1,0,NULL);
|
||||
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69875 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69875 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69875 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69875 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69875 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69875 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69875 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
|
||||
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
|
||||
(69875,'Mac','A64','WoW',0xD88093682EC77460858BB7B29E69F968),
|
||||
(69875,'Mac','A64','WoWC',0x3171A821092246CE74F7F06144C3CBB3),
|
||||
(69875,'Mac','x64','WoW',0x3DBF6AF950B2D6A367BC2D7940F7433F),
|
||||
(69875,'Mac','x64','WoWC',0x3B2E6D42A6E5CADE919093EF78960D35),
|
||||
(69875,'Win','A64','WoW',0x4CFEB2811C1940D0346014B367BD0325),
|
||||
(69875,'Win','x64','WoW',0xE0AA3015AD5C595869F13B6B8BECC231),
|
||||
(69875,'Win','x64','WoWC',0xE8C0198E6721AAF2B1C748AC4284A574);
|
||||
|
||||
UPDATE `realmlist` SET `gamebuild`=69875 WHERE `gamebuild`=69814;
|
||||
|
||||
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '69875';
|
||||
@@ -0,0 +1,23 @@
|
||||
DELETE FROM `build_info` WHERE `build` IN (69933);
|
||||
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
|
||||
(69933,12,1,0,NULL);
|
||||
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69933 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69933 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69933 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69933 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69933 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69933 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
|
||||
DELETE FROM `build_auth_key` WHERE `build`=69933 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
|
||||
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
|
||||
(69933,'Mac','A64','WoW',0x855F995BA81FABAEC8282A64623EF654),
|
||||
(69933,'Mac','A64','WoWC',0x87753E122E07CFF1C89D513425D51F16),
|
||||
(69933,'Mac','x64','WoW',0x4F461CA5A8E12A654EE7ECFF66577256),
|
||||
(69933,'Mac','x64','WoWC',0x55CEFA786E7BAD5C88814CB42A440A4C),
|
||||
(69933,'Win','A64','WoW',0x8D8FD4D1186C83F2641AF2ADBBB1E674),
|
||||
(69933,'Win','x64','WoW',0xDE452B2BD2640E83AD944B07B4C76649),
|
||||
(69933,'Win','x64','WoWC',0x7CD51CFAFB5CE86AFE85D6EDDEC7CF61);
|
||||
|
||||
UPDATE `realmlist` SET `gamebuild`=69933 WHERE `gamebuild`=69875;
|
||||
|
||||
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '69933';
|
||||
@@ -1,26 +0,0 @@
|
||||
-- G4: allow a character to persist MULTIPLE garrisons (WoD garrison + Legion order hall + BfA war campaign + covenant).
|
||||
-- Adds garrType scoping to every garrison sub-table + widens the character_garrison PK. Backfill is safe because
|
||||
-- today every character has exactly one garrison (PK guid), so all its sub-rows belong to that garrison's type.
|
||||
|
||||
-- 1. Allow >1 garrison row per character.
|
||||
ALTER TABLE `character_garrison` DROP PRIMARY KEY, ADD PRIMARY KEY (`guid`, `type`);
|
||||
|
||||
-- 2. Add garrType to each sub-table (archived_missions already has it).
|
||||
ALTER TABLE `character_garrison_blueprints` ADD COLUMN `garrType` tinyint unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `character_garrison_buildings` ADD COLUMN `garrType` tinyint unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `character_garrison_specializations` ADD COLUMN `garrType` tinyint unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `character_garrison_followers` ADD COLUMN `garrType` tinyint unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `character_garrison_missions` ADD COLUMN `garrType` tinyint unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `character_garrison_shipments` ADD COLUMN `garrType` tinyint unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `character_garrison_talents` ADD COLUMN `garrType` tinyint unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `character_garrison_trophies` ADD COLUMN `garrType` tinyint unsigned NOT NULL DEFAULT 0;
|
||||
|
||||
-- 3. Backfill: every existing sub-row belongs to that character's single garrison.
|
||||
UPDATE `character_garrison_blueprints` s JOIN `character_garrison` g ON g.`guid`=s.`guid` SET s.`garrType`=g.`type`;
|
||||
UPDATE `character_garrison_buildings` s JOIN `character_garrison` g ON g.`guid`=s.`guid` SET s.`garrType`=g.`type`;
|
||||
UPDATE `character_garrison_specializations` s JOIN `character_garrison` g ON g.`guid`=s.`guid` SET s.`garrType`=g.`type`;
|
||||
UPDATE `character_garrison_followers` s JOIN `character_garrison` g ON g.`guid`=s.`guid` SET s.`garrType`=g.`type`;
|
||||
UPDATE `character_garrison_missions` s JOIN `character_garrison` g ON g.`guid`=s.`guid` SET s.`garrType`=g.`type`;
|
||||
UPDATE `character_garrison_shipments` s JOIN `character_garrison` g ON g.`guid`=s.`guid` SET s.`garrType`=g.`type`;
|
||||
UPDATE `character_garrison_talents` s JOIN `character_garrison` g ON g.`guid`=s.`guid` SET s.`garrType`=g.`type`;
|
||||
UPDATE `character_garrison_trophies` s JOIN `character_garrison` g ON g.`guid`=s.`guid` SET s.`garrType`=g.`type`;
|
||||
@@ -1,10 +0,0 @@
|
||||
-- Per-character weekly cap tracking for order-hall work orders (e.g. the Hunter "Unseen Path" Seal of Broken Fate
|
||||
-- order, capped at 3 per week). `weekReset` = the server's weekly quest reset; once passed, the counter starts fresh.
|
||||
CREATE TABLE `character_garrison_weekly_shipments` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL,
|
||||
`npcEntry` INT UNSIGNED NOT NULL,
|
||||
`placed` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`weekReset` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`guid`,`npcEntry`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Order-hall weekly-capped work orders (Garrison::CreateTroopShipment gate)';
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
--
|
||||
-- Mythic+ keystone lifecycle: track timed-ness of weekly runs (drives the weekly keystone level adjustment)
|
||||
-- and the reset boundary the keystone was last adjusted for.
|
||||
--
|
||||
ALTER TABLE `character_mythic_plus_weekly` ADD `timed` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Run beat the par time' AFTER `level`;
|
||||
ALTER TABLE `character_mythic_plus_vault` ADD `keystoneResetTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'Weekly reset boundary the keystone was last adjusted for' AFTER `claimedResetTime`;
|
||||
@@ -1,88 +0,0 @@
|
||||
|
||||
--
|
||||
-- Table structure for table `character_mythic_plus`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `character_mythic_plus`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `character_mythic_plus` (
|
||||
`guid` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier',
|
||||
`challengeModeId` int unsigned NOT NULL DEFAULT '0' COMMENT 'MapChallengeMode.db2 ID',
|
||||
`level` int unsigned NOT NULL DEFAULT '0' COMMENT 'Keystone level of the best run',
|
||||
`durationMs` int unsigned NOT NULL DEFAULT '0' COMMENT 'Effective run time in milliseconds (incl. death penalty)',
|
||||
`deaths` int unsigned NOT NULL DEFAULT '0',
|
||||
`completionDate` bigint NOT NULL DEFAULT '0' COMMENT 'Unix time of the run',
|
||||
`score` float NOT NULL DEFAULT '0',
|
||||
`affix1` int unsigned NOT NULL DEFAULT '0',
|
||||
`affix2` int unsigned NOT NULL DEFAULT '0',
|
||||
`affix3` int unsigned NOT NULL DEFAULT '0',
|
||||
`affix4` int unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`guid`,`challengeModeId`),
|
||||
CONSTRAINT `fk_character_mythic_plus_character` FOREIGN KEY (`guid`) REFERENCES `characters` (`guid`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Mythic Keystone best runs';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `character_mythic_plus`
|
||||
--
|
||||
|
||||
LOCK TABLES `character_mythic_plus` WRITE;
|
||||
/*!40000 ALTER TABLE `character_mythic_plus` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `character_mythic_plus` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `character_mythic_plus_vault`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `character_mythic_plus_vault`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `character_mythic_plus_vault` (
|
||||
`guid` bigint unsigned NOT NULL COMMENT 'Global Unique Identifier',
|
||||
`claimedResetTime` bigint NOT NULL DEFAULT '0' COMMENT 'Weekly reset boundary the vault reward was claimed for',
|
||||
`keystoneResetTime` bigint NOT NULL DEFAULT '0' COMMENT 'Weekly reset boundary the keystone was last adjusted for',
|
||||
PRIMARY KEY (`guid`),
|
||||
CONSTRAINT `fk_character_mythic_plus_vault_guid` FOREIGN KEY (`guid`) REFERENCES `characters` (`guid`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Per-character Great Vault weekly claim state';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `character_mythic_plus_vault`
|
||||
--
|
||||
|
||||
LOCK TABLES `character_mythic_plus_vault` WRITE;
|
||||
/*!40000 ALTER TABLE `character_mythic_plus_vault` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `character_mythic_plus_vault` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `character_mythic_plus_weekly`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `character_mythic_plus_weekly`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `character_mythic_plus_weekly` (
|
||||
`guid` bigint unsigned NOT NULL COMMENT 'Global Unique Identifier',
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`challengeModeId` int unsigned NOT NULL DEFAULT '0',
|
||||
`level` int unsigned NOT NULL DEFAULT '0',
|
||||
`timed` tinyint unsigned NOT NULL DEFAULT '0' COMMENT 'Run beat the par time',
|
||||
`completionDate` bigint NOT NULL DEFAULT '0',
|
||||
`resetTime` bigint NOT NULL DEFAULT '0' COMMENT 'Weekly reset boundary these runs belong to',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_guid` (`guid`),
|
||||
CONSTRAINT `fk_character_mythic_plus_weekly_guid` FOREIGN KEY (`guid`) REFERENCES `characters` (`guid`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Per-character Mythic+ runs completed this Great Vault week';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `character_mythic_plus_weekly`
|
||||
--
|
||||
|
||||
LOCK TABLES `character_mythic_plus_weekly` WRITE;
|
||||
/*!40000 ALTER TABLE `character_mythic_plus_weekly` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `character_mythic_plus_weekly` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
@@ -1,11 +0,0 @@
|
||||
--
|
||||
-- Item upgrade per-slot high-watermark (highest item level a slot class has paid crests to; drives the
|
||||
-- crest waiver and the client's ItemUpgradeHighWatermark discount display).
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `character_item_upgrade_watermark` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL COMMENT 'Global Unique Identifier',
|
||||
`slotClass` TINYINT UNSIGNED NOT NULL COMMENT 'Watermark slot class index (0-16)',
|
||||
`itemLevel` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`guid`,`slotClass`),
|
||||
CONSTRAINT `fk_char_item_upgrade_watermark_guid` FOREIGN KEY (`guid`) REFERENCES `characters` (`guid`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Per-character item upgrade watermarks';
|
||||
@@ -1,10 +0,0 @@
|
||||
--
|
||||
-- Archaeology (from the ground up) Phase 1 sub-slice 2b: per-character active dig sites.
|
||||
-- Persists the ActivePlayer ResearchSites / ResearchSiteProgress update fields across relog/restart.
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `character_research_site` (
|
||||
`guid` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier',
|
||||
`researchSiteId` smallint unsigned NOT NULL DEFAULT '0',
|
||||
`progress` int unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`guid`,`researchSiteId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Archaeology active dig sites per character';
|
||||
@@ -1,50 +0,0 @@
|
||||
--
|
||||
-- Mythic+ weekly keystone rollover: persist the previous week's run summary.
|
||||
--
|
||||
-- The weekly run rows (character_mythic_plus_weekly) are dropped the moment the finished week is pruned, but the
|
||||
-- retail keystone rule needs that week's highest completed / highest timed level to pick the new key. Keeping the
|
||||
-- summary only in memory loses it whenever a character save or a server restart lands between the weekly reset and
|
||||
-- the keystone adjustment, silently degrading the key to the "no history" rule (one level lower). These columns
|
||||
-- make it durable.
|
||||
--
|
||||
-- Idempotent: each column is added only when information_schema says it is missing, so the file is safe to re-run
|
||||
-- and safe against a base dump that already carries the columns.
|
||||
--
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
DROP PROCEDURE IF EXISTS `_tc_add_mythic_plus_vault_prev_week` $$
|
||||
CREATE PROCEDURE `_tc_add_mythic_plus_vault_prev_week`()
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM `information_schema`.`COLUMNS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'character_mythic_plus_vault'
|
||||
AND `COLUMN_NAME` = 'prevWeekResetTime') THEN
|
||||
ALTER TABLE `character_mythic_plus_vault`
|
||||
ADD COLUMN `prevWeekResetTime` BIGINT NOT NULL DEFAULT 0
|
||||
COMMENT 'Weekly reset boundary the summarised previous week ended at' AFTER `keystoneResetTime`;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM `information_schema`.`COLUMNS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'character_mythic_plus_vault'
|
||||
AND `COLUMN_NAME` = 'prevWeekBestLevel') THEN
|
||||
ALTER TABLE `character_mythic_plus_vault`
|
||||
ADD COLUMN `prevWeekBestLevel` INT UNSIGNED NOT NULL DEFAULT 0
|
||||
COMMENT 'Highest keystone level completed in that week (timed or not)' AFTER `prevWeekResetTime`;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM `information_schema`.`COLUMNS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'character_mythic_plus_vault'
|
||||
AND `COLUMN_NAME` = 'prevWeekBestTimedLevel') THEN
|
||||
ALTER TABLE `character_mythic_plus_vault`
|
||||
ADD COLUMN `prevWeekBestTimedLevel` INT UNSIGNED NOT NULL DEFAULT 0
|
||||
COMMENT 'Highest keystone level completed IN TIME in that week' AFTER `prevWeekBestLevel`;
|
||||
END IF;
|
||||
END $$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
CALL `_tc_add_mythic_plus_vault_prev_week`();
|
||||
DROP PROCEDURE IF EXISTS `_tc_add_mythic_plus_vault_prev_week`;
|
||||
@@ -1,29 +0,0 @@
|
||||
--
|
||||
-- Great Vault / Weekly Rewards: per-character weekly activity tracking and claim state.
|
||||
--
|
||||
DROP TABLE IF EXISTS `character_weekly_reward_activity`;
|
||||
CREATE TABLE `character_weekly_reward_activity` (
|
||||
`ownerGuid` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Character Global Unique Identifier',
|
||||
`activityType` tinyint unsigned NOT NULL DEFAULT '0' COMMENT 'Great Vault row: 0 Dungeon, 1 Raid, 2 World',
|
||||
`period` int unsigned NOT NULL DEFAULT '0' COMMENT 'Weekly period index this activity belongs to',
|
||||
`count` int unsigned NOT NULL DEFAULT '0' COMMENT 'Qualifying completions this period',
|
||||
`bestLevel` int unsigned NOT NULL DEFAULT '0' COMMENT 'Best difficulty/keystone level this period',
|
||||
PRIMARY KEY (`ownerGuid`,`activityType`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Player System';
|
||||
|
||||
DROP TABLE IF EXISTS `character_weekly_reward_state`;
|
||||
CREATE TABLE `character_weekly_reward_state` (
|
||||
`ownerGuid` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Character Global Unique Identifier',
|
||||
`claimedPeriod` int unsigned NOT NULL DEFAULT '0' COMMENT 'Last weekly period a reward was claimed',
|
||||
PRIMARY KEY (`ownerGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Player System';
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `character_content_tracking`;
|
||||
CREATE TABLE `character_content_tracking` (
|
||||
`ownerGuid` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Character Global Unique Identifier',
|
||||
`targetType` int NOT NULL DEFAULT '0' COMMENT 'ContentTrackingTargetType of the tracked entry',
|
||||
`targetId` int NOT NULL DEFAULT '0' COMMENT 'Id of the tracked target within its type',
|
||||
`collectableSourceInfoId` int NOT NULL DEFAULT '0' COMMENT 'Client-resolved CollectableSourceInfo id',
|
||||
PRIMARY KEY (`ownerGuid`,`targetType`,`targetId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Player System';
|
||||
@@ -1,19 +0,0 @@
|
||||
DROP TABLE `character_weekly_reward_activity`;
|
||||
CREATE TABLE `character_weekly_reward_activity` (
|
||||
`ownerGuid` BIGINT UNSIGNED NOT NULL,
|
||||
`period` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`activityType` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`count` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`bestLevel` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`levels` TEXT NULL,
|
||||
PRIMARY KEY (`ownerGuid`, `period`, `activityType`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE `character_content_tracking`;
|
||||
CREATE TABLE `character_content_tracking` (
|
||||
`ownerGuid` BIGINT UNSIGNED NOT NULL,
|
||||
`targetType` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`targetId` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`collectableSourceInfoId` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`ownerGuid`, `targetType`, `targetId`, `collectableSourceInfoId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -1,18 +0,0 @@
|
||||
--
|
||||
-- Prey system + Voidforge (Midnight Season 1) — per-character hunt state.
|
||||
-- SHIPPED ON BRANCH, NOT APPLIED to the shared realm. Additive; PreyMgr
|
||||
-- tolerates its absence (OnPlayerLogin is a no-op until this is populated).
|
||||
--
|
||||
-- Tracks in-flight / weekly hunt bookkeeping. The weekly cap is 1 hunt per
|
||||
-- difficulty per zone (up to 12 across the four Midnight zones) — [RESEARCH],
|
||||
-- enforced server-side once the completion wire is captured.
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `character_prey_hunt` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL COMMENT 'character guid',
|
||||
`HuntId` INT UNSIGNED NOT NULL COMMENT 'FK prey_hunt_template.Id',
|
||||
`Difficulty` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`Status` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0 available / 1 active / 2 completed',
|
||||
`WeekStart` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'unix time of the weekly-reset bucket',
|
||||
PRIMARY KEY (`guid`,`HuntId`,`WeekStart`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
@@ -1,16 +0,0 @@
|
||||
-- Omnium Folio (Midnight 12.0.7 Season 1) -- per-character season bookkeeping
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- The folio's actual power/selection state persists through the EXISTING trait
|
||||
-- tables (character_trait_config / character_trait_entry) because it is a
|
||||
-- generic TraitConfig (TraitSystem 48 / TraitTree 1186). This table only tracks
|
||||
-- which season a character has already been reset/minted for, so the seasonal
|
||||
-- rollover seam (OmniumFolioMgr::ResetForNewSeason) can re-mint exactly once.
|
||||
--
|
||||
-- Realm-safety: purely additive; nothing reads it until the seasonal seam is
|
||||
-- enabled. Ship-only; DO NOT apply to the shared integration realm.
|
||||
CREATE TABLE IF NOT EXISTS `character_omnium_folio` (
|
||||
`guid` bigint unsigned NOT NULL COMMENT 'Character GUID',
|
||||
`LastSeasonMinted` int unsigned NOT NULL DEFAULT '0' COMMENT 'Season the generic folio config was last minted/reset for',
|
||||
`UnlockedAt` int unsigned NOT NULL DEFAULT '0' COMMENT 'Unix time the folio unlock spell was applied',
|
||||
PRIMARY KEY (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Omnium Folio per-character season bookkeeping';
|
||||
@@ -1,10 +0,0 @@
|
||||
-- BfA Warfronts (P0): coarse per-zone cycle state owned by WarfrontMgr. The contribution *bar counter* persists
|
||||
-- separately through ManagedWorldStateMgr -> world_state; this table only holds the cycle spine (which phase, who
|
||||
-- controls the zone, and the current phase-end timestamp) so the cycle survives a restart. See WARFRONTS_DESIGN.md §1.3.
|
||||
CREATE TABLE IF NOT EXISTS `warfront_state` (
|
||||
`WarfrontId` TINYINT UNSIGNED NOT NULL, -- our WarfrontId enum (1=Stromgarde, 2=Darkshore)
|
||||
`State` TINYINT UNSIGNED NOT NULL DEFAULT 0, -- WarfrontState enum (0=CONTRIBUTION,1=SIEGE,2=FLIP)
|
||||
`Controlling` TINYINT UNSIGNED NOT NULL DEFAULT 0, -- TeamId of the controlling faction (0=Alliance,1=Horde)
|
||||
`PhaseEndTime` INT UNSIGNED NOT NULL DEFAULT 0, -- unix time the current phase ends (0 = no active timer)
|
||||
PRIMARY KEY (`WarfrontId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='BfA Warfront cycle state (WarfrontMgr)';
|
||||
@@ -1,21 +0,0 @@
|
||||
--
|
||||
-- Covenant Callings board (P4.4).
|
||||
--
|
||||
-- One row per calling slot. A covenant board holds exactly three slots
|
||||
-- (CovenantCallingsConstants.Callings.MaxCallings = 3 in the 12.0.7.68275 client); a slot either offers a
|
||||
-- Bounty.db2 row until expireTime, or is empty and refills at refillTime. Both timestamps are daily-reset
|
||||
-- boundaries, which is what lets the board roll over exactly at reset and be reconstructed after a restart
|
||||
-- without any scheduler state.
|
||||
--
|
||||
-- Keyed by covenantId as well as guid: the per-covenant currency families (renown 1829-1832, reservoir anima
|
||||
-- 1859-1862, redeemed souls 1863-1866) are direct evidence that Blizzard keeps all four covenant tracks for a
|
||||
-- character simultaneously, so a covenant switch must not discard the other covenant's board.
|
||||
CREATE TABLE IF NOT EXISTS `character_covenant_callings` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`covenantId` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Covenant.db2 ID this board belongs to',
|
||||
`slot` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0-based slot on the board',
|
||||
`bountyId` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Bounty.db2 ID currently offered, 0 when the slot is empty',
|
||||
`expireTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'Unix time the offer lapses (occupied slots only)',
|
||||
`refillTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'Unix time a new calling is issued (empty slots only)',
|
||||
PRIMARY KEY (`guid`,`covenantId`,`slot`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Covenant Callings - per-character daily bounty board';
|
||||
@@ -1,28 +0,0 @@
|
||||
-- Covenant switching / reset (spell 338503 "Reset Covenant").
|
||||
--
|
||||
-- A switch must never cost a character anything belonging to a covenant it may return to. Renown (1829-1832),
|
||||
-- reservoir anima (1859-1862), researched sanctum talents (character_garrison_talents - every covenant-scoped
|
||||
-- GarrTalentTree names its owner in FeatureSubtypeIndex, so the four covenants already own disjoint rows),
|
||||
-- companions (character_garrison_followers), conduits, conduit sockets, the granted-renown high-water mark and
|
||||
-- the per-covenant calling boards are all already stored per covenant and are left untouched by a switch.
|
||||
--
|
||||
-- The one piece of covenant-scoped state that had nowhere to live is WHICH SOULBIND a covenant was using:
|
||||
-- character_covenant is single-valued by design (it holds the ACTIVE covenant/soulbind), so leaving a covenant
|
||||
-- would have thrown its soulbind choice away. This table remembers it per covenant, and because a row is written
|
||||
-- for every covenant the character pledges to - even before it picks a soulbind - it doubles as the "covenants
|
||||
-- ever joined" set that tells a switch apart from a first pledge.
|
||||
--
|
||||
-- Idempotent: safe to re-run.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `character_covenant_soulbind` (
|
||||
`guid` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`covenantId` int unsigned NOT NULL DEFAULT '0',
|
||||
`soulbindId` int unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`guid`,`covenantId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Soulbind last active per covenant (also the set of covenants ever joined)';
|
||||
|
||||
-- Seed the characters that already belong to a covenant, so their current pledge is recognised as "joined" and
|
||||
-- their current soulbind survives their first switch. INSERT IGNORE keeps a re-run from overwriting anything the
|
||||
-- server has since recorded.
|
||||
INSERT IGNORE INTO `character_covenant_soulbind` (`guid`, `covenantId`, `soulbindId`)
|
||||
SELECT `guid`, `covenantId`, `soulbindId` FROM `character_covenant` WHERE `covenantId` <> 0;
|
||||
@@ -1,22 +0,0 @@
|
||||
--
|
||||
-- Queen's Conservatory (Night Fae unique covenant sanctum feature, GarrTalentTree 319).
|
||||
-- One row per OCCUPIED wildseed plot; empty plots are not stored. plotId is 0-based and is bounded by the
|
||||
-- number of researched tiers of tree 319 (max 5 - GarrTalentTree 319 MaxTiers). state: 0 empty, 1 growing,
|
||||
-- 2 ready to harvest. catalyst1..4 hold GameObject entries (353652 Catalyst of Power / 353653 Catalyst of
|
||||
-- Renewal / 353654 Catalyst of Might); talent 1090 "Final Forms" is what caps the links at four.
|
||||
-- Idempotent.
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `character_garrison_conservatory` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`plotId` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0-based wildseed plot index',
|
||||
`wildseedEntry` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_conservatory_wildseed.wildseedEntry',
|
||||
`plantedTime` BIGINT NOT NULL DEFAULT 0,
|
||||
`maturesAt` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time the wildseed becomes harvestable',
|
||||
`catalyst1` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'gameobject_template.entry of the attached catalyst',
|
||||
`catalyst2` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`catalyst3` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`catalyst4` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`state` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0 empty, 1 growing, 2 ready',
|
||||
PRIMARY KEY (`guid`, `plotId`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Queen''s Conservatory wildseed plots';
|
||||
@@ -1,45 +0,0 @@
|
||||
--
|
||||
-- Queen's Conservatory - the catalyst columns hold ITEM ids, not GameObject entries.
|
||||
--
|
||||
-- 2026_08_07_03 created `character_garrison_conservatory` with catalyst1..4 documented as
|
||||
-- "gameobject_template.entry of the attached catalyst", naming GameObjects 353652 / 353653 / 353654
|
||||
-- ("Catalyst of Power / Renewal / Might"). Those are Revendreth vampire-bottle props in AreaTable 10413 on
|
||||
-- map 2222, not Conservatory objects - see the header of the world migration
|
||||
-- 2026_08_07_63_covenant_conservatory_catalysts.sql for the full derivation.
|
||||
--
|
||||
-- The real catalysts are the items 176921 Temporal Leaves / 176922 Wild Nightbloom / 176832 Wildseed Root
|
||||
-- Grain, so these columns now carry `garrison_conservatory_catalyst`.catalystItemId. This file only
|
||||
-- re-documents the columns and clears any value written under the old (no-op) meaning; the engine also drops
|
||||
-- unknown catalyst ids at load time with a log line, so applying this is belt-and-braces.
|
||||
--
|
||||
-- Idempotent.
|
||||
--
|
||||
|
||||
-- Safety net if this file is applied without 2026_08_07_03 (identical definition, corrected comments).
|
||||
CREATE TABLE IF NOT EXISTS `character_garrison_conservatory` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`plotId` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0-based wildseed plot index',
|
||||
`wildseedEntry` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_conservatory_wildseed.wildseedEntry',
|
||||
`plantedTime` BIGINT NOT NULL DEFAULT 0,
|
||||
`maturesAt` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time the wildseed becomes harvestable',
|
||||
`catalyst1` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_conservatory_catalyst.catalystItemId of the attached catalyst',
|
||||
`catalyst2` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`catalyst3` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`catalyst4` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`state` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0 empty, 1 growing, 2 ready',
|
||||
PRIMARY KEY (`guid`, `plotId`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Queens Conservatory wildseed plots';
|
||||
|
||||
ALTER TABLE `character_garrison_conservatory`
|
||||
MODIFY `catalyst1` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_conservatory_catalyst.catalystItemId of the attached catalyst',
|
||||
MODIFY `catalyst2` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_conservatory_catalyst.catalystItemId of the attached catalyst',
|
||||
MODIFY `catalyst3` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_conservatory_catalyst.catalystItemId of the attached catalyst',
|
||||
MODIFY `catalyst4` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_conservatory_catalyst.catalystItemId of the attached catalyst';
|
||||
|
||||
-- The only values the old code could ever have written are those three GameObject entries (it validated
|
||||
-- against gameobject_template), and they mean nothing under the new meaning. Nothing else is touched.
|
||||
UPDATE `character_garrison_conservatory` SET `catalyst1` = 0 WHERE `catalyst1` IN (353652,353653,353654);
|
||||
UPDATE `character_garrison_conservatory` SET `catalyst2` = 0 WHERE `catalyst2` IN (353652,353653,353654);
|
||||
UPDATE `character_garrison_conservatory` SET `catalyst3` = 0 WHERE `catalyst3` IN (353652,353653,353654);
|
||||
UPDATE `character_garrison_conservatory` SET `catalyst4` = 0 WHERE `catalyst4` IN (353652,353653,353654);
|
||||
@@ -1,25 +0,0 @@
|
||||
--
|
||||
-- Abomination Factory (Necrolord unique covenant sanctum feature, GarrTalentTree 321).
|
||||
--
|
||||
-- One row per construct body the character has stitched. `recipeSpellId` is the "Construct Body: X" recipe
|
||||
-- (a SkillLineAbility.Spell of SkillLine 2787 "Abominable Stitching") that produced it - the 15 of them are
|
||||
-- identified by the server from client data as the stitching recipes whose spell carries
|
||||
-- SPELL_EFFECT_KILL_CREDIT (creature credit 167076 / 167581), so nothing here hardcodes an id list.
|
||||
--
|
||||
-- The client's own roster of the same 15 is CriteriaTree 88195 "Abominable Stitching - Build Abom":
|
||||
-- Chordy 325284, Roseboil 325451, Marz 325452, Flytrap 325453, Atticus 325454, Miru 325458, Neena 326379,
|
||||
-- Gas Bag 326380, Professor 326406, Toothpick 326407, Mama Tomalin 326408, Iron Phillip 338037,
|
||||
-- Guillotine 338039, Sabrina 338040, Naxx 338043.
|
||||
--
|
||||
-- Only the covenant sanctum (GarrType 111) has one, so the table is keyed by guid alone and is written and
|
||||
-- purged from Garrison::SaveToDB / Garrison::DeleteFromDB behind a GARRISON_TYPE_COVENANT check.
|
||||
--
|
||||
-- Idempotent.
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `character_garrison_abomination_factory` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`recipeSpellId` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'SkillLineAbility.Spell of the construct-body recipe',
|
||||
`builtTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time the construct was stitched',
|
||||
PRIMARY KEY (`guid`, `recipeSpellId`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Abomination Factory construct stable';
|
||||
@@ -1,37 +0,0 @@
|
||||
--
|
||||
-- Path of Ascension (Kyrian unique covenant sanctum feature, GarrTalentTree 320).
|
||||
--
|
||||
-- One row per Shadowlands memory the character has captured, plus how far that memory has been taken.
|
||||
--
|
||||
-- `memoryId` references `garrison_ascension_memory`.`memoryId` in the world DB (authored content - see
|
||||
-- sql/updates/world/master/2026_08_07_80_covenant_ascension_memories.sql for why that roster is not derived).
|
||||
-- A stored row whose memoryId no longer has a world row is dropped with an error at load
|
||||
-- (PathOfAscension::LoadFromDB) rather than carried as an id no gate can evaluate.
|
||||
--
|
||||
-- `highestTrialWon` is the high-water mark over the four trials, which are Difficulty.db2 rows in the 68275
|
||||
-- client, not an invented scale:
|
||||
-- 0 none, 1 Trial of Courage (Difficulty 168), 2 Trial of Loyalty (169),
|
||||
-- 3 Trial of Wisdom (170), 4 Trial of Humility (171).
|
||||
-- All four are InstanceType 5 (MAP_SCENARIO) with MinPlayers = MaxPlayers = 1, bound to map 2375
|
||||
-- "9.0 Bastion Arena - Path of Ascension" by MapDifficulty 4795-4798 - which is why this is stored per
|
||||
-- character and not per group.
|
||||
--
|
||||
-- Only the covenant sanctum (GarrType 111) has one, so the table is keyed by guid alone and is written and
|
||||
-- purged from Garrison::SaveToDB / Garrison::DeleteFromDB behind a GARRISON_TYPE_COVENANT check - the same
|
||||
-- shape as `character_garrison_conservatory` and `character_garrison_abomination_factory`.
|
||||
--
|
||||
-- Captures are deliberately NOT deleted when the covenant changes or a talent is reset: the character keeps
|
||||
-- what it captured and simply loses access until the tiers are re-researched (Garrison::Update clamps the
|
||||
-- trial high-water mark to the ceiling the remaining research supports).
|
||||
--
|
||||
-- Idempotent.
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `character_garrison_path_of_ascension` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`memoryId` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_ascension_memory.memoryId',
|
||||
`capturedTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time the memory was captured',
|
||||
`highestTrialWon` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0 none, 1 Courage, 2 Loyalty, 3 Wisdom, 4 Humility',
|
||||
`lastCompletedTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time of the most recent trial win',
|
||||
PRIMARY KEY (`guid`, `memoryId`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Path of Ascension captured memories and trial progress';
|
||||
@@ -1,59 +0,0 @@
|
||||
--
|
||||
-- The Ember Court (Venthyr unique covenant sanctum feature, GarrTalentTree 324).
|
||||
--
|
||||
-- One row per guest this character has any standing with - hosted at least once, or currently on the guest
|
||||
-- list for the next court.
|
||||
--
|
||||
-- `guestIndex` is 0-15 and is the client's OWN guest ordering: the sixteen children of CriteriaTree 87983,
|
||||
-- which is Achievement 14723 "Be Our Guest" ("Host the following guests at your Ember Court"), in their
|
||||
-- OrderIndex order. That roster is derived twice over - the identical sixteen names also appear as the
|
||||
-- sixteen "RSVP: <Guest>" quests already present in the world DB, each started and ended by that guest's own
|
||||
-- creature - so it lives in C++ (EmberCourt.cpp) rather than in a world table:
|
||||
-- 0 Baroness Vashj 4 Alexandros Mograine 8 Choofa 12 Kleia and Pelagos
|
||||
-- 1 Lady Moonberry 5 Hunt-Captain Korayn 9 Cryptkeeper Kassir 13 Plague Deviser Marileth
|
||||
-- 2 Mikanikos 6 Polemarch Adrestes 10 Droman Aliothe 14 Sika
|
||||
-- 3 The Countess 7 Rendle and Cudgelface 11 Grandmaster Vole 15 Stonehead
|
||||
-- A stored row whose guestIndex is outside 0-15 is dropped with an error at load (EmberCourt::LoadFromDB).
|
||||
--
|
||||
-- `invited` is the pending guest list for the NEXT court. It is capped at the slots the researched talents of
|
||||
-- GarrTalentTree 324 grant - 2 at the bottom of the ladder, 3 with talent 1114 "Court Influencer" ("allowing
|
||||
-- you to invite a THIRD guest"), 4 with talent 1112 "Discerning Taste" ("a FOURTH guest") - and the 60s
|
||||
-- Garrison::Update tick trims it back down if a talent reset or a covenant switch shrinks the allowance, or
|
||||
-- if a guest's "RSVP: <Guest>" quest no longer stands.
|
||||
--
|
||||
-- `highestMood` is a high-water mark on the mood scale the 12.0.7.68275 client does NOT publish. Achievement
|
||||
-- 14724 "People Pleaser" names exactly one rung of that scale, "Elated", and nothing anywhere gives the rungs
|
||||
-- below it or the thresholds between them ("Elated" is not even a GlobalStrings row). The value is therefore
|
||||
-- only ever WRITTEN by a real court completion reporting it; the server never computes one. The rung that
|
||||
-- counts as Elated for each guest is authored per guest in the world table `garrison_ember_court_guest`.
|
||||
--
|
||||
-- `courtsHeld` and `lastCourtTime` are court-level counters denormalised onto every guest row so the feature
|
||||
-- keeps to a single table. They are identical across a character's rows. A court can only be completed with
|
||||
-- at least one guest on the list, so a character with courtsHeld > 0 always has at least one row to carry
|
||||
-- them. NOTE: no minimum interval between courts is enforced anywhere - the build publishes none (spell
|
||||
-- 336617 is named "Ember Court Timer" but no interval this server could apply is published), and one is not
|
||||
-- invented. lastCourtTime is recorded and exposed so whoever authors the venue can gate on it.
|
||||
--
|
||||
-- Only the covenant sanctum (GarrType 111) has one, so the table is keyed by guid alone and is written and
|
||||
-- purged from Garrison::SaveToDB / Garrison::DeleteFromDB behind a GARRISON_TYPE_COVENANT check - the same
|
||||
-- shape as `character_garrison_conservatory`, `character_garrison_abomination_factory` and
|
||||
-- `character_garrison_path_of_ascension`.
|
||||
--
|
||||
-- Hosting history is deliberately NOT deleted when the covenant changes or a talent is reset: the character
|
||||
-- keeps what it earned and simply loses access until it is Venthyr with the tree researched again. Only the
|
||||
-- pending `invited` flags are trimmed.
|
||||
--
|
||||
-- Idempotent.
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `character_garrison_ember_court` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`guestIndex` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0-15, CriteriaTree 87983 child OrderIndex',
|
||||
`timesHosted` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'courts this guest has attended',
|
||||
`highestMood` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'high-water mark on the unpublished mood scale; 0 = never hosted',
|
||||
`lastHostedTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time this guest last attended',
|
||||
`invited` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'on the guest list for the next court',
|
||||
`courtsHeld` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'court-level counter, identical across this guid''s rows',
|
||||
`lastCourtTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'court-level counter, identical across this guid''s rows',
|
||||
PRIMARY KEY (`guid`, `guestIndex`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Ember Court guest standing and pending guest list';
|
||||
@@ -1,75 +0,0 @@
|
||||
|
||||
--
|
||||
-- Table structure for table `character_garrison_conservatory`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `character_garrison_conservatory`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `character_garrison_conservatory` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`plotId` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0-based wildseed plot index',
|
||||
`wildseedEntry` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_conservatory_wildseed.wildseedEntry',
|
||||
`plantedTime` BIGINT NOT NULL DEFAULT 0,
|
||||
`maturesAt` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time the wildseed becomes harvestable',
|
||||
`catalyst1` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'gameobject_template.entry of the attached catalyst',
|
||||
`catalyst2` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`catalyst3` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`catalyst4` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`state` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0 empty, 1 growing, 2 ready',
|
||||
PRIMARY KEY (`guid`, `plotId`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Queen''s Conservatory wildseed plots';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `character_garrison_abomination_factory`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `character_garrison_abomination_factory`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `character_garrison_abomination_factory` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`recipeSpellId` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'SkillLineAbility.Spell of the construct-body recipe',
|
||||
`builtTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time the construct was stitched',
|
||||
PRIMARY KEY (`guid`, `recipeSpellId`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Abomination Factory construct stable';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `character_garrison_path_of_ascension`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `character_garrison_path_of_ascension`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `character_garrison_path_of_ascension` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`memoryId` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'garrison_ascension_memory.memoryId',
|
||||
`capturedTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time the memory was captured',
|
||||
`highestTrialWon` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0 none, 1 Courage, 2 Loyalty, 3 Wisdom, 4 Humility',
|
||||
`lastCompletedTime` BIGINT NOT NULL DEFAULT 0 COMMENT 'unix time of the most recent trial win',
|
||||
PRIMARY KEY (`guid`, `memoryId`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Path of Ascension captured memories and trial progress';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `character_garrison_ember_court`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `character_garrison_ember_court`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `character_garrison_ember_court` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Character GUID',
|
||||
`guestIndex` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0-15, CriteriaTree 87983 child OrderIndex',
|
||||
`timesHosted` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'courts this guest has attended',
|
||||
`highestMood` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'high-water mark on the unpublished mood scale',
|
||||
`lastHostedTime` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '',
|
||||
`invited` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '',
|
||||
`courtsHeld` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '',
|
||||
`lastCourtTime` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '');
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
@@ -1,39 +0,0 @@
|
||||
--
|
||||
-- Garrison monument trophies: re-key the saved selection by TrophyInstanceID.
|
||||
--
|
||||
-- `character_garrison_trophies` was (guid, trophyId, garrType) with PRIMARY KEY (guid, trophyId) - a SET of
|
||||
-- trophy ids per character. That cannot express what the feature actually stores.
|
||||
--
|
||||
-- A garrison has three monuments, not one. Each Monument Base gameobject carries a TrophyInstanceID in its
|
||||
-- Data1 (the six spawned ones use 1, 2 and 6 on each side), and the client resolves what a given monument is
|
||||
-- displaying by scanning SMSG_GARRISON_UPDATE_GARRISON_MONUMENT_SELECTIONS for the entry whose first field
|
||||
-- equals that monument's own TrophyInstanceID - the monument tooltip builder at client RVA 0x1CAED30 does
|
||||
-- exactly this lookup and then reads Trophy.db2 for the name. The saved state is therefore a MAP from
|
||||
-- monument instance to trophy, one row per physical monument, and a plain set of trophy ids would make all
|
||||
-- three plinths show the same statue with no way to say which is which.
|
||||
--
|
||||
-- Recreating rather than ALTERing: the old PRIMARY KEY (guid, trophyId) is wrong for the new shape (the same
|
||||
-- trophy may legitimately sit on two different monuments, while one monument may hold only one trophy), and
|
||||
-- the table holds no rows to preserve - nothing in the core ever wrote to it. Garrison::AddTrophy had no
|
||||
-- caller outside the packet handlers, and those only ran on opcodes that the client never sent, because
|
||||
-- nothing opened the monument interaction in the first place. Verified empty on this realm before writing
|
||||
-- this file (SELECT COUNT(*) FROM character_garrison_trophies -> 0).
|
||||
--
|
||||
-- Columns:
|
||||
-- guid character
|
||||
-- trophyInstanceId which physical monument (gameobject Data1 of a GAMEOBJECT_TYPE_GARRISON_MONUMENT)
|
||||
-- trophyId Trophy.db2 row displayed on it
|
||||
-- garrType owning garrison type (2 = the WoD garrison, the only type that has monuments)
|
||||
--
|
||||
-- Idempotent.
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `character_garrison_trophies`;
|
||||
CREATE TABLE `character_garrison_trophies` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL,
|
||||
`trophyInstanceId` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`trophyId` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`garrType` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`guid`,`garrType`,`trophyInstanceId`),
|
||||
KEY `idx_guid` (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
--
|
||||
-- Adventures companions: persist current health and the board slot they were deployed in.
|
||||
--
|
||||
-- `character_garrison_followers` stored neither. Two consequences, both visible in game:
|
||||
--
|
||||
-- 1. `GarrisonFollower.Health` was assigned once at recruit time (Garrison::AddFollower) and then thrown
|
||||
-- away, so every login reloaded the whole roster at health 0. That is the `health = 0` the tester saw on
|
||||
-- a level-1 companion whose statline maximum is 250.
|
||||
--
|
||||
-- 2. A companion's slot on the Adventures board (client enum `GarrAutoBoardIndex`, ally slots 0..4) existed
|
||||
-- only for the lifetime of one CMSG_GARRISON_START_MISSION - and in fact was not even read from it. A
|
||||
-- mission that was in progress across a logout came back with every companion unplaced, and the
|
||||
-- mission-complete screen throws when it cannot resolve a board frame for a follower
|
||||
-- (Blizzard_AdventuresCompleteScreen.lua:140).
|
||||
--
|
||||
-- Defaults are chosen so existing rows load correctly without a data migration:
|
||||
-- health 0 -> Garrison::LoadFromDB restores any follower at <= 0 to its statline maximum, so legacy
|
||||
-- rows come back at full rather than looking wiped.
|
||||
-- boardIndex -1 -> GarrAutoBoardIndex::None. LoadFromDB re-runs AssignMissionBoardIndexes for any
|
||||
-- in-progress mission whose companions are unplaced, filling them in retail's own
|
||||
-- auto-assignment order, so missions already running when this is applied are repaired
|
||||
-- on the next login rather than staying broken.
|
||||
--
|
||||
-- Idempotent: both columns are added only when absent.
|
||||
--
|
||||
|
||||
DROP PROCEDURE IF EXISTS `tc_add_garrison_follower_board_columns`;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE `tc_add_garrison_follower_board_columns`()
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM `information_schema`.`COLUMNS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'character_garrison_followers'
|
||||
AND `COLUMN_NAME` = 'health') THEN
|
||||
ALTER TABLE `character_garrison_followers`
|
||||
ADD COLUMN `health` int NOT NULL DEFAULT 0 AFTER `garrType`;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM `information_schema`.`COLUMNS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'character_garrison_followers'
|
||||
AND `COLUMN_NAME` = 'boardIndex') THEN
|
||||
ALTER TABLE `character_garrison_followers`
|
||||
ADD COLUMN `boardIndex` tinyint NOT NULL DEFAULT -1 AFTER `health`;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
||||
CALL `tc_add_garrison_follower_board_columns`();
|
||||
DROP PROCEDURE `tc_add_garrison_follower_board_columns`;
|
||||
@@ -1,33 +0,0 @@
|
||||
--
|
||||
-- In-game Shop character boost: which characters this realm has boosted.
|
||||
--
|
||||
-- The boost itself is applied to an OFFLINE character from the glue screen, so `characters` already
|
||||
-- carries everything the boost changed (level, xp, primarySpecialization, inventory, the
|
||||
-- character-select equipment cache). What that leaves nowhere to live is the FACT of the boost, and
|
||||
-- the character-enumeration packet needs it: a boosted character must carry
|
||||
-- CHARACTER_FLAG_4_USED_MAX_LEVEL_BOOST so the client stops offering the boost again, and a character
|
||||
-- created through "Try New Class" must carry CHARACTER_RESTRICTION_FLAG_TRIAL_BOOST until it is
|
||||
-- boosted so the client draws the class-trial plate.
|
||||
--
|
||||
-- This is a CHARACTERS-database table, unlike the entitlement ledger it is fed from
|
||||
-- (account_battlepay_entitlement, auth DB). The entitlement belongs to the account and outlives any
|
||||
-- realm; this row is a property of one character on one realm and dies with it, which is why
|
||||
-- CHAR_DEL_SHOP_BOOST is issued from the character-delete path.
|
||||
--
|
||||
-- trial = 1 character was created through Try New Class and has NOT been boosted yet
|
||||
-- trial = 0 character has been boosted; the entitlement that paid for it is consumed
|
||||
--
|
||||
-- `distributionId` is the entitlement (wire DistributionID) that paid for the boost, kept so a
|
||||
-- support query can walk a boosted character back to the purchase that produced it. It is 0 for a
|
||||
-- trial row, because a trial does not consume an entitlement.
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `character_shop_boost` (
|
||||
`guid` BIGINT UNSIGNED NOT NULL,
|
||||
`productId` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`distributionId` BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`specializationId` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`trial` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`boostedAt` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='In-game Shop: boosted and class-trial characters';
|
||||
@@ -0,0 +1,18 @@
|
||||
--
|
||||
-- CMSG_CRAFTING_ORDER_REPORT_PLAYER: persist player reports filed against a crafting-order participant.
|
||||
--
|
||||
DROP TABLE IF EXISTS `crafting_order_reports`;
|
||||
CREATE TABLE `crafting_order_reports` (
|
||||
`ReportID` bigint unsigned NOT NULL AUTO_INCREMENT,
|
||||
`OrderID` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ReporterGuid` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ReportedGuid` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ReportType` int NOT NULL DEFAULT '0',
|
||||
`MajorCategory` int NOT NULL DEFAULT '0',
|
||||
`MinorCategoryFlags` int NOT NULL DEFAULT '0',
|
||||
`Comment` text,
|
||||
`ReportTime` bigint NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ReportID`),
|
||||
KEY `idx_order` (`OrderID`),
|
||||
KEY `idx_reported` (`ReportedGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,48 @@
|
||||
-- Midnight 12.1 Housing WIP persistence required by HousingHandler.cpp.
|
||||
DROP TABLE IF EXISTS `character_housing`;
|
||||
CREATE TABLE IF NOT EXISTS `character_housing` (
|
||||
`OwnerGuid` bigint unsigned NOT NULL,
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`CosmeticOwnerGuid` varchar(64) NOT NULL,
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`PlotID` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`HouseSettingFlags` int unsigned NOT NULL DEFAULT 0,
|
||||
`ReservationTime` timestamp NULL DEFAULT NULL,
|
||||
`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`OwnerGuid`),
|
||||
UNIQUE KEY `uk_character_housing_house` (`HouseGuid`),
|
||||
KEY `idx_character_housing_neighborhood` (`NeighborhoodGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `housing_neighborhood`;
|
||||
CREATE TABLE IF NOT EXISTS `housing_neighborhood` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`OwnerGuid` bigint unsigned NOT NULL,
|
||||
`Name` varchar(64) NOT NULL,
|
||||
`Type` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`Flags` int unsigned NOT NULL DEFAULT 0,
|
||||
`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`NeighborhoodGuid`),
|
||||
KEY `idx_housing_neighborhood_owner` (`OwnerGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `account_housing_decor`;
|
||||
CREATE TABLE IF NOT EXISTS `account_housing_decor` (
|
||||
`BattlenetAccountId` int unsigned NOT NULL,
|
||||
`DecorId` int unsigned NOT NULL,
|
||||
`Quantity` int unsigned NOT NULL DEFAULT 0,
|
||||
`AcquiredAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`BattlenetAccountId`, `DecorId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `character_housing_permission`;
|
||||
CREATE TABLE IF NOT EXISTS `character_housing_permission` (
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`PlayerGuid` bigint unsigned NOT NULL,
|
||||
`PermissionFlags` int unsigned NOT NULL DEFAULT 0,
|
||||
`GrantedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`HouseGuid`, `PlayerGuid`),
|
||||
KEY `idx_character_housing_permission_player` (`PlayerGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,70 @@
|
||||
-- Midnight 12.1 Housing Part 2: placed decor and idempotent deferred-decor redemption.
|
||||
DROP TABLE IF EXISTS `housing_placed_decor`;
|
||||
CREATE TABLE `housing_placed_decor` (
|
||||
`DecorGuid` varchar(64) NOT NULL,
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`OwnerGuid` bigint unsigned NOT NULL,
|
||||
`PositionX` float NOT NULL,
|
||||
`PositionY` float NOT NULL,
|
||||
`PositionZ` float NOT NULL,
|
||||
`RotationX` float NOT NULL,
|
||||
`RotationY` float NOT NULL,
|
||||
`RotationZ` float NOT NULL,
|
||||
`Scale` float NOT NULL DEFAULT 1,
|
||||
`AttachParentGuid` varchar(64) NOT NULL,
|
||||
`RoomGuid` varchar(64) NOT NULL,
|
||||
`ParentHouseFixtureGuid` varchar(64) NOT NULL,
|
||||
`PlacedComponentID` int NOT NULL DEFAULT 0,
|
||||
`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`DecorGuid`),
|
||||
KEY `idx_housing_placed_decor_house` (`HouseGuid`),
|
||||
KEY `idx_housing_placed_decor_owner` (`OwnerGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `housing_deferred_decor_redemption`;
|
||||
CREATE TABLE `housing_deferred_decor_redemption` (
|
||||
`BattlenetAccountId` int unsigned NOT NULL,
|
||||
`TransactionID` int unsigned NOT NULL,
|
||||
`DecorID` int unsigned NOT NULL,
|
||||
`DecorGuid` varchar(64) NOT NULL,
|
||||
`RedeemedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`BattlenetAccountId`, `TransactionID`),
|
||||
UNIQUE KEY `uq_housing_deferred_decor_guid` (`DecorGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
|
||||
-- Capture-backed static plot metadata. Account/character GUIDs are intentionally
|
||||
-- excluded: the server binds a reserved plot to its owner at runtime.
|
||||
DROP TABLE IF EXISTS `housing_plot_template`;
|
||||
CREATE TABLE `housing_plot_template` (
|
||||
`PlotID` smallint unsigned NOT NULL,
|
||||
`ExteriorMapID` smallint unsigned NOT NULL,
|
||||
`InteriorMapID` smallint unsigned NOT NULL,
|
||||
`DestinationX` float NOT NULL,
|
||||
`DestinationY` float NOT NULL,
|
||||
`DestinationZ` float NOT NULL,
|
||||
`DestinationO` float NOT NULL,
|
||||
`CornerstoneEntry` int unsigned NOT NULL,
|
||||
`VerifiedBuild` int NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`PlotID`, `ExteriorMapID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Plot 15 is the complete plot/Cornerstone/teleport tuple observed in the
|
||||
-- 12.1.0.69587 Housing capture.
|
||||
DELETE FROM `housing_plot_template` WHERE `PlotID` = 15 AND `ExteriorMapID` = 2735;
|
||||
INSERT INTO `housing_plot_template`
|
||||
(`PlotID`, `ExteriorMapID`, `InteriorMapID`, `DestinationX`, `DestinationY`,
|
||||
`DestinationZ`, `DestinationO`, `CornerstoneEntry`, `VerifiedBuild`)
|
||||
VALUES
|
||||
(15, 2735, 2783, 2765.7249, 119.3435, 66.871, 1.11701298, 457142, 69587);
|
||||
|
||||
-- Midnight 12.1.0.69587 Housing: align Plot 15 teleport with its captured Cornerstone.
|
||||
UPDATE `housing_plot_template`
|
||||
SET `DestinationX` = 2765.7249,
|
||||
`DestinationY` = 119.3435,
|
||||
`DestinationZ` = 66.8710,
|
||||
`DestinationO` = 1.11701298,
|
||||
`CornerstoneEntry` = 457142,
|
||||
`VerifiedBuild` = 69587
|
||||
WHERE `PlotID` = 15 AND `ExteriorMapID` = 2735;
|
||||
@@ -0,0 +1,86 @@
|
||||
-- Midnight 12.1.0.69587 Housing dynamic entity persistence.
|
||||
-- Rows are house-scoped because captured object GUIDs and attachment graphs are instance data.
|
||||
|
||||
DROP TABLE IF EXISTS `housing_room_entity`;
|
||||
CREATE TABLE `housing_room_entity` (
|
||||
`RoomGuid` varchar(64) NOT NULL,
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`HouseRoomID` int NOT NULL,
|
||||
`Flags` int NOT NULL DEFAULT 0,
|
||||
`PositionX` float NOT NULL DEFAULT 0,
|
||||
`PositionY` float NOT NULL DEFAULT 0,
|
||||
`PositionZ` float NOT NULL DEFAULT 0,
|
||||
`RotationX` float NOT NULL DEFAULT 0,
|
||||
`RotationY` float NOT NULL DEFAULT 0,
|
||||
`RotationZ` float NOT NULL DEFAULT 0,
|
||||
`RotationW` float NOT NULL DEFAULT 1,
|
||||
`Scale` float NOT NULL DEFAULT 1,
|
||||
`AttachmentFlags` tinyint unsigned NOT NULL DEFAULT 3,
|
||||
PRIMARY KEY (`RoomGuid`),
|
||||
KEY `idx_housing_room_house` (`HouseGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `housing_room_component_entity`;
|
||||
CREATE TABLE `housing_room_component_entity` (
|
||||
`EntityGuid` varchar(64) NOT NULL,
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`RoomGuid` varchar(64) NOT NULL,
|
||||
`FileDataID` int unsigned NOT NULL,
|
||||
`IsWMO` tinyint unsigned NOT NULL DEFAULT 1,
|
||||
`IsRoom` tinyint unsigned NOT NULL DEFAULT 1,
|
||||
`AttachParentGuid` varchar(64) NOT NULL,
|
||||
`PositionX` float NOT NULL DEFAULT 0,
|
||||
`PositionY` float NOT NULL DEFAULT 0,
|
||||
`PositionZ` float NOT NULL DEFAULT 0,
|
||||
`RotationX` float NOT NULL DEFAULT 0,
|
||||
`RotationY` float NOT NULL DEFAULT 0,
|
||||
`RotationZ` float NOT NULL DEFAULT 0,
|
||||
`RotationW` float NOT NULL DEFAULT 1,
|
||||
`Scale` float NOT NULL DEFAULT 1,
|
||||
`AttachmentFlags` tinyint unsigned NOT NULL DEFAULT 3,
|
||||
`RoomComponentOptionID` int NOT NULL DEFAULT 0,
|
||||
`RoomComponentID` int NOT NULL DEFAULT 0,
|
||||
`RoomComponentType` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`HouseThemeID` int NOT NULL DEFAULT 0,
|
||||
`RoomComponentTextureID` int NOT NULL DEFAULT 0,
|
||||
`RoomComponentTypeParam` int NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`EntityGuid`),
|
||||
KEY `idx_housing_room_component_house` (`HouseGuid`),
|
||||
KEY `idx_housing_room_component_room` (`RoomGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `housing_fixture_entity`;
|
||||
CREATE TABLE `housing_fixture_entity` (
|
||||
`EntityGuid` varchar(64) NOT NULL,
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`FileDataID` int unsigned NOT NULL,
|
||||
`IsWMO` tinyint unsigned NOT NULL DEFAULT 1,
|
||||
`IsRoom` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`AttachParentGuid` varchar(64) NOT NULL,
|
||||
`PositionX` float NOT NULL DEFAULT 0,
|
||||
`PositionY` float NOT NULL DEFAULT 0,
|
||||
`PositionZ` float NOT NULL DEFAULT 0,
|
||||
`RotationX` float NOT NULL DEFAULT 0,
|
||||
`RotationY` float NOT NULL DEFAULT 0,
|
||||
`RotationZ` float NOT NULL DEFAULT 0,
|
||||
`RotationW` float NOT NULL DEFAULT 1,
|
||||
`Scale` float NOT NULL DEFAULT 1,
|
||||
`AttachmentFlags` tinyint unsigned NOT NULL DEFAULT 3,
|
||||
`ExteriorComponentID` int NOT NULL DEFAULT 0,
|
||||
`HouseExteriorWmoDataID` int NOT NULL DEFAULT 0,
|
||||
`ExteriorComponentHookID` int NOT NULL DEFAULT -1,
|
||||
`ExteriorComponentType` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`Size` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`EntityGuid`),
|
||||
KEY `idx_housing_fixture_house` (`HouseGuid`),
|
||||
KEY `idx_housing_fixture_parent` (`AttachParentGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
ALTER TABLE `housing_placed_decor`
|
||||
ADD COLUMN `EntityGuid` varchar(64) NULL AFTER `DecorGuid`,
|
||||
ADD COLUMN `FileDataID` int unsigned NOT NULL DEFAULT 0 AFTER `OwnerGuid`,
|
||||
ADD COLUMN `RotationW` float NOT NULL DEFAULT 1 AFTER `RotationZ`,
|
||||
ADD COLUMN `Flags` tinyint unsigned NOT NULL DEFAULT 0 AFTER `PlacedComponentID`,
|
||||
ADD COLUMN `IsWMO` tinyint unsigned NOT NULL DEFAULT 0 AFTER `Flags`,
|
||||
ADD COLUMN `IsRoom` tinyint unsigned NOT NULL DEFAULT 0 AFTER `IsWMO`,
|
||||
ADD COLUMN `AttachmentFlags` tinyint unsigned NOT NULL DEFAULT 3 AFTER `IsRoom`;
|
||||
@@ -0,0 +1,120 @@
|
||||
-- Midnight 12.1.0.69587 Housing: data-driven Alliance and Horde plot catalogue.
|
||||
-- Source: NeighborhoodMap.db2 and NeighborhoodPlot.db2 from build 69587.
|
||||
-- NeighborhoodMap 1 = Alliance map 2735; NeighborhoodMap 2 = Horde map 2736.
|
||||
|
||||
DELETE FROM `housing_plot_template` WHERE `ExteriorMapID` IN (2735, 2736);
|
||||
INSERT INTO `housing_plot_template`
|
||||
(`PlotID`, `ExteriorMapID`, `InteriorMapID`, `DestinationX`, `DestinationY`,
|
||||
`DestinationZ`, `DestinationO`, `CornerstoneEntry`, `VerifiedBuild`)
|
||||
VALUES
|
||||
(0, 2736, 2783, 1256.38977, 1088.05249, 55.6567001, 1.64061153, 475055, 69587),
|
||||
(1, 2736, 2783, 774.483398, -474.99411, 11.7054996, 4.14515686, 475085, 69587),
|
||||
(2, 2736, 2783, 1926.21155, 946.071411, 101.642197, 1.91113889, 475054, 69587),
|
||||
(3, 2736, 2783, 794.223816, -207.5298, 15.6171999, 3.48193121, 475094, 69587),
|
||||
(4, 2736, 2783, 1610.8241, -242.196106, 76.2837982, 3.38593888, 475067, 69587),
|
||||
(5, 2736, 2783, 736.202026, -436.041199, 3.1479001, 2.46964121, 475106, 69587),
|
||||
(6, 2736, 2783, 652.970093, 39.7509003, 4.17980003, 3.08050632, 475076, 69587),
|
||||
(7, 2736, 2783, 576.01239, -318.849792, 6.82270002, 2.18166208, 569611, 69587),
|
||||
(8, 2736, 2783, 1341.99158, -633.449585, 21.2838993, 5.3494339, 475072, 69587),
|
||||
(9, 2736, 2783, 1666.97473, 1050.54932, 48.5917015, 1.07337832, 475057, 69587),
|
||||
(10, 2736, 2783, 1267.80164, -168.746399, 73.0510025, 4.11025, 475095, 69587),
|
||||
(11, 2736, 2783, 1104.66479, 883.886475, 6.83330011, 3.25503969, 475061, 69587),
|
||||
(12, 2736, 2783, 547.151672, 638.714294, 154.810196, 2.60054159, 582082, 69587),
|
||||
(13, 2736, 2783, 902.671082, -542.786316, 1.96220005, 4.59021568, 475091, 69587),
|
||||
(14, 2736, 2783, 1179.80969, -640.692871, 5.58500004, 4.82583666, 475079, 69587),
|
||||
(15, 2736, 2783, 2153.27197, -741.383484, 142.751694, 2.69653416, 475071, 69587),
|
||||
(16, 2736, 2783, 1481.15002, -7.52926016, 78.217598, 5.6548667, 576758, 69587),
|
||||
(17, 2736, 2783, 959.952881, 841.212402, 4.7887001, 2.23402309, 567160, 69587),
|
||||
(18, 2736, 2783, 1528.53479, 998.123779, 35.6212997, 6.24828339, 475059, 69587),
|
||||
(19, 2736, 2783, 383.664795, -107.684196, 6.49800014, 3.13286591, 569610, 69587),
|
||||
(20, 2736, 2783, 1866.99902, -517.239807, 130.538696, 2.53072786, 475092, 69587),
|
||||
(21, 2736, 2783, 1658.8584, -166.788193, 81.0233002, 4.56403685, 475096, 69587),
|
||||
(22, 2736, 2783, 485.596985, 305.609894, 99.2686996, 5.6286869, 475086, 69587),
|
||||
(23, 2736, 2783, 1922.68811, -706.482483, 133.981598, 6.03883934, 475080, 69587),
|
||||
(24, 2736, 2783, 227.097504, 652.787415, 11.7489004, 3.28121901, 566793, 69587),
|
||||
(25, 2736, 2783, 1841.39746, 663.865295, 88.3912964, 0.305432796, 475051, 69587),
|
||||
(26, 2736, 2783, 1080.48035, 1021.32343, 3.69679999, 2.44346094, 475063, 69587),
|
||||
(27, 2736, 2783, 1166.09485, 461.580292, 153.914307, 3.14159274, 475064, 69587),
|
||||
(28, 2736, 2783, 1662.88965, 912.213074, 37.5280991, 1.43990111, 475062, 69587),
|
||||
(29, 2736, 2783, 1167.75415, 159.078201, 34.9571991, 3.97062373, 475104, 69587),
|
||||
(30, 2736, 2783, 955.514221, 474.296387, 108.533096, 2.53072786, 475060, 69587),
|
||||
(31, 2736, 2783, 2076.98438, -272.490295, 138.3172, 6.16101313, 475098, 69587),
|
||||
(32, 2736, 2783, 670.749878, 434.961212, 9.01790047, 4.26732969, 475081, 69587),
|
||||
(33, 2736, 2783, 1127.10754, 768.396118, 17.6096992, 0.637045383, 475053, 69587),
|
||||
(34, 2736, 2783, 1310.15015, -108.338898, 73.1512985, 1.71042502, 475073, 69587),
|
||||
(35, 2736, 2783, 1789.92896, -948.381226, 92.4789963, 4.24987698, 475102, 69587),
|
||||
(36, 2736, 2783, 1803.66797, 641.84259, 84.8967972, 4.20624399, 475066, 69587),
|
||||
(37, 2736, 2783, 307.560699, 79.0978012, 23.3638992, 2.88852072, 569609, 69587),
|
||||
(38, 2736, 2783, 1844.10413, -877.720581, 120.786003, 5.63741398, 475077, 69587),
|
||||
(39, 2736, 2783, 2234.229, -868.239929, 160.227798, 5.06145668, 582083, 69587),
|
||||
(40, 2736, 2783, 1026.59143, 165.963898, 31.0340996, 3.54301858, 475090, 69587),
|
||||
(41, 2736, 2783, 1340.33936, 619.31427, 42.0043983, 4.56403589, 475058, 69587),
|
||||
(42, 2736, 2783, 1760.35242, -864.990601, 116.558601, 3.28994608, 475100, 69587),
|
||||
(43, 2736, 2783, 642.297485, 706.875488, 113.917702, 2.60054159, 582085, 69587),
|
||||
(44, 2736, 2783, 1900.57751, -448.425995, 136.894302, 0.0436336994, 475068, 69587),
|
||||
(45, 2736, 2783, 1883.48804, -340.904388, 129.694305, 1.57952571, 475097, 69587),
|
||||
(46, 2736, 2783, 2266.896, -588.512085, 160.835297, 0.654502392, 475083, 69587),
|
||||
(47, 2736, 2783, 1363.78406, 83.729599, 50.0439987, 0.506145716, 475093, 69587),
|
||||
(48, 2736, 2783, 1213.9884, -12.2238998, 104.167999, 0.986114979, 475088, 69587),
|
||||
(49, 2736, 2783, 403.947205, 195.331406, 109.733704, 4.5465827, 475087, 69587),
|
||||
(50, 2736, 2783, 1033.56128, 698.043579, 9.05720043, 4.45058966, 475052, 69587),
|
||||
(51, 2736, 2783, 640.64093, -114.141296, 2.6085, 3.26376581, 475105, 69587),
|
||||
(52, 2736, 2783, 1668.2832, -676.47168, 99.8794022, 3.52556562, 475099, 69587),
|
||||
(53, 2736, 2783, 1643.02209, -567.601013, 100.008598, 3.12413931, 475103, 69587),
|
||||
(54, 2736, 2783, 748.523315, 840.075317, 7.98140001, 3.05432749, 582084, 69587),
|
||||
(0, 2735, 2783, 2939.34375, -212.255402, 113.320999, 5.83812618, 527268, 69587),
|
||||
(1, 2735, 2783, 2675.42505, 649.38031, 49.5349998, 5.27089405, 527310, 69587),
|
||||
(2, 2735, 2783, 2516.89282, 161.045303, 60.2431984, 0.314159393, 527266, 69587),
|
||||
(3, 2735, 2783, 3157.21509, -526.436829, 190.954803, 0.401426077, 527292, 69587),
|
||||
(4, 2735, 2783, 3495.69702, 1403.7948, 4.9604001, 4.64257669, 571209, 69587),
|
||||
(5, 2735, 2783, 2613.41748, 963.440186, 36.8871002, 0.523599386, 527286, 69587),
|
||||
(6, 2735, 2783, 2663.64502, -444.185089, 121.045403, 0.130899906, 527260, 69587),
|
||||
(7, 2735, 2783, 3569.28174, 268.887787, 102.098198, 4.93928146, 527282, 69587),
|
||||
(8, 2735, 2783, 2358.58569, -3.76069999, 100.083702, 2.18166304, 527274, 69587),
|
||||
(9, 2735, 2783, 3550.79004, 319.627991, 95.6286011, 2.32128859, 527294, 69587),
|
||||
(10, 2735, 2783, 2456.32568, 284.006012, 49.6328011, 2.35619521, 527301, 69587),
|
||||
(11, 2735, 2783, 2940.15527, 123.1642, 62.9803009, 3.14159274, 527302, 69587),
|
||||
(12, 2735, 2783, 3341.06567, 1518.95337, 7.14669991, 1.85877991, 571211, 69587),
|
||||
(13, 2735, 2783, 2818.31909, 886.295898, 30.5053997, 0.0785398483, 527311, 69587),
|
||||
(14, 2735, 2783, 2726.41943, 1072.91638, 27.5897999, 5.46288013, 527265, 69587),
|
||||
(15, 2735, 2783, 2765.72485, 119.343498, 66.8710022, 1.11701322, 527278, 69587),
|
||||
(16, 2735, 2783, 2966.34058, 99.1072998, 64.9800034, 5.41924858, 527272, 69587),
|
||||
(17, 2735, 2783, 2925.4436, -347.223694, 120.3004, 5.5065136, 527262, 69587),
|
||||
(18, 2735, 2783, 2284.64014, -217.274994, 116.247002, 3.57792521, 527277, 69587),
|
||||
(19, 2735, 2783, 3327.42847, 1099.90051, 13.0636997, 2.24275255, 527295, 69587),
|
||||
(20, 2735, 2783, 2470.12524, -313.879486, 101.591797, 2.89724684, 527306, 69587),
|
||||
(21, 2735, 2783, 2592.14624, -610.73053, 137.939896, 4.76474857, 527281, 69587),
|
||||
(22, 2735, 2783, 3068.99902, -582.770874, 214.505096, 2.48709488, 527314, 69587),
|
||||
(23, 2735, 2783, 3306.93481, -593.259888, 207.962799, 5.16617489, 527290, 69587),
|
||||
(24, 2735, 2783, 3802.90234, 1153.36218, 8.78120041, 0.043633461, 527303, 69587),
|
||||
(25, 2735, 2783, 3439.79419, 1462.99548, 8.06919956, 1.21300626, 571207, 69587),
|
||||
(26, 2735, 2783, 2612.52954, 640.883423, 47.2089005, 4.97418833, 527264, 69587),
|
||||
(27, 2735, 2783, 3639.57544, 260.099396, 104.364304, 5.31452799, 527261, 69587),
|
||||
(28, 2735, 2783, 3637.177, 1360.49243, 33.8053017, 1.48353446, 571210, 69587),
|
||||
(29, 2735, 2783, 3490.44482, 1174.66431, 2.34850001, 0.157079697, 527309, 69587),
|
||||
(30, 2735, 2783, 2697.58203, 819.94751, 44.1293983, 3.14159274, 527275, 69587),
|
||||
(31, 2735, 2783, 3366.71436, -401.5177, 186.404907, 2.68780756, 527279, 69587),
|
||||
(32, 2735, 2783, 3131.57935, -650.777283, 226.326599, 5.68104696, 527283, 69587),
|
||||
(33, 2735, 2783, 2479.93823, -87.535202, 95.2116013, 0.375246763, 527285, 69587),
|
||||
(34, 2735, 2783, 3470.93481, 735.581787, 81.4804001, 2.35619521, 527313, 69587),
|
||||
(35, 2735, 2783, 2440.76001, 929.116028, 35.1739998, 0.514872551, 527291, 69587),
|
||||
(36, 2735, 2783, 2734.84351, 1141.5863, 24.9641991, 0.383973122, 527271, 69587),
|
||||
(37, 2735, 2783, 2505.19775, 554.90918, 40.7759018, 3.99680424, 527269, 69587),
|
||||
(38, 2735, 2783, 2581.07568, -334.281586, 106.215599, 2.26020288, 527308, 69587),
|
||||
(39, 2735, 2783, 3601.63696, 640.029419, 83.4679031, 1.70169795, 527300, 69587),
|
||||
(40, 2735, 2783, 3519.93555, 1456.10291, 9.42710018, 5.96029949, 571208, 69587),
|
||||
(41, 2735, 2783, 2190.61084, -336.132385, 98.4821014, 3.13286591, 527297, 69587),
|
||||
(42, 2735, 2783, 3589.02148, 510.005615, 89.3632965, 4.8432889, 527270, 69587),
|
||||
(43, 2735, 2783, 3643.11548, 1204.49951, 37.2111015, 5.72467995, 527299, 69587),
|
||||
(44, 2735, 2783, 3646.68457, 346.107086, 102.6371, 0.462513924, 527293, 69587),
|
||||
(45, 2735, 2783, 3457.3501, 668.078979, 86.7388, 3.49065924, 527263, 69587),
|
||||
(46, 2735, 2783, 3164.2666, 348.949188, 73.8582993, 0.0261843204, 527276, 69587),
|
||||
(47, 2735, 2783, 3317.81323, 429.88031, 71.9238968, 4.38077641, 527288, 69587),
|
||||
(48, 2735, 2783, 3048.70288, 824.377808, 74.6530991, 1.63188303, 527289, 69587),
|
||||
(49, 2735, 2783, 3130.8457, 405.746613, 74.009201, 3.01069355, 527267, 69587),
|
||||
(50, 2735, 2783, 3290.37061, 1000.69153, 22.6543007, 2.46964121, 527280, 69587),
|
||||
(51, 2735, 2783, 3360.62622, 483.581207, 71.9281006, 1.77151132, 527298, 69587),
|
||||
(52, 2735, 2783, 3362.92432, 1005.84589, 32.0760994, 5.68977356, 527304, 69587),
|
||||
(53, 2735, 2783, 3009.36255, 794.764587, 74.5634003, 3.86590457, 527284, 69587),
|
||||
(54, 2735, 2783, 3151.45947, 300.622101, 73.3356018, 4.75602245, 527305, 69587);
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
-- Complete NeighborhoodPlot transforms for dynamic Alliance and Horde housing entities.
|
||||
ALTER TABLE `housing_plot_template`
|
||||
ADD COLUMN `NeighborhoodMapID` int unsigned NOT NULL DEFAULT 0 AFTER `PlotID`,
|
||||
ADD COLUMN `HousePositionX` float NOT NULL DEFAULT 0 AFTER `CornerstoneEntry`,
|
||||
ADD COLUMN `HousePositionY` float NOT NULL DEFAULT 0 AFTER `HousePositionX`,
|
||||
ADD COLUMN `HousePositionZ` float NOT NULL DEFAULT 0 AFTER `HousePositionY`,
|
||||
ADD COLUMN `HouseRotationX` float NOT NULL DEFAULT 0 AFTER `HousePositionZ`,
|
||||
ADD COLUMN `HouseRotationY` float NOT NULL DEFAULT 0 AFTER `HouseRotationX`,
|
||||
ADD COLUMN `HouseRotationZ` float NOT NULL DEFAULT 0 AFTER `HouseRotationY`,
|
||||
ADD COLUMN `CornerstonePositionX` float NOT NULL DEFAULT 0 AFTER `HouseRotationZ`,
|
||||
ADD COLUMN `CornerstonePositionY` float NOT NULL DEFAULT 0 AFTER `CornerstonePositionX`,
|
||||
ADD COLUMN `CornerstonePositionZ` float NOT NULL DEFAULT 0 AFTER `CornerstonePositionY`,
|
||||
ADD COLUMN `CornerstoneRotationX` float NOT NULL DEFAULT 0 AFTER `CornerstonePositionZ`,
|
||||
ADD COLUMN `CornerstoneRotationY` float NOT NULL DEFAULT 0 AFTER `CornerstoneRotationX`,
|
||||
ADD COLUMN `CornerstoneRotationZ` float NOT NULL DEFAULT 0 AFTER `CornerstoneRotationY`,
|
||||
ADD COLUMN `WorldStateID` int NOT NULL DEFAULT 0 AFTER `CornerstoneRotationZ`,
|
||||
ADD COLUMN `PlotGameObjectID` int NOT NULL DEFAULT 0 AFTER `WorldStateID`,
|
||||
ADD KEY `idx_housing_plot_neighborhood` (`NeighborhoodMapID`, `PlotID`);
|
||||
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1289.82996, `HousePositionY`=1126.31995, `HousePositionZ`=57.0598984, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=4.04904175, `CornerstonePositionX`=1256.18054, `CornerstonePositionY`=1091.04517, `CornerstonePositionZ`=55.7604179, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.64061153, `WorldStateID`=29778, `PlotGameObjectID`=0 WHERE `PlotID`=0 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1239.09375, `HousePositionY`=-199.75, `HousePositionZ`=74.0639954, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=772.871521, `CornerstonePositionY`=-477.524323, `CornerstonePositionZ`=11.7048616, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.14515686, `WorldStateID`=29725, `PlotGameObjectID`=0 WHERE `PlotID`=1 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1236.40625, `HousePositionY`=-56.703125, `HousePositionZ`=76.3940125, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1925.21008, `CornerstonePositionY`=948.899292, `CornerstonePositionZ`=101.645851, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.91113889, `WorldStateID`=29736, `PlotGameObjectID`=0 WHERE `PlotID`=2 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1320.15283, `HousePositionY`=-73.6458359, `HousePositionZ`=74.2064514, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=791.395813, `CornerstonePositionY`=-208.53125, `CornerstonePositionZ`=15.6006947, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.48193121, `WorldStateID`=29745, `PlotGameObjectID`=0 WHERE `PlotID`=3 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1499.40454, `HousePositionY`=59.0815964, `HousePositionZ`=77.1372986, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1607.91321, `CornerstonePositionY`=-242.921875, `CornerstonePositionZ`=76.2829895, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.38593888, `WorldStateID`=29755, `PlotGameObjectID`=0 WHERE `PlotID`=4 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1675.29163, `HousePositionY`=-190.513885, `HousePositionZ`=78.3776474, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=733.854187, `CornerstonePositionY`=-434.173615, `CornerstonePositionZ`=2.39409733, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.46964121, `WorldStateID`=29763, `PlotGameObjectID`=0 WHERE `PlotID`=5 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1543.58679, `HousePositionY`=-33.640625, `HousePositionZ`=78.4231339, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=649.975708, `CornerstonePositionY`=39.9340286, `CornerstonePositionZ`=3.91840291, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.08050632, `WorldStateID`=29765, `PlotGameObjectID`=0 WHERE `PlotID`=6 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1149.98608, `HousePositionY`=-109.125, `HousePositionZ`=73.9778976, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=574.291687, `CornerstonePositionY`=-316.392365, `CornerstonePositionZ`=7.14350891, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.18166208, `WorldStateID`=29766, `PlotGameObjectID`=0 WHERE `PlotID`=7 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1621.55005, `HousePositionY`=-266.993011, `HousePositionZ`=74.520401, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1343.776, `CornerstonePositionY`=-635.861145, `CornerstonePositionZ`=21.166666, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.3494339, `WorldStateID`=29767, `PlotGameObjectID`=0 WHERE `PlotID`=8 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=798.484375, `HousePositionY`=-264.90451, `HousePositionZ`=33.8332672, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1668.40625, `CornerstonePositionY`=1053.18579, `CornerstonePositionZ`=48.4670143, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.07337832, `WorldStateID`=29768, `PlotGameObjectID`=0 WHERE `PlotID`=9 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=988.774292, `HousePositionY`=154.793411, `HousePositionZ`=31.3477249, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1266.10242, `CornerstonePositionY`=-171.21875, `CornerstonePositionZ`=72.9337311, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.11025, `WorldStateID`=29726, `PlotGameObjectID`=0 WHERE `PlotID`=10 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=2104.53296, `HousePositionY`=-298.588531, `HousePositionZ`=136.801758, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1101.68408, `CornerstonePositionY`=883.546875, `CornerstonePositionZ`=6.83333349, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.25503969, `WorldStateID`=29727, `PlotGameObjectID`=0 WHERE `PlotID`=11 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=503.543396, `HousePositionY`=-81.2135391, `HousePositionZ`=1.46946418, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=519.734375, `CornerstonePositionY`=693.203125, `CornerstonePositionZ`=155.520828, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.60054159, `WorldStateID`=29728, `PlotGameObjectID`=0 WHERE `PlotID`=12 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=673.842041, `HousePositionY`=11.3559027, `HousePositionZ`=22.7558384, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=902.305542, `CornerstonePositionY`=-545.763916, `CornerstonePositionZ`=1.43055558, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.59021568, `WorldStateID`=29729, `PlotGameObjectID`=0 WHERE `PlotID`=13 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1883.17883, `HousePositionY`=-282.579865, `HousePositionZ`=130.343445, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1180.14929, `CornerstonePositionY`=-643.673645, `CornerstonePositionZ`=5.70659733, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.82583666, `WorldStateID`=29730, `PlotGameObjectID`=0 WHERE `PlotID`=14 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=632.673645, `HousePositionY`=-132.336807, `HousePositionZ`=3.62052846, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2150.56421, `CornerstonePositionY`=-740.092041, `CornerstonePositionZ`=141.666672, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.69653416, `WorldStateID`=29731, `PlotGameObjectID`=0 WHERE `PlotID`=15 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=416.888885, `HousePositionY`=-121.208344, `HousePositionZ`=4.27795506, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1493.41321, `CornerstonePositionY`=7.58159733, `CornerstonePositionZ`=78.328125, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.6548667, `WorldStateID`=29732, `PlotGameObjectID`=0 WHERE `PlotID`=16 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1368.724, `HousePositionY`=230.901047, `HousePositionZ`=44.7523727, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=958.105896, `CornerstonePositionY`=843.576416, `CornerstonePositionZ`=4.78819466, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.23402309, `WorldStateID`=29733, `PlotGameObjectID`=0 WHERE `PlotID`=17 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1728.65454, `HousePositionY`=-874.815979, `HousePositionZ`=116.490936, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1531.53296, `CornerstonePositionY`=998.019104, `CornerstonePositionZ`=36.2552071, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=6.24828339, `WorldStateID`=29734, `PlotGameObjectID`=0 WHERE `PlotID`=18 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1934.45483, `HousePositionY`=-541.807312, `HousePositionZ`=135.931961, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=380.664948, `CornerstonePositionY`=-107.65799, `CornerstonePositionZ`=6, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.13286591, `WorldStateID`=29735, `PlotGameObjectID`=0 WHERE `PlotID`=19 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1629.94971, `HousePositionY`=-688.880188, `HousePositionZ`=97.8434296, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1864.54163, `CornerstonePositionY`=-515.519104, `CornerstonePositionZ`=130.229172, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.53072786, `WorldStateID`=29737, `PlotGameObjectID`=0 WHERE `PlotID`=20 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=795.06427, `HousePositionY`=-388.598969, `HousePositionZ`=40.5091438, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1658.41492, `CornerstonePositionY`=-169.755203, `CornerstonePositionZ`=81.0329895, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.56403685, `WorldStateID`=29738, `PlotGameObjectID`=0 WHERE `PlotID`=21 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=964.855896, `HousePositionY`=-497.982635, `HousePositionZ`=37.9858513, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=488.315979, `CornerstonePositionY`=304.34201, `CornerstonePositionZ`=99.2083359, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.6286869, `WorldStateID`=29739, `PlotGameObjectID`=0 WHERE `PlotID`=22 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1960.09033, `HousePositionY`=-706.048645, `HousePositionZ`=133.20108, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1925.599, `CornerstonePositionY`=-707.208313, `CornerstonePositionZ`=134.03299, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=6.03883934, `WorldStateID`=29740, `PlotGameObjectID`=0 WHERE `PlotID`=23 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1102.02429, `HousePositionY`=148.515625, `HousePositionZ`=33.9286919, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=224.12674, `CornerstonePositionY`=652.369812, `CornerstonePositionZ`=12.1857643, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.28121901, `WorldStateID`=29741, `PlotGameObjectID`=0 WHERE `PlotID`=24 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1833.07642, `HousePositionY`=-491.034729, `HousePositionZ`=133.244431, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1844.25867, `CornerstonePositionY`=664.767395, `CornerstonePositionZ`=88.5257568, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.305432796, `WorldStateID`=29742, `PlotGameObjectID`=0 WHERE `PlotID`=25 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1274.19446, `HousePositionY`=-626.503479, `HousePositionZ`=37.310154, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1078.18225, `CornerstonePositionY`=1023.25177, `CornerstonePositionZ`=3.14756942, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.44346094, `WorldStateID`=29743, `PlotGameObjectID`=0 WHERE `PlotID`=26 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1955.74658, `HousePositionY`=-447.786469, `HousePositionZ`=137.591614, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1213.32983, `CornerstonePositionY`=462.809021, `CornerstonePositionZ`=154.020828, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.14159274, `WorldStateID`=29724, `PlotGameObjectID`=0 WHERE `PlotID`=27 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1384.30725, `HousePositionY`=119.887154, `HousePositionZ`=49.9795418, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1663.28125, `CornerstonePositionY`=915.1875, `CornerstonePositionZ`=37.6111145, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.43990111, `WorldStateID`=29744, `PlotGameObjectID`=0 WHERE `PlotID`=28 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1175.23792, `HousePositionY`=-600.18927, `HousePositionZ`=37.2994118, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1165.72742, `CornerstonePositionY`=156.866318, `CornerstonePositionZ`=34.9565964, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.97062373, `WorldStateID`=29718, `PlotGameObjectID`=0 WHERE `PlotID`=29 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1595.39929, `HousePositionY`=-601.147583, `HousePositionZ`=97.8911819, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=952.590271, `CornerstonePositionY`=483.579865, `CornerstonePositionZ`=108.670143, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.53072786, `WorldStateID`=29747, `PlotGameObjectID`=0 WHERE `PlotID`=30 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1729.51221, `HousePositionY`=-541.550354, `HousePositionZ`=104.135048, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2079.96191, `CornerstonePositionY`=-272.855896, `CornerstonePositionZ`=138.317703, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=6.16101313, `WorldStateID`=29746, `PlotGameObjectID`=0 WHERE `PlotID`=31 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1771.22742, `HousePositionY`=-953.083313, `HousePositionZ`=116.490997, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=669.458313, `CornerstonePositionY`=432.253479, `CornerstonePositionZ`=9.00173664, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.26732969, `WorldStateID`=29748, `PlotGameObjectID`=0 WHERE `PlotID`=32 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1858.23438, `HousePositionY`=-873.920166, `HousePositionZ`=121.266853, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1129.51917, `CornerstonePositionY`=770.180542, `CornerstonePositionZ`=17.6215286, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.637045383, `WorldStateID`=29749, `PlotGameObjectID`=0 WHERE `PlotID`=33 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=2101.427, `HousePositionY`=-201.295135, `HousePositionZ`=136.801712, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1309.73267, `CornerstonePositionY`=-105.368057, `CornerstonePositionZ`=73.2638702, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.71042502, `WorldStateID`=29750, `PlotGameObjectID`=0 WHERE `PlotID`=34 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=599.267395, `HousePositionY`=-273.642365, `HousePositionZ`=4.28020573, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1788.59033, `CornerstonePositionY`=-951.065979, `CornerstonePositionZ`=92.3142395, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.24987698, `WorldStateID`=29751, `PlotGameObjectID`=0 WHERE `PlotID`=35 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=875.524292, `HousePositionY`=-467.357635, `HousePositionZ`=40.5583839, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1802.2135, `CornerstonePositionY`=639.21875, `CornerstonePositionZ`=85.6006927, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.20624399, `WorldStateID`=29752, `PlotGameObjectID`=0 WHERE `PlotID`=36 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1188.10071, `HousePositionY`=479.788208, `HousePositionZ`=122.239571, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=304.65625, `CornerstonePositionY`=79.8489609, `CornerstonePositionZ`=24.3628483, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.88852072, `WorldStateID`=29753, `PlotGameObjectID`=0 WHERE `PlotID`=37 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1006.46008, `HousePositionY`=920.821167, `HousePositionZ`=7.8577795, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1846.5, `CornerstonePositionY`=-879.526062, `CornerstonePositionZ`=120.711807, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.63741398, `WorldStateID`=29754, `PlotGameObjectID`=0 WHERE `PlotID`=38 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=563.423645, `HousePositionY`=549.201416, `HousePositionZ`=83.2299805, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2235.25513, `CornerstonePositionY`=-871.059021, `CornerstonePositionZ`=160.227432, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.06145668, `WorldStateID`=29720, `PlotGameObjectID`=0 WHERE `PlotID`=39 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1032.36804, `HousePositionY`=660.536438, `HousePositionZ`=9.11426735, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1023.8299, `CornerstonePositionY`=164.791672, `CornerstonePositionZ`=31.1076393, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.54301858, `WorldStateID`=29757, `PlotGameObjectID`=0 WHERE `PlotID`=40 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1877.49658, `HousePositionY`=682.232666, `HousePositionZ`=94.3096695, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1339.89587, `CornerstonePositionY`=616.347229, `CornerstonePositionZ`=42.0034752, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.56403589, `WorldStateID`=29756, `PlotGameObjectID`=0 WHERE `PlotID`=41 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1345.19788, `HousePositionY`=577.53125, `HousePositionZ`=42.0378609, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1757.38538, `CornerstonePositionY`=-865.434021, `CornerstonePositionZ`=116.753471, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.28994608, `WorldStateID`=29722, `PlotGameObjectID`=0 WHERE `PlotID`=42 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1560.4375, `HousePositionY`=1002.44269, `HousePositionZ`=37.3808861, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=639.866333, `CornerstonePositionY`=692.515625, `CornerstonePositionZ`=113.904518, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.60054159, `WorldStateID`=29664, `PlotGameObjectID`=0 WHERE `PlotID`=43 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1100.03125, `HousePositionY`=965.151062, `HousePositionZ`=8.17554188, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1903.57471, `CornerstonePositionY`=-448.295135, `CornerstonePositionZ`=137.003479, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.0436336994, `WorldStateID`=29723, `PlotGameObjectID`=0 WHERE `PlotID`=44 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1676.151, `HousePositionY`=950.605896, `HousePositionZ`=37.4253616, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1883.46179, `CornerstonePositionY`=-337.90451, `CornerstonePositionZ`=129.980911, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.57952571, `WorldStateID`=29758, `PlotGameObjectID`=0 WHERE `PlotID`=45 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1667.92883, `HousePositionY`=1084.51733, `HousePositionZ`=45.9019852, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2269.27612, `CornerstonePositionY`=-586.685791, `CornerstonePositionZ`=161.475693, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.654502392, `WorldStateID`=29759, `PlotGameObjectID`=0 WHERE `PlotID`=46 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=861.373291, `HousePositionY`=478.059021, `HousePositionZ`=69.0119629, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1366.40796, `CornerstonePositionY`=85.1840286, `CornerstonePositionZ`=49.7309036, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.506145716, `WorldStateID`=29760, `PlotGameObjectID`=0 WHERE `PlotID`=47 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=689.965271, `HousePositionY`=445.487854, `HousePositionZ`=7.07972193, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1215.64417, `CornerstonePositionY`=-9.72222233, `CornerstonePositionZ`=104.463539, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.986114979, `WorldStateID`=29761, `PlotGameObjectID`=0 WHERE `PlotID`=48 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1159.89929, `HousePositionY`=787.769104, `HousePositionZ`=17.5986328, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=412.015625, `CornerstonePositionY`=194.885422, `CornerstonePositionZ`=109.75869, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.5465827, `WorldStateID`=29762, `PlotGameObjectID`=0 WHERE `PlotID`=49 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=997.088562, `HousePositionY`=738.880188, `HousePositionZ`=9.48407078, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1032.78479, `CornerstonePositionY`=695.145813, `CornerstonePositionZ`=9.00868034, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.45058966, `WorldStateID`=29719, `PlotGameObjectID`=0 WHERE `PlotID`=50 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=945.284729, `HousePositionY`=511.006958, `HousePositionZ`=69.5376663, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=637.663208, `CornerstonePositionY`=-114.506943, `CornerstonePositionZ`=2.94618058, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.26376581, `WorldStateID`=29769, `PlotGameObjectID`=0 WHERE `PlotID`=51 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=617.628479, `HousePositionY`=631.946167, `HousePositionZ`=81.6513214, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1665.50171, `CornerstonePositionY`=-677.59552, `CornerstonePositionZ`=99.7430573, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.52556562, `WorldStateID`=29770, `PlotGameObjectID`=0 WHERE `PlotID`=52 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=927.53302, `HousePositionY`=819.734375, `HousePositionZ`=7.1142664, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=1640.02258, `CornerstonePositionY`=-567.548645, `CornerstonePositionZ`=99.9861145, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.12413931, `WorldStateID`=29771, `PlotGameObjectID`=0 WHERE `PlotID`=53 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=2, `HousePositionX`=1926.60242, `HousePositionY`=969.859375, `HousePositionZ`=93.4767151, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=745.534729, `CornerstonePositionY`=840.336792, `CornerstonePositionZ`=8.75347233, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.05432749, `WorldStateID`=29772, `PlotGameObjectID`=0 WHERE `PlotID`=54 AND `ExteriorMapID`=2736;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2973.0791, `HousePositionY`=-245.322922, `HousePositionZ`=113.170952, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2942.7439, `CornerstonePositionY`=-214.265625, `CornerstonePositionZ`=113.112846, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.83812618, `WorldStateID`=29778, `PlotGameObjectID`=0 WHERE `PlotID`=0 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2706.0791, `HousePositionY`=646.427063, `HousePositionZ`=47.6890335, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2674.31763, `CornerstonePositionY`=651.84552, `CornerstonePositionZ`=49.2256966, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.27089405, `WorldStateID`=29725, `PlotGameObjectID`=0 WHERE `PlotID`=1 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3453.35254, `HousePositionY`=1058.71533, `HousePositionZ`=25.2093105, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2523.34546, `CornerstonePositionY`=171.178818, `CornerstonePositionZ`=60.4097214, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.314159393, `WorldStateID`=29736, `PlotGameObjectID`=0 WHERE `PlotID`=2 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3196.81958, `HousePositionY`=-501.583344, `HousePositionZ`=190.80069, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3166.54688, `CornerstonePositionY`=-525.715271, `CornerstonePositionZ`=190.651047, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.401426077, `WorldStateID`=29745, `PlotGameObjectID`=0 WHERE `PlotID`=3 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3491.65967, `HousePositionY`=1300.32288, `HousePositionZ`=17.0956974, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3495.48779, `CornerstonePositionY`=1400.80212, `CornerstonePositionZ`=4.28472233, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.64257669, `WorldStateID`=29755, `PlotGameObjectID`=0 WHERE `PlotID`=4 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2636.1875, `HousePositionY`=996.355896, `HousePositionZ`=37.5333099, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2615.62939, `CornerstonePositionY`=965.467041, `CornerstonePositionZ`=36.890625, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.523599386, `WorldStateID`=29763, `PlotGameObjectID`=0 WHERE `PlotID`=5 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2710.43677, `HousePositionY`=-428.743073, `HousePositionZ`=122.509308, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2662.95312, `CornerstonePositionY`=-427.987854, `CornerstonePositionZ`=121.833344, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.130899906, `WorldStateID`=29765, `PlotGameObjectID`=0 WHERE `PlotID`=6 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3576.45044, `HousePositionY`=234.59549, `HousePositionZ`=102.395523, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3581.92798, `CornerstonePositionY`=265.006958, `CornerstonePositionZ`=102.315979, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.93928146, `WorldStateID`=29766, `PlotGameObjectID`=0 WHERE `PlotID`=7 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2329.74316, `HousePositionY`=34.2204857, `HousePositionZ`=100.206207, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2351.66138, `CornerstonePositionY`=-11.604167, `CornerstonePositionZ`=100.142349, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.18166304, `WorldStateID`=29767, `PlotGameObjectID`=0 WHERE `PlotID`=8 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3524.30469, `HousePositionY`=342.861115, `HousePositionZ`=95.553772, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3547.51489, `CornerstonePositionY`=322.270844, `CornerstonePositionZ`=95.7100677, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.32128859, `WorldStateID`=29768, `PlotGameObjectID`=0 WHERE `PlotID`=9 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2427.0105, `HousePositionY`=5.30902767, `HousePositionZ`=100.029457, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2450.05396, `CornerstonePositionY`=267.446198, `CornerstonePositionZ`=50.2309036, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.35619521, `WorldStateID`=29726, `PlotGameObjectID`=0 WHERE `PlotID`=10 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2915.75781, `HousePositionY`=84.8854141, `HousePositionZ`=63.0604248, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2937.3186, `CornerstonePositionY`=122.1875, `CornerstonePositionZ`=62.7777786, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.14159274, `WorldStateID`=29727, `PlotGameObjectID`=0 WHERE `PlotID`=11 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3326.53394, `HousePositionY`=1484.48096, `HousePositionZ`=12.5476723, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3340.21362, `CornerstonePositionY`=1521.82983, `CornerstonePositionZ`=7.50347233, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.85877991, `WorldStateID`=29728, `PlotGameObjectID`=0 WHERE `PlotID`=12 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2844.91675, `HousePositionY`=910.201416, `HousePositionZ`=28.9181652, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2821.30981, `CornerstonePositionY`=886.53125, `CornerstonePositionZ`=30.583334, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.0785398483, `WorldStateID`=29729, `PlotGameObjectID`=0 WHERE `PlotID`=13 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2762.57202, `HousePositionY`=1066.36975, `HousePositionZ`=24.7555389, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2728.46533, `CornerstonePositionY`=1070.72229, `CornerstonePositionZ`=27.2881947, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.46288013, `WorldStateID`=29730, `PlotGameObjectID`=0 WHERE `PlotID`=14 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2771.04614, `HousePositionY`=163.815979, `HousePositionZ`=67.3829193, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2767.04004, `CornerstonePositionY`=122.039932, `CornerstonePositionZ`=66.8993073, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.11701322, `WorldStateID`=29731, `PlotGameObjectID`=0 WHERE `PlotID`=15 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3010.66235, `HousePositionY`=66.3003464, `HousePositionZ`=65.9751968, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2969.21704, `CornerstonePositionY`=98.2552109, `CornerstonePositionZ`=65.4270859, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.41924858, `WorldStateID`=29732, `PlotGameObjectID`=0 WHERE `PlotID`=16 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2948.99316, `HousePositionY`=-331.461823, `HousePositionZ`=118.099068, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2938.39502, `CornerstonePositionY`=-343.118073, `CornerstonePositionZ`=121.434029, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.5065136, `WorldStateID`=29733, `PlotGameObjectID`=0 WHERE `PlotID`=17 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2253.06763, `HousePositionY`=-232.050354, `HousePositionZ`=117.511841, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2287.10083, `CornerstonePositionY`=-228.611115, `CornerstonePositionZ`=116.527786, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.57792521, `WorldStateID`=29734, `PlotGameObjectID`=0 WHERE `PlotID`=18 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3334.87329, `HousePositionY`=1133.49133, `HousePositionZ`=19.1222744, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3325.56079, `CornerstonePositionY`=1102.24829, `CornerstonePositionZ`=13.0920143, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.24275255, `WorldStateID`=29735, `PlotGameObjectID`=0 WHERE `PlotID`=19 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2507.8855, `HousePositionY`=-369.854156, `HousePositionZ`=105.629181, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2471.47583, `CornerstonePositionY`=-331.336823, `CornerstonePositionZ`=101.637154, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.89724684, `WorldStateID`=29737, `PlotGameObjectID`=0 WHERE `PlotID`=20 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2609.5, `HousePositionY`=-486.513885, `HousePositionZ`=122.46122, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2592.77002, `CornerstonePositionY`=-613.664917, `CornerstonePositionZ`=138.177094, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.76474857, `WorldStateID`=29738, `PlotGameObjectID`=0 WHERE `PlotID`=21 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3038.52783, `HousePositionY`=-566.713562, `HousePositionZ`=214.280579, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3065.125, `CornerstonePositionY`=-579.90802, `CornerstonePositionZ`=214.347229, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.48709488, `WorldStateID`=29739, `PlotGameObjectID`=0 WHERE `PlotID`=22 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3339.00879, `HousePositionY`=-607.729187, `HousePositionZ`=204.286819, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3309.42188, `CornerstonePositionY`=-594.9375, `CornerstonePositionZ`=208.557297, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.16617489, `WorldStateID`=29740, `PlotGameObjectID`=0 WHERE `PlotID`=23 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2856.7605, `HousePositionY`=-263.196198, `HousePositionZ`=114.781403, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3803.50171, `CornerstonePositionY`=1159.10596, `CornerstonePositionZ`=8.74826431, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.043633461, `WorldStateID`=29741, `PlotGameObjectID`=0 WHERE `PlotID`=24 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3432.10254, `HousePositionY`=1436.66492, `HousePositionZ`=8.47468376, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3440.84473, `CornerstonePositionY`=1465.80554, `CornerstonePositionZ`=8.31597233, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.21300626, `WorldStateID`=29742, `PlotGameObjectID`=0 WHERE `PlotID`=25 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2599.97583, `HousePositionY`=608.112854, `HousePositionZ`=45.1348953, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2615.26392, `CornerstonePositionY`=633.758667, `CornerstonePositionZ`=47.7326393, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.97418833, `WorldStateID`=29743, `PlotGameObjectID`=0 WHERE `PlotID`=26 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3672.76831, `HousePositionY`=244.071182, `HousePositionZ`=104.399696, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3639.85596, `CornerstonePositionY`=259.371521, `CornerstonePositionZ`=104.381943, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.31452799, `WorldStateID`=29724, `PlotGameObjectID`=0 WHERE `PlotID`=27 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3628.06763, `HousePositionY`=1325.21533, `HousePositionZ`=29.6373196, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3637.43848, `CornerstonePositionY`=1363.48096, `CornerstonePositionZ`=33.6493073, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.48353446, `WorldStateID`=29744, `PlotGameObjectID`=0 WHERE `PlotID`=28 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3516.48169, `HousePositionY`=1185.64587, `HousePositionZ`=16.9397984, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3493.40796, `CornerstonePositionY`=1175.13367, `CornerstonePositionZ`=2.31597233, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.157079697, `WorldStateID`=29718, `PlotGameObjectID`=0 WHERE `PlotID`=29 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2662.35669, `HousePositionY`=831.465271, `HousePositionZ`=44.1460228, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2686.68066, `CornerstonePositionY`=813.067688, `CornerstonePositionZ`=43.7934036, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.14159274, `WorldStateID`=29747, `PlotGameObjectID`=0 WHERE `PlotID`=30 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3352.42285, `HousePositionY`=-331.163208, `HousePositionZ`=182.655029, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3368.13721, `CornerstonePositionY`=-403.112854, `CornerstonePositionZ`=186.428818, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.68780756, `WorldStateID`=29746, `PlotGameObjectID`=0 WHERE `PlotID`=31 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3284.97925, `HousePositionY`=-376.534729, `HousePositionZ`=182.794388, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3136.13892, `CornerstonePositionY`=-650.277771, `CornerstonePositionZ`=226.342026, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.68104696, `WorldStateID`=29748, `PlotGameObjectID`=0 WHERE `PlotID`=32 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2510.07642, `HousePositionY`=-53.8263893, `HousePositionZ`=95.4554596, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2478.60938, `CornerstonePositionY`=-80.5520859, `CornerstonePositionZ`=95.2361145, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.375246763, `WorldStateID`=29749, `PlotGameObjectID`=0 WHERE `PlotID`=33 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3457.79004, `HousePositionY`=761.239563, `HousePositionZ`=81.5263519, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3461.76294, `CornerstonePositionY`=728.498291, `CornerstonePositionZ`=81.5017395, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.35619521, `WorldStateID`=29750, `PlotGameObjectID`=0 WHERE `PlotID`=34 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2605.91235, `HousePositionY`=905.784729, `HousePositionZ`=39.1738815, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2440.56592, `CornerstonePositionY`=927.930542, `CornerstonePositionZ`=36.171875, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.514872551, `WorldStateID`=29751, `PlotGameObjectID`=0 WHERE `PlotID`=35 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2763.09204, `HousePositionY`=1170.68579, `HousePositionZ`=25.820612, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2737.625, `CornerstonePositionY`=1142.71008, `CornerstonePositionZ`=24.9652786, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.383973122, `WorldStateID`=29752, `PlotGameObjectID`=0 WHERE `PlotID`=36 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2477.74316, `HousePositionY`=514.446167, `HousePositionZ`=41.3817673, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2510.36035, `CornerstonePositionY`=542.6875, `CornerstonePositionZ`=41.1493073, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.99680424, `WorldStateID`=29753, `PlotGameObjectID`=0 WHERE `PlotID`=37 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2571.625, `HousePositionY`=-299.335083, `HousePositionZ`=105.492233, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2570.73096, `CornerstonePositionY`=-331.211823, `CornerstonePositionZ`=105.463539, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.26020288, `WorldStateID`=29754, `PlotGameObjectID`=0 WHERE `PlotID`=38 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3538.40894, `HousePositionY`=646.15802, `HousePositionZ`=82.6427765, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3602.28638, `CornerstonePositionY`=642.958313, `CornerstonePositionZ`=83.3819427, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.70169795, `WorldStateID`=29720, `PlotGameObjectID`=0 WHERE `PlotID`=39 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3558.43579, `HousePositionY`=1398.24829, `HousePositionZ`=13.0544977, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3522.78052, `CornerstonePositionY`=1455.151, `CornerstonePositionZ`=9.38541698, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.96029949, `WorldStateID`=29757, `PlotGameObjectID`=0 WHERE `PlotID`=40 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2157.54517, `HousePositionY`=-327.392365, `HousePositionZ`=98.6816559, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=2190.29688, `CornerstonePositionY`=-337.149323, `CornerstonePositionZ`=98.519104, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.13286591, `WorldStateID`=29756, `PlotGameObjectID`=0 WHERE `PlotID`=41 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3579.25781, `HousePositionY`=470.298615, `HousePositionZ`=89.6702805, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3597.54175, `CornerstonePositionY`=501.835083, `CornerstonePositionZ`=89.5711823, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.8432889, `WorldStateID`=29722, `PlotGameObjectID`=0 WHERE `PlotID`=42 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3669.58765, `HousePositionY`=1187.625, `HousePositionZ`=37.6142006, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3645.65967, `CornerstonePositionY`=1202.90979, `CornerstonePositionZ`=37.5295143, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.72467995, `WorldStateID`=29664, `PlotGameObjectID`=0 WHERE `PlotID`=43 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3618.14575, `HousePositionY`=361.4375, `HousePositionZ`=96.5879211, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3647.06177, `CornerstonePositionY`=353.182281, `CornerstonePositionZ`=102.725693, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.462513924, `WorldStateID`=29723, `PlotGameObjectID`=0 WHERE `PlotID`=44 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3429.68311, `HousePositionY`=654.460083, `HousePositionZ`=79.9497604, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3453.25439, `CornerstonePositionY`=669.918396, `CornerstonePositionZ`=86.5920181, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.49065924, `WorldStateID`=29758, `PlotGameObjectID`=0 WHERE `PlotID`=45 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3198.88989, `HousePositionY`=365.130219, `HousePositionZ`=65.7899551, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3167.93579, `CornerstonePositionY`=364.013885, `CornerstonePositionZ`=73.8836823, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=0.0261843204, `WorldStateID`=29759, `PlotGameObjectID`=0 WHERE `PlotID`=46 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3333.03906, `HousePositionY`=401.885406, `HousePositionZ`=69.8325729, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3315.51489, `CornerstonePositionY`=427.78125, `CornerstonePositionZ`=71.921875, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.38077641, `WorldStateID`=29760, `PlotGameObjectID`=0 WHERE `PlotID`=47 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3038.48608, `HousePositionY`=861.565979, `HousePositionZ`=74.8148575, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3047.40112, `CornerstonePositionY`=833.147583, `CornerstonePositionZ`=74.6770859, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.63188303, `WorldStateID`=29761, `PlotGameObjectID`=0 WHERE `PlotID`=48 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3092.35425, `HousePositionY`=407.09549, `HousePositionZ`=66.334671, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3119.01904, `CornerstonePositionY`=394.869781, `CornerstonePositionZ`=74.2621536, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.01069355, `WorldStateID`=29762, `PlotGameObjectID`=0 WHERE `PlotID`=49 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3268.73779, `HousePositionY`=1029.94788, `HousePositionZ`=20.3230076, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3288.02271, `CornerstonePositionY`=1002.55902, `CornerstonePositionZ`=22.7534733, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=2.46964121, `WorldStateID`=29719, `PlotGameObjectID`=0 WHERE `PlotID`=50 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3357.65356, `HousePositionY`=523.8125, `HousePositionZ`=71.9353561, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3348.19092, `CornerstonePositionY`=487.526031, `CornerstonePositionZ`=72.3767395, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=1.77151132, `WorldStateID`=29769, `PlotGameObjectID`=0 WHERE `PlotID`=51 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3386.48877, `HousePositionY`=979.743042, `HousePositionZ`=29.0968018, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3365.41138, `CornerstonePositionY`=1004.1684, `CornerstonePositionZ`=32.8020821, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=5.68977356, `WorldStateID`=29770, `PlotGameObjectID`=0 WHERE `PlotID`=52 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=2970.98608, `HousePositionY`=796.392395, `HousePositionZ`=74.7324066, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3003.05908, `CornerstonePositionY`=772.649292, `CornerstonePositionZ`=74.5642395, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=3.86590457, `WorldStateID`=29771, `PlotGameObjectID`=0 WHERE `PlotID`=53 AND `ExteriorMapID`=2735;
|
||||
UPDATE `housing_plot_template` SET `NeighborhoodMapID`=1, `HousePositionX`=3157.63208, `HousePositionY`=252.003479, `HousePositionZ`=69.2628174, `HouseRotationX`=0, `HouseRotationY`=0, `HouseRotationZ`=0, `CornerstonePositionX`=3151.59033, `CornerstonePositionY`=297.625, `CornerstonePositionZ`=73.4253464, `CornerstoneRotationX`=0, `CornerstoneRotationY`=0, `CornerstoneRotationZ`=4.75602245, `WorldStateID`=29772, `PlotGameObjectID`=0 WHERE `PlotID`=54 AND `ExteriorMapID`=2735;
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
-- Captured purchase cost used by the Cornerstone UI for both faction maps.
|
||||
ALTER TABLE `housing_plot_template`
|
||||
ADD COLUMN `Cost` bigint unsigned NOT NULL DEFAULT 10000000 AFTER `PlotGameObjectID`;
|
||||
|
||||
UPDATE `housing_plot_template`
|
||||
SET `Cost` = 10000000
|
||||
WHERE `ExteriorMapID` IN (2735, 2736) AND `VerifiedBuild` = 69587;
|
||||
@@ -0,0 +1,17 @@
|
||||
-- Housing plot purchase and relocation audit for both faction neighborhoods.
|
||||
CREATE TABLE `housing_plot_transaction` (
|
||||
`TransactionID` bigint unsigned NOT NULL AUTO_INCREMENT,
|
||||
`OwnerGuid` bigint unsigned NOT NULL,
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`OldPlotID` tinyint unsigned NOT NULL,
|
||||
`NewPlotID` tinyint unsigned NOT NULL,
|
||||
`ExteriorMapID` int unsigned NOT NULL,
|
||||
`Cost` bigint unsigned NOT NULL DEFAULT 0,
|
||||
`TransactionType` tinyint unsigned NOT NULL COMMENT '0=purchase, 1=move',
|
||||
`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`TransactionID`),
|
||||
KEY `idx_housing_plot_transaction_owner` (`OwnerGuid`, `CreatedAt`),
|
||||
KEY `idx_housing_plot_transaction_house` (`HouseGuid`),
|
||||
KEY `idx_housing_plot_transaction_plot` (`NeighborhoodGuid`, `NewPlotID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,65 @@
|
||||
-- Runtime lookup indexes for the Housing room, mesh, fixture and decor loaders.
|
||||
-- These tables contain per-house entities reconstructed from UPDATE_OBJECT captures.
|
||||
--
|
||||
-- Keep every index creation idempotent. Character DB updates are applied statement by
|
||||
-- statement, so a previous failed run may already have created some of these indexes.
|
||||
|
||||
SET @sql := IF(
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM `information_schema`.`STATISTICS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'housing_room_entity'
|
||||
AND `INDEX_NAME` = 'idx_housing_room_house_order'
|
||||
),
|
||||
'SELECT 1',
|
||||
'ALTER TABLE `housing_room_entity` ADD KEY `idx_housing_room_house_order` (`HouseGuid`, `HouseRoomID`)'
|
||||
);
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @sql := IF(
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM `information_schema`.`STATISTICS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'housing_room_component_entity'
|
||||
AND `INDEX_NAME` = 'idx_housing_component_house_room'
|
||||
),
|
||||
'SELECT 1',
|
||||
'ALTER TABLE `housing_room_component_entity` ADD KEY `idx_housing_component_house_room` (`HouseGuid`, `RoomGuid`)'
|
||||
);
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @sql := IF(
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM `information_schema`.`STATISTICS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'housing_fixture_entity'
|
||||
AND `INDEX_NAME` = 'idx_housing_fixture_house'
|
||||
),
|
||||
'SELECT 1',
|
||||
'ALTER TABLE `housing_fixture_entity` ADD KEY `idx_housing_fixture_house` (`HouseGuid`)'
|
||||
);
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @sql := IF(
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM `information_schema`.`STATISTICS`
|
||||
WHERE `TABLE_SCHEMA` = DATABASE()
|
||||
AND `TABLE_NAME` = 'housing_placed_decor'
|
||||
AND `INDEX_NAME` = 'idx_housing_decor_house_entity'
|
||||
),
|
||||
'SELECT 1',
|
||||
'ALTER TABLE `housing_placed_decor` ADD KEY `idx_housing_decor_house_entity` (`HouseGuid`, `EntityGuid`)'
|
||||
);
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
@@ -0,0 +1,16 @@
|
||||
-- Persists the exact exterior plot return point while a player is inside Map 2783.
|
||||
-- This keeps Alliance and Horde exits data-driven and prevents cross-faction returns.
|
||||
CREATE TABLE IF NOT EXISTS `character_housing_return_location` (
|
||||
`OwnerGuid` bigint unsigned NOT NULL,
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`ExteriorMapID` int unsigned NOT NULL,
|
||||
`PlotID` tinyint unsigned NOT NULL,
|
||||
`PositionX` float NOT NULL,
|
||||
`PositionY` float NOT NULL,
|
||||
`PositionZ` float NOT NULL,
|
||||
`Orientation` float NOT NULL,
|
||||
`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`OwnerGuid`),
|
||||
KEY `idx_housing_return_house` (`HouseGuid`),
|
||||
KEY `idx_housing_return_plot` (`ExteriorMapID`, `PlotID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,21 @@
|
||||
-- Data-driven exterior door configuration for every Midnight housing plot.
|
||||
ALTER TABLE `character_housing`
|
||||
ADD COLUMN `ExteriorMapID` int unsigned NOT NULL DEFAULT 0 AFTER `PlotID`,
|
||||
ADD KEY `idx_character_housing_map_plot` (`ExteriorMapID`, `PlotID`);
|
||||
|
||||
ALTER TABLE `housing_plot_template`
|
||||
ADD COLUMN `DoorEntry` int unsigned NOT NULL DEFAULT 0 AFTER `CornerstoneEntry`,
|
||||
ADD KEY `idx_housing_plot_door` (`ExteriorMapID`, `PlotID`, `DoorEntry`);
|
||||
|
||||
-- Founder's Point (Alliance) front door.
|
||||
UPDATE `housing_plot_template`
|
||||
SET `DoorEntry` = 586576
|
||||
WHERE `ExteriorMapID` = 2735;
|
||||
|
||||
-- Razorwind Shores (Horde) front door.
|
||||
UPDATE `housing_plot_template`
|
||||
SET `DoorEntry` = 602702
|
||||
WHERE `ExteriorMapID` = 2736;
|
||||
|
||||
ALTER TABLE `character_housing`
|
||||
ADD KEY `idx_character_housing_plot` (`PlotID`);
|
||||
@@ -0,0 +1,17 @@
|
||||
-- Midnight 12.1.0.69587 Housing persistent decor instances.
|
||||
-- One row represents one licensed decor object exposed through FHousingStorage_C.
|
||||
CREATE TABLE IF NOT EXISTS `housing_decor_instance` (
|
||||
`BattlenetAccountId` int unsigned NOT NULL,
|
||||
`DecorGuid` varchar(64) NOT NULL,
|
||||
`DecorID` int unsigned NOT NULL,
|
||||
`HouseGuid` varchar(64) NOT NULL DEFAULT '',
|
||||
`PlacementStatus` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`SourceType` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`SourceValue` varchar(255) NOT NULL DEFAULT '',
|
||||
`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`BattlenetAccountId`, `DecorGuid`),
|
||||
UNIQUE KEY `uq_housing_decor_instance_guid` (`DecorGuid`),
|
||||
KEY `idx_housing_decor_instance_type` (`BattlenetAccountId`, `DecorID`),
|
||||
KEY `idx_housing_decor_instance_house` (`HouseGuid`, `PlacementStatus`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,12 @@
|
||||
-- Housing dynamic entity payload quarantine.
|
||||
-- Invalid captured rows remain available for analysis but are never serialized to the client.
|
||||
CREATE TABLE IF NOT EXISTS `housing_entity_quarantine` (
|
||||
`EntityType` varchar(32) NOT NULL,
|
||||
`EntityGuid` varchar(64) NOT NULL,
|
||||
`Reason` varchar(64) NOT NULL,
|
||||
`HitCount` int unsigned NOT NULL DEFAULT 1,
|
||||
`FirstSeenAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`LastSeenAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`EntityType`, `EntityGuid`),
|
||||
KEY `idx_housing_quarantine_last_seen` (`LastSeenAt`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,34 @@
|
||||
-- Housing blueprint persistence for Midnight 12.1.
|
||||
-- Blueprint records are owned by a Battle.net account; item rows describe the
|
||||
-- decor, dyes, rooms and fixtures required to reconstruct the saved layout.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_blueprint` (
|
||||
`ID` bigint unsigned NOT NULL AUTO_INCREMENT,
|
||||
`BnetAccountID` int unsigned NOT NULL,
|
||||
`UUID` varchar(64) NOT NULL,
|
||||
`Name` varchar(127) NOT NULL DEFAULT '',
|
||||
`Type` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`DateCreated` bigint NOT NULL DEFAULT 0,
|
||||
`DateDeleted` bigint NOT NULL DEFAULT 0,
|
||||
`Flags` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`DeleteReason` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
`RequiredFaction` tinyint NOT NULL DEFAULT -1,
|
||||
`RequiredHouseType` int unsigned NOT NULL DEFAULT 0,
|
||||
`RequiredHouseSize` tinyint unsigned NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`ID`),
|
||||
UNIQUE KEY `uq_housing_blueprint_account_uuid` (`BnetAccountID`, `UUID`),
|
||||
KEY `idx_housing_blueprint_account_deleted` (`BnetAccountID`, `DateDeleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
COMMENT='Account-owned Housing blueprint metadata';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_blueprint_item` (
|
||||
`BlueprintID` bigint unsigned NOT NULL,
|
||||
`ItemType` tinyint unsigned NOT NULL COMMENT '0 decor, 1 dye item, 2 room, 3 fixture',
|
||||
`ItemID` int unsigned NOT NULL,
|
||||
`Quantity` int unsigned NOT NULL DEFAULT 1,
|
||||
PRIMARY KEY (`BlueprintID`, `ItemType`, `ItemID`),
|
||||
CONSTRAINT `fk_housing_blueprint_item_blueprint`
|
||||
FOREIGN KEY (`BlueprintID`) REFERENCES `housing_blueprint` (`ID`)
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
COMMENT='Items stored by a Housing blueprint';
|
||||
@@ -0,0 +1,19 @@
|
||||
-- Midnight 12.1 Housing decor lock persistence.
|
||||
-- Idempotent for partially updated Character databases.
|
||||
SET @housing_locked_exists := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'housing_placed_decor'
|
||||
AND COLUMN_NAME = 'Locked'
|
||||
);
|
||||
|
||||
SET @housing_locked_sql := IF(
|
||||
@housing_locked_exists = 0,
|
||||
'ALTER TABLE `housing_placed_decor` ADD COLUMN `Locked` tinyint unsigned NOT NULL DEFAULT 0 AFTER `Flags`',
|
||||
'SELECT 1'
|
||||
);
|
||||
|
||||
PREPARE housing_locked_stmt FROM @housing_locked_sql;
|
||||
EXECUTE housing_locked_stmt;
|
||||
DEALLOCATE PREPARE housing_locked_stmt;
|
||||
@@ -0,0 +1,35 @@
|
||||
-- Midnight 12.1 Housing decor dye persistence.
|
||||
-- Add each column independently so a partially applied update can be retried safely.
|
||||
|
||||
SET @housing_dye0_exists := (
|
||||
SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'housing_placed_decor' AND COLUMN_NAME = 'DyeSlot0'
|
||||
);
|
||||
SET @housing_dye0_sql := IF(@housing_dye0_exists = 0,
|
||||
'ALTER TABLE `housing_placed_decor` ADD COLUMN `DyeSlot0` int unsigned NOT NULL DEFAULT 0 AFTER `Locked`',
|
||||
'SELECT 1');
|
||||
PREPARE housing_dye0_stmt FROM @housing_dye0_sql;
|
||||
EXECUTE housing_dye0_stmt;
|
||||
DEALLOCATE PREPARE housing_dye0_stmt;
|
||||
|
||||
SET @housing_dye1_exists := (
|
||||
SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'housing_placed_decor' AND COLUMN_NAME = 'DyeSlot1'
|
||||
);
|
||||
SET @housing_dye1_sql := IF(@housing_dye1_exists = 0,
|
||||
'ALTER TABLE `housing_placed_decor` ADD COLUMN `DyeSlot1` int unsigned NOT NULL DEFAULT 0 AFTER `DyeSlot0`',
|
||||
'SELECT 1');
|
||||
PREPARE housing_dye1_stmt FROM @housing_dye1_sql;
|
||||
EXECUTE housing_dye1_stmt;
|
||||
DEALLOCATE PREPARE housing_dye1_stmt;
|
||||
|
||||
SET @housing_dye2_exists := (
|
||||
SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'housing_placed_decor' AND COLUMN_NAME = 'DyeSlot2'
|
||||
);
|
||||
SET @housing_dye2_sql := IF(@housing_dye2_exists = 0,
|
||||
'ALTER TABLE `housing_placed_decor` ADD COLUMN `DyeSlot2` int unsigned NOT NULL DEFAULT 0 AFTER `DyeSlot1`',
|
||||
'SELECT 1');
|
||||
PREPARE housing_dye2_stmt FROM @housing_dye2_sql;
|
||||
EXECUTE housing_dye2_stmt;
|
||||
DEALLOCATE PREPARE housing_dye2_stmt;
|
||||
@@ -0,0 +1,21 @@
|
||||
-- Midnight 12.1 Housing Stage 2: separate transient plot reservations from owned plots.
|
||||
-- A reservation must never rewrite character_housing.PlotID before purchase/move commits.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_plot_reservation` (
|
||||
`ExteriorMapID` int unsigned NOT NULL,
|
||||
`PlotID` tinyint unsigned NOT NULL,
|
||||
`OwnerGuid` bigint unsigned NOT NULL,
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`ReservedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`ExpiresAt` timestamp NOT NULL,
|
||||
PRIMARY KEY (`ExteriorMapID`, `PlotID`, `NeighborhoodGuid`),
|
||||
UNIQUE KEY `uk_housing_plot_reservation_owner` (`OwnerGuid`),
|
||||
KEY `idx_housing_plot_reservation_expiry` (`ExpiresAt`),
|
||||
KEY `idx_housing_plot_reservation_neighborhood` (`NeighborhoodGuid`, `PlotID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Transaction type 2 is used when a house is relinquished. This only updates
|
||||
-- metadata/documentation for an already-existing column; no data is dropped.
|
||||
ALTER TABLE `housing_plot_transaction`
|
||||
MODIFY COLUMN `TransactionType` tinyint unsigned NOT NULL
|
||||
COMMENT '0=purchase, 1=move, 2=relinquish';
|
||||
@@ -0,0 +1,44 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_neighborhood_initiative` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`InitiativeID` int unsigned NOT NULL DEFAULT '0',
|
||||
`State` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`Progress` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`RewardTier` smallint unsigned NOT NULL DEFAULT '0',
|
||||
`StartedAt` bigint unsigned DEFAULT NULL,
|
||||
`EndsAt` bigint unsigned DEFAULT NULL,
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`NeighborhoodGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_activity_progress` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`ActivityID` int unsigned NOT NULL,
|
||||
`Progress` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`Target` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`Completed` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`NeighborhoodGuid`,`ActivityID`),
|
||||
KEY `idx_housing_initiative_activity` (`ActivityID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_member_progress` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`CharacterGuid` bigint unsigned NOT NULL,
|
||||
`ActivityID` int unsigned NOT NULL,
|
||||
`Progress` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`NeighborhoodGuid`,`CharacterGuid`,`ActivityID`),
|
||||
KEY `idx_housing_initiative_member_activity` (`ActivityID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_activity_log` (
|
||||
`ID` bigint unsigned NOT NULL AUTO_INCREMENT,
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`CharacterGuid` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ActivityID` int unsigned NOT NULL DEFAULT '0',
|
||||
`ProgressDelta` bigint NOT NULL DEFAULT '0',
|
||||
`CreatedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`),
|
||||
KEY `idx_housing_initiative_log_neighborhood` (`NeighborhoodGuid`,`ID`),
|
||||
KEY `idx_housing_initiative_log_character` (`CharacterGuid`,`ID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,22 @@
|
||||
-- Midnight 12.1.0.69587 Housing room-to-room connection persistence.
|
||||
-- Store one row per side so FHousingRoom_C::Doors can be rebuilt without
|
||||
-- inferring adjacency from mutable world transforms.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_room_connection` (
|
||||
`HouseGuid` varchar(64) NOT NULL,
|
||||
`RoomGuid` varchar(64) NOT NULL,
|
||||
`RoomComponentID` int unsigned NOT NULL,
|
||||
`AttachedRoomGuid` varchar(64) NOT NULL,
|
||||
`AttachedRoomComponentID` int unsigned NOT NULL,
|
||||
`OffsetX` float NOT NULL DEFAULT 0,
|
||||
`OffsetY` float NOT NULL DEFAULT 0,
|
||||
`OffsetZ` float NOT NULL DEFAULT 0,
|
||||
`RoomComponentType` tinyint unsigned NOT NULL DEFAULT 1,
|
||||
PRIMARY KEY (`RoomGuid`, `RoomComponentID`),
|
||||
UNIQUE KEY `uq_housing_room_connection_target` (`AttachedRoomGuid`, `AttachedRoomComponentID`),
|
||||
KEY `idx_housing_room_connection_house` (`HouseGuid`),
|
||||
CONSTRAINT `fk_hrc_room`
|
||||
FOREIGN KEY (`RoomGuid`) REFERENCES `housing_room_entity` (`RoomGuid`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_hrc_attached`
|
||||
FOREIGN KEY (`AttachedRoomGuid`) REFERENCES `housing_room_entity` (`RoomGuid`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_player_state` (
|
||||
`CharacterGuid` bigint unsigned NOT NULL,
|
||||
`ActiveNeighborhoodGuid` varchar(64) NOT NULL DEFAULT '',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`CharacterGuid`),
|
||||
KEY `idx_housing_initiative_active_neighborhood` (`ActiveNeighborhoodGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,37 @@
|
||||
-- Stage 20: reference-backed logical Room slot persistence.
|
||||
-- Existing rooms keep NULL because no safe historical TargetSlotIndex can be inferred
|
||||
-- from PositionX/Y/Z. New free-slot MOVE requests assign the logical slot explicitly.
|
||||
-- Use information_schema guards instead of ADD COLUMN IF NOT EXISTS for compatibility
|
||||
-- with the MySQL/MariaDB versions used by TrinityCore deployments.
|
||||
|
||||
SET @housing_layout_slot_column_exists := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'housing_room_entity'
|
||||
AND COLUMN_NAME = 'LayoutSlotIndex'
|
||||
);
|
||||
SET @housing_layout_slot_sql := IF(
|
||||
@housing_layout_slot_column_exists = 0,
|
||||
'ALTER TABLE `housing_room_entity` ADD COLUMN `LayoutSlotIndex` int unsigned NULL DEFAULT NULL AFTER `AttachmentFlags`',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE housing_layout_slot_stmt FROM @housing_layout_slot_sql;
|
||||
EXECUTE housing_layout_slot_stmt;
|
||||
DEALLOCATE PREPARE housing_layout_slot_stmt;
|
||||
|
||||
SET @housing_layout_slot_index_exists := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.STATISTICS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'housing_room_entity'
|
||||
AND INDEX_NAME = 'idx_housing_room_house_slot'
|
||||
);
|
||||
SET @housing_layout_slot_index_sql := IF(
|
||||
@housing_layout_slot_index_exists = 0,
|
||||
'ALTER TABLE `housing_room_entity` ADD KEY `idx_housing_room_house_slot` (`HouseGuid`, `LayoutSlotIndex`)',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE housing_layout_slot_index_stmt FROM @housing_layout_slot_index_sql;
|
||||
EXECUTE housing_layout_slot_index_stmt;
|
||||
DEALLOCATE PREPARE housing_layout_slot_index_stmt;
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_activity_definition` (
|
||||
`InitiativeID` int unsigned NOT NULL,
|
||||
`ActivityID` int unsigned NOT NULL,
|
||||
`CriteriaID` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`Target` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`Enabled` tinyint unsigned NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`InitiativeID`,`ActivityID`),
|
||||
KEY `idx_housing_initiative_activity_criteria` (`CriteriaID`),
|
||||
KEY `idx_housing_initiative_activity_enabled` (`InitiativeID`,`Enabled`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_progress_generation` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`InitiativeID` int unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`NeighborhoodGuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_completion` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`InitiativeID` int unsigned NOT NULL,
|
||||
`CompletedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`RewardAvailable` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`RewardClaimed` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`NeighborhoodGuid`,`InitiativeID`),
|
||||
KEY `idx_housing_initiative_completion_reward` (`RewardAvailable`,`RewardClaimed`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,21 @@
|
||||
-- Stage 21: persistent Room floor metadata for the manager-backed Housing graph.
|
||||
-- The active Stage 11 ADD path has always rejected FloorIndex != 0, so every
|
||||
-- pre-Stage-21 manager-backed room is safely floor 0. Geometry remains stored in
|
||||
-- PositionZ; FloorIndex is metadata until stairwell/cross-floor placement is enabled.
|
||||
-- Use information_schema guards for MySQL/MariaDB compatibility.
|
||||
|
||||
SET @housing_room_floor_column_exists := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'housing_room_entity'
|
||||
AND COLUMN_NAME = 'FloorIndex'
|
||||
);
|
||||
SET @housing_room_floor_sql := IF(
|
||||
@housing_room_floor_column_exists = 0,
|
||||
'ALTER TABLE `housing_room_entity` ADD COLUMN `FloorIndex` int NOT NULL DEFAULT 0 AFTER `LayoutSlotIndex`',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE housing_room_floor_stmt FROM @housing_room_floor_sql;
|
||||
EXECUTE housing_room_floor_stmt;
|
||||
DEALLOCATE PREPARE housing_room_floor_stmt;
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_criteria_checkpoint` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`InitiativeID` int unsigned NOT NULL,
|
||||
`CharacterGuid` bigint unsigned NOT NULL,
|
||||
`CriteriaID` int unsigned NOT NULL,
|
||||
`ActivityID` int unsigned NOT NULL,
|
||||
`LastCounter` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`LastMemberProgress` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`NeighborhoodGuid`,`InitiativeID`,`CharacterGuid`,`CriteriaID`),
|
||||
KEY `idx_housing_initiative_criteria_character` (`CharacterGuid`,`CriteriaID`),
|
||||
KEY `idx_housing_initiative_criteria_activity` (`InitiativeID`,`ActivityID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_expiration` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`InitiativeID` int unsigned NOT NULL,
|
||||
`ExpiredAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`NeighborhoodGuid`,`InitiativeID`),
|
||||
KEY `idx_housing_initiative_expiration_time` (`ExpiredAt`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_schedule` (
|
||||
`ScheduleID` bigint unsigned NOT NULL AUTO_INCREMENT,
|
||||
`InitiativeID` int unsigned NOT NULL,
|
||||
`RewardTier` smallint unsigned NOT NULL DEFAULT '0',
|
||||
`StartsAt` bigint unsigned NOT NULL,
|
||||
`EndsAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`Enabled` tinyint unsigned NOT NULL DEFAULT '1',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`ScheduleID`),
|
||||
KEY `idx_housing_initiative_schedule_window` (`Enabled`,`StartsAt`,`EndsAt`),
|
||||
KEY `idx_housing_initiative_schedule_initiative` (`InitiativeID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_rotation_state` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`GenerationID` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ActiveScheduleID` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`InitiativeID` int unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`NeighborhoodGuid`),
|
||||
KEY `idx_housing_initiative_rotation_schedule` (`ActiveScheduleID`),
|
||||
KEY `idx_housing_initiative_rotation_initiative` (`InitiativeID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_history` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`GenerationID` bigint unsigned NOT NULL,
|
||||
`ScheduleID` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`InitiativeID` int unsigned NOT NULL,
|
||||
`State` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`Progress` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`RewardTier` smallint unsigned NOT NULL DEFAULT '0',
|
||||
`StartedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`EndsAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`CompletedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ExpiredAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`RewardAvailable` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`RewardClaimed` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`ArchivedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`NeighborhoodGuid`,`GenerationID`),
|
||||
KEY `idx_housing_initiative_history_initiative` (`InitiativeID`,`ArchivedAt`),
|
||||
KEY `idx_housing_initiative_history_reward` (`RewardAvailable`,`RewardClaimed`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_activity_history` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`GenerationID` bigint unsigned NOT NULL,
|
||||
`ActivityID` int unsigned NOT NULL,
|
||||
`Progress` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`Target` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`Completed` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`NeighborhoodGuid`,`GenerationID`,`ActivityID`),
|
||||
KEY `idx_housing_initiative_activity_history_activity` (`ActivityID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_member_history` (
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`GenerationID` bigint unsigned NOT NULL,
|
||||
`CharacterGuid` bigint unsigned NOT NULL,
|
||||
`ActivityID` int unsigned NOT NULL,
|
||||
`Progress` bigint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`NeighborhoodGuid`,`GenerationID`,`CharacterGuid`,`ActivityID`),
|
||||
KEY `idx_housing_initiative_member_history_character` (`CharacterGuid`,`GenerationID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_activity_log_history` (
|
||||
`ArchiveID` bigint unsigned NOT NULL AUTO_INCREMENT,
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`GenerationID` bigint unsigned NOT NULL,
|
||||
`CharacterGuid` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ActivityID` int unsigned NOT NULL DEFAULT '0',
|
||||
`ProgressDelta` bigint NOT NULL DEFAULT '0',
|
||||
`CreatedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ArchiveID`),
|
||||
KEY `idx_housing_initiative_log_history_generation` (`NeighborhoodGuid`,`GenerationID`,`ArchiveID`),
|
||||
KEY `idx_housing_initiative_log_history_character` (`CharacterGuid`,`GenerationID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_reward_claim` (
|
||||
`ClaimID` bigint unsigned NOT NULL AUTO_INCREMENT,
|
||||
`NeighborhoodGuid` varchar(64) NOT NULL,
|
||||
`GenerationID` bigint unsigned NOT NULL,
|
||||
`InitiativeID` int unsigned NOT NULL,
|
||||
`CharacterGuid` bigint unsigned NOT NULL,
|
||||
`State` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`CreatedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`CompletedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ClaimID`),
|
||||
UNIQUE KEY `uq_housing_initiative_reward_generation` (`NeighborhoodGuid`,`GenerationID`),
|
||||
KEY `idx_housing_initiative_reward_claimant` (`CharacterGuid`,`State`,`ClaimID`),
|
||||
KEY `idx_housing_initiative_reward_initiative` (`InitiativeID`,`State`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_reward_catalog` (
|
||||
`RewardTier` smallint unsigned NOT NULL,
|
||||
`EntryID` int unsigned NOT NULL,
|
||||
`GrantType` tinyint unsigned NOT NULL,
|
||||
`AssetID` int unsigned NOT NULL,
|
||||
`Quantity` int unsigned NOT NULL,
|
||||
`Enabled` tinyint unsigned NOT NULL DEFAULT '1',
|
||||
`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`RewardTier`,`EntryID`),
|
||||
KEY `idx_housing_initiative_reward_catalog_enabled` (`RewardTier`,`Enabled`,`EntryID`),
|
||||
KEY `idx_housing_initiative_reward_catalog_asset` (`GrantType`,`AssetID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_reward_delivery` (
|
||||
`ClaimID` bigint unsigned NOT NULL,
|
||||
`EntryID` int unsigned NOT NULL,
|
||||
`GrantType` tinyint unsigned NOT NULL,
|
||||
`AssetID` int unsigned NOT NULL,
|
||||
`Quantity` int unsigned NOT NULL,
|
||||
`State` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`CreatedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`DeliveredAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ClaimID`,`EntryID`),
|
||||
KEY `idx_housing_initiative_reward_delivery_state` (`State`,`ClaimID`),
|
||||
KEY `idx_housing_initiative_reward_delivery_asset` (`GrantType`,`AssetID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
CREATE TABLE IF NOT EXISTS `housing_initiative_reward_execution` (
|
||||
`ClaimID` bigint unsigned NOT NULL,
|
||||
`EntryID` int unsigned NOT NULL,
|
||||
`GrantType` tinyint unsigned NOT NULL,
|
||||
`AssetID` int unsigned NOT NULL,
|
||||
`Quantity` int unsigned NOT NULL,
|
||||
`State` tinyint unsigned NOT NULL DEFAULT '0',
|
||||
`ObservedBefore` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ExpectedAfter` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`ObservedAfter` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`StartedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
`UpdatedAt` bigint unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ClaimID`,`EntryID`),
|
||||
KEY `idx_housing_initiative_reward_execution_state` (`State`,`ClaimID`),
|
||||
KEY `idx_housing_initiative_reward_execution_asset` (`GrantType`,`AssetID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,31 @@
|
||||
--
|
||||
-- Archaeology: per-character active dig sites.
|
||||
-- Persists the ActivePlayer ResearchSites / ResearchSiteProgress update fields across relog/restart,
|
||||
-- plus the site's current hidden find position so a relog cannot relocate an in-progress find.
|
||||
-- Ported from evry/master-track/archaeology 94eadb810a (findX/findY added by cb60da9643).
|
||||
--
|
||||
DROP TABLE IF EXISTS `character_research_site`;
|
||||
CREATE TABLE `character_research_site` (
|
||||
`guid` bigint unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier',
|
||||
`researchSiteId` smallint unsigned NOT NULL DEFAULT '0',
|
||||
`progress` int unsigned NOT NULL DEFAULT '0',
|
||||
`findX` float NOT NULL DEFAULT '0' COMMENT 'Current hidden find world X',
|
||||
`findY` float NOT NULL DEFAULT '0' COMMENT 'Current hidden find world Y',
|
||||
PRIMARY KEY (`guid`,`researchSiteId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Archaeology active dig sites per character';
|
||||
|
||||
DROP TABLE IF EXISTS `character_research_project`;
|
||||
CREATE TABLE `character_research_project` (
|
||||
`guid` bigint unsigned NOT NULL COMMENT 'Character GUID',
|
||||
`projectId` int unsigned NOT NULL COMMENT 'ResearchProject.db2 ID (current project for its branch)',
|
||||
PRIMARY KEY (`guid`,`projectId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Archaeology active research projects per character';
|
||||
|
||||
DROP TABLE IF EXISTS `character_research_history`;
|
||||
CREATE TABLE `character_research_history` (
|
||||
`guid` bigint unsigned NOT NULL COMMENT 'Character GUID',
|
||||
`projectId` int unsigned NOT NULL COMMENT 'ResearchProject.db2 ID',
|
||||
`firstCompleted` bigint NOT NULL DEFAULT '0' COMMENT 'Unix time of the first completion',
|
||||
`completionCount` int unsigned NOT NULL DEFAULT '1' COMMENT 'Times this project has been solved',
|
||||
PRIMARY KEY (`guid`,`projectId`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Archaeology completed research projects per character';
|
||||
@@ -0,0 +1,4 @@
|
||||
--
|
||||
-- Prey: the per-character table of the placeholder implementation is unused; the hunt state lives in the quest log
|
||||
--
|
||||
DROP TABLE IF EXISTS `character_prey_hunt`;
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE `mail` MODIFY COLUMN `checked` int UNSIGNED NOT NULL DEFAULT 0 AFTER `cod`;
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
build*/
|
||||
.directory
|
||||
.mailmap
|
||||
*.orig
|
||||
*.rej
|
||||
*~
|
||||
.hg/
|
||||
*.kdev*
|
||||
.DS_Store
|
||||
CMakeLists.txt.user
|
||||
*.bak
|
||||
*.patch
|
||||
*.diff
|
||||
*.REMOTE.*
|
||||
*.BACKUP.*
|
||||
*.BASE.*
|
||||
*.LOCAL.*
|
||||
nbproject/*
|
||||
.idea/*
|
||||
.browse.VC*
|
||||
.vscode
|
||||
cmake-build-*/
|
||||
.vs
|
||||
@@ -1,35 +0,0 @@
|
||||
REPLACE INTO `bot_templates` (`entry`, `bot_class`, `bot_race`, `companion_spell`, `chatter_type`, `gender`, `pet_source`) VALUES
|
||||
|
||||
(62913,6,1,0,2,0,0),
|
||||
(4146,7,3,0,10,1,1999),
|
||||
(50714,3,3,0,11,1,0),
|
||||
(50715,3,3,0,1,0,0),
|
||||
(50690,3,3,0,2,0,0),
|
||||
(48615, 4, 10, 0, 0, 7, 0), -- undead / rogue / male
|
||||
(48618, 7, 10, 0, 1, 14, 1553), -- undead / hunter / female / pet 1553
|
||||
(48616, 1, 10, 0, 1, 3, 0), -- undead / warrior / female
|
||||
(48613, 3, 10, 0, 1, 18, 0), -- undead / mage / female
|
||||
(48614, 2, 10, 0, 1, 11, 0), -- undead / priest / female
|
||||
(48612, 8, 10, 0, 1, 5, 0), -- undead / warlock / female
|
||||
(38911, 7, 10, 0, 0, 20, 39014), -- undead / hunter / male / pet 39014
|
||||
(2123, 2, 10, 0, 0, 9, 0), -- undead / priest / male
|
||||
(2121, 3, 10, 0, 1, 16, 0), -- undead / mage / female
|
||||
(2126, 8, 10, 0, 0, 4, 0), -- undead / warlock / male
|
||||
(63272, 10, 7, 0, 1, 12, 0), -- pandaren / monk / female
|
||||
(2122, 4, 10, 0, 0, 8, 0), -- undead / rogue / male
|
||||
(2119, 1, 10, 0, 0, 15, 0), -- undead / warrior / male
|
||||
(49958, 7, 10, 0, 0, 2, 49960), -- undead / hunter / male / pet 49960
|
||||
(49715, 2, 10, 0, 0, 19, 0), -- undead / priest / male
|
||||
(49720, 1, 10, 0, 0, 6, 0), -- undead / warrior / male
|
||||
(49870, 4, 10, 0, 1, 13, 0), -- undead / rogue / female
|
||||
(49718, 8, 10, 0, 1, 1, 0), -- undead / warlock / female
|
||||
(49716, 3, 10, 0, 0, 17, 0), -- undead / mage / male
|
||||
(49791, 3, 4, 0, 0, 10, 0), -- gnome / mage / male
|
||||
(49808, 9, 2, 0, 1, 3, 0), -- dwarf / shaman / female
|
||||
(49781, 1, 2, 0, 0, 8, 0), -- dwarf / warrior / male
|
||||
(49806, 7, 2, 0, 1, 15, 1553), -- dwarf / hunter / female
|
||||
(49793, 6, 2, 0, 0, 5, 0), -- dwarf / paladin / male
|
||||
(49786, 3, 4, 0, 0, 12, 0), -- gnome / mage / male
|
||||
(49782, 4, 2, 0, 1, 20, 0), -- dwarf / rogue / female
|
||||
(49785, 2, 2, 0, 1, 7, 0); -- dwarf / priest / female
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
REPLACE INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
|
||||
(191909, 'R.A.D. stands for "Rannans Awesome Device" that can do anything. Almost!', '', '', '', 'R.A.D.', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259, 7889, 3711, 3161, 0, 0, 0, 0, 0, 0, 73, 7, 36, 49, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, -1, -1, 289406, 1447033, 1, 1, 0.9919, 0, 8192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, -1, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 40, 3, 4, 68974);
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
--
|
||||
-- ItemConversion.db2 / ItemConversionEntry.db2 (Matrix Catalyst item conversion): hotfix mirrors.
|
||||
--
|
||||
DROP TABLE IF EXISTS `item_conversion`;
|
||||
CREATE TABLE `item_conversion` (
|
||||
`ID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`Unknown920` INT NOT NULL DEFAULT '0',
|
||||
`ItemBonusTreeID` INT NOT NULL DEFAULT '0',
|
||||
`ItemLogicalCostGroupID` INT NOT NULL DEFAULT '0',
|
||||
`AlternateItemLogicalCostGroupID` INT NOT NULL DEFAULT '0',
|
||||
`PlayerConditionID` INT NOT NULL DEFAULT '0',
|
||||
`VerifiedBuild` INT NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`,`VerifiedBuild`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `item_conversion_entry`;
|
||||
CREATE TABLE `item_conversion_entry` (
|
||||
`ID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`ItemID` INT NOT NULL DEFAULT '0',
|
||||
`ItemConversionID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`VerifiedBuild` INT NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`,`VerifiedBuild`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -1,46 +0,0 @@
|
||||
--
|
||||
-- Mythic+ season DB2 hotfix mirrors: MythicPlusSeasonKeyFloor (Resilient Keystone floor),
|
||||
-- MythicPlusSeasonRewardLevels (Great Vault reward item levels + ActivityTierID),
|
||||
-- MythicPlusSeasonTrackedAffix / MythicPlusSeasonTrackedMap (season affix set / dungeon pool).
|
||||
--
|
||||
DROP TABLE IF EXISTS `mythic_plus_season_key_floor`;
|
||||
CREATE TABLE `mythic_plus_season_key_floor` (
|
||||
`ID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`KeyFloor` INT NOT NULL DEFAULT '0',
|
||||
`PlayerConditionID` INT NOT NULL DEFAULT '0',
|
||||
`DisplaySeasonID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`VerifiedBuild` INT NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`,`VerifiedBuild`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `mythic_plus_season_reward_levels`;
|
||||
CREATE TABLE `mythic_plus_season_reward_levels` (
|
||||
`ID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`MythicPlusSeasonID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`ActivityTierID` INT NOT NULL DEFAULT '0',
|
||||
`DifficultyLevel` INT NOT NULL DEFAULT '0',
|
||||
`WeeklyRewardLevel` INT NOT NULL DEFAULT '0',
|
||||
`EndOfRunRewardLevel` INT NOT NULL DEFAULT '0',
|
||||
`VerifiedBuild` INT NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`,`VerifiedBuild`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `mythic_plus_season_tracked_affix`;
|
||||
CREATE TABLE `mythic_plus_season_tracked_affix` (
|
||||
`ID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`KeystoneAffixID` INT NOT NULL DEFAULT '0',
|
||||
`BonusRating` INT NOT NULL DEFAULT '0',
|
||||
`Field_9_1_0_38511_004` INT NOT NULL DEFAULT '0',
|
||||
`DisplaySeasonID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`VerifiedBuild` INT NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`,`VerifiedBuild`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `mythic_plus_season_tracked_map`;
|
||||
CREATE TABLE `mythic_plus_season_tracked_map` (
|
||||
`ID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`MapChallengeModeID` INT NOT NULL DEFAULT '0',
|
||||
`DisplaySeasonID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`VerifiedBuild` INT NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`,`VerifiedBuild`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -1,13 +0,0 @@
|
||||
--
|
||||
-- ItemLogicalCost.db2 hotfix mirror (item upgrade step costs: slot mask -> ItemExtendedCost).
|
||||
--
|
||||
DROP TABLE IF EXISTS `item_logical_cost`;
|
||||
CREATE TABLE `item_logical_cost` (
|
||||
`ID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`InventoryTypeSlotMask` INT NOT NULL DEFAULT '0',
|
||||
`Flags` INT NOT NULL DEFAULT '0',
|
||||
`ItemExtendedCostID` INT NOT NULL DEFAULT '0',
|
||||
`ItemLogicalCostGroupID` INT UNSIGNED NOT NULL DEFAULT '0',
|
||||
`VerifiedBuild` INT NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`,`VerifiedBuild`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -1,26 +0,0 @@
|
||||
|
||||
--
|
||||
-- Table structure for table `item_salvage_loot`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `item_salvage_loot`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `item_salvage_loot` (
|
||||
`ID` int NOT NULL DEFAULT '0',
|
||||
`SalvagedItemID` int NOT NULL DEFAULT '0',
|
||||
`ItemSalvageID` int NOT NULL DEFAULT '0',
|
||||
`ResultingTreasureID` int NOT NULL DEFAULT '0',
|
||||
`VerifiedBuild` int NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ID`,`VerifiedBuild`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `item_salvage_loot`
|
||||
--
|
||||
|
||||
LOCK TABLES `item_salvage_loot` WRITE;
|
||||
/*!40000 ALTER TABLE `item_salvage_loot` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `item_salvage_loot` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,5 +0,0 @@
|
||||
-- Spell Summon Tarindrella (92238)
|
||||
DELETE FROM `spell_effect` WHERE `ID`=96178;
|
||||
INSERT INTO `spell_effect` (`ID`, `EffectAura`, `DifficultyID`, `EffectIndex`, `Effect`, `EffectAmplitude`, `EffectAttributes`, `EffectAuraPeriod`, `EffectBonusCoefficient`, `EffectChainAmplitude`, `EffectChainTargets`, `EffectItemType`, `EffectMechanic`, `EffectPointsPerResource`, `EffectPosFacing`, `EffectRealPointsPerLevel`, `EffectTriggerSpell`, `BonusCoefficientFromAP`, `PvpMultiplier`, `Coefficient`, `Variance`, `ResourceCoefficient`, `GroupSizeBasePointsCoefficient`, `EffectBasePoints`, `ScalingClass`, `TargetNodeGraph`, `EffectMiscValue1`, `EffectMiscValue2`, `EffectRadiusIndex1`, `EffectRadiusIndex2`, `EffectSpellClassMask1`, `EffectSpellClassMask2`, `EffectSpellClassMask3`, `EffectSpellClassMask4`, `ImplicitTarget1`, `ImplicitTarget2`, `SpellID`, `VerifiedBuild`) VALUES
|
||||
(96178, 0, 0, 1, 28, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 49480, 3322, 0, 0, 0, 0, 0, 0, 48, 0, 92238, 68974); -- 28 (SUMMON)
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,3 +0,0 @@
|
||||
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x4DB743E6;
|
||||
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xE8152640;
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user