1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
|
Date Added
-------- Read Changelog-SVN.txt for the newer SVN entries--------
2006/04/30
* Skills with the move_enable state won't get the walkdelay increased on a
skill-cast. [Skotlex]
* Some corrections in the clif_parse_whisper function which should fix
crashes in the chat_log under "certain" conditions. [Skotlex]
* Fixed dangling pointer in pc_steal_item (missing lines) causing crash. [Lance]
* Fixed lack of initialization in chrif_authreq causing crashes in chrif_authok. [Lance]
* Fixed a logic error that was likely the cause of pet loot drops not
working. [Skotlex]
* If someone is expulsed from a guild while the guild storage is open, it
will be auto-closed now. [Skotlex]
* Modified battle_consume_ammo to prevent consuming multiple arrows on
AC_SHOWER. [Skotlex]
* Readded script command skillpointcount... [Skotlex]
* Fixed and enabled STEAL skill [Lupus]
* Implemented NJ_SHADOWJUMP. [blackhole89]
* Moved the soul-drain code to skill_counter_additionaleffect [Skotlex]
* Fixed fake NPC missing code. Thanks to Skotlex for pointing out. [Lance]
2006/04/29
* Changed the HT_DETECTING method from invoking clif_changetraplook to
clif_skill_setunit since in the first the client ignores the fact that it
is now a trap (rendering skills like Remove Trap useless). [Skotlex]
* added script command skillpointcount. Returns total amount of skill
points a char has (the value returned is the same that SkillPoint would
have after invoking a skill reset) [Skotlex]
* Modified Defender. Speed reduction is 35-5*lv%, damage reduction on
devoted chars is 5+5*lv%. These values are custom, but should be closer to
"reality" than what we had. [Skotlex]
* When you have the wrong ammo type equipped, the equip arrows first
message will be sent, as suggested by Haplo [Skotlex]
* Changed checks of item's identify field from 0/1 to 0/non-zero [Skotlex]
* Corrected TK_JUMPKICK to place the caster on the tile next to the target
rather than on top of it. [Skotlex]
* Small change in pc_calc_skilltree which should fix the infinite loop...
[Skotlex]
* Added @noask command: enable/disable deals/invites autorejecting.
[LuzZza]
* Removed unreferenced local variable in pc.c [Lance]
* Reverted npc_checknear to exclude check for class_ -1.
* Removed npc_checknear in npc_buysellsel, npc_selllist and npc_buylist
as enough preventive measures of hacking are already implemented.
[Lance]
* Updated STEAL skill (WIP), added a battle config option: [Lupus]
'skill_steal_max_tries' to set max number of stealing tries.
It could help to fix stealing exploit on mobs with few drops
* Added support for packet 0x229 (clif_changeoption). [Skotlex]
* Bumped up PACKETVER to 7 to enable use of packets 0x229 and 0x22c
[Skotlex]
* Added missing next/prev initialization in chat-creation. [Skotlex]
* Added missing sql-files/mob_db.sql... somehow it was missing from the
mob_db update. [Skotlex]
* Clones can't be class-changed now [Skotlex]
* Readded the class == -1 distance check in npc_checknear [Skotlex]
* Replaced check sd->trade_partner for sd->state.trading in clif.c [Skotlex]
* Using malloc for memory allocations that doesn't need to be pre-initialized.
* Eliminated initializations for pointers returned by calloc.
* Moved grfio_final to do_init since it's not used after server boot.
* Optimized scripts to return CONSTSTR instead of allocating memory just to return
a constant string. Some buildin functions still need work.
* Disabled graph since it doesn't work yet. [Lance]
2006/04/28
* Modified the mob_db structure. The mvp related columns were moved to
before the drops, amount of drops increased from 10 to 15. [Skotlex]
* Updated sql-files/mob_db.sql (and mob_db2.sql) to latest. [Skotlex]
* Modified HP conversion so that it fails when you don't have enough Hp.
[Skotlex]
* Cleaned up Strip skills so that the skill animation will only show when
something was stripped. [Skotlex]
* Added constant MAX_MOB_DROP to specify the amount of normal drops a mob
has. The mob_db reading code will automatically parse the file according to
the number of drops expected (the Mexp/Mper and MVP item rewards must still
be after the normal drops). Set to 10 currently. [Skotlex]
* Mobinfo's drop list will use jName rather than Name for drop names.
[Skotlex]
* Some cleaning of the ASC_BREAKER code in skill_attack [Skotlex]
* Modified skill_attack so that all skills with amotion get their damage
delayed (should fix mob walk-teleport issues) [Skotlex]
* Added function stristr to strlib.c, used by mob.c and item_db.c for
case-insensitive seeks. [Skotlex]
* Removed the sending of the online guild list when you log-on, may fix the
"getting stuck" problem. [Skotlex]
* Added battle config default_skill_delay. Specifies the default skill
delay for most skills, it is also applied as a walkdelay (total skill
walkdelay is default_skill_delay + that skill's can't walk delay) [Skotlex]
2006/04/27
* skill_castend_id and skill_castend_pos will trigger unit_stop_walking
with flag 1 (fix pos) rather than none. Should fix some skills making you
appear moving while doing them. [Skotlex]
* Modified clif_skill_nodamage to allow for a NULL source. This is to
simplify code related to AL_HEAL/MG_RECOVERY effects where someone shows a
healing value, but there's no "caster" in sight (Pitcher skills, Blood
Drain, Kaahi) [Skotlex]
* Updated Kaahi to use clif_skill_nodamage to display amount healed.
[Skotlex]
* Added unlocking ud.target on mob_unlocktarget, fixes mobs chasing you
around while cloaked. [Skotlex]
* Changed the default rate of clone mob skills to 5% modified by
mob_skill_rate setting. [Skotlex]
* Applied some changes in unit.c to make mobs pick chase paths as they
should. [Skotlex]
* unit_remove_map will reset attackable-time, canact and canwalk delays.
[Skotlex]
* Added a timer in clif.c so that walk requests that are done while your
cannot move duration will be delayed and processed afterwards (as long as
the walk delay remaining is less than 2000 ms) [Skotlex]
* Some changes in the slave skill conditions. All their skills are
triggered at a 10% chance now. [Skotlex]
* Changed in the behaviour of wedding skills, they should be getting all
the land-skill checks now. [Skotlex]
* Small change in @commands, may fix the null-pointer error. [Skotlex]
* Changebase script command will also refresh the weapon sprites (in case
you changed into Wedding/Xmas class) [Skotlex]
* Small change in the pet_ai that should stop the "strange" catch-up
behaviour of pets when you are much faster than them. [Skotlex]
* Corrected the unequip script of the wedding dress/tuxedo (it should be
Class, not bClass), item_db.sql was also corrected. [Skotlex]
* Small change in the pet_ai that should stop the "strange" catch-up
behaviour of pets when you are much faster than them. [Skotlex]
* Now when you do @baselevel to reduce your level and you don't have enough
stat points to deduct, you will get a stat-reset and THEN your stat points
will be reduced. [Skotlex]
* Added at command @commands, displays the list of commands available to
you. Defaults to level 1. [Skotlex]
* Added the missing clif_* calls to make changebase's view-class change
update on the client. [Skotlex]
* Added battle config hide_woe_damage which hides damage on woe maps
packet-wise (battle/client.conf). [Skotlex]
* Fixed base-level up @ command giving stat points instead of taking them
away when leveling down. [Skotlex
* Some small change in pc_heal which would let you have negative SP if you
were killed on the same pc_heal invocation. [Skotlex]
* Added 3rd argument to script command 'setmapflag' thx to Jbain [Lupus]
setmapflag "prontera.gat",mf_pvp;
setmapflag "prontera.gat",mf_jexp,100;
Now you can dinamically increase/decrease EXP rate on set maps
e.g. you can lower EXP on the cmd_fild02 ^_-
2006/04/26
* Updated sql-files/item_db.sql to current. [Skotlex]
* Item use interval is set to a default of 100ms now since that should be
low enough to not bother real players and it should cap somehow bot/macro
spams. [Skotlex]
* Updated Full Buster so that the can't act delay carries on to the weapon
attack delay and can't use item intervals. [Skotlex]
* Added script command getbattleflag to retrieve the current value of a
battle_config switch. [Skotlex]
* When Taekwons level up they get Bless and Agi Up level 10 instead of the
S.Novice bonuses. [Skotlex]
* Increased number of hits for TK kicks. 3 hits for TK_COUNTER and
TK_TURNKICK, 2 hits for TK_STORMKICK and TK_DOWNKICK (until further
information arrives) [Skotlex]
* Modified how changebase script command works, the change caused by it is
permanent (at least until logout). Updated the Tuxedo and Wedding dress to
use onequip/onunequip scripts to change the look. [Skotlex]
* Changed the skill_wall_check to use shoot-path seeking. May fix
skill_wall_check setting. [Skotlex]
* Fixed typo in skill.c: skill_clear_group [Lance]
2006/04/25
* Added battle config traps_setting to determine how traps should behave.
With &1 traps are invisible if you didn't see them get set up. With &2
traps will be removed after changing maps. The default is 2.
(battle/skill.conf) [Skotlex]
* Cleaned up a bit the implementation of SC_MAXIMIZEPOWER, SC_CHASEWALK and
SC_CLOAKING to prevent infinite looping timers. [Skotlex]
* Fixed NPC_SUICIDE dropping items. [Skotlex]
* Moved the mapflag skill restrictions from skill_checkcondition to
skillnotok, this makes auto-spells not work in maps where they aren't
allowed. [Skotlex]
* Added TK_HIGHJUMP to skillnotok, the skill is blocked in noteleport maps
(with the exception of gvg ones) [Skotlex]
* Modified and simplified the random item group format. It now is
<GroupID>,<ItemID>,<Rate>, where Rate normally is 1, greater numbers is the
equivalent of adding the line multiple times. Also has support for import
lines. [Skotlex]
* Added constants to identify all item groups to db/const.txt [Skotlex]
* Cleaned up and updated item_db to use these new constants (warning:
item_db.sql needs to be updated! Sql-db users should not update until this
file is updated) [Skotlex]
2006/04/24
* Simplified npc_gettimerevent_tick so that it should return a tick value
even after the last ontimer label has been reached. [Skotlex]
* All GMs will be sent to the char server through packet 0x2aff now.
(previously hidden gms were not sent to the char-server as online) [Skotlex]
* Made mob_searchname compare versus sprite, name and jname now. [Skotlex]
* Added script command escape_sql. It will return an escaped string for use
in the sql_query script command (in case you want to use input of players
in your queries). [Skotlex]
* Removed the skill packet from TK_RUN as the client ignores the walkok
packet sent right after it. It displays just fine on the client now. [Skotlex]
* Added DNS Blocklist support. Set in login_athena.conf.
I'll make it more customizable tomorrow, I coded it pretty bad. [Zido]
* Corrected mob_spawn_delay/boss_spawn_delay/plant_spawn_delay settings
(they were named rate rather than delay in monster.conf) [Skotlex]
* Cleaned up @grind2, @monsterbig, @monstersmall. [Skotlex]
* Modified override_mobs_names to work only on the mob spawn files instead
of everywhere (so now script-summoned mobs should keep their custom names
intact) [Skotlex]
* Added logging of deleted characters when the char_log is enabled.
[Skotlex]
* Fixed skill_delayfix not altering delay at all after you reached 150.
[Skotlex]
* Applied ers to pet loot drops and cleaned up the pet loot drop function.
[Skotlex]
* Mob skill state MSS_ANY won't include MSS_DEAD now. [Skotlex]
* Added mob skill state MSS_ANYTARGET ("anytarget") which means any state
(except dead) on which the mob has a target set. [Skotlex]
2006/04/23
* Added new column to mob_db Sprite_Name to hold the mob's sprite name.
Columns Name and JName now hold the mob's english and kro names
respectively. [Skotlex]
- Currently both Name and Jname have the KRO names, so someone will have to
update the Name column with the english Mob Names.
* Updated mob_db.sql and mob_db2.sql to latest. [Skotlex]
* Added battle_config option override_mob_names to make the spawned mob use
the mob_db names instead of the specified names in the spawn files.
Defaults to 0, 1 is to use Name column while 2 is to use the JName column
(see battle/monster.conf) [Skotlex]
* Idle skills won't trigger while the mob is walking (that is for the state
"walk") [Skotlex]
* Idle skills will now trigger each IDLE_SKILL_INTERVAL iterations (10
currently) [Skotlex]
* Added support for walk packet 0x22c, will be used when PACKETVER is set
to 7 or above (packetver is still set to 6 for now) [Skotlex]
* Normal walking will now also trigger mob skills (due to the walk skill
condition) [Skotlex]
* additional experience multiplicator as mapflags which is based off battle.conf
so with battle.conf rates 200 and "mapflag <jexp/bexp> 200" it will be 4x
on this specific map and 2x anywhere else [Jbain]
2006/04/22
* Angelus was giving more bonus than it should. Fixed. [Zido]
* Added Option constants for Carts, fixed OPTION_FLYING (it conflicts with
OPTION_XMAS?) [Skotlex]
* Updated clif.c to check for OPTION_WEDDING|OPTION_XMAS instead of view
class to block attacks and skill usage. [Skotlex]
* Cleaned up change-cart code. [Skotlex]
* Modified SC_XMAS to not change your view anymore and only set the proper
option value (OPTION_XMAS) [Skotlex]
* Cleaned up the code regarding char_gm reading. [Skotlex]
* Changed the option field to unsigned short to make room for the higher
values. [Skotlex]
2006/04/21
* SC_CLOAKING's val4 now holds whether cloaking ends or not on attack.
[Skotlex]
* Implemented NPC_INVISIBLE, it starts SC_CLOAKING with val4 set to 1.
[Skotlex]
* Updated the HP/SP leech structures to have race-data attached to them.
[Skotlex]
* Merged all leeching code to new battle_drain function. [Skotlex]
* Simplified a bit the code for Signum Crucis [Skotlex]
* Added script bonuses: [Skotlex]
bonus3 bHPDrainRateRace,<Race>,<Activation Rate>,<Drain %>;
bonus3 bSPDrainRateRace,<Race>,<Activation Rate>,<Drain %>;
bonus2 bHPDrainValueRace,<Race>,<Value>;
bonus2 bSPDrainValueRace,<Race>,<Value>;
* Fixed items not really getting unequipped when they should. [Skotlex]
2006/04/20
* Fixed the equip/unequip scripts not triggering for compounded cards.
[Skotlex]
* Char server will now ignore packet 0x65 for already authentified
accounts. [Skotlex]
* Added two columns to item_db: equip_script and unequip_script are scripts
that are executed once when the corresponding item is equipped or
unequipped respectively. [Skotlex]
* Removed bonuses bDamageWhenUnequip, bLoseSPWhenUnequip as they are no
longer needed. [Skotlex]
* Updated sql-files/item_db.sql with latest. [Skotlex]
* Fixed buffer overflow in clif_MainChatMessage. It now prints a Debug
message with the offending line. [Skotlex]
* Cleaned up a bunch of GS/NJ skills [Skotlex]
* Fixed Gatling Fever crashing server when used by non players. [Skotlex]
* Added support for n to specify minutes to @charban. [Skotlex]
* Added state.trading to specify when a trading has started. Now you should
be able to walk around until the trade is either rejected or started.
[Skotlex]
* Armor defense is no longer reduced by the amount of characters targetting
you. [Skotlex]
2006/04/19
* Updated the doc/script_commands.txt documentation in regards to npc mob
spawn lines. [Skotlex]
* Added back the "you can't walk delay while attacking" to
unit_attack_timer, now when you want to walk during your attack animation,
you will only stop attacking, you will have to click again to move.
[Skotlex]
* Fixed a pair of wrong mapflag lines in nopvp.txt [Skotlex]
* Removed the max cap of autoloot so you are now allowed to set autoloot
values above 100. [Skotlex]
* Initialized w1/w2/w3/w4 before reading each npc line to avoid sending
unread values to the parsers (for example, if w4 has a value in one line
and none on the next, it will be parsed with the previous value of w4 on
the following lines), this could cause serious problems with mapflags and
the recent "off" addition. [Skotlex]
* Updated getpartymember to receive an int which specifies what to
retrieve. 0: Character names (array $@partymembername$), 1 character char
ids (array $@partymembercid), 2 character account ids (array
$@partynameaid). By default it returns party member names. [Skotlex]
* Updated script_commands.txt with the updated behaviour of getpartymember.
[Skotlex]
2006/04/18
* Fixed a typo in map_search_freecell which was returning incorrect cells
according to the ranges given. [Skotlex]
* A tiny fix to @kami [Zido]
* The IRC Bot can now autojoin when kicked, set in irc_athena. [Zido]
* Added @who to the IRC Bot, outputs all online characters. [Zido]
* Changed the memory manager fatal errors when allocating memory to print
out the size request as well as the file and line where they originated.
[Skotlex]
* Fixed the delete_timer (@summons, alchemist plants) not invoking
unit_free, hence causing memory leaks and the like. [Skotlex]
* Applied jA's patch to fix a bug in the scripting engine in regards to
priority of operators. Thanks to End of Exam for the information. [Skotlex]
* Removed message 592 from trade.c [Skotlex]
* Added support for disabling mapflags on a mapflag line: [Skotlex]
comodo.gat mapflag nomemo <- turns on nomemo mapflag
comodo.gat mapflag nomemo off <- turns off nomemo mapflag
* Removed mapflag nopvp due to the above change. [Skotlex]
* Cleaned up and optimized the restricted/zones mapflag. Restricted cards
will just not work in disallowed maps rather than blocking the compounded
equipement from being used. [Skotlex]
* Converted the format of the battle conf files to windows format [Playtester]
* Shinomori's method (kinda) of remote script execution with interaction. [Lance]
2006/04/17
* skill_clear_unitgroup is now invoked in unit_remove_map only on death if
the applicable battle setting is set. [Skotlex]
* Changed setting clear_unit_ondeath to a type 4 (bl-based) which defaults
to BL_ALL. [Skotlex]
* Fixed Absorb spirit sphere not working on mobs, thanks to Vividd.
[Skotlex]
* Cleared the ud->target on pc_stop_attack to prevent attack resuming an
other such oddities. [Skotlex]
* I seem to have broken @kami with my last commit, fixed. [Zido]
* Added @users to the IRC Bot, outputs the # of users online. [Zido]
* The baby check when wearing a tuxedo/dress now works [Zido]
* Fixed pet being incorrectly removed when it had intimacy 0. [Skotlex]
* Some cleanup in the TK_RUN related code. [Skotlex]
* Added variable walk_count to unit_data to be use as a counter for cells
walked for walk-triggered skills, on-chase skill triggers are now done
every 5 cells (it is the closest value that makes the average mob trigger a
chase skill every second). [Skotlex]
* mob_skill_db needs updating since it's current use rates for chase-skills
assume the trigger is every 100ms rather than every second.
* Fixed TK_RUN having a cast-bar when attempting to stop-running and
generating timer_delete errors when halting as well. [Skotlex]
* Clearing the dummy npc after fooling the client. [Lance]
* Updated DLLS. Please DO NOT update the libs from now on
(except if mySQL has newer builds which are not compatible
with client DLL). [Lance]
2006/04/16
* Fixed the first call to the walk timers having the tick interval halved,
which made all walking timers be off by half cell with the actual position
displayed client-side (so everyone reaches destination cell server-side
half-cell before the client). [Skotlex]
* Fixed being halted when you are walking so that: 1. Your position
refreshed on the screen is correct (the current tile if you haven't reached
at least half path between the current and next tile and the next tile
otherwise) and 2. If you are halted before walking even one cell, you will
be moved to the next cell (to effectively prevent stun-locking). [Skotlex]
* Modified @monster command to use map_search_freecell (prevents mobs
spawning on non-walkable tiles) [Skotlex]
* Modified @nuke to invoke skill_cast_nodamage_id instead of the damage_id
version (fixes sprite and splash damage for the skill) [Skotlex]
* Fixed char-sql server still reading the old lanconfig format rather than
the new one. [Skotlex]
* Removed water_height.txt reading (since it is always done from the rsw
now) [Skotlex]
* Fixed a possible crash in grfio_find_file [Skotlex]
* Corrected water-level-reading to account for a return of null from the
previously mentioned function [Skotlex]
* Fixed mysql ping setting being in minutes rather than hours. [Skotlex]
* Removed npc_event_sub from npc.h and moved it to npc.c [Skotlex]
* Cleaned up #warp to prevent spitting non-walkable tile warnings. [Skotlex]
* Changed the meaning of msg_athena 2, it is now "invalid target cell,
randomizing". [Skotlex]
* Fixed wrong check of Deluge + Suiton which broke the water-requirement
check for skills. [Skotlex]
* Cleared ud->target on remove-map, it should fix the phantom mob sprite
issue. [Skotlex]
* Temperory fixed compiler warnings/errors. Please compile before commiting.
[Lance]
* Added pcre3.dll, zlib1.dll and libmysql.dll. DO NOT DELETE THEM.
(Required by systems without these DLLs preinstalled) [Lance]
* Experimental npc_event_doall_sub with queue and npc_id allocation when needed.
[Lance]
* Added warnings to npc_scriptcont for easier debugging. [Lance]
* Missing lines in npc_parse_script! [Lance]
* Sending fake npc for inputs and menus for NPC without map coordinates. [Lance]
2006/04/15
* Fixed upgrade_svn5902.sql, thanks to Koshiro for pointing it out.
[Skotlex]
* Updated skill_attack to allow characters not on a map to attack (enables
traps and the like to work when they aren't cleared on the character's
death) [Skotlex]
* Removed use of packet 0x1c9 for skill_unit display, except for Graffiti
(which is the only unit which requires the much larger packet) [Skotlex]
* clif_getareachar_skillunit will send the unit_id of UNT_ATTACK_SKILLS for
traps (this is to prevent them from displaying on the client) [Skotlex]
* Updated libs, Updated vc project files, And deleted uneeded DLLs.
Credits to ALZ. [Zido]
2006/04/14
* Updated sql-files/mob_db.sql to current. [Skotlex]
* Fixed being able to do all the stuff you shouldn't be able to during the
petrifying state. [Skotlex]
2006/04/13
* Updated sql-files/item_db.sql to current. [Skotlex]
* Added an Info message when pinging the SQL servers. [Skotlex]
* Fixed crash when looking for SC_MIRACLE in battle_calc_weapon_attack
[Skotlex]
* Some more standard C code cleanups. [Skotlex]
* atcommand_param and charcommand_stats to make them standard C (so it may
compile with the Borland C). Also cleaned atcommand_param against
overflows. [Skotlex]
2006/04/12
* Removed the noteleport mapflags from two juperos maps [MasterOfMuppets]
- added the nopenalty mapflag to hugel.gat
* Halved the aftercast delay of auto-casted spells. [Skotlex]
* Allowed auto-spells to retrigger themselves. [Skotlex]
* Changed slave chasing from using unit_walktobl to map_search_freecell +
unit_walktoxy, since the previous behaviour makes all slaves always end up
on the same cell. [Skotlex]
* Removed area of effect of Assumptio. [Skotlex]
* Added "can't act" delay update when an auto-spell triggers. [Skotlex]
* Expanded the warp warning so that it also warns when a warps takes you to
a non-walkable tile. [Skotlex]
* Simplified the mob-drops structure by using a single timer with a linked
list of drops instead of separate timers for each drop. [Skotlex]
2006/04/11
* Added special_state changebase to identify when a character has a
special-view associated with some equipment to correctly revert the look
when you take off said equipment (fixes tuxedo/wedding dress when you use
modify_wedding_display: yes) [Skotlex]
* Removed the piece of code that "guesses" that job classes between 24 and
68 are advanced classes from mob_avail reading since they conflict with
NJ/GS. Use the correct class numbers from now on! [Skotlex]
* Cleaned up implementation of BlastMine and Claymore Trap. [Skotlex]
* Added Freezing trap information to battle_calc_weapon attack. [Skotlex]
* Merged the can't walk delay code into the weapon-damage delay one, means
less timers for attacks, as well as fixing the ghost-mob issue that
reappeared recently. [Skotlex]
* Traps will not be displayed when you walk within their range. [Skotlex]
* Added HT_DETECTING revealing traps. [Skotlex]
* Added ers handling for skill_timerskill structures. [Skotlex]
* You don't get critical'ed when in counter-attack stance anymore. [Skotlex]
* Changed the default counter-type to "always critical". [Skotlex]
* Implemented use of ers for skill_unit_groups to reduce memory usage.
* Note that it's NOT TESTED yet. Use with caution, at least some obvious
bugs are expected to be found... [Skotlex]
* Modified battle_check_range to do a path-check on distances less than 2
(rather than 3) to avoid being able to hit through walls. [Skotlex]
* Modified unit_walktoxy_sub to always move at least one cell when a large
chaserange is specified to prevent possible infinite loops where
attack_timer says you are not within range, but unit_walktoxy says you are.
[Skotlex]
* Fixed Looted items always dropping in quantities of one. [Skotlex]
* Removed the check that deletes Magnus Exorcism cells after they hit once.
[Skotlex]
2006/04/10
* Temperory replaced strtoll to strtoul until the function changes. [Lance]
* Multiple optimizations to the unit_data auto-chase upgrade, also
simplified the mob and pet ai routines. [Skotlex]
* Simplified the walk routines to half the number of timers required for
walking. [Skotlex]
* Finished fixing the unit_data auto-chase update. Still need to do some
optimizations... but the current code-base should be usable. [Skotlex]
* Fixes to the unit_data update that lets characters auto-chase while
attacking. It seems to work mostly now, but there's still a few issues to
be resolved with ranged-attackers. [Skotlex]
* Modified the unit_data structure to handle automatically switching
between chasing and attacking a character. Note that it's a work in
progress and not yet properly tested/finished... [Skotlex]
- DON'T USE THIS YET. There's much testing that needs be done, but I had to
commit now so I may continue work on it later....
* Updated the subnet support to not require specifying the subnet mask, it
is auto-acquired from the char/map IP and the subnet-mask. [Skotlex]
* skill_wall_check defaults to yes now. [Skotlex]
2006/04/09
* Added the missing last_thinktime initialization to pets. [Skotlex]
* Reverted the change in skill_wall_check to let skills go over pits.
[Skotlex]
* Changed use of strtol to strtoll when reading the equip_jobs as strtol's
result is just a signed int, fixes reading of equippable jobs for certain
items. [Skotlex]
* Corrected Knives being usable by Gunslinger. SQL users use
upgrade_svn5972.sql to ugprade that. [Skotlex]
* Modified @warp/@rura to prevent causing pc_setpos position error
messages. [Skotlex]
* Fixed the mob's last_thinktime not being updated on mob_spawn, causing
them to not "think". [Skotlex]
* Fixed @npcmove not sending the correct packets to make the moving refresh
client-side. [Skotlex]
* Fixed mobs with aggressive + looter mode never looting. [Skotlex]
* skill_wall_check now also checks for pits so that skill effects don't go
through them. [Skotlex]
* Now you can't leave/be-kicked from a guild inside guild castles. [Skotlex]
* Fixed map_waterheight prefixing extra "data\" [Lance]
* Mob_ai update. The attacked checks will trigger even if the mob can't
move. Being attacked while the mob can't move no longer will trigger
rude-attacked skills. [Skotlex]
* Changed the default of multi_hit_delay from 230 to 80 which seems more
official. [Skotlex]
* Wedding recall skills are now blocked by the nomemo mapflag instead of
nowarpto. [Skotlex]
* Skill delay for weapon types is now based on adelay (ASPD) rather than
amotion (ASPD/2) [Skotlex]
* Removed ending Endure when casting Berserk, may fix the timer mismatch
issues. [Skotlex
2006/04/08
* Fixed skill_nocast_db reading so that when the same skill is specified
multiple times, the blocked effects add up instead of replacing each other.
[Skotlex]
* Fixed @movenpc [Skotlex]
* Cleaned up and improved the lootsearch routine to pick nearest item.
[Skotlex]
* Fixed trying to set the view_data for npcs who are located on a map, but
have no visual data. [Skotlex]
* Added irc_athena.conf :) from now on, set your irc configuration in
conf/irc_athena.conf [Zido]
* Removed the baby class check when using "changebase" to change to the
Wedding Sprite, since it fixes the bug that the sprite doesn't show
at all, and baby classes arn't messed up by it anymore.
(or so it seems) [Zido]
* Fixed up irc.c, no more crashes :D [Zido]
2006/04/07
* Likely fixed a mob not returning to their original class view on respawn
after they changed class in their previous life. [Skotlex]
* The map-server can now read the equip_job column of the item_db as both
decimal and hexadecimal values. [Skotlex]
* Updated item_db.sql current item_db.txt [Skotlex]
* Added upgrade_svn5951.sql for those who would like to convert their
existing items. (it converts the equip_jobs fields to the new values used)
- See db/Changelog for further info regarding the equip_job fields change.
[Skotlex]
2006/04/07
* Moved the Fusion HP penalty to battle_calc_weapon_attack [Skotlex]
* Some cleaning to use battle_heal/damage rather than pc_heal/damage where
appropiate. [Skotlex]
* Cleaned up the deadly-poison hp reduction code. [Skotlex]
* IRC User access levels now refresh on a mode set and join/part. [Zido]
* Added missing creation/destruction of the expcache_ers in guild.c
[Skotlex]
* Unified status_remove_buffs/status_remove_debuffs into a single function.
[Skotlex]
* Fixed pc_setpos ignoring the clrtype sent to it. [Skotlex]
* unit_free will now use clear type 3 for players (warping out effect)
[Skotlex]
* You can't invite someone to a guild now within Guild Castles. [Skotlex]
2006/04/06
* Hopefully fixed the wedding item-trade restriction. [Skotlex]
* Fixed status_clear_buffs making SC_BERSERK's end send you to 100hp.
[Skotlex]
* Rewrote the guild exp cache code to prevent overflows and to use the
entry reusage system. [Skotlex]
* The IRC Bot is now able to check each users access level prefix
in the channel (~/&/@/%/+), the IRC command @kami now requires the
user to be at least channel operator(@). Now I need to make it store
the users access level on every nick/mode change. [Zido]
* Changed the default of skill_add_range to 0, said value now disables
skill-range checking when casting ends. [Skotlex]
* Corrected the Soul Drain formula, thanks to Haplo for pointing it out.
[Skotlex]
* Addded missing aldeg_cas01 to NOWARP mapflags, thanks to Justin84 [Lupus]
- And we set lhz_dun03 nowarpto mapflag by default till check it on eRO/kRO
* Changed the random warping of mobs with no players from mob_spawn to
unit_warp, which prevents MSC_SPAWN skills from being retriggered for
already spawned mobs. [Skotlex]
* Modified @allstats to prevent negative/overflow issues. [Skotlex]
2006/04/05
* Fixed undisguising not clearing the mob sprite for the disguised
character. [Skotlex]
* Fixed parsing of job_db1.txt due to the MAX_WEAPON_TYPE change. [Skotlex]
* TK ranking kicks can't be used on sucession now (can't use any of the
kick skills twice in a row without using a different one first). [Skotlex]
* Modified the ammo checks so that ammo is consumed at the end of
battle_calc_weapon_attack (should fix element being lost on final arrow).
[Skotlex]
* Added a define list for weapon types in pc.h [Skotlex]
* Cleaned up pc_checkallowskill and moved the Gatling fever check to it.
[Skotlex]
* Some cleanup of clif_parseloadendack, fixed guild-member list being sent
on all map-changes. [Skotlex]
* Removed the hardcoded removal of characters who spawn in a castle. All
castle maps got the flag nosave now. [Skotlex]
* Added support for the 2006/04/04a Sakexe packet version. [Zephiris]
2006/04/04
* Added inter config connection_ping_interval which specifies interval in
hours at which mysql_ping's must be done on all connection handles to keep
the mysql connection alive. Defaults to 0 (disabled) [Skotlex]
* Made the login sql handle on the char-sql server be used only when
gm_read_method 1 is enabled. [Skotlex]
* Small fixes to npc_enable, added BL_NPC handling on status_get_sc.
[Skotlex]
- Some changes to close-confine, status start will fail when the source is
not found or it doesn't has sc-data. [Skotlex]
- pc_setoption no longer changes the character's class when
mounting/dismounting, it only changes the view-class. [Skotlex]
* Modified the char-txt server to modify the class of mounted characters to
their non-mounted version. Added an upgrade_svn5902 file to handle the
class update on the sql tables. [Skotlex]
2006/04/03
* Fixed pc_setpos using unit_remove_map with type 0 instead of 3, which
confuses clients and makes them think the character in question is still
standing on the spot where it was removed. This should fix the warp-portal
issue. [Skotlex]
* Fixed script command mapwarp. [Skotlex]
* Fixed Auto-counter. [Skotlex]
* Modified Rude-Attacked behaviour so that such skills only triggers when
the rude-attacked count is greater than 3. [Skotlex]
* Added config setting slaves_inherit_mode to determine whether slaves take
on their master's aggressive/passive status (defaults to yes) [Skotlex]
* Disabled NPCs are now handled through nd->sc.option&OPTION_INVISIBLE
checks. Should fix disable/enablenpc calls not working. [Skotlex]
* Moved skill_counter_additional_effect calls to trigger right after
skill_additional_effect (which means they trigger at the end of the attack
motion for physical attacks instead of at the beginning of the attack
animation) [Skotlex]
* Cleaned up (fixed?) a possible overflow in pc_isUseitem, thanks to
foobar. [Skotlex]
* When you have the wrong ammo-type equipped the skill-failed message is
now "skill can't be used with this weapon", which is less misleading than
"please equip arrows first". [Skotlex]
* Corrected pet-equipment display (I originally assumed they went in the
shield view-position, when they actually go in the head-bottom position).
[Skotlex]
2006/04/02
* Fixed npc_gettimerevent_tick returning the difference since the last
triggered label instead of total elapsed time for the npc-timer. [Skotlex]
* Added a missing memset on ers_alloc'ing mob loot which was making data
from looted items fill in normal drop info (in other words, you could get
normal loots that were named after players, for example) [Skotlex]
* Added preventing sending packet clif_clearchar_id when the character in
question is invisible. [Skotlex]
* Added packet 0x7c in clif_spawn which was supposed to be used for
non-players (this fixes pets/mobs/npcs spawning as if they just teleported
into view) [Skotlex]
* Some cleanups to clif.c, removed some excess/broken packets/functions.
[Skotlex]
* Merged Larry's fix of using a timer to get rid of the glow-issue when you
login to night-enabled map. [Skotlex]
* Changed arrows View ID to 22 since daggers were already View ID 1.
The server was looking for daggers to be in your arrow slot. [Reddozen]
* Loading waterheight aliases from resnametable.txt. [Lance]
* Workround the warnings for clif.c (what to do? the original codes are ugly.. passing
values as pointers omgwtfbbq). [Lance]
2006/04/01
* Added a exp-even-share check when someone leaves a party. [Skotlex]
* Added function clif_changetraplook to handle changing the appearance of
traps as they are triggered. Fixes all the nullpos related to trap usage.
[Skotlex]
* Fixed berserk not raising your HP to your new cap. [Skotlex]
* Fixed ground-skills not displaying damage done. [Skotlex]
* Fixed a few functions sending a negative ID for disguised characters
(such as clif_specialeffect) which very likely produced client crashes.
[Skotlex]
* A small cleanup on npc-whispering which could fix a reported crash on it.
[Skotlex]
* Removed the gm-whispering of the charnameack hack notice since it isn't
perfected yet. It is still reported on the console for debugging
purposes. [Skotlex]
* Fixes to the mob_ai routines. Prevent casting rude-attacked skills in
situations that shouldn't be considered as so. Fixed mobs failing to chase
after enemies when attacked from out of their view_range. [Skotlex]
* Should not exit when you can't find an NPC file.. [Lance]
* Dynamic shops support with script callback. (needs testing) [Lance]
* Cleaned up and fixed @where command. [Skotlex]
* Fixed standing up no really making you stand up. [Skotlex]
* Added upgrade_svn5834.sql to update view for item type 10. Because of the
ammo upgrade, all arrows need their view set to 1. This query does that to
all type 10 items (this includes all ninja weapons as well, but a proper
item_db.sql update is pending until the rest of throwables are updated)
[Skotlex]
* Fixed compiler warnings. [Lance]
* Added structure view_data to handle sprite information for all characters
(equipment, weapons, hair, dyes, etc). [Skotlex]
* Rewrote several clif functions to adapt to the new view_data class.
[Skotlex]
* Rewrote the way cloth dye packets are resent to optimize bandwidth usage.
[Skotlex]
* Fixed the npc_item_flag thing (enable_items/disable_items script command)
[Skotlex]
* Rewrote the disguise implementation to be bandwidth friendly. [Skotlex]
* Modified the hide options to change your class to INVISIBLE_CLASS, since
such classes don't even get their view packets sent around. [Skotlex]
* Added class 139 to npcdb_checkid which was required by some npcs in the
swordman quest. [Skotlex]
* April fool! Improved soundeffectall script command. (No, this is not a lie) [Lance]
2006/03/31
* Fixed skill_require_db loading of the new ammo columns.
* Added a column to specify the amount of ammo required for skills that
require it. [Skotlex]
* Added support for ArrowType requirement on skills. It checks for having
an item equipped on the arrow-slot who's view has to match with the
required arrow-type (works the same way it does for weapons). [Skotlex]
* Skills will automatically be ranged and arrow-types when they have a
arrow-requirement in battle_calc_weapon_attack [Skotlex]
* Skills will automatically consume arrows if used with a bow and the skill
is an attack weapon-based skill even if the skill_require_db doesn't
specifies arrow requirements (this is for stuff like backstab used with
bows) [Skotlex]
* Fixed an infinite recursion in the Wedding Recall skills. [Skotlex]
* UNT_ATTACK_SKILLS unit packets won't be sent to the client as they are
supposed to be invisible anyway. [Skotlex]
* Started work on commands for the IRC Bot, At the moment you can use !eakami <message>
to broadcast a message, edit ALLOWED_NICK in irc.c to change the nickname
of the person that is allowed to use it (Shitty authentication method, I know,
but i'll make user/pass method soon enough.) [Zido]
* Modified a bit the skill packets of Sharp-Shooting and Brandish Spear in
hopes of fixing it. [Skotlex]
* Should fix a bug in GM stealth mode (@hide). [Lance]
2006/03/30
* Updated char name option. [Vicious]
* Added a missing return that fixes crashes on status_change_timer when
source is not found. [Skotlex]
* Added year day return in gettime function. gettime(8) returns 1~366
[Foruken]
* the auth function in login.c won't jstrescapecpy passwords that were
encrypted. Thanks to foobar. (but are still more cases to check for? Dunno,
the code is kinda long...) [Skotlex]
* Endure level 11 and above are now considered infinite-endure, and invoked
when Berserk is active. [Skotlex]
* Set the minimum pet hungry delay to 10 [Skotlex]
* modified functions skill_delayfix and skill_castfix to reduce number of
arguments. Added function skill_castfix_sc for mobs (who only get status
change cast reductions, not dex based ones). Also, skill_delayfix will
never return a value below min_skill_delay_limit. [Skotlex]
* Modified brandish spear so you won't see the skill-animation for every
targetted mob. [Skotlex]
* Added the Steel Body icon to auto-berserk. [Skotlex]
* Now you can't cast auto-counter while the previous one is active.
[Skotlex]
* Added Veider's suggestion to do a hack-report when players request the
name of an invisible/cloaked character. [Skotlex]
* Added execution of OnInterIfInit, OnCharIfInit and OnInterIfInitOnce on script
reload. [Lance]
* Cleaned up mistakes in irc.c [Lance]
2006/03/29
* Now none of the pet-menu options will have any effect when the pet's
intimacy is 0. [Skotlex]
* Applied a fix to not do range checks on npc_doevent when the npc is not
on a map. [Skotlex]
* You can't return to egg a pet that has run away now. [Skotlex]
* Added ers support to the delayed mob drops. [Skotlex]
* Some cleaning of the mob_ai. Mobs should stop chasing once you are beyond
their min_chase range. Improved rude-attacked checking when mobs can't
move. [Skotlex]
* range3 is now used as min-chase value of mobs. [Skotlex]
* Added a debug message when status_change_timer fails. Report it next time
it shows up. [Skotlex]
* Fixed tick direct modifications increasing duration instead of decreasing
it. [Skotlex]
* You can't SG_FEEL maps already memorized. [Skotlex]
2006/03/28
* Fixed the Family recall warp skills. [Skotlex]
* Fixed pc_percentheal giving life when the rates are negative. [Skotlex]
* Fixed resetting stats losing the +52 bonus on high classes. [Skotlex]
* Fixed Wedding support skills healing yourself instead of partner.
[Skotlex]
* Added a check to prevent knocking back the Emperium at all costs.
[Skotlex]
* Fixed summon mobs being able to cast "summon" skills. [Skotlex]
* Summoned mobs will inherit the size and ai properties of the master. [Skotlex]
* Added a debug function to locate all "looping warps". [Skotlex]
- Now will someone help cleanup those warps?
* Some cleanup of the skill-use functions in clif.c [Skotlex]
* Fixed Gunslinger and Ninja skills not showing up and not working due to an error
in skill_require_db
- also commited a commented block for GS_FLING that needs to be looked at and posiably
cleaned before it's uncommented.
- fixed exp2 not accepting Gunslingers and ninjas
- fixed the "jobmaster" having the same problem as rebirth
- added the Gunslinger shops for guns and ammo [Reddozen]
* Modified clif_getareachar_pc to hide hidden GMs from normal players (players with GM
level > 0 still able to view) by NOT sending the coordinates. [Lance]
2006/03/27
* Removed the limits.h file which just breaks compilation on *nix systems
[Skotlex]
* Updated some DB work from jA [Vicious]
* HW_GANBANTEIN now also removes traps. [Skotlex]
* PF_DOUBLECASTING takes effect amotion time after the initial cast instead
of amotion*div [Skotlex]
* SG_KNOWLEDGE now lasts time1 after you quit a map before it clears out
(defaults to 10 mins currently) [Skotlex]
* Modified Intravision to modify the status-change packet to specify
SI_INTRAVISION instead of cloaking/hiding/chasewalk. I believe this is how
intravision actually works. [Skotlex]
* Pet catching now uses the menuskill variables to prevent item usage from
disrupting the catch process. [Skotlex]
* Added Safetywall to the list not blocked by Dispell. [Skotlex]
* Added some include limits.h required by window compiles. [Skotlex]
* Corrected Wedding rings being trade-able. [Skotlex]
2006/03/26
* GCC on Cygwin still complaining, resorted to including limits.h in malloc.h [Lance]
* Refixed the fix with a constant list for Win32 users - limits.h (imported from MSVC) [Lance]
* Fixed a problem in chrif.c where USHRT_MAX was undefined. [Codemaster]
* Added jAthena's new start and athena-start shell scripts. [Lance]
* Changed status_point/skill_point to unsigned short. Adjusted the code as
necessary to prevent overflows. [Skotlex]
* itemdb_exists and itemdb_searchname should now ignore dummy_item matches. [Skotlex]
* Fixed jstrescapecpy crashing when you pass a null string to parse. [Skotlex]
2006/03/25
* Fixed the map-server freeze/crash on Warp Portal. [Skotlex]
* Fixed Grandcross/Granddarkness showing no skill animation. [Skotlex]
* Fixed mob-casted grandcross doing nothing unless the target was "self" [Skotlex]
2006/03/24
* Fixed / finished most of Gunslinger [Reddozen]
- fixed some bullets in the item DB
- adjusted a few rates in skill_cast_db.txt for Gunslingers
- adjusted a couple skills in skill_db.txt to act correctly
- adjusted all the SP values for Gunslinger skills
- changed piercing shot to lv 5 from lv 10
- made ki Translation fail giving coins to Gunslingers
- equipping a weapon other than a gatlin gun should cancel SC_GATLINGING. Also made Gatlinfeaver on/off togelable
- GS_CRACKER will no longer stun players
- added GS_Disarm
* Fixed iteminfo only displaying first result when there were many. [Skotlex]
* Fixed pet hatching. [Skotlex]
* Small change that SHOULD fix the pet duplication issue. [Skotlex]
* Fixed Warp Portal. [Skotlex]
* Modified script commands atcommand/charcommand to execute even if there
isn't a player attached. They'll use a dummy player data with the same
position/name as the script's owner (usually an npc). Be careful when using
this as the result of some @/# commands may be unexpected! [Skotlex]
* Some cleaning around the return to egg code. Pets should stop duplicating
now. [Skotlex]
* Some cleaning of the egg hatching routine to prevent spawning the pet if
the egg can't be found in the inventory. [Skotlex]
* Removed a pair of autoadded "data/" strings on grfio.c to see if that
helps with the data_dir map loading. [Skotlex]
* Fixed skillidx not being set whenever a mob uses a skill. This explains
skills like metamorphosis/summon_slaves not working at all. [Skotlex]
* Fixed unit_skillcastcancel reading the nocastcancel flags the exact
wrong way around [blackhole89]
* Added function map_search_freecell to locate an available cell around an
area (for recall/warping skills). UNTESTED. [Skotlex]
* Added unit.c to the VC8 project files. Thanks to Joshuaali [Skotlex]
* Fixed Magnum-break/GrandCross displaying multiple times the skill effect
(once per target) [Skotlex]
2006/03/23
* Fixed a crash in unit_useskill_pos2 [Skotlex]
* Updated mob_db.sql and item_db.sql to current txt versions. [Skotlex]
* Fixed Devotion not properly being cleared on death/near death in some
cases. [Skotlex]
* Fixed Shield-Reflect not being correctly ended when devotion does.
[Skotlex]
* Fixed DEX-based casting time and delay reduction. [blackhole89]
* Modified the function pc_percent_heal to prevent overflow problems. [Skotlex]
* Changed the second entry in the water_height.txt listing to specify
directly the .rsw file (instead of .gat). [Skotlex]
* Fixed Potion Pitcher sometimes crashing the server. [Skotlex]
* Fixed a compile warning by adjusting the acid demonstration formula.
[Skotlex]
* Added flag 2 to the skill_castnodex_db file for skills that shouldn't be
affected by delay/cast reducing skills/effects. [Skotlex]
* Added SantaPoring's water_height.txt modifications. [Lance]
* Minor cleanups. [Lance]
2006/03/22
* Fixed function pc_isCardAllowedOn causing searches for non-existant item
id 0. [Skotlex]
* Fixed Arrow Shower. [Skotlex]
* Merged the unit_data structure from jA for handling unit-related data
(attack times, walking, auto-attack timers, skill related data). This is a
huge change that affects walking, attacking, auto-attacking, skill usage
and character clean up from maps. I spent the last two days clearing out
bugs, and even though I couldn't find any more, I wouldn't be surprised for
a corner-case or two I missed. [Skotlex]
* Modified unit_skillcastcancel to receive flag&2, which stands for "cancel
casting only if current skill is cancellable" [Skotlex]
* Battle config options changed from yes/no to BL_TYPE settings:
skillrange_by_distance, skill_noreiteration, skill_nofootset,
gvg_traps_target_all, skill_log, attack_direction_change,
auto_counter_type. See (Note 4) in the relevant battle config files.
[Skotlex]
* Clif.c will disconnect sessions that send an unknown command packet above
0x30000 instead of just ignoring it. [Skotlex]
* Cleaned up error reporting during mob-skill loading to be less spamy with
non-loaded mobs. [Skotlex]
* Corrected water_height reading. It works now, with the exception that
cloned maps don't get their water-level read because they don't have a rsw
file. The solution is to add all cloned maps to water_level.txt (ie:
"new_1-1.gat new_zone01.rsw" makes the new_zone01.rsw stored water-level be
applied to map new_1-1.gat).
Anyone can help collect all the clone maps to fill up water_height?
* status_check_skilluse won't block skill-specific checks (silence,
berserk, steel-body, etc) when the skill in use is an item-invoked skill.
[Skotlex]
* Merged LittleWolf's function to read the map-height directly from the rsw
file. Now when building the map-cache, the water-heights should be
automatically read as well directly from the rsw's. [Skotlex]
WARNING: Not tested yet!
The water-height config file now is for aliases. When the rsw for a
certain map is not found, and this map exists in the water_height list,
then the water height of the second map listed in that file is used.
* Some cleanups in irc.c [Skotlex]
* Magic skills that ignore element now also don't take into account
elemental cards. [Skotlex]
* Fixed compiler warnings in battle.c [Lance]
* Changes by [reddozen] -->
- Updated Full Buster's damage, status effects, and skill levels
- Bullseye now only uses 1 coin
- changed Adjustment's required SP
- changed Incerase Accuracy's effect bonuses
- changed Magical Bullet's SP cost
- changed Piercing Shot's damage and SP
- changed Desperado's range, hit count, aftercast delay, and SP
- fixed Absorb Spirit Sphere being able to remove coins
- changed Acid Demonstration's damage to the new Japanese formula
2006/03/21
* Fixed duel in pk-mode (same party/same guild/alliance non-targeting issue).
Thanks to Hobbit for pointing that out. [LuzZza]
* Fix on not showing guildmembers logins/logouts messages. [LuzZza]
* Fixed SC_SWOO's opt3 value. Small monsters should stay small for skill's
duration now. [Skotlex]
* Fixed allowing multiple recast of Dissonance/Ugly-Dance [Skotlex]
* Fixed those annoying irc.c compile warnings. [Skotlex]
2006/03/20
* Added monster_ai&16 setting for executing the hard ai on ALL mobs in maps
with players instead of just mobs in the vecinity of players. [Skotlex]
* Cleaned up some guild functions. [LuzZza]
- Now guild leaving/explusion packets sends correctly.
- Fix to prevent creation alliance/opposition with same guilds.
2006/03/19
* @stfu now allows negative intervals to be specified. [Skotlex]
* Added overflow check to the login-server when sending GM accounts to
char. [Skotlex]
* Small fix to prevent killer/killable states from allowing you to target
yourself. [Skotlex]
* Added Explosion Spirits to list of effects that dispel on logout.
[Skotlex]
* Fixed handling of guild skills by pc_blockskill_start, moved it to
skill.c [Skotlex]
* Fixed autoguard icon showing with stun. [Skotlex]
* Fixed acid demonstration breaking shield instead of armor. [Skotlex]
* Fixed Slim Pitcher crashing server ocassionally. [Skotlex]
* Hopefully fixed Ankle Snare lasting the whole trap's duration [Skotlex]
* Added sc_start(SC_ENDURE) on infinite endure bonus. [Skotlex]
* Fixed Berserk Pitcher consuming required items twice. [Skotlex]
2006/03/18
* Fixed BA_DISSONANCE and DC_UGLYDANCE not working. status_check_skilluse was blocking
them due to the lack of an exception like BA_MUSICALSTRIKE has it. [blackhole89]
* Documentation update on NPC whisper and rid2name. [Lance]
* Fixed event_kill_pc to behave like what it should instead of another replication
of event_death. Added script function rid2name to convert bl ids to name. [Lance]
* Recoded setmobdata script function. Fixed mob_damage typo sd -> mvp_sd. [Lance]
* Added 'GetMonsterInfo(MobID,Idx)' script function. [Lupus]
You can get monsters name,level,race, etc by its Id. Check npc\sample\getmonsterinfo.txt
* Fixed warnings on compilers again. [Lance]
2006/03/17
* Fixed the mob_skill_db by commenting out lines with targeted skills
being cast during an idle state. (Thanks to LittleWolf) [Zephiris]
* Removed a block of code from skill_check_condition that actually belongs
to status_check_skilluse. Should fix silence/stun blocking skills
regardless of settings. [Skotlex]
* Fixed misleading and inaccurately documented events and added a missing flag. [Lance]
* Fixed npc_cleanup_dbsub not removing key and caused pointer being freed problem. [Lance]
* Fixed handling of the char_gm_read config for packet 0x2af7 (reloadgmdb)
[Skotlex]
* Added battle_config debuff_on_logout which removes Asura's SP regen delay
and Strip-Equip effects on logout when set to yes (default,
conf/battle/skill.conf). [Skotlex]
* removed auto-attaching of player-run scripts in initnpctimer. You must
use attachnpctimer instead! [Skotlex]
* Final fix on Juperos NPC. [Lance]
* Fix on initnpctimer not attaching rid. [Lance]
* Fix on OnTouch ignoring -1 NPCs. [Lance]
* Fix on @reloadscript crashing due to passing non BL_SKILL bl to a function that accepts only BL_SKILL bl.
[Lance]
* Added area NPC detection in clif_parseLoadEndAck. [Lance]
* Fixed compiler warning in script.c get_mob_data. [Lance]
* Temperory resolved issues on Juperos until I get the exact description on the behaviour
in retail servers. [Lance]
2006/03/16
* Changed NJ_ZENYNAGE according to this weeks patch to deal a random [MasterOfMuppets]
ammount of damage depending on the skill lvl.
* @kill_monster/@kill_monster2 won't touch Guardians/Emperium now. [Skotlex]
* Small change in the random item reading function, may fix @itemdbreload
messing up random item searches. [Skotlex]
* Restricted GS_BULLSEYE to only be used on demi-human or brute monster targets [MasterOfMuppets]
2006/03/15
* mob_chat_sub fix. Added buildin_pcblockmove. [Lance]
* BL_PC and BL_MOB control script commands (experimental) [Lance]
* Made an adjustment to addspiritball() to allow Gunslingers to summon up to 10 spheres [reddozen]
* Fixed Tarot Card of Fate using time instead of time2 which is the one
that actually holds the effect duration. [Skotlex]
* Fixed mob random walk interval being set to up to 6K seconds in some
instances. [Skotlex]
* Added mapflag nodrop (prevents droping items to the ground). [Skotlex]
* Fixed mapflag notrade doing nothing. [Skotlex]
* Likely fixed Gravitation not hitting except for the last hit. [Skotlex]
* Removed the hardcoded duration of 30 seconds for sleep. [Skotlex]
* Fixed rangecheck for pet skill usage of INF_SELF_SKILL type of skills
[Skotlex]
* Removed inall/exall from atcommand.conf since those two do not exist!
(pointed out by Ancyker) [Skotlex]
* @me now uses entry 270 in msg_athena as output format. [Skotlex]
* gm_skill_unconditional setting now also overrides skill_partner_check
setting. [Skotlex]
* Emulated strtok_r functions to work strictly with ANSI compilers. [Lance]
* Added battle config options item_rate_adddrop, item_drop_add_min and
item_drop_add_max to control drop rate of card-acquired loot bonuses.
(conf/battle/drops.conf) [Skotlex]
* Added item_db2.sql and mob_db2.sql, thanks to Joshuaali [Skotlex]
* Added more usage of msg_athena on the slave atcommands messages. [Skotlex]
* Fixed twilight pharmacy dropping 1 item to the ground instead of the qty
produced. Thanks to k3dt [Skotlex]
* Fixed Plagiarism not working unless you had some sc active. [Skotlex]
2006/03/14
* Fixed a possible crash in Venom Splasher if the countdown is too high.
[Skotlex]
* Fixed skill_notok blocking guild skills [Skotlex]
* Fixed Napalm vulcan's time2 entry in the skill_cast_db [Skotlex]
* Fixed the average_lv column size specification for levels above 255.
Thanks to Joshuaali (upgrade_svn5607.sql) [Skotlex]
* Updated @rura/@warp. Now you can use both "@warp mapname x y" and
"@warp mapname,x,y". [LuzZza]
* Added at-command @tonpc <NPC_name> (warp to NPC). [LuzZza]
* Fixed @where at-command. [LuzZza]
* Fixed WZ_WATERBALL + HW_MAGICPOWER [Skotlex]
* Fixed incorrect range check in autospell-when-hit triggers. [Skotlex]
* Modified Wedding recall skills to behave as in official [Skotlex]
* Modified Arrow Shower to be a ground-based skill and work as it should on
officials. However, the unit_id is still unknown. [Skotlex]
* Fixed skill_additional_effect triggering every time you were being hit
even if no damage was returned. [Skotlex]
* Fixed battle_calc_damage_return to make magic damage be returned by 100%,
and received damage nullified. [Skotlex]
* Changed a bit status_check_skilluse to check for dead characters, should
fix all the weird attack/attacked while dead bugs. [Skotlex]
* Fixed player auto-attack not cancelling when dead. [Skotlex]
2006/03/13
* Finished some checks to make sure Land Protector Only blocks BF_MAGIC
skills. Hammerfall is no longer blocked. [Skotlex]
* Fixed script command warpparty looking for an attached player even when
it is not needed. [Skotlex]
* Shield Reflect is now passed through Devotion as well. [Skotlex]
- Devoted characters lose the devotion effect when the Crusader is at less
than 25% Hp. [Skotlex]
* chrif_scdata_save will not send a save scdata request when the char has
been already tagged as in the final save. [Skotlex]
* Some status_change_start cleanups, stuff like blessing should now remove
stone/curse even if the status does not begins because the character is
already blessed. [Skotlex]
* Cleaned SC_SUITON a bit to get rid of that compile warning. [Skotlex]
* Added function battle_calc_gvg_damage for gvg related damage reductions.
Fixes Gravitation being reduced as well as Pressure overriding max-castles
restriction. [Skotlex]
* Corrected char-server parameters so that the subnet config file is the
third parameter, not the second (which was conflicting with
inter_athena.conf's argument), thanks to foobar. [Skotlex]
* PR_BENEDICTIO now ignores mdef [Skotlex]
* Fixed chatlog's x/y column capacity in sql-files/logs.sql [Skotlex]
2006/03/12
* Updated clone skill copy to consider combo-skills. [Skotlex]
* no_spawn_on_player won't work on mobs with no respawn delays now. [Skotlex]
2006/03/10
* Cleaned up the Skillbreaker implementation, HP gaining happens at level 5
now. [Skotlex]
* Autospells won't trigger now on maps where said skills are forbidden.
[Skotlex]
* Changed div (multi-hit) behaviour. Skills with div above zero will get
their total damage increased by the number of hits, div less than zero is
just for "show", total number of hits displayed is abs(div), but damage
isn't increased by number of hits. [Skotlex]
* Adjusted several skill damage equations to make up for the above change.
[Skotlex]
* Fixed a overflow bug when one of the item_random* files has too many
random items. [Skotlex]
* Fixed a variable loopback problem on NPC shop price checking routine. [Lance]
* Fixed a memory overwrite crash on pc_readdb, thanks to foobar for the
fix. [Skotlex]
* Fixed only the first TK stance triggering when you have multiple of them
active. [Skotlex]
* Default of skill_attack_enable changed to yes. [Skotlex]
2006/03/09
* Fixed the dancer/bard soul-linked skills toggling on/off with each call
to pc_calc_status. [Skotlex]
* Fixed a bug in the pc_skillreset function which allowed TK rankers to
accumulate skill points. [Skotlex]
* Fixed a major memory leak in status.c causing the last column of job_db1.txt
never being read. I have no idea how long this has been there, but signs point
to us using Katars at a random ASPD from somewhere in memory for ages. [blackhole89]
* Fixed a critical bug in job_db1.txt reading in status_readdb. [blackhole89]
* Fixed pc_damage_sp not properly substracting SP. [Skotlex]
* Made Magic Crasher a BF_WEAPON attack. [Skotlex]
* Made skill_unit_range a per-level setting. meteor and Lov now have their
unit range for bosses adjusted in the skill_unit_db rather than
hardcoded. [Skotlex]
* Added Gunslinger/Ninja Status Change icons. Somebody needs to look into
them though for not all SCs have a matching SI. [blackhole89]
* Changed ITEM_NAME_LENGTH to 50. [Skotlex]
* Fixed stun's duration not getting reduced by vit + luk/3 [Skotlex]
* Fixed #itemlist not taking into consideration crafted/forged items and
pet eggs. [Skotlex]
2006/03/08
* More work on ninja/gs. Which made me do... [Vicious]
- Add more weapon type(17~21 for guns) [Vicious]
- Included MAX_WEAPON_TYPE in status.h and updated the codes
(Whose idea was it to do static number... esp dual weapon) [Vicious]
* Fixed a bug that was making the no_spawn_on_player setting useless.
[Skotlex]
* Added Deadly Poison and Bleeding to status_get_sc_def, meaning that now
vit does increases defense against being inflicted from it. [Skotlex]
* Fixed and tested @whodrops [Skotlex]
* Updates to Gunslinger skills' DB entries. [blackhole89]
* Rewrote pc_jobchange to be sane by using the map internal codes instead
of a mesh of complicated nested comparisons. [Skotlex]
* pc_authok will now change you to a novice if your class isn't identified
as a valid one. BACK UP before updating, because.. well, just in case you
start seeing novices filling up your city. [Skotlex]
* Mobs will now chase you even if you hit them from outside their range of
view. [Skotlex]
* Fixed item disappearing from the floor when you attempted to pick it up
and there was no room in your inventory. [Skotlex]
* About half-ish nj/gs skills are semi/fully-done. No effect/status yet though. [Vicious]
* Added atcommand @whodrops which lists mobs with the top drop-rates for a
given item. List of stored mobs and their dropchances is also defined by
MAX_SEARCH on map.h [Skotlex]
* Modified atcommands @mobinfo and @iteminfo to display multiple matches
instead of just one. Max number of matches to display is set in map.h
(MAX_SEARCH) which is currently 5. [Skotlex]
2006/03/07
* Base for ninja/gunslinger is mostly done. need to work on skills now. [Vicious]
- Updated sql-files/ mob_db.sql and item_db.sql to current txt dbs. [Skotlex]
* @job ninja/gunslinger. No skill tree or anything yet. [Vicious]
* Gospel won't start taking effect until after 10 secs have passed since
invocation. [Skotlex]
* Now if a skill has inf set to 4 (self skill) and inf2 512 (cannot target
self) this skill becomes a target-auto-select skill, which targets your
current attack target, and won't stop your current attack. The current
attack is delayed by your aspd (except for a few skills such as the monk
combo skills which readjust this delay). All Monk combo skills plus Taekwon
kick skills have been updated to use this. [Skotlex]
* Added a check that forces self skills (inf = 4) to select yourself as
target to prevent oddities from crafted packets. [Skotlex]
* More ground work for Ninja/Gunslinger [Vicious]
* status_calc_pc now assumes that if your max hp is negative, it has
overflowed, and as such, it is set to the max_hp setting instead of 1. This
'dangerous' assumptio is alright as long as there aren't equipment that can
send your hp to negative values. [Skotlex]
- Fixed the soul linker skill tree. (Thanks to muad_dib) [Zephiris]
* Added Gunslinger and Ninja into @job. of course, you need latest EXE
for make this work... and of course no skills yet! [Vicious]
* Storm Gust now knocks back on a random direction instead of away from the
storm. [Skotlex]
2006/03/06
* Some fixes due to the guild-skill changing location (being moved from
500->900 within the code) [Skotlex]
* Fixed npc_event doing a map-check when the npc is not on any map.
[Skotlex]
* Fixed a debug message showing up on skill castend nodamage id when using
a guild skill. [Skotlex]
* Fixed #save not working on maps not in the current map server. [Skotlex]
* Added battle config clear_skills_on_death to decide whether all
ground-based skills should be removed when you die. Defaults to yes.
[Skotlex]
2006/03/05
* Removed my EXP limit as it did not do what it was supposed to [Codemaster]
* Fixed remove-trap [Skotlex]
* Fixed animation of Redemptio [Skotlex]
* Some reorganization of how the skill check functions behave
(skill_get_*). Guild skills have been moved to the range 900~915 (instead
of 500~519 in the code). [Skotlex]
* Set the default for display_delay_skill_fail to 'no' as it should have been
for a while (the kRO patch about that was last year, long time ago) [DracoRPG]
* Fixed easter.txt typo. [Lance]
* Extended summon command to enable custom timeouts. [Lance]
2006/03/04
* Fixed a bug in the subnet checking function, login-TXT server. Also
changed the messages to be a bit more informative. [Skotlex]
2006/03/03
* Added function battle_set_walkdelay in charge of updating walkdelays of
characters based on two criterias: when the delay is induced by damage, if
the current walk delay isn't over yet, do not update it. If the delay is
instead caused by a skill, then the current walk delay cannot be decreased,
only increased. [Skotlex]
* Added upgrade_svn5455.sql, it converts the manner and karma columns to
signed. Apply this if your tables have the field as unsigned (which would
explain mute always disappearing after relogging) [Skotlex]
* status_change_start now checks on a 0->10000 scale, should fix sc-cards
with very low rates never triggering (eg: some coma-inducing cards).
[Skotlex]
* Cleaned up the active guild skills. They should be usable now by
non-players as well. [Skotlex]
* Fixed crash on the NPC whisper system when the message's size was 1.
[Skotlex]
* Strip status changes are now removed on logout. [Skotlex]
* Added a column in skill_cast_db for specifying can't walk delays. It's
all set to 0 currently, so someone get updating them! [Skotlex]
* Removed the apply walk-delay entry from skill_cast_nodex as the new walk
delay column handles this now. [Skotlex]
* Fixed autoloot dropping the item to the ground even when it was
autolooted. [Skotlex]
* Fixed character deletion working on SQL without an email address (Thanks to Valaris) [Zephiris]
* Added event 8 for mobspawns that should spawn with special ai set. This
means that now in the mob_spawn files if you use 8 as the last entry, the
mob will use the special ai, and as such, it will only attack other mobs,
not players (can obviously be combined with 2 for small mobs and 4 for
large mobs, eg: 10 for a small mob with special ai set) [Skotlex]
* Modifed battle_check_target so that mobs with special ai will only target
by default mobs without said state (this will prevent normal clones from
fighting among themselves, for example) [Skotlex]
* Trick dead now ends on logout [Skotlex]
* Added mapflag nocommand which blocks @/# commands unless your gm level is
above gm_skill_unconditional's level. [Skotlex]
* Fixed weapon scripts not being executed unless the weapon was forged.
[Skotlex]
* gm_skill_unconditional is now a no/gm-level setting instead of yes/no
[Skotlex]
2006/03/02
* Slaves inherit speed will now only work if the master can move. [Skotlex]
* Some cleanup and reorganization on the way pet-skill variables are
handled. [Skotlex]
* Fixed a typo that disabled all pet support skills from triggering (except
ground-based ones) [Skotlex]
* status_check_skilluse cleanup. Some status will only block skills when
they are first used, not on cast-end (which includes auto-spells and
ground-skill checks). Now when status_castcancel is 'no', skills WILL
come off after the cast bar is done. [Skotlex]
* Gravitation now only affects the caster, should have also fixed the skill
not doing damage when skill_caster_check is set. [Skotlex]
* Max fame list size is now defined by MAX_FAME_LIST constant (mmo.h)
[Skotlex]
* Individual fame lists sizes can now be specified through the char-server
(check the fame list configs in char_athena.conf) [Skotlex]
* Some cleanup on mob_can_reach code to prevent unnecessary path-searching
[Skotlex]
* Optimized the path-searching ai for mobs to try target cells around the
target in order rather than randomly picked cells. [Skotlex]
* Applied Snufkin's patch to fix compilation on FreeBSD. [Skotlex]
* Fixed mobs targetting themselves after using a support skill. [Skotlex]
* Gospel no longer blocks item usage of whoever is in the area of effect,
only the caster of Gospel can't use healing items now. [Skotlex]
* Added the long/near attack_def_rate card effects to battle_calc_magic
(horn card and the like will now work with spells) [Skotlex]
- Elemental fields should vanish on map-change now. [Skotlex]
- Land Protector only blocks magical ground skills now. [Skotlex]
* Fixed item pickup not picking anything unless you were in a party with
item distribution set [Skotlex]
2006/03/01
* Made it so players that are at the max level do not receive EXP.
This makes it so a player at the max level (ie - 99) cannot join a party
and feed all of his or her EXP to the other party members [Codemaster]
* Mapregsql will now fully depend on mmysql_handle. [Lance]
* Optimized strcharinfo to use switch. [Lance]
* Some cleanup of the mob skill reading. Added error reporting for unknown
states/conditions, error reporting now specifies the file and line number.
[Skotlex]
* Silence will only block skills when they have begun casting, not when the
cast bar is done. This also means that auto-spells will likely come-out
even when silenced. [Skotlex]
* opt1 status will block skills when they are done casting only if the
sc_castcancel option is set. [Skotlex]
* strcharinfo now returns blank instead of crashing the map server when
there's no player attached. [Skotlex]
* Added a missing mysql_init call to the mapreg sql handle. [Skotlex]
* Checked and fixed the script engine barking when you try to have a label
with the same name as a const.txt defined parameter. [Skotlex]
* Turn Undead and Offensive Resurrection should now work on undead players.
[Skotlex]
* Fixed the range checking of Repair weapon [Skotlex]
* Rude attacked is now also triggered when you hit a target that can't move
out of their melee attack range. [Skotlex]
* Mob ai will attempt to do a long-range attacked condition skill before
unlocking a target when it is attacked and said target is out of melee
range of a non-walking mob. [Skotlex]
* Corrected mobskill event to set the target_id before triggering. This
should fix shortrange/longrange attacked mob skill conditions. [Skotlex]
* Moved MSC_SKILLUSED trigger to mobskill_event which is triggered in
battle_calc_damage. It is also triggered on skill_castend_nodamage_id.
[Skotlex]
* Added party_share_loot for handling party-share loot. it should now work
with autoloot as well. [Skotlex]
* Fixed skill_break_rate breaking stuff even if the rate is 0. [Skotlex]
* pc_stopwalking will not send a fixpos packet if you are sitting. [Skotlex]
* mob_can_reach rude-attacked condition now uses the mob's field of view.
[Skotlex]
* SC_NOCHAT is automatically started on pc_authok if manner is negative.
[Skotlex]
* Map server now refuses to start if you try to define a label with the
same name as some const.txt defined character parameter. [Skotlex]
* Corrected a few Compiling Warnings [Codemaster]
* Added the ability to select GM loading via Login (default) or Char [Codemaster]
* Added script command 'setbattleflag'. [Lance]
2006/02/28
* Rewrote LAN support code. Changed configuration file name
lan_support.conf to subnet_athena.conf, changed it syntax. [LuzZza]
* Added script command 'equip' to equip items. [Lance]
* Fixed dependancies in map-server compiling (VC7.1). [Lance]
* Added autoequip flag check for pc_takeitem. If it impacts on perfomance, please remove it. [Lance]
2006/02/24
* Prevented guild/party recall to work on GMs of greater level than
yourself. [Skotlex]
* Prevent muting players with higher GM level than yourself. [Skotlex]
* Fixed Lady Tanee's spawns. [Skotlex]
2006/02/23
* Fixed the CL_WHITE define, thanks to FlavioJS [Skotlex]
* NPC break equipment stuff now has a 1.5% per skilllv success rate.
- This is a custom value as 20%-lv10 seems too high and 10%-lv10 seems too
low. [Skotlex]
* pc_setpos won't random warp players if placed on top of Moonlight Petals
[Skotlex]
* Removed the check in clif.c for npc_shopid as the client never sends a
packet when the trade is cancelled... [Skotlex]
* Player-summoned mobs won't level up now. [Skotlex]
* Fixed Super Novice explosion spirits triggering no matter what you said
on the third line. It now triggers on the fourth line.... [Skotlex]
* Fixed GTB blocking targetted spells when gtb_pvp_only was set. [Skotlex]
* Merged the code of Ankle snare and Spider web. It no longer moves target
if sc failed. [Skotlex]
* Players should stop walking as soon as they start vending or get into a
chat. [Skotlex]
* Added mob skill conditions myhpinrate and friendhpinrate. [Skotlex]
* Added monster_ai condition 16 (enable `friend` targetted skills to heal
oneself) [Skotlex]
* Fixed the shop id not clearing when buying/selling (which made you get
stuck afterwards). [Skotlex]
* Modified the way autospells stack to mimic official servers. Cards of the
same ID cannot stack, but different cards with the same skill can each
trigger indepedently of each other. [Skotlex]
* Added battle_config autospell_stacking to enable stacking of cards of
same ID. (see battle/item.conf) [Skotlex]
* Moved card-specific battle options to items.conf [Skotlex]
* Autospells triggered when hit will check the range to the target.
[Skotlex]
* Some cleaning up of status_calc_pc [Skotlex]
* In status_change_start capped the passed success chance to 100% [Skotlex]
2006/02/22
* Windwalk's flee bonus is now +1 every 2 skill lvs. [Skotlex]
* Changed the way equipment breaking works. Function pc_break_equip was
removed and now skill_break_equip is used. Basicly, it's the same as
before, except that when you 'break' a piece of equipment of a
non-player, the corresponding strip(weapon/armor/shield/helm) status
effect is induced (duration: strip skill lv 1) [Skotlex]
* Cleaned up the Dev folder. [Skotlex]
- Take note of the file todo-for-stable, which holds all modifications in
trunk that have not yet made it into stable. Be sure to update the file
as needed.
* Updated the path searching code with jA's current implementation.
[Skotlex]
- There is a slight chance the CELL_NOSTACK mod broke, someone test that.
2006/02/21
* Fixed the range-check of targetted skills (was evaluating the range as 0
always) [Skotlex]
* Now you should receive the party/guild mini-dots on map-load without the
need of waiting for others to "move" for you to receive the update (fixes
dead characters never showing up on the map) [Skotlex]
* Fix to prevent using main chat when it disabled in atcommand_athena. [LuzZza]
- Fixed message codes in duel functions.
- Small fix in log_refine, incorrect compare expression.
* Some cleaning of the warp portal code so that when it is "pre-casted" it
doesn't mess up with other casted skills. [Skotlex]
* Some fixing on the weapon-refine code. [Skotlex]
* Cleaned up some npc_event error reporting. [Skotlex]
* Some cleanup of the castend routines to not clear the skill variables if
for some reason the casted skill triggers another skill. [Skotlex]
* Vending is now cancelled on a pc_setpos [Skotlex]
* Pressure again ignores Basilica. [Skotlex]
* Fixed attacker's sc being nulled when the target's sc is empty (fixes
most status changes not taking effect during battle) [Skotlex]
* Slaves now do a battle_check_target to check if the new target is an
enemy when acquired through the master's skilltarget. [Skotlex]
* Fixed SC_SKE halving de2 twice. [Skotlex]
2006/02/20
* The Super Novice Explosion Spirits skill will now trigger when the last
sentence is said (not after the next sentence as it was currently) [Skotlex]
* Now the default delay of amotion is applied only for BF_WEAPON, non
NK_NO_DAMAGE skills (so stuff like Summon Spirit Sphere get the default
skill delay rather than ASPD) [Skotlex]
* Made the Char-SQL server send the GM listing when the map server
connects. [Skotlex]
* Play-dead and Basilica now block Gospel [Skotlex]
* Map SQL server will no longer ignore the gm-list packets received from
char. [Skotlex]
* Login-SQL server will not free the current GM listing if the SQL reading
of it failed (prevents GM lists being lost on SQL connection problems)
[Skotlex]
* Login-SQL will now read for the GM list ALL accounts with level above 0,
not just those with level above min_gm_level (just like the TXT server
does) [Skotlex]
* SC_NOCHAT is not dispelled on death now. [Skotlex]
* Cleaned up the global message function, Super Novice Explosion Spirits
will not trigger on maps where said skill can't be used. [Skotlex]
* Close confine won't get the bonus range on cast as other skills do due to
exploits. [Skotlex]
* Fixed a bug in setnpctimer. [Skotlex]
* Menu-based skills now use their own variables separetly from the normal
skill variables. This should enable them to work even when you keep doing
other stuff between the menu invocation and selection. Also gives a better
control over packet-based exploits. Affected skill/script-commands are:
[Skotlex]
- Arrow Crafting
- Warp Portal / Teleport
- Item producing
- Identify
- Repair weapon
- Pet egg selection
- Hindsight
- Weapon refine.
- Feel of the Stars, Moon and Stars.
* Corrected the implementation of Gangster's Paradise to work as it should.
[Skotlex]
* Fixed Close-confine not properly ending on a knockback (that includes
backsliding) [Skotlex]
* Changed MAX_RANDITEM from 2000 to 10000 to fit new databases [Komurka]
* Fixed Taekwon stances not triggering. [Skotlex]
* Added atcommand @exp [Skotlex]
* Added error reporting when add_timer_interval receives a negative/0
interval value. [Skotlex]
* Fixed a possible infinite recursion bug with splash self skills. [Skotlex]
* Modified the way firewall_hits_on_undead works, to loop and invoke
multiple skill_attacks based on the value. Now it behaves a lot closer to
how Aegis Firewall does (except a good default value for this config switch
is missing) [Skotlex]
* Preparing eA for new mob_skill_db from Aegis 10.2 [Komurka]
- increased MAX_MOBSKILL 32 -> 40
2006/02/19
* Some fixes to the last item usage tick. Items should be working fine now.
[Skotlex]
* Fixed parsing of @kamic/@kamib to check for case. [Skotlex]
* Now you can hide from Pressure. [Skotlex]
* Weapon endowing will work on targets already endowed with the same
element. [Skotlex]
* Now reseff cards will take effect even if the status change is passed
with &8 flag. In short, now reseff are ALWAYS applied to the status change
defense. [Skotlex]
* Removed a missing break that was making AM_TWILIGHT2/3 always fail.
[Skotlex]
2006/02/18
* Removed the SP_<stat> cases from status_get_sc_def as they were colliding
with other status changes. [Skotlex]
* Implemented SG_MIRACLE (Miracle of the Sun, Moon and Stars) [Komurka]
- duration is stored in battle_config.sg_miracle_skill_duration (currently
it's set to 10 minutes)
- ratio is stored in battle_config.sg_miracle_skill_ratio (currently it's set
to 0.01% chance per character move)
- this skill enables you usage of all Warmth skills, Comfort skills, and also
all mobs will be target of the Stars regardless of the day and map
- you'll see message "[Miracle of the Sun, Moon and Stars]" when skill kicks in
* Added upgrade file upgrade_svn5322.sql because apparently not everyone
has the guild table with autoincremental guild_id defined. [Skotlex]
- If you can't create guilds, chances are you need to apply this ugprade.
* Fixed a missing break that was making Heal, Resurrection and some others
become attack skills [Skotlex]
* Some CELL_NOSTACK Mod updates: [Skotlex]
- Made the free-cell lookup more extensive.
- Allowed pc_setpos to place players on top of cells that are stacked
- Fixed a logic bug in the mob-walk code that was making them get stuck and
not move (triggered quite often when the cell no stack mod is enabled)
2006/02/17
* Cleaned up irc.c, may it compile now on Windows? [Skotlex]
* Updated the VC project files by Joshuaali. [Skotlex]
* Fixed possible crash on pet egg select. [Skotlex]
* Massive update on the way splash/area (non-ground) skills work. [Skotlex]
- the new column 'splash' in skill_db is now used to determine the area of
effect of all related skills (eg: splash range of fireball, area of effect
of angelus, the splash damage area of mines, etc)
- nk definition update. &1 is no damage skills, &2 is for splash skills. A
skill can be tagged 3 to indicate it is both. This is used to indicate the
type of handling the skill should use, but it also helps as all splash
skills get an extra check to prevent them from hitting 'unhittable'
characters (ie: hidden) while all skills not tagged as non-damage can
trigger auto-spells.
- All self skills are automatically executed as no-damage skills and get
re-routed as damage skills when the source and target do not coincide (this
handles all combo skills)
- Some skills may have screwed up (I fixed/moved all which I could find
needed updating). As usual, report any issues.
* Added an upgrade_svn file that should fix the party table by making the
party_id auto-incremental. Apply this or new parties will always fail!
[Skotlex]
* Changed around the included files in irc.c to see if it compiles under
Win32 native. [Skotlex]
* Char-SQL server updates: [Skotlex]
- Removed the unnecessary party/guild check on each char-save.
- Removed the 'quick loaded char' messages.
- Some code cleanup.
- Fixed one or two memory leaks.
* Applied the suggested fixes by Joshuaali to fix the compiling of the sql
map server on Win32 systems. [Skotlex]
- note that irc.c is still uncompilable, but the rest "should be fine" now.
* Fixed the memory leak on opt_2str as pointed out by End of Exam [Skotlex]
* Fixed a few char SQL memory leaks as pointed out by End of Exam [Skotlex]
2006/02/16
* Fixed a crash in AL_TELEPORT. [Skotlex]
* Now you can't close-confine and already confined mob. [Skotlex]
* mysql/my_global.h now includes winnt.h under Windows systems... [Skotlex]
* Some code cleanup of status.c [Skotlex]
* Removed the check that prevented mobs from walking into a basilica. [Skotlex]
* Added a new column in the skill_db to specify the
splash-range/area-of-effect of skills. (Work in progress) [Skotlex]
* Autocasted AL_TELEPORT should now automatically pick menu entry rather
than showing the box up. [Skotlex]
* The battle config options sp_rate and hp_rate are now applied
independently of the same type of bonuses from cards. [Skotlex]
* In CELL_NOSTACK mode, mob_canreach will now ignore other players when
checking if there's a path to the player. [Skotlex]
* Added RG_RAID to the list of skills that need a status_checkskilluse on
skill_attack. [Skotlex]
* Added the mapflag check monster_noteleport to AL_TELEPORT. [Skotlex]
* Fixed the sc_def rate not being reduced in status_change_start. [Skotlex]
* Changed the include in irc.c from strings.h to string.h, which fixes a
bunch of compilation warnings here... [Skotlex]
* Updated the SQL login/char servers to let the mysql server grant the new
IDs for accounts/chars/pets/parties/guilds instead of them being handled by
the server. [Skotlex]
* Some cleaning of the pc item use functions. [Skotlex]
* Gospel shouldn't block enemies in certain situations from using items
now. [Skotlex]
2006/02/15
* Fixed crash in chrif_load_scdata warning message. [Skotlex]
* Fixed pets displaying "strangely" when they did not have their pet armor.
[Skotlex]
* Added battle config option pk_level_range for specifying valid level
ranges to engage in PK (battle/misc.conf) [Skotlex]
* Added battle config allow_es_magic_player to enable SL_S* skills to work
on non-mobs. (battle/skill.conf) [Skotlex]
* Fixed the char servers to store correctly exp as uints. They are also
capped to LONG_MAX before being sent to the client. [Skotlex]
* TK_DODGE now dodges all ranged attacks, when used with SPURT, dodges
everything. [Skotlex]
* The autospell loop now cancels after one successful cast. This means if
you have 10 autospells with 100% casting rate, only one will come off with
each hit instead of all of them. [Skotlex]
* Warm skill update: [Skotlex]
- they are type BF_WEAPON, so that they may trigger effect/spell cards.
- Changed their element to -1 to carry on weapon's element.
- Against player it only damages 60SP per "hit"
- Against non-players it is a knockback skill as it was before.
- Hit frequency increased to once every 100ms.
* TK_DODGE now only dodges ranged weapon attacks, while under Spurt mode
it dodges everything (provide better information if this is not how it
should behave as the current info given is conflicting itself >.<)
[Skotlex]
* Cleaned up and expanded the sc_def_rate battle config. The new battle
flags are mob_sc_def_rate, pc_sc_def_rate, mob_max_sc_def, pc_max_sc_def
[Skotlex]
* Modified Marionette Control so that the max bonus stats you get is capped
to your server's defined max stats instead of 99. [Skotlex]
* Mobs are no longer affected by the vs_traps_bctall switch. [Skotlex]
* Added function pc_damage_sp to damage the SP of players, updated code as
necessary. [Skotlex]
* Fixed @lvup command adding levels instead of substracting when you
specify a negative quantity. [Skotlex]
2006/02/14
* pc_setinventorydata won't use itemdb_search on empty inventory slots (id
= 0) [Skotlex]
* Fixed the icon from Provoke being gone. [Skotlex]
* Fixed skill_timerskill (most notable skill broken: water ball doing 1
hit) [Skotlex]
* Removed the declaration of puchar and pchar from my_global.h which was
preventing compiles on native win NT systems. Drawback is now Win9X systems
will fail to compile instead... [Skotlex]
* Hiding cancels Close Confine now. [Skotlex]
* ST_MOVE_ENABLE now also checks for pc_can_move(), and only perform a walk
check if the skill is ground targetted. [Skotlex]
* Moved the berserk_cancel_buffs code to status_change_start. [Skotlex]
* Moved most checks of status_isimmune() to status_get_sc_def [Skotlex]
* Allowed Endow skills to go through status_isimmune characters. [Skotlex]
* Fixed PR_BENEDICTIO not taking away all SP. [Skotlex]
* Modified the way Status changes are linked to skills for an easier to
read implementation (see status_initChangeTables). [Skotlex]
2006/02/13
* Added battle config sc_def_rate which adjusts natural defense of
characters against status changes (see conf/battle/battle.conf). [Skotlex]
* Pet eggs will now not be deleted from the inventory until they arrive
from the char-server. [Skotlex]
* pc_readdb will now print if any classes are missing their exp tables.
Only exception are JOB_WEDDING and JOB_XMAS. [Skotlex]
* Made the NPC_BREAK* skills attack skills again, their chance of equipment
breaking code was moved to skill_additional_effect. [Skotlex]
* Now when the exp table does not has enough data to reach the max level
specified, the max level will not be reduced to enable leveling through
quests/scripts/gm-commands/etc. [Skotlex]
* Made Land Protector Block Hammerfall. [Skotlex]
* Updated item_db code to stop creating items for every non-existant ID
used. Instead it will complain, and use a dummy item that has the view ID
of an apple, and it's type 3 (etc item). [Skotlex]
* Modified PA_GOSPEL so that the random damage attack becomes a BF_MISC
attack. [Skotlex]
* Added pc_resetskill when lowering job level and there's not enough
skill points to substract. [Skotlex]
* Fixed SG_FUSION costing SP to deactivate. [Skotlex]
* Some cleaning up at pc_setpos to prevent calling pc_clean_skilltree
[Skotlex]
* Enabled use of TF_HIDING while Cloaked. [Skotlex]
* pc_resetstate won't remove wedding skills now [Skotlex]
* NPC_POWERUP now gives +40% atk per level. [Skotlex]
* Water elementals can be frozen again. [Skotlex]
* Fixed the sc_def equation in status_change_start. [Skotlex]
* Fixed an extra semi-colon that broke win32 compiles. [Skotlex]
* Some rewriting of bounds checks in @baselvup, @joblvup and the #
equivalents to prevent signed/unsigned comparisons. [Skotlex]
* Now slaves give exp/loot (exception: player slaves still stick to the old
rules of no exp/loot) [Skotlex]
2006/02/12
* Some path cleanups meant to get the CELL_NOSTACK mod working better with
path searching and the like. [Skotlex]
* Optimized functions skill_addtimerskill/skill_cleartimerskill [Skotlex]
* Fixed SC_DANCING for non players (was making dances only last 1 second
for them) [Skotlex]
* Modified map_moveblock to handle updating dance's position as well as
ending close confine status effects. [Skotlex]
2006/02/10
* Fixed Sonic Blow's damage for lvl 1~9 [Vicious]
* The status window will now show the total power of both weapons instead
of just the right-hand weapon for dual wielders. [Skotlex]
* Removed #include <lcms.h> from irc.c, since it's unused and some people don't have it. [Valaris]
* Changed the default MAX_LEVEL supported by the map server to 1000. [Skotlex]
* Pet Lures won't be consumed now when used on a non-mob. [Skotlex]
* Fixed map_searchrandcell function. [Skotlex]
* Modified the NPC_BREAK* skills to break equipment at a 10%*lv rate. [Skotlex]
* Modified the drop item routines to perform stacking checks only for
player attempted item drops, therefore, mob drops will stack up to
infinity. [Skotlex]
* NPC_POWERUP now gives +20% attack per skill level. [Skotlex]
2006/02/09
* Fixed "set baselevel, X" sending one to a different level than the one
requested. [Skotlex]
* Added range checking to mob skill loading of permillage and delay to
prevent overflows. [Skotlex]
* Fixed pc_gainexp not working for next level exp requirements above
INT_MAX. [Skotlex]
* Fixed the display of @showexp not working right for exp values above
INT_MAX. [Skotlex]
* Removed the conf sql code for now. Maybe will continue later with that project.
Lowered the irc keepalive timer, and added some checks for use_irc that should have been there.
Added a return line \n to the beginning of the title screen. [Valaris]
* Added function mob_respawn which makes a mob respawn on spot 3 seconds
after defeat if SC_KAIZEL is active. [Skotlex]
* Modified NPC_REBIRTH to use Kaizel level 1. [Skotlex]
* Added setting max_exp_gain_rate which caps how much exp you can get from
a single kill. See battle/exp.txt for details. [Skotlex]
* pc_readdb will now cap experience required per level to UINT_MAX, it will
warn if the exp table has exp values above said limit. [Skotlex]
* Changed the default of skill_delay_attack_enable to no. [Skotlex]
* Code rewrites in mob_damage and party_exp_even_share for correctly
handling overflow issues. Now uses UINT_MAX for range comparisons, as it
should be. [Skotlex]
* Also modified the mob_db reading to use UINT_MAX for exp limits, changed
their exp/job exp fields to unsigned int as well. [Skotlex]
* Modified multi_level_up behaviour to work as specified by Kyoki. That is,
on a level up, the max carry-over exp is the exp needed for the previous
level -1. [Skotlex]
* Modified the skill attack display of Meteor Assault and the Warm Skills
(I think the caster should no longer do fancy animations now on each hit)
[Skotlex]
* Added back water elemental targets being immune to SC_FREEZE [Skotlex]
* SQL compile fix [Komurka]
2006/02/08
* Added battle config option skill_caster_check, which does a
status_checkskilluse on all skill attacks. When enabled (default on) the
caster of the skill is checked on all skill_attacks, which means that
ground spells will make no effect if the caster is unable to fight
(stunned, frozen, etc) [Skotlex]
* Added battle config option status_cast_cancel. When enabled (default off)
some status changes (freeze, stone, etc) will cancel your cast. [Skotlex]
* Fixed the death exp penalty underflow bug. [Skotlex]
* Rewrote/organized status_change_start, it now receives the base rate for
the effect. It handles reducing this rate/duration through natural
resistances and whatever else should reduce it. [Skotlex]
* Fixes to exp2.txt on the novice job exp. Thanks to rollopop. [Skotlex]
- Also modified exp2.txt to use the normal max levels by default.
2006/02/07
* Modified battle_check_distance, mobs should no longer find a diagonal
spot on which they lock onto their target, yet fail to attack from. [Skotlex]
* Removed the max level configs from battle/exp.txt [Skotlex]
* Now NPC_POWERUP uses SC_INCATKRATE instead of SC_EXPLOSIONSPIRITS for
enhancing damage. Instead of +1k atk per skilllv, it is +50% atk per
skilllv. [Skotlex]
* Fixed char server changing the save/last point to new grounds in certain
situations. [Skotlex]
* Fixed SG_STAR_ANGER not getting it's damage bonus at all. [Skotlex]
2006/02/06
* Added a custom exp table that goes up to level 1000 (db/exp2.txt). [Skotlex]
- It uses a inverse exponential growth rate to mimic the official exp rate
increase as close as possible.
- It overrides the exp level of the last 5~10 official exp values for a
smoother curve.
- It's adjusted so that the Lv1000 exp requirement for Advanced Base/2nd
Job is close to the unsigned int limit without going above it (limit is
4294967295 in my system. It goes up to 42k Million on Advanced
Base lv1000, I think)
* Fixed startnpctimer starting multiple timers instead of failing when the
npc timer is already running. [Skotlex]
* Venom Splasher update: [Skotlex]
- always hits (but splash damage targets can still avoid it)
- Being hit does not cancels it,
- works at 75% or less of target's HP
- being hit normally while under the count has a chance of causing poison.
- Damage is +400% + 50*lv%
* Using autoloot with no arguments now toggles it between @autoloot 0 and
@autoloot 100% [Skotlex]
* Falcon Assault now takes Blitz Beat lv5 as base damage. [Skotlex]
* Fixed pc_makesavestatus not updating status.option correctly. [Skotlex]
* Corrected Waterball so that higher levels can do insane amount of hits. [Skotlex]
* Altered slave behaviour. No more random walking, will stay within 2 cells
of their master. [Skotlex]
* Reverted the Summon Slave behaviour to not adjust level based on number
of current slaves. [Skotlex]
* Coma no longer sends SP to 1. [Skotlex]
* Updated Meteor so that when level 11 or more is casted, the area over
which meteors fall is tripled. [Skotlex]
* Dark elemental characters are now immune to Curse. [Skotlex]
* Fixed sc_data saving to sql buffer building method. Thanks to its_sparky. [Skotlex]
* Changed the map zone reading from using pow to a bit shift. [Skotlex]
* Experience has now been changed to unsigned int, and is read as such from
the dbs. [Skotlex]
* Increased HT_DETECTING seek range to 7x7 [Skotlex]
2006/02/05
* Added some of eAIRC bot code, written by me and LittleWolf.
It is disabled and has no configuration options yet, as it is not finished. [Valaris]
* Fixed and documented script command "callshop". [Skotlex]
* Updated sq;-files/mob_db.sql with current mob_db. [Skotlex]
* Updated sql-files/item_db.sql with current item_db. [Skotlex]
2006/02/04
* Skotlex's Falcon Assault fix. [Vicious]
2006/02/03
* Fixed the debug script messages specifying the wrong mapname for NPCs.
[Skotlex]
* Now you can't hide from earth elemental attacks (status_check_skilluse).
[Skotlex]
* Grand Cross/Grand Darkness can no longer get the ignore defense -armor
piercing bonuses from cards. [Skotlex]
* Loki's weil is now ignored by bosses. [Skotlex]
* Land Protector and Gantantein should now ignore traps. [Skotlex]
* Fixed Shinobi card so that it fails when you aren't next to a wall.
[Skotlex]
* After a guild master change, the new guild master has his guild skills
blocked for 5 minutes to prevent abuse. [Skotlex]
* Fixed txt-converter compilation errors [Komurka]
2006/02/02
* Fixed crash in status_change_timer. For some reason the block type switch was removed. [Valaris]
* Crash fix in npc.c npc_timerevent.
was: struct timer_event_data *ted = (struct timer_event_data*)ted;
changed: struct timer_event_data *ted = (struct timer_event_data*)data;
Skotlex, I am assuming it's calling from the passed data var, If I'm wrong
please fix it. I just know what was there was definitely not correct. [Valaris]
* Improved the NPC timer system to enable multiple timers going on at a
time with different players attached to each. Now npc event timers are of
two types: attached or global. The global timers don't have a player
attached and can be started/halted by anyone. The character timers have a
player attached, and they can only be stopped by a script that has the same
player attached. [Skotlex]
- Now player attached scripts will auto-abort when the atteched player
quits the map server.
- Of course, this requires some major testing as it's prone to have bugs...
* Applied the Entry Reusage System to the battle delay damage timers.
[Skotlex]
* Fixed the map server complain when using the default user/password
showing up if you set the new user/pass on the import file. [Skotlex]
2006/02/01
* Fixed compile errors and warning in chrif.c and charsave.c. [Valaris]
* Map and char server now will complain if they are run using the default
user/password set. [Skotlex]
* Trick Dead makes you stop walking now. [Skotlex]
* Soul Burn is not affected by Lex Aeterna, not affected by target's cards
neither. [Skotlex]
* Freeze and Stone take preference over Benedictio. [Skotlex]
* Sleep/Stun/Petrify/Freeze block each other out. [Skotlex]
* Fixed areamonster when the passed class is negative. [Skotlex]
* Removed the clear screen when launching the server. [Skotlex]
* Integrated the status change variables into a single structure for easier
management. [Skotlex]
* Break fall should no longer trigger when inflicted by freeze/stone/etc
[Skotlex]
* Fixed an overflow in grfio causing read problems in Win32 builds [celest]
* Changed resnametable loading behaviour - grfio will load from data directory
first, and then from the highest priority grf only if that fails [celest]
* Increased grfio filelist limit to 1048576 to avoid problems when loading
too many large grfs [celest]
2006/01/31
* Fixed skill_check_cloak to use the current skill level of the cloaking
skill and not pc_checkskill() to know if a cloaker away from a wall should
be uncloaked. [Skotlex]
* Likely fixed opening guild storage. [Skotlex]
* Removed no penelty mapflag for nifilheim. Confirmed on iRO. [Kayla]
* Changed default value of gm_cant_drop_max_lvl to 98. Also reworded the
comments for cant_drop_max and min. [Kayla]
* Disabled pet skills by default. To my knowledge they are only enabled on
cRO, not iRO nor kRO. [Kayla]
* PF_SOULBURN no longer ignores mdef. [Skotlex]
* HW_GRAVITATION should now invoke auto spells. [Skotlex]
* Cleaned up damage return code. Reflect Shield and the like now should
also trigger autospells from normal attacks (previously it was only worked
on skill attack returned damage) [Skotlex]
* Cleaned up Summon Slave mob skill to only summon number of missing mobs
to complete the skill level (that is, SS level 5 will always bring the
total count of slaves to 5, never above). [Skotlex]
* Fixed being able to Encore skills you no longer have in your tree.
[Skotlex]
* Added no HP regen while Bleeding, -25% ATK and ASPD penalties as well.
[Skotlex]
* Added VIT reduces duration of confusion. [Skotlex]
* Added "onspawn" mob skill condition. [Skotlex]
* Changed the exp table format. The new format allows specifying exp tables
for any particular class. Thanks to Playstester for converting the official
exp table to the new format. [Skotlex]
- UNTESTED: Report any problems asap.
2006/01/30
* Autoloot now uses the item's base drop chance rather than final drop rate
to determine if it should autoloot the item or not. [Skotlex]
* Fixed super novices getting +10 to all stats temporarily when their death
count isn't zero. [Skotlex]
* Fixed Kahai displaying HP-SP as the total healed instead of HP [Skotlex]
* Cleaned up skill_repairweapon to prevent crashes when the target
vanishes/changes/whatever before the weapon to repair has been selected.
[Skotlex]
* Parsing the Storage/Guild Storage from the char server will now fail if the
storage has been modified and not saved yet. [Skotlex]
* Being hit now cancels confuse. [Skotlex]
* Added back the bleeding icon. [Skotlex]
* Fixed Combo Finish Soul Linked Effect being a 11x11 area rather than 5x5
[Skotlex]
* Added 'restricted' mapflag, based on lordalfa patch [Komurka]
- you can set restriction zone on map (see mapflag/restricted.txt)
- you can turn off item usage on certain restricted map in item_noequip.txt
- you can turn off skill usage on certain restricted map in skill_nocast_db.txt
* Moved MVP log code so it can log all MVP, not only when player gets MVP item,
thanks to Hatred_ [Komurka]
* One more small fix on 'bSPVanishRate' (hp -> sp) [Komurka]
* Added bSPVanishRate to const.txt - Dark Priest Card should work now ^^
* Implemented bonus2 bSPVanishRate for Dark Priest Card [Komurka]
- it isn't finished - I get '[Warning]: pc_bonus2: unknown type 0 50 10!' ><
* Applied lordalfa patch - you can now forbid usage of certain cards on PVP/GVG/WoE
defined in item_noequip.txt [Komurka]
2006/01/29
* Added support for more account states like "Unavailable due to hacking/bug
investigation" etc, thanks to NeoSaro [DracoRPG]
2006/01/28
* Added the night mapflag to the new maps. Removed some indor maps. [Poki#3]
* Added DISGUISE MobID; UNDISGUISE; script commands [Lupus]
- Made them for Eastern Year of the Fire Dog Event.(to be uploaded today)
2006/01/27
* Added support for mob_avail.txt replacement for NPC classes. [Skotlex]
* Added "sense_type" config to conf/battle/skill.conf to select which defense
is displayed on the sense screen. Defaults to displaying def+def2. [Skotlex]
* Modified traps so that once they trigger they set themselves as "Into the
Abyss" casted traps, so that if you remove them, you won't earn the item.
[Skotlex]
* Fixed Basilica (small bug introduced yesterday) [Skotlex]
* Hopefully cleaned out the warnings when compiling the char-SQL server.
[Skotlex]
* Updated the makefile for the plugins to take into account the ers.o file.
[Skotlex]
2006/01/26
* Updated VC project files, thanks to D-Kalck. [Skotlex]
* Rare drop announces will now be done based on the mvp_sd (character who
did most damage) instead of sd (character that delivered final blow)
[Skotlex]
* Fixed TK Doridori bonuses to double your regen instead of giving 30Hp/3Sp
[Skotlex]
* Fixed Sense displaying def2/mdef2 when it should display def+def2 / mdef
+ mdef2. [Skotlex]
* Fixed Super Novices losing their skill tree (showing up just basic skill)
under certain circumstances. [Skotlex]
* Cleanup and optimization of the movement routines. [Skotlex]
* Added experimental feature "Cell Stack Limit". When enabled (see
src/map/map.h) it should limit the amount of characters that can be placed
on the same cell. That's assuming it works (experimental and untested as of
yet) [Skotlex]
* Hopefully fixed Benedicto checking on the west/east tiles instead of the
left/right tiles of the caster. [Skotlex]
* Fixed mobs being unable to move on tick loopback (which happens every ~51
days) [Skotlex]
2006/01/25
* Reverted last change, when you log again it still shows the fake
icon. [Foruken]
* Temporary fix to fake mute status when using pk_mode and
!muting_player [Foruken]
* Probably fixed the max base/job battle config options actually enabling
characters to reach one more level than the max specified. [Skotlex]
* Fixed BSS Sacramenti not hitting demon type enemies. [Skotlex]
* Now poisoned monsters will show HP updates as their health goes down
(let's see if this finally convinces people that poison works u.u)
[Skotlex]
* Splitted up battle_athena.conf into multiple configuration files.
battle_athena.conf only contains import lines now, and all the
configuration options are located in conf/battle/* [Skotlex]
* Updated the db version with the new one by FlavioJS [Skotlex]
* Improved the error reporting when failing to load a mob skill due to
insufficient fields. [Skotlex]
* Changed map_getallusers to use the db interface getall (hope it doesn't
breaks horribly) [Skotlex]
* Added an attack delay to TK kicks to prevent the top10 rankers from
attacking normally during the skill animation. [Skotlex]
* Updated script.c to display the file not found error using braces as
delimiters to help when npc filenames include spaces and the respective file
is not found due to them) [Skotlex]
* Changed TK_RUN to a misc attack type which should enable you to halt the
skill quickly after starting it. Updated SC_SPURT to be triggered when you
stop running if you stopped running one sec or less after you started.
Corrected the icon of SPURT to be that yellow Running Man. The previous
footsteps effect was assigned to CHASEWALK. [Skotlex]
* fixed battle config item_auto_get setting autoloot to just 0.01% drops
rather than 100%. [Skotlex]
* Added Sharp Shooting check to skill_attack to prevent hitting hidden
characters. [Skotlex]
2006/01/24
* Some cleaning up of battle_calc_damage, Assumptio should now also reduce
damage of all types of attack, not just weapon-based ones. [Skotlex]
* Incremented SL_MONK combo SP cost reduction to 25% [Skotlex]
* Updated Full Adrenaline Rush to work on all weapons except bows. [Skotlex]
* Updated the script engine to report the src of an error when there's a
problem with one of the script functions. For example, if there's a "player
not attached error", it will also print which NPC caused it. [Skotlex]
* Added RFIFOSKIP(fd,RFIFOREST(fd)) to the end of the login server's parse functions.
This is good for clearing out packets of one byte. [Valaris]
* Fixed noteleport mapflag affecting Warp Portal. [Skotlex]
* Fixed map server crashing when parsing an incomplete mob-skill line. [Skotlex]
* @autoloot 100 will now pickup items that have drop rates ABOVE 100. [Skotlex]
2006/01/23
* Added battle config "no_spawn_on_player", see battle_athena.conf for
details. [Skotlex]
* Fixed bows doing less damage on criticals when having high dex. [Skotlex]
* Moved the enemy_critical adjustment to status_get_critical. [Skotlex]
* Fixed @chardisguise to use the same id checks as @disguise. [Skotlex]
* Fixed SightBlaster 'hitting' dead characters. [Skotlex]
* Basilica check in status_checkskilluse expanded to help mobs release
their target as soon as they walk into a basilica. [Skotlex]
* When a player stops walking their to_x and to_y is updated to their
present position. This MAY fix warp portal not warping players that were
already there waiting to be warped. [Skotlex]
2006/01/22
* typo fixes (fell -> feel) [Komurka]
- mob_db_mode_list.txt updated
- removed some unneeded comments (//komurka)
* Some changes of @main. Now you can send main-chat messages by sending whisper
to nick "Main" (or any other, it can be set in inter_athena.conf). [LuzZza]
2006/01/21
* Changed gm_can_drop_lv battle conf switch to gm_cant_drop_min_lv and gm_cant_drop_max_lv [Komurka]
* SL_SWOO (Esu) will only lasts 1/5 of normal time when used on a Boss-type monster [Komurka]
-SL_SKE (Esk) won't work on a Boss-type monster anymore (if you KNOW that it should work on them
write about it on forum; either way don't bother guessing ... SL can solo ANY boss with this skill ~.~)
2006/01/20
* Fixed the login-TXT login Log. [Skotlex]
* Small update to sql-files/item_db.sql to fix speed potions (a complete
update will be done when possible...) [Skotlex]
* Fixed clone script command's duration being in ms rather than seconds.
[Skotlex]
* Taekwon Ready Stances combo time is now 2000 - 4*agi -2*dex ms instead of
a flat 2 secs (same reduction that Monk combos get) [Skotlex]
* Cleaned up code of SG_HATE, may fix the skill seemingly not working.
[Skotlex]
* Likely fixed Even-Share parties not breaking up when a character with
too high/low level rejoins in char-TXT servers. [Skotlex]
2006/01/19
* Added config option atc_slave_clone_limit to limit the amount of
@slaveclone's a player can have. [Skotlex]
* The clone commands now fail when used on someone of higher GM level than
the caster. [Skotlex]
* Increased the size of the clif_disp_onlyself packet by one to see if it
fixes the mysterious cropping of the last character in the message.
[Skotlex]
* Now when use_statpoint_table is set to yes, it will be used to determine
the stat points you earn on level up. [Skotlex]
* Small fixes as pointed out by FlavioJs in the login TXT server to prevent
crashes in Win32 compiles. [Skotlex]
* Merged Marquis's implementation of Enjoyable Rest's earth scroll bonus.
[Skotlex]
* Fixed players being able to send custom crafted mute requests that would
go through regardless of their gm level and mute others. [Skotlex]
* Updated mapflags [Lupus]
* Modified the client_connect function in socket.c to allow different parse_functions to be called
based on the listening socket. After a make_listen_bind returns a listen fd, set that fd's
func_parse member to whatever parse function to be used. If this value is not manually set
it will just use the default_func_parse function. This only affects server listening sockets
in which the func_parse member isn't even used. [Valaris]
* gvg_traps_target_all now also affects traps in pvp maps. [Skotlex]
* All reflected damage has now a chance to auto-cast spells. [Skotlex]
* Fixed Casting ground spells from within basilica. [Skotlex]
2006/01/17
* Updated the map server code to use some of the new db functions. [Skotlex]
* Fixed ground skills checking the wrong target-type on movement, hence
making them mostly useless (this is what the Warp Portal report was about)
[Skotlex]
* Some code updates to implement the new db interface. [Skotlex]
- SQL compilation not tested, so if it breaks someone report to fix it :X
* Added @clouds2 and clouds2 mapflag using effect 516. [Valaris]
* Fixed some weather effects not working or not functioning correctly. [Valaris]
* Cleanups and organization to maps_athena.txt and map_index.txt, thanks to
Poki for the cleanup work. [Skotlex]
* Some cleanup of the SG_FEEL code [Skotlex]
* Fixed debug mode compiling in VC7.1. Added optimizations to VC7.1 release mode.
Defaulted VC7.1 SLN to debug mode. [Lance]
* Temperory solved the freeing freed pointer error upon map-server shutdown. [Lance]
2006/01/16
* Fixed clif_disp_onlyself packet length, thanks to Orn. [Skotlex]
* Imported Freya's autoloot system which enables one to specify the maximum
drop-rate to loot. [Skotlex]
* Refix of the mapreg SQL saving fix of a while ago... [Skotlex]
* Playtester custom eamobs spawn updates: coal Mines, umbala fields, and
minor changes to Sphinx and Geffen Dungeon. [Skotlex]
* Incremented a bit clone skill usage rate, their rate/delays are now affected
by the battle_config options mob_skill_rate and mob_skill_delay [Skotlex]
* Optimized use of BL_* constants by making them stackable (meant for
map_foreach* calls). Should improve performance by avoiding
battle_check_target calls on a bunch of invalid targets such as
items/skills/npcs on skills and other misc places. [Skotlex]
* Fixed mob skills that should trigger on status on "any bad". [Skotlex]
* TK classes no longer are immune to the strip-effects of Jump Kick [Skotlex]
* Fixed SQL mapreg saving. [Skotlex]
* Reverted Ice Wall Behaviour (you can snipe/cast through it again) [Skotlex]
* Fixed possible crash in skill_check_condition on consume-delayed items [Skotlex]
* Skills whose range is increased by Vulture Eyes now get the range
increased by 10 for non players (assumes VE level 10). [Skotlex]
* Added cardfixes of near_attack_def_rate and long_attack_def_rate to misc
attack calculations. [Skotlex]
* Fixed Spirit of Wizard not working in a couple of instances. [Skotlex]
* Advanced Book now gives 1%*skill level success chance to create element
convert potion [Skotlex]
* Changed the FEEL skill implementation to store/use map indexes instead of
map names.[Skotlex]
* Fixed compilation of plugins. [Skotlex]
* Applied flaviojs's new db interface and fixed compatibility problems with Visual Studio. [Lance]
2006/01/15
* Fixed poison damaging player even when under 25% hp. [Skotlex]
* Fixed permanent character variables in Char-TXT [Skotlex]
* Fixed previous change for stable. Whoops my 5am work again. [Kayla]
* Fixed the trade exploit allowing for a user to send packets while in a trade.
For instance the bank NPC becoming a zeny dupe. Kudos to clown. [Kayla]
* Added script source error reporting to set and getarrayelement, should
print NPC name and location (map, coordinates) on the console when there's
an error with these two commands. [Skotlex]
* Removed treasure chests spawning upon agitbreak, leading to exploits. [Lance]
2006/01/14
* Removed the 5% success penalty for trying to make a convertor for which
you don't have the relevant enchant skills. [Skotlex]
* Fixed compilation of Login Converter. [Valaris]
* Fixed bSPGainRace and bExpAddRace with RC_NonBoss and RC_Boss. [Valaris]
* Lex Divina now shows the animation even when used on someone you can't
(non-muted, non-enemy player) [Skotlex]
* Quick hack to make Shield Reflect trigger auto-spells (only this kind of
return damage does it? Because other reflect cards like Orc Lord behave
exactly the same way...) [Skotlex]
* Fixed grf loading to attempt to load from all grf files specified in
grf-files.txt (looking for them in the same order specified in the file,
returns the first match found) instead of only looking up on the last
specified grf... [Skotlex]
* Fixed compilation of plugins. [Skotlex]
* Added error reporting to the db when a null key/data is attempted to be
inserted and the db is configured to not allow them. [Skotlex]
2006/01/13
* Fixed labels located at the beginning of a script not being counted at
all. [Skotlex]
* Applied blackhole89's patch to enable dynamic menus. [Skotlex]
- Script reference doc updated accordingly.
* Ranking Taekwons with lv 90+ no longer get Quest/Wedding skills for free.[Skotlex]
* Readjusted Scream And Frost Joke so now the effect goes off no matter
where the caster went, but the effect will happen only around the area
where the skill was done regardless of where the caster is (which is how it
should work from a logical stand point) [Skotlex]
* Scream and Frost Joke now take effect 2secs after casting, and caster
must remain in same map for it to take effect. [Skotlex]
* Flying Side Kick can't be used by Soul Linkers now. [Skotlex]
* npc_reload should now correctly remove mobs and npcs that aren't placed
in any map (such as mobs that were killed and are waiting for respawn) [Skotlex]
2006/01/12
* Fixed Ice-Wall range problem. [LuzZza]
* Corrected the guild_db_final function in int_guild.c of SQL char-server to
compile and function with the new db code. [Valaris]
* Fixed some advanced skills being able to be copied even when restricted [Vicious]
* Fixed a possible crash-source related to item-picking packets. [Skotlex]
* Now Top 10 ranking Taekwons with base level 90+ get their whole
skill-tree maxed out (but only as bonus-skills, they aren't saved on the
dbs) [Skotlex]
* Some cleaning of the char_name_letters implementation. Characters don't
need a space between them, in fact, placing a space in that config makes
the space count towards allowed/disallowed characters. [Skotlex]
* Some modifications to the db code to make the code portable. It may
compile on windows now. (note I can't test SQL compiles yet so report any
problems ASAP) [Skotlex]
* Fixed Venom Knife consuming two daggers. [Skotlex]
* Inverted the packet order in many skills which cause status effects. The
client expects the status-change packet to arrive before the skill packet
in order for opt3-related changes to make effect on the character. [Skotlex]
2006/01/11
* Added @main command into atcommand_athena.conf. [LuzZza]
* Tuxedo and Wedding Dress no longer get a 'forced' gender check regardless
of config ignore_items_gender setting. [Skotlex]
* Added support for 'invisible' shops. These are shops that are loaded but
not placed on any map, so you can't click on them. [Skotlex]
- Example: -<t>shop<t>Invisible Dealer<t>-,1750:-1,1751:-1,1752:-1,etc...
- Make sure they have a unique name if you want to reference to it with...
* Added script command 'callshop' for invoking shops from within a script. [Skotlex]
- Usage: callshop "Shop Name", flag;
- Distance to shop is still checked, so it's best to use 'invisible' shops.
- flag determines shop selection: 1: Show buy list, 2: show sell list.
Anything else: show the buy/sell/cancel menu.
- Function returns 1 if successful, 0 otherwise, but it is recommended that
the script should be closed right away to prevent problems.
- Documentation to the scripts_command.txt reference file not yet added
because this command is as of yet untested and may need further refining.
* Newly created SQL guilds won't save the member-list right away (this
seems to be the reason why sometimes when creating new guilds, the
guild-master keeps guild_id == 0 in the tables) [Skotlex]
* Fixed char/int_storage.c reporting lines with too many items when in
reality said items had the exact max amount allowed. [Skotlex]
* Moved the status_change_clear code below the exp penalty so that the
SC_BABY effect will work. [Skotlex]
* Fixed the map_index never finding the last map specified in the
map_index file. [Skotlex]
* Fixed an overflowed pointer in char/inter.c, and an already free'd pointer
error in map/guild.c [Skotlex]
* Added battle option party_item_share_type, now you can choose between
round-robin (previous implementation) and random (default) [Skotlex]
* Fixed compilation of the plugins (due to the db change) [Skotlex]
* Fixed a few issues with the map server (notably npc_command_sub was
broken) [Skotlex]
* Added proper escaping of the motd string before inserting it on the rag
server info SQL table. [Skotlex]
2006/01/10
* Updated the map-server to conform to the new db interface. Removed
DB_DELAY_FINAL_CHANGES and related code from db.* as now eA fully complies
to the new interface. [Skotlex]
* Crafting Arrows, Weapon, Forging/Upgrading now all fail if you have an
npc going on to prevent your inventory from being modified while selling.
[Skotlex]
* Updated the char-SQL server to etc etc etc new db etc etc etc. [Skotlex]
* Cleaned up the description of size_fix.txt [Skotlex]
* Updated the char-TXT server to be blah blah blah new db blah blah. [Skotlex]
* Updated both login servers to be fully compliant with the new db
interface. [Skotlex]
* Moved skill damage bonuses from cards to the 'second layer' which means
they are applied on top of previous damage bonuses rather than just adding
to them. [Skotlex]
* Some more updates to the db code as specified by FlavioJS [Skotlex]
* Fixed the memory leak of npc_unload_ev. [Skotlex]
2006/01/09
* Some more updates regarding the new db system. [Skotlex]
- Note that there's currently a leak regarding npc_events (ev_db), but this one is
not a serious problem (unless you use a lot of npc_reloads) and will be
fixed as the db gets improved.
* Moved the Kaupe code to battle_calc_weapon_attack where it will dogde all
weapon-based attacks that can be dodged (giving the illusion of infinite
flee for skill's duration). [Skotlex]
* Moved Sonic Acceleration and Soul Linked SB damage bonus to the second
layer of skill modifiers. [Skotlex]
* Enchant Deadly Poison and True Sight damage bonuses are now applied after
skill modifiers rather than added with them (damage % stack type). [Skotlex]
* Modified Ice-Wall to work using cell types defines instead of directly
modifying the gat terrain information. Main reason for this is to enable
pc_setpos to place players on top of an ice-wall, because otherwise it
was forcing players to warp-around even in maps with noteleport set which
is prone to exploits. [Skotlex]
* Fixed SG_FUSION (SG_FUSION <-> SC_FUSION #_#) [Komurka]
* Now sense elemental values are again uncapped (so enemy with -25% resist
will show 230% instead of 0%), as requested :P [Skotlex]
* Replaced the db subsystem for FlavioJS's implementation and initial work
on updating the eA code to use it as intended. [Skotlex]
* Fixed Char-TXT server saving last/save maps with spaces on the left. [Skotlex]
* Fixed Char-SQL server saving new character's maps with spaces on the left. [Skotlex]
* Fixed Charsave method 1 saving memo maps with spaces on the left. [Skotlex]
* Changed the order of packets sent for Assumptio (may fix the visual not
showing up?) [Skotlex]
2006/01/08
* Fixed the guild SQL cache removing guilds from memory when said guilds
had no data to save (but were not yet marked for removal) [Skotlex]
* Added a cap to limit Star Gladiator's job level to that of the normal
classes (instead of 2nd classes) [Skotlex]
* Fixed TXT char server parsing only the first character permanent variable
received from the map server and ignoring the rest. [Skotlex]
* Fixed @users crashing the server. [Skotlex]
* Added Arrow Repel to the list of skills whose range is increased by Vulture Eye. [Skotlex]
* Fixed the item pick-up rule for party options being working backwards. [Skotlex]
* Fixed progress info in TK_MISSION [Komurka]
* Fixed an aproximation error when calculating distances which causes stuff
like mobs thinking they are within attack range when they actually aren't
[Skotlex]
* Char-server will now be notified after a character logs out when using
charsave_method:1 [Skotlex]
* Added check to update pet's position on pc_movepos (stuff like High Jump)
when the master moves too far away or to a position the pet can't reach.
[Skotlex]
* Fixed char-save method 1 saving map names with padding spaces to the
left. [Skotlex]
* Now sense elemental values are capped to 0 as lower bound (so for an
enemy with -25% resist, it'll show 0% instead of 230%) [Skotlex]
* Updated sql-files/ mob_db.sql and item_db.sql to current TXT data.[Skotlex]
2006/01/07
* If player is dead, and is spawned (such as @refresh), death packet is sent. [Valaris]
* Cleaned pc_attack_timer so that the attack timer will auto-readjust when
it triggers during the can't act tick instead of cancelling the attack
sequence. [Skotlex]
* Fixed compilation of the TXT-converter. [Skotlex]
* walkto x,y request packets are now ignored if you are sitting. [Skotlex]
* Fixed a typo that was making the party item-pickup style shared not
taking effect for the item_first_get_time regardless of setting. [Skotlex]
* Applied Playtester's custom mob spawns to the eamobs/ set. [Skotlex]
- These custom mob spawns are an experiment to balance out mob spawns and
put some sense into them (no crap like too strong AND too weak mobs on the
same floor, increasing mob difficulty the deeper into the dungeon you go,
etc), without moving mobs too far from where players are used to see them neither.
- To enable them, modify scripts_main to use scripts_eamonsters rather than scripts_monsters.
- Currently, the modified dungeons are: Glast Heim, Geffen Tower, Clock
Tower, Sphinx, Pyramids, Byalan.
* Added check to make sure guildspy and partyspy variables have value. [Valaris]
* Separated the permanent variables from the character status structure. [Skotlex]
* permanent variables are now loaded on their own packets as needed to
reduce the bandwidth wasted between servers. [Skotlex]
* Permanent account variables are now saved when the script is finished
instead of each time they were modified. [Skotlex]
* OnInit scripts and related code now executes after all perm variables are
received (so now account variables are accessible during it) [Skotlex]
* Fixed typo in pc.c causing crashes in Line 769. [Lance]
* Corrected VC7.1 prject files to include mapindex.c and mapindex.h [Lance]
* Corrected Wrath of the Star formula (added missing STR in equation) [Komurka]
- Added movement speed bonus to SG_FUSION (same as PecoPeco gives)
- You can now 'turn off' SG_FUSION
* updated NoIcewall maplags, thanks to Sir Loon [Lupus]
* soundeffectall modified to rely on dependancies depending on situation. [Lance]
* Modified getd to return 'pointer' (will be 'dereferenced' automatically) instead of value,
making it very flexible when paired with getelementofarray() [Lance]
2006/01/06
* Corrected main.sql having incorrect syntax [Foruken]
* Cleaned up some maps in maps_athena.txt and added a bunch of cloned maps
to map_index.txt [Skotlex]
* Refine bonus is no longer increased by the number of hits from the skill
except for TSS [Skotlex]
* Dispelled Berserk won't drop HP back to 100 now. [Skotlex]
* Mobs that use NPC_SUICIDE won't give neither exp or loot now. [Skotlex]
* Summoned mobs that cannot move will be removed from the map when the
master is gone to another map AND the mob's map is a gvg ground. [Skotlex]
* Fog of Wall effects now work in both directions (outside -> inside,
inside->outside) [Skotlex]
* Fixed the sql guild loading always returning a blank guild when the
guild_id does not exists! [Skotlex]
2006/01/05
* Some changes to the guild SQL code to report whenever a guild's id is not
matching the one it was stored with in the db, which in turn free's the
guild and doesn't saves it to perhaps prevent data corruption. [Skotlex]
* Corrected the fifo-buffer readjusting code to set a reserve-buffer size
of 1/8th of the inter-server link (32K) for said links. [Skotlex]
* The mapif_send* and charif_send* functions (char/login servers) will now
adjust the buffer size when there isn't enough space to write data to them
rather than abort sending the data. [Skotlex]
* Increased inter-server socket buffer size to 256*1024. Should fix problems
with 0x3004. [Kayla]
* Increased inter-server socket buffer size to 192*1024. Should fix problems
with 0x2b01. [Kayla]
2006/01/04
* Fixed buildin_monster not working for random classes (dead branch, etc). [Skotlex]
* Reverted inter-server socket buffer size to 131072 bytes. [Valaris]
* Removed reduction of socket buffer sizes after WFIFOSET if the max size
is >= FIFOSIZE_SERVERLINK. This should reduce inter-server buffer overflows. [Valaris]
* Script command 'monster' will now fail when trying to spawn a mob-class
that is not in the mob_db (warning will be printed on the console) [Skotlex]
* Fixed a crash when spawning a mob who's class is not in the mob_db. [Skotlex]
* Some cleanups and improvements to the character saving algorithm meant to
make it harder to have dupe exploits during char-map connection lag
moments. [Skotlex]
* Doubled the inter-server link buffer size. [Skotlex]
* Fixed status_get_adelay messing up the mob's aspd :X [Skotlex]
* Changed skill_delayfix to use the amotion value as default delay for
weapon skills with no delay instead of attack delay (adelay is actually
twice your aspd, amotion is the same as aspd) [Skotlex]
* Added upgrade_svn4783.sql, which corrects the structure of the mapreg
table to use varchars as it should. [Skotlex]
* Fixed Meteor Assault. [Skotlex]
* Fixed (I hope) the double free'd pointer issue in the login servers. [Skotlex]
2006/01/03
* Fixed the warp unloading code. [Skotlex]
* Updated Jump Side Kick to also clear Berserk Pitcher. [Skotlex]
* Preserve now protects against the stripping effects of Side Kick. Taekwon
Classes (TK/SL/SG) are also immune to it. [Skotlex]
* Hopefully fixed the guild information not being sent in some situations
when people are added/removed from a guild. [Skotlex]
* Some cleaning up and bug fixes to the guild module of the char-sql
server. Let's see if it fixes anything up... [Skotlex]
* Added battle option show_party_share_picker. When enabled tells the
picker of the item who received the item when in a party with 'Party Share'
loot style. [Skotlex]
* Added the nullpo_retv line required for win32 compiles... [Skotlex]
* Added some cleanup code to properly remove all warp related information
on npc_unload (untested as of yet!) [Skotlex]
2006/01/02
* Completed (almost) packet 0x1e9 which gives the party info. Now you can
see the party's item options when opening the alt+p menu. [Skotlex]
* Fixed regen only working when overweight. [Valaris]
* Added body size to clones. [Valaris]
* Corrected TK_JUMPKICK to remove Soul Linker spirit buffs and related
effects (except Berserk-Pitched effect) [Skotlex]
* Corrected TK_RUN to give +10 dmg bonus to kick skills when not wearing a
weapon. [Skotlex]
* Added Kaina's Enjoyable Rest bonus and Max SP bonus. [Skotlex]
* Fixed Stone Curse consuming gems while Soul Linked. [Skotlex]
* Fixed party-change-map packet incorrectly checking if the even share rule
was broken (party share should now correctly break on map-change, or when a
player has it's level reset) [Skotlex]
* Corrected the Jump Kick base-level damage bonus when combo-used. [Skotlex]
* Added the running damage bonus to the TK kicks. [Skotlex]
* Made the TK kicks end the Soul Linked status on targets. [Skotlex]
* Corrected Spirit of Wizard to nullify any bounced back spells. [Skotlex]
* Cleaned up the natural/skill HP/SP regen routines. [Skotlex]
* Fixed Turn Kick not knocking back nearby enemies. [Skotlex]
* Added the damage bonus to Flying Side Kick when used from a combo.
However I am waiting for the actual equation (currently just does +300%
dmg) [Skotlex]
* Fixed Counter Kick for ranking Taekwons. [Skotlex]
* Added walk slowdown and aspd penalty to Eska. [Skotlex]
* Fixed status_get_size which seemed severly broken. [Skotlex]
* Fixed Kahai to only display actual amount of HP healed. [Skotlex]
* Now when a script's map is not found (or not loaded on the map server)
the script engine will skip the whole script instead of just the first
line. [Skotlex]
* Fixed Soul-Linked Dancers not receiving the Bard songs. [Skotlex]
* Updated Joshuaali's VC-8 project files. [Skotlex]
2006/01/01
* Some improvements to the login server (txt/sql) to prevent memory 'leaks'
from accounts that logged in but where never properly set as logged out.
[Skotlex]
* Fixed mapindex not working for last map loaded in map_index.txt [Skotlex]
* Added support for packet 0x1e9, party_main_info. Packet is still
incomplete and the client is ignoring it currently... [Skotlex]
* Changing party options now does not alters item party options. [Skotlex]
* Corrected Kahai healing even when there's not enough SP to do so. [Skotlex]
2005/12/31
* Fixed the additional effects on normal attacks of Enchant Poison, Enchant
Deadly Poison and Kahai not taking effect except when the attacker was a
player. [Skotlex]
* Resurrection now fails on gvg maps (when reviving) [Skotlex]
* Kaite now works on player-casted spells regardless of level... [Skotlex]
* Fixed Kahii healing 0 rather than 200*skilllv... [Skotlex]
* Mobs will now go after the loot as soon as they spot it rather than on
their next random-walk time. [Skotlex]
* Set the 56th byte in packets 7b and 1da. It deals with acceleration in directions.
It's just like the final byte in packet 0x87. Server-side update of this still needs to be figured out. [Valaris]
* Fixed Kaziel not starting Kyrie Elison upon resurrection. [Skotlex]
* Fixed Kahai's healing display. [Skotlex]
* Fixed Kaite bouncing back always one spell. [Skotlex]
* Fixed and tested @waterlevel. It requires the grfs to be present as the
map layout height information is stored there but not in the map data kept
in memory. [Skotlex]
2005/12/30
* Disabled certain packets from taking effect during trades to prevent
possible exploits (such as picking and dropping items, buying selling from
npcs, etc) [Skotlex]
* Now you can't move items to/from your inventory to the cart/storage
during a trade (this is to prevent possible item dup exploits) [Skotlex]
* Emergency Recall now only works from within woe grounds... [Skotlex]
* Removed returns from non-null lines in MOTD. Replaced returns in null lines with a space. [Valaris]
* Fixed a bug where MOTD wasn't displaying blank returned lines. [Valaris]
* Updated mapindex so that name lookups ignore extensions, and the loaded
maps are always terminated in .gat. Id lookups will always return a string
terminated in gat. Purpose? It enables specifying mapnames without the .gat
extension, so you can have npcs in prontera, no need for the .gat. And the
returned string always has a .gat for needed when it is passed to the
client. Now you can safely get rid of the .gat extension in all mapnames. [Skotlex]
* Fixed the txt-converters so they compile cleanly again. [Skotlex]
* Added mapflag script support for no loot, no exp, no return, no warp to,
nightmare drops (see db/const.txt for names) [Skotlex]
* Removed an extra } in int_party.c that caused compile errors. [Valaris]
* Fixed a crash when warp portals passed from passive to active. [Skotlex]
* Added a missing label (M_0) that was causing people to freeze when viewing the city list from "Miss Yoon" [Zephiris]
2005/12/29
* Newly created char-SQL guilds will be saved inmediately rather than at
their next turn in the cache (may fix those guild disappearing errors)
[Skotlex]
* Implemented a map-index which maps map-names to a unique number, this
reduces memory required to store maps as well as the size of related
packets between the char/map server. Maps and their indexes are stored in
db/map_index.txt, and the index of a map should NEVER change (see file for
more details). The index is translated to/from map-names for saving, so
save-structures are not required to be modified. [Skotlex]
- PD: The new mapindex also found a bunch of broken map names in various
NPCs, someone will have to go fix them up.
* Updated the party member structure to hold the char_id. For end users,
the most noticable change is that now you can have more than one
character from the same account belong to the same party. [Skotlex]
- TXT users will have to wipe the party files, SQL users use the respective
upgrade file (upgrade_svn4726.sql) to generate the new party column.
* Updated the char-sql server to hold parties in memories until they are no
longer needed (like the guild-cache), also optimized the save routine to
avoid needless SQL calls. [Skotlex]
** WARNING: Because of the previous optimizations, a lot of code was changed around
the map/char servers, the char-sql's party system got pretty much a
rewrite, so some problems are to be expected. Some basic testing with
parties over here showed no problems, hence the work is getting commited
as it is because it isn't getting any better without further testing.
* Set value of the last byte in packet 0x87 (walkok) to 0x88 (10001000).
This is a default value in Aegis, and has something to do with animation speed in certain directions.
This byte is going to need to be fully analyzed since it does change in Aegis, just that I have
been unable to figure out what the conditions are. [Valaris]
* Mob skills are not even read now if mob skills are disabled in
battle_athena. [Skotlex]
2005/12/28
* Fixed xmas and wedding palette ignore options. It will also no longer send the dye packet if @dye is used. [Valaris]
* Some code cleanup meant to fix possible memory leaks regarding
parse_script() [Skotlex]
* Small fix to party-share item pickup which should fix the current item
dup exploit. [Skotlex]
* Merged Reddozen's implementation of Kahai. [Skotlex]
* Implemented Kaite (it simply changes the target of spell to the caster,
so the caster's status changes and defense are the ones considered)
[Skotlex]
* Removed Guilds Glory from guild skill tree, can be enabled with require_glory_guild
battle conf switch [Komurka]
* Cleaned up the implementation of Poison and Deadly Poison. Corrected a bug
on Deadly Poison that was KO'ing human players when it triggers under
certain circumstances. [Skotlex]
* Added guild_skill_tree.txt [Komurka]
- corrected guild skill tree
* Battle Orders, Regeneration, Restore and Emergency Recall now share their
5 minute delay. [Skotlex]]
* Implemented SC_INTRAVISION [DracoRPG]
* Reorganized a bit DEF/MDEF calculation code [DracoRPG]
* Added a small licence notice at the top of every Athena source/header file, I've tried
to put it only where it should have been but I'm not a pro ^^ [DracoRPG]
2005/12/27
* The 50% Weight Icon will now show up at whatever % was specified in
natural_heal_weight_rate [Skotlex]
* Fixed char-txt server crashing if trying to read storage lines with more
items than the max (excess items will simply not be read and a warning
printed) [Skotlex]
* Added silent_console config option to the servers to filter out the
console output (login_athena, char_athena, map_athena config files). Makes
it possible to hide unwanted messages by category, so for example you can
remove all info messages, or all warning+notice messages, etc. [Skotlex]
* Removed unused battle switches enable_upper_class and unit_movement_type. [Skotlex]
* Reenabled battle switches pet_defense_type, mob_defense_type and
mob_remove_damaged. [Skotlex]
* Applied Irmin's patch to add support for SQL codepages. [Skotlex]
* Fixed friend list saving if using a custom char table name (SQL version). [Valaris]
* Added check for mute in main chat [Foruken]
* Likely fixed lose Hp/Sp script commands when used on accesories. [Skotlex]
* Added 2 new script commands: getfatherid, getmotherid [Lupus]
* Fixed compatibility problems with stricter compilers. [Lance]
* Added joshuali's new VC8 project files and SQL database upgrade script. [Lance]
* Fixed juicer script typo, eliminating unlimited juicing capability with zero zeny. [Lance]
2005/12/26
* Added check for free'd guild pointer beforing freeing in guild_save in int_guild.c. [Valaris]
* Added @kamic command. Now you can send colored GM-messages.
Syntax: @kamic <color> <message>. Color is 3-bytes hexadecimal number RRGGBB. [LuzZza]
* Implemented main chat (global chat channel). Usage: @main <on|off>, @main <message>. [LuzZza]
* Chasewalk players can now be hit in the same way a Cloaked player could.
[Skotlex]
* Added option mob_npc_event_type, read battle_athena.conf for details.
[Skotlex]
2005/12/24
* Fixed @go, thanks to Persian [Vicious]
* Updated @go command for new cities, done by Harbin [Vicious]
* Added root user check and warning to non-Windows compiles. [Valaris]
* Added a check to remove characters that would normally be left unremoved
during shutdown because they just happened to be between maps. [Skotlex]
* Fixed the production code always giving 1 item instead of the value they
should (50/100/200 for Twilight Pharmacy skills) [Skotlex]
* Corrected easy path searching algorithm failing for some cases (which
incidentally seemed to be the reason skill_wall_check was broken) [Skotlex]
* Fixed compile for TXT map-server. [Valaris]
* Fixed stone curse's defense being checked versus int rather than mdef. [Skotlex]
* Fixed firewall treating everyone as undead/fire-element. [Skotlex]
* Added SQL read of cast_db. [Valaris]
* Added SQL read of skill_require_db. [Valaris]
* Added SQL read of skill_db. [Valaris]
* Added setting use_new_sql_db to inter_athena.conf for development.
Do not enable this setting, it will be merged into use_sql_db once all work is finished. [Valaris]
* Added some work towards sqlizing the rest of the databases. [Valaris]
* Changed @help2 to #help to display char commands. Cut @help in half
@help2 has the other half. [Kayla]
2005/12/23
* Missed a change in txt login.c for bind_up. [Valaris]
* Cleanup organization of clif.c and script.c.
Please don't put extra functions beyond inits, try and organize a little. [Valaris]
* Removed login_ip option from login_athena.conf as it is not used. [Valaris]
* Fixed bind_ip option in login servers. [Valaris]
* Fixed a bunch of terrible typos in chrif.c [Skotlex]
* Fixed a terrible typo in the handling of broadcast messages which was
causing the map server to send garbage packets to the char server.
[Skotlex]
* Added resistance (int + luk/3) to Stone Curse's equation [Skotlex]
* Updated sql-files/item_db.sql to current txt version. [Skotlex]
* Fog of Wall update... Blindess won't affect bosses, blindness ends as
soon as you step out (players only) [Skotlex]
* Implemented the Strip equipment effects on mobs. [Skotlex]
* Now when Berserk ends, the char's HP goes to 100. [Skotlex]
* LK's Concentration now gives +50 hit rather than +50% [Skotlex]
* Inverted the handling of Individual/Shared item pickup rule for parties.
[Skotlex]
* Fixed the item ruling for parties not being correctly read from the save
files. [Skotlex]
* Now Star Gladiator uses 2nd Adv.Class Job EXP table (13th column) [Lupus]
- In future there could be added the 14th EXP column, specially for Star Gladiator
2005/12/22
* Begin work on packet optimization .. not done yet [MouseJstr]
* Finished work on @help/@help2. @help will no longer show # commands. @help2 shows
them instead. [Kayla]
* Fixed compile warnings in atcommand.c and map.c. Fixed compile error in script.c. [Valaris]
* wedding_modifydisplay's default is now no (that's how it is on official)
[Skotlex]
* Some cleaning to skill_attack, also added target checking for splash
attacks/groundbased skills [Skotlex]
* Mobs will now stop walking if their target no longer exists (picked up
items, for instance) [Skotlex]
* Modified firewall to cause no damage delay when hitting undead
characters. It may fix undead mobs warping when walking through the
firewall. [Skotlex]
* Added script command "clone" for cloning of players. See
doc/script_commands.txt for further information. [Skotlex]
* Added @waterlevel debug command to read/change the current's map
water-level (command untested) [Skotlex]
* Enabled names for forged weapon/created Potions by default [Lupus]
- Old issues have beed solved long time ago, now items by TOP10 BS/ALCH gain their TOP10 bonuses
2005/12/21
* Now left_cardfix_to_right won't take effect when there's no weapon equipped
on the right hand. [Skotlex]
* Updated slave AI to support player masters as well (that is, you could
have a non aggressive slave, and it will target any mobs the master
targets) [Skotlex]
* Added battle option skill_wall_check, when enabled, all ground skills
will do a check for each cell to guarantee a straight path between the
cells and the target tile. Should prevent AOE skills from hitting through
walls. Due to the possible performance penalty this setting brings, it
defaults to no currently. [Skotlex]
* Default skill delay for skills with no delay is now the normal attack
delay. [Skotlex]
* Extremity Fist/Charge Attack will fail if the player can't move to the
target. [Skotlex]
* Prepare kick skills now only fail for Soul Linkers. [Skotlex]
* Merged in Marquis007's work on SL_SKA/SL_SWOO [Skotlex]
* All skills except Shield Boomerang get the weapon's refine bonus now.
[Skotlex]
* Taekwon Ready Stances will now fail if you are a Second Job of the
Taekwon Tree (SL, SG) [Skotlex]
* Another fix to item picking for party-share. Hopefully it works alright
now (at least I believe it should be dupe-proof now) [Skotlex]
2005/12/20
* Updated water heights for some maps, thanks to [Lupus]
- removed p_track02.gat from the maps list. Thanks to Justin84
* Fixed produce_db items always failing... [Skotlex]
* Hopefully fixed picking up items on a party-share type of party. [Skotlex]
* Txt map servers will now send the whole list of online characters at
UPDATE_INTERVAL (10 secs) rather than CHECK_INTERVAL (1 hour) so that the
online.html file will be correctly updated. [Skotlex]
* Fixed char_sql and char crash because of buffer overrun. [Lance]
* Added a flag to tag non-weapon based skills so that they don't get the
following bonuses: Star crumb damage, Mastery bonuses, Weapon Refine damage
upgrades. Currently applies only to shield skills. [Skotlex]
* Removed use of castle_id for guilds in char-sql server (use corresponding
upgrade_svn* file). TXT servers haven't been touched yet because that
would mess up the guild save files. [Skotlex]
* Online list of characters will be sync'ed every 10 secs for TXT servers.
[Skotlex]
* Merged in Reddozen's work to get Twilight Pharmacy working. [Skotlex]
- Create Deadly Poison Bottle and Holy Water are now both handled by the
item producing code.
2005/12/19
* Fixed char servers not parsing correctly the online count packet (/who
should work fine now) [Skotlex]
* Fixed the Dodge walking speed bonus to Assassin. [Skotlex]
* Added the new Garden City Hugel and Kiehl maps. [Valaris]
* Corrected Kaupe/Kaizel so that you can cast it on self/family when
not-linked, and anyone when linked. [Skotlex]
* Fixed the mob damage log not getting the ID of the attacker registered...
[Skotlex]
* Added a new timer which updates only the count of characters on the
current map server to the char server. Update interval is 10 secs.
[Skotlex]
* Updated status_clear_debuffs to clear many other types of ailments
(Gospel should be clearing up most negative status changes now) [Skotlex]
* Fixed exp calc type 0 (dmg/total dmg) being calculated as 0 always. [Skotlex]
* Implemented the item pickup style for parties. [Skotlex]
- Party share distributes items in round-robin fashion among players who
are in the same map.
- Pick-up Style shared is needed for anyone to be able to pick up the item
bypassing the timers set for first/second/third sd. [Skotlex]
* Optimized map server's online-listing update timers. [Skotlex]
* Some updates to the online db in the char/char_sql servers, should help
fix some memory leaks due to chars left tagged as 'online' even though
that's incorrect. [Skotlex]
* Added buildin_warpchar script function. Useful for warp one player from
another player npc-session. Sytax: warpchar "map.gat",x,y,Char_ID; [LuzZza]
* Now opening storage will fial if the guild storage is open and viceversa.
[Skotlex]
* Total damage a mob receives is now stored on it's own variable. Damage
log implementation clean-up. [Skotlex]
2005/12/18
* Fixed Close Confine not affecting the caster. [Skotlex]
* Fixed all skills except Extremity Fist not getting the weapon size
modifiers [Skotlex]
* Fixed Warp Portal checking for noteleport instead of nowarp mapflag
(again?) [Skotlex]
* Fixed baseJob working as baseClass (I hope it works fine now) [Skotlex]
* Fixed Doridori bonus for Super Novices [Skotlex]
* Updated new MOTD code so that it can compile on VC. [Valaris]
* Fixed clone's dyes changing when they attack. [Valaris]
* Declared pc_read_motd(void) in pc.h for the motd reload command. [Valaris]
* Added @reloadmotd for reloading the motd.txt into memory. [Valaris]
* motd.txt will now load into memory at startup instead of being read everytime a player logs in. [Valaris]
- motd.txt can now have lines commented with "//" .
- MOTD_LINE_SIZE is defined in pc.c, change this to increase maximum amount of lines allowed in motd.txt.
- Default motd line maximum is 128.
* Added a new script function 'setitemscript ItemID,"{ end; }"' [Lupus]
- Very useful for events that give TEMP item bonuses for short time period 8) A Custom New Year Event NPC's coming soon.
2005/12/17
* Updated the svn eol-style properties to make merging between
linux and windows easier when we use more complex branching
system [4544: MouseJstr]
2005/12/16
* left_cardfix_to_right now also moves the ignore race/element defense
bonuses (Ice Pick, Weed Killer, etc) [Skotlex]
* Some fixes to the job_name functions (rearranging inside msg_athena.txt
as well) [Skotlex]
* Left card to right fix will now also apply to defense piercing effects
(Ice Pick) [Skotlex]
* Fixed char-converter being broken for a type mismatch [Foruken]
2005/12/15
* Fixed clone skills again. This time ground-based skills are working, and
support skills have a re-cast delay of half the skill's actual effect. [Skotlex]
* Fixed clone commands sometimes spawning the clone on a non-walkable tile
(which in turn sends the clone to a random map location) [Skotlex]
* Added debug information to the guild cache. Total number of guilds in the
db will be printed now (as long as the save log is active) [Skotlex]
* Updated SG_HATE to pick the specific class (Select a Monk, and the bonus
is against monks only, not Champions/Acolytes/Baby Monks) [Skotlex]
* Removed hardcoded table names in login_sql/login.c [Foruken]
* Some cleaning regarding the job tree skill-raising restrictions code.
[Skotlex]
* Optimized/cleaned up the job_name function, job names are now acquired
from msg_athena.txt. [Skotlex]
* Fixed race defense bonus against Boss/Nonboss checking versus the target
instead of the attacker (should fix Alice Card) [Skotlex]
* Some cleaning in clif.c [Skotlex]
2005/12/14
* Fixed 'dead_branch_active' option. [Skotlex]
* Optimized use of weather effects, or should I say, no use.
Also re-added clif_clearweather to some of the weather effects, when they are turned off.
Why those were removed are beyond me.. [Valaris]
* Temporarily changed the walk speed during Charge Attack and Extremity
Fist to simulate a faster 'zoom' to the target (somewhat untested yet)
[Skotlex]
* Corrected SL_HIGH so that the total of each stat is always 50...
[Skotlex]
* Optimized graffiti display packets (what was I thinking?) [Valaris]
* Corrected a statement in guild.c (== to =) in nulling out the guild cache. [Valaris]
* Implemented a mini cache for guilds/parties in the map server. Looking up
the same guild/party twice or more should result in instant seek times
until a different one is looked up. [Skotlex]
* Fixed saving account variables [Komurka]
* Fixed SL_KAIZEL not starting the proper effect. [Skotlex]
* Merged Reddozen's work of SL_KAUPE [Skotlex]
* Updated checkweight() script command to return false when the player has
inventory full. [Skotlex]
* Soullink check for SG_FUSION [Komurka]
2005/12/13
* Fixed @slaveclone not attacking enemies. [Skotlex]
* Some more cleaning to the clone skills, proper support for Heal,
Resurrection, Double Attack, Triple Blows. [Skotlex]
* Updates/fixes/corrections to battle check target so that mobs with
special AI can fight mobs without it even if the mob doesn't has a human
master. Also updated it so that mobs with no special AI are all friends by
default. [Skotlex]
* Clone skill fixes, support/self skills are now triggering (never
triggered before), adjusted some of the skill usage rates. [Skotlex]
* Dyes will now work correctly on cloned or mob_avail class monsters.
save_clothcolor must be enable in battle_athena.conf. [Valaris]
* Added carts, falcons and pecos to clone and mob_avail class monster spawns. [Valaris]
* Likely fixed the @spawn names issue. [Skotlex]
* Fixed @*clone commands not resolving properly the target char. [Skotlex]
* Implemented the SL_ROGUE bonus to potions. They heal +100% more rather
than 50% (potions from ranking Alchemists, that is) [Skotlex]
* Merged in Reddozen's work with SL_KAIZEL [Skotlex]
* Added the check to prevent KA skills from being usable until you are Soul
Linked. [Skotlex]
* Enabled clif_parse_Taekwon (Why was taekwon parsed as clif_parse_Alchemist?) [Vicious]
* Moved the base attack code into it's own function to properly implement
the magnum break's elemental damage bonus (watch out for bugs as the code
was proof-read, but that usually doesn't says quite enough when it comes to
code). [Skotlex]
* Merged in Reddozen's work for SL_WIZARD [Skotlex]
* Updated clone command to allow attaching the clone to the invoking player
as a slave. @clone creates a friendly clone that attacks mobs. @slaveclone
makes a clone that follows the creator (it's a slave), @evilclone is the
stock clone as a mob). Also fixed min/max damage of clones. [Skotlex]
* Added one extra tile of range to melee mobs in mob_attack, should fix
mobs not attacking when they are range+1 tile from you, yet they refuse to
move in that final tile. [Skotlex]
* Corrected mob ai not moving closer to player if there's a distance of 2
or less between them (which would do no good if the mob's range is just 1) [Skotlex]
* Fixed SG_FRIEND - should work now [Komurka]
* Realtered global_reg value size to 256. [Lance]
* Adjusted pointers location for packets for new global_reg value (it's wrong + I adjusted the size) to 256 + 32 = 288 [Lance]
* Improved variable scope for scripts to accept all string variables. [Lance]
* Altered map, char and login server to correctly use global_reg [Lance]
* do_sendrecv merges from Freya [Lance]
= Requires recheck on packets again to see if I missed any pointer alterations =
* Improved @evilclone to accept character IDs [Lance]
* Corrected partywarp/guildwarp to correctly take into account nowarp/nowarpto mapflags. [Skotlex]
* Added a few custom scripts due to high demand. [Lance]
* Added monster museum. Adapted from Prometheus. [Lance]
* Corrected OnTouch to use exname instead of name to prevent conflicts. [Lance]
2005/12/12
* added manner_system battle conf variable (now you can have PK server without manner system - which is unfinished ;/) [Komurka]
- some corrections in SI_ data (night uses soullink effect)
- changed global_reg value from int to char
added two new functions (pc_readglobalreg_str and pc_setglobalreg_str)
SG_FEEL now saves maps to global_reg
I've 'marked' all changes that SHOULD be checked with '//komurka'
- SG_FUSION hp penalty changed from 2% to 0.5%
- SG_SUN_COMFORT now increase VIT DEF
- implemented SG_FRIEND skill - this is the last SG skill - now it's a good time for bug reports :]
* Updated the max number of ingredients of produce_db to 12. [Skotelx]
* Updated clone code to also copy the skills from the source player. [Skotlex]
* Added Reddozen's implementation of SL_SKE and SL_MONK (sp recovery, Combo
Finisher splash damage, SP regen while in Fury) [Skotlex]
* Some reorganization of the Star Gladiator map-based skills. [Skotlex]
* Fixed @spawn/@monster atcommands 'freezing' server when used. [Skotlex]
* Fixed ground-based skills having their range-check messed up... [Skotlex]
* Corrected melee-ranged mobs failing the range check even if they were
standing next to you. [Skotlex]
* Added all duel-commands messages into msg_athena.conf. Commented out
code of drawing PVP-circle in duel because it not hiding when player use hide. [LuzZza]
* Removed @monster2, merged the code of atcommand_spawn/atcommand_monster
as suggested by Flaviojs. [Skotlex]
* Removed some unused entries in msg_athena.txt [Skotlex]
* When there are unused stack sections (invoked functions and ignored
return values) the unused stack section is free'd. This is still notified
when the etc_log is active. [Skotlex]
* Removed the TURBO code from socket.c as requested by MouseJstr. [Skotlex]
- It was actually slower than the normal code.
* Updated warp portal and script commands partywarp/guildwarp to take into
consideration mapflag nowarp as restriction rather than noteleport.
[Skotlex]
* Applied dontBR's update to his configure script [Kayla]
* Changed the bonus on Sonic blow.(It was giving 1500% instead of 1600%) [Vicious]
* Updated gettimetick() to use flag 2 and return System's tick, thanks to
Kyoki [Skotlex]
* Removed the mismatch stack error message caused by scripts where the
returning value of a function was ignored. [Skotlex]
* Corrected the Spirit of Assassin damage bonus of Sonic Blows. [Skotlex]
* Corrected BSS check versus undead, checking for partners on the Priest's
exact left and right, and sending partner's SP to negative. [Skotlex]
* Another Paladin's Gospel effect ends when you cast it (should fix Gospel
in Gospel bugs). Also, now Gospel only blocks usage of items of type 0
(healing). [Skotlex]
* Corrected berserk Pitcher displaying 0 heal. [Skotlex]
* Added Close Confine's flee bonus. [Skotlex]
* Corrected Slow Poison. Can be used when not poisoned, will not "pause"
poison's timer. [Skotlex]
* Implemented SG_FUSION skill [Komurka]
Don't ask me why in newer exe U see flying ... Santa ... -.-
* Updated the distance() function definition with one which uses a much
better approximation [Skotlex]
* Updated sql-files/ mob_db.sql & item_db.sql to latest. [Skotlex]
* Added @autotrade/@at and @away/@aw messages into msg_athena.conf (you can customize them) [Lupus]
* Updated default hardcoded GMlevel values of some @ATCommands according atcommand_athena.conf [Lupus]
and removed doubles of some commands, thanks to Rideword
2005/12/11
* Corrected guild deletion in SQL (both from /breakguild and guild master character deletion). [Valaris]
* Added @evilclone commands. Syntax is @evilclone <playername>, [Valaris]
It will spawn an aggresive clone of the given player.
By default it will use mob id ranges 9001-10000, this range is #defined in mob.h.
* Fixed VS compile error in mob_clone_spawn. [Valaris]
2005/12/10
* Added core player cloning code. Just need to create some commands. [Valaris]
* Redid the @help2 (char commands). [Kayla]
* Added jobname retrieving script function getJobName. [Lance]
2005/12/09
* Changed default GM level for @setbattleflag to 99. [Valaris]
* Implemented the SL_SUPERNOVICE bonus to wear all heagears/various weapons
at high base levels. [Skotlex]
* Implemented SL_ROGUE bonuses: can't be dispelled, Chase Walk's str bonus
lasts 10x longer. [Skotlex]
* OneHand Quicken now dispels aspd potion effects. [Skotlex]
* Updated SL_STIN/SL_STUN to do miserable damage if the target's size is
'incorrect'. [Skotlex]
* Updated @disguise so the max npc id you can use is 1000 (1001 is already
the first mob, Scorpion) [Skotlex]
* Fixed a possible infinite loop in pc_calc_skilltree when receiving
additional skills when Soul Linked. [Skotlex]
* Added the Taekwon bonus that gives you triple Max HP/SP when you are a
top 10 ranker and have base level 90+ [Skotlex]
* Added support for skill_db pl == -2. These skills don't take the element
of the weapon, but will take the element of any enchantment elemental
change (so the element used is neutral unless you are enchanted with
Fire/Wind/etc) [Skotlex]
* Coded in SL_STIN, SL_STUN and SL_SMA. [Skotlex]
* Should have fixed the crash with raw_time in char/char.c [Skotlex]
* Pressure can now be cast-break. [Skotlex]
* Likely fixed the client crash when hating a class rather than mob. [Skotlex]
* Removed @help2, note to self: do not commit at 4 am. Will redo later. [Kayla]
* Added @help2. @help did not fit in the screen. @help2 currently contains
just the char (#) commands. [Kayla]
* MAPREGSQL disabled (experimental) in VC7. To enable, define MAPREGSQL in preprocessor. [Lance]
2005/12/08
* Changed default value of start_zeny to 0 to prevent packet exploits.
Also is 0z on offical servers. [Kayla]
* Fixed bug with objects (npcs, monsters, players, etc) not appearing when using @refresh. [Valaris]
* Updated effects for food production thx to Poki#3 [Komurka]
* SG_STAR_BLESS now gives 20%*skill lvl additional exp [Komurka]
* Modified clif_blown to use the clif_slide packet instead of clif_fixpos,
as Komurka tested it and it appears to be handled better by current
clients. [Skotlex]
* Added two new battle_athena.conf options:
duel_allow_teleport (def: no) and duel_autoleave_when_die (def: yes) [LuzZza]
* Small fix in allskill [Komurka]
* Updated Gloria Domini to bypass battle_calc_damage (misc damage
reductions) [Skotlex]
* Fixed a typo in pid.c, thanks to akusarujin [celest]
* Exploit fix in SG_FEEL [Komurka]
* Updated TK_MISSION to pick a random mob in the same way a dead branch
does. [Skotlex]
* Corrected SG_DEVIL giving the ASPD bonus below level 50. Only works at
max level... [Skotlex]
* Some cleaning to pc_calc_skilltree. Also updated it so that if you don't
use player_skillfree, you can't have ANY skill if you don't have NV_BASIC at
9 (only exception are quest skills). [Skotlex]
* Implemented HT_POWER/Beast Strafing. [Skotlex]
- The damage equation is unknown.. for now it's the same as Double Strafe
except the skill modifier is +10%*str
- Currently the Combo is triggered 100% of Double Strafes done on beast
monsters.
* Added Reddozen's work for Hunter's Beast bane spirit bonus. [Skotlex]
* Corrected the drop delay for mobs when killed by magic to be 500ms (will
only work if killed by a player) [Skotlex]
* Updated SG skills (kRO Patch - 11/29/05) [Komurka]
* Enabled a few maps needed for the new novice training grounds, sorry I forgot to [MasterOfMuppets]
* Removed duplicate maps in maps_athena.conf. Thanks for the report Dr. Evil [Kayla]
2005/12/07
* Pressure will always pull-off now after it has began casting. [Skotlex]
* Implemented Close Confine. [Skotlex]
* Change all 0x20e packets (18->26; 22->30) [Komurka]
Also added job_name(mob_id) in clif_hate_mob
(but it crashes client when U try to use SG_HATE skill on player ><)
* Fixed compile error in status.c. Check your work skot <3 [Kayla & MoM]
* Updated socket.c by adding a lots error reporting for functions that
previously were assumed to not fail. May help figure out what's going on
with the win32 builds... [Skotlex]
* Reviewed and cleaned up a bit the latest SG additions from Komurka. [Skotlex]
- My skill desc says that SG_DEVIL does not makes you blind until you reach
max job level, so I implemented that. Report if this is incorrect.
- SG_*_WARM skills should be working from what I read there.
* Modified a bit the TK_MISSION packet, GUESSING where the progress of the
current mission should go within said packet... [Skotlex]
* Implemented TK_MISSION. [Skotlex]
* Added more SG skills (Comfort, Warmth, Demon, Knowledge) [Komurka]
All of them should be checked by someone ^^;;
- SG_xx_WARM for now only shows cool red effect :> There is more code but for now it doesn't work
* Added new Geffen Field maps [Harbin]
* Disabled Atcommand Nuke (It was commented, not disabled) [Harbin]
* Added skip_teleport_lv1_menu option to Battle_Athena. Allows players to cast Teleport level 1 without menu. [Harbin]
* Merged in Reddozen's current Soul Linker work. [Skotlex]
- Berserk Pitcher should be working now.
- Bard/Dancer walk bonus when dancing/singing while soul-linked.
- Partial work on Twilight Pharmacy.
- proper skill effect
* Fixed One Hand quicken doing nothing. [Skotlex]
* skill_get_name now returns "UNKNOWN_SKILL" instead of null (should fix
some crashes when using it on skills with no defined name) [Skotlex]
* When weapon_delay_attack is enabled, items should drop inmediately after
mobs are killed rather than 500ms afterwards. [Skotlex]
* Added Exception Handling plugin to be used for native Win32 builds [celest]
- crashes will be logged in <server type>.stackdump along with file name and line numbers
- To activate, enable 'exchndl' in plugin_athena.conf
Public Service Message - Crash reports can be VERY VERY helpful, so please enable the
plugins if you can ('exchndl' for Win32, 'sig' for cygwin and linux) and send in any
reports you might get! We all want eA to be stable, ne? ^^
* Some compile error fixes for MinGW, FreeBSD and plugins [celest]
* Updated Makefile to set platform defines for FreeBSD [celest]
* Updated Makefile to auto-detect MinGW and include src/mysql [celest]
* Debug logging flag for logging output messages (only works well with native Win32) :D (Not enabled by default) [Lance]
* joshuali's new vcproj with debug mode correctly set up. [Lance]
* Fixed compile errors for Valaris's commit on date.h [Lance]
* Added updated vcproj for native VC8 win32 for date.h/c support. [Lance]
* Removed extra returns in date.h. [Lance]
* Probably fixed warnings in unzip.c [Lance]
2005/12/06
* Updated item 12132 for the Xmas suit effect in item_db.sql. [Valaris]
* Implemented Xmas Suit: [Valaris]
-Added status change state SC_XMAS, and added it to const.txt.
-Cannot attack or use skills while in the Xmas state.
-Will save if you logout.
-"sc_start SC_XMAS,600000,0" added to item 12132 (using item will give you xmas suit for 10 minutes).
-Added xmas_ignorepalette option to battle_athena.conf.
* Fixed script error in Garm's Claw item causing an error. [Valaris]
* Added a missing ; to Skotlex's Previous SG skill editions that caused compile errors. [Valaris]
* Added JOB_GUNSLINGER(24), JOB_NINJA(25), and JOB_XMAS(26) to map.h enum list and const.txt. [Valaris]
* Added SC_SCRESIST to const.txt. [Valaris]
* Applied Komurka's Star Gladiator patch. [Skotlex]
- The following skills are now working: SG_FEEL, SG_HATE, SG_SUN_ANGER,
SG_MOON_ANGER, SG_STAR_ANGER, SG_SUN_BLESS, SG_MOON_BLESS, SG_STAR_BLESS
- The designated maps cannot be stored currently (cannot save character
string variables) and is pending on a script update to enable saving of
said type of variables.
* Added @away command. [LuzZza]
* Mostly fixed intravision making everyone see hidden/cloacked characters.
(the actual option value to see just the player's shadow is currently
unknown) [Skotlex]
* Updated Gospel [Skotlex]
- It should clear all buffs/debuffs now.
- Party-mates within range cannot use items.
* Implemented the SL_BARDDANCER bonus that enables the caster to be buffed
by their own song/dance/encore. [Skotlex]
* Completed Sight Thrasher (the option value is still missing, though.
Temporarily uses the one of Sight) [Skotlex]
* Corrected possible exp exploits in jA's exp calc method. [Skotlex]
* Corrected Spirit Skills showing up in all class trees. [Skotlex]
* Invoking @reloadscript now also invokes the OnInit event after loading. [Skotlex]
* Expanded Item Groups list from 20 to 32 item groups [Lupus]
* Fixed healing experience bug. Now only healing another players gives experience. [Harbin]
2005/12/05
* Hopefully fixed gm_all_skill.... [Skotlex]
* Modified a bit the player attack code to give an extra range cell when
the target is moving. [Skotlex]
* Added skip_teleport_lv1_menu battle_athena option. It give a possibility to
disable (skip) Teleport Lv1 menu, that have only two lines `Random` and `Cancel`.
Of course, by default this option have `no` (don't skip) value. [LuzZza]
* Added FD_SETSIZE 4096 predefination to VC++ Project Files. Should fix 60 player limit bug with native compilations. [Harbin]
* Fixed char crash (I hope) when checking for two parents + baby in a party
with more than 3 characters, but from which only 3 were online at a time. [Skotlex]
* Merged in Reddozen's work on SL_BARDDANCER and cleaned up a bit the
Spirit Skills code when calculating the skill tree. [Skotlex]
* Updated mob ai so that support/aggressive mobs can't 'see' a player until
there's a direct line of sight between them. [Skotlex]
* Updated monster_ai&1 so that when not set mob-chase type is Aegis-like
(mobs will not change walk target tiles mid-walk) [Skotlex]
* Added battle_athena.conf option mobs_level_up_exp_rate to set the extra
exp rate a leveled up monsters gives. [Valaris]
* Added a custom X-Mas quest *Sign Your Items* [Lupus]
* Applied Harbin's patch to fix Arrow Shower + Traps. Someone test it out.
[Skotlex]
* Another fix to socket.c to enable TURBO mode to work on win32. [Skotlex]
* Fixed the combo status not ending after using TK_TURNKICK [Skotlex]
* Overflowed pointer fix in socket.c [Skotlex]
* Added 'Einbech' into @go command (u have to type at least 5 letters) [Lupus]
* More detailed error messages for missing '"'s in scripts. [Lance]
2005/12/04
* Removed mail server switch from battle_athena.conf and added
full mail server configuration to inter_athena.conf. [Valaris]
* Fixed too big VVS damage of TOP10 BS weapons [Lupus]
2005/12/03
* Fixed up TK Sprint (TK_RUN) skill: [Valaris]
-Disabled movement during skill use.
-Correct moves player server-side.
-Stops without sp use if skill is used during running.
-Server will not save status if player logs out.
* Some cleaning of socket.c to see if TURBO will now work on Windows, it
may also fix the select() problems on that platform as well. [Skotlex]
* Fixex "gm_skill_all" crashing the server from generating huge packets (or
so I hope) [Skotlex]
2005/12/02
* Gave the Spirit Status Change a custom effect for now. [Skotlex]
* Merged in Reddozen's work for SL_HIGH (Spirit of Rebirth) [Skotlex]
* The Bonus skills acquired from being Soul Linked should now show up in
the skill tree. [Skotlex]
* Merged Reddozen's work of One-Hand Quicken and Adrenaline Rush 2. [Skotlex]
* Fixed Axe-Kick never triggering. [Skotlex]
* Slaves walk once again. [Skotlex]
* enable_items now also enables equipment stuff. [Skotlex]
* The attack motion in packets for ground-based skills is now 0 (it may
help somewhat with current firewall issues). [Skotlex]
* Added char-server option "save_log", when disabled, the char server will
stop printing info messages whenever something is loaded/saved. [Skotlex]
* Disabled random-walking for slaves [Skotlex]
* Added script commands enable_items/disable_items [Skotlex]
* Likely fixed the mob-skill target type "master" [Skotlex]
* Added target type "master" to the mobskill_db [Skotlex]
* Modified NPC_RUN to allow the caster to run away from the target [Skotlex]
* Implemented SL_SAGE (Soul Linker Sage buff for auto-cast bolts) [Skotlex]
* Updated char-sql guild saving so that instead of saving ALL guilds when
the time comes, the save interval is splitted on time-slots (based on guild
count in memory) and a guild is saved per time-slot (just like the map
server saves characters). [Skotlex]
* Fixed client crashes with using baby and advanced player classes as pets. [Valaris]
* Added missing ban_hack_trade option to battle_athena.conf. [Valaris]
* Hopefully fixed Counter Kick. [Skotlex]
* Uncommented and corrected the Soul Linker Monk buff (SP cost reduction
for monk combos) [Skotlex]
* Added a check in skills so that skills that are used on yourself, but had
it's target auto-selected cannot be used on non-enemies if it's nk is
different from 1 (1 = No damage skill) [Skotlex]
* Various cleanups to the char-sql server to prevent corner-case crashes
from queries that return no rows. [Skotlex]
* Massive Taekwon Boy skills related code cleanup. [Skotlex]
- Flying Side kick and Turn Kick should be fully working now, too.
* Cleaned up and reorganized the SC_ data listing. Added sc's for food
related bonuses: SC_HITFood, SC_FLEEFood, SC_BAtkFood, SC_WAtkFood,
SC_MAtkFood. [Skotlex]
- Some of the saved sc data will be wrong, so wipe the table/file if you
want to play it safe.
* Some corrects in duel code. [LuzZza]
* Sonic Blow and Shield Boomerang's after cast delay is now properly
adjusted by the Soul Link skills. [Skotlex]
* Party even share will be now broken after a base level reset. [Skotlex]
* Merged in Reddozen's Soul Linker current skills work. [Skotlex]
* Added countitem2(itemID,....) script function. [Lupus]
* Added axtoi script function that converts hex strings to integers. [Lance]
* Fixed incorrect time (that leads to crashes) in login server. [Lance]
2005/12/01
* Moved KN_CHARGEATK code to merge it with Extremity Fist. Skill damage
modifier is currently set to +15% per cell (need actual value here) [Skotlex]
* Fixed client crash when logging in with Baby Knights and Crusaders riding Pecos. [Valaris]
* Implemented Ki Explosion. [Skotlex]
* Fixed client crashes with using baby and advanced player classes as monsters. [Valaris]
Make sure to use Item ID for weapons and shields in mob_avail.txt for player monsters and not View ID.
Updated Valaris and MC Cameri mobs in item_avail.txt to use Item IDs.
* Fixed cutting Castle Name (was 14 instead of 24) [Lupus]
* Corrected Grimtooth counting a short-range skill when it's actually
ranged. [Skotlex]
* Corrected Venom Splasher's splash range, and the splash damage is now
divided by number of targets (sort of, skill % dmg is adjusted according
number of targets) [Skotlex]
* Tarot Card of Fate won't break equipment now if equip_skill_break_rate is
0. [Skotlex]
* Improvements and optimizations to the online db management in the char
txt/sql servers. [Skotlex]
* Updated the guild cache (char sql) to have it load/unload characters
whenever they are updated in the char online_db (previously they were only
updated on normal char-select/char-quit when there were more cases where a
char is set online/offline) [Skotlex]
* Now when the guild is not found in the cache it will be loaded from the
sql db first before failing. [Skotlex]
* Fixed equip_skill_break_rate equation being messed up for Acid Demonstration. [Skotlex]
* Fixed Aura Blade adding damage to Spiral Pierce (it shouldn't) [Skotlex]
* Script function getnameditem now sets flag 254 (created) instead of 255 (forged) [Lupus]
To prevent ADDITIONAL Blacksmith FAME TOP10 bonuses, applied to signed but not forged weapons
e.g. You have a custom quest for rare weapons. You tag items with players name (using getnameditem command).
if a TOP10 BS get an Infiltrator.. then it used to give extra atk bonus 8)
2005/11/30
* Updated item_db.sql to latest. [Skotlex]
* Updated mob_db.sql to latest. [Skotlex]
* Updated Gospel to force the removal of the ground-effect when the status
change ends. [Skotlex]
* Made Snatch/Intimidate work on Guild maps (I have read around this is how
it is) [Skotlex]
* Added the auction maps to maps_athena.conf [MasterOfMuppets]
* When players are hit while moving, they should now move one last cell
in the same direction they were walking when interrupted. [Skotlex]
* Walk delay won't be applied now unless the attack deals damage... [Skotlex]
* Major reorganization of player variables and bonuses. If something broke,
report it up. Otherwise, struct map_session_data should look quite a bit
more clean now. [Skotlex]
* Fixed duel bug when you can't cast some skills on yourself. [LuzZza]
* Fixed (I think) pets losing the "rename flag" when you sent them back to
egg. [Skotlex]
* Added a index check in the equip packet, should fix crashes from invalid
packets. [Skotlex]
* Fixed a horrible bug that was making the walk delay not work for sure x.x
[Skotlex]
2005/11/29
* Fixed race exp bonuses. [Skotlex]
* Fixed ## account variable saving disconnecting the char-login servers. [Skotlex]
* Updated the way multi-hit skills add overrefine/star crumb/spirit sphere
damage so that the total bonus is multiplied by the total number of this.
[Skotlex]
* Fixed the config variables being "lost" on startup. [Skotlex]
* Fixed Restore requiring Regeneration lv2 [Skotlex]
* Fixed the spirit sphere bonus not applying to Throw Spirit Sphere. [Skotlex]
* Rewrote and cleaned up duel code. Formed independent duel_xxx functions.
I suggest to place this functions in duel.c/duel.h. New features: [LuzZza]
- Now when you in duel, you can't attack anything out of your duel
(mobs, other players etc...);
- Now you can't take part in duel more often than it set in battle_athena.
Default delay is 60 minutes.
- New battle_athena.conf options: duel_allow_pvp - allow/disallow duel
on pvp-maps; duel_allow_gvg - allow/disallow duel on gvg-maps;
duel_time_interval - delay between using duel in minutes.
* Updated damage formula for Spiral Pierce. [Skotlex]
* Fixed speed change being lost when speed is increased/decreased while
walking with Free-cast. [Skotlex]
* Fixed pets being renameable after turning them back into eggs. [Skotlex]
* Reverted the guild data position in the mob/npc packets, should restore
the emblems in flags. [Skotlex]
* Corrected battle_check_target Guild checks returning true for non-guild,
party'ed characters and viceversa. [Skotlex]
2005/11/28
* Added dontBR's experimental configure script. It's still in alpha stage,
so use with caution! [Skotlex]
* Fixed a pair of exp exploits possible with to Rich Man Kim and
race-add-exp card bonuses. [Skotlex]
* Updated behaviour of skillrange_from_weapon. If set, those skills with
negative range use the weapon's range. If not set, then the skill range
used is the absolute value of the range specified in the skill_db. [Skotlex]
* Small cleanup of the color broadcast packet using data provided by Master
of Muppets. It should hopefully fix the font-size on said colored messages.
[Skotlex]
* Fixed the setting of the guild id and guild emblem in packets 0x7b and
0x78 for mobs/npcs (this is assuming the position is correct when filling
these same packets for players) [Skotlex]
* Added battle_config option skillrange_from_weapon which, when set, allows
weapon based, target-selected, offensive skills to take the equipped
weapon's range instead of the range defined in the skill_db. [Skotlex]
* WARNING/ACHTUNG! Update all your NPCs ASAP. Massive NPC fix's out. [Lupus]
* Updated monster_ai&8 so that mobs scatter as soon as they lose their
target. Use this setting for an effective counter measure to Grimtooth
mass-mob training. [Skotlex]
* Added pc_damage_walk_delay_rate to separate the walk delay adjustment of
players from that of mobs. The adjustment for players is 20% while for mobs
is 100%, pending further adjustments. [Skotlex]
* Added the weapon upgrade damage bonus of Spiral Pierce [Skotlex]
* Removed the mob_stop_walking code from mob_damage as it should be invoked
on battle_walkdelay (the mob walk delay issue will likely need it's own
config option) [Skotlex]
* Added joshuali's new Visual Studio files. [Lance]
* Novice Warp Portal fixes from jAthena. [Lance]
* Final warning elimination in plugins.c (most of them are gone with warning level set to 1). [Lance]
* Fixed typo in msg_athena.conf and 'users with autoloot turned on will not have their rare drops announced.'. Thanks to Kaseki.
* Mob should stop walking when hit if not enduring. Thanks to Playtester. [Lance]
* Included pcre.dll and libmysql.dll from joshuali. [Lance]
* Eliminated Level 3 warnings. Setting compile warnings to Level 3. (Level 4 just kills rAthena XD) [Lance]
2005/11/27
* Fixed an overflow pointer bug in the gvg eliminate timer. [Skotlex]
* Updated the damage code if Spiral Pierce, Shield Chain and Shield
boomerang to be closer to official. [Skotlex]
* Fixed a crash when setting all chars offline in the char-sql server. Also
fixed that delete_timer mismatch on shutdown [Skotlex]
* Autospells now won't trigger if the range between the source and the
target is not satisfied. [Skotlex]
2005/11/26
* Added bonus2 bAddSkillBlown for adding a custom knockback value to a
skill. Note that this knockback bonus is ADDED to whatever the default
knockback of the skill is. [Skotlex]
* Fixed Soul Linker skills showing up on the tree for leveling up. [Skotlex]
* Probably fixed the crash in inter_guild_CharOffline [Skotlex]
* Modified the skill get range routine to correctly account for the attack
range and the AC_VULTURE range bonus where needed. [Skotlex]
* Fixed alchemists Fame Points bug: It were giving 1 fame point [Lupus]
on making 4 Condensed Potions in row, instead of 3, etc. Now tested ^_-
* Some restructuring and cleaning up in map loading to make it easier for
future plans (like removing Grfio) [celest]
- split map loading into separate sources properly
- added map server will display a list of enabled map sources on startup
- added maps will be auto-imported into the map cache if it's loaded with
AFM, AF2, or any other source
The server looks for maps in this descending order: the map cache, AFM maps,
AF2 maps, and finally GAT files from the GRF (slowest); so, if you enable map
caching it should be a liiiittle bit faster then before ^^
2005/11/25
* Uploaded fixes to int_guild, tested and working safely. [Kevin]
* Added @showzeny @ command. [Skotlex]
* Some code cleanup to make AutoBerserk work the way it was intended to
(skill toggles "auto-berserk" state on/off, if on, you automatically get
Provoked when under 25%HP) [Skotlex]
* Fixed Auto-Berserk auto-ending after a minute. [Skotlex]
* Added a fix to mob skills to prevent them from being checked too
frequently during battle (which was sort of bumping up their rate to double
or more from what the skill db would state) [Skotlex]
* Added cleaning up the fifo before sending the guild information (since
the packet is big, the fifo should be cleared to avoid overflow problems)
[Skotlex]
* Added monster_ai&8, when set monsters stop walking as soon as they lose
their current target [Skotlex]
* Reflect Sword again reflects damage versus players. [Skotlex]
* Corrections to the skill code so only Heaven's Drive may damage traps. [Skotlex]
* Reverted the mob random walk delay after unlocking a target to 3~6 secs. [Skotlex]
* Added pow, sqrt and distance to scripting commands. [Lance]
* Removed players with 0 Fame Points from Blacksmith/Alchem/Taekwon TOP10 lists [Lupus]
* Should fix night glowing bug. [Lance]
* Added setd and getd variable retrieving and setting with dynamic names. [Lance]
* Added petstat command as requested by Dubby. [Lance]
2005/11/24
* Fixed a small bug in the guild search by name routine. Should fix the
crash on new guild creation. [Skotlex]
* Added debug information in case the guild isn't found in the cache when
it should be there. This should help fix any problems the guild cache
might have (eg: for some function that may take effect on a guild which
has no members online) [Skotlex]
* Finished cleaning up and merging the guild cache withthe guild timers
behaviour. It should be mostly safe to update now. [Skotlex]
* Reverted the sql save behaviour. [Skotlex]
- Now guilds timers and cache are both into effect, this requires a bit
more of cleaning to be considered done.
* Various things I made but already forgot xD [DracoRPG]
* Fixed and updated damage bonus for forged weapons: VVVS is +40 (was previously +50
for the right hand...) and "famous maker bonus" gives a no-miss +10 dmg, same as
2 additional Star Crumbs. [DracoRPG]
* Added or updated several Taekwon skills [DracoRPG]
- Jump Kick uses clif_slide to the target's exact pos , waiting for capture/video
- Taekwon ranking is now supported by the fame system, but there's no way to gain
points atm (Taekwon Mission has no effect), infinite kick combo should be OK
- 4 basic kicks updated, you now stop attacking when a stance triggers, and have 2
seconds to hit the button before attacking again
- Run uses SC_SPORT to increase your STR and affect the way Break Fall works
- Break Fall dodges ranged magic/weapon attacks, as well as melee weapon ones
when SC_SPORT is active
* Made Sword Reject / Counter Instinct reflect damage only against monsters (not
100% sure about it, but let's say 90%... iRO site says it, although it isn't
the best source ever) [DracoRPG]
* Made Spiral Pierce use SC_STOP instead of setting canwalk_tick, some other such things
need to be reviewed [DracoRPG]
* Fixed Pneuma. [Skotlex]
* Fixed dead mobs reappearing on the map. [Skotlex]
* Cleaned up the duel code in battle_check_target. [Skotlex]
* Added config option summons_inherit_effects, defaults to yes, check
battle_athena.conf for further details. [Skotlex]
* Updated duel [LuzZza]
- Now "@duel <Num>" may be used for indication max players limit of duel.
- Now "@duel <Nick>" creating duel for two players and automatically send invitation to Nick.
* Added a new script function: getequipcardid(equipSlot,CardSlot) [Lupus]
Returns Card ID or just a value from your EQUIPPED item
Useful to check equipped items PROPERTY, STRONG value, Author ID, etc
Check npc\sample\getequipcardid.txt and read script.c comment ^_-
2005/11/23
* Fixed the crash on guild creation in new guild cache. [Kevin]
* Implemented duel organizing commands: @duel, @invite, @accept, @reject, @leave. [LuzZza]
* Made the walk-delay a timer, so that it triggers after the actual attack
motion of the src. [Skotlex]
* Added back the combo damage delay config, now renamed to
multihit_delay, and set to the default of 230ms it had before. [Skotlex]
* Added displaying file which caused an error on incorrect mob lines.
[Skotlex]
* Small memory corrections to sql castle saving/loading, mostly Lance's
work. [Skotlex]
* Updated the walk delay routine to not invoke stop-walking when character
is not walking (fixes the case in which the packet is sent while sitting,
which causes a 'standing' sprite even if the char is sitting). [Skotlex]
2005/11/22
* Implemented a guild cache in char sql, saves all online guilds every 5 minutes. [Kevin]
* More grammar fixes [Kayla]
* Added 1-tile of range grace in skill_use_id and skill_use_pos since
that's how it is on Aegis servers. [Skotlex]
* Updated the skill info packets to deliver the skill names as expected by
the client. [Skotlex]
* Updated mob ai to enable changing targets while attacking ONLY if the
attacker is within melee range (Aegis AI). monster_ai&4 can be used to
override this and allow mobs to change target and pursue ranged attackers.
[Skotlex]
* Updated the config comments for the ip-related settings. Thanks to
akusarujin for the update. [Skotlex]
* Added rates to at_command.conf, set it's default to GM lv1 [Skotlex]
* Removed the icon from Fire Break's fire-elemental bonus. [Skotlex]
* Updated the walkdelay function to only be invoked if the attack did
damage. [Skotlex]
* Some more fixes to the english in ShowInfo()'s [Kayla]
* Cleaned out the SVN a bit [Kayla]
2005/11/21
* Removed "(now unlimited loop start!)" from char-sql in an info line...wtf xD..[Kayla]
* Mob AI update: updated the conditions used to specify if a mob can change
targets as per the forum provided information (by Komurka and Kyoki).
Mode 512 (MD_CHANGETARGET) no longer does anything. [Skotlex]
* Mobs that assist now link nearby mobs when they attack. [Skotlex]
* Made the damage delay be applied after knockback rather than before
(magical/misc instant effect attacks are still applied before the
knockback) [Skotlex]
* The damage delay timer now stores the distance between source/target, if
this distance is increased by 2 or more, the damage delay fails and takes
no effect (if the '2' needs to be made higher, do point it out. It
shouldn't be much of a problem since you aren't supposed to be able to walk
from the damage delay anyway). [Skotlex]
* Changed the way damage delay works. It is no longer applied on
mob_damage/pc_damage, but instead is invoked from clif_damage (or
clif_skill_damage), which means the "can't walk" delay is sync'ed with the
damage packets when they are sent. This should fix most delay-damage
'stun-lock' related issues. [Skotlex]
2005/11/20
* Mobs now can't move while casting. [Skotlex]
* Updated mob_db.txt and mob_db.sql with the most recent data from Kyoki.
[Skotlex]
* Corrected the mob_db by adding the canmove/canattack bits to pretty much
all mobs that needed them. [Skotlex]
* Some fixes to the confusion code. [Skotlex]
* Crash-fix in status_change_start [Skotlex]
* Implemented confusion as it should be (not tested yet!) [Skotlex]
* Updated run_script to backup the current script of a player and
restore it if the current script ends inmediately. This should fix losing
the script info if status_calc_pc is invoked while running a script.
[Skotlex]
* Fixed a memory leak in the guild eliminate timer. [Skotlex]
* Removed the extra tile of range mobs have when walking. [Skotlex]
* Added mob reloading to battleconfig reload @ command. [Skotlex]
* Updated mob_db.sql with the new modes by Kyoki. [Skotlex]
2005/11/19
* Made characters stop walking when inflicted by SC_STOP, may fix
GrimTooth's stop effect not seeming to take effect. [Skotlex]
* Made the pk_min_level config not take effect in WoE/GvG grounds.
[Skotlex]
* Fixed showing falcon when player is hide. [LuzZza]
* Updated mob_db.sql and item_db.sql to current [Skotlex]
* Updated the skill db step guessing code to allow for negative ranges (Now
spear boomerang should progressively get longer range with higher levels)
[Skotlex]
* Fixed Tarot Card, the card that gets two random effects can't retrigger
itself, and it causes STOP instead of Stun where appropiate. [Skotlex]
* Updated devotion to only work on damage attacks that have a source (will
prevent it from "blocking" COMA, which is what caused the crash). [Skotlex]
* Fixed not always showing CRIT attacks, thanks to Irmin [Lupus]
2005/11/18
* Updated mob_ai so aggressive mobs change target when chasing, and
change-target mobs do so when attacking. [Skotlex]
* Fixed weapon forging showing success even when it fails. [Skotlex]
* Some cleaning up of @time, may fix the weird time displays. [Skotlex]
* Modified mob_ai so hyper-active mobs change target if they are
cast-sensors even if attacking (angry mode). They will also change target
if attacked while in angry/follow mode regardless of their change-target
mode. [Skotlex]
* Moved the night-inducing code from "map loaded ack" to "spawn pc", should
fix characters going ultra-blue after stuff like fly-wings. [Skotlex]
* Delayed the mob emotion when doing skills so that it gets executed AFTER
the skill is successfully performed. [Skotlex]
* Implemented PR_REDEMPTIO. Is the penalty for both base and job exp?
That's how it is currently. And if the map has the nopenalty flag,there's
no exp penalty. Awaiting further input on the matter (altough, do note the
skill isn't tested either) [Skotlex]
* Fixed three memory issues (char txt shutdown, npc reloading, ore
discovery logs) which were pointed out by End of Exam. [Skotlex]
* Added support for hyper-active mobs (MD_CHANGECHASE = 0x400), these mobs
will change to the closest target while chasing/following other players.
Needs be added to the mob_db. [Skotlex]
* Added support for hyper-aggressive mobs (MD_BERSERK = 0x800), these mobs
change their skill state to angry/follow instead of attack/chase when they
select/change target (except if they changed target because the new target
attacked them). Needs be added to the mob_db, for now all aggressive mobs
are considered hyper as well. [Skotlex]
* Updated mob mode cast-sensor (MD_CASTSENSOR = 0x010), mobs that are
Aggressive can also change target if they are chasing/following a player
when someone else casts a skill on them. [Skotlex]
* Fixed Dark Blessing. [Skotlex]
* Changed the default battle_delay_damage value from no to yes. [Skotlex]
* Added check to prevent reinitiating SC_GOSPEL on a character that already
has GOSPEL and val4 == BCT_SELF, may fix multiple Gospels being placed on
the ground. [Skotlex]
2005/11/17
* Altered behaviour of NPC_EMOTION/NPC_EMOTION_ON as requested by Komurka.
[Skotlex]
- val[0] (the first one) is the emotion the mob does. If val[1] is
different from 0, then the mob's mode is changed to THIS value. If val[2]
is different from zero, it'll add/remove a mode based on skill used
(EMOTION_ON adds mode, EMOTION removes it), both can stack [Skotlex]
* Fixed for sure the Makefile... [Skotlex]
* Modified Wedding effects. That is, changing base to 22 does NOT displays
wedding outfit anymore. To display the wedding outfits, you have to start
SC_WEDDING instead. Tux/Wedding dress scripts likely need being updated.
[Skotlex]
* Added battle option disp_zeny, will display on console how much zeny you
earned (be it from selling, trading, mobs, etc, as long as you "earned"
zeny) [Skotlex]
* Updated status_calc_pc to prevent infinite recursion loops. [Skotlex]
* Applied End of Exam's suggested signedness fixes to npc.c [Skotlex]
* Updated sting lib, to avoid SQL troubles [Lupus]
* Fixed moonlit not properly checking for nearby walls. [Skotlex]
* Added a recursion protection system to status_calc_pc which should avoid
exploits derived from recursively calling status_calc_pc which certain
equipment scripts could trigger. Thanks to End of Exam for pointing it out.
[Skotlex]
* Applied Celest's patch which should help compiling eA under mingwin.
[Skotlex]
2005/11/16
* Fixed AFM map loading (something was missing there which was gonna make
the map server crash for sure later on) [Skotlex]
* Some corrections to the mob states, linked/cast-sensitive mobs engage in
attach/chase modes, not angry/follow (which seem reserved entirely for
aggressive mobs) [Skotlex]
* Cleaned up and corrected target types MSS_AROUND->MSS_AROUND8, also added
and documented them in mob_skill_db.txt [Skotlex]
* Probably corrected whispers to GMs. Thanks to Slennox for pointing it
out. [Skotlex]
* Modified mob-skill states to use Aegis-based information. Modes are
MSS_IDLE, MSS_WALK, MSS_LOOT, MSS_DEAD, MSS_BERSERK, MSS_ANGRY, MSS_RUSH
and MSS_FOLLOW. Mob skill db is unaltered other than for the fact it now
supports "angry" and "follow" states. [Skotlex]
* Cleanup of how knockback routines are invoked. [Skotlex]
* Added MOB_LAZYSKILLPERC to mob.c, determines probability of a mob doing a
skill when there are no players nearby (but there has to be players in the
same map for it to trigger). Currently set to 10/1000 chance. [Skotlex]
* battle_check_target update. Rewrote the party/guild checks, this should
hopefully fix any problems left with pvp/gvg and mapflags not working
properly. [Skotlex]
* Fixed playerattached() returning char id instead of account id. [Skotlex]
* Added battle option party_even_share_bonus to enable use of Valaris's evn
share experience bonus equation rather than the official one. [Skotlex]
* Corrected @jump not displaying the actual coords you jumped to. Thanks to
kitty74x9 for noticing (and fixing) it out. [Skotlex]
2005/11/15
* Fixed multi-hitting skills not increasing the "can-walk" delay
accordingly. [Skotlex]
* Modified way to updating hp/position of party members. [LuzZza]
* Added battle config option "aura_lv", specifies which level characters
have to be for the server to report their level as "max_lv" (which normally
is used to enable the aura). See battle_athena.conf for more details. It
may not work for your self, but only for other characters (this is,
afterall, untested yet) [Skotlex]
* Implemented High Jump (works 100%) and Fighting Chant (untested but should work). [DracoRPG]
* Various cleanups and typo fixes here and there. [DracoRPG]
* Corrected the upkeep SP cost of Moonlight Petals. [Skotlex]
* Modified Magnum Break's fire bonus to be 20% ADDITIONAL fire damage of
your total damage previous to the elemental modifier. [Skotlex]
* Modified Fatal Blow's stun chance to kRO's equation (+5% stun chance per
bash skill level over 5) [Skotlex]
* Corrected Sharpshooting's damage equation to +50%*skill_lv [Skotlex]
* Updated Magnum Break's bonus from 10% to 20% fire elemental. [Skotlex]
* Updated Arrow Shower to be a ground based skill (untested yet) [Skotlex]
* Pretty much rewrote how Moonlight Petals work, it should be working
mostly right now. [Skotlex]
* Splitted gat map information into gat and cell info. gat info is
permanent map data (walls, ground, etc) while cell is temp map info
(basilica, pneuma, etc). Modified Pneuma and Moonlight Petals to work based
on map cells. [Skotlex]
2005/11/14
* New Visual Studio projects, compiling works, need zlib.dll for txt server. [Kevin]
* Longing for Freedom can't be used during Moonlight Petals now. [Skotlex]
* Corrected True Sight's critical bonus (from +0.1 cri per level to +1 cri
per level) [Skotlex]
* Made coma a status effect. SC_COMA. Sets HP/SP to 1. Bosses/Emperium are
immune to it. [Skotlex]
* Fixed null pointer crash in battle_damage. [Skotlex]
* Increased max account variables to 32. [Skotlex]
* Pressure/Gloria Domini now isn't instant-cancelled by status effects, and
bypasses the Devotion/Sacrifice check. [Skotlex]
* Added handling of the /pk packet, even thought it just shows an empty
listing for now. [Skotlex]
* Applied zBuffer's suggested fix to prevent S. Novices from getting mental
Strength at 100% exp. [Skotlex]
* Fixed Friends List not able to add more than 20 friends (current clients support up to 40) [Lupus]
thanks to CAHTEXNIK for pointing it out 8)
2005/11/12
* Probably fixed the name of freshly captured pet eggs. [Skotlex]
* Changes Win32 to not require svnversion.h, but instead tries to peek in
.svn\entries to check for svn version. If the file doesn't exist it'll
display "Unknown" though, which I guess isn't a good thing ^^; [celest]
* Removed the option to load zlib as a plugin for Win32 since it should be
linked at compile time [celest]
* Added zlib and libmysql .lib files for compiling in Visual Studio [celest]
Note: The project files on SVN don't have them yet, you'll need to include
them yourself for now
* Fixed a compile error in Visual Studio [celest]
* Readded a missing zlib file needed by Win32, sorry ^^; [celest]
2005/11/11
* New readme content/layout (IE warning: IE hates new readme) [Evera]
* Imported use of the refine weapon packets from jA. [Skotlex]
* Removed SC_MODE, now NPC_EMOTION and NPC_EMOTION_ON can change a mob's
mode permanently (until their death, that is), and it won't work on
player summoned mobs. As before, val1 is the emotion value, val2 is the
mode to add/remove. Val3 is now ignored (used to be duration) [Skotlex]
(no, no need to wipe SC data this time around either)
* Cleaned up sql-files to use TYPE rather than ENGINE as TYPE is supported
by older MySQL versions and not quite deprecated yet. [Skotlex]
* Modified the party even share exp bonus to be +10% per extra party member
as official sources state. [Skotlex]
* Organized the clif_devotion packet, and added clif_marionette as per
jA's implementation. [Skotlex]
* Added db_path to map_athena.conf, used to specify an alternate directory
to locate the db/ files. Defaults to "db", obviously. [Skotlex]
* Removed SC_FALCON and SC_RIDING, the status icons are directly managed
through the change of the character's option now. The actual defines were
not removed to avoid shifting all the SC_ values again (no need to wipe sc
data) [Skotlex]
* Added additional debug information to battle_attr_fix until the cause of
those errors are found and resolved. [Skotlex]
* Fixed win32 compiles always reporting "unable to set socket to
non-blocking mode", together with other minor win32 fixes. [Skotlex]
2005/11/10
* Fixed char-sql cart loading. [Skotlex]
* Updated the function that specifies the cards to support more than four
slots. [Skotlex]
- Since the packets are fixed sized the client can never receive data of
more than four cards, therefore if the client was compiled with MAX_SLOTS
above 4, a random subset of cards will be sent each time the item data is
sent (eg: if the item has 6 slots, it may randomly choose to send cards
1->4, 2->5, or 3->6).
* Removed the OnAgitInit call when the map connects to char server. Fixes
double guardian spawn. [Skotlex]
* Fixed the sql query strings that would appear "incomplete" under certain
*nix systems. [Skotlex]
* Applied zBuffer's patches to correct memory leaks in the PCRE module
(regular expression support for npcs) and prevent server crashing when
scripts divide (or do mod %) by zero. [Skotlex
2005/11/09
* Fixed Ankle Snare and Spider Web not being cleared when the trapped
target dies. [Skotlex]
* Fixed the range flag being incorrectly set in BF_MISC skill attacks.
[Skotlex]
* Corrected Venom Knife using Level1 always for the poisoning chance rather
than learned Envenom's level. [Skotlex]
* Fixed the crash on shutdown if PCRE support was enabled. [Skotlex]
* Fixed possible item duping while vending, thanks to End of Exam for
pointing it out. [Skotlex]
* Fixed the blue aura of Night effect. Thanks to zBuffer [Skotlex]
* Fixed mobs moving one tile when hit even if they can't move (this is what
broke Ankle Snare) [Skotlex]
* Fixed night/day implementation (which broke due to the addition of SI_
constants). [Skotlex]
* Cleaned up the SI_ constants to have defined only those which actually
display something on the client. [Skotlex]
* Fixed a bug which caused a captured pet's name to be displayed as beloved
even though it was just captured. [Skotlex]
* Added temp skill quests for all complete 2nd Class Quest Skills [Lupus]
2005/11/08
* Updated the documentation on the announce script commands. [Skotlex]
* Removed the global color message support as there's now a way to craft
custom colored announces. [Skotlex]
* Probably fixed mapannounce. [Skotlex]
* Implemented SI_ constants to specify the icon number for different SC_
changes, idea adopted from jAthena. All SC_ data was reorganized and
several checks are now in place. It is likely all saved sc_data is wrong
after this update due to the numbers changing places. It won't cause any
glue-boots.. but the wrong status changes will be loaded the first time
anyway, so it may be a good idea to wipe that file/table for this update.
[Skotlex]
* Added mob boss inmunity to status changes: poison, curse, deadly poison.
[Skotlex]
* Now when the mob starts casting a skill and stops walking, a packet will
be sent to update the mob position on the clients. [Skotlex]
* Fixed a bug in mob_stop_walking which may fix stun-lock. [Skotlex]
* Fixed not showing named/carded items in Vending [Lupus]
(when you drag'n'drop them from your cart into your shop list)
2005/11/07
* Expanded script commands announce/mapannounce/mapareaannounce to take an
additional parameter to define the color. This uses the new packet 0x1c3 to
send the broadcast, and even though the packet is not fully understood yet,
it should be at the point where it can be used. [Skotlex]
- eg: "announce "hello world", bc_map, 0xFFFF00;"
* Cleaned up and optimized the way card data is set in packets. Should
correct most, if not all, pet-egg related issues. [Skotlex]
* Removed combo_damage_delay and added damage_walk_delay_rate. Now the total
delay during which you can't move is a percent of the normal damage delay
rate adjusted by number of hits and this rate. Defaults to 50% for now. [Skotlex]
* Removed the random damage delay value from status_get_dmotion as it is
not really helping the walk-stun-lock. [Skotlex]
* Made Gravitation ignore target's cards. [Skotlex]
* Updated readme with new layout [Evera]
* Updated bAddMonsterDropItem bonuses to work with cards: Mimic Card, Mystcase Card
where bonus_item_rate = base_rate * (killed_mob_level/10) + 1
So if 2nd argument is negative, then it's 'rate'
Now, if you kill Porings, u'd have OBB/GIFT BOX drops with 0.01% chance
and if u kill Leaf Cats then u'd have them with 0.05% chance
Max chance is 0.1% (when u kill MVPs with level > 94) [Lupus]
2005/11/06
* Cleaned up a bit the warp portal code. [Skotlex]
* Added a timer to invoke the OnAgitInit event 10 seconds after the char/map
servers are connected. Scripts should now carefully use OnInit to load the
castle data, and OnAgitInit to check for castle owners, mobs, WoE, etc.
[Skotlex]
* Reverted the damage delay equation to 800 -4*agi, which is the correct
data from packets examined. [Skotlex]
* Slow motion Fix: Reverted weight packet, thanks to Momoko [Lupus]
2005/11/05
* Fixes on sending to client status of char (guild, position, etc). [LuzZza]
* Updated backsliding to work as it should. [Skotlex]
* Added back the GPL licence on the root directory (why was this removed?)
[Skotlex]
* Fixed knock-back packets, thanks to Vicious for collecting the packet
samples. [Skotlex]
* Fixed pretty much all ground skills not working when you "walked into
them" (they were fine if casted on top of you, though) [Skotlex]
* Fixed not working ZENY LOG. You can use logging filter as well. [Lupus]
- Only SQL logs available.
- Logs only Vending, Trade, Shops yet
- Don't forget to update your logs SQL DB and log_athena.conf
* Added previously removed (by an accident) "MVP Prize item log" into pick_log [Lupus]
2005/11/04
* Added support for new quest skills to @allskills/@skillall. Thanks again to blackhole89 for
pointing that out! [Kayla]
* Fixed various occurencies of assuming Guild Skills being >= ID 10000
rather than 500<skill<1000 still after skill_chk. Thanks blackhole89! [Kayla]
* Hopefully fixed Weapon Refine. [Skotlex]
* Applied a change which prevents pc_setpos from working for characters
between maps, as doing so makes the character appear on a different
position on the client than the position stored in the server. [Skotlex]
* Added friend_db option to inter_athena.conf, now friend table is
usable in multi server and/or custom db configs. [Foruken]
2005/11/03
* Corrected the basilica check which should disable casting offensive
skills from within inside the basilica. [Skotlex]
* Modifed status_change_end to prevent peco-peco/falcon from ending until
the player's 'falcon/peco option' value is removed first. [Skotlex]
* Removed the knockback code for players and changed it for a "fix
position" code. The new code is not right as it makes your character
"teleport" to the position rather than walk really fast to it, but it fixes
the "Do not use bot!" messages. [Skotlex]
(someone has to log the actual packets used when being knocked/knocking
back for this to really be fixed)
* Heaven Drive now can target traps. [Skotlex]
(I find it impossible to target a trap with Arrow Shower unless the
skill's info is set to 32 -target traps-, but when it's done so, the
client refuses to use the skill on enemies, and mode 33 makes the skill
useless. How does one makes this work?)
* Various cleanups to the skill system. [Skotlex]
* Update: Now your cast cancels on recieving status change such as:
Stun, Stone Curse, Freeze or Sleep [LuzZza]
* Updated the code to allow the Emperium to be inflicted by Pneuma and
Safety Wall. [Skotlex]
* Updated @recallall to revive any dead characters before moving them,
should fix that weird ghost bug. [Skotlex]
2005/11/02
* Made Spell breaker not be able to cancel Pressure/Gloria domini [Skotlex]
* Another fix/optimization to thenight/day system. [Skotlex]
* Fixed possibility of freezing / stunning already frozen/stunned players
- Now you can't freeze an already frozen one [Lupus]
* Fixed non-GMs allowing send trade requests from far places [Lupus]
* Fix of lowest_gm_level (inter_athena), now logins with access under
lowest_gm_level overides gm_can_drop_lv. [Kayla]
* Spell Breaker now works on any skill with a cast time. [Skotlex]
* Made Dispell not work on Meltdown and Cart Boost [Skotlex]
* Made Meltdown not dispellable upon death. [Skotlex]
* Probably fixed Warp Portal [Skotlex]
* Fixed players being able to mute others even if their gm level is not
high enough to use @mute [Skotlex]
* Fixed Dispell not clearing a lot of status changes it should. [Skotlex]
* Corrected the way the Emperium skill-defense works. Damage skills other
than Gloria Domini, Raging Trifecta and Gravitation do no damage. Status
changing skills have no effect, and normal heal heals for 0. [Skotlex]
* Some more corrections to the night/day system. [Skotlex]
* Multiple fixes to the skill system. Should fix Warp Portal, Teleport and
mob skills crashing the server. [Skotlex]
* Updated sql-files/item_db.sql with the latest. [Skotlex]
* Some optimizations to the script config events loading/storing/saving.
(Somehow it fixes the warning from the memory manager on shutdown...)
[Skotlex]
2005/11/01
* Updated battle_check_target to allow ground skills that affect "Everyone"
to affect the emperium, only the ones that target only enemies will have no
effect. [Skotlex]
* Changed the default of mob_max_skilllv from 11 to 100, as many of the
recent mobs use higher level skills. [Skotlex]
* Moved the check which made emperiums receive 0 damage to: [Skotlex]
- status_check_skilluse, so that all targetted skills fail.
- battle_check_target, so that all ground-based offensive skills fail.
* Cleaned up a bit the skill related code. [Skotlex]
* Updated @ commands. NO command comes at gm-level 0 by default now, that's how
it should be, the new default minimum is 1 for most trivial @ commands. Also added
a bunch of commands to conf/atcommand.conf which were missing. I STRONGLY
recommend everyone to at least fetch the new atcommand file as there
were abusable commands at level 0 (abusable in the sense they can incur
performance penalties if over-used by everyone) [Skotlex]
* Fixed crash when a mob was killed while under Rich Man Kim effect by a
non-player, also fixes Rich Man Kim not giving the correct exp bonus.
[Skotlex]
* Modified the socket subsystem to not close all connections on an "Service
Temporarily Unavailable" error (it is a non-fatal error which basicly means
"try again later"). [Skotlex]
2005/10/31
* Fixed all players having the "plant" mode on... [Skotlex]
* Added a timer to delay the automatic respawn of characters in gvg or pvp
grounds. The delay is currently 1 second, but be warned that because of
this it may be possible to revive the character if some priest is insanely
fast as there's currently no way to "prevent" a character from being
resurrected. [Skotlex]
* More and more new quest skills! :3 [DracoRPG]
* Removed the setting where characters could logout overriding the
prevent_logout setting if they were dead (it made it extremely easy to
accidentally log out if you were killed while trying to escape) [Skotlex]
* Changed prevent_logout from yes/no to a "duration in ms" setting.
Defaults to 10secs (10000ms), note the client always says "wait 10 seconds"
regardless of the value of this setting. [Skotlex]
* Moved the status change of SC_RIDING/SC_FALCON from clif_changeoption to
pc_changeoption which correctly makes the falcon/riding states end on quit.
[Skotlex]
* Mob ai fix (mobs locking down into one target forever even if they should
be able to change targets) [Skotlex]
* Added routine to check party share level whenever one of the members
levels up. It's checked on the map server, and then a share request is sent
to the char-server if party_share_level is broken. [Skotlex]
* Corrected "show drain" to show nothing if the leeched values are
non positive. [Skotlex]
* Probably fixed Wand of Hermode not blocking the caster from walking.
[Skotlex]
* Applied Silent's fix to @where [Skotlex]
* Code cleanup regarding sign/unsigned comparisons. [Skotlex]
* Updates to new quest skills, some are fully functionnal, some half, some
not at all xD. [DracoRPG]
2005/10/30
* Fixed a bug that broke pet skills. [Skotlex]
* @follow: Now to stop following, you may just type @follow, thx2Sartory [Lupus]
* Fixed & finished what I did yesterday with SCs and quest skills, thanks
to Silent. [DracoRPG]
2005/10/29
* Reorganized SC IDs to make room for 2nd jobs quest skills statuses: upped
SC_SENDMAX to 300 and moved all required SC to 300+. BEWARE: as a side-
effect of this, you might get 'glue boots' if an SC was saved and cannot
be restored because the ID isn't used anymore, this should only happen
with bonuses from cooked foods & dances/songs (unlikely since they last 20
seconds only), and maybe a few other such things. Simply remove lines
with SC IDs above 200 in your sc_data file/table. [DracoRPG]
* Changed a bit the way Plant Cultivation fails: when it fails because of
missing items, it does nothing and displays "Skill had failed"; when the
50% success rate test fails, the effect is displayed but no plant summoned.
How should it work exactly? Because previous way was a bit confusing for
the player, not explaining why it failed, so I'd like to know. [DracoRPG]
* Changed food cooking success rate to unmodifiable 50%, temporary value
waiting for accurate data ;) [DracoRPG]
* Fixed the code in skill.c so that skills are considered as guild skills
(for things such as inf, maxlv, etc) only when their ID >= 10k, enables
use of 2nd jobs quest skills with 1k+ IDs, thanks to Silent. [DracoRPG]
* Fixed the Flag guild script. Now one can only flag in using the flags infront
of the castle. [Kayla]
* Removed most of the built-in zlib files and the LOCALZLIB compile option
Note: All native Windows builds now require zlib1.dll, you can just download
it from http://www.zlib.org and place it in the main directory [celest]
* Changed the unzip library to be static linked instead of dynamic [celest]
* Small fix to the trading routing, should fix items with the no-trade flag
being able to be vended. [Skotlex]
2005/10/28
* Fixed the size of the equip_job field in SQL item_db/item_db2, thanks to
blackhole89. [DracoRPG]
* Harmonized the way NPC events such as PCLoadMapEvent, PCBaseLvUpEvent, etc
are implemented. Caution, now PCLoadMapEvent NPC is called globally: it
is not needed to put it in a specific map. Use script functions to know
which map the player has been warped to. Thanks to Z3RO. [DracoRPG]
* Fixed the names of the job level up char commands. [Skotlex]
* Tiny change to the script engine which may fix those crashes. [Skotlex]
* Added blocking use of skills while sitting. [Skotlex]
* Implemented Trancid's expanded global announce system. [Skotlex]
2005/10/27
* Applied Ilpalazzo-sama/Zzo's patch that cleans up and fixes some bugs
with the script engine. [Skotlex]
* Made land protectors from enemies cancel each other out. [Skotlex]
* Made it so Guardians/Emperiums with no owning guild can be attacked out
of woe. [Skotlex]
* Corrected being able to attack and use skills during the first interval
of Petrify [Skotlex]
* Fixed packet exploit that allowed you to produce multiple times without
first triggering the skill. [Skotlex]
* Cleaned up/simplified the implementation of SC_NOCHAT [Skotlex]
* Added file upgrade_svn3746.sql, use it to alter your `char` table column
"manner", which should NOT be unsigned (if your column already is
signed, then no need to apply this update) [Skotlex]
* More code cleanup to make eA ANSI-C compliant. [Skotlex]
* Some fixes to the night-day-system. [Skotlex]
2005/10/26
* Some more multi-map server work. It seems to work now correctly and with
no memory leaks, however it likely needs more testing. Also added the
support into the char-TXT server. [Skotlex]
* Patched a crash where mobs with no space for looting would attempt to
loot. [Skotlex]
* Updated mapflags, readded gvg_dungeon. Now mapflags work according to
this post: [Skotle]
http://eathena.ws/board/index.php?showtopic=58201
* Likely fixed Party Even Share. [Skotlex]
* Added map flag "nightenabled", only maps with this flag will display the
night effect when it's night. Said maps are specified in mapflag/night.txt [Skotlex]
* Modified map flags gvg and gvg_dungeon. gvg now is basicly the same as
pvp, except guilds are automatically teamed up, while gvg_dungeon was
removed and replaced by gvg_castle, which is the flag now used for castle
maps which only modify the behaviour during WoE times. [Skotlex]
* Updated the login/char TXT Makefiles so the TXT_ONLY flag is passed, this
SHOULD fix the guild size mismatch errors... [Skotlex]
* Probably fixed a char-server crash related to whispers. [Skotlex]
* Updated the custom jobmaster so it should stop second advanced classes
from being able to re-change jobs. [Skotlex]
* Implemented dynamix's night system which uses a status change rather than
the "darkness levels", said config option removed as is no longer needed.
[Skotlex]
* Some fixes to the char-sql code when sending chars to another map server.
[Skotlex]
* LuzZza's ported Trade/Vending additional antispoof checks [Lupus]
- thanks to Yor&Freya Team. So LuzZza is our new dev (it was his 2nd test)
2005/10/25
* Some work fixing up multi-map servers. It should now *work*, however each
time the player swaps map-server it triggers all the relevant
on-login/on-logout events, which likely needs to be corrected at a later
date. Only SQL has been updated so far, TXT is still pending. [Skotlex]
* Updated GrandCross so it does half damage on the caster (+half damage
from Faith, it does just 25% or less damage to self now) [Skotlex]
* Updated battle_check_target to consider normal mobs as always belonging
to the same party (should fix them fighting out when pkmode is on)
[Skotlex]
* Fixed the Makefile for TXT char/login servers (fixes guild structure size
mismatches) [Skotlex]
* Added script command "playerattached", returns the char_id of the player
currently attached to the script, 0 if there's no player attached (or
attached player is no longer on the map server) [Skotlex]
* Fixed @changegm in the char-txt server. [Skotlex]
* Some code cleanup to make eA ANSI-C complaint (not quite there, but
closer) [Skotlex]
2005/10/24
* Applied Ilpalazzo-sama/zzo's patch that optimizes the status_get_*
functions. [Skotlex]
* Fixed changegm (as far as I know) [Skotlex]
* Modified again the code that checks who and what can target traps. It
should be set to only let heaven's drive, arrow shower and remove trap
target them. [Skotlex]
* Breaker now ignores mdef. [Skotlex]
* Fixed script command "makeitem" to only require an attached player if the
map is defined as "this". [Skotlex]
* Updated battle_check_target to enable only skills with inf 32 (can target
traps) to hit traps. Implementation may not be perfect depending on how
the client reacts to the associated skill_db change. [Skotlex]
* Cleaned up battle_weapon_attack. [Skotlex]
* Some optimizations to the struct mob_data. [Skotlex]
* Applied Ipalazzo-sama/zzo's memory optimization patches. [Skotlex]
* Fixed some quests and updated item_db. [Kayla]
* Updated Grimtooth to cause "Stop" on enemies instead of slow down. The
duration used is now skill's time 2. [Skotlex]
* Updated the mob_ai code so they do nothing if they were attacked but
can't attack back (and it did not invoke a rude attacked, that is,
monster_ai does not has 2 set) [Skotlex]
2005/10/23
* Some fixes to @charmountpeco [Skotlex]
* Some cleanups to pet.c, fixes pet_timer being invoked when the pet is
idle. [Skotlex]
* Added a clause to ignore name solve requests of chat-rooms (for some
reason the client requests them...) [Skotlex]
* Updated sql-files/item_db.sql to the latest. [Skotlex]
* Removed that mob_spawn_once message that is just a debug message with no
real purpose anymore. [Skotlex]
* Fixed forging displaying success even when it fails. [Skotlex]
* Changed main.sql so that sc_data only has indexes, not a primary key
(I keep hearing mysql can't handle a triple column PK...) [Skotlex]
* Fixed Doublecast's success chance [Skotlex]
* 'Fixed' the warning on @reloadscript (just removed the warning and
avoided memory leaks, because properly unloading the user functions and
reloading them I could not get done) [Skotlex]
* Fixed possible crash due to custom packets, thanks to Andz for the info.
[Skotlex]
* Fixed mob's Scream/Frost Joke crashing the server if the message was too
long [Skotlex]
* Fixed the wrong attribute being passed to the attribute fix in
battle_calc_magic attack (strange deja vu feeling.. I am sure I fixed this
same bug before). [Skotlex]
* Fixed trading. [Skotlex]
* Removed Mastery damage being applied to Grand Cross [Skotlex]
* Some more fine-tuning of the Grand Cross equation. [Skotlex]
* Fixed mobs that couldn't attack not being able to use skills (first half
of why marine spheres were broken). [Skotlex]
* Updated summoned marine spheres so they can move (second half of why
marine spheres were broken). [Skotlex]
* Rewrote the produce system for mixed foods creation [DracoRPG]
* Small changes and optimizations to battle_calc_magic_attack, replaced redundant
magic_subrace with missing magic_addsize, updated crappy doc about it [DracoRPG]
2005/10/22
* Modified Finger Offensive's formula to be 100% + 50%*skilllv which seems
to be a more factually correct equation than what is shown in the websites.
[Skotlex]
* Applied Ilpalazzo-sama's patch which speeds up the data zeroing in
status_calc_pc. [Skotlex]
* Crashfix on invalid lines when reading castle_db.txt [Skotlex]
* Updated GrandCross's damage formula according to Komurka's information.
[Skotlex]
* Also, now skills that ignore card modifiers only ignore the attacker's
card modifiers, no the target's (does not apply to skills like Pressure
that do fixed damage). [Skotlex]
* Updated Bowling bash damage, knockback to current Kro values. [Skotlex]
* Modified NPC_EMOTION and NPC_EMOTION_ON so they can be used to modify the
current mob's mode (instead of setting it). [Skotlex]
- Some examples:
1269,Clock@NPC_EMOTION_ON,attack,474,1,10000,0,30000,yes,self,always,0,6,4,300,,,
Adds mode 4 (aggressive) for 300 seconds to Clocks when attacking.
1193,Alarm@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,4,10,,,
Removes the aggressive mode (4) from Alarms when chasing for 10 seconds.
- After a mob's mode is changed, their state is reset so they can stop
chasing/seek a target.
* Made GrimTooth be longranged, Soul Drain work only on targetted skills,
and Extremity Fist only checks for enemy state right before attacking (I am
not sure it is 100% as it should be still, though) [Skotlex]
* Eh.. now Safety Wall blocks all skills tagged as short-ranged. Report any
anomalies this causes. [Skotlex]
* Added support for global mob skills. In essence, you can now specify a
mob skill that is added to ALL mobs in a single line by using negative
class IDs. -1 adds the skill to normal mobs, -2 adds the skill to
bosses, and -3 to both. For example:
-1,All@AL_HEAL,any,28,10,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,
Adds Heal Lv10 to all normal mobs.
* Readded the level up buff bonus from the Taekwon class T.T [Skotlex]
2005/10/21
* Removed the level up buff bonus from the Taekwon class T.T [Skotlex]
* Small change in mob_ai_sub_hard which may fix mobs casting their Rude
Attacked skill when they shouldn't. [Skotlex]
* Moved the code so that SNovice Steel Body should trigger inmediately upon
death, and bypass the exp loss penalty. [Skotlex]
* Added Taekwon boy to the buff on level up system. [Skotlex]
* Fixed Skills checking for water-cells instead of Land Protector cells.
[Skotlex]
* Added config option skillrange_by_distance, makes skills be long/short
ranged based on the source/target distance. Defaults to 6 (mobs + pets).
[Skotlex]
* Fixed Magic Power totally messing up matk. [Skotlex]
* Fixed Meteor Storm [Skotlex]
* Some changes to Moonlight Petals, it should make the skill finally be
considered an ensemble skill. [Skotlex]
* Updated skill_split_atoi to guess linear increases up to half of the data
provided. This means it can understand the more complex cast times of
skills such as Meteor and Soul Strike. If you provide the data of ten
levels, then it will check for patterns up to 5 steps long (meaning that
the diff between 1 and 6 is the same as the diff between 2 and 7 and so on,
and if they all match, the tested pattern is applied all the way to level
100) [Skotlex]
* Some modifications to Magic Power, it should hopefully be working now. [Skotlex]
* Cleanups and fixes to Tarot Card. [Skotlex]
* Fixed a screwup in skill_split_atoi which was corrupting the skill db. [Skotlex]
* Free up block chunks allocated by the memory manager when shutting down [celest]
* Updated packets in packet_db and clif.c [celest]
2005/10/20
* Turned on the error_log by default (had this been on before, I would had
noticed why Longing for Freedom was not working several WEEKS ago >.<)
[Skotlex]
* Fixed Longing for Freedom [Skotlex]
* Hopefully fixed even-share party on char relog exploit. [Skotlex]
* Modified Land Protector so it behaves more like Basilica. [Skotlex]
* Removed GM account reading from the char-sql server and moved it into
the login-sql server (Ancyker requested this was fixed... and this is how
it was working on the TXT servers) [Skotlex]
* Modified skill_split_atoi so it can guess linear changes in the values
and fill out the rest of the array correctly (eg: blowcount is defined as
1:2:3:4:5, now the function can understand that and fill the rest of values
with 6:7:8:9:10 and so on. It can also understand two-step increases, if
the value is 1:2:2:3:3:4, it can guess that the following values should be
4:5:5:6:6:7:7 and so on). This allows mobs to cast stuff like Thunderstorm
LV67 without the need of manually updating the dbs with the corresponding
values :O [Skotlex]
* Fixed monster_ai&1 doing the opposite of what it should do. [Skotlex]
* Rewrote the skill unit reiteration code so that it'll work with any AoE
skill that is set to not reiterate in skill_unit_db.txt, when no
reiteration is set, the skill cannot be stacked with itself, but it can
be placed on top of other AoE skills (except for Pneuma, Safety Wall,
Warp Portal, Basilica and the Hunter traps who all have their own checks
hardcoded) [Skotlex]
* Modified the way Magic Power works for AoE magic skills, it should now
work correctly for all AoE spells including Meteor. [Skotlex]
* Added mode "change target" (0x200 = 512) to specify mobs that can change
target while attacking. Since no mob in the db has been updated yet to
include this mode, for the time being all aggressive mobs will also be
considered as "change target" types (which is how eA has been managing it
up to this point) [Skotlex]
* Added a check in status_check_skilluse to make AoE skills fail if the
caster is standing on Basilica. [Skotlex]
* Reduced a bit the size of the party structure. [Skotlex]
* Fixed Play Dead [Skotlex]
* Reverted a memory fix in script.c which causes a crash.. [Skotlex]
* Reverted a small change which likely made magic power not work anymore on
ground skills. [Skotlex]
2005/10/19
* Added an SQL update update_logs2.sql Use it for more effecient work of your MySQL server [Luups]
* Likely fixed Root and the Wedding Skills [Skotlex]
* Fixed that crash in skill_use_id.. oops. [Skotlex]
* Fixed demonstration triggering status effects. [Skotlex]
* Fixed ground placed skills causing skill_counter_additional_effect
triggering on the skill's owner. [Skotlex]
* Added corrections/checks that should prevent the char servers from
crashing if they parse a packet from a client where the session data is
expected to be but is not set. [Skotlex]
* Converted NPC_STOP to a status-inducing effect, SC_STOP which prevents
characters from moving. [Skotlex]
* General checks and cleanup (new function pc_can_move) to prevent chars
from walking when they shouldn't be able to. [Skotlex]
* Some changes to int_party, which may prevent crashes due to large parties
in congested situations. [Skotlex]
* Software Caused Connection Abort errors should inmediately terminate the
connection now (rather than waiting for the timeout) [Skotlex]
* Hopefully fixed Basilica by making battle_check_target use the mapcell
instead of the status change when deciding the enemy state. [Skotlex]
* Fixed being able to enable NPC clicks while a trading window is open. [Skotlex]
* Added status change SC_MODE which allows to temporarily override a mob's
mode. It can be invoked through mob skills NPC_EMOTION and NPC_EMOTION_ON
using the second and third value (new mode and duration in seconds,
respectively). Example:
1269,Clock@NPC_EMOTION_ON,attack,474,1,10000,0,30000,yes,self,always,0,6,133,300,,,
Makes the Clock do the /an emotion, and his mode changes to 133 (can
move, can attack, aggressive) for the following 300 seconds (if the mode
is 0, then the mode is not changed).
- Note that when a mob gets their mode changed, their state is reset (so
they stop attacking/chasing)
- Because of this update, the code that made mobs give up chasing after a
while is no longer needed and hence, removed.
* Implemented function status_check_skilluse which checks whether a skill
(or melee attack) can be used on an enemy based on their status (restricts
skills that may be used if opponent is cloaked/hidden, or blocks Aex
Aeterna if opponent is petrified/frozen, blocks skills while silenced, etc
etc). Note that the code simplification/modification is big, so beware of
any new bugs that might have been caused by the function. [Skotlex]
2005/10/18
* Fixed card set bonuses for sure this time (or so I hope) [Skotlex]
* Fixed the Dissonance song bug which allowed you to cast a song afterwards
and it would not follow you around. [Skotlex]
* Modified the counting function to never count in skills (traps, AoE
skills) since traps were always being counted in for stuff like Napalm
beat/Blitz Beat/etc. [Skotlex]
* Fixed Devotion/Sacrifice check which should enable recasting on
characters. Thanks to Irmin for pointing it out. [Skotlex]
* Fixed offensive heal so it fails if not used on an enemy (instead of
failing when used on an ally). [Skotlex]
* Modified the char servers so they do a party range check when a character
logs in. This should fix parties keeping their even share even after a
low-level member rejoins the server. [Skotlex]
* Updated mob AI so that aggressive mobs will change targets if they are
attacked and their current target isn't attacking them (regardless of
range) [Skotlex]
* Some updates to the pet AI so their chase range is range3 instead of the
hardcoded value of 13. [Skotlex]
* Reverted Mika's fix since it makes it impossible for mobs to heal each
other. (what is the so called exp bug about?) [Skotlex]
* Fixed a possible crash in clif_equiplist(), thanks to Zoc [Skotlex]
* Spells are now considered a "miss" if they do no damage (this prevents
additional effects from triggering out such as freezing) [Skotlex]
* Temp bug fix of Exp increase when healing non-undead mob (by MiKa) [Lupus]
2005/10/17
* Updated sql-files/mob_db.sql to match with the current one. [Skotlex]
(someone else also did this, but missed a few values from Incantation
Samurai. Altough who did it and why it is failed to be mentioned in the
log files?) [Skotlex]
* Fixed alchemists not being able to hit their marine spheres (how many
times this same bug keeps coming back from the dead anyway?) [Skotlex]
* Updated sql-files/item_db.sql to the current item_db.txt [Skotlex]
* Fixed magic rod not cancelling the additional effects from skills. [Skotlex]
* Cleaned up the card inserting code to prevent crashes from modified
packets. [Skotlex]
* Fixed offensive heal [Skotlex]
* Applied a random chance when reducing the mob's chase duration. This
should randomize how long the mob chases you around before giving up.
[Skotlex]
* Some modifications to the timer push heap function, may fix timer issues
when creating timers with tick values that overflow. [Skotlex]
* Modified the mob ai so it has a seek time, when the min_chase runs out
(it is constantly decreased while chasing, starts out at range3) the mob
will stop chasing, do a /swt, and stop being aggro for 10 secs. This is how
it should be according to what I understood from Komurka's explanation.
[Skotlex]
* Added config monster_ai, it determines some of the mob behaviour:
- If &1, mobs will use hard path finding to reach their target, otherwise
only easy (straight line) path searches will be used (for most offensive
purposes).
- If &2, mobs will use the rude attacked skill if they can't attack back no
matter what, otherwise they use it only if they can't reach the target.
[Skotlex]
- Still pending on what other things it could define. Currently defaults to
0 (seems to be the official mob ai) [Skotlex]
* Now Atk/Matk potions duration don't get automatically multiplied by 1000,
duration must be specified in ms in the scripts. [Skotlex]
* Made all mobs with no guild belong to the same guild, this should prevent
mobs from attacking each other on WoE. [Skotlex]
* Fixed Into the Abyss + retrieving traps related exploits. [Skotlex]
* Changed monster_skill_nofootset to no to enable mobs casting stuff like
Bomb underneath characters. [Skotlex]
* Fixed Sacrifice, it can now be recasted on a player as long as it's by
the same crusader that is currently protecting the player. [Skotlex]
* Fixed some unitialized values error in magic and misc attacks. [Skotlex]
* Fixed 30% bonus from upper/baby classes affecting card bonuses. [Skotlex]
* Fixed baseClass not working on Acolyte class, thanks to Silent. [Skotlex]
* Made the stone curse animation only show up on successfully cursing. [Skotlex]
* Added Meditation's bonus to offensive heal, thanks to Orn. [Skotlex]
* Made devotion fail when already used on a char with that effect. [Skotlex]
* Made it so you can't quit while cloaking/hiding, and said status will end
on quit if force-quitting. [Skotlex]
* Cleaned up and fixed isequipped script commands, it should be working
correctly now (tested with the Assassin combo) [Skotlex]
* Fixed not stacking Long Attack Rate bonuses [Lupus]
- Bow Thimble +3%, Archer Skeleton Card +10%, Merman Card(when CARDS COMBO) +20%
- We should get rid of that +-15% ranged damage varianc (it doesn't cure "stoprate bug" anyways)
2005/10/16
* Fixed wrong calculation of items max drop chance (when using MySQL MOB DB) [Lupus]
* Added nomemo mapflag to more levels of Thanatos Tower, thx2Justin84 [Lupus]
2005/10/14
* Updated the gvg_dungeon mapflag to mean "guild versus guild regardless of
woe schedule" and set it on the guild versus guild maps. [Skotlex]
* Fixed perfect hiding. [Skotlex]
* Cleaned up (or rewrote?) the Run and High Jump code to merge them better
with the normal walking routines. [Skotlex]
* Corrected Turn Undead from ignoring element. [Skotlex]
* Updated Power Thrust Max & Power Thrust so that they don't stack (and
only PT Max cancels PT) [Skotlex]
* Some fine tuning in battle_check_attackable. [Skotlex]
* Changed db_final's implementation to End of Exam's. [Skotlex]
* Corrected Guardian removal routines to also update/save their respective
Castle data (Guardian HP and visibility) [Skotlex]
* Added map server setting "enable_spy", must be set to yes/on for @spy
commands to work. [Skotlex]
* Applied End of Exam's fix to the previous fix to the db. [Skotlex]
* Fixed spyguild/spyparty sending packets to the spied guild/party instead
of your own. [Skotlex]
* Rewrote the card hash implementation. Now it should work correctly for
any card set on any equipped item. Supports up to 4 slots in any of the
equipped items. [Skotlex]
* Updated the mob ai so it stops chasing right away if you
hide/cloak/vanish/etc. [Skotlex]
* Fixed some memory issues in the db handling. Credits to End of Exam.
[Skotlex]
2005/10/13
* Updated the main.sql file with some of the recommendations by Zoc
[Skotlex]
- If your sc_data table works as it is, you don't have to touch it.
* Fixed Maxmize Power/Cloaking sending the sever to an "infinite loop" when
used by mobs. [Skotlex]
* Some cleaning to clif_send in regards to guild-related packets. [Skotlex]
* Added mob skill condition "afterskill", works like "skillused" except
it's triggered after the mob was the one doing the mentioned skill.
[Skotlex]
* Small cleanup and optimization of data saved when received member
information. [Skotlex]
* Fixed some memory issues in script loading and the plugin loading
mechanism. [Skotlex]
* Fixed magic attacks always doing minimum damage. [Skotlex]
* Fixed the crash in battle_check_attackable [Skotlex]
* Fixed Fireball hitting twice on the targetted mob. [Skotlex]
* Updated Recall Guild to work in gvg maps even if the nowarp flag is set.
[Skotlex]
* Updated Recall Partner to warp partner after 20 secs the thing is on the
ground, skill is blocked from reusage during that time. [Skotlex]
* Some updates to correctly decide whether skills hit cloaking and/or
hidden chars. [Skotlex]
* Updated skill code so that heaven's drive will hit and destroy traps
(untested), also AoE skills will not trigger on hidden characters. [Skotlex]
* Fixed the crash on magic rod. [Skotlex]
* Updated Maximize Power and Cloaking to last forever (until reuse, I
believe) for non-players. [Skotlex]
* Made Berserk end when you logout. [Skotlex]
* Made song/dances end when you unequip your weapon rather than on equip.
[Skotlex]
* Fixed one bug in battle_calc_magic attack and some cleaning of it as
well. [Skotlex]
* Updated sql-files/mob_db.sql to match the latest mob_db.txt [Skotlex]
* Updated sql-files/item_db.sql to match the latest item_db.txt. [Skotlex]
* Fixed stealing. Now it works like aegis one. [Lupus]
2005/10/12
* Fixed everyone gaining high speed after casting a ground-based skill.
[Skotlex]
* Corrected the magical part of Soul Breaker ignoring mdef. [Skotlex]
* Updated Reverse Orcish to use the duration specified for the skill in
skill_cast_db.txt [Skotlex]
* Modified REVERSEORCISH to make it a status change (SC_ORCISH), since
there's no data about duration, defense, or if any stat reduces it's
duration, it currently is fixed to 5 minutes. [Skotlex]
* Fixed crash when sending the insert card packet with an invalid index. [Skotlex]
* Added script constant baseClass. [Skotlex]
- Example: if (baseClass == Job_Novice) will match on all novices and super
novices. if (baseClass == Job_Swordman) will match on all Swordmen, Knights
and Crusaders. Once tested several item scripts can be simplified in the
item_db.
- In contrast, the already defined baseJob works by stripping the upper
kind only. (eg: baseJob == Job_Swordman matches on swordman classes, but
not Crusader/Knight)
- I know the names can be confusing, but anyone has a better suggestion for
a name?
* Added a fix to prevent people from buying equipment in stackable from by
hexing the packets and specifying an amount greater than 1. [Skotlex]
- Thanks to End of Exam for pointing out the exploit.
* Added flag "move delay" to skill_castnodex_db.txt [Skotlex]
- By setting this flag to 1, players won't be able to move during the skill
delay time. Some reorganization was needed in skill.c to make room for
this, so some testing is required.
* Fixed the Char SQL server unnecessarily loading AND saving parties each
time a party-member changed maps. [Skotlex]
* Modified skill_min_damage so that it defines the minimum damage for
skills IF the skill does not misses/is blocked. Can be used to specify
to any of weapon attacks, magic attacks, or misc attacks. Defaults to 6
(magic + misc attacks) as that is what was set up previously. [Skotlex]
* Fixed Wand of Hermod and a potential crash related to ground based
skills. [Skotlex]
* Probably corrected npc load count when using reloadscript. [Skotlex]
* Likely fixed petheal [Skotlex]
* Fixed PVP client crash bug. By a new cadidate into eA coders LuzZza [Lupus]
* Updated maps comments, thanks to Justin84 [Lupus]
2005/10/11
* Fixed not being able to cast resurrection on dead players. [Skotlex]
* Fixed party HP update crash. [Skotlex]
* Fixed players being killed always in one hit. [Skotlex]
* Fixed chars not being able to unhide. [Skotlex]
* Rewrote/optimized the hp updating code (both party hp and disp_hpmeter),
this should lower bandwidth a bit from all the unnecessary packets that
were previously being sent. [Skotlex]
* Removed the mysterious 2.2% drop chance for all items when read from the
sql db. [Skotlex]
* Updated targeted skills and normal attacking to fail when targetting
hidden characters. [Skotlex]
* Merged reddozen and Draco's code regarding TK skills. [Skotlex]
* Added a function to allow guilds to delete alliances with nonexisting
guilds. [Skotlex]
* Corrected the weapon damage return in battle_weapon_attack, thanks to PeF
for pointing it out. [Skotlex]
* Added max_baby_parameter to define the max parameter for baby classes.
Also fixed some instances where the baby parameter restriction was not
being taken into account. [Skotlex]
* Fixed Firewall doing knockback on the undead. [Skotlex]
* Fixed Waterball count when casted by non-players, thanks to Orn [Skotlex]
* Fixed the instrument/whips gender restriction being applied to Cap. [Skotlex]
* Damn typo: Fixed Mobs Drops with the same % droprate. thanx 2rover 4bugreport [Lupus]
* Fixed SQL Mob DB reading(no drops issue, etc) thanx to yoanykim for pointing it out [Lupus]
2005/10/10
* Probably fixed the peco-riding issue. [Skotlex]
* Fixed clif_clearchar_delay (cause of the ghost mobs from my tests). [Skotlex]
* Small fix on the mob ai (attacked_id was never being reset if the
attacker no longer exists). [Skotlex]
* Added a couple of checks to prevent the mob_ai from executing if the mob
is dead. [Skotlex]
* Fixed a typo in skill_attack which causes all sort of unpredictable
behaviour, such as firewall never hitting. [Skotlex]
* Fixed a memory leak involving pets and cast cancel. [Skotlex]
* Made Wand of Hermod end when the caster is moved for whatever reason. [Skotlex]
* Increased the random damage delay modifier to +/-15% [Skotlex]
* Fixed "rare drop filter" considering "available in shops only items" as RARE items [Lupus]
* The GM can drop level now also determines whether a GM can store items in
the Guild Storage or not. Thanks to Kayla for pointing it out :P [Skotlex]
* Fixed Grimtooth so that it's slowdown works on both players and mobs.
[Skotlex]
* Fixed Fireball's damage. [Skotlex]
* Now the Wedding Dress and Tuxedo will always check for the correct
gender. [Skotlex]
* Cleaned up the code for Potion Pitcher. [Skotlex]
* Reverted Falcon Assault to be 5x Blitz Beat's damage at level 5. [Skotlex]
* The npc_counter is now reset in a @reloadscript. [Skotlex]
* Cleaned up Falcon Assault and made it's %dmg increase be an addition on
top of Blitz Beat (altough I am not so sure that's right) [Skotlex]
* Hardcoded the gender restrictions for items with view 13 & 14 (Musical
Instruments and Whips), changed ignore_item_genders to yes as default. [Skotlex]
* Changed GX duration to 900ms. [Skotlex]
* Cleared up the item get times descriptions in battle_athena.conf [Skotlex]
* Some timer fixes in status_change_start regarding sc_data loading. [Skotlex]
2005/10/09
* Probably fixed Waterball so it does max number of hits when casted by a
non-player regardless of water availability. [Skotlex]
* Fixed perfect hiding. [Skotlex]
* Corrected magic damage return to only work on targetted skills [Skotlex]
* Some cleaning up of the skill_attack function. [Skotlex]
* At last finished 2 last logs filters options: [Lupus]
- Implemented 'Rare' items option (you can set rare_items_log value)
- Implemented 'Big amount' of items option (it would always log big set amount of items (per 1 action!) despite on the other filter option)
* Updated @iteminfo ATcommand. It would show you additional item info. [Lupus]
- Monsters drop this item with ?.?% chance
- Monsters don't drop this item
- This item is available in the shops only
- Tip: When you Trade/Vend goods, use @iteminfo to check items price and even rareness ^_-
* Rearranged item_data struct units to make it compatible with some old script commands after Skotlex's changes
- Tip: Now you can use GetItemInfo script command to find out if the item is rare or not
2005/10/08
* Some improvements to the mob ai. [Skotlex]
* Fixed summoned marine spheres exploding on their own. [Skotlex]
* Probably fixed the attribute fix for magical attacks. [Skotlex]
* Made the gender check to not be ignored by default [Skotlex]
- This is necessary because the new job ID system makes both Dancer and
Bard be treated as the same job, so all bard/dancer comparisons were
changed to be gender comparisons, thus, the gender check is indispensable
for their weapons.
* Updated item_db structure. new column upper (after equip_jobs) defines
the type of job that can equip the item (1: Normal jobs, 2: Upper jobs,
4: Baby jobs), merged the use_script and equip_script columns into one.
Also the equip_jobs column now has support for the following classes:
Taekwon (2^24), Star Gladiator (2^25) and Soul Linker (2^26)
The provided db/item_db.txt and sql-files/item_db,sql are already updated
with all the necessary changes (all equipable/usable items have their
upper set to 7)..
- Lupus, Nexus, get working on updating the item_db.
* Made FrostJoke/Scream work the same way out and inside woe grounds.
[Skotlex]
* Corrected Grand Cross Damage [Skotlex]
2005/10/07
* Took out Lighthalzen's noteleport mapflag. Added it by accident. [Nexon]
* Some commented code cleanup and help.txt update [Foruken]
* Applied Draco's fixes to battle_calc_magic_attack. [Skotlex]
* Modified @showexp and @showdelay so they will work as people would expect
them to. [Skotlex]
* Figured out what ## variables are, and documented it on
doc/script_commands.txt [Skotlex]
* Foruken pointed out that the actual script problem was a certain
acalloc() that was changed to realloc(), so undid the last revert and
reverted this one instead. [Skotlex]
* Fixed a char-sql issue where character variables seemed to be saving
incorrectly. [Skotlex]
* Removed a free() that was added on R3421 that was supposed to fix a
memory leak but instead causes crashes :/ (so the memory leak is back in
there, but no more crash) [Skotlex]
* Applied End of Exam's script engine patch. [Skotlex]
- This adds support for nested blocks, if/else, fors, switches. See
<http://eathena.deltaanime.net/board/index.php?showtopic=50037>
for more information. Note that he admits it is not fully tested, so be
careful when trying out the new commands!
2005/10/06
* Some corrections to the script engine, should fix a few memory leaks.
[Skotlex]
* Minor corrections to the screen output of the char_sql server when
saving. [Skotlex]
* Corrected authorisation issues in msg_athena.conf [Skotlex]
* Updated Wand of Hermod [Skotlex]
- Can't amp out of it.
- Affects everyone
- Only prevents people from casting supportive skills.
* Fixed mobs not doing their "rude-attacked" skill. [Skotlex]
* Corrected casters being able to walk during Wand of Hermod [Skotlex]
* Made Guild Recall be usable outside of WoE. [Skotlex]
* Changed the default gvg_traps_target_all to yes. [Skotlex]
* Changed the default for copyskill_restrict to 2 (cannot copy advanced
skills) [Skotlex]
* Added a bunch of code related to the 2nd job quest skills and Tae -second
classes skills, as provided by Draco and acquired from jA [Skotlex]
* Merged Draco's implementation of battle_calc_magic_attack. [Skotlex]
* Modifications to the mob AI to more accurately use Range2 (mob's sight
range) and Range3 (mob's chase distance ability) [Skotlex]
* Cleaned up item_db.txt, updated sql-files/item_db.sql to match. [Skotlex]
* Added logarithmic drops support for TXT itemdb loading (how could I had
forgotten that?) [Skotlex]
* Added battle options item_rate_treasure, item_drop_treasure_min,
item_drop_treasure_max, these override all other rate options when it comes
to Treasure box drops. [Skotlex]
* Cleaned up battle_athena.conf regarding drop rates. mvp_item_rate has
been changed to item_rate_mvp. [Skotlex]
* Implemented Maya Purple card effect (you can see any hidden mob). Thanks to jA [Lupus]
* Updated functions: pc_calc_base_job,pc_calc_base_job2 [Lupus]
- They return 24:Taekwon, 25:StarGladiator, 27:Soul Linker
Now someone should UPDATE Job fields of item_db.txt for TK,SL,SG classes
then I'll remove ugly hardcoded "temp plug" from pc_isequip function
[Item_DB JOB field note]: We don't check Knight2,Crusader2,Star Gladiator2 bits,
so don't set them.
In other words we use only these bits:
0-Novice,1-Swordman,2,3,4,5,6-Thief
7-Knight,8,9,10,11,12-Assassin,14-Crusader,15,16,17,18,19,20-Dancer
23-Super Novice
24-TK,25-SG,27-SL
Don't ever use other bits e.g. for Advanced classes. It's useless
* Added Poring Box logs (into dead branch logs)
2005/10/05
* Updated nomemo and noteleports for Lighthalzen/Einbroch/Einbech maps and others. [Nexon]
* Fixed the mob AI. [Skotlex]
* Updated alchemist_summon_reward [Skotlex]
- Summons now never give exp, and they may drop items according to setting:
0: Never drop items
1: Only Marine spheres drop items (default)
2: All summons drop items.
(maybe a different battle option can be made to make summons give exp?)
* Simplified the Grand Cross code. [Skotlex]
It is now entirely a magical attack with extra damage of the form base
atk * skill% - armor def% - vit def. Note that weapon properties won't
apply now as well as many of the offensive cards (those that do not apply
to both magic and weapon attacks, that is), and the def penalty from
having many mobs targeted on one is not applying neither (so the full
def is being taken into consideration). Report any corrections further
needed.
* Cleaned up, organized and improved somewhat the mob ai code. [Skotlex]
(update and test at your own risk as I can't test it currently)
* Some corrections to the way the guild master's name is updated during a
gm change. [Skotlex]
* Added a check to avoid saving negative durations for status changes. [Skotlex]
* Added a check to avoid loading status changes with negative durations
(the walk freeze problems seem related to timers and sc_data loading, so I
am shooting in the dark here at possible problem sources) [Skotlex]
* Various cleanups to ensemble related code, Longing For Freedom may be
working now. [Skotlex]
* Added the water levels to ayo_dun01, gon_dun01 and lhz_dun03, thanks to
Master of Muppets [Skotlex]
* Made Autocounter trigger autospells (was not doing so because it's NK
defines it as a no-damage skill) [Skotlex]
* Some cleanups on the mob slave AI code. [Skotlex]
* Added battle config retaliate_to_master, defaults to yes. [Skotlex]
- Why? Because in official, summoned mobs are not attacked by other mobs
(speaking about alchemists), if you set this to no, then mobs will
retaliate against the summon (both @summon and alchemist ones).
* Some fixes to the way the guildmaster flag is being set and checked. [Skotlex]
* Made the skilllv be 1 if the client sends less than that (this is why
active guild skills were not working. For some reason the client was
sending a request to do the skill at level 0!) [Skotlex]
2005/10/04
* Likely fixed Aeterna + Soul Breaker/Destroyer. [Skotlex]
* Some cleaning of the mob ai. May help with some of the current exploits.
[Skotlex]
* Corrected Mob_ai code to make supportive mobs properly gang up on
summons. [Skotlex]
* Moved the plagiarize code to execute it before dealing damage (because on
WoE you are auto-restored when you get killed, hence the player was 'alive'
and it would copy the skill when killed by it on WoE) [Skotlex]
* Fixed Classical Pluck blocking AoE spells. [Skotlex]
* Updated Spider Web code to not retrigger if already trapped by one
(needed because spider webs can now stack) [Skotlex]
2005/10/03
* Fixed a mistake with my last fix. [Kevin]
* Fixed often occurring memory leak in clif.c. [Kevin]
* Made NPC_DARKCROSS work (it's just a copy of Holy Cross with dark
attribute) [Skotlex]
* Removed resetting the manner when a player is saved. [Skotlex]
* Cleaned up map reading code to make it remove maps that could not be
loaded. It prevents crashes related to maps that weren't correctly loaded
on startup. [Skotlex]
* Fixed Endure to make it add armor mdef. [Skotlex]
* Small fixes to updating the guild master's name during a guild master
change. [Skotlex]
* Some corrections to the mob ai to enable mobs to attack other mobs
(summoned ones, of course) [Skotlex]
* Updated autotrading so that the char will close the shop and quit the map
server automatically when there's nothing left to vend. [Skotlex]
* Added checks to prevent a char from joining/creating multiple chat rooms
(anti-crash fix, it is). [Skotlex]
* Cleaned up and restructured the mob item drop code. It also fixes a
possible crash during the autoloot check. [Skotlex]
* Reupdated Wind Walk to add +5% flee bonus... AGAIN. [Skotlex]
2005/10/02
* Fixed STEAL issue. [Lupus]
- Any Mob has 10 drop slots. If we pick an empty one, then we check previous slot, until we find a slot with an item.
Then we apply STEAL FORMULA for the item. (During the tests I managed to steal 2 poring cards 8)
If a mod doesn't have any slots then STEAL fails.
- Possible exploit: If a mob (e.g. NEW MOBS) has only one rare drop, then STEAL would always try to steal that the only slot 8)
How to fix: I suggest to fill other empty slots with Jellopies or Apples with zero chance.
2005/10/01
* Expanded NPC shop log info of sold items (cards, refine, etc) [Lupus]
* Fixed compile errors in converters [celest]
* Updating built-in zlib to 1.2.3 [celest]
* Added unzip functions to grfio.c [celest]
* Finished Fusion AF2 maps support - just put the .af2 files in the
afm folder and start the map server as usual [celest]
NOTE: It will need a new unzip library, so do 'make clean', or delete
'Makefile.cache' before recompiling!
2005/09/30
* Updated the slave warp code. Now when a master recalls their slaves,
these will be placed 'randomly' around the master in an area_size/2 range.
[Skotlex]
* Cleaned up the mob link (supportive mode) code to prevent wasting time
trying to link friends every 100ms. Now the interval for linking friends is
MOB_MINLINKTIME (1 sec currently) [Skotlex]
* Updated mob code so when a mob hits another, they set their 'attacked id'
to the mob in question, and not the mob's master. [Skotlex]
* Some cleaning up of the Taekwon stance skills. Added a attack delay when
they trigger (same way as triple attack delays your continous attack) [Skotlex]
* Modified the range check in skill_use_id/skill_use_pos so that if you try
to use a skill while moving, it will change your path to move one cell towards the
target before casting (as long as you are within one tile of being in
range). [Skotlex]
* Moved the bleeding reduction formula to status_change_start, modified the
formula to be (lv/5+vit)% reduction. [Skotlex]
* Fixed the blind duration reduction formula. [Skotlex]
* Upgraded Meteor Assault so you can specify the duration of
blind/stun/bleeding independently in skill_cast_db.txt [Skotlex]
* Made TK_JUMPKICK share the same code as Ashura Strike (just to see what
happens, both seem like they behave the same way, no?) [Skotlex]
2005/09/29
* Some tweaks and fixes around status.c, may fix the timer mismatches of
status_change_timer. [Skotlex]
* Fixed a memory leak regarding pet status recovery scripts. [Skotlex]
* Added timestamp support. Set timestamp_format to whatever you want, and
it will print a timestamp in said format before every Show* message. They
can be set independently for each server (defined at login_athena.conf,
char_athena.conf and map_athena.conf). Default is using no timestamps. [Skotlex]
* Modified the new auth login system to take into consideration when the
client tries to connect before the character data arrives from the char
server. [Skotlex]
(seems to work well, but could use more testing)
* Corrected the description of the 'skill_add_range' switches and made them
default to 5. Still pending further tuning (the official value of these
switches should have is still unknown) [Skotlex]
* Added Demonstration to list of skills affected by
'gvg_traps_target_all' [Skotlex]
* Likely fixed Firepillar triggering multiple times when many characters
step unto it. [Skotlex]
* Increased the damage delay randomizer to be +/-10% rather than +/-5%, may
fix 'stun-lock'. [Skotlex]
* Added Consumable items log into pick_log [Lupus]
- You can see logs when someone uses items (boxes, potions, etc)
* Added AtCommands/CharCommands items deletion/creation log into pick_log [Lupus]
* Removed some of the unnecessary verbose messages from the char server
during data saving. [Skotlex]
* Added the new "online check" system (more of a fixing of a system that
was already there but was half working) [Skotlex]
it is turned on/off by using the online_check config options for the
login and char servers.
- char server: When the check is on, players are kicked out of the char
server when their character is already online, and the map servers are
instructed to kick the account out as well. If there's no reply from the
map servers, the char is automatically set offline after 15 secs.
- login server: When the check is on, players get "rejected from server"
when the account is online already, and afterwards the char servers are
told to kick that account out (like in the first case), if after 30 secs
there is no reply from the char servers logging off the account, the login
server sets it offline on it's own.
- The checks are by default on as they are meant to prevent possible
exploits on multi-map servers.
- However, I have not figured out where exactly a char server gets to know
that a player has changed map-servers, so this could cause trouble in said
enviroments until I figure it out (it won't go out of sync forever since
the map servers do update their list of online characters every then
seconds) :/
* Fixed crash, related to STEAL logs [Lupus]
* Added TXT logs for Pick_log [Lupus]
2005/09/28
* Added 'scripts items operations' and 'vending' into pick_log: [Lupus]
Tested with refine, getitem, getnameditem, removecards, etc commands. They are all supported.
Now you can see if a player breaks his armor in NPC Cards Remover, etc.
You can track down any item within a single DB.
You can make a SQL query to find which items are most popular, which quests are most popular, etc
Of course, it could help you to find your local items exploits, cheaters and unfail admins ^_-
- Added 'Autolooted' and 'Stolen' items into pick_log
- TODO: Add TXT logs
* Fixed JobMaster NPC. Thanks Amada [Kayla]
* Removed card-fix flag from Cart Termination. [Skotlex]
* Updated battle_check_target so that a mob will consither another mob an
enemy if either one has special mob ai (is a @summon or summoned alchemist
mob). Summons from the same master should not be attacking each other,
however I do think they will attack summons from another player. [Skotlex]
* Removed 10 chances to pick an item from STEAL skill (it should have only 1 chance) [Lupus]
2005/09/27
* Corrected again Wind Walk. Just +5 flee at lv10, walk bonus does not
stacks with other speed giving skills. [Skotlex]
* Corrected Wind Walk's walk and flee bonus (walk was a +4*skill_lv%
increase! and flee was +5 flee, rather than +5% flee of your total).
[Skotlex]
* Added atcommand @changeleader, transfers the leadership of a party to
someone else. [Skotlex]
(defaults as a GM-level 10 command, not quite yet tested)
* Added delitem2 script command with script sample by Mihilion [Lupus]
* Removed the check that prevented chars from logging out during status
changes, as the current system should save and restore these correctly.
[Skotlex]
2005/09/26
* Fixed MAX GUILD capasity in mmo.h to allow correct +6 Guild Extension [Lupus]
* Changed back the TIMER_MIN_INTERVAL to 50. Who changed it back to 25?
(svn3015 skotlex: Changed TIMER_MIN_INTERVAL to 25 (from 10), it probably needs to be bumped even higher, awaiting results from testers to see if a higher value would be needed.
svn1284 lupus: timers optimization / speed up / bug fix : no freezing mobs [TIMER_MIN_INTERVAL: 50->10])
(note to self: make this a setting in inter_athena.conf) [Skotlex]
* Guild Extension now adds 6 per level. [Skotlex]
* Added define ENABLE_SC_SAVING in common/mmo.h, comment/remove this line
to disable saving of status changes (temporary measure) [Skotlex]
* Updated Double Casting to only work on Firebolt, Coldbolt and
Thunderbolt. [Skotlex]
* Fixed cloaking/hiding. [Skotlex]
* Updates to status_change_start, scdata loading now should display on the
targetted player. [Skotlex]
* Removed card modifiers from Meteor Assault. [Skotlex]
* Corrected skill_out_range_consume so that spells effectively fail if the
target goes out of range. [Skotlex]
* Another another check on the new auth system which may help prevent
exploits. [Skotlex]
* General cleanup and code improvements needed because of the new auth
system. [Skotlex]
* Fixed a bug in the new auth system (TXT) which was causing the gender to
be pretty much randomly sent. [Skotlex]
* Fixed a bug in changesex at the TXT char server level. [Skotlex]
* Updated new logging system. Now logs TRADE, NPC Shops [Lupus]
* Fixed a possible exploit in the new auth system. Thanks to End of Exam
for the information. [Skotlex]
* Corrected True Sight critical bonus. [Skotlex]
* Water Ball will now do the full number of hits regardless of available
water when used by non-players. [Skotlex]
* Changed the emoticon delay to 1 second. [Skotlex]
* Zeny/item kill bonuses now work on all skills, and not just physical
weapon attacks. [Skotlex]
* Added official Ayothaya Town script by MasterOfMuppets [Lupus]
* Added new Players / Monster Drops / Pickups Logging system [Lupus]
- Changed new log table, now it has field 'type':
M = Monsters Drop, P = Players Drop/Take, L = Mobs Loot Drop/Take, T = Players Trade Give/Take,
V = Players Vending Sell/Take, S = Shop Sell/Take, N = NPC Give/Take
NOTE: 'looted drop' might has cards, refine, etc. 'common drop' has item w/o cards/refine
- Now you can see Players(cheaters) passing any items w/o trade
- Now MOBS+PLAYERS drops come in the same table (easy to query)
Poring -5 Apple
Zelgadis +5 Apple
- You can tell off monsters by their LOW id. < 2000~
- Negative value of AMOUNT shows that a mob, or a player has dropped that items amount
- Positive value of AMOUNT shows that a player has pickedup that items amount
- It works 5x faster than old DROPLOGS
- TXT logs don't work yet
- TODO: Add Autolooted & MVP items in the log, too.
- TODO: Add Mobs Looters DROP items in the log. (Now only attacked mobs log loot drops)
- TODO: Add Scripts/Vending logs
2005/09/25
* Modified battle_weapon_delay so that additional status effects are
invoked even if the attack does no damage, as long as the attack connects
(that is, it is not a miss/lucky dodge) [Skotlex]
2005/09/24
* Updated several mob stats for the Lighthalzen and later mobs from the
data provided by Viccious Pucca. [Skotlex]
* Updated sql-files/mob_db.sql to contain the most recent mob_db. [Skotlex]
* Added support for saving/loading status changes when characters log
in/out. [Skotlex]
- TXT users: the file used by default is scdata.txt, can be changed by
setting scdata_txt to something else in inter_athena.txt.
- SQL users the table used by default is sc_data, can be changed by setting
scdata_db to something else in inter_athena.txt. Use upgrade_svn3273.sql to
generate the new table.
- It is currently unknown the behaviour of restoring some status changes,
if any anomality shows up, do report.
- Currently, even thought the sc data is restored, the client does not
receives the packet telling them that the effect started (like Gloria, you
can see you have +30 luk, but the message is never there) nor the visual
effects are in neither. This is a side effect of starting the status
effects on a player before the client finished loading the maps and spawns
in the map. Will be fixed later.
* Some memory optimizations tothe new auth system. [Skotlex]
* Moved the charsave_method config to inter_athena.txt [Skotlex]
* Fixed Demonstration/Bomb getting 100% breaking chance on low skill break
rates [Skotlex]
* Fixed chars being able to cast skills while rooted if they didn't have at
least root lv1 [Skotlex]
* Removed Assert in pet_walk, use a less unstable debugging tool, causes
errors in remote shells. [Kevin]
* Fixed TXT char login with new auth system. [Kevin]
* Done: Adjustable players titles for @who, @who2, @who3 commands [Lupus]
- Check msg_athena.conf for new lines
2005/09/23
* Software Caused Connection Abort errors will now cause said socket to be
removed inmediately from the listening list of sockets, this may help with
the lag issues that arise when said error occurs. [Skotlex]
* Fixed Demonstration having 100% breaking chance if you set skill breaking
chance to 0. [Skotlex]
* Swapped functions of @who and @who3 commands. Because it's a spoil [Lupus]
to show players locations. You may enable @who for your common players now.
there's a shortcut for @WHO: @W
* Started adding adjustable players titles for @who, etc commands [Lupus]
- e.g. Super Player, GM, GM+, etc
2005/09/22
* Updated sql-files/item_db.sql to have the most current version. [Skotlex]
* Finished first part of new auth system, fully tested. Will reduce char->map
lag by whatever it is you are haveing. [Kevin]
* Added consideration of GrandDarkness in various code sections that were
only checking for Grand Cross [Skotlex]
* Deployed use of map_getallusers all over the map server where it makes
sense to include disconnected players. [Skotlex]
* Corrected map_getallusers to depend on the actual count of players in the
db rather than the variable users (prevents possible crashes if the two
differ) [Skotlex]
* Updated the player counting function so that it correctly accounts for
all players (including those not connected like in autotrade) [Skotlex]
* Characters will now automatically stand if Soul Drain is triggered while
sitting. [Skotlex]
* Set default option gvg_traps_target_all: no [Lupus]
- In kRO it used to be 'yes' some time ago but has been reverted back to 'no'
2005/09/21
* Corrected an error in the way guild alliances were being counted, as
pointed out by Viccious Pucca. [Skotlex]
* Fixed and deployed map_getallusers() on atcommands @who, @who2, @who3.
[Skotlex]
- This function should enable the aforementioned commands to work even on
players who are in the server but are not connected (eg: autotrade
players). It is temporarily only deployed on the @who functions pending on
feedback (bug reports, anything) before going ahead and implementing it on
all relevant atcommand/charcommand/script functions.
* Replaced the trim() function with Furoken's implementation (it should
remove tabs, consecutive spaces and other such unwanted characters from a
char's name) [Skotlex]
* Updated doc/script_commands.txt to explain the upper parameter of the
function jobchange. [Skotlex]
* Corrected sql query errors when logging trades and vending. [Skotlex]
* Updated doc/script_commands.txt with the script commands I've modified
or added that are not yet described within. [Skotlex]
* Small fix to clif.c which corrects characters that can't log in again if
they log out when the char and map server are not connected. [Skotlex]
* Cleaned up all SQL error reporting. It now follows the same standard
everywhere, and is followed by a debug line which includes the file, line
number and contents of the attempted query which caused the error. [Skotlex]
* Corrected an sql logs error when selecting a character with special
characters (eg: single quotes) on it. [Skotlex]
2005/09/20
* Changed Palm Strike's initial animation display. [Skotlex]
(it will show as a normal attack that misses instead of an skill, but at
least the animation delay is correct and the skill can be chained now)
* Adjusted Cart Revolution's damage to be based on the Cart's Max Weight
(instead of the hardcoded 8000w value) [Skotlex]
* Fixed a memory leak when pets cancel their casting. [Skotlex]
2005/09/19
* Added error reporting an item in the item_db.txt file has insufficient
fields (rather than just crashing) [Skotlex]
* Updated the item_db to use the new race and element constants. [Skotlex]
* Fixed (I think) battle option muting_players. Defaulted it to yes. [Skotlex]
* Added timers for displaying guildmates position. [Skotlex]
- All the packet related code was already there by Valaris, so I wonder why
this wasn't finished before?
* Added battle_athena options max_def/over_def_bonus (read
battle_athena.conf for desc) [Skotlex]
* Added error reporting when the magreg file fails to be saved. [Skotlex]
* Made berserk castable during the no-regen period when it expires. [Skotlex]
* Fixed a query error on sql refine logging. [Skotlex]
* General checks to the script engine string management. Should fix a bunch
of memory leaks. [Skotlex]
2005/09/18
* More updates to status change IDs [DracoRPG]
* Implemented TK_SEVENWIND, allowed simultaneous use of several stances, thanks to
reddozen for all the info about that [DracoRPG]
* Allowed to pickup/drop items while in Frenzy [DracoRPG]
2005/09/17
* Added a check that should prevent fighting against other guilds outside
of WoE times. [Skotlex]
* Hopefully fixed Hunter's Dectect skill. [Skotlex]
* Fixed the packet issues on the char txt server. [Skotlex]
* Miscellanous corrections to skill_attack. [Skotlex]
* Corrected the AutoSpellWhenHit rate of all items in the db (TXT + SQL)
[Skotlex]
2005/09/16
* Reverted some of the contents of skill_unit_move_unit_group since the
previous algorithm was optimized. Walking during a Song/Dance should be
smooth again. [Skotlex]
* Rewrote the guild gm changing system. [Skotlex]
- @changegm works now (tested in SQL, TXT should also be working)
- Added script command "guildchangegm <guild id>,<new master's name>". Now
go write some Guild Master changing npc if you want it to cost money, have
a minimum guild level requirement, etc.
* Added Ishizu's logarithmic drops equation. [Skotlex]
(see battle_athena.conf for full details)
* Added a sub-function call to clear Castle owners when their guild is
broken. [Skotlex]
* Added a char-server call to clear the alliance when a guild is broken
(when a guild breaks, the alliance/opposition is removed from memory on the
map server, so it seems said change is not sent/saved on the char-server
side?) [Skotlex]
* Added script function sc_start4, starts an status change with all four
values. [Skotlex]
Use: sc_start4 TYPE, DURATION, VAL1, VAL2, VAL3, VAL4, <target ID>
* Added SC_ARMOR_ELEMENT/SC_DefEle, specifies elemental defense bonus
against two elements at a time. For example:
sc_start4 SC_DefEle, 60000, Ele_Fire, 20, Ele_Wind, -15;
Gives 20% additional fire resistance and reduces 15% Wind resistance for
60 seconds.
* Expanded battle_attr_fix to consider the status changes of the involved
chars that affect elemental modifiers. [Skotlex]
* Fixed some status effects not being correctly ended/recalculated when you
stepped out of quagmire/song/dances. [Skotlex]
* Made quagmire be affected by the "gvg_traps_target_all" battle switch. [Skotlex]
* Added Bloody Branch log (along with Dead Branch) [Lupus]
2005/09/15
* The skill Vending will now fail on GM characters who do not satisfy the
gm_can_drop level requirement. [Skotlex]
* Updated the sql-files mob_db.sql and item_db.sql files to the current
version (just feed'em to sql to have your item_db and mob_db tables
updated). [Skotlex]
* Now @allskill and it's ilk will give you ALL skills except the ones
marked as "npc skills" (those have an inf2 value of 2). [Skotlex]
* Some code optimization around song/dances, now the ensemble should be
cancelled if you walk (or are knocked out or whatever) out of it.
[Skotlex]
* Added log support to N slots. Now all cards should be logged [Skotlex]
- Note that I have not been able to test it yet, so report back any
problems caused by it.
* Fixed a memory leak when removing disconnected chars. [Skotlex]
* Re-enabled the Memory Manager by default. [Skotlex]
* Updated atcommand @rates so that it displays current exp rates in x form
(eg: "Current rates: Base 4.5x, Job 8.0x") as suggested by Mellowz.
[Skotlex]
* Corrected resetskill messing up with Wedding Skills. [Skotlex]
* Some adjustment to the status change defense (as per data provided by
Viccious Pucca) [Skotlex]
* VVVS weapons now give +50 damage instead of +40 (again thanks to
Viccious) [Skotlex]
* Success rate of making Star Crumbs now is 100% (regardless of skill
level?) [Skotlex]
* Couple of crash fixes on the map-server char saving method
(char_save_method: 1) [Skotlex]
2005/09/14
* Yet another correction to SQL char saving. [Skotlex]
* Added support for N slots. [Skotlex]
- By changing the constant MAX_SLOTS in common/mmo.h, the server can be
configured to support items with more than 4 slots. Saving/Loading and
inserting of cards should be working correctly. Features still missing
are including the extra slots in the log functions and updating clif.c to
send the extra cards to the client (This is still work in progress).
- SQL Users interested in using this, need to manually add columns card4,
card5 and so on to the relevant tables (cart_inventory, guild_storage,
inventory, storage), example query:
ALTER TABLE inventory ADD COLUMN card4 int(11) NOT NULL default
'0' AFTER card3;
- TXT users need do nothing, the char server handles the
expanding/contracting of slots internally (if the number of slots is
shrinked, the additional slotted cards are lost)
- Never set the amount of slots to less than 4, as they are needed for
forged equipment.
* Likely fixed Lex Divina. [Skotlex]
* Likely fixed sql char-saving, too. [Skotlex]
* Lex Divina can now be casted on allies as long as they are silenced.
[Skotlex]
* Fixed crashes on GVG grounds involving characters with no guild. [Skotlex]
* Added a few socket features from Freya which hopefully will help
stabilize eA on Windows (testing needed!) [Skotlex]
* Miscellanous fixes and rewrites to memitemdata_to_sql, it'll probably
fixed the stackable named items duplication exploit. [Skotlex]
(note that it is not tested, so there's the chance I broke everything
instead, so upgrade for testing purposes only and report back!)
* Changed HP/SP drain rates so that the max (100%) is 1000. Adjusted item
db accordingly. [Skotlex]
* Disabled chars from muting themselves (as a temporary measure against the
mysterious "don't use bot!" message) [Skotlex]
* Added atcommand logging for /monster and /item (not quite tested yet, but
I think it'll work) [Skotlex]
* Changed autospell rates so that the max (100%) is 1000. Adjusted item
database accordingly. [Skotlex]
* Reverted displayed heal value. [Skotlex]
2005/09/13
* Fixed Basilica [Skotlex]
* Rewrote the mechanics of how Devotion works. [Skotlex]
* Updated Heal so that it displays on-screen the actual amount that was
healed. [Skotlex]
* Changed the damage motion equation to 1/4th of what it was before (now
using player_damage_delay_rate: 100 is what was player_damage_delay_rate:
25 in previous revisions) [Skotlex]
* The login servers will now notify when a player has an account ID under
700000 (which won't let them connect to the map server) [Skotlex]
* Added support for SC_BLEEDING in skill_counter_additional_effect &
skill_additional_effect [Skotlex]
* Changed bonuses bAtkRate, bWeaponAtkRate and bCritRate to modify
base+watk damage, not just watk. [Skotlex]
* Corrected coma-effect killing bosses. [Skotlex]
2005/09/12
* Party even share code won't try to give dead players their share of the
exp (since pc_gainexp would refuse so anyway) [Skotlex]
* Added trim() usage to char servers to prevent creation of characters with
spaces at the beginning or end of name. [Skotlex]
(the client won't let me create chars with said names so I can't really
test it, but on the very least valid names are not crashing it as far as
I can see)
* Expansion/optimization of the skill unit code. Now it should be correctly
identified when a character walks into a skill cell, walks out of a skill
cell, and walks out of the skill group (performance optimization,
client-side: songs and dance effects will work correctly, and Quagmire
won't spam "speed up/down" messages). [Skotlex]
- Got basic testing only (casting, amp/encore, walking, being knocked back,
warping), so report any problems found.
* Bomb/Demonstration should now be cast-able under the Emperium. [Skotlex]
* Acid Terror now knows ignores armor defense, but not vit defense. [Skotlex]
* Added an official Bards Job Quest (check npc\changelog.txt) [Lupus]
2005/09/11
* Changed back the default of gx_all_hit to no. [Skotlex]
* Added check to prevent ensemble skills from changing position. [Skotlex]
2005/09/10
* Removed the changing of targets for offensive songs in gvg grounds. [Skotlex]
* Corrected Grand Cross not always hitting 3 times. [Skotlex]
* Fixed the display of Auto Counter. [Skotlex]
* Added check to prevent auto-spells from being casted when the source and
target are the same (normally you can't hit yourself, though....) [Skotlex]
* Fixed Root [Skotlex]
* Fixed the issue which made mobs do nothing. [Skotlex]
* Change Provoke to affect armor def of mobs, and vit def of mobs/players. [Skotlex]
* Another change to autocounter, I think it will work now. [Skotlex]
* Fixed Defender's aspd bonus. [Skotlex]
* Fixed rooted character's root level (instead of using the caster's level) [Skotlex]
* Windows builds will now abort and exit when there's a "Software Caused
Connection Abort" error since it seems unrecoverable.. [Skotlex]
* Reverted back my char.c/sql char.c changes 8) Have to re-check [Lupus]
* Added official Louyang city (thanks to MasterOfMuppets), fixed some Kafra bugs [Lupus]
check npc/changelog.txt
2005/09/09
* Fixed TXT/SQL char servers not reading properly their command line arguments [Lupus]
* Refixed those compiler errors >.< [Skotlex]
* Readded the damage delay to firewall. [Skotlex]
* Added an extra db (pc_db) to hold players, it should speed up map_id2sd
lookups. [Skotlex]
(note that all functions which do a search on all connected players do a
linear search on the connection sessions, and porting this to use the new
system will take a pretty annoyingly long time)
* Added checks to prevent dropped items from stacking (they can still
stack, but at max 2 items per cell). [Skotlex]
* Added Guild removing from memory upon guild break to Char SQL server
(TXT already had this correctly) [Skotlex]
* Changed Provoke to reduce armor defense, not vit defense. [Skotlex]
* Likely fixed the direction check in Auto Counter. [Skotlex]
* Removed the console functionality from socket.c (it was no good on the
map server since that session is used on disconnected players), also added
more checks to prevent parsing session 0. [Skotlex]
* Added check to prevent skills from triggering auto-skills of the same id
(prevents unlimited chain-reactions) [Skotlex]
* General fixes to guardian spawning code. [Skotlex]
(includes setting a timer so the Emperium gets it's guild data if not
available at spawn time).
* When the Emperium's guild is not found (in mob_spawn_sub, 5 secs after
trying to spawn it) the Castle will be reset back to no guild owning. [Skotlex]
* Fix to battle_check_target, should correct guardians/emperium [Skotlex]
* Guardians will now be deleted if their guild is not found in
mob_spawn_guardian_sub. [Skotlex]
2005/09/08
* Added filter into chat log. Check log_athena.conf for more info [Lupus]
- Now you can turn off logs during WOE, etc
* Made Musical Strike/Slinging Arrow work while in ensembles. [Skotlex]
* Oops, fixed the compile error. [Skotlex]
* Various checks to prevent trying to send data to disconnected players in
clif_send [Skotlex]
* Moved the auto-spell code from weapon attacks to skill_additional_effect
and skill_counter_additional_effect. [Skotlex]
- The autospells will trigger for all skills/normal-attacks except those
with nk =1 (no damage skill) which is needed to prevent stuff like
heal, traps or dances from triggering it.
- Does not affect SC_HINDSIGHT triggered spells.
- NOT properly tested as of yet, report any abnormalities and skills it
should/should-not be working with.
* Fixed the crash when attempting to target a Emperium. [Skotlex]
* mob_spawn_guardian will now 'retry' to load the guild data five seconds
later if the guild info is not available at spawn time. [Skotlex]
* Fixed disconnected chars appearing as GMs on the console. [Skotlex]
* clif_send_sub won't try to send any data to disconnected chars now. [Skotlex]
(may fix possible buffer overflow crashes)
2005/09/07
* According to the patch, enabled Butterfly wings in the Castles [Lupus]
* Adjusted MAX_GUILD constant according to Skotlex's changes [Lupus]
* Now when the castle owner guild id is loaded, and the guild is not in
memory, the map server will request it right away from the char server. [Skotlex]
* Corrected Guild Extension to be +4 to the max guildmates per level. [Skotlex]
* Changed the default max vending value to 1 Billion [Skotlex]
* Inverted meaning of pvp_noguild and pvp_noparty flags. the default then
for all maps where they are not set is: You can't attack parties/guildmates
on pvp maps. [Skotlex]
* Updated mapflag/pvp_noparty to mark only the gvg arenas. [Skotlex]
* Added mapflag/pvp_noguild, by default includes all pvp arenas. [Skotlex]
* Cleared up some of the warning messages on mob_spawn_guardian. [Skotlex]
* Fixed the compile error on skill.c... [Skotlex]
* Changed offensive song/dances target to BCT_ALL when invoked in pvp/gvg
grounds. [Skotlex]
* Added unit flags UF_NOMOB, UF_NOPC to give better control on who gets
affected by ground skills [Skotlex]
* Fixed the possible crash in map_foreachinpath. [Skotlex]
* Removed the error message in mob_guardian_changeguild when the new guild
has ID 0, the mob will just be removed instead. [Skotlex]
2005/09/06
* Changed Assumptio to target all players around target. Mobs are no longer
affected. [Skotlex]
* Fixed battle_check_target fails on guild-mates in pvp maps. [Skotlex]
* Reverted battle_check_target to prevent floras from hitting themselves
until a better scheme can be thought of. [Skotlex]
* Reorganized battle_weapon_attack to allow counter/root from blocking
autotriggered skills (like TripleBlows/Sacrificial Ritual) [Skotlex]
* Fixed that crash on mob_spawn_guardian. [Skotlex]
* Added battle option gvg_traps_target_all, defaults to yes for now. [Skotlex]
* Added Zoc's fix to @autotrade (which made traders unable to login again..
ever) [Skotlex]
* Massive Guardian update. [Skotlex]
- Rewrote the guardian stat-passing system to minimize the need of db
lookups. Should greatly reduce the heavy lagging during WoE.
- Not properly tested (lack of resources), update at your own risk AND
PLEASE report any crashes/problems.
2005/09/05
* Fixed Endure. [Skotlex]
* Fixed Harmonic Lick not adding status change resistant. [Skotlex]
* Moved ensemble stats calculating from status_change_start to
skill_unitsetting (performance purposes) [Skotlex]
* Fixed song/dance effects lasting 30 secs rather than 20. [Skotlex]
(still somewhat inefficient, needs better handling method)
* Battle check target fix: Novices/Low levels being unable to target mobs. [Skotlex]
* Temporarily made traps not target allies on gvg (Still up for dabate) [Skotlex]
* Battle check target update: Summoned creatures won't be checked versus
their master, means you should be able to target them as if they were
normal enemies. [Skotlex]
* Made Shield Chain long ranged (it has to be affected by pneuma/defender). [Skotlex]
* Fixed both trader/seller not being saved when using autotrade. [Skotlex]
* Added debug messages to figure out who is causing the rain of function
mismatches on deleting skill_timerskill. [Skotlex]
2005/09/04
* Fixed Trade Bug (when Trade Window indication was wrong). Thanks to k3dt
* Now Water Ball isn't affected by RAIN mapflag anymore. Also corrected
caclulation of number of WB shots (was broken by a typo) [Lupus]
- Rain has been removed from kRO long ago.
* Now Safety Wall fails to protect against Acid Terror. [Skotlex]
* Added battle_config option firewall_hits_on_undead (defaults to 1) [Skotlex]
The deal is that each time the skill triggers on an undead, this number
of hits will be dealt instead of just one.
PROs: With a value of 5 or so, vertical firewall will work completely.
CONs: A high value means the whole tile can be wasted killing a single mob.
* Fixed working stealing with NOLOOT mapflag on. Thanks 2Lorky [Lupus]
* Now Knockback won't work when the target is already dead (prevents
ghosts) [Skotlex]
* BSS now targets every player in the area of effect (might be updated to
include mobs pending on further information) [Skotlex]
* Acid terror is now considered a ranged attack. [Skotlex]
* Crash fixes to the npc-whisper system. [Skotlex]
* Fixed classchange-able Emperium/Guardians/Treasure Boxes, thanks to alsimons [DracoRPG]
* Fixed songs/dances, updated Hip Shaker [DracoRPG]
* Fixed some fields in sql-files\main.sql... Who the hell added back `broken`? The field
`attribute` is the good one! Also changed `fame` type to the same as `zeny` (same max
value in the source code, so samemax value in the SQL saves !) [DracoRPG
* battle_check_target update: Fixed BCT_NOENEMY checks. [Skotlex]
* Moved Mental Sensing bonus from pc_gainexp to mob_damage, it is now a
status effect which the mob itself needs to be inflicted with to take
effect (and everyone involved in killing it will benefit) [Skotlex]
* Pets now won't move while casting (unless their master is like a screen
away or so) [Skotlex]
2005/09/03
* Fixed speed calc for pushcart/stalk/dancing/singing. [Skotlex]
* Some crash-fixes introduced by the rewritten status system. [Skotlex]
* Adjusted the default gvg penalty values, added gvg_flee_penalty. [Skotlex]
* Fixed skill_blown causing a dangling pointer in the map data. [Skotlex]
(I believe this is the actual cause of all the crashes as of late)
* Fixed @autotrade venders not being saved after they sell an item. [Skotlex]
Now both characters are saved to prevent exploits, too.
* Fix to mob_setdelayspawn, if lucky might help with the crashes as of late. [Skotlex]
* Added status effect SC_WATK_ELEMENT, converts part of your weapon attacks
into a different element. Used in magnum break to give 10% fire damage
bonus to your attacks. [Skotlex]
* Made firewall hits not have any "damage delay", it merely knockbacks. [Skotlex]
* battle_check_target update: added novice/low-level pk prevention on
pk_mode [Skotlex]
* testing new SVN location [MouseJstr]
2005/09/01
* Entirely rewrote status_calc_pc and status_get_[stat] functions to have a clear code.
They all use shared status_calc_[stat] functions to handle SC effects, this will avoid
to have 2 almost identical codes in different places for those effects [DracoRPG]
--> It compiles, it runs, it seems to work but I couldn't perform any extended testing
as always, feel free to report bugs ;)
* Added battle_option "slaves_inherit_speed" to decide whether slaves have
or not the same walk speed as their master. Defaults to yes. [Skotlex]
* Removed val4 from song/dances so that they won't be as bugged anymore.
(still pending on Draco's status update, but at least now stuff like Poem
of Bragi shouldn't cause insta-cast) [Skotlex]
* Changed the way song/dance status effects last. The first time you step
in a tile the status starts for 30 secs, not refreshed until it times out.
Not the way it really should be, but it's much better for performance
issues.
* Fixed summoned slaves having the same walk-speed as their master (fixes
metamorphosis-hatched mobs from having an egg's speed). [Skotlex]
* Added fix_timer_heap, should correct timer problems when the tick
overflows. Does it works? We'll find out in 48 days when the next
loop occurs. [Skotlex]
* Another update to battle_check_target [Skotlex]
(Should fix slave-skills hitting a slave's master)
* Corrected magic_damage_return code being double-invoked. [Skotlex]
* clif_GM_kick will now invoke map_quit if the player doesn't has a session [Skotlex]
(this should fix @kick and other such commands on autotrade chars and the
like)
* Fixed pc_damage/mob_damage returning 0 instead of damage dealt (which in
turn made all attack/skills not trigger their additional effects) [Skotlex]
* Updated Assumptio to target everyone instead of "not enemies" [Skotlex]
* Fixed a fatal dangling pointer in the mob_setdelayspawn when handling
mobs that don't respawn. [Skotlex]
* Updated WE_CALLPARENT to not check for range (as it should?) [Skotlex]
* Added flag accreg_dirty to identify when account variables have not been
saved yet, it'll retry then on every call to save the character (it will
prevent account variables from being lost when the char/map connection is
not established)
2005/08/31
* Updated @npctalk to work as it should [Skotlex]
- Usage @npctalk NPC Name, Your Message Goes here
* Fixed Wind Walk's flee/speed bonus (as pointed out by Viccious Pucca). [Skotlex]
* Fixed a crash in pc.c when the last save point was not found (thanks to
Foruken) [Skotlex]
* Rewrote map_foreachinpath, it should work mostly right now. [Skotlex]
(the path 'stops' at the destination point rather than keep going
forward, but it can probably be fixed later)
* Moved battle_config spawndelay adjustments from mob.c (calculating it
each time they were killed) to npc.c (calculate it once during parsing).
[Skotlex]
* Synchronized additional status effects with the delayed damage [Skotlex]
(this should fix eg: enemies freezing when you start the attack
animation, and then breaking the ice when your attack animation finishes
and the damage shows up)
* Moved knockback to effect after damage is applied. [Skotlex]
* Fixed the Wedding Skills not displaying the actual amount healed. [Skotlex]
* Moved skill induced status effects to take effect before knock back. [Skotlex]
* Refixed "Don't Forget Me" [Skotlex]
* Changed 'pet_hair_style''s description and default value to 100 [Skotlex]
(100 is the value being reported to work with current clients)
* Fixed Freeze 'counter' not resetting when killed. [Skotlex]
* Fixed Endure adding to mdef2 instead of mdef. [Skotlex]
08/30
* Fixed Breaker's magical part of the damage having element -1 [Skotlex]
(now it takes neutral element, because I don't think the magical part of
an attack can get the weapon's property)
* Fixed Magic Crasher having the min/max values inverted. [Skotlex]
* Updated "Don't Forget Me"/"Slow Grace" to last 20 secs after you step out
of the dance-zone. [Skotlex]
* Changed the default of defunit_noenemy to no, and added comments
explaining what it REALLY does. [Skotlex]
* Fixed perfect tableture's lucky dodge bonus. [Skotlex]
* Updated slave ai code to let slaves wander freely on the screen (will
wander as far as battle_config.view_area lets them) [Skotlex]
* Splitted Char-sql status saving into status/status2, the later is for
values that will seldomly change. [Skotlex]
* Updated servers so that when the player changes dye or hair color, the
char-server is notified and the guild_member data is updated on all map
servers. [Skotlex]
* Updated servers so they also report on sex change. [Skotlex]
(altough this one I have no tested yet)
* Changed bGetZenyNum/bAddZenyNum to be a bonus2 type [Skotlex]
(eg: bonus2 bGetZenyNum 10, 30 <- Receive 10z per mob level on 30% of
your weapon-based kills)
* Added script function groupranditem(i), returns a random item_id from the
specified item-group given. [Skotlex]
* Changed bLongAtkRate bonus to be more card-like (works just like
bLongAtkDef, except it's for attack) [Skotlex]
* [SQL] Added Storage Items sorting by nameid. On loading. [Lupus]
* Added GetItemInfo(Item ID,n) script function. Returns Buy/Sell Price, Def, etc [Lupus]
added sample/getiteminfo.txt Tested, fully working!
* Added ID#2258 Spiky Band(Sharp Headgear) to allowed equipment of Star Gladiator [Lupus]
* According to the 23 Aug Patch added complete equipment check for 3 new classes. [Lupus]
Now they can't equip forbidden items 8)
08/29
* Added battle config option pet_hair_style and defaulted it to 24 [Skotlex]
According to information relayed by End of Exam, this should fix the new
clients showing the sword cursor for pets (older clients will be the ones
screwed instead, in said case you'll want to change pet_hair_style to 20)
* Updated battle_check_target to take into consideration the special states
killer/killable. [Skotlex]
* Corrected the Fury Guardian Angel not giving +50 critical. [Skotlex]
* Made mob_walktoxy fail when the mob is dead. [Skotlex]
(may fix the phantom mob issue?)
* Updated spawn parsing to identify small/big mobs. [Skotlex]
Use the "event" field (last column, the one after the two spawn delays)
to identify the mob's size: 2: small mob, 4: big mob. 1-2 is not used
because a hella lot of plants/mobs already use 1 in it (even though eA
completely ignores this value)
* Inverted the meaning of mapflags pvp_noparty/pvp_noguild [Skotlex]
When the flag is set, then you should NOT be able to hit your
party/guild-mates on pvp grounds.
08/28
* Fixed demonstration/Bomb stacking. [Skotlex]
* Fixed damage versus plants in BF_WEAPON attacks. [Skotlex]
* Fixed the whole sqrtl mess. Thanks to Shinomori for clearing things up.
[Skotlex]
* Added new maps, thanks to Poki#3 [DracoRPG]
* Switched SCs between two taekwon kicks to get the proper icon ^^ [DracoRPG]
* Added the falling animation to TK_HIGHJUMP, but now the client doesn't refresh the
position u_u [DracoRPG]
* Reverted default option to allow anyone to plagiarize advanced skill (vicious or
someone else - I can't remember xD - told me it was like this on kRO, but not yet on
iRO) [DracoRPG]
08/27
* Fixed the cast-bar from autocounter not disappearing after triggering the
skill. [Skotlex]
* Updated battle_check_target to make marine spheres universal enemies, so
anyone can attack them. [Skotlex]
* Cleaned up item_db.txt (format, commas, etc), added status bonuses to the
cooked foods. [Skotlex]
* Updated sql-files/item_db.sql to match with the current contents of
item_db.txt [Skotlex]
(sql users just feed it to mysql, it will drop and recreate the table)
* Fixed IDs for Taekwon-class : 4047 is Star Gladiator, 4048 is a second Star Gladiator
(probably used for a "Superman-mode" flying sprite) and 4049 is Soul Linker [DracoRPG]
08/26
* Fixed being able to move during Encore skills when you did not need a
partner. [Skotlex]
* Fixed @reloadmobdb not properly erasing mob skills before re-reading. [Skotlex]
* Updated/fixed effect of most dances & songs according to kRO's website and ragnainfo's
very good Bard/Dancer Guide [DracoRPG]
* Fixed Raging Trifecta Blows missing Emperiums, thanks to happylight [DracoRPG]
* Changed the way short|long|magic_damage_return work : previously they gave 100% chance
to return x% damage, now it is x% chance to return 100% damage (Maya and High Orc Cards
should behave like this, I'm not sure for Orc Lord Card but it seems logical to be the
same system...) [DracoRPG]
* Fixed bonuses from Wind Walker, thanks to vicious_puca [DracoRPG]
* I also reorganized the hit/flee calc in status_calc_pc to consider first absolute values,
and then apply relative (percentage) modificators.. if you make a mix of both, it'll be
completely fucked up, and be sure it won't be like on officials (although my system maybe
isn't the good one neither...) [DracoRPG]
* Some rewrites to client version rejecting code [Skotlex]
Should eliminate lag when players try to log-on with a rejected client,
however there's the chance they won't be receiving the "your client is
not latest EXE version" message, and that's why the previous, laggy,
implementation was used :/
* Fixed Enchant Deadly Poison lasting forever after killed. [Skotlex]
* Fixed the duration argument of @summon [Skotlex]
* Now @summoned mobs will follow their master everywhere and that includes
warping from map to map. [Skotlex]
(why? Because I think that's neat, and will probably be needed anyway
once Homonculus get implemented)
08/25
* Cleaned up mob_db.txt and updated sql-files/mob_db.sql [Skotlex]
Sql users can just feed mysql the .sql file and it will delete and refill
the table with the most updated db data.
* Corrections to damage versus plants. [Skotlex]
MAGIC and MISC attacks do 1 damage per hit.
WEAPON attacks do 1 damage, display miss if they hit multiple times.
* Instead of knocking back (which wasn't even working), characters that are
stepping on an icewall will cause that tile of the icewall to 'die' [Skotlex]
* Final damage equation update to Acid Demonstration. [Skotlex]
(it still won't ignore the raydric card, but why that is official in
itself is a big mystery)
* Added status change for temporary boosts of stats, plus added the
following constants (db/const.txt): [Skotlex]
- SC_IncAll, SC_IncStr, SC_IncAgi, SC_IncVit, SC_IncInt, SC_IncDex,
SC_IncDex
- It hasn't been tested yet what kind of visual these will cause
client-side.
(Now someone go and write down the script for the food items xP)
* Updated @summon to take a second parameter: duration. [Skotlex]
eg: "@summon lunatic 40" will summon a lunatic that lasts 40 mins or
until killed. Max duration is one hour.
* Updated Some Mobs Spawns, Drops check npc\changelog.txt [Lupus]
* Some toning down of the damage of Acid Demonstration (should /100, not
/10) [Skotlex]
* Likely fixed Blitzbeat from hitting neutral chars. [Skotlex]
* Updated Acid Demonstration to be a MISC skill who's damage is (base_Atk *
caster's int * target's vit /10) (half that on players). It's much more
closer to official values than the previous ones... [Skotlex]
* Corrected Pressure sapping SP even if you hide from it. [Skotlex]
(isn't Pressure a holy attack from the grand god himself? How can a thief
HIDE from his eyes? o.O)
* Updated Acid Demonstration damage formula. It's still wrong, but at least
it considers int and vit now. [Skotlex]
Current dummy formula: (100 + caster's int + target's vit)*(number of hits)%
08/24
* Updated pet skills database. [Skotlex]
* Some corrections to socket.c, should stop all the recent crashing... [Skotlex]
* Added a case to knockback enemies if they somehow end up stepping into an
ice wall tile [Skotlex]
* Added checks to prevent walking, attacking or using skills while the
storage is open. [Skotlex]
* Added Lupus's mob skills for Einbroch mobs [Skotlex]
* (almost) rewrite of the storage system. [Skotlex]
Storages are marked dirty after an item is stored/retrieved from them and
will not be marked clean until the char-server acks the save request.
Upon map-server reconnection to the char, all storages that are currently
closed and dirty are saved.
* Synched chrif_save with the storage save functions when either one is
open to further prevent exploits. [Skotlex]
* Updated the mob_skill_db with Komurka's translation (Aegis -> eA) [Skotlex]
The max permilliage (rate) is now 10000 = 100%
* Various mob related summon/metamorphosis changes: [Skotlex]
- Summon Mob/Slave's level is the total number of mobs to summon, when the
skill definition offers multiple mobs, they are spawned in order
(round-robin scheme).
- Metamorphosis/Transformation level is the total number of mobs to
multiply into. Uses the same criteria as summon mob and the original mob
is deleted/killed (no loot drop). If the level is 1, then the mob transforms
into one of the defined classes randomly.
- Note that beyond code-proofreading and making sure it compiles, this
has not been tested yet!
* Added the bonus provided by the /doridori command to TK_HPTIME and TK_SPTIME. [Dralnu]
Thanks to Duduc.
* Updated battle_check_target to check using the master instead of the
slaves (applies for mobs/pets) [Skotlex]
- Should prevent slaves from attacking their master
* Implemented TK_HPTIME and TK_SPTIME exept the bonus provided by /doridori [Dralnu]
* Implemented delayed character logout [Skotlex]
How it works: When a player quits the server when they shouldn't (force
disconnect before the 10 secs, or leave when the char server is not
connected) his session is closed, but the player is left in-game just
like in @autotrade, and a timer is added. Every 10 secs it'll check if
the char server is online, and then save the character and delete it from
the map server. NOT TESTED YET, so report any anomalies.
* Fixed Shield Chain's skill-type (it's short ranged, not long?) [Skotlex]
* Fixed Decrease Agility's equation. [Skotlex]
* Fixed root'ed monks not being able to use root skills. [Skotlex]
* Added inter-server option "kick_on_disconnect" (defaults to yes) [Skotlex]
- The only people who may want to change it are overcrowded servers where
the char/map server link breaks due to overload and then everyone is
kicked out until said connection is reestablished.
- Of course, use at your own discretion until all possible exploits
caused by this are resolved.
08/23
* Fixed provoke's success chance. [Skotlex]
* Battle_check_target update, should fix party/guild skills failing when
checking against yourself. [Skotlex]
* Updated map and char servers to allow them to reconnect without having to
kick out all players. [Skotlex]
- This is still experimental and what possible exploits may come from it
are yet unknown (however, considering that the reconnection should take
place in a few seconds after the disconnection...)
- Note that storage contents and player contents are all kept in the map
server's memory, unsaved data will be lost if player forces a
disconnection, storage changes will also be lost if they are open/closed
during said disconnection (and NOT reclosed after the connection is
restablished)
- These and more stuff might come up with time. Report away!
* Updated Gospel to not buff up Guildmates, only Party members. [Skotlex]
* Fixed @autotrade [Skotlex]
(tested on a limited scenario with few characters, needs more testing.
Test and report!)
* Implemented TK_STORMKICK, TK_DOWNKICK, TK_COUNTER and TK_TURNKICK. [Dralnu]
Note that at the moment if you use theses skills even if the corresponding
SC is inactive, it will use SP and will stop you if you are attacking.
Note too that because we don't know how it should work exactly, when a SC such as
SC_STORMKICK will be launched, it will notice you by a little message over your
head : Hit now !!. Finaly, TK_TURNKICK will not yet have the pushback effect.
* Fixed everyone having 20 flee... I hope. [Skotlex]
* Some corrections and updates to mob skill Metamorphosis [Skotlex]
(don't know if it'll work now, but the way it was before definitely was
not working)
* Probably fixed infinite endure wearing out when being hit. [Skotlex]
* Updated gvg range penalties to be as in official servers. [Skotlex]
- Skills (weapon/magic/misc) get a 40% penalty
- Ranged normal attacks get a 20% penalty, melee receives no penatly.
(battle flag gvg_weapon_attack_rate added to complete configuration)
* Added the -20 flee penalty on GVG grounds. [Skotlex]
* Fixed Enchant Deadly Poison's Damage (it was 500% - 5x at level 5, not 400%
- 4x) [Skotlex]
* Fixed Soul Breaker's magical part of the attack taking element -1 rather
than 0. [Skotlex]
* Login sql server will now only clear sstatus data of connected servers
rather than clean the table. [Skotlex]
* Added some checks to prevent infinite looping in the char servers. [Skotlex]
* Some updates to the way disconnections are handled in socket.c [Skotlex]
08/22
* Fixed typo in skill.c causing errors [Codemaster]
* Added Irmin's recommendation to allow item names in getitenname() [Skotlex]
(kinda odd to use an item's name to get the item's name, isn't it?)
* Fixed Meteor Assault not displaying damage. [Skotlex]
* Fixed WE_CALLPARENT crashing the map server when either parent is
offline. [Skotlex]
* Added TK_HIGHJUMP. Note : To be able to see properly the full jump animation,
casting time will not depend on DEX. [Dralnu]
* Somes fixes in skill_db.txt and skill_cast_db.txt about Taekwon's skills. [Dralnu]
* Fully implemented the STR bonus part of TK_RUN [DracoRPG]
* Added activation/unactivation of TK stances, but not their specific effects [DracoRPG]
* Reverted magnum break, removed the Flame Launcher status change until
actual bonus can be implemented. [Skotlex]
* Skills update (mostly thanks to Vicious Pucca): [Skotlex]
- Success chance and stats of Provoke, mental Break, Signum Crusis, Soul Burn
- Decrease Agility duration halved for players.
- Magnum Break's final damage is splitted 80% weapon's element, 20% fire
element. No longer causes weapon endow.
- Bash's hit bonus (+5 per lv now)
* Fixed skill_db, Added perfect hit to TK_COUNTER [Dralnu]
* Changed skill_tree and job_db1 the same way I changed job_db2, it was necessary for
clear implementation of Taekwon (which has a very unusual ID for a 1st job) and renders
the code less messy (at least it's my humble opinion ^^) although it could be slightly,
but really slightly, more RAM-consuming [DracoRPG]
* Fixed classchange not clearing on unequip, fixed the mob's max hp not being updated on
class change [Skotlex]
* Basic implementation of Taekwon's kicks. [Dralnu]
* Likely fixed SP consumption of Warp Portal. [Skotlex]
* Changed some default values in battle config to get the 'official gaming experience' by
default [DracoRPG]
- Noone can plagiarize advanced skills (from ragnainfo)
- No rare drop announce
- Riding a Peco does not increase one's size
* Allowed Dispell to dispell songs/dances/ensembles [DracoRPG]
* Updated SC IDs to get correct client-side status icons (used 0808 Sakexe) [DracoRPG]
* Prevented from casting Ice Wall under self, independantly of UF_NOFOOTSET [DracoRPG]
* Removed /omg from equipment breaking and added it to Acid Terror only [DracoRPG]
* You can now change to Taekwon, but lots of things are still to do [DracoRPG]
* Began implementation of Taekwon skills [DracoRPG]
08/21
* Changed how triple blows/sacrificial ritual triggers to enable
plagiarizing them. [Skotlex]
* Stolen items will be (un)identified using the same criteria normal drops
use. [Skotlex]
* Updated yet again battle_check_target. Guardians should stop attacking
out of woe now and alchemist should be able to hit their mines. [Skotlex]
* Fixed the map server going in an infinite loop if the connection breaks
while parsing packets from the char server. [Skotlex]
* Mostly rewrote Battle Chant, should be almost like the official one now... [DracoRPG]
* Added enums for skill units, makes the code really clearer (check skill.h) [DracoRPG]
* Merged battle_calc_weapon_attack_sub and battle_calc_weapon_attack [DracoRPG]
* Fixed Acid Terror WEP breaking rate thx2 ShAPoNe [Lupus]
08/19
* More updates to battle_check_target, now you can't target any
ground-based skills that don't have a physical manifestation (ie:
Everything except traps and icewall) [Skotlex]
* Fixed "for sure" battle_check_target when it comes to neutral targets. [Skotlex]
* Removed pc_emotion, merged it with emotion. [Skotlex]
Usage: emotion emotion_number <, target>
- emotion number is the emotion's number (use e_* constants)
- target is 1-> player, 0-> npc. If ommited defaults to zero.
* Updated code so that when a guild master joins the game, their guild
skills are automatically blocked for 5 minutes. [Skotlex]
(prevents avoiding the skill-lock by relogging)
* Another update to battle_check_target, this time neutral targets should
work correctly (non allied/partied people who should be affected) [Skotlex]
* More fixes to battle_check_target, skills should not hit yourself on
pvp/gvg now. [Skotlex]
* Updated classchange to not change the class of bosses. [Skotlex]
* Optimization/Fixes to battle_check_target, GrandCross should work now. [Skotlex]
* Reverted Lupus's change on guild auras' max lv... Please double check your sources and
base yourself on kRO official website as much as possible, thanks. Link to kRO website:
http://guide.ragnarok.co.kr/GuildSystem.asp#ggg03 [DracoRPG]
* Fixed passive mobs incorrectly setting the attacked_id when hit by pets. [Skotlex]
* Rewrote battle_check_target. [Skotlex]
- Positive side-effects: offensive stuff won't hit your guildmates on gvg
(such as traps)
- Negative side-effects: Unknown, but there's bound to be some because of
the big change. I tested it with traps, spells, pets, passive and
aggressive mobs, but it's probable there's stuff I am still missing.
* Updated mob spawns of Glast Heim (gl_sew3 and gk_knt2) [Skotlex]
* Updated classchange code (Azoth, Heiroloist) to get random classes the
same way a dead branch does. Cannot convert to bosses. [Skotlex]
* Script/Npc/Item updates. [Skotlex]
* Bonus b(HP/SP)GainValue will always be considered 100% (the first
parameter) this is done to avoid exploits when combining it with
b(HP/SP)DrainValue (eg: Immaterial Sword) [Skotlex]
* Fixed max level of some guilds skills 5->1 [Lupus]
according to http://eathena.deltaanime.net/board/index.php?showtopic=757
* New items drops, new shop [Lupus]
08/18
* Changed the way 'pl' works (in skill_db) : now 0 for 'weapon' attack skills means the
attack is always neutral. To make so that the skill takes the weapon's element, use -1
instead: this removes the need of hardcoded ele_flag. [DracoRPG]
* Fixed damage bonus from Sage's elemental flooring skills by moving the checks which were
totally wrong placed... Thanks to Antoine for pointing out they were broken. [DracoRPG]
* At the same time I had to change battle_calc_magic_attack quite alot. Maybe it won't work
perfectly, but at least it'll compile. Also added (forgotten?) support for 'skillatk'
bonus with magic skills. [DracoRPG]
* Rewritten most of Gloria Domini to make it be a BF_MISC skill that can hit and damage
Emperium and plants (yes it does), igonres WoE damage adjustments and other changes I
don't remember ^^ [DracoRPG]
* Modified mob_skilluse so that mobs NEVER use offensive heal. They'll now
/swt if they try it (and the skill fails) [Skotlex]
(there's still nothing that can be done about offensive Sanctuary)
08/17
* Added script command pc_emotion, works just like emotion, except the
emotion is displayed on the character that's running the script. [Skotlex]
* Fixed the vicious compile error I added with SC_SPEEDUP1 [DracoRPG]
* Implemented Strengthen Guardians with a custom +10% ATK & ASPD / lv value [DracoRPG]
NOTE : It compiles, but I couldn't test the effect since guilds seem completely
broken on my test server...
* Moved Weaponry Research hidden bonus a bit to get the exact effect [DracoRPG]
* Implemented SC_SPEEDUP1 for Lightning Box effect [DracoRPG]
* Entirely replaced SC_DIVINA with SC_SILENCE (the 1st was an alias of the 2nd) [DracoRPG]
* Fixed the map-server disconnecting the char-server when kicking out all
clients. (Thanks to End of Exam for pointing it out) [Skotlex]
* Cleaned up error messages related to packet parsing in the char servers. [Skotlex]
08/16
* Likely fixed the char-server crashes on mapif_send* functions. [Skotlex]
* Fixed auto-counter's display (it was working correctly, however the skill
was not being shown properly on the client) [Skotlex]
* Fixed Tomahawk not being considered a ranged attack. [Skotlex]
08/15
* Added a few bug fix recommendations [Codemaster]
* Fixed a few problems with Wedding Skills [Codemaster]
* Fixed a bug with old clients connecting and socket reuse which would kick
all new connections on the same socket before even checking the packet version. [Skotlex]
* Fixed the tabs in the ayothaya mobs :X [Skotlex]
* Likely fixed the setsocketops error that was showing on every connection. [Skotlex]
* Updated vending code so that items that can't be traded can't be vended
either. [Skotlex]
* Messed with socket.c, changing lots of stuff around using some earlier
Freya SVN version as base, connection issues might hopefully get better. [Skotlex]
(NOTE: I have yet to try to compile this under Windows/Cygwin, so report
if it breaks)
* Updated Magnum Break: Target selectable, damage is (100+20*level)%, hit
bonus +10 per level. 5x5 splash area. [Skotlex]
* Likely fixed the max hp display of tiny/big mobs. [Skotlex]
* Updated Cloaking. It'll fail if the level is less than 3 and there's not
a wall nearby. [Skotlex]
If cloak_check is set to ignore walls, the wall-type speed will be used all
the time.
(I don't see what all the fuss is about as a Lv2 Cloak is just as good as
Hide, and you can't even use GrimTooth from it. And since lv2 won't let
you move anyway, why would anyone use Clock lv2 over Hiding?)
* Updated Assumptio. It will affect anyone in a 3x3 area around the target. [Skotlex]
(where anyone is anyone the same way Benedictio chooses it's target)
* Updated the delay that a mob can't move after attacking to be 1/4th of
the delay between attacks. [Skotlex]
eg: The mob attacks once every 1000ms, that means it can start chasing
you 250ms after an attack.
* Likely fixed the #fakename crash. [Skotlex]
* Updated the mob skill use code so that hopefully other players will be
considered friends when using support skills. [Skotlex]
NOTE: Not quite tested, use with care.
* Fixed @monsterbig/@monstersmall [Skotlex]
Support for said monster in normal spawn scripts is also fixed, however
the implementation is not stable (currently you add 10K to the ID to make
it a tiny mob, add 20K to make it a big mob, but those values depend on
MAX_MOB_DB which can change in the future. :/)
* When you drink a speed potion, the icon of the previous one will be
removed (however, all speed potions are still in effect server-side). [Skotlex]
08/14
* Likely corrected the error printing in recv_to_fifo (reporting normal
disconnections when they likely are not). [Skotlex]
* Fixed the map-server spamming "Client does not has latest EXE message. [Skotlex]
* Updated char-sql to consider 0 an invalid map-server session number. [Skotlex]
* Fix in map->char auth request packet where char server spams data search error message, currently in testing. But works none the less. [Kevin]
* Removed all close()'s in clif.c, made clif_parse the only one who closes
a socket and deletes the session. [Skotlex]
* Updated socket.c to be much more verbose about connections and when they
are ended. [Skotlex]
(excuse all the extra messages, but they are to help track down the
current map-freeze bug)
08/12
* Updated sql-files: mob_db.sql, item_db,sql, main.sql [Skotlex]
* Likely fixed mob reloading command. [Skotlex]
* Added more reports and some fixes/optimizations to socket.c [Skotlex]
* Added reporting of error when a connection can't be made non-blocking. [Skotlex]
* Updated Logging Filter: [Lupus]
- Implemented refine_items_log condition. You may log only certain refine value items.
- Added 'log_steal' option. It'd log stolen items in the drops log DB
* Added msg string and announce on stealing of rare items [Lupus]
08/11
* Fixed bio-cannibalize's max hp issue. [Skotlex]
* Pneuma completely blocks Soul Breaker (as the forum consensus says it
does so) [Skotlex]
* clif_parse will now print the error message in case close(fd) fails. [Skotlex]
* Fixed players clicking on players disguised as NPCs trying to execute the
"npc". [Skotlex]
* Fixed possible overflows and exploits in log.c, thanks to Irmin [Skotlex]
* Probably fixed devotion's visual not updating. [Skotlex]
* Added flag pet_no_gvg, when set to yes/1 the pet is returned to an egg when
you enter Guild Grounds and you aren't allowed to hatch pets as well. Note
that it only does the check when the player changes maps (should be safe
because players are kicked out of castles when WoE starts)
08/10
* Fixed PNEUMA blocking magic part of Soul Breaker, instead of physiacal attack one [Lupus]
* Fixed the Login/Char SQL crashing when determining the max id of empty
tables. [Skotlex]
Account and Char creation code tested, it is safe to use now.
* Removed use of settick_timer (fixes the "can't move!" bug) [Skotlex]
* Fixed (I think) being able to sit while casting. [Skotlex]
* Updated Char-SQL server to guarantee that new chars are created with
char_ids above 150K. [Skotlex]
(note from last update applies too)
* Updated Login-SQL server to guarantee that new accounts (_M/_F reg) are
created with account_ids above 2M. [Skotlex]
(note it hasn't been tested yet, but I think it should work)
* Fixed @readmail 0 [Skotlex]
* Fixed success rates for Dispell and Decrease Agility [Skotlex]
* Fixed cultivation not being in the list of skills for GMs with
gm_skill_all [Skotlex]
* Fixed mob's hp becoming zero after mob_hp_rate adjustments. [Skotlex]
* Skills update: [Skotlex]
- Changed concentration from +10% hit per level to +10 hit per level.
- Base level gives greater stun chance to Attack Weak Point (currently +1%
every ten levels)
- Changed Tiger Knuckle Fist to be a combo-only skill.
- Updated Spell break to damage 2% of target's max hp, heals half that.
* Small debug change in clif.c which forces a disconnection upon dual-login [Skotlex]
* Updated char-sql deletion to take into consideration the mysql version [Skotlex]
It should treat versions 4.1+ differently from the rest, please test and
report if it is still failing.
* Removed sql loading of storage every time you open it as it's an open
exploit on lagging servers. [Skotlex]
* Removed another "insufficient data" debug line. That should take care of
incomplete packets spamming the console. [Skotlex]
* Alright, removed the "insufficient data" debug line as it was just
causing mass lag. [Skotlex]
08/09
* Fixed Magnum Break's damage display. [Skotlex]
* Finished fixing and testing the sql char deletion update. [Skotlex]
Deleted characters should now properly leave their party/guild.
* Throw Stone is now blocked by Kyrie and Pneuma [Skotlex]
* Fixed "[error] delete_timer error: no such timer -1" (stupid mistake x.x) [Skotlex]
* Some modifications to char-sql char deletion, so that characters are
correctly removed from parties and guilds. [Skotlex]
(Note that this is yet to be tested, so upgrade at your own risk or if
you want to help file bug reports until I can get to test it on my own
later today)
* Likely fixed Endure and the like not being 'disabled' on GvG grounds. [Skotlex]
* More debug messages to clif.c (these can be ignored on normal situations,
but might be useful during freezes) [Skotlex]
* Optimized the packet-version failed rejecting code. [Skotlex]
* Fixed Freezer Card combo casting Weapon Perfection on the enemy. [Skotlex]
* Added more information to the map-char connection process, meant to help
understand what is going on when things 'freeze'. [Skotlex]
08/08
* Fixed players not really being disconnected when the char-server is out. [Skotlex]
* Added check to resend map server connection packets if the connection to
the char server was established but the initial packets get somehow lost. [Skotlex]
* Fixed Picky's pet-script being used for all pets... [Skotlex]
* Fixed an ugly bug that was causing status-changes to crash the map server [Skotlex]
* Added a timer to the map server. It'll try to reconnect 1 sec after it is
disconnected from the char server (in addition to the default "try to
connect every 10 secs" mechanism). [Skotlex]
* Reverted Safety Wall to last known working state. [Skotlex]
(from what I read in the code, it should be crash-safe anyway)
* Mob level up is now capped to max_base_level rather than 99. [Skotlex]
* Another fix to Safety Wall :X [Skotlex]
* Fixed Safety Wall (I think). Do test and pray it crashes no more. [Skotlex]
* Added settick_timer to timer.c, optimizes status retimings for dance
skills. [Skotlex]
* Made @autoloot and item_auto_get play along nicely (@autoloot toggles the
mode, item_auto_get sets the default state of it) [Skotlex]
08/07
* Corrected the Payon Guild Flags [Codemaster]
* Lots of debug message cleanup in clif.c which should make more clear the
why characters are being disconnected. [Skotlex]
* Added OnAgitInit to the list of npc events executed on connection (it
will be executed only the first time it connects, thought) [Skotlex]
* Fixed the exp bonus on pvp maps (it was set to +115%, not +15%) [Skotlex]
* Updated skill_blown to avoid knocking back plants. [Skotlex]
* Made the damage delay of the finishing blow the same delay before sending
a char clear packet, this might fix mob sprites being left there after
killed. [Skotlex]
* More fixes to @autotrade
(You still can't disconnect your autotrader by entering in the
server again. And an autotrader rises map server usage to 70%+).
Started adding Freya's anti-bot thing [Lupus]
* Quick fix meant to prevent crashes when targetting "ghosts" of already
dead mobs. [Skotlex]
* Fixed Pneuma and Safety Wall crashing the server. [Skotlex]
(was caused by yesterday's skill upgrade not being... eh, complete)
08/06
* Yet another @autotrade fix by irmin&Ultra. More fixes are coming soon 8)) [Lupus]
* Pretty big change in the way ground skills are handled, meant to fix
possible segmentation faults. [Skotlex]
Report if you notice any ground skill got broken, as pretty much all of
them have been affected.
* Removed the data about packet_version 14 in the packet_db [Skotlex]
This could mean that version 14 never really existed, and all following
versions need to be shifted up (who decides how to call these versions?
they certainly don't come coded in the login packet. We should ask
Sara-chan, the awesome ex-eA dev who pwns us al with her packet finding abilities.).
Note that no such changes have yet been decided other than removing version 14.
* Updated Devotion/Sacrifice. AutoGuard and Defender skills are now kept in sync
between the Crusader and those Devoted. [Skotlex]
* Added a battle_stopwalking to NPC_STOP effect [DracoRPG]
08/05
* A li'l fix of @autotrade. Used some irmin's code and optimized a bit [Lupus]
* Fixed pc_setcart... [Skotlex]
* Updated Fireball and Stone Curse data [Skotlex]
Source used: http://guide.ragnarok.co.kr/jobmagskill.asp
* Updated map_server sql so that the storage is loaded from sql everytime [Skotlex]
* Updated the char deletion routine (sql) so that only the correct pets
will be deleted (those hatched and that are in the char's inventory/cart)
[Skotlex]
* Likely fixed the map server spamming the console when clients gets
rejected due to packet version. [Skotlex]
* Fixed the make_connection problem (sorry about that) [Skotlex]
* Updated make_connection (socket.c) so that it actually returns -1 when
the connection fails. [Skotlex]
* Fixed change-cart clearing other options. [Skotlex]
* Fixed @spawn not working with string names. [Skotlex]
* Fixed songs/dances not being moved when knocked back. [Skotlex]
08/04
* Made mobs retaliate against a pet's master when for some reason a pet is
attacking a passive mob which is not yet attacking back. [Skotlex]
* Modified the mob_db to make it a dynamic array of mob databases. [Skotlex]
This allows usage of high mob ids without wasting memory on large gaps of
unused mob IDS.
NOTE: Other than loading/unloading the map server, this has not
been tested, if it crashes DO report right away (preferrably with a
backtrace)
* Bumped the MAX MOB ID to 10K [Skotlex]
* Added 2 new mobs, updated and added some items. Thanks to Landarma [Lupus]
Also fixed map-serv loading warnings (about wrong mob IDs)
08/03
* Removed the clif_waitclose timer message, and placed it instead around
clif.c on the areas that are actually invoking the waitclose timer. [Skotlex]
* Changed the "Player not identified with account id" message to be more
descriptive (however I don't know how much of the player data is available
when disconnecting this way, so if it crashes DO REPORT it) [Skotlex]
* Modified @me so that it actually works as expected by IRC junkies. [Skotlex]
(tested and works correctly)
* Updated Enchant Deadly Poison: Can't be dispelled, won't end when you are killed. [Skotlex]
* Fixed draining more HP/SP than you can have [Skotlex]
* Fixed enchanted peach tree damaging you when attacking the undead [Skotlex]
* Removed the tick check from the packet_version guessing as it is an
unsigned int (so every value in said field is valid) [Skotlex]
08/02
* The char server now notifies the map server about which is the max
account/char id available, this is used to help identify packet versions
more reliably. [Skotlex]
* Guardians won't level up now with mobs_level_up=1 [Skotlex]
* Updated Deluge, Volcano, Violent Gale & Land Protector to not require
gems when recasted, and the previous time remaining will be used instead.
[Skotlex]
* Fixed Zeny from mobs. [Skotlex]
* Changed the visual effect when pets heal status ailments to "Detoxify" [Skotlex]
* Fixed "bonus2 bSkillAtk" so that it works with up to five skills [Skotlex]
(previously it only worked for one skill at a time)
* Fixed Enchant Deadly Poison on normal attacks. [Skotlex]
* Updated the packet-guessing code, trying to load negative char accounts
should be fixed now. [Skotlex]
08/01
* Updated the login servers so that account registration can be done with
_m/_f as well as _M/_F [Skotlex]
* Fixed login sql server not using md5sum on the passwords before creating
accounts (when md5 passwords are enabled) [Skotlex]
* Updated Enchant Deadly Poison: Increases Sonic Blow's damage by 4x and
affects all skills except Breaker/Meteor Assault [Skotlex]
* Added a check to prevent char-server freezes when receiving unknown
packets from the map server. [Skotlex]
* Fixed some problems with the clif optimizations from earlier today (wrong
animations being displayed for normal attacks/picking items) [Skotlex]
* Rewrote Ensemble skill implementation to be more efficient and less
error-prone [Skotlex]
(say, when you do an ensemble skill, your partner has to be
charged SP too? That is not the current case)
* Dance/Song checks so that the ground effect is more tightly coupled with
the status effect (if the dance's effect is cancelled for whatever reason,
the ground skill WILL be removed) [Skotlex]
* Fixed stat reset for Advanced Classes [Skotlex]
* Updated Lord Knight's Concentration (damage, defense, endure effect) [Skotlex]
* Likely fixed famous alchemist potion usage. [Skotlex]
* Small optimization to the packet version guessing code. [Skotlex]
* Added Warpparty and Warpguild script commands *requested* [Fredzilla]
* Fixed the exp exploit bug dealing with expaddrace [Skotlex]
* Added missing CharCommands logs (together with ATCommands) [Lupus]
TODO: '/' commands 8)
* Added mod for npc whisper system(lordalpha)[massdriller]
* Added lordalfa's str1 and str2 compare and check commands [massdriller]
07/31
* Fixed (I think) the char sql server freezing when the map server sends it
a GM whisper request. [Skotlex]
* Rewrote the way that experience is given, this should prevent exp overflows
even in even-share parties. [Skotlex]
* Changed how the exp_calc_type works, take note that there's no longer a "2"
value for it! [Skotlex]
* Updated throw stone: Damage is modified by target's cards, 3% chance to
cause Stun/Blind. [Skotlex]
* Added rods/books to the list of items that can't break. [Skotlex]
* Fixed map server rejecting clients of packet versions 9 and below
(regardless of packet_ver_flag) [Skotlex]
* Updated Steel Body: Consumes 50% sp and is not dispellable. [Skotlex]
* Updated sprinkle sand's damage to 130%, Throw Stone's range and delay [Skotlex]
* Fixed increased dodge's flee bonus and speed bonus (to Assassins). [Skotlex]
* Simplified clif.c by removing all code related to hard-coded packet
information (the packet_db.txt is an essential file now) [Skotlex]
* Small fixes to provide clarity to # commands
(So many people ask "why doesnt @char????? work, like OMGWTFBBQ") [Fredzilla]
* Fixed a stupid typo in a drop rate display [Lupus]
07/30
* Some more fixes to the job calculating equations. This one should fix item
usage for mounted classes and hopefully be the last fix needed regarding
the job system upgrade. [Skotlex]
* Corrected the parsing/reading of the skill tree. This fixes the Priest/Monk
skills appearing in the skill trees of Paladings/Crusaders. [Skotlex]
* Another fix about advanced/baby mounted characters not having skills. [Skotlex]
* Fixed character's class not getting updated when mounting/dismounting peco. [Skotlex]
* Fixed the default packet version checking in the guessing version code.
as pointed out by End of Exam. [Skotlex]
* Optimized the code that determines what packet version to use by default
when you specify "packet_db_ver: default" [Skotlex]
* Fixed job changing to high/baby classes [Skotlex]
07/29
* Moved messages "One Castle", "Two Castles", etc into msg_athena.conf [Lupus]
* Fixed wrong msg_athena.conf messages in the trade hack spoof code [Lupus]
* Added a Rare Item announce string into msg_athena.conf [Lupus]
* Fixed compilation of the TXT server. [Skotlex]
* Fixed song/dances not clearing when you run out of SP [Skotlex]
* Fixed #fakename [Skotlex]
* Optimized Apple of Idun's implementation [Skotlex]
* Updated pc_calc_base_job and related functions and applied them around
the map server. This should fix all item related problems with Super Babies
and alike. [Skotlex]
* Simplified/optimized the code that mounts/dismounts from Pecos. [Skotlex]
* Changed Create Deadly Poison to not use the item producing interface (works simplier,
like Aqua Benedicta) and added a separate config option to choose whether the maker's
name is written on the Poison Bottle [DracoRPG]
* Changed NPC_STOP to immobilize the target during 2 seconds (from ragnainfo) [DracoRPG]
* Added "cartboost" state to skill_require_db (used for Cart Termination) [DracoRPG]
* Rewrote Soul Destroyer's damage dealing and displaying code, now everything is done at
once: no more people killed without damage displayed [DracoRPG]
* Readded Assassin Cross not affecting bows [Skotlex]
* Fixed Hip-Shaker (not tested, but I am assuming it works now) [Skotlex]
* Fixed Brandish spear's damage [Skotlex]
* Removed the after-cast delay of Recall Partner [Skotlex]
* Added optional announce of rare drops. When a SomePlayer kills a monster [Lupus]
with a rare drop then everyone gets announce: 'SomePlayer' won Pupa's Pupa Card (chance 0.01%)
07/28
* Fixed the Server Whisper to GMs in the char-sql server [Skotlex]
(when an exploit that should be notified to GMs is triggered, the map
server would just hang instead...)
* Some code reorganization around the name-spoof exploit protection code. [Skotlex]
* Fixed not being able to do Extremity Fist after Glacier Fist/Tiger
Knuckle Fist [Skotlex]
* Likely fixed the Famous Alchemist potions not having that 50% boost. [Skotlex]
* Updated the Wedding Skills (they work with 10% HP/SP and heal 10% of
their target's, summoning has a cast time of 20s) [Skotlex]
* Reverted AssassinCross's song behaviour. [Skotlex]
* Odd bug wanting all Account and Char IDs to end with 0?! [Codemaster]
Note: Not all acc or char ids end with 0...this gave alot of problems with client version 16
* Fixed that compiling issue with buildin_getequippercentrefinery [Skotlex]
* Updated Bard's AssasinCross (Impressing Riff) to not affect Bows (is this
how it really is?) [Skotlex]
* Massive skills update (from now updated kRO website) [DracoRPG]
- Weapon forging, ore/metals refining, potion making : tried to correct rates ^^
- Weaponry Research : does NOT increase NPC equipment upgrading chance
- Skin Tempering : (4*skilllv)% fire resistance and (1*skilllv)% neutral resistance
- Hilt Binding : the original 'undropable weapon' part is dead
- Meteor Storm : (3*skilllv)% stun chance
- Lord of Vermilion : (4*skilllv)% blind chance
- Sandman : (40+10*skilllv)% sleep chance
- Ankle Snare : minimum trap time changed to (3+0.03*skill_lv) seconds
Tons of other skills could and should be reviewed the same way ! ^^
* Fixed massdriller's fixes ^_^ [Kevin]
* Some fixes to Whisper system. [massdriller]
07/27
* Fixed the fame list packet mismatch bug. [Skotlex]
* Even more cleanups to socket.c and chrif.c to prevent even handling
Session #0 [Skotlex]
* Some more cleanups to chrif.c (the interface to the char server)'s code. [Skotlex]
* Appied End of Exam's socket/connection related fixes/suggestions. [Skotlex]
* Fixed a Segmentation Fault with friends list loading. [Kevin]
* Fixed the npc whisper system. [Kevin]
* Fixed most of the matrix bug, note to devs: Don't use tmp_output anymore! [Kevin]
* Fixed a small compile warning with previous fix. [Kevin]
* Added ATCommand @AutoTrade. You open a shop, setup your goods. Then use @AUTOTRADE.
Your will be closed, but your merchant would remain in the game. So you can vending
without your client ON. (originally by Fantik, changed by Lupus)
* Added ATCommand @ChangeGM. Your Guild Master can set another GM of the guild.
Note: It works, but have to be optimized, WIP. (originally by Fantik, changed by Lupus)
* Added lordalfa's npc whisper system [massdriller]
* added lordalfa's fix/enhancement for Execute Scripts::labels [massdriller]
07/26
* Updated the packet-version guessing code, hopefully it does a better job now [Skotlex]
* Fixed the mob bug where they "stick to you" and won't let you escape [Skotlex]
* Reverted mob skill usage rates. A rate of 1000 (in mob_skill_db.txt) IS 100% usage. [Skotlex]
* Corrected Gospel not dissipating when you die. [Skotlex]
* Fixed Providence/Resistant soul so it can't be casted on yourself-other crusaders [Skotlex]
* Updated Quagmire to affect everyone in GVG maps. [Skotlex]
* Small fix to the packet_version identification [Skotlex]
A more complete testing/verification code comes later...
* Likely fixed the txt->sql converter. [Skotlex]
* Corrected some refine success rates. [Skotlex]
* Modified the packet client version guessing code (perhaps it more
accurately guesses the version now?) [Skotlex]
* Fixed reading of 'repairitem' packet in packet_db -> fixes Weapon Repair [DracoRPG]
* Rewrote Weapon Repair to allow use on other players [DracoRPG]
* Moved pc_item_repair, pc_item_refine and pc_item_identify to skill.c [DracoRPG]
07/24
* Enchant Deadly Potion now does count card modifiers. [Skotlex]
* Fixed elemental modifiers not applying to skills. [Skotlex]
* Fixed mob_ghostring_fix config. [Skotlex]
* Fixed firewall stun-locking enemies that are not pushed back. [Skotlex]
* Added some checks into MONSTER spawn command (reports wrong number, ID, delays, etc.) [Lupus]
- somehow it doesn't report about wrong map names yet
* Added check for missing TAB characters into script parser [Lupus]
07/23
* Fixed friend-saving on the new charsave sql method. [Skotlex]
* Corrected the ghostfix description in battle_athena. [Skotlex]
* Modified the Makefile to include FD_SETSIZE = 4096 when compiled under
Cygwin [Skotlex]
* Added a check for max mob skill level (when reading mob_skill db) [Lupus]
* More fixes/updates to the txt->sql converter of inventory/cart (will it ever work?) [Skotlex]
* Fixed job_db2 reading [Sasuke]
Field count is MAX_LEVEL+1 since job ID is the first field of the 'split' table
07/22
* Changed a bit the aspd penalty for dual-wielding assassins. [Skotlex]
The new factor is 2/3 rather than 0.7, which should be closer to what
rodatazone says, but also makes them dual wielders a bit slower :X
* Fixed job_db2.txt reading so that it will read up to MAX_LEVEL job bonuses. [Skotlex]
* Changed the way the OS is detected in socket.h [Skotlex]
This MIGHT fix the current 60 user limit problem.
* Fixed characters not being able to attack and getting "there is a delay
after a skill" messages instead. [Skotlex]
* Fixed status changing cards not taking effect. [Skotlex]
* Fixed packet_ver_flag reading. [Skotlex]
(previously, if you tried setting it to 256 or 512 it would be
resetted back to 255, which would cause problems with the later clients)
* More fixes to the txt->sql converter. Does it works now? [Skotlex]
* Added water height values of Ayothaya, Ayo_dun02, sec_in02 maps (thanx 2Lorky) [Lupus]
* Fixed char-sql memo saving. [Skotlex]
* Added the wantoconnection packet of version 13 to version 14 [Skotlex]
Note that this will cause all ver13 clients to be identified as v14, it
WILL cause problems if you use ver13 clients. There is no easy way around
this as both versions seem to use the identical login packet. If you
want to give preference to v13 over v14, you can specify the default to
be it.
* Fixed Encore skills working when the partner has no weapon equipped. [Skotlex]
07/21
* Fixed the fame lists, they work now. [Skotlex]
* Rewrote the friends system, it now works. [Skotlex]
Sql users upgrade with the 2574.sql upgrade, txt users will have to
wipe their friends.txt (there's no easy way to convert that one).
* Fixed the txt->sql converter not converting inventory/card. [Skotlex]
The friend conversion was removed due to the new structure.
* Restructured some of the logic behind auto-attacks and normal attacks
which should prevent most speed-hacks and be more responsive to players. [Skotlex]
07/20
* Updated the txt->sql converter, I THINK it will work now. [Skotlex]
* Fixed Plagiarized skill's level not being saved. [Skotlex]
* Changed Pressure/Gloria Domini to take a % of current SP, not max SP (from a post on
ragnainfo, not personal custom shit! :p) [DracoRPG]
* Removed debug messages for fame list and signaled the bug that causes problems [DracoRPG]
* Removed the need of job_db2-2 (advanced jobs' stat bonuses) and moved its use to
job_db2 [DracoRPG]
07/19
* Reorganized the way sql chars are being saved. [Skotlex]
* Merged battle options player_combo_damage_delay and
mob_combo_damage_delay into combo_damage_delay [Skotlex]
* Some code reorganization that hopefully should help with mobs not having
the same damage delay on the client and within the server. [Skotlex]
* corrected some bounds errors in the new packet_db code
that was corrupting memory [MouseJstr]
* Corrections to Tiger Knuckle Fist [Skotlex]
* Rewriting of part of the skill-additional effect code. (Should fix
Asura's penalty) [Skotlex]
07/18
* Added a check that might prevent sql char crashes when requesting info
for non-existant Characters. [Skotlex]
* Fixed main.sql (start char_id should be 150k) [Skotlex]
* Some code-cleaning for Sacrificial Ritual [Skotlex]
* Optimization of auto-triggering skills (double attack, sacrifice, triple
blows) [Skotlex]
* Small fix to Sanctuary (shouldn't start healing until after 1.5 secs of
casted) [Skotlex]
* Implemented Palm Strike (you cast the skill, it pushes back the enemy and
deals damage 1 sec after it was casted) [Skotlex]
* Rewrote and tested Gospel's code, currently it works as follows: [Skotlex]
Offensive Effects:
0: Defense ignoring damage 1~9999
1: Curse enemy
2: Blind enemy
3: Poison enemy
4: Lv10 Provoke
5: Def, Def2 to 0
6: Base Atk, Watk to 0
7: Flee to 0
8: Speed/Aspd -25%
Deffensive Effects:
0: Heal 1~9999
1: End all negative status effects
2: Lv10 Bless
3: Lv10 Inc Agi
4: Aspersio (holy weapon)
5: Benedictio (holy armor)
6: +100% max hp
7: +100% max sp
8: +20 to all stats
9: +25% def (armor and vit)
10: +100% base atk
11: +50 flee
12: +50 hit
13: Status effect inmunity
- Effects have a chance of 10*Skill_lv% of triggering every 5~15 secs
for whoever is on the skill area.
- Report any modifications/corrections needed on the forums.
07/17
* More Sacrificial Ritual updates [Skotlex]
* Added Jawaii's water level, thanks to Manipulator [Skotlex]
* Sacrificial Ritual update [Skotlex]
* Bumped max Vending price to MAX_ZENY (currently 1000M) [Skotlex]
* Fixed a bug with Brandish Spear's damage. [Skotlex]
* Changed the minimum valid char_id from 150k to 1 as apparently many sql
servers somehow got their chars to start from id 1 instead of 150k. [Skotlex]
* Added a bunch of debug information to help me understand why the client
version check is failing. Report back the output on the forums. [Skotlex]
* The memory manager is now OFF by default [Skotlex]
(if the server now crashes instead of the matrix bug, then whoever
gets the traceback first gets to locate it's source)
* Various fixes to Sacrifice (self damage, display, defense reduction, etc) [Skotlex]
* Fixed Assumptio's damage reduction in pvp/normal maps [Skotlex]
* Tiny fix to #fakename [Codemaster]
* Probable fix for matrix bug. [Kevin]
* Fixed SegFault with friends list loading on sql. [Kevin]
* Fixed the spamming of 'unknown packet received' when a client connects
with an unidentifiable version. [Skotlex]
* Optimized sql loading of data when displaying the Char Select Screen [Skotlex]
07/16
* Added NOLOOT, NOEXP mapflags files (thanks to Lorky,OSKOM) [Lupus]
* Updated Louyang monsters spawn (thanks to MasterOfMuppets) [Lupus]
07/15
* Rewrote most of the packet_db handling code. [Skotlex]
eA now really supports multiple packet versions at the same time,
(so that transitioning from one packet version to another should be
smooth), there is no longer any need to mess with the db/packet_db.txt
file.
* The values for packet_ver_flag have changed, check the battle_athena
comments and set it up accordingly!
* Using the packet_db is the only way to manage packets now. [Skotlex]
* Added sql runservers to all branches as runserver-sql.bat [Evera]
07/14
* Fixed the login-sql registration issue. [Skotlex]
* Made it so all ground-targetted skills fail if you try to cast them on a
cell you can't step in. [Skotlex]
07/13
* Soul Change should now work on anyone in pvp/gvg maps [Skotlex]
* Wand of Hermod's target change from 'friend' to 'party' [Skotlex]
* Fixed triple blow's 'infinite damage delay'. [Skotlex
* Added check to prevent placing traps on non-walkable cells. [Skotlex]
* Fixed login-sql server not reading login_log value [Skotlex]
* Adjusted my fix of buildin_getequipisequiped to not leave
the return stack tweaked [MouseJstr]
* Changed skill_unit_onlimit to use strncpy instead of memcpy
in one spot to eliminate accessing unallocated memory [MouseJstr]
* Added check into _mmalloc for allocations of less then zero
to make debugging easier [MouseJstr]
* Fixed USE_MEMMGR to disable when running bounds checker or
the debugging malloc code [MouseJstr]
* Fixed the debugging malloc MACRO's to use the correct arguments
[MouseJstr]
* increased max maps per server to 1024 [MouseJstr]
* Added check into buildin_getequipisequiped to make sure arguments
don't go outside of array boundries *crash* [MouseJstr]
* Add a check into refine bonuses to not go outside of array
boundries if somebody has a wlv above 5 in the database *crash* [MouseJstr]
* Modified skill_tree code to confirm we are still inside the
skill_tree array before accessing a element from the skill_tree
array *crash* [MouseJstr]
* Changed the mob spawning code to use strncpy instead of memcpy
in some places to avoid copying unallocated and uninitialized
memory *crash* [MouseJstr]
* Fixed the compile problem on the previous upgrade. [Skotlex]
* Changed refine success chances to match jRO information. [Skotlex]
See http://tomcat1.s13.xrea.com/bs/calc.html and
http://eathena.deltaanime.net/board/index.php?showtopic=39997
for the details on the new equation.
(changed because the current equations seem somewhat outdated)
* Fixed max chance const of "mob skill usage". Now all mobs aren't hyperactive. [Lupus]
* Fixed global vars not being saved instantly (used to cause some scripts exploits) [Lupus]
Need some offensive testing.
07/12
* Added Loli Ruri to the Magician set [Skotlex]
* Fixed 'theif' on the scripts. [Skotlex]
* Added mapflag pvp_noparty to the pvp rooms [Skotlex]
* More Dispell Fixes [Skotlex]
* log_login option now also works for the SQL Login server [Skotlex]
07/11
* Fixed again Dispell. [Skotlex]
* Added nomemo mapflag to Ayothaya Dungeon. Check your memo DBs and wipe forbidden entries [Lupus]
- Yuno, Ayothaya Dungeon
* Fixed Dispell succes rate reduction by MDef working reversed [DracoRPG]
* Changed Guild auras to not be removed by Dispell (they came back when you walked
anyway :p) [DracoRPG]
* Changed the default for equip_natural_break_rate to 0 (official) [DracoRPG]
* Fixed the function that checks whether the player has valid equipment for his buffs :
don't return once one buff is stopped, since there can be more (e.g. Crus' shield buffs
will now ALL be stopped when the shield is unequipped, not only Guard ^^) [DracoRPG]
07/10
* Fixed Alchemist Fame system using' account_id' instead of 'char_id', however this does
NOT solve the names problem : I left debug messages so you can see by yourself that the
bug comes from map_charid2nick that always returns null... [DracoRPG]
07/09
* Added Novice Castles Usher NPC. 4 new Castles for all but 2nd classes! [Lupus]
* Updated Falcon Assault (now gives 500% at 5 lvl) [Lupus]
* Fixed True Sight (now gives +10 Crit, instead of +10%) [Lupus]
* Update Sharp Shooting (now gives 350% at 5lvl) [Lupus]
* Check other DB related skills req changes in db\changelog.txt [Lupus]
* Updated Palm Strike to push back even if it misses. [Skotlex]
* Updated Palm Strike cost/sphere requirement. [Skotlex]
(the delayed damage still needs to be coded in)
* Now adoption.txt NPC can also teach parents/babies their missing family skills [Lupus]
But the skills don't work yet (I tested)
* Massive mapflags fix. Also added there Novice Guilds. [Lupus]
07/08
* Fixed below fix xD [DracoRPG]
* Added another sql injection fix [Kevin]
* Rewrote part of the name request code [Skotlex]
This means that now you can see other people's party even if they don't
belong to a guild, and the party/guild names are updated whenever someone
joins/leaves them. Not fully tested but works alright on the client I use
(0411)
* More Adoption skill fixes. [Skotlex]
* Added the Adoption skills to all classes [Skotlex]
They should be auto-granted upon adoption (and are not resetable,
learnable). This, of course, needs testing, do report if it does not
works. (those that already have someone adopted will need a custom npc to
give them the skills).
* Reverted Wedding Rings as they don't need to give the adoption skills
anymore [Skotlex]
* Added script command getchildid() [Skotlex]
* Updated wedding rings to give the adoption skill when equipped. [Skotlex]
* Fixed some adoption skills [Skotlex]
* Baby classes won't display the wedding sprite when they equip the
tux/wedding dress since that resets their size. [Skotlex]
* Added warning messages when mobs from the mob_db are not loaded due to
invalid IDs. [Skotlex]
* All the new monsters have been added. Check db\changelog.txt
07/07
* Moved some declarations causing errors with gcc 2.95 [veider]
* Added valid fd test in inter.c char_sql - caused charserver crash [veider]
* Fixed pet-exploit where you could use a bow with no arrow equipped to
'send' your pet to attack distant enemies. [Skotlex]
* Added a visual skill effect when pets heal a status ailment. [Skotlex]
(Adrenaline Rush was chosen because it's animation does resemble a
'curative spell')
* Changed all SQL-related error messages to use ShowSQL [Skotlex]
ShowSQL now is also printed on the stderr (like ShowError and ShowFatalError)
* Beautified the output of the char server (sql) [Skotlex]
* Modified Dispel so that it can fail. [Skotlex]
As I have no information of how mdef protects against it, the current
dummy equation is: (50+10*SkillLv - mdef)% (note that mdef2 is not used!)
If someone knows the actual equation, do open a bug report.
07/06
* Fixed Spider-web (works like a ground-targeted trap) [Skotlex]
* Fixed combo delay not working with skills that have a blowcount [Skotlex]
* Set the default skill combo delay value to 230ms [Skotlex]
(this default was empirically obtained testing with Jupitel Thunder as reference)
* Beautified output of the char server (txt) [Skotlex]
* Fixed script config import reading. [Skotlex]
(was working incorrectly and causing memory leaks)
* Another mob-ai fix, this time mobs should unlock their target once
it has died for sure. [Skotlex]
* Added player_combo_damage_delay & monster_combo_damage_delay [Skotlex]
See battle_athena.conf for description of how they work.
Defaults to 0 because it is not yet tested for an appropiate default.
* Removed player_damage_delay & monster_damage_delay [Skotlex]
Use player_damage_delay_rate:0 & monster_damage_delay_rate:0 instead.
* Set item_use_interval to 0 (official default, isn't it ?) [DracoRPG]
* Improved appearance of script-errors reported during loading. [Skotlex]
* Some mob-ai cleanup. Mobs should now unlock their target when it has died. [Skotlex]
* Some items, monster drops fixes [Lupus]
07/05
* Fixed double attack damage [Skotlex]
07/04
* Displayed name is now updated whenever a character leaves/joins a
party/guild. [Skotlex]
* Added some NEW official HEADGEARS quests thanks to Lorky [Lupus]
* Added zbuffer/lance's "Dynamic NPC Look 'n Feel" feature. [massdriller]
07/02
* Fixed a small bug in PCloadmapevent thanks to lance. [massdriller]
* Added lance's PCLoadMapEvent script event command. to trigger, type in
-[TAB]script[TAB]PCLoadMapEvent[TAB]-1,{
YOUR SCRIPT HERE
PCLoadMapEvent as NPC Name will trigger when players step into the map.
OnPCLoadMapEvent as Label will trigger when players step into all maps. [massdriller]
* Added lordalfa's NPCKillEvent script event command. to trigger, type in
-[TAB]script[TAB]NPCKillEvent[TAB]-1,{
YOUR SCRIPT HERE
}
The script should run everytime a normal monster is killed. [massdriller]
* Added lordalfa's edit where Labels from Event Monsters be executed using the MVP RID,
and not the Last Hit guy RID. [massdriller]
* Added lordalfa's PCBaseUpEvent script event command. to trigger, type in
-[TAB]Script[TAB]PCBaseUpEvent[TAB]-1,{
YOUR CODE HERE;
}
the script should run everytime the user gains a level. [massdriller]
* Fixed Job Quests exploits (Advanced Classes were able to pass their 2nd job quests again) [Lupus]
High Novices were able to pass Super Novice Job Quest as well. They weren't able to GET those
professions, tough. But there were some items exploits.
Now Advanced classes get reborn guides from all main Job Quest NPCs (1st, 2nd Classes)
07/02
* Fixed NEWnovice NPC set using gmcommand instead of atcommand. [Codemaster]
* Maps and bugs updates, some cleanup in Weapon Repair code [DracoRPG]
* Added new areas into map flags folder. According to the patch, added NOMEMO flag to Yuno [Lupus]
* Some monsters drops changes, cards fixes. [Lupus]
* Fixed sql-char server crash when deleting a Guild Master [Skotlex]
* Massive cards update (also thx 2Landarma) [Lupus] read db\changelog.txt
07/01
* Fixed being able to steal from Treasure Box #1 [Skotlex]
* Char-sql server now uses autosave_interval to decide when to save a
modified guild. [Skotlex]
* Temporary patch to fix the 'invalid pointer' error on shutdown. [Skotlex]
* Changed all printf's to Show* messages (login/login-sql servers) [Skotlex]
* Cleaned up sql-account creation code. [Skotlex]
* Fixed 'unclean' guilds not getting saved on char-sql shutdown. [Skotlex]
* Corrected map-length calculations when auto-adding .gat (#/@ commands) [Skotlex]
* Fixed guild-skill sql loading. [Skotlex]
* Added battle_config option guild_exp_rate to adjust taxed experience
before adding it to the guild. [Skotlex]
* Some Guild-Sql saving optimizations [Skotlex]
* Changed all printfs to Show* messages (Map Server, common/ files) [Skotlex]
* Fixed crashes of Baby Knight/Crusader Peco riders. Added Baby Class support into
AT / CHAR commands @mountpeco [Lupus]
06/30
* Added web server (http daemon) plugin, originally by jA, ported to plugin form
(but not yet finished) [celest]
- To activate it just edit plugin_athena.conf
- When running just access http://<your server IP>:<your server port>. The
default home page is httpd/index.html, you can edit it if you want.
- If graph creation is enabled you can view them in http://..../graph
(by default only memory usage graphs are added)
* Fixed crash when no grf's are loaded [celest]
* Some tidying ups in clif.c, guild.c, skill.c, storage.c [celest]
* Fixed a missing foreign key for guild_position in the SQL
guild convert files (main.sql has it already) [Aru]
* On Guild_skill table corruption in SQL: this is a problem with
some MySQL versions not supporting the syntax used in
convert_guild_tables properly. The solution is to drop table
guild_skill and re-create it with the query from main.sql. [Aru]
06/29
* Fixed Bowling Bash and Spear Stab having knockback in
situations where knockback should be disabled (GvG/MVP) [Aru]
* Updated map configs with airport maps. [massdriller]
06/28
* Fixed Land Protector's range
* Old Sakexes can now login to the server. [davidsiaw]
* Doubled Investigate/Occult-Sight's damage and made it non-elemental as per
ragnainfo sources. [Skotlex]
* Sacrifice now always hits.
* Added import of msg_conf.txt for custom message translations. [Skotlex]
06/27
* Fixed Pressure missing. [Skotlex]
* Added 2Secs delay to Sonic Blows. [Skotlex]
* Removed battle config option maximum_level and replaced it with max_base_level,
max_job_level, max_super_novice_level and max_advanced_job_level. Refer to
battle_athena.conf for more details. [Skotlex]
06/26
* Fixed typo 'identity'->'identify' in charsave.c [DracoRPG]
* Added missing ',' to guild_position definition of main.sql [Lupus]
* Added proper foreign keys to guild_position,
SQL users run upgrade_svn2331.sql [Aru]
* Added convert_guild_tables2.sql for use on guild tables
created with a 2314-2321 main.sql. Run this or
convert_guild_tables.sql if you are having issues with guild
skill saving [Aru]
* Fixed a bug with guild_skill table in main_old.sql if you're
fool enough to use it [Aru]
* @nuke++, ftw ;D [Valaris]
* Modified friend list loading in char-server (sql) to be more efficient. [Valaris]
* Modified mmo_friends_list_data_str (char-server txt) so it wouldn't make junk data. [Valaris]
* Added 'character_size' to battle config:
Do mounted (on Peco) characters increase their size [Lupus]
* Added new guild database structures to main.sql.
Removed obsolete guild_tables.sql.
If for some reason the new main.sql doesn't work for you, you
can use main_old.sql, but there will be garbage left in the DB
if a guild is deleted. [Aru]
06/25
* Asura/Extremity-Fist needs Fury/Explosion-Spirits active no matter how
it's triggered. Not yet tested, but it should work. [Skotlex]
* Reorganized deletion process. Friends should now be no more problem [davidsiaw]
* Added SQL returned row check to friend-list loading, thanks to Sasuke-. [Valaris]
* Fixed drops_by_luk not behaving exactly the way it was before... ^^' [Skotlex]
* Proper clear of class sprite if used as a mob when killed. [Valaris]
* Added limit 10 to fame list SQL query (faster, when u got 1000+ bsm/alch in DB) [Lupus]
* Added missing field guild/char_id to main.sql database definition [Lupus]
Warning: Don't use guild_tables.sql databases yet! Use main.sql file
06/24
* Small bug fix on the Monk combos introduced by previous reorganization. [Skotlex]
* Some corrections on player_cloak_type code. [Skotlex]
* Some code reorganizing related to Monk combos [Skotlex]
* Reverted behaviour of the drops_by_luk to Valaris's way [Skotlex]
Added drops_by_luk2 for those who want the alternate behaviour instead.
* Adjusted occult-sight/investigate damage modifier to be (def1+def2)/100 [Skotlex]
* Removed remaining bits of code for the ex-guild skill Charisma [DracoRPG]
* Added Lighthalzen to @go [DracoRPG]
* Fixed bug in bowling bash that made the target's sprite remain. [Valaris]
* Added status calculation to nude script command if anything was removed. [Valaris]
06/23
* Fixed LittleWolf's detect hidden mode 256 for mobs (missed a line while merging). [Valaris]
* Disable AF2 loading -- eA doesn't support unzipping archives yet [celest]
* Updated UPnP plugin to 1.0.3.2 [celest]
- Added 'nat_ip' option to upnp.conf (use it to manually set your ip address
if auto detecting doesn't work)
- Fixed ip address not initialised properly
06/22
* Stopped looting from Chase Walk [Aru]
06/21
* Added send of fail packet on failing to pick up items under certain conditions
(this allows you to get an item you tried to pick up while cloaked when you uncloak). [Valaris]
* Updated map server to partially 1203~1249
- Added 'buyer_name' to battle config: shows the buyer's name when an item
has been sold through vending
- Added skills with 'water' requirement can be used in rain-enabled maps
- Fixed Soul Strike not dealing extra damage to undead
- Fixed Advanced Book not giving its aspd bonus
- Fixed skill name display when Frost Joke and Scream are casted by mobs
- Fixed exp overflow with Rich Man Kim
- Fixed exp overflow with party bonuses
- Fixed mob names not updated properly when respawning to its base class
- Reduced size of struct pet_db a bit
- Prevent trying to respawn a one-time-only mob if it can't find any
coordinates to add it
- Added slave mobs with no master/master died will be removed in mob_ai()
- Changed damage log by summoned mobs will use their masters' char_id instead
of account id (old system)
* Some tidying up in atcommand.c [celest]
06/20
* Large monsters now have 2x base stats, drop rates, exp, and zeny (if enabled). [Valaris]
* Small monsters now have half base stats, drop rates, exp, and zeny (if enabled). [Valaris]
** Note: this is referring to size just as @monsterbig and @monstersmall, not small, medium, brute, etc... [Valaris]
* Removed wedding rings from hasitems script command. [Valaris]
* Removed monsters_ignore_gms from battle_athena.conf, and added @monsterignore command. [Valaris]
06/19
* Sirius: Even though the `id` field is never directly read or
written by Athena it is neccesary for the SQL server which
automatically handles it. Else each char may have only 1 item
in a given table. [Aru]
* overhauled PA_SACRIFICE. If you want to revert the old
behavior, you can comment out the new line for it in
skill_db.txt [Aru]
* removed broken SQL "upgrade" script [Aru]
* finished the mapservers direct char loading / Charsaving (SQL only!) [Sirius]
- set charsave_method in char / map conf to 1 if u want to use the feature
- please test it and make db backups, the save / load is completly rewritten.
* Fixed some compilation errors on FreeBSD (old compilers [veider]
06/18
* Properly updated graph files (Oh god, i keep forgetting things now...
sorry again! >.< [celest]
* celest:
added a graph.c / graph.h with void graph_init and graph_final functions
due to compiling errors [sirius]
* SQL USERS: upgrade with upgrade_2252.sql!
* Added new maps, items. Thanks to Landarma [Lupus]
* Added graph creation code by jA / End_of_exam (currently disabled until
finished) [celest]
* Added grfio_crc32() [celest]
06/17
!!!Bug: on optimizing run_script, Kafra NPC stopped working. Celest, read it plz. [Lupus]
-- Fixed, sorry ^^; Please test and tell me if anything goes wrong [celest]
--- Yes. It's fixed now. (Equipment upgraders, etc werent' working, too) [Lupus]
* Started adding the charsave_method, Loading is working, saving will be finished @ 18.6.05 [Sirius]
* SuperUser checking ... (never run athena as root!) [Sirius]
* Added eprintf/eprint (eprintf is equal to printf) but it displays line / file ... (to stdrerr)[Sirius]
* Fixed Ungoliatnt casting assumptio on it's target instead of self. [Skotlex]
* Switched two frees around that might have caused problems [Codemaster]
* Optimised run_script a bit, based on jA [celest]
* Fixed a memory leak in script.c [celest]
06/16
* Fixed "unable to add to guild" bug. [Skotlex]
* fixed a typo of the guilds sql file DB definition [Lupus]
* Added left-out bonus bDef2 [celest]
* Moved minicore .o files compiling to under 'common' [celest]
* Fixed a client crash when using Advanced/Baby job sprites for mobs [Aru]
* Added a random modifier to returned damage modifiers to prevent stun-lock
abusers. [Skotlex]
It's currently set at +/-5%, not tested to know if that's enough or not,
feedback appreciated.
* Updated missing grfio.c, sorry ^^; and thanks Skotlex! [celest]
* Fixed crash in exporting ip address to plugins [celest]
06/15
* Small mod on the new attack function to prevent Asura Strike from
overflowing and doing minimal damage instead of insane damage. [Skotlex]
* Merged Iro's patch to get #changesex working. Try it out. [Skotlex]
* nullpo fix (guild.c:550), it was an actual possible scenario when you
invite someone to a guild and quit before they reply. [Skotlex]
* Removed script command gmcommand and replaced it with atcommand &
charcommand. [Skotlex]
* Small fix regarding speed updating for Cast Cancel + Freedom of Cast [Skotlex]
* Added 'make depend' for resetting Makefile dependencies [celest]
* Readded 'make addons' (works the same as 'make plugins') [celest]
* Split zlib dll opening from grf opening in grfio.c [celest]
* Moved grfio.c back to /common, it'll be needed by the core later [celest]
* SQL Logs crash likely fixed. [Skotlex]
* Added Stone-Curse to the list of status effects undead chars are immune
to. So far undead chars are immune to Freeze and Stone Curse. [Skotlex]
* Fixed disp_hpmeter not working properly when set to 0/no [Skotlex]
* Added malloc_usage() for checking total memory used [celest]
* Added func_parse_table to assign a parse function according to SessionType
-- still not used anywhere yet [celest]
* Added 'SessionType' to session_data [celest]
* Some tidying up in charcommand.c [celest]
* Added temporary code for Shinobi's Rebirth skill [celest]
* Added guild exp overflow fix for TXT char [celest]
06/14
* Various item_trade restriction fixes: [Skotlex]
- Fixed guild/normal storage flags not working right.
- Fixed a bug which allowed players to store items regardless of
restrictions.
- Modified the gm override level behaviour on trades so a high level gm
can both give and receive the otherwise untradeable item.
* Small fix to the sql-files/convert_guild_tables.sql script. [Skotlex]
* Modified function status_calc_speed to be faster since it's only used for
cloaking and freedom of casting. [Skotlex]
* Changed the stacking type from speed-bonuses to make it harder to reach max
walk speed. [Skotlex]
* Fixed a bug on the way aspd bonuses stack. [Skotlex]
* Changed map names length from 24 to 16 all over the char(txt/sq) and map
servers, this could fix the "matrix" bug (if done right...). [Skotlex]
* General cleanup and memory checks on char server (txt) [Skotlex]
* Miscellanous memory checks around charcommand.c and atcommand.c [Skotlex]
* Added Maeki's fix to Maeki's fix of SQL Char Server Guild Saving.
* Fixed characters not being able to uncloak
* Split used-by-plugins-only code to plugin.h [celest]
* Standardised plugin functions and names -- dll.c is now plugins.c, addon_athena
is now plugin_athena.conf and so on [celest]
* Updated UPnP plugin to 1.0.3.1 [celest]
- moved code in socket.c back into the plugin
- added configuration file support (plugins/upnp.conf) -- you'll need to do
'make plugins' to install it
* Added 'make zlib' for compiling a zlib.dll [celest]
06/13
* Fixed Asura Strike possibly doing minimal damage when it should do very
large damage instead. [Skotlex]
* Fixed another possible crash on chrif... [Skotlex]
* Applied Maeki's fix for Guild Sql Char server [Skotlex]
if it breaks, go stone him :X (I already got enough rocks to watch
out for...)
* Made berserk-cancels-users-other-self-buffs a battle_config
option, default: off [Aru]
* Some compiler warnings fixes [Skotlex]
* Added battle_config option equip_natural_break_rate. [Skotlex]
Default is 1 (0.01% chance).
* Changed sprinkle sand's range from 8 to 1. [Skotlex]
* Fixed map server failing to connect to char server... [Skotlex]
* Char-Sql server revision [Skotlex]
Miscellanous memory bounds/overflows checks/fixes.
* Fixed options start_armor/start_weapon (char sql) [Skotlex]
* Some more map server memory checks and cleanup (90%) [Skotlex]
* Fixed cloaking re-cloaking you instead of cancelling cloak. [Skotlex]
* Double Damage multiplier applied after vit/def reductions until further
information is available. [Skotlex]
* Restored previous speed stacking type until a fix for the new method can
be devised. [Skotlex]
* Removed MVP status from @summon'd monsters. [Valaris]
* Had the "monster target reset to none" code inside of check for the monster level up code, moved it out. [Valaris]
* Added update of mob hp display on monster level up if mob hp display and monster leveling are on. [Valaris]
* Added mob_clear_delay option to battle_athena.conf.
Can add a delay before sending monster death packet (time is in milliseconds and default 0 is off).
Increasing this can fix the problem with monster sprites still appearing after it died. Recommended value: 10. [Valaris]
* Fixed spawning multiple sized monsters via scripts. [Valaris]
* Added LittleWolf's mode 256 (0x100 internally) for monsters (adds detect hidden to a monster, doesn't have to be an MVP, demon or insect). [Valaris]
* Fixed bug allowing players to cast warp portal under players and other various invalid blocks. [Valaris]
* Removed talk conversion of Zherlthsh and Alice pets since clients now support them. Thanks to Kholdstare for pointing it out. [Valaris]
* Added "ORDER BY" statement to char-server SQL's reading of the memo db, fixing problems with people's memo lists
screwing up when they log back in. Not sure if this problem exists in TXT char-server as well. [Valaris]
* Map server memory cleanups... (85%) [Skotlex]
* Removed battle option "enemy_critical" [Skotlex]
Use enemy_critical_rate=0 instead.
* Changed the default of enemy_critical_rate to 0 [Skotlex]
* Ported oA's imalive and flushtimer system to rAthena plugin 'gui' [celest]
- You will only need the plugin if you are using a gui program like wxOAGUI
to run Athena
- To configure it check addons/gui.conf
- Passing "--gui" as a parameter, i.e "./map-server --gui" will activate it
as well (GUI program creators, you should handle this transparently)
* Added get_uptime to timer.c -- used by @uptime and the 'sig' plugin [celest]
* Merged the 'uptime' plugin into 'dump' and renamed to 'sig' -- it'll now
handle both crash and uptime logging [celest]
* Guild SQL updated again, `exp` and `next_exp` to BIGINT UNSIGNED [CLOWNISIUS]
* Updated the guild_upgrade made sure UNIQUE KEY guild_id is implemented [CLOWNISIUS]
* Pets no longer lose intimacy when you die on a nopenalty map [Aru]
06/12
* Removed the dynamic mob messages (mobs spawned/removed) from default output [Skotlex]
(Use battle_config etc_log to enable them again)
* Fixed sql-files/convert_guild_tables.sql so that it actually works [Skotlex]
(works only on non-modified guild tables previous the new guild system)
* Small nullpo fix on @where.
* Fixed new account flood protection blocking _M/_F registration (txt/sql) [Skotlex]
The bug? The default disallowed time was 1 registration every 10K secs.
* Found & fixed the bug that was causing server instability on clif.c [Skotlex]
* Cloaked characters will uncloak on attack/skill-use [Skotlex]
* Fix on aspd_rate affecting skills not working [Skotlex]
* Miscellanous small fixes in map server. [Skotlex]
* The new attack function is now the unchangeable default. [Skotlex]
* Updated double_rate (side-winder) behaviour. [Skotlex]
It no longer adds to double attack's skill rate, instead the higher of
the two will be used on the currently equipped weapon.
* Dec Agi now cancels Cart-Boost and viceversa as explained by Ishizu [Skotlex]
* Cloaked characters now can't pick items. [Skotlex]
* Made the max speed rate a battle_config option, default 300% [Skotlex]
* Fixed the overflowed valstr free on skill.c:8840 [Skotlex]
06/11
* Lord Knight's Beserk now cancels all the caster's other
self-buffs when used. It also cannot be re-used during the
no-SP-recovery penalty period after it expires. (This penalty
will now cancel on your death however.) [Aru]
* Reverted the previous stacking type for aspd as per rodatazone
information [Skotlex]
Speed modifiers, however, still stack on the new way as there's been
complains of characters reaching impossibly high walk speeds.
* Modified bAspdAddRate code so that it stacks linearly. [Skotlex]
* Changed default stacking type for skill modifiers [Skotlex]
If you have +50 aspd and +50aspd you won't get 100% aspd, instead now you
get 50% of the 50%, that is 75% aspd bonus. Changed meant to protect
against stacking skills to get impossibly high walking speed/attack
speeds.
* Modified the way bAspdRate & bSpeedRate work. [Skotlex]
They are meant to be non-stackable, so only the card/equipment with the
highest bonus prevails.(items with stackable bonus should use
bAspdAddRate & bSpeedAddRate instead.)
* Changed the DoppelGanger Card definition from bAspdRate to bAspdAddRate
to make it stackable. [Skotlex]
* Capped walkspeed at 4x default [Aru]
* Added Maeki's awesome convert_guild_tables.sql
You must still manually add the `char_id` field to the `guild`
table and fill it with the guildmasters' char_ids BEFORE
running it. [Aru]
* Removed inter_guild_storage_delete calls from int_guild,
innodb tables make it unneccessary [Aru]
06/10
* Updated the default pet_db.txt support values [Skotlex]
We don't have an official list of the support rates, but 1% as default
(1.5% if they have max intimacy) is just ridiculous.
* More map server memory cleanups... (70%) [Skotlex]
* Fixed that crash upon login.... [Skotlex]
* More map server memory cleanups... (45%) [Skotlex]
* More map server memory bound cleanups and checks (35%) [Skotlex]
* Fixed Stalkers being able to use (plagiarized) ground-target
skills from Chase Walk
* Fixed come confusion between MVPs (status_get_mexp) and
mini-bosses (mode & 0x20) in battle.c
* Added battle_config option item_use_interval with default 500ms [Skotlex]
* Started map server memory bounds checking for overflows (20%) [Skotlex]
* Small optimizations on ensemble skills [Skotlex]
* Fixed some compile warnings on char-sql server [Skotlex]
* Added script function getitemslots(item_id); [Skotlex]
* Fixed a bunch of script functions generating a new dummy item instead of
failing when the item was not found. [Skotlex]
* Fixed mobhp display so that it will be displayed no matter which /showname option a player is using. [Valaris]
* Fixed names with disguises (I tested it. It works. No more bitching. :P). [Valaris]
* Completely overhauled SQL guild code to use innodb type tables
unfortunately, old guild tables are not compatible.
If you don't mind the data loss, wipe your current guild
tables and run guild_tables.sql to create new guild tables.
[Aru and CuteBoi]
* If you want to manually convert your old guild tables, you'll
need to add the foreign keys from guild_tables.sql to the
databases. And add the `char_id` field to the guild table.
Its value needs to be the char_id of the guildmaster [Aru]
* Added 'alchemist' mob skill condition [celest]
* Rewrote most of the old jA Self Destruction code [celest]
06/09
* Fixed a possible null_po in clif.c:7714 caused by lagged clients [Skotlex]
* Fixed enemy damage_delay being modified by 400 instead of 100. [Skotlex]
* Changed behaviour of map_freeblock/map_freeblock_unlock as the previous
way seems to cause memory leaks. [Skotlex]
* Tidied up code relating to skill_get_inf2() [Skotlex]
* skill_db.txt updated. New inf2 values: [Skotlex]
16: Guild skill, 32: Song/Dance skill, 64: Encore skill
* Other misc arrangements to skill_db.txt (see db/Changelog) [Skotlex]
* Tidied up code relating to skill_get_nk() [Skotlex]
* Readded the previously removed skills from item_db [Skotlex]
* getpetinfo(2) will return "null" on no pet. [Skotlex]
* Tidied up code relating to skill_get_inf() [Skotlex]
* Some small fixes to @grind, @useskill [Skotlex]
* Added fist (bare hands) to the list of unbreakable equipment in
pc_break_equipment [Skotlex]
* Reestructured battle_config options for equipment breaking [Skotlex]
Removed equipment_breaking and added equip_self_break_rate,
equip_skill_break_rate. Read battle_athena.conf for more info.
* Fixed getpetinfo(2) crash. [Skotlex]
* Added a couple missing lines from my PSIBlade merge of disguises. Name, attacking
and such are fixed now with disguises. [Valaris]
* Added battle_config option to set if advanced job skills may be plagiarized
* Fixed ASC_BREAKER to ignore race/size/element cards like it should
* Changed @fakename so it no longer needs to teleport the client to work [celest]
* Removed the old day/night system that uses the blind effect [celest]
* Fixed day/night cycles with darkness_level on not refreshing properly [celest]
* Fixed pc_follow_timer cancels if the player or the target warps [celest]
* Added @follow on the same target for the 2nd time will stop following [celest]
* Added Memory manager will perform a hash check when freeing memory, by
End_of_exam / jA 1213 -- fixes crashes when a pointer created by level 2 ALLOC
is passed to level 1 aFree
06/08
* Updated idle time considerations. [Skotlex]
A character's idle time is reset upon: Walking, attacking (auto-attack
counts too), using a skill or using a item.
* idle_no_share changed from a Yes/No setting to # of seconds before
considering character idle (no/0 still disables). [Skotlex]
* Updated idle_no_share description in battle_athena.conf
* Modified @disguise so that it will always work with Npc/Mob names and Mob
Ids. Only npc by id is hardcoded for now. [Skotlex]
* Added atcommands cleanmap, npctalk, pettalk to atcommand_athena.conf with their
description. [Skotlex]
* Fixed spawn delays for anthell eggs [Skotlex]
* Removed equipment_breaking, use equipment_break_rate = 0 instead.
[Skotlex]
* Clarified some of the comments in battle_athena.conf [Skotlex]
* Steal/Snatcher won't work on summoned creatures now. [Skotlex]
* Some db updates (see db/Changelog) [Skotlex]
* Fixed rude_attacked state not being reset after triggered, credits to
Komurka [Skotlex]
* GM used Type 11 items will be exempt from the "GMs can do whatever they
want" rule regarding skill_usage because otherwise the used item is never
consumed. [Skotlex]
* Fixed Ice Falchion/Firebrand giving skills, they just cast the spell [Skotlex]
* Reduced Ice Falchion's freezing chance from 5% to 1% [Skotlex]
* Added Makefile caching [celest]
'Makefile.cache' is created when you compile for the first time, and keeps
all your makefile definitions so it can be read directly when you recompile,
instead of redetecting things one-by-one.
'Make [char_sql/login_sql/map_sql]' will now work properly too.
NOTE: A cache file created by compiling txt is NOT compatible with SQL, but
a cache created by SQL is compatible with TXT! Delete the cache file first
and compile SQL before TXT if you have to.
* Skills will reset at level down. [davidsiaw]
06/07
* Temporary change of the way mob memory is removed when they don't have a
respawn time (check for memory leaks fixed after killing all summoned mobs)
[Skotlex]
* Fixed map_quit being called twice when a player requests to change char [Skotlex]
* Fixed compile issues on various versions of linux
(please avoid inline in include files until we offically go
over to being a c++ app) [MouseJstr]
* Fixed aFreed messages of double freeing sd->reg and sd->reg_str [Skotlex]
* Re-fixed sql-files/item_db.sql [Skotlex]
* Plagiarism won't work if the skill to be copied killed you. [Skotlex]
* Removed use of 'l' as prefix for temporary variables. [Skotlex]
* Updated max hair styles in battle_conf to 23 [Skotlex]
* Updated map server to jA1159~1203 [celest]
- Added imbueing weapons with random element (with bonus bAtkEle,10;)
- Added Soul Strike do additional damage on undead
- Added Grand cross will not damage self when cast by mobs
- Added Cannibalize & Marine Sphere summoned mobs will use their owner's name
- Added clean up player info when switching characters
- Added reinitialise storage when char server disconnects
- Changed some cloaking/chasewalk checks
- Fixed memory leak when map cache reading has an error
- Fixed a bug when receiving member info for an empty guild
- Skip still connecting players in clif_foreachclient()
* Weather will now properly appear/disappear without having to refresh the client. [Valaris]
* Complete monster disguise re-code: [Valaris]
-No more client crashes in PVP caused by disguises.
-Can view own attack/hit/cast/sit/turn animations.
-Monster sprite syncs up better than before.
-Fixed stat dupe exploit with disguises.
-Fixed crashes that prevented peco riders with disguises.
-No more refreshing of the screen when equipping/unequipping disguises.
* Fixed crashes caused by Graffiti Cleaner. [Valaris]
* Added following missing checks to Ensembles: [Valaris]
-Partner's equipment is an instrument.
-Partner is alive.
-Partner is not casting another skill (This allowed dance floor panel duping).
-That both people are in a party (before if both partner's were in no party (party ID 0)
it would allow them to use an ensemble.
06/06
* Fixed and updated sql-files/item_db.sql to match with the current
db/item_db.txt [Skotlex]
* Removed variables with prefix "l" being treated as a temporary
variables by the scripting engine. [Skotlex]
* Updated description of idle_no_share battle_config option [Skotlex]
06/05
* Added more debugging information to login-in characters to track down the
authook nullpo problem. [Skotlex]
* Added a temporary string length check on trade-request. [Skotlex]
(reports seem to indicate that the map-server garbage text bug could be
related to trading string length overflow, check the map-server output
for "name too long" messages).
* Fixed a few Visual Studio compile errors and warnings - not completely fixed [Codemaster]
* prevent_logout is now overriden by dead characters. There's no point in
waiting 10 secs since you were killed to quit/change character. [Skotlex]
* Passive mobs will now unlock their target once it's dead/gone too
far/in another map. [Skotlex]
Passive mobs are supposed to be defensive, not vengeful. Do report of any
abuses that might be possible from this to take proper measures.
* Fixed pet lures always failing (oops) [Skotlex]
* Corrected Various Jur's (id 1264) equip script to bonus2 [Skotlex]
* Fixed status_get_speed always returning 1000 when invoked on NPCs [Skotlex]
* Added battle_config option pet_support_min_friendly [Skotlex]
Specifies minimum pet intimacy/friendly value needed before attacking.
Default 900, see battle_athena.conf for more information.
* Some reorganizing of pet-catching code [Skotlex]
* Now mobs will do the /ag emotion when you use a lure on them and they
can't be caught (wrong lure, or mob not in the mob_db.txt). [Skotlex]
* Fixed a timer mismatch situation with pc_walk timers [Skotlex]
* Re-structured the pc_follow_timer code [Skotlex]
* Updated the pet_heal_timer code to match behaviour with
pet_supportskill_timer's one [Skotlex]
* Added support for universal lure. [Skotlex]
Use use_script "pet 0;" to create an item that will catch any non-boss
mob (will work as long as said mob has an entry in mob_db.txt, of course)
From what I read in the code, mapping multiple entries in mob_db.txt to
the same egg_id should work, so it should be possible to have all mobs as
pets using a single egg_id item and this custom lure.
* Updated Weapon Repair from jA 1228 [celest]
* Fixed TXT char disconnecting when sent a server packet from SQL map [celest]
* Fixed login failing with md5 encryption, thanks to End_of_exam
* Fixed lock_fclose() failing in Win32 builds, thanks to End_of_exam
* Updated sql-files/mob_db.sql to match with db/mob_db.txt [Skotlex]
* Corrected Zherlthsh's and Alice's attack animation speed (mob_db.txt) [Skotlex]
sql-users can use upgrade_svn2068.sql to update table mob_db.
* Re-fixed disp_hpmeter not getting disabled when set to 0/no [Skotlex]
* Fixed Grandcross/DarkCross to do 3 hits instead of 4 [Skotlex]
* Fixed #fakename =). [Kevin]
* Tidied up and rearranged Makefile a bit [celest]
- added 'make [common/map/login/char] options' -- only for txt though ^^;
- readded sse, mmx and o3 optimisation flags (disabled by default) -- you'll
have to edit and enable them yourself
06/04
* Moved @charchangesex to #changesec *still disabled*. [Kevin]
* Fixed a major security hole in the mail system, thanks to Valaris for the info =). [Kevin]
* Moved @charsk/stpoint to #sk/stpoint. [Kevin]
* Moved @charmodel to #model. [Kevin]
* Moved @charst/skreset to #st/skreset. [Kevin]
* Re-updated sql-files/item_db.sql to use price buy/sell NULL instead of 0 [Skotlex]
The file is full of REPLACE instead of INSERT, so if you already have the
structure of the table right, you can just delete the table definition
and apply the file to update your item_db table.
* Commented out char_athena.conf. [Kevin]
* Moved @charlostskill to #lostskill. [Kevin]
* Moved @charquestskill to #questskill. [Kevin]
* status_change_start will halt silently instead of printing null_po messages
when trying to apply status effects on pets [Skotlex]
(Fixes null_po's from pets doing magnum break and who knows what other
skills)
* Moved #showexp and #showdelay to @showexp and @showdelay. [Kevin]
* Moved @charjoblvl and @charbaselvl to #joblvl and #baselvl. [Kevin]
* Readded the cloth dye packet upon-walk. Sorry about that [Skotlex]
* Fixed Party Exp Even Share [Skotlex]
* Added #fakename, due to popular demand =)[Kevin]
* Clothe dye is updated now on view_class change [Skotlex]
Most noticeable effect: Dye is not lost un unequipping a tuxedo/wedding dress.
06/03
* Updated sql-files/item_db.sql to match with the current db/item_db.txt [Skotlex]
* Added some initialization code regarding dynamic mobs during map startup. [Skotlex]
* Fixed the typo on Thief's Sling Stone quest (Zargon->Garlet) [Skotlex]
Why noone fixed this before? o.O
* Removed a piece of code that updates your cloth's dye whenever you walk.
I have been testing for a bit, and this piece of code seems unneeded, and
not only that, it causes quite a bandwidth penalty by sending
dye-changing packets every time every character walks! [Skotlex]
If you get reports that the characters are getting displayed their
default color instead of their selected dye, report it so I add back that
piece of code (but it would be best if we could do without it, it would
save quite some bandwidth).
* Some compiler fixes in older versions of GCC, thanks to esca.
* Some optimizations to petskill_use [Skotlex]
* Fixed the default max hair dye color count, it is 8, not 9 @.@ [Skotlex]
* Changed disp_hpmeter's behaviour so that you can disable it by setting it
to "no" or 0. [Skotlex]
* Fixed gm chat kick protection. [Skotlex]
* 'Tidied' a bit party_exp_share (more like restructured it). [Skotlex]
* Re-added party_idle_no_share code. When was it removed? [Skotlex]
* Added skills going damanage when PVP isn't on fix. [Kevin]
* Fixed the party-even-share bonus for large parties. [Skotlex]
* Fixed gm chat kick protect.[Kevin]
* GM of higher or equal level can use @where on another GM.[Kevin]
* Fixed @fakename command.[Kevin]
* Stopped the map-server from invoking "OnAgitStart" each time it connects
to the char server. [Skotlex]
* Modified Abracadabra code to make it work with Pet Skills [Skotlex]
(Warning: Not yet tested)
* fixed a bug with Abracadabra
06/02
* fixed compile issues on older gcc, thanks to esca [Shinomori]
* Added @size and @fakename gm commands. [Kevin]
* Added valaris's getstrlen and charisalpha functions into the script parser. [Kevin]
* Added clif_guild_xy(_remove), rest needs to be added somewhere. [Kevin]
* Fixed items lost on shutdown/crash, by valaris. [Kevin]
-Note: Was partially finished by massdriller =).
* A few things: [Kevin]
-Fixed valaris's gms can't be kicked function.
-Added battle_config option for valaris's function.
-Added battle_config option for gms can join password protected chats of valaris's .
* Moved "readme"'s and other non important files into doc/notes/ [massdriller]
* Cleanup in chat.c, party.c, storage.c [celest]
* Fixed an inconsistent message for log_chat in conf file reading [celest]
* Fixed mob class changing not checking array bounds, by Shinomori
* Fixed mob summoning slaves not checking array bounds, by Shinomori
* Updated max packets in clif.c [celest]
* Fixed some compile time warnings. [Kevin]
* Added GM chat kick protections, thanks to Valaris [massdriller]
* Added Password protection chat rooms access to gms, thanks to Valaris [massdriller]
* Fixed a couple of things in map.c, thanks to Valaris [massdriller]
* Storages now saves upon closing, thanks to Valaris [massdriller]
* exp share and added zeny share/party bonus exp thanks to Valaris [massdriller]
06/01
* Fixed Divest Shield and Divest All not able to strip shields [DracoRPG]
* Changed the default max_hitrate to 100% as specified in rodatazone [Skotlex]
* Removed the console messages printed when the script command getmapxy is
invoked [Skotlex]
* Fixed non-droppable items blocking the client from further droping
other items [Skotlex]
* Changed the default of mob_remove_delay to 5 mins [Skotlex]
* Changed the minimum mob_remove_delay to 15 secs since mobs with instant
respawn actually take 5~10 secs to respawn [Skotlex]
* Fixed again disp_hpmeter, it looks like this time it works properly. [Skotlex]
* Added Esca's fixes to make eA properly compile under Sun-OS [Skotlex]
* Tested and fixed script function getnameditem [Skotlex]
Now you can use getnameditem(item,char) to get inscribed equipment (only
works with what you can equip, arrows excluded). The item description can
be the item id or the item name, and the character can as well be the
character id or character name. Function returns 1 if successful and
the character who's name is to be inscribed HAS to be online.
* Changed the way dynamic mobs are removed. Now all mobs have are tagged as
either cached/uncached, and only those cached are removed [Skotlex]
Mob-Slaves are the only non-cached enemies that are also tagged as
cached.
* Fixed a delete_timer mismatch in pet.c [Skotlex]
* Fixed some compile time things in older versions of gcc. [Kevin]
* Removed the clif message when you can't drop items [Skotlex]
Apparently this message breaks the clients and prevents further drops of
items? Might need further testing.
* Changed AspdRate and SpeedRate bonuses so they can stack [DracoRPG]
* Added script function getnameditem [Skotlex]
syntax: getnameditem itemid, inscribed char's name
Needed at least for wedding scripts. Only works on equippable items,
returns 1 on success, always makes only 1 item.
(it should also be able to use char's id or item's name instead)
Script function proof-read but not yet tested, so it might have a bug or
two, use at your own risk for now.
* Fixed dynamic mobs removing Guardians [Skotlex]
* Fixed sql queries in logs giving an error. [Kevin]
* Fixed @memo ignoring the nomemo map flag, thanks to Maeki. [Kevin]
* Enabled an account flood protection system defaulting to 1 account every 10 seconds. [Kevin]
* Corrected dynamic mob unloading to remove slaves. [Skotlex]
* Added Maeki's fix for handling the sql connection to the log server [Skotlex]
* A reminder to people who seem to have a broken item_db (wrong item
sprites, doing nothing on click, etc): there was an update to item_db
some days ago, a new column which is used to determine refineable
items (which goes between eLv and View) The shipped item_db.txt is
already updated, but if you have custom files, you can try updating
them using the gawk line (further below this changelog) or this short
sed command (from within the db directory):
gsed -re 's/([^,]*,){16}/&,/' < item_db.txt > item_db.fix
And then replace item_db.txt with the newly created file (if ya don't
have gsed, try sed. All *nix should come with one or the other, and you
can also get it with cygwin)
* Moved the dynamic mob spawns/deletes to map_addblock/map_delblock [Skotlex]
This pretty much guarantees that mobs won't be spawned/deleted twice from
the same map.
* Added random's battle_config flag for enabling/disabling dynamic mobs [Skotlex]
Dynamic mobs is good for medium to small servers, but on large ones it
gets to be somewhat pointless.
* Fixed disp_hpmeter, I think (can't test it, but the code looks ok) [Skotlex]
* Added battle athena option mob_remove_delay [Skotlex]
Now dynamic mobs are not removed inmediately, but after some time has
passed. Default value is 60 secs
* Added debugging information about dynamic mobs [Skotlex]
Helps keep track of how many mobs are being removed/spawned, use it to
track any possible bugs! Should be removed after dynamic mobs are good
enough.
* Some changes to dynamic mob unloading to avoid remove summoned mobs and
always remove mob slaves. [Skotlex]
* Fixed a nasty pc.c bug thanks to komurka [massdriller]
* Added Sasuke's modification to allow certain gm levels to see the
hp bars [massdriller]
05/31
* Added Einbroch mobs to dead branch DB [Arutema]
* Fixed NPC Typo [Codemaster]
* Updated help.txt, fixed a compile time warning on BSD systems. [Kevin]
* @marry auto-gives named rings, removed @rings as in-needed [Arutema]
* Fixed some compilation errors in BSD systems. [Kevin]
* Restored dynamic mob cleaning to what it was a couple of nights ago
Should send the system back before all hell broke loose. [Skotlex]
* Added battle_config options min_hitrate & max_hitrate [Skotlex]
These only affect the new attack function, and th defaults are 5%-95%
* Added client-messages for when an item can't be drop/stored [Skotlex]
* Finished implementing the "optimization" item_trade.txt [Skotlex]
* Optimised the long forgotten MVP arena [massdriller]
05/30
* Rewrote the trade-add-item function, it was hella messy [Skotlex]
* Updated item_trade.txt implementation [Skotlex]
GM-override lv is still to be implemented.
Code has been reviewed, but not actually tested yet, use with caution.
* Fixed fame list first loading, at server startup [DracoRPG]
* added lordalfa's @me action command [massdriller]
* Reverted changes to dynamic mob removal, now all mobs are removed [Skotlex]
mob_remove_damaged is still respected.
* Partial implementation of item_trade.txt, not quite finished yet [Skotlex]
* Fixed mob_remove_damaged [Skotlex]
* Added two new battle_athena options: [Skotlex]
show_hp_sp_drain (yes/no): displays drained hp/sp from attacks (ie:
Hunter Fly Card)
show_hp_sp_gain (yes/no): displays gained hp/sp from killing mobs (ie:
Sky Deleter Card)
* bHPGainValue, bSPGainValue will only display gained hp/sp when said
gain is above 0. [Skotlex]
* Changed hp_dispmeter from yes/no to GM-level [Skotlex]
Note that now the default value is hp_dispmeter: 100
* Fixed item_avail.txt reading could crash on newline [celest]
* Speedup and fixed @reloaditemdb messing up inventory data [celest]
05/29
* Optimised job quests scripts [massdriller]
* Fixed guild expulsion bug, two chars on same account would be expelled. [Kevin]
* Dynamic mob unloading won't touch mobs with a deletetimer now [Skotlex]
this affects mobs scheduled to be removed (including @summon mobs)
* Dynamic mobs now also removes mobs that have a master [Skotlex]
* Fixed Knockback skills on the new attack function [Skotlex]
* Rewrote the vitality reduction equation in the new attack funcion [Skotlex]
The new equation conforms to rodatazone's information here:
http://rodatazone.simgaming.net/mechanics/substats.php#def
* Fixed item_db.txt to contain the new refinable column [Skotlex]
(I accidentally commited the old item_db last time...)
TXT users with custom items can update their custom db using gawk (*nix
or under Cygwin) this way (thanks to Sasuke):
gawk -F, '{ for (i=1; i<= NF; i++) { if (i==16) { printf $i; printf ",";printf ","; } else if ( i==NF ) { print $i; } else { printf $i; printf ","; } } }' db/item_db2.txt > item_db2.new.txt
Run it from within the root rAthena directory, and you'll get an updated
item_db2.txt in your root directory. However, all custom items are not
refineable by default this way, you still have to set to 1 the refineable
column where it applies on your custom item_db.
* Improved uptime checking, by Shinomori
* Improved calltable import/exporting, by Shinomori
* Standardised init/finalise functions' names [celest]
* Fixed SVN version display at client connection, thanks to Maeki [DracoRPG]
* Prevented Snatcher to try stealing players and already stolen mobs, thanks to shadow [DracoRPG]
* Fixed Parrying and slightly organized status_change_start [DracoRPG]
* Removed fame list update timer and made it to refresh the list everytime pc_addfame is ran [DracoRPG]
05/28
~ Name of NPC file in map_athena.conf is now scripts_main.conf
~ Added a new column to item_db.txt/item_db2.txt: refineable [Skotlex]
The column goes between equip_level and view, use upgrade_svn1863.sql
to update sql tables (including item_db2.txt). Custom item users of txt
servers will have to update manually.
When the column's value is 0, NULL (sql) or blank (txt), the item can't be
refined.
OLD ITEM_DBS WILL NOT WORK WITH THIS NEW UPDATE, update your custom
items!
* Fixed a crash bug in pet_heal_timer on timer mismatch. [Skotlex]
Thanks to Celest for noticing it out.
* Fixed the critical attacks bug in the new attack function. [Skotlex]
* Added MassDriller's updated readme.html files. [committed by Skotlex]
* Fixed script_athena.conf reading of "event_requires_trigger". [Skotlex]
It was looking for "require_set_trigger" instead of
"event_requires_trigger", which effectively ignored the
event_require_trigger's value. Logout events should now be usable without
the need of a global variable.
* Registered all used timer functions to help debugging [celest]
* Added -DMINICORE to compile core.c (for converters and ladmin) [celest]
* Removed most unused code and files in char and login converters [celest]
* Moved converters to /txt-converters [celest]
* Some tidying up in core and socket.c [celest]
* Fixed a bug in the new attack function dealing with dual-wielding [Skotlex]
05/27
* Removed YET AGAIN the mob's skill_idle_flag function. [Skotlex]
Komurka updated the mob_skill_db so that it is not needed anymore.
* Modified the critical equation on the new attack function [Skotlex]
The original equation ((1 + LUK*0.3 + EquipmentBonuses) * CritModifier -
TargetLuk/5) was meant for official servers, where mobs don't do
criticals. If applied to mobs, they get very high critical rate, so the
luk reduction was bumped up to TargetLuk*3/10 on situations where a player
is targeted by a mob.
* Re-Applied the idle_skill_flag [Skotlex]
It was removed because people said it was broken, however it works
exactly the way Komurka explained it to me:
A mob can cast only one idle skill, and can't do another one until it
moves. If the mob casts too many idle skills because it
casts/moves/casts, then increase the skill's delay in the database! If it
still does "not works", drop me a line explaining why, because it works
exactly as I was told it should.
* Small adjustment of the critical equation in the new attack function [Skotlex]
* Fixed some crashes related to pet skills and timers [Skotlex]
* Fixed 1 delete_timer error with pc_stopwalking [celest]
05/26
* Tidied up mob.c and map.c a bit [celest]
* Removed rehash() in atcommand.c [celest]
* Fixed @reloadscript issue with dynamic mobs [celest]
* Added flush fifos first before reloading in @reloadscript [celest]
* Added spawn mobs with 1 second delay instead if moblist is full, by Shinomori
* Fixed wrong name saved when adding friends, thanks to Maeki
* Fixed itemhealrate stackable, thanks to starlon
* Set the new_attack_function to be used by default. [Skotlex]
This function replaces the three previously used functions (pc/mob/pet)
into a single one which was rewritten to follow the attack algorythm as
described in http://rodatazone.simgaming.net/mechanics/attacks.php
Please report any inconsistencies or strange behaviour that this new
function brings (only affects physical attacks/skills) on the boards.
If anyone can do some performance comparisons with the old method, that'd
be useful too.
If you absolutely don't want to test it and prefer the old method, in
battle_athena.conf add a line that goes:
new_attack_function: no
05/25
* Fixed typos in Absorb Spirits, Double Casting and Tarot Card, thanks to Komurka
and Avaj
* Added missing code for Flasher, thanks to Komurka
* Fixed a string bug in grfio_resnametable [celest]
* Updated the readme files to the current statistics. [Mass Zero]
05/24
* Added 'make addons' -- plugins will not be compiled by default now [celest]
* Ported uptime logging function to rAthena plugin [celest]
* Ported pid file creation function to rAthena plugin [celest]
* Ported stackdump creation function to rAthena plugin [celest]
* Added capability to export to plugins [celest]
* Fixed ensemble skills, thanks to Komurka
* Fixed Dissonance damage, thanks to shadow
* Reverted db/pet_db.txt to it's original form. [Skotlex]
The pet skills shipped with eA should be as close as possible to the
original servers. If you prefer the current custom skills in place just don't
update the pet_db.txt file.
` (Somehow my custom pet skills table got updated to svn and I didn't notice
it ^^')
05/23
* Fixed a few problems wit Dynamic Mobs [Wizputer]
Increased max mobs per map from 32 -> 128
Fix mob unloading
Special Mobs w/ Spawn delays are exempted (MVPs, Gaurdians, Branches, and summoned)
Added Option for damaged mobs not to be removed in battle config ( Default yes )
* Mob count in scripts returned 1 less then it was supposed to. [Kevin]
* Updated tool/stackdump script to support eA's own stackdumps [celest]
- Type ./stackdump help to check
* Changed mob_cleanup_sub simply to cleanup_sub [celest]
* Fixed some memory leaks with dynamic mobs [celest]
-- notes: Check bugs.txt
* Fixed some compile warnings in gcc 4.0 [celest]
05/22
* Added Jbain's server restarter bat files. [massdriller]
* Drastically Improved Memory usage by making mobs dynamic [Wizputer]
Mobs load only when a PC is present on the map
Mobs that have special spawn delays are not loaded/unloaded
( Reduced memory usage by 60% for 419 Maps )
* FIFO size fixes [Shinomori]
* Fame point system now uses pc_addfame [DracoRPG]
* Added support for new NPC sprites in @disguise, thanks to akusarujin [DracoRPG]
* CharSQL: changed the init / login connection issue, now 'online'
players will be set offline in login @ start / login reconnect [Sirius]
05/19
* Fixed displaying new when char_new is set to one and changed the option to char_new_display. [Kevin]
* Fixed mysql fix. [Kevin]
* Fixed a previous fix with pet idle skills, needs db update not hard coding. [Kevin]
* Fixed mysql queries to support the following: [Kevin]
-Names now support the ' character
-Runs faster because querying string fields doesn't do strlen.
-Debug option to revert back to old debug queries, will disable the support of the two above.
* Added No Dead Branching Mapflags in cities [massdriller]
* Fixed Asura Strike to need only 1 spiritball if used after Chain Crush [celest]
* Added Asura Strike can be chained after Tiger Fist [celest]
05/18
* Fixed up character creation, txt supports three status error and char_new is now enabled. [Kevin]
* CharSQL: fixed the Delete Char issue, now it's using the sd->email instead if the sql email [Sirius]
* Removed status points adding can be limited via gm level [celest]
* Removed double clean up when char server disconnects from map [celest]
* Removed 'mysql_real_escape_string' usage in SQL char until it'll no longer cause
crashes [celest]
* Added signal handler for SIGXFSZ [celest]
* Fixed some compile errors [celest]
* Fixed broken status changes [celest]
* Fixed Max Overthrust not working [celest]
05/17
* Fixed null pointer in map.c. [Kevin]
* Fixed on a compile time error in status.c/h [Kevin]
* Fixed an invalid pointer in clif.c [Kevin]
* Removed 'Agi Up' visual effect from Berserk [DracoRPG]
* Tidied up npc.c a bit [celest]
* Added crash check in SQL char creation [celest]
* Changed Marionette Control's inf type [celest]
* Added infinite emperium/guardian hp fix, thanks to random
05/16
* Fixed a slightly large inefficiency and bug in clif_foreachclient thanks to Sasuke-! [Kevin]
* Fixed a bug in minimap thanks to Komurka. [Kevin]
* Added mysql_real_escape_string() while creating a new character
- Might fix a few character names if you have no restrictions [Codemaster]
* Fixed 'rudeattacked' skill condition, thanks to Komurka
* Replaced zlib_win32.h and zconf_win32.h with the v1.2.2 files in /zlib [celest]
* Ported zlib.dll loading to rAthena plugin form [celest]
* Fixed some NPC skills acquirable by @allskill [celest]
* Merged sigpipe's handler with sig_proc [celest]
* Optimised timer.c a bit (partially from Shinomori's changes) [celest]
* Fixed up some more null pointers. [Kevin]
* Added Chat-Logging (for Whisper, Party and GuildChat!) [Sirius]
- Sql Log Users please upgrade: sql-files/upgrade_svn1759.sql
05/15
* Minor bug fix by NSSTrunks
* Added Shinomori's MakeWord, MakeDWord and GetWord functions to split a 'long' into
'short' & assemble 'short' into 'long', used for produced items and pet eggs [DracoRPG]
* Fixed famous player's produced items not giving bonuses if the producer had a too long
character ID (exceeding 'short' capacity and then stored both in card2 and 3) [DracoRPG]
* Added gm command symbol checks for atcommand/charcommand.c, thanks to akusarujin
* Added valid session check in clif_additem, thanks to Sasuke
* Fixed a heavy memory leak with the Memory Manager, by Shinomori
* Fixed a memory leak with empty scripts, by Shinomori
* Removed npc unloading via npcname_db finalising -- fixes some wild frees [celest]
* Fixed monsters' attacked_count never cleared if it successfully casts a skill
from 'rudeattacked' condition [celest]
* Fixed some NPC skills can be copied by Plagiarism [celest]
* Changed Enchant D.Poison's poisoning effect to not work on bosses instead of
damage bonus [celest]
* Fixed an item dupe bug, very rare occasions [Kevin]
* Tidied up pc.c [celest]
* Fixed some wild frees from npc unloading at shutdown [celest]
* Changed Make Arrow to not display equipped items as material choices [celest]
* Removed 'make_arrow_flag' -- use 'produce_flag' instead [celest]
* Fixed equip breaking bug in pc.c. [Kevin]
* Fixed alot of null pointers thanks to Sasuke-. [Kevin]
* Set default in battle_athena.conf of player_skillup_limit to yes. [Kevin]
* Extended hide_gm_session to @where [Kevin]
* Fixed a guild exp overflow bug in guild.c & int_guild.c[Kevin]
* new command @iteminfo item_name/id (@ii). It works, but will be improved [Lupus]
* added all known mapflags into @mapinfo command. Rearranged output [Lupus]
05/14
* Simplified @cleanmap [celest]
* Fixed finalizing clean up could miss 1 map [celest]
* Added placeholder code for NPC_EMOTION_ON [celest]
* Fixed damage bonuses (damage_rate) not working for normal attacks [celest]
* Fixed Concentration (again ^^; ), thanks to lordalfa
* Fixed base file name sometimes not retrieved properly in core [celest]
* Removed "memwatch.h" includes for all source files other than malloc.h -- only
1 define is enough [celest]
* Fixed wrong packet for 01-10aSakexe's UseSkillToPos [celest]
* Skip rearranging large memory blocks while cleaning up on memory manager
shutdown [celest]
* Updated the guild aura skills -- gives +1 stat per level, and runs a bit
faster [celest]
* Fixed broken Marionette Control -- changed to clowns/gypsies that are under
marionette will not be able to use the skill [celest]
* Fixed Absorb Spirits working on boss-type monsters [celest]
* Fixed Body Relocation hiding when used by monsters [celest]
* You can only use mute commands when the system is enabled. [Kevin]
* Fixed a guild bug in inif_guild_leave in intif.c, would expel are characters on an account [Kevin]
* Added new mapflags (mainly for fixing jobquests abuse and arenas) by Lorky, fixed added by [Lupus]
- noexp - on killing a monster you don't obtain both Base and Job EXP at all (including MVP EXP bonus)
- nobaseexp - on killing a monster you don't obtain Base EXP at all (including MVP EXP bonus)
- nojobexp - on killing a monster you don't obtain Job EXP at all (including MVP EXP bonus)
nobaseexp+nojobexp=noexp
in other words, 'noexp' set both mapflags 'nobaseexp' and 'nojobexp'
- noloot - on killing ANY monster you get no loot at all
- nomobloot - on killing a common monster you get no loot at all
- nomvploot - on killing a MVP monster you get no MVP loot at all
nomobloot+nomvploot=noloot
in other words, 'noloot' set both mapflags 'nomobloot' and 'nomvploot'
05/12
* Very very very strong weapons (forged with 3 Star Crumbs) now give +40 dmg
instead of +15 dmg [DracoRPG]
* Weapons/potions made by a top-10 famous player now give bonus effects [DracoRPG]
* Updated the battle.c change made to generate compile time
errors if you put the wrong battle_config option with the
wrong type into the wrong place [MouseJstr]
* Added item type 11 into LOGs filter [Lupus]
* Removed mob_skill_use, if you don't want mobskills, set mob_skill_rate to
zero [Skotlex]
* Modified drops_by_luk behaviour. See battle_athena.conf for details [Skotlex]
The new system works a lot like Diablo 2, where having 100% better chance
of finding items means that you basicly get double drop rates than others.
* Implemented pet idle skills restrictions as explained by Komurka [Skotlex]
From what I was told, a mob can only cast a skill while in idle state
once, and it needs to move before it can do another idle-state skill.
* Tested and fixed wedding_ignorepalette, it now works as it should [Skotlex]
* Tested the new item type 11. I forgot to add the code for the sql
version, but that's now fixed and the new system works as it should [Skotlex]
* Put a fix in for the bug mentioned below [MouseJstr]
* Added code to make min_hair_style, max_hair_style, min_hair_color,
max_hair_color, min_cloth_color, max_cloth_color work [Skotlex]
What it does, is cap the values whenever you try to change the
character's dye via an npc/script, it won't touch character's dye colors
upon loading.
* Shrinked @mapinfo output, added 2 missing flags NOWARP / NOWARPTO [Lupus]
* New item type (11) to item_db: delay-consumed usables. [Skotlex]
. All items that have in their script "pet" or "itemskill" must be changed
from type 2 to 11. The new type of item has the property of not being
consumed on double click, but after a target is selected (hence it is
ideal for lures, skill-casting items and the yggdrasil leaf)
The item_db.txt file was updated to reflect these changes. Custom pet
lure owners, update!
SQL users can run upgrade_svn1705.sql which will upgrade both item
databases (including all custom lures)
* Added battle config option 'ignore_items_gender'. [Lupus]
So any player can equip any item regardless of the gender restrictions.
Note: It's ignored by default since gender check isn't implemented at
official servers.
There are 2 exceptions: Wedding Ring M/ Wedding Ring F (their gender check
won't be affected)
05/11
* Added by popular demand battle config options mob_skill_rate &
mob_skill_delay. See battle_athena.conf for further information. [Skotlex]
* Added battle config option wedding_ignorepalette (default no)
When enabled, the wedding dress/tux will always display with the default
dye (not all palette packs bring palettes for the wedding class, nor
they should) (Needs testing)
* Changed most battle_athena options to unsigned short. This means the
maximum valid value is around 60K (65535 on most systems) which
translates to ~60 secs or 600% (600x) for most options. See
conf-tmpl/battle_athena.conf for details on which variables were
excluded (exp/drop rates values are excluded, obviously).
* Removed boss warping code since it is currently supported by the mob skill DB
'rudeattacked' state [celest]
* Fixed plagiarised skills replacing actual learnt skills [celest]
* Fixed 'gmcommand' script command crashing when no players are attached [celest]
... which means the command does not work in script events like OnClock!
05/10
* Added code to prevent pet lures from being wasted until after selecting a
target (only works with official lures). [Skotlex]
* Added MAX_REFINE to status.h [Skotlex]
Enables for custom max refine levels using the success rates in
refine_db.txt, npcs will know they reached the max level when the success
chance returns 0. (npcs still need updating to support this model)
- Note: Whitesmith's refinery skill might need to be tweaked if you want
them to be able to forge above lv10 and up to whatever custom max you
wish.
- Note2: Npc's refine_sucess script command ignores this max.
* Skill updates [celest]
- Fixed Charge Arrow not requiring bows
- Fixed Enchant Deadly Poison working on bosses
- Fixed Concentration (again! xD) def penalty, thanks to UniRing
- Added code for NPC_REVENGE
* Added 'masterattacked' mob skill condition [celest]
* Added battle_config.use_statpoint_table [Skotlex]
When set to no, a new equation is used to calculate stat points after a
reset. I've tested the equation to death, so it should work flawlessly.
Advantages of using the equation: No need for statpoint.txt (it is still
read for the time being), and stat changes through npc buyers/sellers are
preserved after a reset.
* Restructured clif_parse_Wanttoconnection [celest]
* Fixed packet version detecting not working properly if last version's connection
packet is the same as the DB but with different values [celest]
* Added built-in support for 2005-05-09aSakexe and changed 'packet_ver_flag'
default in battle conf to 511 [celest]
* Added load local resnametables.txt into memory instead of opening and reading
it every time we look for a file [celest]
* Fixed crash if resnametables.txt was not found in a grf [celest]
* Removed some unnecessary steps in grf file lists loading [celest]
* Added display_hallucination for clients where the effect lags badly [Skotlex]
* Added the battle_config options for managing the pet-skills system [Skotlex]
* Incorporated the new pet attack/skill system. [Skotlex]
See db/pet_db.txt for explanation, or visit
http://www.eathena.deltaanime.net/board/index.php?showtopic=29918 for
details and support.
* Fixed Marionette skill. Now you can't target other Clowns or Gypsies [Lupus]
* Fixed all Hunters traps to affect Players in PVP/GVG places only. [Lupus]
And Shockwave Trap doesn't work on monsters, because they don't have SP
05/09
~ Added sql_files/upgrade_svn1665.sql to update hair, hair colour and clothes
colours' field format (thanks to Zoc)
* Updated char creation to support 24 hairstyles (from 5/10's patch) [celest]
* Fixed broken stats check during SQL char creation, thanks to Sasuke
* Removed an unnecessary check in plugins loading, thanks to Shinomori
* Changed grfio_read + grfio_size usage to grfio_reads() -- a bit faster [celest]
* Moved the win32 zlib .h files from /lib to /zlib [celest]
* Moved 'afm_dir' setting to map_athena.conf [celest]
* Moved grfio.c from /common to /map [celest]
* Changed grf-files.txt loading: [celest]
~ 'data/sdata/adata' loading will still be supported, but is replaced with
grf: <path to grf or gpf file>
To load extra GRFs (if you have custom ones for your server for example,
or to load weekly kRO gpf's) just add as many 'grf' commands as you want
* Tidied up grfio.c a bit [celest]
* Added FULLY updated mobs skills DB by Komurka (up to Aegis Zone 8.5) [Lupus]
* added a packet to remove maps of other servers [Sirius]
05/08
* documented the packetlentable of chrif [Sirius]
* fixed crash in clif_joinchatok [veider]
* Optimising 2 party queries in SQL char, thanks to Zoc
* Fixed a typo in SQL party saving, sorry ^^; [celest]
* Fixed compile errors in login and char converters [celest]
* Fixed ensemble skills and Benedictio, thanks to shaeh and massdriller
* Fixed typo in Concentration's hit bonus, thanks to UniRing
* Added additional hit bonus for Weapon Research [celest]
* Fixed a missing check in Absorb Spirits [celest]
* Made Meteor Assault cause Bleeding effect too. According the skill desc, it causes all effects
to ANY enemy by chance now. [Lupus]
* Typos and grammatical fixes in various files [DracoRPG]
* Changed Hair style, Hair & Clothes colors fields to unsigned to allow use of 255 palettes [DracoRPG]
* Enhanced @send to allow use of 20 additionnal arguments after the packet identifier [DracoRPG]
* ATK % bonuses provided by Power-Thrust (and similar skills) and attack skills now add instead of multiplicating [DracoRPG]
* Added sd->right_weapon and sd->left_weapon structs to store all weapon-specific values like watk [DracoRPG]
* Added pc_istop10fame function [DracoRPG]
05/07
* Fixed plagiarised skills not updated when hit by different skill level [celest]
* Added server type will be set in the core earlier -- Fixes some plugins cannot
loaded if called before the server finished initialising [celest]
* Added high priority plugins (explicitly set in conf file) will not be unloaded
even if incompatible [celest]
* Added 'DLL_Test' plugin event [celest]
* Ported the upnp feature to eA plugin form [celest]
* massdriller's npc update, fixing SIGPIPE in core and SunOS additions to makefile [Shinomori]
05/06
* Dev's pls take a look to Dev/mmo_change_report.txt [Sirius]
* Fixed build issue under linux machines [MouseJstr]
* Fixed possible stat exploit in char_sql, thanks WoWer [veider]
* Fixed compilation warnings on NetBSD [veider]
* Adding unequip script command, tnx to Spectre [Shinomori]
05/04
* Fixed monsters can't use Heal/Potion Pitcher when hidden, thanks to Komurka
* Documented the sample plugin source a bit [celest]
* Added sample plugin 'sample.dll' [celest]
* Finished plugin events system [celest]
* Finished plugin loading system [celest]
* Added Shinomori's findfile function [celest]
05/02
* Tidied up pc and mob counttargetted code [celest]
* Updated fame lists to display offline characters' names properly, and
* Changed char server to send char id instead of account id in fame lists, thanks
to Sara-chan
* Fixed a mistake in the friends list code [celest]
* Fixed friend's names not sent properly [celest]
* Changed Concentration's hit bonus, thanks to ShAPoNe
05/01
~ Added sql_files/upgrade_svn1623.sql to update item_db2's format, and mob stats
in mob_db to unsigned int (thanks to Zoc, Wallex and akusarujin)
* Added item_db2 and mob_db2 reading for SQL map, thanks to sbilly
* Added new mob skills -- could be inaccurate though ^^; [celest]
* Added proper support for script functions with no parameters, thanks to Wallex
i.e getrefine() instead of getrefine(0)
* Removed 'skill failed' message for Frost Diver [celest]
* Moved Lullaby and Dissonance effect code to skill_onplace_timer [celest]
* Updated some skill id's to fit in a few new mob skills (not coded yet) [celest]
* Increased mob skills using base chance to 1/1000 instead of 1/10000, and monster
delay base rate to 1/100 instead of 1/400, thanks to Komurka
* Fixed players able to request trade with gm's even if gm_can_drop_lv was set,
thanks to Komurka
04/29
* fd checks in send/recv fifo, thanks to Sasuke [Shinomori]
* Restructured malloc.h / malloc.c a bit [celest]
* Fixed a memory leak in console [celest]
* Fixed console to be compatible with the dummy socket [celest]
* Fixed TXT login and map not shutdown cleanly if exitting by console [celest]
* Changed Spiral Pierce's effect to stop movement instead of stun [celest]
* Fixed Chase Walk to properly add a STR bonus [celest]
* Added effect for Tarot Card [celest]
* Cleaned up clif_specialeffect [celest]
* Added hidden gm's will not show warp effect when logging off, and will return
'target character not logged in' when /exall is on, thanks to starlon
* Fixed non-movable monsters moving if they're blind [celest]
* Added boss-type monsters will auto teleport when 'rude-attacked' [celest]
-- note: Just a temporary fix, the mob skill db still needs updating
* Added boss-type monsters cannot be knocked back by skills, thanks to Komurka
04/28
* Fixed a bot trading hack [celest]
* 'isequipped' will now 'tag' items that are used in its set, so a 2nd set will
not be able to use items from the 1st set [celest]
* Changed bAddItemHealRate to be based on total hp healed including vit bonuses
instead of base hp [celest]
* Tweaked skill casting time and delay logic again [celest]
* Fixed another typo in bAutospell, thanks to Komurka [celest]
04/27
* Updated friend list functions, much thanks to Tsusai / Fusion!
* Added packet for a divorce notice ("<your name> has divorced with <your spouse>
name>") [celest]
* Added packet for /pvpinfo (only usable in pvp maps) [celest]
* Added display for /blacksmith and /alchemist [celest]
-- To-do: Offline characters won't have their name displayed properly yet
* Added display when blacksmiths and alchemists gain fame points [celest]
* Fixed talkie box not working when packet DB is enabled [celest]
* Removed redundant monk() and parse_SkillMessage in clif.c [celest]
* Updated @send to check send lengths from packet_db [celest]
* Fixed @mutearea's time always set to 15 minutes [celest]
* Fixed a typo in the bAutospell's, thanks to Komurka
* Reverted a setting in skill casting time calculating [celest]
* Fixed Gravitation not affecting enemies, and ignore element modifiers [celest]
* Added 'bSPLossRate' effect [celest]
04/26
* Added @load/unloadnpc [celest]
usage: @loadnpc <path to script file, i.e npc/other/test.txt>,
@unloadnpc <NPC name>
* Changed @enable/disablenpc to @show/hidenpc [celest]
-- Note: the script commands 'enable/disablenpc' arent affected
* Updated max packet to 0x234 for 205-04-25aSakexe [celest]
* Added cannot use warps when hidden/cloaked [celest]
* Re-fixed an exp overflow bug and raised cap to 2bil [celest]
* Added some more of kRO's 04/26 patch [celest]
* Fixed a crash in stripping skills [celest]
* Tidied up battle.c a bit [celest]
* Added Devotion's effects will be lost if changed map/teleported [celest]
* Added bDoubleRate effects can stack with Double Attack [celest]
* Added support to have up to 20 autocast skills from cards [celest]
* Applied new advanced skills changes from 4/26 patch [DracoRPG]
I could not do everything, things remaining to do :
- Alter Double Casting success rate (did not find the code... is there one ? xD)
- Check that all songs/dances/duets are uncancelable by Dispell
- Make Wand of Hermod affect only party/guild members (and check for a warp portal !)
04/25
* Further improvements on stripping/breaking + added support for targeting mobs with strip skills [DracoRPG]
* Added fd check to clif_additem [celest]
* Optimised weapon stripping/breaking a bit -- skip searching from the item DB
everything we call this [celest]
* Fixed a possible crash when adding timer function strings [celest]
* Tidied up skill casting time calculating a bit + Fixed a possible bad
setting when dex > 'castrate_dex_scale', thanks to phabyo [celest]
* Changed skill unit group checks in status_change_timer a bit [celest]
* Fixed possible sql injection with SQL gm command logging, thanks to starlon [celest]
04/24
* Work on skills [DracoRPG]
- Cleanup in skill.c, added missing guild skills and switched all names to iRO ones in skill names list
- Fixed typo in a guild skill name : GD_KAFRACONTACT -> GD_KAFRACONTRACT
- Entirely rewrote equipment stripping/breaking so that stripping/breaking weapon will affect BOTH weapons of
a dual wielding Assassin, and that stripping/breaking shield won't affect two-handed or left-hand weapons
* Pets can't attack Guardians and Emperium, WoE or not !! [DracoRPG]
* Replaced autospell_type and autospell2_type with a simpler way to save auto-
casting [celest] + Fixed a typo, thanks to Landarma
* Fixed a typo in socket timeout messages [celest]
04/23
* Fixed not working PVPOFF in scripts. [Lupus]
Due to the bug it could work only on maps with NOPVP flag.
* Added item produce pentlty to Baby Class [Lupus]
Comparing with common classes, Baby Alchemist/Blacksmith have 20% less chance of successful item making.
04/22
* Fix main.sql to include the fields that are in the
upgrade files [MouseJstr]
* Added bonus4 support for bAutoSpelll [celest]
* Fixed Cast Cancel [celest]
* Fixed compile error in log.c -- had to remove the 'Log refined items' option
in log config [celest]
* Fixed plagariased skills not cleaned up properly when copying another new skill,
and corrected copying skill level [celest]
* Added Spiral Pierce ignores defense, thanks to Komurka
* Added base code for PK/Karma system (not completed) [celest]
- Added equipment drop based on alignment (not enabled yet)
- Added alignment shift after PK (not enabled yet)
- Added 5 minute silenced status PK penalty
* Added @packetmode (for debug only) [celest]
* Added clif_gm_silence to clif.c and rearranged ReqNoChat abit [celest]
* Added damage reduction in PK mode [celest]
* Added /memo cannot be used when dead [celest]
* Added bonus2 support for bAddMonsterDropItem [celest]
* Added db/item_group_db.txt [celest]
* Added bAddMonsterDropItemGroup [celest]
~ check doc/item_bonus.txt
* Fixed bCriticalAddRace giving too little increments [celest]
* Fixed Ruwach revealing Chasewalking players [DracoRPG]
* Changed equipment breaking to 'on' by default [DracoRPG]
04/21
* Fixed a typo in mobs skills checking [celest]
04/20
* Fixed a few item errors with callfunc("Is_Merc_Class") (not checking if it returned 0)
* Changed a bad mistake in map cache configuration (swap between compressed and uncompressed options) [DracoRPG]
-> Check this !! using '1' you can get a 1MB mapinfo with all 450 maps inside !!
* Added Intravision vars and all the stuff, but not the code (for Maya Purple Card) [DracoRPG]
* Fixed memory leak in @reloadmobdb [celest]
* Fixed logging settings reset to default after reading the conf file [celest]
* Added support for 'masterhpltmaxrate' condition in the mob skill db [celest]
* Fixed Ruwach not dealing damage to revealed players/mobs [DracoRPG]
04/19
* Fixed insert like item as card hack. [Ancyker]
* Fixed adoption script [Codemaster]
* Simplified @day and @night [celest]
* Added script command 'adopt', 'day' and 'night' [celest]
* Refixed the 'gtb_pvp_only' option, thanks to Zoc
* Added Baby Class support to all renters, job quests, etc [Lupus]
* Added UPnP plugin (will only load in Windows XP) [celest]
- if everything loads successfully you should get a "Firewall port xxx
successfully opened" and "Upnp mappings successfull" for each server.
If it doesn't, either your router has it turned off or doesn't support it
- Go here for the debug version and source code:
http://svn2.stormbirds.org:8080/svn/ea/devel/Celest/addons/upnp/
* Added extra info in 'goto' and 'if' script errors [celest]
* Added new mapflag 'gvg_dungeon' -- Same as GvG, but doesn't show simplified
effects for the client [celest]
* Fixed blind mobs can still follow out-of-range attackers [celest]
* Support for /blacksmith and /alchemist commands (doesn't do anything yet)
* Added allow gm levels for the /[str/agi/..]+ commands to be set in atcommand
config -- set to 0 by default [celest]
04/18
* Fixed exp overflow in mob.c and guild.c [celest]
* Allow gm's to drop/trade limited items (i.e wedding rings) [celest]
* Fixed super novices' guardian angel couldn't be summoned because the message
was uncapitalised (yep you need to follow the caps too ^^) [celest]
* Fixed wrong EXP table usage / Max possible Job Level calculation of BABY CLASS [Lupus]
* Some changes to @send and @packet [celest]
* Fixed a crash in @adjcmdlvl [celest]
04/17
* Corrected Strip skills rates [DracoRPG]
* Moved timer and db finalising to core.c [celest]
* Fixed a typo that was causing crashes from blind monsters [celest]
* Added reset all character's status to offline when map disconnects from char
(TXT) [celest]
* Fixed Tarot Card damage not showing, and the Lover Card to warp the caster
instead of target [celest]
* Fixed ground-targetting skills usable with Blade Stop on [celest]
* Started implementing Baby Class compatibility for items / job quests,
some optimizations due to usage of BaseJob [Lupus]
04/16
* Fixed Frost Joke and Scream working on dead characters, and set them to not
affect hidden GM's [celest]
* Added support for 'rudeattacked' condition in the mob skill db [celest]
* Added blind monsters will try and move to its attacker's position [celest]
* Added monsters will try and escape if attacked but cannot retaliate
(a 'rude attack') [celest]
* Added a crash check in mob skill casting [celest]
* Adding support for Fusion AF2 maps (not finished) [celest]
* Added more correct Einbroch/Einbech monster spawn [Lupus]
04/15
* Fixed building under FreeBSD [MouseJstr]
* Shield Chain and Acid Demonstration should now display damage properly [celest]
* Fixed memory leak when an npc with no maps defined is loaded [celest]
* Changed default mem manager log path to "log/[server name].leaks" [celest]
04/14
* The display of account/character IDs is now a setting in battle_athena [Ancyker]
* Allow married couples to exchange normally untradeable rings with each other
* Finished adding saving character online/offline for TXT char and login [celest]
* Added save guild storage as well when auto saving characters to prevent duping
if the server crashes, by End_of_exam / jA 1064
* Moved Meditatio's effect back to status calculation [celest]
* Updated the fame list sending between char and map to separate blacksmiths
and alchemists [celest]
* Added 'setcell' support in scripts. Usage:
[map name]tab[cell type],[x0,y0,x1,y1]
* Added REGEN cell (0x20) [celest]
* Fixed a memory leak in SQL login [celest]
* Made display version on login settable in battle_athena. [Ancyker]
04/13
* Removed Quagmire cancelling Crazy Uproar (Lord Exclamation) [DracoRPG]
* Corrected Song of Lutie (Apple of Idun) healing [DracoRPG]
* Moved server type info to version.h
* Added dumping svn revision or Athena version when saving stacktrace
* Added auto disable built-in stacktrace in Cygwin if 'error_start' is already
set in the environment, thanks to Ser
* Display a more appropriate message if items are not allowed in trading
* Implemented Longing for Freedom (roughly), Wand of Hermod, Gravitation and
Gambatein (14 of 14 skills done! Please post any problems, since they're done
mostly in a rush ^^; ) [celest]
* Added -1 skill id checks [celest]
* Fixed event timers crashing when freeing memory [celest]
* Fixed sage enchanting skills using up gems even if it failed [celest]
04/12
* Fixes and updates [DracoRPG]
- Fixed Cart Boost speed bonus being not removed when the skill ended (missing calc_flag)
- Lv4 weapons don't give fame point anymore when upgraded to +10
- Axes and Maces can't be broken
* Added checks in event timers from crashing when freeing memory [celest]
* Implemented Acid Demonstration, fixed Double Casting [celest]
(10 of 14 skills roughly done)
* Implemented Double Casting, finished Tarot Card effects [celest]
* Overhaul on status changes' numbering -- some statuses will show icons now
* Implemented Mana Regeneration, Shield Chain, Plant Cultivation, Cart
Termination, Max Overthrust and Tarot Card [celest]
~ To get the new skills you need 2005-04-11aSakexe!
* Enable cards to be stolen with level 5, thanks to Ishizu-chan
04/11
~ Please upgrade your SQL char DB with /sql-files/upgrade_svn1499.sql
to accomodate Fame saving!
* Fixed AC_DOUBLE and AC_SHOWER cast delays according to kRO Patch - 6/29/04
they both have 0.1 sec cast delay thanks to Moraddin
* Added SQL DB compatibility testing upon SQL char server startup -- now it
will not run if any important fields are missing [celest]
* Added sending list of characters with highest fame for TXT and SQL [celest]
* Added saving of fame for TXT and SQL [celest]
* Added saving of plagiarised skills for rogues [celest]
* Corrected heal and max hp bonus for Apple of Idun [celest]
* Added /tool/stackdump for Cygwin users to debug .stackdump files.
Usage: ./stackdump [map/char/login] [sql]
* Removed set_termfunc usage in char and login servers [celest]
* Card fix - owl_duke_card should cast Imposito manus on self, not on
enemy, wind_ghost_card should cast jupiter thunder level 10, not
Sight level 10 [veider]
* Finished coding fame point gain [DracoRPG]
* Fixed crash in clif_guild_memberlist not checking sd->fd could be NULL [veider]
* Fixed Punk card giving Sight (10) level 5 instead of Quagmarine (92)
level 5 [veider]
04/10
* Performance improvements (currently protected with -DTURBO) to
common/socket.c for very large servers (500+ users) [MouseJstr]
* Fixed a warning in npc.c, started implementing fame point system [DracoRPG]
* Added fix for "bad setting of guild members", thanks to Alex14
* Fixed a bad typo in 'disp_hpmeter', thanks to starlon again ^^;
* Fixed Bleeding and Poisoned status continueing even after death [celest]
* Updated bleeding effect for Acid Terror, Head Crush and Pressure [celest]
* Fixed 'make converters' not working in clean builds [celest]
* Added capability for Mem manager to clean up ALL unfreed memory on shutdown.
Leaks will still be reported [celest]
* Added enable jA's MALLOC_DBN in db.c by default [celest]
* Fixed compile error caused by strerror_r() [veider]
04/09
* We now can come up and shutdown leak free.. thanks go to celest for
assisting me in this long and painful quest [MouseJstr]
* hitting Control-C three times causes a instant shutdown without any
cleanup [MouseJstr]
* Fixed a NPC memory leak [MouseJstr]
* Added Einbroch to @go [DracoRPG]
* Fixed a NPC memory leak [MouseJstr]
* Added lower level gm's shouldn't be able to see higher level gm's with the
'disp_hpmeter' option -- thanks to starlon
* Added 'make converters' -- compiled converters will go under
/tool [celest]
* Fixed Weapon Refine not checking if the item type is refineable [celest]
* Improved checking if items can be dropped, traded, refined or stored [celest]
* Fixed a bug in SQL char.c, thanks to Alex14
* Fixed some compile errors in the core [celest]
* Fixed compile errors when Mem manager is enabled [celest]
* Added Einbroch monsters spawn, fixed one mapflag for Einnech mines [Lupus]
04/08
* Changed how signals shut the process down so that we were
not doing work in a signal handling thread but instead on
the main thread.. which is important due to the limited
stack size of a signal thread. [MouseJstr]
* Eliminated the use of atexit() so that we could control
the order objects were destroyed in as well as make
high end debuggers happier about what we were doing after
exit. [MouseJstr]
* Fixed a bug in do_final_npc() that was hanging
shutdown [MouseJstr]
* Fixed use of deprecated strerror in common/lock.c [MouseJstr]
* Fixed buffer read-overflow in mail system in char/char.c [MouseJstr]
* Fixed msg_table definition mismatch in map server [MouseJstr]
* Fixed memory leak when doubly allocating the scriptlabel_db [MouseJstr]
* Fixed two uninitialized memory reads in map/skill.c [MouseJstr]
* Fixed memory leak when accessing AFM files in map/map.c [MouseJstr]
* Changed default limit for MaxHP/SP from 32500 to 1M in battle_athena.conf [DracoRPG]
(this is because with Berserk and Tao Gunka Card, players can go up to 100k+ HP)
* Added 'delay_battle_damage' [celest]
* Fixed @kamib not working properly, thanks to maldersoft
* Fixed compile warnings in pc.c [MouseJstr]
* Fixed a crash in clif_send when sending messages to guild
members [MouseJstr]
* Added @shuffle map, @shuffle area, @shuffle world [MouseJstr]
* Added @mutearea [MouseJstr]
* Readded setting of sd->skilllv, sd->skillid to skill_use_id
caused skill failures for BARD/DANCER combo skills [veider]
* Changed how get_svn_revision() is implemented to compile the actual
constant into the executable. [MouseJstr]
* Replaced some printf's in the core with showmsg functions [celest]
* Replaced 'exists' with a built in function for WIN32 builds [celest]
* Added 'clouds' and 'fireworks' mapflag [celest]
* Added a new @fog and @fireworks [celest]
* Changed the old @fog to @clouds [celest]
04/07
* Added @version atcommand [Ancyker]
* Readded @disablenpc (not the same as @hidenpc) [celest]
* Fixed @reloadscript not removing old NPC's and monsters first [celest]
* Some changes in mob and NPC unloading [celest]
* Changed the original @disablenpc to @hidenpc [celest]
* Fixed HP Conversion to properly not reduce HP if SP is full [celest]
* Updated Defender -- should reduce walking speed, and does not reduce attack speed
at level 5 [celest]
04/06
* Fixed a crash in clif_send when checking packet version, thanks to Alex14
* Fixed a crash in Deluge, Volcano and Violent Gale, thanks to Alex14
* Skip partner checking when calculating status with Marionette Control on [celest]
* Fixed plagiarised skills become unuseable after saving character [celest]
* Fixed double skill fail messages for stone curse, thanks to wind
* Added modulus by zero check to rand(), thanks to starlon
* Improved error messages during npc parsing [MouseJstr]
* Fixed a crash in login_sql [MouseJstr]
* Added logs filters in more logs [Lupus]
now you can set individual bit-mask filter for each log file
Example: (drops log)
log_drop: 1 = logs ANY items
log_drop: 332 = logs only Healing items, Cards and those items which price is >= price_items_log
04/05
* Fixed damage reflecting (silly typo xP) [celest]
* Fixed Backstab to not have a push back effect [celest]
* Fixed auto spell to not taking SP, thanks to Hekate
* Fixed Sanctuary to have proper healing count, thanks to Hekate
* Simplified Valaris' online_timer [celest]
* Updated Fogwall, Spiderweb, and HP Conversion, thanks to redcard [celest]
* Adding saving character online/offline for TXT char and login (unfinished)
* Added SERVER_TYPE to core for future plugins support [celest]
* Added support for the UPNP plugin to release port mappings and re-close firewall
ports on shutdown [celest]
04/04
* Some work on re-enabling trade and storage logging [MouseJstr]
* Updated showmsg with Shinomori's improvements [celest]
* Fix showmsg for Visual Studio [MouseJstr]
* Update base code for the UPNP plugin loading [celest]
* Removed anti-freeze system for login and char -- Shinomori's update would
be enough to keep inter connections alive [celest]
04/03
* integrating anti freeze system to status update [Shinomori]
* Fixed impossible drops at 0.01% chance [Lupus]
* Fixed some variable declarations in SQL login.c causing compilation errors [veider]
* Added NetBSD support into Makefile (Still lots of warrnings during compilation [veider]
* Finished Valkyrie. Now it correctly works. Valhallana reborns players to High Novices. [Lupus]
(added missed kRO condition: to reborn, player shouldn't have money nor items(equipment) )
Then Valhallana warps just reborn players to the home city of their main job.
On Job Level 10 of High Novice they can get 1st Advanced Job from correct 1-1 job quests NPC.
They'll get there all learnt skill quests.
On reaching 45 Job Level they may visit Valkyrie and get 2-2-1 / 2-1-1 class (3rd Job)
from a correct NPC.
* Fixed SKILL POINTS exploit in Assassin Job Quest [Lupus]
04/02
* Added bonuses bUnstripable[Weapon|Armor|Helm|Shield]
instead of just bUnstripable that worked only for armor [DracoRPG]
* Updated Tiger Knucke Fist's 'fixed state' effect [celest]
* Allowed people to enable/disable using the online column via
'register_users_online' in the login_athena.conf [Codemaster]
* Added the 3 baby skills WE_BABY, CALLBABY and CALLPARENT [celest]
* Some tidying up in skill.c [celest]
04/01
* Updated ShowMessage functions to use vprintf [celest]
* Fixed a potential crash in pc_walk in Win32 builds [celest]
* Added bAddEffWhenHitShort and changed bAddEffWhenHit back to all physical
damage [celest]
03/31
* Fixed memory corruption during shutdown via the script_buf
[SVN 1370: MouseJstr]
* Added some useful filename info to the script parser so that
it is easier to figure out what is going on [SVN 1370:
MouseJstr]
* updated the visual studio projects a little bit [SVN 1370:
MouseJstr]
* fixed memory corruption in mapif_guild_info:int_guild.c
[SVN 1367: MouseJstr]
* Fixed common/lock.c (problem with unistd.h include) [Codemaster]
* Added father/mother/child fields to mmo_char_tostr() and
mmo_char_fromstr() [veider]
* Added exp sharing between family members for TXT version [veider]
* Added char_married() and char_child() to TXT version [veider]
* Fixed memory corruption associated with afm files [SVN 1363: MouseJstr]
* More pedantic g++ fixes so that it builds without any and
all warnings [SVN 1362: MouseJstr]
* Removed some #include's causing warnings on some platforms
[SVN 1360: MouseJstr]
* Fixed a bug with InitTimer/StopTimer, thanks to ilpalazzo-sama
* Set 'undead_detect_type' to 0 by default, thanks to Dino9021
* Fixed Enchant Poison / Deadly Poison having too high poisoning chance
* Reverted the pc_remove_map() change temporarily
* Added back up old files in 'save' before saving new data -- also fixes
'Access denied' errors when saving in TXT
03/30
* sql native vc7 projects now build/link [1351: MouseJstr]
* Began sql projects for VC7 [1349: MouseJstr]
* text char-server and login-server now build using VC7. You
can use the rAthena.sln solution to build all three. These
are currently just the text versions of the servers. I have
not added projects yet to build the sql versions.
[SVN: 1347 MouseJstr]
* Made the map-server build cleanly using Microsoft Visual
Studio.. entirely native code without any cygwin dependency
[SVN: 1345 MouseJstr]
* Fixed @reloadgmdb in SQL -- after reloading ask the char to forward the new
accounts back to the map [celest]
* Added base code for loading Ser's UPNP plugin [celest]
* Added 'idle_no_share' to battle_athena.conf [celest]
* updated map server to jA1137~1159
- Added @reloadatcommand, @reloadbattleconf, @reloadstatusdb, @reloadpcdb
(Note: You should copy the latest msg_athena.conf from conf-tmpl and replace
your current one EVERYTIME it's updated to prevent it from crashing when it
can't find the newer messages!)
- Updated packet DB to support /item and /monster
- Added pc_remove_map()
- Added 2 new mobs skills: NPC_RUNAWAY and RECALL
- Updated BioCannibalize
- Updated Hammerfall, Meteor Shower and Lord of Vermillion -- when MvP's
cast them they should have much more range
- Some other skill tweaks
- Added item_findingore.txt
* Some tidying up in mob.c and skill.c [celest]
03/29
* Please make sure to use the stable/sql-files/upgrade_svn1315.sql to
upgrade your mysql as a result of the new adoption system. Thank you
-MouseJstr
* More ANSI C++/C conformance fixes [SVN 1341: MouseJstr]
* Fixed SQL char server crashing when loading the item_db, my bad ^^; [celest]
* More ANSI C++/C conformance fixes [SVN 1334: MouseJstr]
* Added auto save guild data (only guardian HP and owner guild ID for now,
both cached) every 5 minutes during WOE [celest]
* Updated damage calculation for Magnum Break [celest]
* Fixed #item not working properly, thanks to TripleOxygen
* Fixed a lot of compile time problems with our mixed C++/C
conformance [1328: MouseJstr]
* Fixed use of storage variable to conform to ANSI C spec
[1327: MouseJstr]
* Added CIA-bot to the #athena channel [MouseJstr]
* Some tidying up in mail.c [celest]
* Added an invalid pointer check in clif_displaymessage [celest]
* Added sql upgrade file in sql-files for svn1315's update [celest]
* Added auto create 'save' folder from 'save-tmpl' when compiling for the
first time, thanks to Jbain
* Fixed 'use_sql_db' not read properly in SQL char server, thanks to Wallex
* Changed db/const.txt to have right baby jobs IDs [veider]
* Added three fields to mmo_charstatus - father/mother/child
needed for adoption system [veider]
* Added adoption support to charserver SQL version [veider]
* Added atcommand_adopt - create a family of three [veider]
* Added to char_commands showexp/showdelay so that
players could remove some messages [veider]
* Added percent to "Experience Gained" message [veider]
* Added adoption system support to party_check_exp_share()
so that parents can share exp with child [veider]
03/28
* Fixed Auto Berserk activating by itself when changing maps [celest]
* Re-fixed the SQL syntax crash in logging [celest]
03/27
* Fixed AutospellWhenHit effect to only work on melee attacks [celest]
* Fixed AddEffWhenHit effect to only work on melee attacks [celest]
* Moved guardian hostility checking and monster_ignore_gm check to battle.c --
processed earlier, and more appropiate [celest]
* Fixed a SQL syntax crash when logging character names with "'" in them
[celest]
* Added use dynamic allocation when loading the msg_table [celest]
* Fixed some memory leaks with the new timer changes [celest]
* Refresh the client when day comes to get rid of the night effect (if
night_darkness_level was used) [celest]
* Changed @refresh to fake map loading, but without teleporting side effect
(skill delays reset, extra load on server etc)[celest]
* Updated SQL file for the item_db, thanks to Zoc
* Fixed the 'show_mob_hp' option not updating when a monster is healed, thanks
to leinsirk10
* Added flexible Filter to the Monster Drops logging [Lupus]
- Now you can choose what types of items either to log or not.
- You can also log expensive items (you can set the min logging price)
* Optimized a bit ATCommands.c functions (inspired by Freya) [Lupus]
* Added missing parenthesis in my Improve Dodge code, not giving +4/lv to proper jobs [DracoRPG]
* Added all released cards into monsters drops and Old Card Album [Lupus]
03/25
* Fixed a typo in my fix for Stalk / Tunnel Drive increasing instead of decreasing speed, sorry [DracoRPG]
* Rewrote a little bit Improve Dodge [DracoRPG]
- The speed bonus does not effect when Cloaked
- Assassins & Rogues get +4 Flee/lv, but all other jobs can get +3/lv
if they have the skill (not only Thiefs & Super Novices)
* Some minor changes to Sacrifice in battle.c [celest]
* Set the Emperium to be immune to Sacrifice [celest]
* Set the Emperium to be have max status effects immunity [celest]
* Fixed indoorsrwstable.txt reading even when 'indoors_override_grffile' is
set to 'no' [celest]
* Fixed @monsterbig/@monstersmall not working [celest]
* Fixed @killmonster2 not working [celest]
03/24
* Updated obj_del to delete all GNUMakeFile and .o files + compiled exes [DracoRPG]
* Fixed a typo in Stalk / Tunnel Drive speed calculation [DracoRPG]
* Added some mapflags for new towns [Lupus]
* Added timer.c optimization / timers sort fix. 'no freezing mobs anymore' Thanx 2 Yor/Freya [Lupus]
* Added 'map_charid2id' [celest]
* Changed monster damage logging to save char ID's for the most time -- also
fixes an exp bug, thanks to Super Novice / Ezhik [celest]
* Implemented 'event_script_type' -- no changes at '0', at '1' script events
will work according to Qamera's original mod
For more info please refer to his thread:
http://www.eathena.deltaanime.net/board/index.php?showtopic=13305&hl=
* Set Emsolute Develop as a learnable skill [celest]
* Updated 'require_glory_guild' [celest]
- the skill is only acquirable if this is set to 'yes', otherwise it will not
appear in the guild skill tree. Default is changed to 'no'.
* Allow monsters to cast skills near themselves even when monster_nofootset
is set to 'yes' -- they're only not allowed to cast near players [celest]
* Print number of online users in online.txt/.html even if there's only 1 user
online [celest]
03/23
* Adjusted my trade fix [1280: MouseJstr]
* Fixed possible memory corruption in storage if number of guilds
in database exceeds the max server can support [1278 : MouseJstr]
* Fixed @mapexit to properly flush the fifo's before shutting
server down to help insure all the char data is properly flushed
[1278: MouseJstr]
* Fixed trade exploit/crash from invalid data being sent
[1278: MouseJstr]
* Possible use of uninitialized data used during mob walk
calculation resulting in radical mob movement or crash
[1278: MouseJstr]
* Fixed some --addrace variables' sizes [celest]
* Added' require_glory_guild' - sets whether changing guild emblems require
the Glory of Guild skill [celest]
* Fixed alot of memory leaks [celest]
* Added stray memory cleaning routine to db.c [celest]
* Fixed some compile errors, sorry xP [celest]
* Corrected potion creation success chances, thanks to Avaj and DracoRPG
* Removed some unused potion creation code, thanks to DracoRPG
* Updated Joint Beat's effect, thanks to DracoRPG
03/22
* Fixed Alchemist's CANNIBALIZE, now it summons correct # of plants. With their real HP [Lupus]
* Updated @reloadmobdb, @reloadskilldb, @reloaditemdb [celest]
* Some tidying up in @reloadscript (more work needed) [celest]
* Moved some gm command messages to msg_athena.conf [celest]
* Removed skill_range_leniency [celest]
* Removed enable_upper_class [celest]
* Removed riding_weight [celest]
* Added signal handler for SIGPIPE [celest]
* Updated Frost Joke to affect everyone else in PvP/GvG, thanks to veider
* Corrected Detect Trap range to be based on level, thanks to veider
* Updated Tunnel Drive's movement speed, thanks to veider
* Removed cdp_rate, suggested by leinsirk10
* Fixed a typo in Acid Terror, thanks to leinsirk10
* Fixed some typos/memory leak in script cleaning up, thanks to leinsirk10
* Added gm_can_drop_lv limitations for trading and opening storage, thanks to
Dino9021
* Changed shop_exp's calculation to use 0.01% increments, suggested by tcdiem
* Refixed "--en/ja--" usage in 'monster' script not working properly, thanks
to sbilly
03/21
* Moved /tool and /webserver to under /src and added 'make tools' and 'make
webserver' [celest]
* Removed ladmin compiling from 'make sql' [celest]
03/20
* Don't register the day/night timers if any one is set to 0 [celest]
* Fixed @storage / @gstorage ATcommands thanks2 Yor/Freya [Lupus]
* Added 4 new card effects from 3/15's patch -- check item_bonus.txt [celest]
* Added 'enable_ip_rules' to packet_athena.conf [celest]
* Updated socket debug messages to be more readable [celest]
* Added a sql upgrader to handle the mob_db changes to assist
in migrating to the newer SVN servers [MouseJstr]
03/19
* Added getrefine() for 3/15's card patch -- returns the refined number
of the current item [celest]
* Fixed day and night settings not ignored even if they are set to 0,
my bad ^^; [celest]
03/18
* Fixed a crash when freeing memory of pets [celest]
* Added Cygwin support to the -DDUMPSTACK option, and changed its format
to "<server type><number>.stackdump", thanks to Ser [celest]
* Removed duplicate fopen in login_log [celest]
* Don't log SQL char actions if log_char is not enabled in char_athena.conf
[celest]
* Updated shop_exp's calculation to give more exp, thanks to tcdiem [celest]
* Fixed the bDamageWhenUnequip effect dealing damage when unequipping unrelated
items [celest]
* Fixed compile errors in SQL char.c [celest]
03/17
* Added ~86 new cards. Fixed new cards bugs, optimized [Lupus] thanks to Indiona,Landarma
* Removed nullpo warning from trade.c (my prev anti-spoof protection) [Lupus]
* Added the new Einbroch/Einbech maps to maps_athena.conf [celest]
* Added display script filename when a script error is found while parsing
[celest]
* Added 2 char-server packets to support Freya's login server [celest]
* Rewrite on Full Strip [celest]
* Fixed heap corrupion in map.c caused while loading maps
[SVN 1241: MouseJstr]
* Re-fixed compile error in map.c -- sorry ^^; [celest]
* trade.c fixed possibility of STORAGE+TRADE spooffing dupe [Lupus]
Now, on accepting trade your active Storage window closes. (Either Common or Guils Storage)
thanx to Sergey for the exploit test and report
03/16
* map.c fixed compilation error [Lupus]
* Updated jA's dummy socket to mod1137 [celest]
* Added jA's ddos protection system -- check packet_athena.conf [celest]
* Moved stall_time's reading from inter_athena.conf to packet_athena.conf
03/15
* Fixed a compile warning in pc.c [celest]
* Updated Soul Breaker's damage display, by DracoRPG [celest]
03/14
* Fixed @marry and @divorce. Also added Wedding music+confetti effect to @marry [Lupus]
- @marry Player1,Player2
(don't miss the COMMA ',' betwin the names)
- @divorce Player
(in @divorce use any name from the couple)
* Added auto convert advanced job and baby class sprite ID's in mob_avail.txt
to correct format [celest]
* Added SC_Speedup cannot be stacked with Increase Agility [celest]
03/13
* Added PvP/GvG check for Tiger Knuckle fist [celest]
* Fixed Pressure reducing the target's SP twice, thanks to deepin [celest]
* Fixed SQL logging not checking if its supposed to use SQL or TXT logs, thanks
to Alex14 [celest]
* Fixed 23 new cards (some effects chances were divided by 100, some cards had no bonuses
due to misplaced arguments, usage BONUS instead of BONUS2, etc) [Lupus]
03/12
* Fixed Status Recovery dealing too short blind time on undead [celest]
* Fixed mobs not affected by Blind status [celest]
* Added an invalid id check check in map_id2sd [celest]
* Added sd check in clif_send [celest]
* Fixed usage of mvp_hp_rate and monster_hp_rate. MVP rate was used for common monsters [Lupus]
* Added additional random respawn delay for instant respawning monsters (0..5 seconds) [Lupus]
- Should be made as an option of battle_athena.conf
03/11
* Speedup player autosaving -- don't save guild castle data at the same time,
thanks to Alex14 [celest]
* Optimised guild castle saving when autosaving player data, thanks to Yor /
Freya (UPDATE: view above)
* Added sd check in mob_damage, thanks to sbilly [celest]
* Added Sage enchanting skills can only be cast on party members [celest]
* Fixed Magic Power not working for ground-targeted skills [celest]
* Fixed Frost Diver having double freezing chances [celest]
* Added Breaker's magic damage to be blockable by Pneuma, thanks to DracoRPG
[celest]
* Corrected 1206Sakexe's packet detection, thanks to Yor / Freya [celest]
* When casting cloaking stop displaying the skill title after its finished,
thanks to Battitude [celest]
03/09
* Some changes in sig_dump to allow Cygwin produce stackdumps upon crash again,
thanks to Ser [celest]
* Changed the default stackdump creation folder from /save to /log [celest]
* Fixed a typo in TXT login server logging, thanks to Skyer / rAthenaC [celest]
* Added HP and SP rate underflow checking [celest]
* Added stop auto attacking if no arrows were equipped [celest]
* Added new script command: 'cardscnt'. It returns N of inserted cards in the same weapon. [Lupus]
Now I can start fixing CARDS COMBO exploits. And it's possible to fix old cards power abuse, too.
e.g. Assassins can equip 2 4-slot weapons and have HUGE card bonuses.
It's said that you can have only ONE bonus per hand...
* Fixed and tested script command 'isequippedcnt'. It didn't return real value [Lupus]
Here's an easy way to test all items:
4149,Gargoyle_Card,Gargoyle Card,6,20,0,10,,,,,,,2,,,,{},{ dispbottom "Gagoyle OK:"; dispbottom isequipped(4149); dispbottom isequippedcnt(4149); dispbottom cardscnt(4149); }
* Fixed "nice char save by the fountain of Prontera"; People (Helpers, GMs) did abuse their power and [Lupus]
used to @jail friend / @unjail friend. To make his save point in the middle of the Prontera.
So I made @unjail save coords to 0,0 (on unjail it makes player's save point to appear always in a random place of Prontera)
You can use this query to "Clear nice save point of all jail/unjail abusers friends"
SQL QUERY: update ragnarok.char set save_x = 0, save_y = 0 where (save_map = 'prontera.gat' and save_y = 191)
03/08
* Added chance for Enchant Poison to poison enemy, and reduced Deadly Poison
chance [celest]
* Compacted some code for Deadly Poison [celest]
* Added DracoRPG's code for Soul Breaker - the magic attack part should work
as it should now, thanks! ^^ [celest]
* Reverted the reverted jA event change but this time without bugs (hopefully) [Shinomori]
* corrected status_change_timer as far as I understand the functionality
(better have a look at it, Celest), added a some security to prevent pending timers
* moved two variable declarations to scope start (mob.c and skill.c)
* Fixes Icewall can be directly cast on players and monsters -- also removes
the 'unsupported layout' message [celest]
* Added the new turbo_room and alde_tt to the maps config [celest]
* Speedup SQL inventory and storage saving, thanks to Ilpalazzo-sama [celest]
* Reverted a jA change in event loading [celest]
03/07
* Added uptime logging support whenever the server closes, to enable change
the 0 to 1 in core.c [celest]
#define LOG_UPTIME 0
To-do: Add this as an option to log config
* Fixed 'make clean' not removing the .o files in /common [celest]
* Removed some unused code for Breaker and temporarily set Emperium to be
immune to Breaker [celest]
* Updated core and map-server to jA 1115~1137 [celest]
- Added monster_delay_damage to battle conf
- Increased some default settings in script conf
- Updated Brandish Spear, Soul Change, Soul Burn
- Updated Body Relocation (shorter distance)
- Added monster skill NPC_EXPLOSIONSPIRITS
- Corrected Mindbreaker level to 5
- Updated Meteor Assault to instant-cast
- Added command @users - shows the percentage of users in all maps
- Don't save status if the player is set for disconnection
- Added free block lock-checking system
- Added saving the processes' ID into [xx-server.pid]
- Fixed a memory leak with duplicate script labels
+ For more detailed logs check 'Readme-jap'
* Fixed a typo in Volcano, thanks to Ilpalazzo-sama [celest]
* Fixed Apple of Idun reading the wrong skill level and giving too much HP
[celest]
03/06
* Added new anti-hacker trade protection from Freya. [Lupus]
It also auto-ban hackers and broadcasts messages to all GMs. Good work, Yor!
* Misc fixes. [Lupus]
2Shino: BTW Some players can't re-connect to the server. Due to the updated session checks in chrif.c
actually impossible, because the checks handle the connection with the char server, not with users
anyway, I checked again and rearranged code but functionality is still the same and valid [Shinomori]
03/05
* Reversed drop_rate0item option, corrected MVP Drop rate (thanks to Freya) [Lupus]
03/04
* Fixed SQL Guild Castle Saving (now fully working, tested on 100 players during WOE) [Lupus]
03/02
* Fixed SQL Guild Castle Saving (partial, yet it doesn't clear GuildID when you abandon a castle) [Lupus]
+ added 2 fixes by POW (Mac Guild Position fix, Max Guild Members fix)
* Fixed Emotion Flood (by Yor) [Lupus]
* SQL: Fixed temporary ban. Now banned players can enter the server when the ban time is over. [Lupus]
It wasn't working because STATE hasn't been cleared properly.
Also fixed wrong client messages (ban reasons: Banned by GM / Temp ban till DATE).
03/01
* Effects from dancer/bard skills will stay for 20 seconds after leaving the
skill area [celest]
* Fixed /resetstate /resetskill being unuseable at all [celest]
* Fixed /mm /mapmove being useable by all players [celest]
* Fixed some compile errors in mob_once_spawn [celest]
* Corrected a typo in Chemical Protection skills, thanks to holyfork [celest]
02/28
* Fixed SQL Castle saving bugs [Lupus]
* Corrected Tiger Fist, Chain Crush, and Palm Push Strike damage, thanks to
Eskadron [celest]
* Updated Endure to be usable in GvG, but only gives the mdef bonus [celest]
* Some rewrites on the passive guild skills effects [celest]
02/27
* Fixed some bugs in Monk Job Quest. Now it's fully passable. [Lupus]
02/26
* Added jA's dummy socket to prevent fd crashes [celest]
* Added some jA script commands: [Lupus] (first steps to add ELSE, FOR, WHILE, etc)
- getusersname (works like @WHO ATCommand, outputs by 10 names in the Pop-up window)
- dispbottom (print message in the common chat window)
- recovery (restore MaxHP/SP and revives all players on the server)
- getpetinfo (returns pet's name, type, class, hunger, intimacy)
- globalmes (works like Announce, but outputs in the common chat window)
- jump_zero (reserved - for future compatibility)
- select (reserved - for future compatibility)
- getmapmobs (# mobs on a named map, use "this" for current map)
check script.c for their paremeters (in English)
02/25
* Fixed npc_dequeue, testing on remove of RoVeRT's npc timer system [Shinomori]
02/24
* Re-added missing cart dupe-proof code. From Freya [Lupus]
* Some rewrites on Basilica [celest]
* Fixed another bad typo in skill list_num reading, thanks to orn [celest]
* Fixed Steal Item Rate. It has been multiplied twice on common_item_drop value for any kinds of items. [Lupus]
e.g. If you set droprate of comman items to 500%, then even rare items could be stolen more easily. Thanks to Freya
* Items Droprate fix. Now it adjusts correctly, w/o overflows. Thanks to Freya [Lupus]
* mob DBbs EXP reading fix. w/o overflows. Thanks to Freya [Lupus]
02/23
* Added bAddItemHealRate [celest]
* Fixed a crash if adding an offline player to a party, thanks to Alex14
[celest]
* Fixed a crash with Warp [celest]
* New Cards: Some fixes, revisions, additions [Lupus]
* Fixed char server crash when sending wisp with a "'" in the names [celest]
* Fixed Backstab not checking for and consuming arrows [celest]
* Fixed another bad typo causing @allskill to not add points into advanced job
skills [celest]
* Fixed a bad typo in status.c's StatusChangeTable [celest]
* Corrected Spiral Pierce's hits in the skill_db [celest]
* Moved /common/*.o into a obj folder when compiling [celest]
* Updated core and map server to jA 1094~1115 [celest]
- Added End_of_exam's Memory Manager for detecting memory problems.
To enable remove the // in malloc.c line 11
// #define USE_MEMMGR
- Added @npctalk and @pettalk
- Added support for jA's local zlib
- Fixed a bug with path search long
- Updated malloc.c to support Memwatch
- Added DB data loss detection
- Added db/skill_unit_db.txt
- Updated skill unit system
- Changed Waterball to the new timerskill system
~ For more detailed logs check 'Readme-jap' (knowledge in japanese required,
obviously ^^;)
Please test if there's any skills that might have suddenly stopped working,
thanks ^^;
02/22
* Revised New Cards, added missing effects, fixed bugs [Lupus]
~20 cards to check left 8) But on 22 Feb some new cards have been announced T__T'
* Cleaned up some compiler warnings [SVN 1158: MouseJstr]
* Added perl regular expression support.. look at src/map/npc_chat.c
for all the dirt on the new features. To build it, you have
to enable the PCRE_SUPPORT #define and you also have to
build/install the pcre library. [SVN 1157: MouseJstr]
02/21
* Added actual item_db.sql into sql-files. [Lupus]
* Added actual mob_db.sql into sql-files. If you use SQL Mob DB then update it [Lupus]
* Updated Bleeding effect [celest]
* Removed some unused code for Graffiti [celest]
02/20
* Char SQL: Rewrote/Fixed the castle save function, now the sql version saves castles! [Sirius]
* Fixed the /mm /mapmove command access bug [Sirius]
* Added skill requirements for the new guild skills [celest]
* Allow Emergency Recall to be cast in guild castles even if nowarp and
nowarpto mapflags are enabled [celest]
* Add 'minimum job level required' for skill_tree reading [celest]
- Berserk now requires job level 50
* Added Spring Trap to be able to trigger ankle snare traps that aren't
activated yet [celest]
* Added a fix in guild.c by Mellowz [celest]
* Some rewrites on the pet skill bonuses system -- also fixes pet bonuses
not effecting stats as they should [celest]
* Check whether a monster is still alive before starting a status change
-- also fixes the status_change_timer nullpo errors with grimtooth [celest]
02/19
* Added bSubSize, bHPGainValue, and bDamageWhenUnequip [celest]
* Updated bSPDrainValue/Rate to accept a 'type' [celest]
* Set baby class players' size to 0(small) [celest]
* Fixed item_db2.txt reading printing wrong number of entries read [celest]
* Fixed @allskill not giving the newer stalker, whitesmith and creator skills
[celest]
02/18
* Fixed a bug with statpoint.txt reading and giving too much stat points,
thanks to Benz / rAthenaC [celest]
* Fixed client errors when pecopeco Lord Knights/Paladins log in with a weapon
equipped [celest]
* Added bAddRace2 -- check item_bonus.txt [celest]
* Added mob_race2_db.txt -- contains 'main races' of certain monsters [celest]
* Updated description for backup_txt in char_athena.conf a bit [celest]
* Set read_map_from_cache to 2 (enable compression), and map_cache_file back to
saving in /db instead of /save, as suggested by Poki#3 [celest]
* Updated description for auto_counter_type, and set plaer_auto_counter_type
to 0 by default, as suggested by Poki#3 [celest]
* Use the event names from script_athena.conf to check whenever a player event
trigger is being read/set [celest]
* Removed an unused save/bank.txt [celest]
* Added some new cards effects. (check DB\changelog.txt) [Lupus]
02/17
* Now all mobs have 10 drops slots. the last one is used for Cards Drops [Lupus]
Don't forget to update your SQL files (Drop Log: logs.sql and db_tables.sql
if u were using SQL Mobs DB. Update it from TXT! )
* Fixed Branch Log TXT filename [Lupus]
* Made all logs work with compiled TXT Server, too (removed old #ifndef) [Lupus]
* Added 4 columns into mob_db.txt (check DB\changelog.txt) [Lupus]
* Fixed some mobs drops (Whisper, etc) and some MVP mobs (bonuses were shifted...) [Lupus]
* Readded Chemical Protection -- i forgot to check for it when changing some
jA stuff earlier, sorry ^^; [celest]
* Removed some old eA code that was causing Frost Nova to do an extra hit
[celest]
* Corrected Vulcan Arrow's hits in skill_db -- the bug appeared when the
correct numbers hardcoded were removed [celest]
* Readded zlib and zconf .h files to under /lib for compiling in Windows,
thanks to Ser [celest]
* Fixed some compile errors in Windows, thanks to Ser [celest]
* Changed remove_control_characters back to supporting korean chars [celest]
* Moved some other code around [celest]
* Added Shinomori's changes to Dissonance -- don't increment the timer again
if the target has died [celest]
* Changed some nullpo checks back to normal null checks -- in some situations
it would be normal to get a NULL [celest]
* Changed some nullpo checks to print some debug information [celest]
* Added some sd checks before calling pc_blockskill [celest]
* Added Dino9021's fix for SQL char's friend list updating [celest]
* Fixed a crash if the player invited to join a guild is not online, thanks to
Alex14 [celest]
* Find the guild invitation sender first before clearing its ID [celest]
* Added 2 new script commands to support 2/15's cards patch... most of the
effects in kRO should be available now ^^ [celest]
- isequipped(...): Accepts a list of item ID's and checks whether all of
the items/cards have been equipped.
- isequippedcnt(...): Same as above, except it returns how many of the items
are being equipped
Example: if(isequipped(4002,4004,4006)) bonus bStr,1;
02/16
* Char SQL: Fixed the Whisper chat on splittet mapservers (i think now all features work!) [Sirius]
* Added 3 more of the new card effects -- check item_bonus.txt [celest]
* Added 'bonus4' to support the new card effects that might need up to 4
parameters [celest]
* Set 'killerrid' and do PCKillEvent before calling PCDieEvent, thanks to
mrmagoo for pointing it out [celest]
* Added some new script event related options to script config [celest]
- [die/kill/login/logout]_event_name: Name of script to activate when an
event has occured
- event_requires_trigger: whether or not a 'set [EventName],1;' has to be
defined first for the event to be activated
* Added 8 of the new card effects on the 2/15's patch (still untested and
not yet added to the item_db)
- Refer to doc/item_bonus.txt for description
* Minor rewrites on self and enemy weapon/armor breaking during battle [celest]
* Added missing code for 'bBreakWeaponRate' and 'bBreakArmorRate' effects
[celest]
* Added missing code for 'bAddStealRate' effect [celest]
* Removed redundant 'infinite_autospell' in map_session_data [celest]
* Fixed Treasure Box spawn bug in all castles. [Lupus]
* Fixed wrong PresentLOG (it wasn't showing PRESENT BOX type ID) [Lupus]
* Expanded Monsters Drops Slots from 8 to 10. Everywhere in the sources. [Lupus]
But in TXT / SQL monsters DB reading functions, I added a temp plug
to make eA work fine with existing DBs. It reads only 8 drops and fills
9th and 10th drops with Zero.
On expanding MOB_DB.TXT we'll remove that plug.
We are adding new cards and some monsters
have no free slots for them. Current state is tested and works fine.
02/15
* Allow Potion Pitcher to be able to cast on yourself -- i've almost forgot
about this, thanks to Filougarou and Poki#3 for the fix ^^; [celest]
* Added Wallex's changes for weapon skills to read list_num from the skill_db
when calculating damage [celest]
* Login / Login SQL: Fixed the EXE-Version check (now it works finally :) [Sirius]
* Char SQL: Fixed the '0x2b05' reply to the mapserver (now multi - mapservers works again!)
* Rewrote skill blocking system that was allowing people to bypass blocking
time simply by casting a different skill [celest]
* Edited out some inconsistencies with skillnotok [celest]
* Corrected Investigate's damage calculation, thanks to matthias [celest]
* Generate the remaining entries of the stat point DB if the number of
entries in db/statuspoints.txt is less than MAX_LEVEL, or statuspoints.txt
was not found [celest]
* Try to spawn the player at a default map ("prontera.gat") when logging in if
the save point map was not found [celest]
02/13
* added an @autoloot switch that Upa-kun has forgotten [Shinomori]
* changed pet_skillattack_timer and corrected the poison spore attack
* tighter check's on "unknown skill" error; but added prints to trace it
* Added Wallex's changes to only evoke script_rid2sd if agitcheck(1) is used
[celest]
* Merged jA's equipment breaking system into the current one, and corrected
items with unbreakable effects in the item_db [celest]
- "bonus bUnbreakable,[chance];" changed to
"bonus bUnbreakable[Weapon/Armor/Helm/Shield],0;"
02/12
* Merged Dexity's pc_statpointdb into pc_readdb, changed statp's string
array to short (less memory), and fixed the db not giving status points if
character level is above 255 [celest]
* fixing and optimizing sharp shooting
have implemented two different versions, just have a look and
decide which to use, description is in the code [Shinomori]
* Changed default map cache path from db/map.info to save/mapinfo.txt [celest]
* Removed old code for Sharp Shooting (still a little buggy) [celest]
* Merged Shinomori's code into map_foreachinpath [celest]
02/11
* mob.c fixed doubling entries in DROPS LOG, optimized [Lupus]
* item_noequip.txt now you can disable named consumable items
during GvG / PvP, too by Maya, optimized and checked [Lupus]
NOTE: Get rid of old cards on your server!!! IDs: 4149-4332
before using of this item_db.txt (some cards have changed their IDs)
and it could cause ALIEN cards in your players equipment 8))
i.g. a weapon compounding CARDS inserted in armor, etc...
* item_db.txt Massive update: [Lupus]
- Added all new missing items (up to st.Valentine's Day Event)
- Added new cards 4149-4332, sorted them and set their sripts.
- Fixed some names, typos, weigths and prices
* Commented out old custom cards from Old_Card_Album.txt till we brush them up [Lupus]
* Removed old custom cards from MOBs drops [Lupus]
thanks to Landarma(new items templates) Poki#3(removing cards from drops)
* Tidied up battle_check_target abit [celest]
* Updated traps to affect allies as well in GvG [celest]
* Check if login server is online before setting character to online (in SQL),
thanks to Alex14 [celest]
* Synchronise storage as well when saving character to cut down on item
rollbacks or duping, by Yor / Frea [celest]
* Added fix for super novices' Guardian Angel system crashing when base_exp = 0
thanks to Alex14 [celest]
* not realy fixing the "unknown skill" error
but returning skill_castend_damage_id when called with skillid < 0
still need to search a reason why it is called with -1 [Shinomori]
* EXPERIMENTAL: Reduced memory used for the skill_tree DB by 30+mb [celest]
* Added script commands isday and isnight - checks whether its night or
daytime. Example: if(isnight()) ... [celest]
* Skill Updates [celest]
- Sharp Shooting: Dropped jA's and kA's code and wrote a new
map_foreachinpath function in map.c -- about 14 times faster, but still
uncomplete
- Ankle Snare: Added matthias' suggestion to let agility reduce more trap
time, but no less than 3 seconds.
- Magnum Break: simplified code a bit, and changed to non-targetting /
automatically damages an area around the caster
- Tiger Fist: enable it to be used by its own besides as a part of
the combo skills
- Devotion: Fixed maximum level difference not reading its setting from
battle_athena.conf, thanks to leinsirk
- Soul Burn: Added some safety checks
02/10
* Login/Login SQL: fixed the client version check function [Sirius]
02/09
* Added conf-tmpl/readme.txt, explaining the import folder [1066: Ajarn]
* SQL Char: Rewrote the char_create function (now it's faster/optimized) [Sirius]
* SQL Char: Fixed the reply if a charname is invalid on create (now it replys denied..) [Sirius]
* SQL Char: Added a Character limit per Account (can be set in the config) [Sirius]
* SQL Char: Optimized some SQL-Querys [Sirius]
02/06
* NULL entries for guild data fixed [Credit to Sirius] [1060: Ajarn]
* Login server uses login_db_userid and login_db_user_pass for
queries now [Credit to Sirius] [1059: Ajarn]
* Login server can now check clientversion in clientinfo
[Credit to Sirius] [1059: Ajarn]
* Fixed txt build compile problems[1057: MouseJstr]
* Corrected end-of-line issues in source code [1056: MouseJstr]
* Coded new command: @MOBINFO <monster name|monster N> [Lupus]
the command has also 2 aliases: @monsterinfo, @mi
It shows all Monster stats, Element, Race and stuff
It shows all items with their drop chance
It also shows MVP bonuses (MVP EXP, MVP Drops)
02/05
* increased the max_files allowed in a grf [1054: MouseJstr]
* Changed the way char deletion works for SQL [1051: Ajarn]
- If the email the client fails check then check if the
email is blank and the DB email is a@a.com (default)
If so, assume it was created with _M/_F, and delete it
* SQL Login accepts _M/_F now [Credit to Sirius] [1049: Ajarn]
* Map server now actually reads bind_ip [1048: Ajarn]
Side note: login reads bind_ip, but doesn't use login_ip now.
* Made eA compile under AMD64 64-bit native [1047: MouseJstr]
* Changed interface binding to use a bind_ip instead of using
the login_ip, char_ip, or map_ip. This lets you still be
able to set your WAN IP seperate from what interface you
wish to bind to. Also, the default is back to binding to
all interfaces on the machine. [1045: MouseJstr]
* optimizing OnTouch event name generation [Shinomori]
* fixing Celests Sharp Shooting [Shinomori]
* Updated Sharp Shooting AoE code, thanks to Neodis / k-Athena [celest]
- Update: Adapt jA's path_search algorithm and removed the need of struct
'dev' in map_session_data
- Update: Increase range to 14
* Tidied up explicit typecasts in status_get_max_hp, thanks to Ilpalazzo-sama
[celest]
* Non-MVP / miniboss summoned monsters should give exp, my mistake ^^; [celest]
Note:- minibosses are considered a 'Boss' as well, not just MVP's
* Fixed a typo that was preventing packet version 5 clients (628sak) from
logging in (it was supposed to only block those with 4 or below) [celest]
02/04
* Fixed more compile signed/unsigned errors [SVN 1040: MouseJstr]
* TXT convertors now read the import command in inter_athena.conf
[SVN 1038: Ajarn]
* Fixed some compile errors [SVN 1037: MouseJstr]
* Added common/buffer.(c/h) [SVN 1033: Ajarn]
* Login server can now set it's ip address in the config [SVN 1033: Ajarn]
* Servers now bind to a single ip address, thus allowing multiple servers to
a single port [SVN 1033: Ajarn]
* Added experimental code to generate a stack dump when it segfaults, thanks
to Ser [celest]
- does not work with Cygwin, as it does not have glibc
- to enable, edit the Makefile and remove the # on the line:
# OPT += -DDUMPSTACK -rdynamic
- What it does: everytime eA crashes it'll generate a file "stackdump_
<number>.txt" in your save folder with a backtrace, which you can
examine and send to a dev to be fixed.
* Some more tidying up in status_get_ functions [celest]
02/03
* When loading shop scripts automatically check if the prices can be exploited
with OC/DC [celest]
* If the buying price provided in item_db.txt is above 2x higher than selling
price for an item no need to reset and redetermine the buying price [celest]
* Fixed a mistake that was causing Ruwach to only work in PvP and PvM [celest]
* Added DracoRPG's code for Joint Beat effects, thanks! [celest]
02/02
* Added checks to prevent some crashes in skill.c
[Full credit to shinomori] [SVN 1022: Ajarn]
* Removed nullpo check in skillnotok() -- otherwise it will display fail
messages for monster skills [celest]
* Added crash check for Ice Wall [celest]
* Added some optimisations by Ilpalazzo-sama [celest]
- reduce mob_data->size variable to 1 bytes
- change from if-else to switch statements in buildin_strmobinfo
01/31
* Fixed a typo in Pressure causing it to deduct sp from the caster, and remove
its sp_rate requirement [celest]
* Updated skill_range_leniency code when casting a ground targetting spell
( as in Revision 968) [celest]
* Added Karma and Manner to const.txt
-- To change a player's alignment to more Good/Evil in scripting for example,
use:
set Karma, Karma + <number here>;
In older exe's (11-08 or older) you can actually check your karma in the
character alignment screen (alt-A)
The rest is up to your scripting creativity ^^
* Delete players' ID from id_db when kicking everyone from the map-server due
to char disconnection -- Fixes an odd crash with lazy mob AI [celest]
* Added at(@) command @autoloot, which turns autoloot on or off for the
player who uses it [Upa-Kun]
01/29
* Fixed Storage Bug with Named Stackable items. Thanks to Nimion [Lupus]
e.g. Arrows, Iron, Elemental stones, etc...
* Added a crash check to Safety Wall, thanks to LebrEf[TaVu] / Freya for
pointing it out [celest]
* Added some optimisations in clif_parse_MapMove, by Ilpalazzo-sama [celest]
01/28
* Fixed a typo that was causing /in to always report failure even when the
name was removed from the ignore list [celest]
* Link "wisexin", "wisexlist" and "wisall" to the PM ignore functions, and
"friendslistadd" and "friendslistremove" to the friends list functions
when parsing the packet DB [celest]
* added clif_parse_PMIgnoreList (packet 0xd3) from jA [celest]
* Added DUMP_ALL_PACKETS and moved dump packets code in clif_parse a bit to
support it [celest]
* Added base code for Party Item Sharing -- still needs some work in client-
server support [celest]
* new GC link http://amber.stormbirds.org/~joshs/gc6.4.tar.gz
This fixes some issues... works better
* Added macros skill_chk and skill_get to check for out of bounds errors when
retrieving info from the skill_db [celest]
01/27
* Added memory leak fixes with temporary script variables and pets-related
actions, by End_of_exam / jA 1109 [celest]
* Kick all characters when the char server disconnects from the map
server [celest]
* Added @changelook command for spriters to test view ID's [celest]
* Added a check to Pneuma to prevent crashing, thanks to LebrEf[TaVu]/Freya for
pointing it out [celest] [celest]
* Tweaked garbage collection code after feedback from users
[SVN 1002: MouseJstr]
* Fixed TRADE exploits (it cures proxy hack / vending+trade hack) thanks to Freya [Lupus]
01/26
* Added bug fix for a memory leak caused when a character logs out,
by End_of_exam / jA 1108 [celest]
* Fixed a bug in gettick cache when compiling in Windows, thanks to Shinomori
(jA 1094) [celest]
* Added updates from jA 1092 [celest]
- Changed "read_map_from_bitmap" to "read_map_from_cache",
"map_bitmap_path" to "map_cache_file" in map_athena
- Fixed item effects not showing when only one was used
- Fixed a bug in Safety Wall
- Allow only either Storm Gust or Lord of Vermillion to cause damage if
stacked together
- Added path_search_long, map_find_skill_unit_oncell
* Added status_get_sc_def for calculating resistance against status
abnormalities [celest]
* Added status.c and status.h of jA 1091 update and moved some functions into
the new source files:
-- skill_status_change_ -> status_change_
-- battle_get_ -> status_get_
-- pc_calc_ -> status_calc_
-- pc_getrefinebonus and pc_percentrefinery -> status_getrefinebonus and
status_percentrefinery
* Updated auto_counter_type's description in battle_athena, thanks to
akusarujin for pointing it out [celest]
* Removed some unnecessary skill level checks in battle.c [celest]
* Removed my changes to /stable/Makefile which has libGC enabled by default
that i've accidentally commited, sorry ^^; [celest]
* Removed an unnecessary "cloneskill_lv" from map_session_data [celest]
* Removed WATER.TXT (this file wasn't used at all. There's no such mapflag as WATER even). [Lupus]
* Added Water Height of New Yuno Fileds 9 and 11.
Now Water Ball works there as should. Wizards could levelup on sleepers, too. [Lupus]
* libGC isn't ready to be the default quite yet... [MouseJstr]
Enough people have asked so... Once you grab a copy of the
libGC library from (http://amber.stormbirds.org/~joshs/gc6.3.tar),
you start up a bash shell from inside cygwin and untar
the gc6.3.tar. This will produce a gc6.3 directory. Then
cd into that directory and type ./configure. Once that is
done you type "make" and then "make install". This will
spray the various includes and libraries all over your
cygwin install (most in /usr/local).
Now, edit Makefile and change the CC line to use the
CC = gcc -pipe -DGCOLLECT
entry. Also change the GCLIB to
GCLIB = -L/usr/local/lib -lgc
Remember to comment out the ones no longer used. Do a clean
build and good luck. Obviously, this has not been tested
by that many people so you really are on the cutting edge
but if you have good results, send me a note
(joshs@stormbirds.org) so that we can see if it really is
ready for prime time.
What should you see? Well, the map-server should not
grow/consume extra memory anymore. More so, it should use
dramatically less memory then it did before using the
garbage collector.
The downside is that it will consume a little more CPU...
The question is, how much? how laggy? what effect on lots
of players? I've heard stories saying it makes the server
unplayable and others told me that they saw no
player-visible effects at all.
01/25
* Fixed TXT compile problems with libGC [celest]
* Added "Clients older than 2004-09-06aSakray" option to packet_ver_flag in
battle_athena, just in case server owners still prefer the older clients.
With so many changes to Sakray over the past months its much better upgrading
to the newer clients (November or higher recommended) available ;P [celest]
* Merged Full Strip into jA's tidier stripping skills code -- also fixes
a typo that was causing Full Strip to do the reverse effect instead,
and the skill not updating the target's status after successfully unequipping
items [celest]
* Tidy up the 4 chemical protection skills into one code block [celest]
* Corrected Slim Pitcher's code -- sorry, i missed a few things ^^; [celest]
01/24
* Fixed a typo in Provoke that was causing crashes [celest]
* Fixed another compile warning in src/char/char.c
[SVN 985] [MouseJstr]
* Fixed a account wipe bug in login/login.c (Thanks Wallex)
[SVN 984] [MouseJstr]
* Fixed a crash in char_sql/char.c where people were selecting
chars before requesting connections [SVN 983] [MouseJstr]
* some G++ compile tweaks and got through several files in the
map server - [SVN 976] [MouseJstr]
Why are we doing a C++ conversion? We have a lot of duplicate
code and would like to make the "classes" in the server share
code.. For example, a pet should be able to share code from
the player or from a mob. Similerly, introducing a new type
of entity in the game should be as simple as creating a
sub-class instead of having to crawl through the entire source
tree searching for every class check and introducing handler
code in for your new type.
Finally, while a garbage collector is "cool", it would still
be nice to have enough object knowledge on how to clean up
data that it is not absolutely required. It is faster for
us to clean up our own messes then introduce a whole system
for cleaning up after ourselves.
Is there a C++ performance penalty? Not if the code is
written correctly. For example
1) No templates - code bloat and destroys cpu cache
coheriancy
2) No C++ exceptions - slows down entering and
exiting functions
3) No operator overloading - makes it hard to
understand what is going on.
4) No C++ STL libraries - Templates, huge, bloated,
unportable
5) No method inlining - code bloat and reduces cache
coheriancy. Let the optimizer do it...
01/23
* char-server (SQL & TXT), login-server (SQL & TXT), and txt-coonvertors
(char and login) all compile on g++ now [svn 975] [Ajarn]
* Fixed the sizeof errors in g++ [SVN 972] [Ajarn]
* Reverted back some of the char* changes [SVN 972] [Ajarn]
* Changed parse_script to now return char* [SVN 969] [Ajarn]
* Converted run_script and run_script_main from unsigned char* to char*
[SVN 969] [Ajarn]
* Forgot a couple small changes [SVN 35] [Ajarn]
* Changed map_data.gat and map_data_other_server.gat from unsigned char*
to char* (this might be needed, because of unicode or something, please
correct me if I'm wrong) [SVN 34] [Ajarn]
* Converted decode_zip, encode_zip, remove_control_chars, mapif_sendall*,
and e_mail_check to use char* instead of unsigned char* (again, please test)
[SVN 34] [Ajarn]
* Modified skill unit group checking in skill_unit_onplace that might have
been causing crashes [celest]
* Updated packet 0x143 length's for version 14 (2004-11-01Sakexe) and version
16 (2005-01-10Sakexe), thanks to jathena and ice2big [celest]
* Fixed login-server compile error with the "new" -> "new_" changes [celest]
01/22
* Fixed an error that was in my last commit (optimising g++ build) [SVN 29]
[Ajarn]
* Made strlib functions char*, instead of unsigned char*. Strings are meant
to be char. (Shouldn't break anything, but might, please test this for me)
[SVN 26] [Ajarn]
* Added cast for TXT version [SVN 25] [Ajarn]
* Added cast from allocation calls, from void* to intended type [SVN 24] [Ajarn]
* Changed bool -> bool_. Still need to make convertions between
char* and unsigned char* valid, and some other convertions too.
Also, sizeof is being used wierd in map.c, at least g++
complains [SVN 22] [Ajarn]
* Changed the rest of the class variable names to class_ and all the new
variable names to new_, for futher g++ support [SVN 21] [Ajarn]
* Update both caster and target's SP after using Soul Change -- thanks to Aalye
/ Freya [celest]
* Force a monster to switch attack target when being casted Provoke [celest]
* Corrected description for @enablenpc -- "@npcon" -> "@enablenpc" [celest]
* Since job normalising is still buggy require all 1st class skills to check
for Basic Skill level when calculating the skill tree [celest]
01/21
* Updated packet DB configurations : enable_packet_db, packet_db_ver,
-- check the .txt for description [celest]
Note: For people having connection problems try setting 'enable_packet_db'
to 'no'... and use the latest client (01-10Sakexe)
* Fixed a small typo in 12-06's packets -- 21b => 21d [celest]
* Updated packet_db.txt to only contain the latest version, like jAthena,
since there's not much point to re-read packets eA already supports
(although if you remove all the //'s it can still read multiple versions)
[celest]
* Added clif_config in clif.c - for keeping packet/client connections related
stuff [celest]
* Send 'Game Exe not latest version' to a client if it hasn't been authentified
yet, but is sending a non-connection-related packet to prevent crashing
-- assume the client is using an unknown exe [celest]
01/20
* Fixed compile time problems with the non-GC case [MouseJstr]
* Introduced aMallocA and aCallocA
These two functions allocate "atomic" memory which means
"memory that does not contain references to other memory".
This lets the garbage collector ignore these objects when searching
memory for references to other objects dramatically increasing
performance of the GC.
When in doubt, use aMalloc and aCalloc. It is better to add
a tiny bit of work to the GC then do cause a crash due to memory
being cleaned up when it shouldn't.
[MouseJstr]
* Modified all calls to aMalloc and aCalloc that reference
atomic memory to use aMallocA and aCallocA
[MouseJstr]
* Modified the socket buffer allocator to use "atomic" memory
for the fifo data buffers [MouseJstr]
01/19
* added support for the Hans-J. Boehm libC garbage collector
(A copy is in http://amber.stormbirds.org/~joshs/gc6.3.tar).
It is ABSOLUTELY critical for people to use
aFree/aMalloc/aCalloc/aStrdup for this to work. If somebody
has just used free or malloc, this will crash when used with
the garbage collector.
A amusing environmental variable to set is GC_PRINT_STATS (to 1)
so that you see real time statistics of leaked data being
recovered.
grab a copy of the gc6.3.tar.. build it .. install it..
modify the Makefile to have the
CC = gcc -pipe -DGCOLLECT
GCLIB = -lgc
lines... and make the sql servers (the txt server doesn't
build using this right now due to stupid Makefile issues)
[MouseJstr]
* SVN 3 on http://svn.stormbirds.org/svn/eathena will be what
I diff against when I merge back into delta.. if we ever merge
back into delta [MouseJstr]
* Removed 12-06 Sakexe detection, since it doesn't seem to work, and
might be conflicting with 10-25 clients [celest]
* Update the Soul Burn target's SP when it has been successfully reduced to 0,
thanks to Aalye / Freya [celest]
* Moved SC_PRESERVE and SC_BATTLEORDERS's id so they'll display a status icon
when cast, thanks XiaoLin of cAthena [celest]
* Added missing code for Preserve -- i totally forgot to add it ^^; [celest]
01/18
* Added some skill bug fixes, thanks to Aalye / Freya [celest]
- stop player attacking if the target goes into hiding
- fixed Sword Reject not working against swords, only daggers
- additional check in case Marionette Control doesn't end properly even
when one of the partners has logged off
* Added stun, bleeding and SP loss effect for Pressure, thanks to DracoRpg
[celest]
* TEST: Fixed more compile warnings in MSVC [celest]
* TEST: Fixed some compile errors in MS Visual C++, thanks to Ser [celest]
01/17
* Some rewrites in skill_delayfix [celest]
- If the delay is < 0, add the weapon aspd delay to it
- If the skill is not weapon type, and has 0 delay, add 300ms as default
* Added min_skill_delay_limit as the minimum allowed delay for any skills
[celest]
* Some tidying up in battle_get_ functions [celest]
* Set exp table and job bonus table to 0 before reading - might solve some
memory bugs [celest]
* Updated skill range leniency code - If possible try and move towards the
skill target so that when casting it no longer falls out of range [celest]
01/15
* Added effects to enemies for Gospel [celest]
* Added mobs spawn to all Yuno fields (according to 4th Jan patch) [Lupus]
01/14
* Added party supporting effects for Gospel [celest]
01/13
* Added and testing support for 2004-12-06Sakexe [celest]
* Removed emblem changing requiring Glory of Guild limited to TXT only [celest]
* Corrected a typo preventing Plagiarism to work, thanks to orn [celest]
* Fixed Berzebub card and other 'reduce cast delays' equipment not working
[celest]
* Updated packet_db.txt loading to support reading into multiple packet
versions [celest]
* Removed packet_db_ver defining in packet_db.txt -- it'll determine itself
based on MAX_PACKET_VER [celest]
* Integrated packet size and function DB's into 1 packet_db [celest]
* Added MAX_PACKET_VER -- maximum versions supported by eA, including the
packet_db -- and changed packet size and function DB's to use it [celest]
* When sending 'Game exe not latest version' packet don't close the session
immediately so it will still be delivered [celest]
* Added map-server display if an unidentified client was rejected --
also fixes the 'empty string sent to _showmessage' [celest]
* Added a bug - Celest, LOOK AT THIS BUG ASAP. [Codemaster]
* Tided up/fixed some mobs [Lupus]
01/12
* Implemented Vending Log [Lupus]
TODO: use log option to log only important deals (much money, rare items, etc)
01/11
* Added Shinomori's changes to npc event timers (I never realised it, thanks
^^; ) [celest]
* Updated clif.c to be able to identify client versions based on the packet DB
[celest]
* Correct packet_db_ver to the maximum version allowed if it was set too high
or too low in packet_db.txt [celest]
* Added support for 2005-01-10Sakexe [celest]
* Updated packet functions for 2004-11-08 and 2004-12-06 (Note: eA *can*
support 12-06, but still doesn't recognise it... so unless we find a way,
it is *not* supported yet) [celest]
* Updated packet_db, thanks to Sara-chan [celest]
* REMOVED support for clients before packet version 10 (2004-08-25 and
earlier) - the client will receive a 'Game Exe not latest version' message
[celest]
* Added a check to prevent crashing when trying to log in with
2005-01-10aSakexe in servers that don't support it [celest]
* Added a fix to @sound where if you forgot the .wav exention, i'd attempt to play the file without it (it adds the .wav) [Codemaster] [SVN 949]
* Added @disguiseall / @undisguiseall [Codemaster] [SVN 949]
* Added misc. clif.c fixes (jAthena added alot of close(fd)'s, so i added them, too) [Codemaster] [SVN 949]
* Added bug reports - Celest, you might want to check one of those out [Codemaster] [SVN 949]
* Fixed a bug in clif.c which didn't allow to enther the map-server.
It worked under win32, but didn't under Linux. [Lupus]
01/10
* Completed adding packet DB reading... still needs (a lot) more work in
clif.c [celest]
* Added Shinomori's suggestions for npc timers, thanks again ^^ [celest]
* Removed checking for script event timers' length, and added Shinomori's
changes [celest]
* Start adding packet DB reading [celest]
* Added 'max_eventtimer_length' (default is 32) to script_athena.conf. [celest]
Some event timers with names longer than 24 could cause the server to close
itself, change this if you need support for even longer names
* Removed PCLoginEvent requiring 'PCLoginEvent' for the player to be set to 1
first to be activated. [celest]
* Added Shinomori and orn's fix for the skill tree to only check the first
required skill in the DB and skipping the rest [celest]
* Modified 'wedding' script command to work with "OnTimer" scripts even without
doing 'attachnpctimer' (The 'player not attached' error will still display,
but the effect will appear *over the NPC* instead of the player...
at least it won't fail ^^) [celest]
* Added 'attachnpctimer' script command for attaching the player to the current
npc's timer in "OnTimerxxxx" scripts, thanks to Wallex for the idea. [celest]
Syntax:
attachnpctimer;
attachnpctimer "<Player Name">;
Check /npc/sample/npc_test_npctimer2.txt for example.
* Added 'detachnpctimer' script command for detaching players from the npc's
timer. [celest] Syntax:
detachnpctimer;
detachnpctimer "<NPC Name">;
* Added 'OnInterIfInitOnce' for WoE scripts & modified the WoE scripts as well [Ajarn & Codemaster] [Thanks to FREYA] [SVN 943]
* Added the @sound command and the NPC command of soundeffectall
- works just like soundeffect, but plays for everyone in the area [Codemaster] [SVN 942]
* Don't allow Pets to attack Guardians outside of WoE [Codemaster] [SVN 940]
* Require 15% of HP or more for WE_MALE skill [Codemaster] [SVN 940]
* Require 15% of SP or more for WE_FEMALE skill [Codemaster] [SVN 940]
01/07
* Upon changing to high novice 100 stat points should be given, not 88 [celest]
* Give high novices First Aid and Trick Dead upon job changing [celest]
* Remove some unnecessary checks in battle.c [celest]
* Added some checks to prevent novices still allowed to attack when using
Trick Dead [celest]
* Added 'summon' script command. Syntax:
summon <monster name>,<monster id>[,<event>];
Example: 'summon "Poring", 1002, "OnPoringKilled"; 'will summon (note:
not *spawn*) 1 poring that'll help its master for 1 minute,
and activate the "OnPoringKilled" event when killed.
'summon "--ja--",-1;' will summon a random monster.
* Added Wallex's fix for the wedding script functions [celest]
* Added the below-mentioned alive packet to SQL's char and login [celest]
* Enabled login server 'anti-freeze' by default as a temporary solution
to char-login disconnection [celest]
* The TXT char server was rejecting login's "i'm alive" packet and disconnecting
it... fixed [celest]
* Stall_time wasn't being read in login_athena at all (not by the login server,
because the code didn't read it, nor by TXT map server, since its in the SQL
inter_athena.conf reading)... so moved it to inter_athena.conf, and
change sql_config_read in map.c to inter_config_read [celest]
* Some tidying up of battle_get_def and _def2 [celest]
* Added 'bDelayrate' and changed Phen card, Marduk Card and Berzebub Card's
effects to use this instead of bCastrate (which was reducing casting time,
not delay time) [celest]
* Some tidying up of skill_castfix and skill_delayfix [celest]
* Added Filougarou's fix for Bowling Bash causing it to only display damage,
but doesn't do any - thanks! [celest]
* Set delay_dependon_dex in battle_athena to 'no' by default [celest]
Note: Just to clarify things, on official servers dex is not supposed to
reduce skill delays, only Poem of Bragi and Berzebub card does!
* Fixed typo in skill_delayfix - reduce delays only if delaynodex was *not* set,
sorry ^^; [celest]
01/06
* Fixed various memory corruptions causing crashes (SVN 925) [MouseJstr]
* Fixed typo in src/map/map.c causing compile
errors (SVN 924) [MouseJstr]
* Removed the alive_timer mechanism entirly replaced with
a stall detection mechanism that will disconnect a player
who has not sent any data for a configurable
(conf/login_athena.conf:stall_time) amount of time. The default
is currently 60 seconds.
The root cause of the disconnect error is that some NAT based
routers are not dropping the TCP connection when the aliased
machine goes offline abnormally. This means that we are seeing
a stalled but perfectly valid TCP connection.
(SVN 924) [MouseJstr]
01/05
* Fixed some typos in map_versionscreen() [MC Cameri]
* Removed loop freeing in map-server's do_final(), it was causing seg faults [MC Cameri]
* Finished do_storage_final() in map-server's do_final(), it was there but doing nothing [MC Cameri]
* Fixed Celest's typo making all vended items cost 0 zeny [Codemaster] [SVN 919]
* If a vending item was priced at 0 it'll be auto changed to 1million [celest]
* Fixed TXT logging - log_athena.conf reading was kind of messed up [celest]
* Added a simplified version of Qamera's OnConnect: OnDisconnect: OnDeath:
NPC events mod, (All credits go to him.) except adapted based on eA's current
PCLoginEvent. (by davidsiaw) [celest]
- Currently only 4 events have been added: PCDieEvent, PCKillEvent,
PCLogoutEvent and PCLoginEvent
- For notes and usage example check /npc/sample/PCLoginEvent.txt (by
davidsiaw)
- To enable them for a player in a script, do
"set <name of event>, <0 or 1>;"
(yes it's saved in a permanent character variable and auto read every time)
- Simply put, if any of them is set to 1 the appropiate event will activate
p.s - Scripters who are already using PcLoginEvent, you'll need to add a
"set PCLoginEvent, 1;" now, sorry for the trouble.
* Optimised PCLoginEvent activation a bit [celest]
* Set 'droprate0item''s default to 'yes' so that items with 0 rate will never
drop [celest]
* Look at item type other than item ID as well to check whether it is a card
in card-related script commands - better support for custom items [celest]
* Reset all skill variables if the skill fails so certain skills can't be
abused (such as Warp, thanks to Alex14 for pointing it out) [celest]
* Added /mapflag/noreturn.txt for disabling butterfly wings (not fly wings)
[celest]
* Fixed skill_require_db reading somehow getting corrupted if weapons usable
for the skill is more than 20, thus causing the skills to fail everytime
[celest]
* Fixed @killmonster crashing the server with summoned monsters, thanks to
Alex14 [celest]
* Added double_connection_system to battle_athena (not completed yet) [celest]
01/04
* Fixed GM Command Logging (Not sure why TXT logging still isn't working properly :( ) [Codemaster] [SVN 907]
* Fixed one of Lupus' additions to the item_db [Codemaster] [SVN 907]
* Fixed Seismic Weapon Skill (it 100% didn't break target's weapon at 4 level of the skill) [Lupus]
01/02
* Re-fixed map-server crashing if an empty line is in skill_castnodex.txt,
thanks to Alex14 for pointing it out (SVN 899) [celest]
* Modified breaking rates calculating - meltdown's chances is separated from
self breaking chances (SVN 900) [celest]
* Reduced MAX_SKILL_LEVEL to 10 to save a bit of memory and speed [celest]
* Tidied up parts in skill_castfix a bit (SVN 895) [celest]
* Fixed map-server crashing if an empty line was added in any of the skill-xx
db files (SVN 895) [celest]
* Updated skill_castnodex reading - An *optional* 3rd value can be added to set
whether a skill's delay time can be affected by dex (SVN 895) [celest]
Example: 46,1,1 - double strafe's delay is not affected by dex
46,1,0:0:0:0:1 - only level 5 double strafe is not affected by dex
* More atempts at memory leak fixes [Codemaster] [SVN 890]
* Updated weapon breaking rates, thanks to DracoRPG (SVN 891) [celest]
* Optimized enchanting skills success rates calculation, thanks to Wallex
(you were right! ^^; ) (SVN 891) [celest]
* Modified Spiral Pierce and Breaker to type ranged (SVN 891) [celest]
01/01/05
* Attempted to fix a memory leak [Codemaster] - tell me if it works XD (NPC/Mob memory leak in npc_parse_mob(...)) [SVN 886]
* Added a char config that allows GMs that have a certain level or above to
bypass the server's user limit [Codemaster]
* Changed some create arrow outputs for new kRO 12/21/04 patch [Aria]
* Fixed some respawn delays of MVP/Miniboss monsters. Redo Umbala/Niflheim fields, added missing mobs, corrected
monsters quantity. In Niflheim fixed wrong Lord of Death monster ID. [Lupus]
12/30
* Added ispartneron, getpartnerid, and warppartner script
commands to properly support jawaii NPC's (SVN 880) [MouseJstr]
* Moved supernovice guardian angel messages to msg_athena.conf [celest]
12/29
* Fix account register wipe issue (SVN 868) [MouseJstr]
* Double storage/lag exploit fixed (SVN 867) [MouseJstr]
* Another -1 alive_timer fix (SVN 866) [MouseJstr]
* Added @dmstart and @dmtick for debugging malloc tests [MouseJstr]
* Fix some more compile errors on different platforms [MouseJstr]
* Fixing a crash if you change the name of a pet you don't have (SVN 863) [MouseJstr]
* Eliminated src/common/malloc.c when not needed [MouseJstr]
* Some code cleanup in prep for new debugging malloc (SVN 861) [MouseJstr]
* Updated Soul Breaker's damage calculation [celest]
* Updated Meteor Assault's cast delay to be not affected by dex [celest]
* Changed int_guild.c so it will calculate average guild level only if > 0
members are found - prevent divide by zero crashes (why would an empty guild
be requested to update its' member info in the first place?) [celest]
* Added Shinomori's fixes for string copying in script.c [celest]
* Removed @giveitem since #item it's the one that does this and added some of it's support to #item [MC Cameri]
-#item <item_name> <item_count> <charname|all|everyone>
* Uncommented out import in charcommand_athena.conf, there is
need to have it commented (all the others ones are
uncommented) [Ajarn]
12/28
* When restarting the char-server, reset the online status
of all characters and guild-members (SVN 849) [MouseJstr]
* Fix double timer_delete caused by pc_alive_timer (SVN 848)
[MouseJstr]
* Fixed typo in npcs_athena.conf (mc_cameri verses mc_Cameri),
thanks Mellow972 for pointing that out (SVN 845) [MouseJstr]
* Reduced weapon breaking chance for Overthrust, thanks Draco - i almost
forgot to add this update [celest]
* added checks into the skill code to prevent proxy's/bots
from crashing the server by using skillid's that
are WAY out of range (SVN 841) [MouseJstr]
* Fixed clif.c errors that prevent old clients from being used. [nsstrunks]
* Fixed @jobchange to not default to upper (SVN 837) [MouseJstr]
* Fixed a compile error in @mobsearch (SVN 836) [MouseJstr]
12/27
* Updated 1206's packet fuctions in clif.c [celest]
* Updated the new guild skills - cannot be reused within 5 minutes of
activating it [celest]
* Added @mobsearch, @cleanmap and @giveitem from jA [celest]
* Fixed the guild issues (SVN 832) [MouseJstr]
* Updated description for player_check_cloak_type [celest]
* Increased skill range limitations in pc_no_footset [celest]
* Added exp_calc_type - to alternate between 3 different versions for exp
calculating [celest]
* Reinitialized variable 'c' in map_readmap, it's supposed to have a start value. Ex. '-'. [MC Cameri]
* Commented out dump_timer_heap() again... [MC Cameri]
* Added include of string.h in malloc.c, was causing compile errors/warnings [MC Cameri]
* Modified the map progress bar to reduce updates (SVN 829) [MouseJstr]
* Updated map cache system from jA 1087 - change read_map_from_bitmap to 2 to
enable zlib compression [celest]
* don't delete alive_timers of -1 (SVN 823) [MouseJstr]
* switched malloc,calloc,realloc to aMalloc, aCalloc, aRealloc
so support the use of a garbage collector (SVN 821) [MouseJstr]
* Removed some printf's from map-sql [MC Cameri]
* Uncommented MSG_SQL, for _ShowMessage(), usage: ShowSQL() [MC Cameri]
* Removed fixed bugs in dev/bugs.txt [MC Cameri]
* Now I remember what I was smoking.. (SVN 819) [MouseJstr]
* Fixed a bug in the guild_castle persistance code
in char_sql. What was I smoking? (SVN: 816) [MouseJstr]
* Corrected a bad error in itemdb_read_itemslottable [celest]
* Corrected wrong logging of text in int_guild.c, thanks to Alex14 [celest]
* Summoned monsters will not give exp and items [celest]
* Added the 6 new Yuno fields to maps_athena.conf [celest]
* Added some Freya's optimisations in clif_parse [celest]
* Added clif_update_mobhp - monsters' hp viewing now updates properly [celest]
* Set alive_timer to -1 when quitting, not 0, or the map server might assume
its still active [celest]
* Changed the *_override_grffile to no by default, because many were having issues with it [Ajarn]
12/26
* Fixed ANOTHER pet crash (double free) (SVN: 804) [MouseJstr]
* Added a proper #define for MAX_VENDING (SVN: 802) [MouseJstr]
* Fixed crash associated with vending more then 12 items
which walked on memory.. corrupting the pet data
structure (SVN: 801) [MouseJstr]
* Fixed a crash that resulted when disconnecting (SVN 800)
the new client when the old client is still connected [MouseJstr]
* Fixed some gcc 2.95 compile errors [MouseJstr]
* Fixed some array bounds errors (SVN 799) [MouseJstr]
* @mapexit (and do_final) now persist all data to the
char server before exiting to eliminate storage/inventory
inconsistancies.. [MouseJstr] (SVN 793)
* Some cleanup of spiritball memory management [MouseJstr]
* Dramatic performance work for exp updates to sql. Previously, [MouseJstr]
when u killed a mob (in party share), it would cause the char_server to
1) Delete all guilds for all members of your party
2) Re-create all guilds for all members of your party with the new exp
values.
Now it just generates 2 sql statements per party member,
1) update the guild exp,
2) update the guild_member exp.
src/common/socket.c src/common/socket.h src/char_sql/char.c
src/char_sql/int_guild.c src/map/chrif.h src/map/pc.c
src/map/map.c src/map/chrif.c
* Disabled import charcommand_conf.txt by default [celest]
* Added Bitmap File system from jA 1086 - automatically generates a cache
from maps in the GRF to speed up loading. You can enable/disable it with
read_map_from_bitmap in map_athena.conf. Note: AFM maps will override this
cache [celest]
* Added --run_once flag for the map server for testing purposes - closes itself
when everything is done loading [celest]
* Added some code for Moonlit Petals and Basilica [celest]
12/24
* Added suggested fix when client disconnected [celest]
- send "disconnected due to time gap" and close session when timed out
- send "server still recognises last login" message and close existing
session when client reconnects
* Upped windwalk to lv 10 in skill_tree [MouseJstr]
* Fixed a scripting crash (SVN: 781) [MouseJstr]
* removed @changesex and @charchangesex until we can
fix it properly [MouseJstr]
* Fixed item-dup bug in storage and cart [MouseJstr]
* @skilltree was looking outside of the particular class
of the char to see if they could do a skill [MouseJstr]
* Fixed a calc_skill_tree bug where too many skills were
visible [MouseJstr]
* Added Dev/GDB_reports.txt, take a look in it devs [Ajarn]
* Corrected description for player_skill_nofootset and monster_skill_nofootset
in battle_athena.conf [celest]
* Added a special NPC Logging command 'logmes'. It works as mes"Hello world!";
It is useful for such NPC as BANKS, CASINO, etc. To keep track of won money, etc.
Check kafra_bank.txt 1.1 for example.
Note: mes = otput into client's NPC window
debugmes = output into map-server window
logmes = output into lognpc log DB.
12/23
* Fixed some bugs in the clif.c changes (SVN 766 to SVN 767) [MouseJstr]
* Added ayo monsters to @disguise
* Began updated clif.c to work with 1108 and 1206, tested and works [nsstrunks]
* Fixed skills still being available after a job change [MouseJstr]
* Changed pc_alive_timer to use map_id2sd - should be more accurate [celest]
* Added jA 1084's fix to mob.c - check whether the player is still alive
when calculating exp [celest]
* Added clif_changed_dir, clif_adopt_process [celest]
* updated Backstab to show the target's new direction [celest]
* Corrected the file types of several files in the SVN tree to
fix the newline issues [MouseJstr]
* Updated mapflags (added missing payon_in03,ayo_in01,ayo_in02, que_god01, que_god02) [Lupus]
* Updated Sacrifice : it's now self-activating, and lasts for 5 attacks [celest]
* Fixed compile errors in party.c [celest]
* Moved SC_EDP back to 114 [celest]
* Added some of Shinomori's fixes [celest]
* Added optimisation in intif_parse_WisMessage from Freya [celest]
12/22
* Eliminated skill tree mapping since we have entries
for all the classes in the skill_tree.txt files [MouseJstr]
* Added finding_ore_rate to battle_athena.conf, thanks to orn [celest]
* Changed how party exp is passed out to eliminate players
current in a chat window or those who havn't moved or attacked
in 2 minutes [MouseJstr]
* Fixed a bug in resnametable from local directories,
by fixing a bug in grfio_read causing memory corruptions [MouseJstr]
* Rearranged how guild messages, gm messages, and party messages
are moved back and forth between the inter server and the
map server.. eliminating unneeded round trips to eliminate
lag on a loaded char-server. [MouseJstr]
src\char_sql\int_party.c src\char_sql\int_guild.c
src\char_sql\inter.c src\map\atcommand.c src\map\guild.c
src\map\intif.c src\map\party.c src\char\int_guild.c
src\char\inter.c src\char\int_party.c
* Reverted npc.c back to before jA 1081. This fixes warp portals missing and other npc bugs [Ajarn]
* Added conditional SHOW_DEBUG_MSG for displaying ShowDebug()'s output, it was missing before [MC Cameri]
* Added #zeny, removed @charzeny [MC Cameri]
* Fixed reading itemslottable.txt causing cards to become unuseable [celest]
* Added error message if file renaming in lock_fclose fails [celest]
* Fixed frost diver not working ... my bad =p [celest]
* Corrected typo in clif_hpmeter - md -> sd [celest]
* Check if the player has been authentified by the char server before
clearing any timers in map_quit [celest]
* Added eventtimercount and timerskill_count - check these before clearing
or deleting timers [celest]
* Added sc_count check in skill_stop_dancing [celest]
* Translated the japanese part in battle_athena.conf [celest]
* Added ignore the new skill delays when chaining monk combos [celest]
12/21
* Since conf/maps_list.txt was removed, added conf/maps_athena.conf [Ajarn]
* Fixed a few NPCs that were giving curly errors. It seems to be caused by a bug that the NPCs' last line isn't read or something [Codemaster]
* Fixed a tiny compile warning in npc.c [Codemaster]
* Allowed the NPCs without proper curly brackets to still load, but give an error still [Codemaster]
* Added variable 'current_file' which tells the filename of the script while loading npcs [MC Cameri]
-the variable its set in do_init_npc() or something like that, so you can only access it
after the use of do_init_npc().
* Fixed the display of a warning saying that a right curly brace was missing [MC Cameri]
* Removed @charwarp and @rura+ and added #warp, #rura, #rura+ [MC Cameri]
* Removed conf/npcs_list.txt, and placed it in npc/npcs_athena.conf [MC Cameri]
* Moved some code in pc_break_equip that was causing compile errors [celest]
* guild skills vanished due to incorrect placement of a
check for quest skills in the calc_skilltree code [MouseJstr]
* Fixed skill LK_HEADCRUSH, LK_JOINTBEAT to work on both on
and off peco's for lord knights (fixed typo in
skill_tree.txt) [MouseJstr]
* removed LK_SPIRALPIERCE from lord knights not on peco's[MouseJstr]
* Moved the code from map_quit to pc_makesavestatus that
"adjusts" the skill tree before persisting to the character
server [MouseJstr]
* made pc_makesavestatus() properly persist skills that are
unavailable but not forgotten (example, spiral pierce). You can now
get spiral pierce, get off your peco, log out, log in, and
get back on your peco and still have not lost the skill
points you invested. This also solves the problems of when
the skill tree gets changed, players loosing the points. [MouseJstr]
* Made pc_resetskill() properly reset skills that are
currently not visible due to skilltree changes [MouseJstr]
* Finished updating most of the map-server to 1082... i'll leave the more
technical ones for the other devs ^^; [celest]
* Added other new battle_athena options from jA 1082 ... descriptions not
translated yet [celest]
* Removed my own additions for skill delays using aspd and added jA's code
(-removed-) [celest]
* Adapted skill_range_leniency to jA's code - should be more stable [celest]
* Fixed drop rates only limited to multiples of 100's - thanks to jathena
for pointing it out [celest]
* Added missing code for castle_defense_rate [celest]
* Removed pc_undead_nofreeze - no code for it [celest]
* Updated unrefineable items table - thanks to jathena [celest]
* Added 3 new script commands: [celest]
- skilleffect : shows a skill effect on the player
- doskill/skilluseid (originally by Qamera) : casts a skill on the player
- skillusepos : casts a skill on a position
* Added SC_SpeedUp0 [celest]
* Merged itemdb_read for SQL and TXT [celest]
* Moved itemdb_read_itemslottable in itemdb.c for better readability [celest]
* Removed itemdb_read_cardillustnametable limited to TXT only [celest]
* Added reading itemslotcounttable.txt from the GRF to auto set number of slots
per item [celest]
* Added a display message when reading itemslottable from the GRF [celest]
* Added options in battle_athena.conf to enable/disable reading the GRF for
indoorrswtable.txt, leveluseskillspamount.txt, num2cardillustnametable.txt,
itemslottable.txt & itemslotcounttable.txt [celest]
* Removed conf/npcs_list.txt, and placed it in npc/npcs_athena.conf
12/20
* Fixed npc_parse_mob with large/tiny monsters causing
memory corruption [MouseJstr]
* Fixed a crash in char.c with new chars [MouseJstr]
* Updated npcs_list.txt [Ajarn]
* If last_pos.x or .y == 0, set to start point [MouseJstr]
* Fixed map loading. If a map was not found, it would remove the next map in the list [Ajarn]
* Moddified some *_athena.conf's (my typos and some inncorect default values) [Ajarn]
* Added Valaris' double connection bug fix (imalive watchdog) [Valaris]
* Fixed map-server exiting when it came across a bad NPC file [Codemaster]
* Updated Valaris' large/tiny monsters - of course, he told us what he did wrong and how to fix it :) [Codemaster & Valaris]
* Updated makefiles to new strlib locations [Codemaster]
* Moved strlib.h and strlib.c into the common directory [Codemaster]
* Updated a bit of jA 1081 - it's not completly updated yet!!! [Codemaster]
* Fixed some gcc 2.95 problems [MouseJstr]
* Speedups in socket code [MouseJstr]
* made samesex weddings work and give out correct ring [MouseJstr]
* CFixed wedding NPC halting after server reboot/crash (shadowlady put in comments but didn't add to code) [Aria]
* Added reading leveluseskillspamount.txt from the GRF to auto set sp used for each skill [celest]
* Added reading indoorrswtable.txt from the GRF to auto set 'indoor' mapflags
[celest]
* Added check in grfio.c to prevent crashing if a file wasn't found [celest]
* Rolling GUILDCACHE and FASTCHAR into main branches/stable
tree [MouseJstr]
* Changed max_paramter to an unsigned int so that you can have over 255 as your max stat [Codemaster]
* Experimental: Reverting a change on deleting any skill units when we're
logging off - might reduce the 'delete_timer' errors [celest]
* Added check whether an item is allowed to be dropped, for example wedding
rings [celest]
* Updated Acid Terror - should never miss [celest]
* updated Sword Reject - should display reflected damage properly now [celest]
* Updated Double Strafe - should only work with bows [celest]
* Replaced checking whether items can be refined or not with a new function [celest]
* Added Gengar's fix for npctalk outputting to chat [celest]
* Allowed some values in script_config to be customised in script_athena.conf [celest]
12/19
* Added -DFASTCHAR to char_sql for testing performance work
before I merge it into the main running code [MouseJstr]
* Added ShowDebug(), Debug(), DisplayDebug(), printDebug(), CL_DEBUG, MSG_DEBUG to _ShowMessage() [MC Cameri]
* Replaced many \033[x;xm with their corresponding CL_xx constants [MC Cameri]
* Separated NPCs and Maps from map_athena.conf into npcs_list.txt and maps_list.conf [MC Cameri]
* Modified all the *_athena.conf's to have the import command enabled by default [Ajarn]
* Added charcommand_conf.txt and log_conf.txt in conf-tmpl/import [Ajarn]
* Fixed import command for log_athena.conf file [Ajarn]
* Updated charcommand.conf [nsstrunks]
12/18
* Added some of my info to Dev/quotes.txt, not done yet... [Ajarn]
* Added some ideas to Dev/Ideas_Suggestions.txt [Ajarn]
* Fixed import command in inter_athena.conf file [Ajarn]
* Fixed a few command compiling problems for TXT [Codemaster]
* Modified the main.sql to add the friend0 column; also added the upgrade_1.0.0.sql file [Codemaster]
* Introduced StringBuf into utils for use in building larger queries [MouseJstr]
* tested GUILD_CACHE (reducing guild related sql traffic to 30%) in
prep for unleasing it on the sql using public [MouseJstr]
* Fixed some SQL queries crashing char server [davidsiaw]
* Added several PID GM commands, thanks to Dino9021 [nsstrunks]
* Storage was merging items incorrectly [Mousejstr]
* eliminated a uninitialized var when using afm maps [MouseJstr]
* Added concept of dirty storage to reduce saves/load
to the char server (do a clean build!) [MouseJstr]
* Eliminated storage_storageopen2 as unused [MouseJstr]
* Switched to account2storage2() whenever possible
to eliminate the possibility of saving empty storage
back to the character server (storage wipes) [MouseJstr]
* Made it save storage as soon as you close the storage
window to reduce possibility of loss/abuse [MouseJstr]
12/17
* Added #item [MC Cameri]
* Added #storagelist, removed @charstoragelist [MC Cameri]
* db.c: Fixed probs with OnInit, OnTime, and etc NPC probs
Just reverted it back. [Lupus]
* Fixed warning message in db.c line 445 [MC Cameri]
* Added #effect, removed @chareffect [MC Cameri]
* Reverted a change in map.c causing problems, sorry >.< [celest]
* Updated Sphere Mine - it'll now move in the opposite direction if
being hit by its master [celest]
* Updated Wind Walk [celest]
* Fixed skill #301 causing crashes [MouseJstr]
* Fixed documentation error on gm_skills_unconditionl [MouseJstr]
* added @grind test command.. only for testing [MouseJstr]
* Added clearweather to the atcommand configuration file. [nsstrunks]
12/16
* Added a fix for AFM loading, thanks to Pete [celest]
* Updated maximum levels for supernovice to 99 [celest]
* Updated supernovice jobexp table - should be same from 50 onwards [celest]
* Corrected maximum job level checking in @joblvup and @charjob [celest]
* Added the new spell scrolls, thanks to Landarma [celest]
* Corrected a few skills, thanks to orn [celest]
* Corrected Extremity Fist to not require Explosion Spirits when being used
right after using Combo Finish or Dilemma [celest]
* Added instant cast weapon skills rely on attack speed as cast delays, not
on dex [celest]
* Fixed mob_ghostring_fix not working [celest]
* Changed default value for mob_ghostring_fix to 'yes' [celest]
* Added #itemlist, removed @charitemlist [MC Cameri]
* Changed @job and #job so that when it's used it unequips all the items, to prevent sprite errors [MC Cameri]
* Fixed a misuse of mysql_config (thanks Daegalus for
creating a reproducable environment for me) [MouseJstr]
* Fixed compile time errors for gcc 2.95 [MouseJstr]
* Updated Forging and Potion making formulas by DracoRPG [celest]
* Changes to the guild skills
- Dropped using sc_data and use flag values instead
- Changed moving guild skill units to once every 'move request' only instead
of every movement - should reduce server load abit
- Corrected crash when checking its skill requirements
* Initialise 'canregen' when logging into map - forgot to add this earlier,
sorry ^^; [celest]
12/15
* Fixed more compile errors gcc 2.95 [MouseJstr]
* Removed log files from svn... they will be created when
needed [MouseJstr]
* Removed unused var in src/map/map.c:107 [MouseJstr]
* fix compile error in text converters [MouseJstr]
* Skill Updates [celest]
- Corrected traps to last longer in GvG
- Some minor changes to Hiding, Cloaking and Chasewalk to prevent it from
not working if sc_data is null
- Corrected an error in Cannibalize
- Updated Marionette Control to check its range from the partner
- Updated Berserk to disable hp and sp regen for 5 minutes after the skill
* Changed the weather gm commands to be able to toggle on and off. For example,
use @snow once to turn it on, reuse it again to turn it off. [celest]
* Added Jawaii and Ayothaya to @go list [celest]
* Changed the default values for ranged, magic and misc damage rate in
battle_athena to 60, 50 and 60 [celest]
* Removed redundant 'berserkdamagetick' from map_session_data [celest]
* Added changes to map.h according to Shinomori [celest]
12/14
* Changed "Map-server can't connect to char-server" message to reduce output spamming and set it to
display only once [MC Cameri]
* Added a busy animation for npc loading [MC Cameri]
* Replaced the way map loading was displayed into a progress-like way [MC Cameri]
* Fixed some typos in _ShowMessage() [MC Cameri]
* Replaced lots of more printf's in map-server with _ShowMessage() [MC Cameri]
* Added constants for console colors in showmsg.h [MC Cameri]
* src/char_sql/int_guild.c:56 - t_mes2 was not big enough causing
stack overrun's, corruptions, and crashes [MouseJstr]
* common/mmo.h: changed base_level and job_level to unsigned int to increase max levels [Codemaster]
* char/char.c: added a NULL check for the file in parse_friend_txt [Codemaster]
* map/atcommand.c/.h: added @clearweather (thanks to Dexity) [Codemaster]
* map/charcommand.c/.h: added #spiritball [Codemaster]
* map/mob.c: fixed a compiler warning (ln was an int and was supposed to be an unsigned long int) [Codemaster]
* Added nullpo_retb to nullpo.c - does a break; if null [celest]
* Replaced some parts in skill.c with nullpo checks [celest]
* Corrected some typos - penaly -> penalty [celest]
* Skill Updates [celest]
- Most of 12/14's Sakray patch
* The SKILL_MAX_DB (yes, a different #define from the one below)
was not large enough for current skills causing memory
corruptions and crashes [MouseJstr]
* Fixed how socket handles EAGIN errors (retry instead of
disconnecting) [MouseJstr]
12/13
* Skill Updates [celest]
- Added the new 'Throw Tomahawk' skill (Requires Sakexe1129 or newer)
- Added some new monster skills - but still not complete.
- Adjusted Palm Strike, Tiger Fist and Chain Crush based on 12/14's patch
* Removed redundant 'sg_count' for map_session_data and mob_data [celest]
* Save both persons' data after trading in case a crash causes them to
rollback - fix by Freya [celest]
* Removed 'type' paramater from pc_unequipitem to use 'flag' instead[celest]
* Moved unequip checking code from clif.c to pc.c [celest]
* Replaced many printf's in map-server with _ShowMessage(). [MC Cameri]
* Skill timers for skills with id's higher then 450 were
corrupting memory [MouseJstr]
* Increased max skills to 650 from 450 fixing MANY crashes [MouseJstr]
* Creating Guild events were reading beyond supplied guild names ,
causing crashes [MouseJstr]
* trades were derefing -2 into the inventory table sometimes [MouseJstr]
* Not having a arrow in your inventory but having a bow
could cause it to set sd->status.inventory[-1].equip=32768
resulting in a memory corruption [MouseJstr]
* local broadcasts of messages larger then 64 bytes were
corrupting the stack, causing crashes [MouseJstr]
* mob eventnames were reading beyond source point, risking
going over page boundries, causing crashes [MouseJstr]
* Internal MAIL system: moved all strings to msg_athena.conf [Lupus]
12/12
* Made guild skills to check for skill levels first when casting [celest]
12/11
* Modified arrow checking in skill.c [celest]
* Corrected Cart Revolution damage calculation [celest]
12/10
* Fixed players unable to move in AFM maps [celest]
* Added error message if a player's last map couldn't be found [celest]
* Moved AFM map check to map_mapname2mapid [celest]
* Added USE_AFM and USE_AF2 to be used later [celest]
* Modified sc_data check in pc_damage [celest]
12/9
* Moved a map_freeblock_unlock() around to eliminate a
crash [MouseJstr]
* Fixed how players are cleaned up when they disconnected
during authentication [MouseJstr]
* Adjusted some messages in @marry [MouseJstr]
* Skill Updates [celest]
- Fixed Auto Spell not working
- Fixed skill level check causing Baphomet card not to work at all (possibly
other problems too)
- Added some new monster skills based on jA mod 1077
* Changed @job to accept text job names - For example: @job wizard, @job high
priestess, @job super baby [celest]
* Added sc_data check for pc_damage [celest]
12/8
* Fixed @rings [MouseJstr]
* Added @marry, @divorce, and @rings [MouseJstr]
* fixed @revive [MouseJstr]
* Added option to turn off login server logging [celest]
* Moved char server starting logging to after we've read the configuration
file first [celest]
* Fixed crash with supernovices with 100% base exp [celest]
* Updated the readme a little. [Mass Zero]
12/7
* Added GUILDCACHE #define to int_guild.c for testing performance
effects [MouseJstr]
* Skill Updates [celest]
- Arrow Shower, Double Strafing, Charge Arrow, Throw Arrow, Sharp Shooting,
Arrow Vulcan, and Musical Strike now take arrows when used
- Level 6-10 Stone Curse will not consume a red gem now when it fails
- Players should be able to use items when they're stoned but not yet
completely petrified
- Corrected Triple Blow to work with bows (they actually do ^^)
* Added 'guildgetexp' script command [celest]
* Added bLongAtkRate item effect [celest]
* Implemented Confusion (50%) - still need more info on how monsters act
when they're confused [celest]
* Added 'Guardian Angel' code for supernovices [celest]
12/6
* Fixed file props for new npcs [MouseJstr]
* Fixed weddings.txt as per Fress_Boy [MouseJstr]
* Added a case_sensitive to login [MouseJstr]
* Fixed follow crashing server when gm dies [MouseJstr]
* Fixed global message not working on txt [Wizputer]
* fixed a server crash in mobinsite [MouseJstr]
* fixed a server crash in party sharing exp [MouseJstr]
* fixed a server crash in BS_FINDINGORE [MouseJstr]
* Updated Chase Walk [celest]
* Added 'checkoption1' and 'checkoption2' script functions - Refer to
/npc/sample/npc_testchkoption.txt for similiar examples [celest]
* Updated maximum level for Guild Skills [celest]
12/5
* Fixed another crash sending updates to disconnected
clients [MouseJstr]
* Fixed the range_check again to stop it from crashing
servers [MouseJstr]
* removed stubbed out unfinished atcommands as per Cameri [MouseJstr]
* Fixed nullpo's for gcc 2.95 [MouseJstr]
* Fixed bug in which login-txt was crashing in do_final() due to some free's [MC Cameri]
* Added nullpo's to all atcommand's functions, phew... [MC Cameri]
Note: I point out that MouseJstr has added some @commands that start with char which
havent been finished, they are just there but don't do anything.
* Removed mapbug.txt and corresponding function in map.c (realized it's pointless) [MC Cameri]
* Added allow_atcommand_when_mute - Change this to set whether muted players
can use gm commands [celest]
* Temporarily leaving the changing guild emblems requiring Glory of Guild
feature only for TXT until the SQL char-server supports guild skills fully[celest]
* Modified battle_range again to check if src's type is a player first [celest]
* Corrected typo in battle_range [celest]
* Fixed a crash where party chats can be sent to a
partially disconnected player [MouseJstr]
12/4
* Fixed a crash in clif_send when player disconnects but player
object is not fully removed from map [MouseJstr]
* Fixed a crash associated with NPC_BARRIER [MouseJstr]
* Renamed flush_fifos_at_exit to flush_fifos [MouseJstr]
* call check_connect_char_server() on char_server disconnect [MouseJstr]
* stale skill groups were crashing server [MouseJstr]
* Fixed crash in SC_LULLABY [MouseJstr]
12/3
* hacked the frozen mob issue [MouseJstr]
* Fixed a battle_range crash [MouseJstr]
* Updated Stone Curse, Soul Drain, Auto Berserk [celest]
* Added a fix for MVP exp being multiplied twice by Gengar
* Modified battle_range to check for sd first [celest]
12/2
* Fixed double login feature, resets online users when map connects to char [Wizputer]
* Changed all LOGS inserts to INSERT DELAYED (MySQL has this feature and cache unimportant queries, then
executes them at once together = 10x faster) [Lupus]
* Skill Updates [celest]
- Modified Weapon Refine - should only +1 every time.
- Updated Berserk, Chase Walk, Slim Pitcher
- Added skill_range_leniency : In some cases when moving to cast a skill the
exe will a send a UseSkill packet before the server has moved us to the
correct position, causing it to fail. Leaving this at 1 should be enough.
- Fixed a bug that was causing monsters not to move towards the target
* Added check for clif.c in case the server didn't realise we've died [celest]
* Added a fix for @npcmove by JohnC and Fredzilla
* Added motd_type : Set this to 1 if your clients have langtype problems and
can't display the motd properly[celest]
* Edited atcommand.c to fix compile warnings [celest]
12/1
- Make it build against gcc 2.95 [MouseJstr]
- Changed #define MAX_PET_DB to 300, it's easier for people adding new pets like this. [Nas]
* Skill Updates [celest]
- Updated Poison React
- Added Soul Change, Soul Burn
- Added a somewhat crude timer for Venom splasher
- Added a fix for Guild Skills causing crashes by Sara, thanks!
11/30
* Fixed client crash when disguised characters die [celest]
* Skill Updates [celest]
- Fixed and finished Guild Skills (~90%)
- Fixed Meltdown and Overthrust used together breaking your own weapon
- Updated Weapon Repair :- uses different materials depending on repaired item
(Iron Ore/Iron/Steel/Rough Oridecon)
- Fixed sp recovery problem, thanks to OutSider for pointing it out
- Updated Tiger Knuckle Fist stun time
- Added cooldown time for Emergency Recall
- Fixed typo in skill.c, thanks to Toster
11/29
* Fixed crash in src/char_sql/char.c when setting chars offline [MouseJstr]
* Added mapbug.txt which is displayed in map-server, displays
the last bug or w/e fixed for the map-server [MC Cameri]
-You may change it whenever you want
-It will only show if mapbug.txt exists
-This file must not be included in releases
* Made some changes in map_versionscreen() to make it easier to
read/change in the source [MC Cameri]
* Fixed a typo in _ShowMessage() removing the message caption. [MC Cameri]
* Fixed typo in map_helpscreen() showing -h instead of --?. [MC Cameri]
* Added more sc_data checks in skill.c and pc.c [celest]
* Updated Quagmire, Enchant Deadly Poison, Fog Wall [celest]
11/28
* Fixed a crash in login_sql/login.c [MouseJstr]
* made common/socket.c more crash resistant [MouseJstr]
* Added flush_fifos to socket.c so that we can make sure everything
has been sent before we shut the process down [MouseJstr]
* Modified src/char_sql/char.c to flush fifos on exit [MouseJstr]
* Fixed a crash in src/map/map.c shutdown where it would
use the char_fd session after it was alrady cleaned up [MouseJstr]
* removed conf-templ/atcommand_athena.conf.orig [MouseJstr]
* removed a USE from sql-files/main.sql that should not be there [MouseJstr]
* Changed MSG_INFO color to bright white, since bright blue want so bright... [MC Cameri]
* Made Map Removed: %d string be displayed only if there were maps removed. [MC Cameri]
* Fixed online system for char not sending players left "online" to login when restarting [Wizputer]
* Fixed damage formula of Cart revolution: 150% +1% per 80ea [Lupus]
* Removed 2x Chance of Equipment Breaking during CRITICAL attacks [Lupus]
* Fix some file props [MouseJstr]
* Added map_versionscreen(), displayed when --version flag is passed on command-line. [MC Cameri]
* Finished map_helpscreen(), displayed when --help flag passed on command-line. [MC Cameri]
* Changed Guilds Extention Skill to +6 people per level. [Lupus]
(tested it for 2 weeks! or a big server)
* Added a fix for gettimeofday() for WIN32 [Codemaster]
* skill Updates:
- Updated Slow Poison, modified checks for skill_unit_onplace abit. [celest]
- Updated Finger Offensive, thanks to orn [celest]
* Updated packet_ver_flag's default value, thanks to iscandium [celest]
* Added warning if motd.txt was not found [celest]
(Turn on error_log in battle_athena.conf to enable it)
11/27
* Fixed a few map crashes when char-server crashes [Wizputer]
* Added fix of 0x2aff and 0x2af8 flooding [Wizputer - thanks Toster]
* Fixed Map crash when person uses global message hacks [Wizputer]
* Fixed online system, online column works and prevent double login at the login server [Wizputer]
* Fixed some compile time errors associated with showmsg [MouseJstr]
* Added get_svn_revision() in core.c [MC Cameri]
-Only if you have the file .svn\entries, it will show the revision # at runtime.
11/26
* Fixed Abrakadabra (2 minor bugs of consumed items - they were ignored if placed in 0 pos) [Lupus]
* Finished Full Strip, Weapon Refine, Slim Pitcher and Full Protection. [celest]
* Added skill_nocast_db.txt. Use it to set which skills cannot be used in
which conditions [celest]
11/25
* Added @skilltree to help GM's answer skill tree questions [MouseJstr]
* Update Spider Web; I believe you cannot use it on yourself now. [Codemaster]
* Added Ore Discovery, and base code for Slim Pitcher and Preservation [celest]
11/24
* @charreset #reset [MC Cameri]
* @charstatsall is now #statsall [MC Cameri]
* @charsave is now #save [MC Cameri]
* Updated most of jA's 1067; battle.c and skill.c might need more updates! [Codemaster]
* Fixed char-txt crashing when closing, Codemaster free()'s. [MC Cameri]
* Skill Updates: [celest]
- Updated guild skills (60%)
- updated Weapon Repair and Aura Blade by DracoRPG
- modified Weapon Repair to use Identify's packet, should show a list of
repairable items now
11/23
* Fixed script loading small/large monsters. [Valaris]
* @charoption is now #option [MC Cameri]
* @charpetfriendly is now #petfriendly [MC Cameri]
* @charstats is now #stats [MC Cameri]
* Skill Updates: [celest]
- Added some code for the new guild skills (50%) and Moonlit Petals (5%)
- Notes to other devs: Guild skills with id's 10000-10014 will be stored in
skill_db[500-514]
- Corrected Hilt Binding
- Corrected Assassin Cross' dual wield
- Changed player_cloak_check_type to yes by default and edited description
since it's already fully implemented.
- Added a bit more restrictions to Call Partner and Emergency Recall and
updated mapflag for sec_pri.gat
- Added pc_calcspeed and updated Cloaking so it won't need to recalculate
the player's entire status everytime there is movement.
11/22
* (TXT)Stripped some code off read_gm_accounts() and made with it addGM() [MC Cameri]
-Usage: addGM(account_id,level);
* (TXT)Changed GM_accounts.txt to meet new standards. [MC Cameri]
* (TXT)Enabled the use of id ranges in GM_accounts.txt [MC Cameri]
* Added a few free()'s so that I am sure it freed the allocated memory (char & login) [Codemaster]
* Changed monsters_ignore_gm option to a level value. [Valaris]
(accounts greater than or equal to this setting won't be attacked by aggressives.)
* Fixed mapflag #s and constants for setmapflag and remove mapflag. [Valaris]
* Added skill names for kRO 11/23's new skills [celest]
- Preserve, Full Strip, Weapon Refine, Slim Pitcher, Full Chemical Protection,
(Throw) Tomahawk
* timer.c static int timer_heap_max=0; //fix by Shinomori from eA forums
ititialize static var!!!
* Added the old effect list # into effect_list.txt of spira's. [shadow]
* Added new flag (#3) to clif_specialeffect [MC Cameri]
* @doom,@die,@doommap now display the Dark Cross effect on you. [MC Cameri]
11/21
* Display IP when wdata is expanded [Wizputer]
* Added bClassChange,%; Has random chance to turn monster into another monster. [Valaris]
* Re-Fixed Trade/Vending exploit [Lupus]
* Fixed @whozeny. [Valaris]
* Added rest of mapflags to const.txt. [Valaris]
* Closed AFM files after reading, this fixed the improper char-server session #. [Valaris]
* Skill updates: [Celest]
- Updated Basilica, Sharp Shooting, Berserk, Meditatio (Thanks to DracoRPG!)
- Fixed a typo with Blade Stop that was causing crashes, sorry. ^^;
- Reverted changes to Cloaking, ours is already more updated! ^_^
- Added temporary code for guild skills to stop crashing
* @alive, @raisemap, @raise, @revive now display the resurrection skill animation [MC Cameri]
* @charpetrename(AtCommand) is now #petrename(CharCommand) [MC Cameri]
* @charjob/(AtCommand) is now #jobchange(CharCommand) [MC Cameri]
* Removed japanese interserver packets, should fix various problems (jumpto, where, charposreq). [Valaris]
* Added Yor's trade exploit bug fix. Added 2 skills bugs in the bugs.txt [Lupus]
* Added charcommand.c/.h for the following reasons: [MC Cameri]
- Less congestion in atcommand.c
- Port commands that start with @char to #, example:
~ @charoption will now be #option
11/20
* Added str_lower() function to atcommand.c (from OA). [MC Cameri]
* Simplified @charchangesex to @charchangesex [player], your sex is changed to the opposite one [MC Cameri]
* Added @refresh, which is like a @jumpto <<yourself>>. [MC Cameri]
* Added @petid <pet name> to find pet names, useful when you dont know which pets have eggs. [MC Cameri]
* Added an effect_list in docs/ for descriptions, free to add onto that later. [spira]
- Attempt to find new skill effects.
* Added "nogo" mapflag to prevent the use of @go on a specified map. [Valaris]
* Fixed small/big monster spawning crashing (mixed up the merge). [Valaris]
* Fixed crash with upgrading TXT and having more than 256 accounts. [Valaris]
* TXT upgrades will convert broken flag to attribute column. [Valaris]
* Prevent use of emotion packet to display red mute emote. [Valaris]
* Initialized "day" variable in npc.c. [Valaris]
* Added @whozeny. Shows list of top 50 online players and their zeny sorted from highest to lowest. [Valaris]
* Added @happyhappyjoyjoy. Makes all players on server do a random emote. [Valaris]
* Removed -funroll-loops from compile, thanks to kashy for pointing out the problems caused by this. (Do not re-add!) [Valaris]
* Added check for max vending_max_value when reading config [kobra_k88]
* Skill updates [celest]
- Napalm vulcan, Enchant Deadly Poison, Slow Poison (based on jAthena 1066)
- Create Deadly Poison, thanks to DracoRPG!
- Added effect for Meteor Assault
* Added night_darkness_level to battle_athena.conf. [celest]
Use this to set 'how dark' it'll become during night time. Use 0 for default,
or between 1-10. (Yeah, i know lots of people hated the original night! xP)
Warning: It may cause errors with old exe's!
11/19
* Re-added check for empty bottle when using aqua benedicta. [Valaris]
* Fixed skills not showing after using @allskill [celest]
11/18
* Added a line to @unmute, added @mute. [celest]
Usage: @mute <time in minutes> <character name>
* Added save_flag for skill_status_change_start [celest]
* Fixed muting not being saved when you quit/change characters/log off [celest]
* *Hopefully* fixed the skill tree problem where you have to use 49 skill
points first before 2nd job skills will show... please report any bugs found
with it, thank you. [celest]
* Added flag to pc_unequipitem (thanks to DracoRPG for suggestion) [celest]
* Skill updates [celest]
- Updated Cloaking (thanks to orn), Endure
- Pneuma (thanks to DracoRPG)
- Changed sc_ id for Basilica
- Cancel Basilica (100%) when caster moves or uses another skill
- Updated Poison React (90%), Endure
- Added SC_BLOCKSKILL, SC_SLOWDOWN
* Modified pc_attack to fix monster npc's not working in certain exes, thanks
to leinsirk10 [celest]
* Moved mapflags organized by type to main mapflag folder and removed "type" folder.
Removed mapflags organized by location.[kobra_k88]
11/17
* Added stub-handler for packet 0x3090 into char_sql [MouseJstr]
* Fixed a crash in the afm reading/closing code [MouseJstr]
* Added skill_steal_type to battle_athena.conf for the new (but unconfirmed)
stealing formula [celest]
* Skill updates: [celest]
- Removed annoying skill fail messages from rogue's Snatcher
- Add sc_data check for firewall and fogwall
- Fixed Berserk (99% hopefully? ^_^)
11/16
* Fix for compiling against gcc 2.95 [MouseJstr]
* Added day of week events (OnSat2000) into scripting engine [MouseJstr]
* Temporarily Disabled GM Command Logs; Weren't working Properly >_<! [Codemaster]
* Fixed a typo in ../db/Changelog.txt [Nana]
* Added -funroll-loops argument to makefile to further increase performance [Shinigami]
* Fixed 2 bugs in DELITEM script command. [Lupus]
- added deleting priority: If you have some items with the same ID and want to delete some of them, then
at first it'll delete common items then, if necessary, delete the rest items but upgraded/named/with cards. [Lupus]
* Added checks for Perfect hiding [celest]
* Modified level 0 skill check to allow auto blitz beat and steal. [celest]
* Added constant BaseJob. [celest] Usage: For example, instead of
If (Class==12) || (Class==4012) || (Class==4035)
you can use
If (BaseJob==12) or If (BaseJob==Job_Assassin)
* Added 'indoors' mapflag : When in-doors players will not be affected by Night [celest]
* Skill updates [celest]
- Assumptio is now disabled in GvG maps.
- Changed cloaking checks a bit.
- Tidied up some parts of skill.c abit. ;P
* Added pk_min_level option in battle_athena.conf. Change this to define the
minimum level players can attack others when pk_mode is on. [celest]
11/15
* Added a Database Changelog.txt File, use it for any changes inside the db folder. [shadowlady]
* Added GM Command Logs & Added TXT Logs + TXT Log Options [Codemaster]
* Added spawning of monsters at specific level by adding ,# after the spawn name. [Valaris]
mobs_level_up option should be on when using this.
(Example: {ama_dun01.gat,0,0,0,0 monster Shinobi,99 1401,1,0,0,0} to spawn a level 99 shinobi.)
* Added addtoskill script command for (levels can stack on top of existing levels). [Valaris]
Use same usage as skill script command.
* Added -ffast-math argument to makefile to increase performance, thanks to kashy. [Valaris]
* Added small and big mob sprite spawning. [Valaris]
-Added @monstersmall and @monsterbig commands.
-For using in scripts, use id +2000 for small and id +4000 for big.
(Example: 3002 for small poring and 5002 for big poring)
* Added mobs_level_up option. [Valaris]
-Everytime a monster kills a play their level will increase and show levelup animation.
-Their 6 main stats and speed will increase as they level.
-They will recover 10% of the max hp of the player it kills.
-Player will gain extra exp based on how much stronger a monster is than normal.
-Skill estimation will show monsters current level (instead of reading from db).
-Will display level 99 aura if and when a monster hits level 99.
-They will not go higher than level 99.
* Fixed maximum skill levels not following skill tree [celest]
* Updated HP/SP for baby classes [celest]
* Corrected pc_calc_base_job [celest]
* Skill updates [celest]
- Marionette Control (70%), Berserk (thanks to DracoRPG)
* Modified pc_jobchange code to work with new pc_calc_base_job [celest]
* Corrected skill_tree_get_max, sorry >.< [celest]
11/14
* Made the Advance jobchangers to kRO standars with the following;
- Checks if you are level 99/50 and 2nd class OR above.
- Checks if you have an Cart of Falcon equiped.
- Checks if you have any Quest Skills, stores a variable on you and gives them back
when you change to 1st advance class.
- Added minimum joblevel to change to an 2nd or 2-2 advance class to job 45 after kro. [Nana]
* Fixed loading of AFMs when no resnametable is found. [Valaris]
* mob_db.txt: Fixed Golden Thief Bug MVP MOB mode (it wasn't moving/attacking) [Lupus]
* Added AFM (Advanced Fusion Map) support, thanks to alexkreuz and fusion. [Valaris]
Use the afm_dir option in grf-files.txt (currently needs a resnametable.txt).
* Initialized password variable in login.c. [Valaris]
* Added zeny_from_mobs option. [Valaris]
* Corrected the file type attribute on most of the files in three which fixes the
newline issues between linux and dos [MouseJstr]
svn propset -R svn:eol-style native .
* Skill changes [celest]
- Corrected steal formula, updated BladeStop, Headcrush.
11/13
* Fixed map-server loading, doesn't require data\resnametable.txt anymore [Wizputer]
* Updated & Optimized TXT Login from FREYA. (need to do SQL now) [Codemaster]
* Removed compile warnings in intif.c. [Valaris]
* Fixed chrif_changesex and @changesex, now uses packet 0x3000. [MC Cameri]
* Updated some skills, credits to orn and midas. [celest]
- Magnum Break, Throw Stone, Sprinkle Sand, Magic Power, Memorise, Quagmire,
Spider Web, Reject Sword, assassin's Dodge, Demonbane, Divine Protection.
- Firewall, Quagmire, Fog Wall (100%), Marionette Control (30%), Sandman,
Claymore Trap
- Adjusted some mob skills for mod support.
* Fixed weight increase when riding. [celest]
11/12
* added folder: /save-tmpl, removed folder /save
* battle_athena.conf: Updated Packet Version Flags.
* !!!Fixed Mobs Attacking!!!: Thanks for MagicalTux and Yor, I fixed the mobs attacking by using one of their files. [Codemaster]
* Warps Update : Added ayothaya warps in ./npc/warps/ and in map_athena.conf [Nana]
11/11
* Skill Updates : (Need to revise skill_cast_db.txt for new updates)
( Sharp Shooting, Sword Reject, Chain Crush Combo, Tiger Knuckle Fist,
Head Crush, Arrow Vulcan, HP COnversion) Thanks to DracoRPG.
Fixed Devotion use requeriments. Thanks to Orn. [shadow]
11/11
* Corrected minor typo in item_db, and removed/commented out dupe items.[kobra_k88]
11/10
* Updated Sprout (Item #7193), Thin Trunk (Item #7186),
Huge Leaf (Item #7198), and Rante Whip (Items #1956, #1957)
- thanks to cheng - [Codemaster]
* Updated Parasite (Mob #1500) Drops - thanks to cheng [Codemaster]
* Updated Soft Grass Leaf (Item #7194) - thanks to cheng [Codemaster]
* Added, Fixed & Updated ALOT of skills: [Codemaster]
- Fire Pillar, Backstab, Grimtooth, Poison React, Falcon Assalt,
Skin Tempering, Hilt Binding, Frost Nova, TEMPORARY fix for Create Deadly Poison,
Enchant Deadly Poison, Endure, Sacrifice, Spider Web, Memorize,
Hyper Spirit Sphere, Palm Strike, Sword Reject, Pressure, Magic Crasher,
Amplify Magic Power, Napalm Vulcan, True Sight, Wind Walk, Aura Blade,
Concentration, Cart Boost, Magic Power
- Thanks goes to Celest, Midas, and DracoRPG!
* Fixed spira's mistake in using the packet_len_table; no biggie ^_^ [Codemaster]
* char/char.c & char_sql/char.c: Fixed start_armor and start_weapon - thanks to AppleGirl [Codemaster]
* Added packetver 6 flag to makefile. [Valaris]
11/09
* mob_db.txt: Fixed Drake dropping the wrong card - thanks to roslen [Codemaster]
* chat.c: Fixed multiple joins in a single chat - thanks to Alex14 and CHaNGeTe. [Codemaster]
* clif.c: Fixed sitting. [spira]
* - Fixed item 657 Job ID , 11/09 patch updates to item_db, Correct stats for item 5097
- Added Unbreakable funcions to item_db armors/shields/garments/footgear [shadow]
* Defined SO_REUSEPORT to allow the servers to re-use ports if server crashes [Wizputer]
11/08
* Added new script command: getMapXY(MapName$,MaxX,MapY,type,[CharName$]) by Lorky [Lupus]
Get position for char/npc/pet/mob objects.
* Attempted to fix the mob bug (still haven't :( ). Still updated mob.c/clif.c/chrif.c according to jA 1057. [Codemaster]
* Fixed item_cardalbum.txt: Removed extra column which mad all albums empty [Lupus]
11/07
- Fixed a few npcs will start implementing new ones soon, have alot on paper, need to type them up. [Nasedo]
* clif.c: Added a few things from jAthena 1057 [Codemaster]
* Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88]
* Fixed compiling error in Map Server in which @repairall was using old broken system [Shinigami]
11/06
- Added missing items in item_db.txt and reorganised it.[Nasedo]
- Fixed wrong coords for payon guild flags (it has the old map coords), fixed some weapon effects in item_db,
updated the mob_db (90%+ done), added EP 5-9 mobs to mob_branch.txt and EP 6 cards to item_cardalbum.txt[shadowlady]
* atcommand.c/.h,chrif.c/.h, added @changesex. [MC Cameri]
* mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster]
* mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster]
11/05
* Fixed and redo optional Umbalian quests:
- Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in
alternative way)
- On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest
(For Sphinx Mask)
* Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons)
Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every
easy quests with expensive prizes to avoid exploits) [Lupus]
* Revised and fixed all comodo,yuno,amatsu,gonryun,umbala mobs and drops. Also fixed mvp and woe mobs too [Shadowlady]
* Fixed crash from guild skill point allocation, there seems to be a problem with guilds loading still. [Valaris]
* Fixed committed typo in map_athena.conf, remove aria's dev npc (was giving errors preventing server startup). [Valaris]
11/04
* Added sara-chan's packet db with support for 11-1 [Valaris]
* [alot of files >_<]: Changed connecting a bit, from oA source; it connected easier/better in my opinion so... [Codemaster]
* map/skill.c: Added a few checks for level 0 skills being used. [Codemaster]
11/03
* Removed broken column, using attribute column for broken equip now. [Valaris]
11/02
* Fixed compile time errors for gcc 2.95 [MouseJstr]
* Changed Blacksmith skill "Hammer Fall" to only be used with maces or Hammers [Aria]
11/01
* Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria]
10/31
* Fixed Devnpcs giving off errors -_- [Aria]
* Fixed showmsg.c compile warnings thanks to LittleWolf. [Valaris]
* map/skill.c: removed a second declaration of sc_def_vit in skill_castend_nodamage_id; thanks to spira [Codemaster]
* map/battle.c: re-did Water Ball's damage calculation [Codemaster]
10/30
* Added new guild skills to skill_db from sara-chan. [Valaris]
* db/skill_cast_db, map/skill.c, map/pc.c: Corrected a few CHASEWALK things; Thanks to Celest [Codemaster]
* char_sql/char.c: removed the double free()ing of gm_account [Codemaster]
* Added check for c value in int_guild.c before dividing to calculate average level. [Valaris]
* Commented unfinished dev npcs and added devnpc to map_athena. [Aria]
* Removed item requirement of Aqua Benedicta (10/26 patch) [Aria]
* Fixed some compiling error for Map-server [Shinigami]
* Removed Rogue's backstab pushback effect (kRO style again) [Aria]
* Changed requirement of Fire Pillar to fit kRO style; lv1-5 = no gem, but 6-10 = 1 gem. [Aria]
* Added Mugendai's oA GUI support for map-server (previously not added) [davidsiaw]
* Included Mugendai's oA GUI in the GUI folder [davidsiaw]
10/29
* another exploit fix for mult in script [MouseJstr]
* Corrected mode for peco, condor mobs. Added custom mobs Easter Egg and Easter Bunny for easter egg event script.
Corrected mysteltain card location, penomena card typo.[kobra_k88]
10/28
* Cloak Speed fixed [Aria]
* Throw stone damage fixed [Aria]
* Added new packets from Sara to packet database. [spira]
* Fixed and changed command lists to reflect on new packet changes. [spira]
- @jumpto, @recall, and @where
- Removed old @ignore* functions because they are no longer needed.
* Replaced old whisper ignoring code with better and more efficient code. [spira]
* Added packet_db.txt support, removed old packet functions. [spira]
* fixed forger-zeny exploit [MouseJstr]
Doing script math that returns a number greater then (1<<31) will now
return a (1<<31). This prevents you from finding a npc that
asks for a quantity then mults the cost by that quantity to get
what you need to pay.
10/27
* Updated CSS styles for readme a bit [Aria]
* branched athena at version 340 to begin work on the packet_db
stuff from jA. To retrieve it, do a svn co http://dev.deltaanime.net:8080/svn/eathena/packetdb
later, once we are happy with it.. and feel it is stable, we will remerge it back into the main tree via the appropriate svn commands
as a FYI, the command I used to create this branch was:
svn copy http://dev.deltaanime.net:8080/svn/eathena/athena http://dev.deltaanime.net:8080/svn/eathena/packetdb -m "branch for packetdb work"
* Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus]
10/26
* Added more quotes -_- [Aria]
* Modified a few things related to guild skills. I hope it doesn't interfere with anyone else's work, and isn't seen as bad. [Sara-chan]
-Support for new guild skills, though they don't work yet. Added guild_skill_get_inf and guild_skill_get_max entries for them based on early info.
-Changed guild_skillup functions based on japanese code, but for a good reason.
It allows for guild skill trees, sort of. I made Kafra Contract and Guardian Research require Guild Approval, for instance.
I think the first four new guild skill requirements are correct, at the least.
I hope everything works alright, it's my first contribution to eA in quite some time and I'm rather rusty at programming of late.
* Fixed compile errors in showmsg.c. [Sara-chan]
* Fixed Mouse's devnpc only saying his quotes once per server reset [Aria]
* Added log_athena.conf & the logs.sql file [Codemaster]
* Added log configurations to inter_athena.conf [Codemaster]
10/25
* Fixed a compiling error in Login-server [Shinigami]
* Added alot of Azndragon's spiffy logs & then added a few things of my own (Silly Dragon, structs are for kids!) [Codemaster]
* Corrected a small bug (forgot to change a few variables!) in my different GM option. [Codemaster]
* Fixed items and mobs in DB. Added new items. [Lupus]
* Fixed some NPC bugs (check NPC=changelog.txt) [Lupus]
* Fixed getting MAX PET ID (SQL only bug) [Lupus]
* Fix char/char.c which was crashing after double freeing logs
[MouseJstr]
* Improved basic server rebooters [MC Cameri]
* Commited common/showmsg.c/.h, previously missing x_X [MC Cameri]
* Added a basic server rebooter program, just use 'runserver.bat' to start up the server. [Shinigami]
10/24
* Added files common/showmsg.c/.h which contain the function _ShowMessage(char *string, int flag) [MC Cameri]
-Check showmsg.h to see how to use it.
-This function is made to replace printf in all the cases, so it MUST be used instead of print from now on.
-Begin your own journey of replacing/removing old printfs, and using the new function.
-This function was previously called ShowMessage() in oA, it is now merged, some changes have been done:
1.Outputting messages to a file is now disabled(commented out).
2.MSG_SQL is now commented out.
3.If the server is out of memory, it will not use abort().
4.Returns 0 if successful, 1 otherwise.
-Example: ShowInfo("hello\n"); will print this to the screen: [Info]: hello
-Always add \n at the end. Unless someone edits the function to add the \n whether it exists or not.
-Just add #include "showmsg.h" wherever you need it.
* Edited ALL makefile's to include showmsg.o -> _ShowMessage(). [MC Cameri]
* Updated readme/gmcommands.html with new @uptime command [MC Cameri]
* Somebody had added some additional noskill checks that prevented
vending from happening in prontera [MouseJstr]
* Added bypass with gm_allskill of npc_selfdestruct2. [Valaris]
* Corrected some minor bugs in some Quests [Shinigami]
* Added new maps (from lateast kRO patch)
Touched WOE (u can't surrender the castle during the WOE), misc fix of the bank [Lupus]
10/23
* Added the option to read GM accounts from a different table than login. Default set to login table. [Codemaster]
* Finished Aria and MC Cameri "Dev edition" NPCs. [Aria]
* Corrected extra stat points given to high classes. [Valaris]
* Added high classes getting the extra 40 stat points on stat reset. [Valaris]
* performance tweaks on socket.c to reduce lag [MouseJstr]
do a "OPT="-g -DNSOCKET" to compile with the changes
enabled.. and tell me if you notice a change in your
performance/lag
* Added @uptime to atcommand.c [MC Cameri]
* Added the stuff for my npc to Dev/quotes.txt [MC Cameri]
10/22
* Replaced some checkcart and checkoption(x) with checkcart(0) in the guild folder [Aria]
* Waiting for various devs to tell me their coords, map, biography, quotes,
moving coords, etc. In the meantime, I replaced them with (x,y),(lols),
(sprite),(somewhere), and if they didn't give me any info, I didn't
add them yet =P. [Aria]
* Added Davidsiaw, Shinigami, Lord, Codemaster, MouseJstr, MC Cameri, and Darkchild
to "Dev edition" NPCs [Aria]
* Revised "Dev edition" NPC layout a bit, should go smoother now. Should be final
layout unless something goes wrong =O. [Aria]
* Fixed the eol markers on some checked in files [Mousejstr]
* Fix two crashes caused by calling isGM on mobs [MouseJstr]
* Added folder "mc_cameri" in npc/other which contains my bank npc. [MC Cameri]
* Changed "Dev edition" NPC layout so that they move by themselves by timers. [Aria]
* Changed "Dev edition" NPCs to walk during quotes, and added biography. [Aria]
* Fixed quest/all_quest.txt not showing the correct description of the binoculars. [Aria]
* Fixed quest/all_quest.txt not going to stop pass and not displaying requirements. [Aria]
* Fixed removing friends from the list [davidsiaw]
* Added PCLoginEvent NPC (When a character logs on, NPC runs as if he/she clicked the NPC) [davidsiaw]
The NPC sample is located in npc/sample/PCLoginEvent.txt (you only need one of these NPCs)
10/21
* Fixed clothes_dyer.txt: Disabled Assassing/Rogues Dye. Also fixed wrong labels [Lupus]
* Fixed hair_dyer.txt: fixed missing menu label [Lupus]
* new_hats.txt 1.4 fixed amount of Fish Tail (300 -> 30), Zeny bugs in Ear of Angel,
Ear of Demon,Big Golden Bell, Mistress Crown,
Crown of The Ancient Queen, Indian Headband, Orc Hero Helm [Lupus]
* Fixed name of a flower in Prontera quest (Dreamy->Illusion) according to our DB [Lupus]
* Fixed item names in the temp Crusader Job Quest according to our DB [Lupus]
10/20
* map/mob.c: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster]
* map/map.h: Changed Vending Struct: amount and value to unsigned variables (so they CAN'T be 0 or less) [Codemaster]
* map/mob.h: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster]
* Aligned the list of commands at the beginning of atcommand.c,
with tabs instead of spaces. [MC Cameri]
* Fixed AtCommand_SetBattleFlag, it was previously being called by "@send"
instead of "@setbattleflag". [MC Cameri]
* Finished basic layout, finished Aria starting to create Shinigami [Aria]
* Started to create "Dev edition" npcs [Aria]
* Fixed a compile error in src/char/char.c [MouseJstr]
* Fixed a bug in @trade where the distance was not ignored [MouseJstr]
* Fixed a potential inf loop in pc.c when multi_level_up is set to no. [MouseJstr]
* implemented Friends List support for TXT version [davidsiaw]
* added queries in main.sql for Friends List. mySQL support for friends list pending [davidsiaw]
10/19
* switched login_sql/login.c to use binary when retrieving
by account name [MouseJstr]
* skill.c & skill.h: added skill_type_cloaking [Codemaster]
* storage.c & storage.h: added storage_storageopen2() [Codemaster]
10/18
* Changed readme layout for 1.0 scheme. [Aria]
* added check for console variable in login_sql [MouseJstr]
* Fully translated the untranslated items in the database.sql for SQL. [Nana]
* Dev/TODO, asigned myself to some items. [MC Cameri]
* char/char.c: changed the online system to omniAthena's [Codemaster]
* char/char.c: added log_char and log_inter [Codemaster]
* char/char.c: added Mugendai's GUI Support [Codemaster]
* char/int_guild.c: added log_inter and db_path [Codemaster]
* char/inter.c: added log_inter [Codemaster]
* char/char.c: added db_path [Codemaster]
* char/inter.h: added log_inter [Codemaster]
* char_sql/char.c: added log_char and log_inter [Codemaster]
* char_sql/char.c: added Mugendai's GUI Support [Codemaster]
* char_sql/int_guild.c: added log_inter and db_path [Codemaster]
* char_sql/inter.c: added log_inter [Codemaster]
* char_sql/char.c: added db_path [Codemaster]
* char_sql/inter.h: added log_inter [Codemaster]
* conf-tmpl/char_athena.conf: Added log_char & db_path [Codemaster]
* conf-tmpl/inter_athena.conf: Added log_inter [Codemaster]
10/18
* clif.c,clif.h,map.h,npc.c,npc.h,script.c: Added NPC Walking. [Valaris]
-npcspeed #; To change npc's walking speed.
-npcwalkto x,y; Move an npc to a position (keep it less than area size, or sprite will glitch and disappear).
-npcstop; Stops an npc's movement.
10/17
* Made the IP autodetection code work under a pure win32
executable
* Fixed the win32 build and made a src\map\Makefile.win32 to
make it easier to do win32 builds of the map server
src\common\utils.c src\common\utils.h src\common\grfio.c
src\common\nullpo.h src\common\timer.c src\common\db.c
src\common\socket.c src\common\core.c src\common\mmo.h
src\common\socket.h src\map\script.c src\map\intif.c
src\map\npc.c src\map\clif.c src\map\map.c src\map\clif.h
src\map\chrif.c src\map\Makefile.win32
* skill.c: Fixed noicewall flag. [Valaris]
* battle.c: Battle calc weapon attack now checks to see if pc_breakweapon successfully broke the weapon then recalculates damage. [Valaris]
* pc.c: Removed broken weapon and equip status, just unequips items again when broken. [Valaris]
Removed useless code from pc_breakweapon and pc_breakarmor. [Valaris]
* Added template for server control from the console [Wizputer]
* conf-tmpl/login_athena.conf: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
* login/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
* login_sql/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
* Usable GM commands from server console admin:<gm command>:<map of "GM"> <x> <y> [Wizputer]
* Added server:shutdown to shutdown server and help [Wizputer]
* Added user discretion for console commands in conf files [Wizputer]
10/16
* Fixed Umbala Language Quest, where a certain NPC would freeze you due to an unfinished script [Shinigami]
* Fixed bug in new_hats.txt where free items are given out [Shinigami]
* Correct Morroc warp npc overlaying Kafra npc. [Aria]
* Corrected npc typos. [Aria]
* Skip over npc_selfdestruction2 on allskillup (thanks to celest) [Valaris]
* Fixed some typos in some of the NPCs [Shinigami]
* tweaked the auto-configure stuff to deal better with
machines that have no detectable IP addresses.. is this
possible? [MouseJstr]
src\char_sql\char.c src\char\char.c src\map\map.c
* Made it compile under gcc 2.95 [MouseJstr]
* made the char and map servers auto-configure their own IP's
whenever possible [MouseJstr]
If you do not specify the server IP address, it now determines it
on its own. This means that to get a server running that is
accessable from the internet you should only need to specify the
location of the data.grf files. This eliminates one more point
of misconfiguration.
It does not correctly auto-configure for when you are behind a
router or a firewall since there is no way of determining the
external IP address. On the other hand, we should be able to
eliminate the lan_conf file since we know our IP addresses as well
as our netmask.
10/15
* added @setbattleflag to let me reset a battle_config at runtime [MouseJstr]
* --- RC5 release
* another fix to oA2eA-rc5.sql to fix the sell_price [MouseJstr]
* Redid readme, updated content a bit, and made ps2 poster in preperation for 1.0 RC5 release. [Evera]
* made MAX_HAIR_STYLE, MAX_HAIR_COLOR, and MAX_CLOTH_COLOR
configurable via battle_config. [MouseJstr]
* made the dex spell cast time scaling configurable via battle_config
[MouseJstr]
* made the visible area_size configurable via battle_config
[MouseJstr]
* Reorganized and added the warps into their respective folders, updated map_athena.conf. [Nana]
* Added 2 script commands GETLOOK, GETSAVEPOINT (thanks to Lorky). [Lupus]
* Added kafra_bank NPC - a new bank with daily interst of 0.1#%. [Lupus]
* Changed cast time for champion soul collect to 1 sec (thanks to midas). [Valaris]
* Added midas's fix for +30 hitrate with Sonic Blow. [Valaris]
10/14
* Fixed help.txt for some @gm commands [MouseJstr]
* made login.c compile on gcc 2.95 [MouseJstr]
* Fix backwards compatability with old mob skill formats [MouseJstr]
* Added mail system commands and @refreshonline to help.txt. [Valaris]
* Fixed char guild storage bug [MouseJstr]
* Prevented breakage of Weapons/Armor if the respective Alchemist Chemical Protection skill is applied. [spira]
* Added so nochat end will set manner to 0. [Valaris]
* Added broken item check before breaking (to prevent an item from breaking more than once) [Valaris]
* Re-wrote parts of equipment breaking. It will check to make sure it was not a miss before doing break calculations. [Valaris]
* Re-added negative value exploit fix. [Valaris]
* Fixed guardian opposition search. [Valaris]
* Added @unmute. [Valaris]
* Added check for map existing before cleanup (server will exit instead of crashing if maps aren't found). [Valaris]
10/13
* Fixed parse of antifreeze enable/disable flag. [Valaris]
* Fixed end-of-line flags in source tree [MouseJstr]
10/12
* Prevent attack/skill usage while wearing tux/wedding dress. [Valaris]
* Remove item unequip on tux/wedding equip. [Valaris]
10/11
* Added mail system (for SQL version only). [Valaris]
- @checkmail
- @listmail
- @listnewmail
- @readmail <#>
- @deletemail <#>
- @sendmail <name> <message>
- @sendprioritymail <name> <message>
- Added battle_athena.conf option to enable/disable mail system.
- Added mail.sql for sql mail system.
- Use "*" for name to send to all players. Level must be >= to @sendprioritymail level.
* Added @refreshonline to refresh player online status in SQL version. [Valaris]
10/10
* Modified ja blacksmith repair code to function with our broken equipment system. [Valaris]
* Removed ja repair script commands, they aren't compatible with our broken equipment. [Valaris]
* Fixed error in Morroc jewel dealer. [Valaris]
* Added so supernovices will get flee from improve dodge. [Valaris]
* Fixed assassin and rogue flee bonus, was giving +50 instead of +40. [Valaris]
* Fixed bug with using remove trap on a snared monsters and the monster would stay stuck. [Valaris]
* Added a check for row return in an sql statement in login. [Valaris]
* Added some pointer initializations in map.c. [Valaris]
* Calculate pc status when equipping or unequipping pet items. [Valaris]
* Fixed crash in looting pet skills if loot size was greater than 10. [Valaris]
10/05
* Fixed all mob spawn names (typos, errors, wrong names) according to the mob_db.txt [Lupus]
* Added YggdrasilKid's fixed exp.txt. [valaris]
10/04
* Added missed close file functions in pc.c [Lupus]
* Added some new items, fixed some item names and translated all grabled items in item_db.txt [Lupus]
* Fixed bug in MOB_DB and in MOB_BRANCH DB related to wrong "Elder" ID number [Lupus]
* Fixed toggle for using sql item db in char-server. [Valaris]
* Added interval settings for anti-freeze system. [Valaris]
* Added enable/disable options in char_athena.conf and login_athena.conf for anti-freeze system. [Valaris]
* Re-added anti-freeze system. [Valaris]
* Cleaned up warning in src/common/db.c. [MouseJstr]
* Removed afm map checking from char. [Valaris]
* npc.c - Re-enabled new "OnTouch" function. Added a missing line to npc_event in npc.c(line 667).
pc.c - Added 2 missing "else" statements on (line 3702 and 3842). Now ontouch works correctly and activates
everytime instead of only once like in RC4. [kobra_k88]
* clif.c - Added: npc_scriptcont(sd,RFIFOL(fd,2)); to "void cliff_parse_NpcCloseClicked" function.
Now "close2" script command works properly. Previously, it would freeze the server.[kobra_k88]
10/03
* added oA to eA database conversion .sql [MouseJstr]
* renamed sql to sql-files to eliminate a problem with make [MouseJstr]
* Fixed Assassin Quest where "Nameless One" NPC would freeze after clicking "next". [Shinigami]
* charkillable now returns status on target [MouseJstr]
* skill names now have descriptions pulled from the client [Mousejstr]
* Mapflag "petals" has been changed to "sakura". [Valaris]
* The weather @commands will now set that particular mapflag on until server is restarted, and will send weather effect
to everyone on that map. It also will not allow the occurance of the command more than once. This method means
everyone coming onto the map after the command has been used will see the effect. [Valaris]
* Added yor's latest ladmin.c. [Valaris]
* Fixed bug in delitem script command that caused it to delete all of an item. [Valaris]
* Modified Makefile's to work better in non-sql environment [MouseJstr]
* A lot of work on source tree making it more ANSI C compliant [MouseJstr]
* Finalized the timers on shutdown
turned off malloc debugging on db's. [MouseJstr]
* Added release hook's into db's [MouseJstr]
* Added runflag to core to allow cleaner shutdown [MouseJstr]
* Work on LCCWIN32 for building under Windows natively [MouseJstr]
* modified @mapexit to use runflag for cleaner shutdown [MouseJstr]
* Improve cleanup on exit of map server of all objects [MouseJstr]
* statpoint reader can now be larger then 1432 bytes [MouseJstr]
* Fixed so dancing effect is cleared when warping. [Valaris]
10/02
* Modified battle config muting players option to work more effectively. [Valaris]
* Fixed mute from showing red bubble to players. [Valaris]
* Fixed disguise sprite staying when teleporting. [Valaris]
* Added a special mob ai check in mob.c. [Valaris]
* Fixed petit pet skill's damage from ever increasing. [Valaris]
* Removed pet weight and pet loot options, someone re-added them, and this conflicts with pet skills. [Valaris]
* Added new skills to mob_skill_db (skills for Alchemist summon marine sphere among others) [Valaris]
* Updated skill_cast_db and skill_require_db for summon marine sphere and biocanniablize skills. [Valaris]
* Fix for drops by luck crashing. [Valaris]
* Removed @nuke for now. [Valaris]
* Added japanese ankle snare code. [Valaris]
* Using better code for alchemist marine sphere. [Valaris]
* Reverted back to old method of OnTouch for now for compatibility with older scripts. [Valaris]
* Fixed an infinite loop with preventing multi level up and high novices. [Valaris]
* Storage saving in SQL was based on MAX_INVENTORY. Switched to MAX_STORAGE and MAX_GUILD_STORAGE. [Valaris]
Should resolve items disappearing. Thanks to fov for pointing this out.
* Updated skill_db entries for biocannibalize and summon marine sphere. [Valaris]
* Changed sql item name row sizes to 24, and changed memory allocation to 25 bytes instead of 29. [Valaris]
* Added upgrade_1.0.0-rc5_database.sql (will set name columns of item db to varchar(24). [Valaris]
* Removed anti-freeze system. [Valaris]
* Began removing AFM, unless someone wants to complete this. [Valaris]
* Added an online status timer. Will check online status of players every hour (for sql version). [Valaris]
* Added malloc to map.c. [Valaris]
* Added some variables for new mob exclusion. [Valaris]
* Using malloc in pc.c. [Valaris]
* Added skill reset checks to high/advanced/baby classes. [Valaris]
10/01
* Fixed up const.db. [Valaris]
- Added
bBreakWeaponRate 1068
bBreakArmorRate 1069
bAddStealRate 1070
- Fixed
bMagicDamageReturn 1071
bRandomAttackIncrease 1072
bAllStats 1073
bAgiVit 1074
bAgiDexStr 1075
bPerfectHide 1076
bDisguise 1077
* Rewrote mute disable option in clif.c, it did not need to end status. [Valaris]
* Added a missing check for SC_NOCHAT in clif.c. [Valaris]
* Changed comments on max_lv in battle_config to be less
confusing [MouseJstr]
* Fixed Gypsy Job Quest, added Crusader Job Quest [Lupus]
* Adding missing noquests from previous tree [MouseJstr]
* merged conf files between txt and sql [MouseJstr]
* According to item_db.txt and mob_db.txt fixed some name differences, wrong item names in
pet_db.txt,mob_branch.txt,item_violetbox.txt,item_giftbox.txt,item_cardalbum.txt [Lupus]
* Added specialeffect2 script command. Works the same as specialeffect, but the effect will be applied
to the player interacting with the npc instead of being applied on the npc. [Valaris]
* Added hasitems script command. If a player has any items it will return 1 in an if statement. [Valaris]
* Added npctalk script command. Syntax : npctalk "These are my words"; [Valaris]
* Removed script::say in favor of Valaris's version. [MouseJstr]
* Fixed a bug in guild alliances where it was treating a friend as a foe. [MouseJstr]
* Fixed crash in weapon breaking. Was not doing a block type check on the source. [Valaris]
09/29
* Fixed small, almost non-existing memoryleak, in grfio.c that could
cause some systems to exit the application [Kalaspuff]
09/26
(Dated On Aegis Website)
*--Released 1.0.0 RC4--*
09/25
* Reorganized Npc folder for release
* Updated map_athena.conf
* Remove certain statuses when warping (Cloaking, Sitting, Gangster's Paradise) that would allow the effect to
continue and a player to walk normally. [Valaris]
* Remove speed increase of theif and high thief from improve dodge (only assassins and assassin cross's are
supposed to get this bonus) [Valaris]
* removed more #ifdef's between TXT and SQL [MouseJstr]
09/24
* Added @charkillable (to make players killable) [MouseJstr]
* Added @dropall (throws all items on ground) [MouseJstr]
* Added @chardropall (throws all players items on ground) [MouseJstr]
* Added @storeall (put all items in store) [MouseJstr]
* Added @charstoreall (put all players items in storage) [MouseJstr]
* Added @skillid (look up a skill by name) [MouseJstr]
* Added @useskill (use a skill by id) [MouseJstr]
09/23
* Update Some Npc Stuff In Payon [Darkchild]
* Added Sage Quest [Darkchild]
* added @killable - all players can hit you, even out of pvp [MouseJstr]
* Changed Basilica to prevent the priest from walking [MouseJstr]
* Restore base files in save directory [Yor]
* Castle spawn/conquering fix: [Akaru]
- Spawns monster when the guild is not owned when the server starts
- Spawns emperium with the monsters when guild is not owned yet
- If AgitStart and AgitEnd occurs while castle had not been owned, it is just ignored so that the monsters that are guarding the castle and the emperium would not be killed.
- Prevent spawn of emperium/monsters after castle is owned
- In short, you can clear and conquer the castle any time even when it's not agitstart'ed if the castle is unowned, like in official servers
09/22
* added @killer to let GM's hit players outside of pvp [MouseJstr]
* added @skilloff to turn off skills on a map [MouseJstr]
* added @skillon to turn on skills on a map [MouseJstr]
* added @follow to follow players (including warping after them) [MouseJstr]
* added battle_config option to control the max number of castles a guild can have [MouseJstr]
* upgraded the guild alliance checker [MouseJstr]
* added battle_config to control if ghosty armor works for mobs [MouseJstr]
* Fixed battle_config to control how much GTB actually helps [MouseJstr]
* Fixed battle_config to control if pvp battles give exp or drops [MouseJstr]
* Added map aliasing [MouseJstr]
* changed the map_nick2sd to be able to handle sub-strings for refering to players [MouseJstr]
* made turning of skills on a map actually work [MouseJstr]
* Updated Makefiles/GNUMakefiles to include the compilation of /common/malloc.o [PoW]
09/19
* Corrected @charstoragelist: [Yor]
- because account2storage function create a void storage if it's not exist, somethimes a player could lost its storage.
-> creation of account2storage2 to just ask pointer of storage if exist and use it in @charstoragelist.
* Improved range system of @monster/@spawn (nearest of GM when less monsters) [Yor]
* Client until 2004-09-06 (included) is now completely recognized [Yor]
* Fixed kafra storage request for all new clients [Yor]
09/18
* Changed to Yor's code that doesn't try and read when it's already not found [Akaru]
* Removed check for resnametable in data folder exit -> the resnametable isn't even used if present and it should be optional and not compulsory to have a resnametable in the data folder! [Akaru]
* Added an option to choose which clients are accepted on the server (2nd part and finish: Check accepted versions) [Yor]
* Added an option to choose which clients are accepted on the server (1st part: reading of the option) [Yor]
* Fixed action request (sit, attack, etc..) for all new clients [Yor]
* Fixed solve char name for all new clients [Yor]
* Fixed get char name for all new clients [Yor]
* Fixed an error about packet number on char name function [Yor]
* Added items drop packet for all new clients [Yor]
* Fixed: in clif_send (global send, not individual send) don't send a packet that client doesn't recognize [Yor]
09/17
* Added check to make sure mob is already moving before initiating random walk
when the item they are going to loot disappears. [Valaris]
* Client of 2004-07-13 is now completely recognized [Yor]
* Fixed items take packet for all new clients [Yor]
* Corrected packet sizes for each client version (not set packet size if packet doesn't exist) [Yor]
* Fixed direction position for all new clients [Yor]
09/16
* Client of 2004-07-06 is now completely recognized [Yor]
* Fixed skills to position with all new clients [Yor]
* Fixed incomplete packet of authentification [Yor]
* Fixed size of packets for all clients [Yor]
* Improved detection of client version at authentification [Yor]
* Improved packet parsing of client (search packet version before to parse) [Yor]
* Added packets size of 0x20d and 0x20e [Yor]
09/15
* Added "nude" script command, will strip player of all equipment. Syntax : nude; [Valaris]
* Removed sandstorm flag, since it does not work as intended (is not a constant effect like believed) [Valaris]
* Added specialeffect script command. Syntax: specialeffect #; [Valaris]
* Moved noicewall flag to a better position. [Valaris]
* Added mob type check to skill_castfix to prevent crashing. [Valaris]
* corrected error: skill to id (RFIFOW->RFIFOL) [Yor]
* Added packets size of 0x204 and 0x20b [Yor]
* Fixed skill_to_id with all new clients [Yor]
* Fixed tick sending with all new clients [Yor]
* Fixed items use with all new clients [Yor]
* Fixed move with all new clients [Yor]
* Speedup WantToConnect function [Yor]
* Call correct function with any clients packet - size is not correctly set actually [Yor]
09/14
* Resetlvl will unequip items that require more than level 1. [Valaris]
* Added message about new clients (not actually supported) [Yor]
* Added correct call of clif_parse_WantToConnection function for all client types [Yor]
* Added size of packet 0x0214 [Yor]
* Fixed calls of 'clif_send' function [Yor]
09/13
* Modified item_db to have more name consistency, added more translations for items [Akaru]
* Fixed in clif_sitting usage of a buffer [Yor]
* Fixed in clif_movechar usage of a buffer for clif_set007b [Yor]
* Fixed in clif_spawnpc usage of a buffer for clif_set0078 [Yor]
* Corrected a commented printf in packet 0x2b0e for debug [Yor]
09/12
* Put (commented) parse printf in char.c at the right place (to have all informations) [Yor]
* Added Alchemist JobQuest [Darkchild]
* Added Inn Npcs [Darkchild]
09/11
* Added @charitemlist/@charstoragelist/@charcartlist GM commands to display items of a player [Yor]
09/10
* Added a better id control of monster id in @spawn/@monster... GM commands [Yor]
* Correction of an error at reading of 'wisp_server_name' option (char.c) [Yor]
09/09
* Change @spawn/@monster2... GM commands to spawn in close area [Yor]
* commented some printf in char.c to reduce (a little) lag [Yor]
* Put @timer messages in msg_athena.conf [Yor]
* Add a file for SQL developpers [Yor]
* Changed name of newpacket variable of session (packet_ver) and add a message for nex client version [Yor]
* Added new client packet sizes and expanded packet acception. [Valaris]
* Added snow, fog, rain, leaves, petals, and sandstorm map flags. [Valaris]
09/08
* added clif_specialeffect to clif.c, for displaying a wide variety of effects (information from rofx) [Valaris]
* Corrected in map: creation of new session before to delete previous session_data [Yor]
* Corrected in login/char/ladmin: creation of new session before to delete previous session_data [Yor]
* Prevented redeal dupe. Checks to make sure inventory index has not already been added (client prevents
the possibility of stacking items, but server did not.) [Valaris]
09/07
* Added an option to determinate at which GM level nowarp and nowarpto flags are not more used [Yor]
- new option in battle.conf: any_warp_GM_min_level
- new checks and message about 'from' (nowarp) and 'to' (nowarpto) in GM commands
* Third part of new authentification method (clif_parse_CloseKafra): ignore new 0xF7 [Yor]
* Change name of new0x0072 variable by new_auth (because now, auth packet is 0x72 or 0x7E) [Yor]
* Second part of new authentification method (clif_parse_WantToConnection): Auth by char-server of new packets resolved [Yor]
* Improved check of new packet 0x7E to enter in WantToConnect Function [Yor]
09/06
* First part of new authentification method (clif_parse_WantToConnection) [Yor]
- accepted new 0x7E for wantto connect
- begin to found first authentificaiton and answer to client, but not found
* Improved Char-server: [Yor]
- Fixed a possible error on multi-map servers (no lastpoint)
- Added log about character with same name of wisp server name.
- Added a sub function to disconnect a player (used 3 times)
* Improved. In global message, use buffer to send to other (avoid possible overwriting). [Yor]
* Added Super Novice Job Quest [Darkchild]
09/05
* Fixed noskill flag to actually stop all usable skills when used. [AppleGirl]
* Removed last lag on char-server causing by too much savings (on accreg) [Yor]
* Removed a lag on char-server with a lot of players (for party, like guild) [Yor]
* Removed a big lag on char-server with a lot of players: [Yor]
- guilds was saved every time a player is online and a lot of other time (removed).
- guilds are save only when characters are saved (no more bring forward with characters file, and less savings)
* Added GM message that informs when a player blocks wisps of the server (against some bots that auto ignore wisps from a player) [Yor]
* Added perfect GM hide in @where GM command [Yor on suggestion of PoW]
* Correct NEW shops.txt with error displayed AT START of map-server! [Yor]
* Correct NEW payon.txt that crash map-server AT START! [Yor]
* More changes and official locations for new payon, things in correct place:
- Guild Flags
- Kafra
- Shops/Refiners (except Pet Shop!)
- Most Normal Npcs (not all!)
All Based On ScreenShots From kRO!! [Darkchild]
* Payon Warps about 80% finished, others were no screens taken from! [Darkchild]
* Removed nowarp mapflag and new internal check about gmlevel [Yor]
- gmlevel are checked before to call the function (of the GM comand). If you give gmlevel, people can use the function, including if you give level 0.
if you want refuse some GM commands to normal players, set the level of the command with a value upper than 0 (of set GM_only_command option to yes).
Not add new tests for nothing and use more cpu.
- mapflag: no limit for GM commands: what'is the interest to have gm commands limited like player? (it's rule for all GM commands)
A gm can have the possibility to go anywhere, specialy to check/control player ==> no mapflag!
* Stopped client crashes when jobchanging into another class that doesn't support the weapon you are holding. [Valaris]
09/04
* Added nowarp mapflag [PoW]
* Fixed nowarpto mapflag in atcommand.c [PoW]
* Improved: On hack about name in global message, GM of ALL map-server received hack messages. [Yor]
* Moved some GM messages of GM command from at_command.c to msg_athena.txt. [Yor]
* Added @whogm GM command. [Yor]
* Added a warning when a character has same name than wisp server name. [Yor]
09/03
* Added gm level display in all @who(map) GM command. [Yor]
* Correction: [Yor] - Thanks to [EvilEden]
- Soul Strike mistake (according to http://iro.ragnarokonline.com/game/jobmagskill.asp) - corrected cast time
- npc/quests/monstertamers.txt: The Monster Tamer Shogo gives the Deviruchi 'Contracts in Shadow' (641) -> the Bapho Jr. Tamming Item 'Book_of_theDevil' (642).
* Added monster/egg name to create egg in @makeegg GM command. [Yor]
* Added an option to fix started limited time of a new account. [Yor]
* Added @hatch in help.txt. [Yor]
* Fixed ChaseWalk so now you can't use skills while in chase walk mode. [AppleGirl]
* Fixed Looping of Broken Weapon if you continued to use it even after its broken [AppleGirl]
* Updated Weapon Breaking So Now Icon Will Disappear when you unequip the broken item [AppleGirl]
* Re-Added @hatch and added makepet to atcommand_athena.conf [Darkchild]
* Moved job monsters to their respected files [Darkchild]
* Fixed a bug in sence (showing wrong info!) [Darkchild]
* Changed the npc/jobs/ folders heavily! [Darkchild]
* Added COMPLETE Umbala NPC script [Darkchild]
* Added New Payon maps @ bottom of the map_athena.conf [Darkchild]
* Added New Payon NPCs and Warps [Darkchild]
* Fixed typo and made layout a litle bit better of the readme files [Darkchild]
* Added Items Ability to be unbreakable (using bonus bUnbreakable,100;) it will totally unbreakable
any lower than a 100 it still has a chance of breaking but call it more durable ;p[AppleGirl]
* Added Start_Weapon and Start_Armor to all the other starts in char_athena.conf [AppleGirl]
* Updated skill_require_db and skill_cast_db.txt [AppleGirl]
* Finish to add a (reserved) wisp name for server - part 3: in map-server replace name where server name is used for wisp [Yor]
* Continue to add a (reserved) wisp name for server - part 2: in map-server, reception of the name [Yor]
* Begin to add a (reserved) wisp name for server - part 1: in char-server [Yor]
09/02
* Added Meltdown's weapon breaking ability [AppleGirl]
* Added GM level in front of each line to display only enable GM command of the help.txt. [Yor]
* Removed message about limited time if your have unlimited account (that was for tests. sorry). [Yor]
* Set day/night messages in msg_athena.conf (for foreign people). [Yor]
* Added a function to return a string of msg_table outside of at_command. [Yor]
* Fixed clean database at disconnect when session is not auth. [Yor]
* Fixed a bug (but not solve the bug - need more research to found where solve it) in map_id2sd function. [Yor]
* Set initialisation of ignore list after authentification (not need to be done before) [Yor]
* Reduced size of packet 0x2afe (removed not used value) [Yor]
* Improve first auth part (wanttoconnect) [Yor]
* Added TODO 35 [Yor]
* Made a few adjustments to Archer based class skills making more like normal classes instead of Uber Classes. [AppleGirl]
* Updated the weapon and armor breaking to be more like official RO adding status icons and so on. [AppleGirl]
* Updated a few skills based off a few sites, also fixed other skills that were coded incorrectly. [AppleGirl]
* Fixed double connection with same account [Yor]
- disconnect immediatly
- no enter in database (block or others)
- no creation of session
- no more need to have 'new_fd'
-> less memory usage, less tests
* Removed 'other_fd' not used [Yor]
09/01
* Fixed Rainbow Egg quest in quests_lutie NPC [PoW]
* Added packet length for client server-side friend list, if they choose add the client will not disconnect. [Valaris]
Need to figure out the rest of the packets, then can implement.
* Added server-side friend list 'add' send packet info to packet documentation. [Valaris]
* Fixed: in chrif_authreq, don't send a request to char server if session is not found [Yor]
* Fixed: amatsu.txt, when Carter Moores say: remove 10000 zeny, he removes them now! [Yor]
* Removed an unknown item in shops.txt [Yor]
* Fixed 3 goto in father - acolyte.txt [Yor]
* Fixed bug with colors of 5 numbers/digits (warp to city instead of display with color) - wizard.txt [Yor]
* Reduce size of mage.txt and fix a text in mes (no bug) [Yor]
* Fixed thief.txt script (error on a goto) [Yor]
* Fixed account length (WFIFOL(fd,2) instead of WFIFOW(fd,2)) when char-srv doesn't auth an account for map-srv (0x2afe packet) [Yor]
* Added @job and @charjobchange to be similar with @charjob and @jobchange [Yor]
08/31
* Fixed messages of @(char)jobchange GM commands. [Yor]
* Fixed a return value of jobchange function (pc.c). [Yor]
* Added coredumps by system when crash. [Yor] - thanks MagicalTux
08/30
* Added some comments on gravity commands. [Yor]
* Improved /mm, /monster and /item to have some answers. [Yor]
* Modified skill_cast_db and skill.c to allow for status effect chance of wizard skills
(stun for WZ_METEOR and blind for WZ_VERMILLION) [moonsoul]
* Modified skill_cast_db and skill_db to properly reflect cast params and delay times for assassin cross
skills Create Deadly Poison(407) and Soul Breaker(379) [moonsoul]
* Added damage calcs to battle.c for Assassin Cross skill Soul Breaker(379) [moonsoul]
08/29
* Modified skill_require_db to reflect item requirements for assassin cross skills Create Deadly Poison(407)
and Enchant Deadly Poison(378) [moonsoul]
* Added @charmountpeco/@charpetrename/@charquestskill/@charlostskill GM commands. [Yor]
* Added noicewall.txt to map_athena.conf (commented out), noicewall flag [Valaris]
will not function when pvp is enabled on map.
* Added noicewall flag, noicewall.txt. [Valaris]
* Added wiz's temp fix for higher skill ids and skillnodex db. [Valaris]
* Added: Usage of At command when failed (100%).
* Modified: try to have samme presentation for all at-command code (100%).
* Improved/fixed some GM commands [Yor]
* Added some 'usages' in some GM commands [Yor]
* Added baby classes to equipment codes, they will equip the same as their normal and advanced counter-parts. [Valaris]
* Improved some GM commands [Yor]
- Added in @(char)baselvlup/@(char)joblevelup GM command:
When there are some status/skill points available and we reduce level -> remove points.
- Added counter in @statsall GM command.
- Fixed in @charsave GM command when map doesn't exist.
- Fixed @charbaselvl GM command overflow
- Fixed skill value (and crash) in @questskill/@lostskill GM command
- Fixed number of spiritballs (@spiritball GM command)
* Fixed random PvP crash bug [Lupus]
08/28
* Improved some GM commands [Yor]
- Added memo points in @go GM commmand.
- Added negativ value for @heal GM command.
- Fixed @(6stat-adjustement) GM commands overflow.
- Simplified @Statall GM commands.
- Fixed @guildlvup GM commands.
08/27
* Fixed @(char)zeny/stpoint/skpoint GM commands (no more overflow, etc...) [Yor]
* Improved @memo GM command: [Yor]
You can memo anywhere (it's GM command, not /memo command like for any player).
Without value, display actual memo points.
* Improved @refine GM command: you can reduce refinement. [Yor]
* Fixed @broadcast GM command send broadcast to all Map-servers. [Yor]
* Fixed @(char)base/joblevelup command (any adjustement can be entered). [Yor]
08/26
* In at_command.c: [Yor]
Fixed: initialisation of all strings.
Added: Usage of At command when failed (75%).
Modified: try to have samme presentation for all at-command code (75%).
* Made it so that the pvp_nightmaredrop mapflag would work even without pvp being enabled, now works any time it is set. [Ancyker]
* Added level check on /item and /monster. GM level must be >= both @monster and @item [Valaris]
level specifications (both since they share the same packet)
* Added my own extream mode map flags (disabled by default), makes players drop items at random everywhere (except towns). Full details in map_athena.conf. [Ancyker]
08/25
* Added: display usage when GM command failed (some GM commands) [Yor]
* Added @email GM command to change your account e-mail [Yor]
08/24
* Modified changesex script command use same function as @charchangesex now [Yor]
* Added @charchangesex GM command can be used on offline players [Yor]
* Added gm ladmin command to change GM level of an account [Yor]
08/23
* Fixed some at_command messages: [yor]
- remove all unused messages
- create commented line of all messages in msg_athena.conf to have english, and under, translation if necessary
- add some (arround 80, but not all) messages in msg_athena.conf
08/22
* Fixed: In GM commands, add a 'standard' message when GM level is too low [Yor]
* Changed in battle_athena.conf [Yor]
- atcommand_spawn_quantity_limit: 100 (20 is too short for mass spawnings.)
- unknow: give translation of babelfish to help on the explanation (not writing: 'unknow' to not lost the information!)
- day_duration: 7200000 & night_duration: 1800000 (set default to 30 min night, 2 hours day to show improvement of eathena by DEFAULT)
08/21
* Updated battle_athena.conf to be in English (not Engrish) [Ancyker]
* Updated WZ_FIREPILLAR according 8-10 patch [AppleGirl]
* Updated skill_cast_db and skill_require_db according to 8-10 kRO patch [AppleGirl]
* Added how to use skill_castnodex_db.txt [AppleGirl]
* Added skill_castnodex_db.txt, allowing some skills to be casted with out dex's effect on them
Midas' idea [AppleGirl]
* Improved answer messages of char-server on @(un)ban/@(un)block GM commands [Yor]
* Added answer messages of char-server on @(un)ban/@(un)block GM commands [Yor]
* Added block command (ladmin c) [Yor]
* Added block command (ladmin perl) [Yor]
* Fixed job_db1.txt comments to be in english, also spaced the columns to make it easier to read. [Ancyker]
* Added: possibility to use "" or '' to give an account name in ladmin (Perl) (no more problem with account name which have spaces). [Yor]
* Changed: atcommand_gm_only is set to 'no' by default, because: [Yor]
- GM commands level now works correctly
- GM commands levels are now set by default with diffrent types of GM
* Added @inall/@exall GM command to block/unblock ALL wispers of a player [Yor]
08/20
* Added unblock command (ladmin C) [Yor]
* Added unblock command (ladmin perl) [Yor]
* Fixed: when limited time is in past, add new duration starts from actual time [Yor]
* Added chardisguise/charundisguise [Kalaspuff]
* Added default time [23:59:59] for timeset/banset ladmin (C) commands [Yor]
* Fixed sage rebirth ability at professor job change NPC. [PoW]
* Fixed pecopeco knight/crusader rebirth ability at LordKnight and Paladin job change NPCs. [PoW]
* Added default time [23:59:59] for timeset/banset ladmin (perl) commands [Yor]
* Added a check_ip_flag option in char-server [Yor]
* Added a check_ip_flag option in login-server [Yor]
* Added a display at start of login-server about IP checking configuration. [Yor]
08/19
* Added unban/unbanish command (ladmin c) [Yor]
* Added unban/unbanish command (ladmin perl) [Yor]
* Added parameter to choose how works timeadd (ladmin command) with unlimited time accounts [Yor]
* Fixed @option/@charoption when player is disguised. [Yor]
* Added: some information about TODO 19. [Yor]
* Added: possibility to use "" or '' to give an account name in ladmin (C) (no more problem with account name which have spaces). [Yor]
08/18
* Guardians were immune to skills/spells, fixed. [Valaris]
* Added custom draculax.txt script to display npcskilleffect command. [Valaris]
* Added npc/events/custom folder. [Valaris]
* Fixed Umbala Language Quest NPC bug [PoW]
* Added temporary prevention of crash caused by peco + disguise, will look into a better solution. [Valaris]
* Changed working of putting disguise on (much like Yor's setpos with undisguise) [Valaris]
* Changed disguise id check to > 23 instead of max_pc_class. [Valaris]
* Added bDisguise script command for items. [Valaris]
Syntax : bonus bDisguise,npc_id/mob_id; Example bonus bDisguise,1002; for poring disguise
* Added flag so @disguise command will override any disguise scripts. [Valaris]
* Updated @disguise description in help.txt. [Valaris]
* Added: @ignorelist/@charignorelist to know from which people a player ignore wisps [Yor]
* Renamed: @makepet -> @makeegg (@makepet will be created later to create pet, not a egg) [Yor]
* Fixed Phantom of Opera quest, fixed quests_aldebaren requirements [PoW]
* Changed: anti-freeze disconnection in char-server set from 1mn 15s to 30s [Yor]
* Fixed: free block memory on NULL pointer in char-server do_final [Yor]
* Fixed: reset server information when map-server disconnected from char-server [Yor]
* Changed: anti-freeze disconnection in login-server set from 1mn 15s to 30s [Yor]
* Improved pecopeco checks in @option/@charoption/@jobchange/@charjob [Yor]
08/17
* Fixed pecopeco displayings in @option/@charoption/@jobchange/@charjob [Yor]
* Correction of @rura, @where, @rurap and some other things in GM commands. [Yor]
* Correction of a parameters' errors in GM commands. [Yor]
* Correction of @charzeny Gm command (+ @zeny/@charzeny can add and remove zeny without problem). [Yor]
* Acolyte Job Quest: Fixed Marthilda, Yosuke NPC bugs. [Lupus]
* Added some comments in .conf about @gm [Yor]
* Fixed max value of level_new_gm parameter (not 100, but 99) [Yor]
* Added level_new_gm parameter in login-server to disable or set level of all GM created by @gm [Yor]
* Fixed @GM GM command [Yor]
08/16
* Translation of final message of @gm [Yor]
* Fixed on @GM: When login server is offline, char server sends impossible to create GM [Yor]
* Fixed: refuse @gm GM command to ... a GM :) [Yor]
* Added complete answers of /in /ex /inall /exall. [Yor]
* Added option to send information to online GM when there is a hack, a spoof name, etc. [Yor]
* Added individual ignore management, and wisp checks [Yor]
* Added TODO 33 [Yor]
* Fixed possible overflow with @ban GM command [Yor]
* Speed up a little @ban GM command [Yor]
* Added ignore all for wisps (to same map-server). Sorry, before, I was added only for not same map-server [Yor]
08/15
* Added a resume for 'email_creation' parameter [Yor]
* Fixed double messages when a player wisp/page itself [Yor]
* Added ignore all for wisps [Yor]
* Added better explanation for the new 'email_creation' parameter [Yor]
* Fixed: now, GM accounts are sended to all servers when auto-detect change of GM file is actived [Yor]
* Fixed: at auto-creation of e-mail, don't ask the player if login-server is offline (we need login-server to save e-mail) [Yor]
* Used config_switch instead of atoi for email_creation parameter [Yor]
* Added an option to create e-mail at connection with client [Yor]
* Added authentification with login_id2 (1040) - activated by default [Yor]
* Added partial part of authentification with login_id2 (1040) [Yor]
* Added some missing GM commands in help.txt [Yor]
* Improved search of map-server when map is not found [Yor]
* Added banish in ladmin (c) to be like of GM commands [Yor]
* Fixed Angel Helm quest, fixed Spore Doll quest exploit, Fixed Morgenstein quest bug [Lupus]
08/14
* Added banish in ladmin (perl) to be like of GM commands [Yor]
* Fixed some possible errors with maps management in char-server [Yor]
* Fixed bug of map searching when to few maps on map-servers [Yor]
* Changed some console displayings in char-server [Yor]
* By default, activation of player ip check [Yor]
* Added some of 1040: check of player ip between each server [Yor]
* Fixed dupes in warp scripts, reorganized, thanks to midas fro GH warp [kobra_k88]
* Added possibility to disable automatic reload of GM accounts file [Yor]
* Added log when GM accounts file can not be readed [Yor]
* Changed default of GM accounts file check for 120 sec to 15 sec [Yor]
* Added automatic reload of GM accounts file if it was modified [Yor]
* Added @mapmove, @broadcast, and @localbroadcast in help.txt [Yor]
* Fixed possible error of monster id (GM command) if monster begins by a number. [Yor]
* Added jobname in @charstats command. [Yor]
* Fixed: If a GM command uses NULL pointer as command function, there is no more crash. [Yor]
* Fixed Niflheim&Umbala guides. Fixed Niflheim city. removed 2 NPC clones. [Lupus]
* Added Archer Skills quests, fixed Thief Skill Quest [kobra_k88]
08/13
* Add an option to fix a ban for hacker that spoof name (to set minutes of ban) [Yor]
* Fixed incorrect mob IDs with Valaris's mob_db [Ancyker]
* Added possibility to execute GM commands when you wisp someone [Yor]
* Added a console message when a player try to spoof his name in Global message [Yor]
* Added size of packet in packet send by map-srvr to char-srvr about online players [Yor]
* Added check on individual stat at creation of a character [Yor]
* Added npcskilleffect script command. Will allow npc to show effects of certain skills on specified XY coordinate.
Syntax : npcskilleffect 21,10,148,150; skillid, skilllv, x, y. [Valaris]
* Increase maximum weight can be used with an item now, thanks to orn. [Valaris]
* Fixed mob names in Gonryun , thanks to unsul and Filougarou. [Valaris]
* Fixed muramasa curse rate, thanks to OxiMoron. [Valaris]
* Fixed Aldeabran&Comodo towns. Added Cheese quest to Comodo. Fixed Thief Job Quest [kobra_k88]
08/12
* Begin to add 1040 in login/char/chrif about authentification. not finished [Yor]
* @mapmove, @broadcast, and @localbroadcast can now be used. [Valaris]
* Looting mobs will not continue to item if it disappears, instead will walk away. [Valaris]
* Unitinalized nameid in script.c [Valaris]
* Added position in log when unknown packets are saved (login-server). [Yor]
* Corrected possible error to contact not good player when a wisp concerns player on an other map-server. [Yor]
* Added a function to obtain character name with index in auth structure (char.c). [Yor]
* Corrected check/test error in mapif_send. [Yor]
08/11
* itemdb_searchname fixed (now firstly looks for item aliases 'name', if not found looks for item name 'jname'). [Lupus]
* Optimized getitem, delitem. getweight, fixed there possible scripts exploits [Lupus]
* Thief bug's long name in mob_db.txt was Thief Bug Larva, fixed. [Valaris]
* Thief bug names were mixed around in monster.txt, fixed. [Valaris]
* Fixed incorrect parse of usable item rate. [Valaris]
* Added ban command in ladmin (C), like GM command [Yor]
* Terminated some translations about wisp/page, and control/improvement/correction of wisp/page. All 'found' bugs are corrected [Yor]
* Added translations in inter.c about wisp/page. [Yor]
* Corrected printf datas in intif_parse_WisMessage when map-srv receives wisp message from inter-srv. [Yor]
* Sended an answer when a wisp/page is supressed because of a timeout. [Yor]
* Improved: if inter-srv is asked for a wisp, verify first if the character exists. Don't ask all map-server if it not exists. [Yor]
* Changed Printf in intif_wis_message to have better information. [Yor]
* Improved: Don't ask inter-server for a whisp/page if player is on the same map-server. [Yor]
* Completed some printf and comments in char.c [Yor]
08/10
* Improved map_nick2sd function. Now, sensitiv case is removed when it's possible [Yor]
* Corrected split of broadcast messages in char-server [Yor]
* Message to Valaris from Yor (special file)
* Improved accounts file saving: [Yor]
- be sure that accounts file is save at least every minute.
- save accounts file at end of login-server
* Reduce displaying size on some errors about accounts file reading. [Yor]
* Created log when change sex packet give an invalid value (login-server) [Yor]
* Correction of unknow_packet displaying (in log). Separate is done after 8th char [Yor]
* Give possibility to use account name with spaces in prompt commands finished by account name in ladmin (perl). [Yor]
08/09
* Fixed char-server lag. 3 tests from 3 people appeared to function properly again. [Valaris]
* Basic Implementation of Basilica [AppleGirl]
* Added ban command (ladmin perl) [Yor]
* Correction of bug about auth_fifo when we block a player. Invalid value in array (login.c) [Yor]
* Correction of some tests on server_fd array in login.c [Yor]
* Improved Item_searching in all GM commands [Yor]
* Created @undisguise GM command [Yor]
* Added Umbala town&quests&guide. Some fixes in Yuno warps&shops&guides. Kafra fix. Added Valhallen quest. [kobra_k88],[Lupus]
* Corrected char_divorce (char-server) to remove ring to both partner [Yor]
* Eventual crashfix for clif_authfail_fd [Kalaspuff]
* Corrected @jump GM command. [Yor]
* Reduced size of conf/help.txt (max 200 lines in chat window). [Yor]
08/08
* Added NPCs to @disguise. [Valaris]
* Mob disguises will now show up to player using it as well. Attack animation and sitting do show up to them yet. [Valaris]
* Added @disguise GM command in help files [Yor]
* Added @go 16 to visit prisoners [Yor]
* Reduced number of accounts file saving when informations are not important: [Yor]
- save immediatly any modification/creation/deletion of account (like before)
- use counter before saving if only ip/time of last connection is changed (normal authentification)
because these values are already save in log file.
* Speed up account searching in login-server. [Yor]
* Speed up character searching for @(un)block/@(un)ban. [Yor]
* Created @unjail/@discharge GM command. [Yor]
* According to GM definition level in at_command.conf, set level 20 to online_gm_display_min_level for online files. [Yor]
* Speed up some sortings of online creation (strings based sortings) [Yor]
* Fixed nullpointer crash with disguise in clif_changelook [Kalaspuff]
08/07
* Fixed so spells will still be cast if target walks out of range. (please don't overwrite this again) [Valaris]
* Corrected a little error in online files creation (only 1 player was visible) [Yor]
* Optimized memory management of online list [Yor]
- less memory usage
- less tests and loops (more speed)
- more efficient (use directly char_dat position instead of search it)
* Added Official Assassin Job Quest. Now rAthena contains all 2-1 Job Quests! [kobra_k88]
* Fixed scripts: 32hats, warper2, platinum_skills, added/changed some mapflags and other misc script changes [Lupus]
* Added @disguise command (enter a mob_id or name, and you will appear to others as that mob/npc!)
* Fixed code for mob disguises, should not crash clients now.
* Improved online management code when we receive char_id. [Yor]
* Added code for mob disguises. Can not set yet. Atcommand needs created. [Valaris]
* Improved mmo_char_send006b function [Yor]
* Corrected: when save file of character can not be created, try backup file if flag is set to create it. [Yor]
* Added an option to create backup of characters file [Yor]
The backup_txt file was created because char deletion bug existed.
Now this bug is corrected and no character disappear.
But, create a file with a lot of characters can use CPU usage and decrease hard disk speed.
So, I create an option with default value: no create backup.
* Improved online management code and some others little codes (char.c). [Yor]
* Respawn points of prisoners set to the jail rooms. Jail.txt mapflag addeed. So imprisoned players can't escape. [Lupus]
08/06
* Improved/Optimized some little code (char.c/login.c). [Yor]
* Improved 0x2afa and 0x2afb (map transmissions between char and map). [Yor]
* Optimized global message nick spoof fix. [Valaris]
* Fixed crash in attacking guardians in a null guild. [Valaris]
* Capped earned exp at 1000000000. [Valaris]
* Set area size back to 20 for now, some things in path.c need to be fixed. [Valaris]
* Fixed crash in guardian search. [Valaris]
08/05
* Added @jail <char_name> GM command [Yor]
* Added explanation of @idsearch and @mapinfo in help.txt [Yor]
* Improved @idsearch GM command [Yor]
* Improved a little 3 loops in ladmin.c [Yor]
* Improve some codes in char.c: [Yor]
- less tests in online creation
- mmo_char_send006b: remove duplicated memset, create a char_dat structure pointer
- server_fd[] not seted/modified/checked correctly
* Set max_walk_path back to 48. [Valaris]
* Added translated Gonryun town. Fixed map names of Louyang shops. Added missing Blacksmith,
added extra Rapairmen into refine.txt. In Inns added 4 different prices based on Base Lvl.[kobra_k88]
---------rAthena 1.0.0 RC3 TXT---------
08/04
* Set battle_athena.conf to more accurate settings. [Valaris]
* Decreased default damage delay (stun after being hit) by 75%. [Valaris]
* Max walk path is now correct (17). [Valaris]
* Area size is now correct (14). [Valaris]
* Improved some very little codes in char.c. [Yor]
* Remove displayings of logs on console of map-server [Yor]
use it for DEBUG, not by default, that decrease a lot the performance
* Added (commented) printf in freeze function for debug if necessary [Yor]
* Fixed melee ctrl-attack targetting. [Valaris]
* Reset attack target when equipping arrows. [Valaris]
* Improved (log and remove_control_chars functions). [Yor]
* Added 'available free bytes' in displaying when size is expanded. [Yor]
* Fixed incorrect returns in clif_authok. [Valaris]
* Added pointer checks to chrif.c [Valaris]
* Added some pointer checks to the mob ai. [Valaris]
* New (lag-free) fix for NPCs / mobs not showing up when chars walk around [Kalaspuff]
08/03
* Made so if exp given is less than 0, 0 is given instead of 1 (plants were giving exp) [Valaris]
* Added console displaying to have complete informations when we expand Wdata session. [Yor]
* IMPORTANT: Add a TODO 31 for Guilds' coders. [Yor]
* Old packet 0x2b16 use packet number 0x2b0e. [Yor]
* remove packets 0x2b0e and 0x2b0f. [Yor]
* on character_name ask packet: add account_id of asker. [Yor]
* Improved script code in novice.txt. [Yor]
* Fixed error in alberta.txt. [Valaris]
* Allow player placement on afm-type maps. [Valaris]
* Added afm loading. [Valaris]
* Removed useless code for mob equipment. [Valaris]
* Initial packet setup for possible playable mobs. [Valaris]
* Added check for save_clothcolor for the dyefix, and added another check to make sure player is dyed before using the fix. [Valaris]
* Improvement: Character asking of map-server to char-server is not more case sensitive. [Yor]
* Added TODO 29 & 30. [Yor]
08/02
* Re-added "player not attached" error reporting. [Valaris]
* Fixed errors in 32 hat quest that was causing player not attached errors. [Valaris]
* Fixed input number function: commented out negative input check by Valaris in script.c (all scripts have been revised and fixed),
made actual bug fix of buildin_input func (wrong variable type conversion (int)->(unsigned int) in clif.c
Due to the fixed bug Merchant Job Quest works fine now [Lupus]
* Fixed number input bugs/possible exploits: mage.txt IceCream.txt event_valentine.txt refine.txt
milk_trader.txt grandpa_pharmacist.txt aldebaran.txt alberta.txt juice_maker.txt [Lupus]
* Finished: offline player can be @ban/@block/@unban/@unblock by their character name. [Yor]
* Added packet between map to char to work on offline players (@ban/@block/@unban/@unblock) [Yor]
* Added check on character name with less than 4 characters [Yor]
* Added @chardelitem GM command [Yor]
* Fixed Kafras (no more buttonless msg bugs, Kafra Pass works fine) [Lupus]
* Changed input exploit, only checks for negative now instead of having an input cap. Fixed up vending exploit. [Valaris]
* Added check for src with High Wizard's soul drain. [Valaris]
* Fixed up npc_suicide and npc_selfdestruction, should fix up crashes caused by them. [Valaris]
* Added more pointer checks in the clif_authok function. [Valaris]
* Added some pointer checks to clif.c, should prevent crashes. [Valaris]
* Added some checks about writing errors of item names in GM commands (check cases). [Yor]
* Fixed Hunter Job Quest 1.6 [Lupus]
* Removed Kalaspuff's fix for mob/npc data not always being recieved. It was causing
excessive amounts of lag. [Valaris]
08/01
* Added ability to spawn character pets. [Valaris]
* Added show_mob_hp. [Valaris]
* @item/@item2 GM commands now work correctly with name begining by a number. [Yor]
* @spawn/@monster2 GM commands authorise spawn of guardians. [Yor]
* Fixed so guardians may be spawned outside of castles. [Valaris]
* Fixed/Improved @spawn/@monster2 GM command. [Yor]
@spawn/@monster2 GM command: you can use space in the desired name now (use "") [Yor]
* Added TODO 26 and 27. [Yor]
* Guardians if owned by a guild will display guild name and castle on name request. [Valaris]
* Added checks for null blocks in mapforeachin functions. [Valaris]
* Addition of a GM level 99 account for test of GM commands. [Yor]
* Creation of a default structure for GM levels (sub-gm, gm, admin, etc.). [Yor]
* Improved @time GM command (better code and display more informations). [Yor]
* Added informations about game time in @time command [Yor]
* Added @time command to have server time [Yor]
* Fix night at start if administrator want night and there is no duration for night and day [Yor]
* Fix for NPCs / mobs not showing up when chars walk around [Kalaspuff]
* Begin @unban/@unblock GM command (structure done). [Yor]
* It's now possible to disable Night or Day (set to 0 in battle.conf). [Yor]
* @day/@night: when already the desired cycle, display a message. [Yor]
* Fixed overlapping Ice-Cream Maker NPC, duplicated NPCs, restored duplicated Akaru's MrSmile [Lupus]
07/31
* Terminated: night/day cycles. [Yor]
* When a state comes back to normal, player stay in night if it's night. [Yor]
* Started to add management of day/night: [Yor]
creation of 3 parameters in battle.conf
TODO: usage of these parameters (later).
* added line '// $Id: Changelog.txt,v 1.65 2004/09/29 17:31:42 kalaspuff Exp $' in all code source files to avoid overwrite in CVS. [Yor]
* Fixed number/quantity in @item command. [Yor]
* Fixed when night and disconnect/reconnect, it's night. [Yor]
* Removed extension to check a map in char.c (less tests). [Yor]
* Added savepoint coordonates (x,y) if player is set to a new map (char.c). [Yor]
* Added izlude to check major cities. [Yor]
* Began adding developer mobs. [Valaris]
* Added dyes and fixed client crashes with player mobs. [Valaris]
07/30
* Added temp fix for "nullpo player not attached" error message (script.c script_rid2sd) [Lupus]
* Added checks for major cities in afm format. [Valaris]
* Added preliminary AFM(Advanced Fusion Map) support. Actual map-reading works, but rest of server needs to recognize them.
Thanks to alexkreuz [Valaris]
* Changed Map and NPC loading display. [Valaris]
* Removed unneeded 'End' and duplicate 'end' script commands. [Valaris]
* Added 'language <language>' command in ladmin (perl) to change language of displaying. [Yor]
* Fixed atcommand_gm_only parameter: [Yor]
0: you can define level command '0' for normal players (gm level 0)
1: even you define a level 0 for a command, normal player can not use it. Only GM level 1 or more can use command (if command level is possible for this GM)
Note: This parameter is not like atcommand_for_all (this parameter doesn't exist actually) .
* Fixed Kafras (Cart Service for Super Novice), some warps in Morroc, Aldebaran. [Lupus]
Added official shop into St.Abbey. [Lupus]
Added quests: Lutie Town Hat Quest by TonyMan, 23 new hats custom quest. [Lupus]
Fixed jobchange.txt. [Lupus]
Improved pvp.txt. [Lupus]
Rearranged and updated! (now in 2 variants) mapflags. [Lupus]
Updated map_athena.conf [Lupus]
* Fixed: battle_athena config's atcommand_gm_only; yes was no and vice versa [Kalaspuff]
07/29
* Added 'language <language>' command in ladmin.c to change language of displaying. [Yor]
* Re-added guardians don't attack guild members, someone must have removed it by accident. [Valaris]
* Restore correct displaying (LAN/WAN) previous was good :) (sorry... prabably tiredness). [Yor]
* Fixed some errors in novice.txt script. [Yor]
* Kashy's script fixes. [Valaris]
* Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor]
* Creation of a char_unblocked directory (char directory is blocked) [Yor]
- modification of makefile
* Added a note in TODO 14: encrypted password - problem with client versions [Yor]
---------rAthena 1.0.0 RC2 TXT---------
07/28
* Added metaller to equipped mobs. [Valaris]
* Added a note in TODO 19 [Yor]
* REMOVED last changelog: cvs server: [14:29:29] waiting for cvs's lock in /usr/cvsroot/athena/src/char [Yor]
* Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor]
* Added "OMG" emotion to weapon/armor breaking. [Valaris]
* Removed space in a pointer in mob.c. [Valaris]
* Restored previous version of lan management in login.c, because: [Yor]
- check test was incorrect (no mask for controled ip).
- in check test, we recalculate every time the subnetwork (loss of time).
- impossible to have a name definition for the sub-network (some network administrator use a name to define the sub-network).
- no more default configuration of sub-network.
- possible errors in the reading function of the lan file.
- no more logs about sub-network.
- BUT, conserved: - new default name for lan file
- color for displaying of LAN/WAN
* Removed some memsets from chrif.c that caused segfaults. [Valaris]
* Added fix for anklesnare and spiderweb. [Valaris]
* Added Kashy's Lan Support code. [Valaris]
* Removed variables and assignment used by prevent_multi_login. [Valaris]
* Removed prevent_multi_login. (many problems reported with it) [Valaris]
* Fixed armor breaking. Was being broken when pc was attacking instead of when being attacked. [Valaris]
* Fixed checkcart, checkfalcon, checkriding (they didn't return any value) in script.c [Lupus]
* Fixed breeder.txt renter.npc, kafras NPC (added correct class check, added correct checkcart, checkfalcon, checkriding) [Lupus]
* Fixed Kafra functions_kafras.txt NPC (added correct checkcart, fixed cmall cart giving bug) [Lupus]
* Fixed Kafra functions_kafras.txt NPC (fixed Kafra Pass exploit) [Kobra_k88]
* Fixed Hunter.txt coords of the Guild entrance warp [Lupus]
07/27
* Improved check command in ladmin.c [Yor]
* Added map_id check in map_foreachinarea, to prevent eventual crashes [Kalaspuff]
* Added @enablenpc and @disablenpc in help files [Yor]
* Fixed Thunder Storm range (thanks midas) [Kalaspuff]
* Added Anthell NPC trigger in Morroc.txt warps/town [Lupus]
* Added missing Warps for Job Quests of Swordman, Hunter and Thief in jobquests.txt [Lupus]
* Updated atcommand_conf, missing GM-level for @enablenpc and @disablenpc [Yor]
* Removed possible overflow error in @enablenpc and @disablenpc [Yor]
* Updated atcommand_conf, missing GM-level for haircolor [Kalaspuff]
* Improved best job test in novice.txt [Yor]
* Improved @go command: [Yor]
- give list of cities if no value
- added start point (to welcome newbies)
- give possibilities to use city names (@go geffen): at least 3 characters, and some writing errors are tested
* Replaced every Job Quest Script (excluding Assassin, 2-2 and 2-2-X ). Now all 2-1 Jobs have big quests. [Kobra_k88]
* Replaced all Skill Quests (Added Sand Attack Skill Quest). [Kobra_k88]
* Added Legendary Swords quest. [Kobra_k88]
* Replaced 6 towns with new scripts: Izlude, Prontera, Morocc, Geffen, Alberta, Al De Baran. Splitted all towns quests into files. [Kobra_k88]
* Splitted and optimized Kafras & Guides. [Kobra_k88]
* Implemented Kafra Pass! [Kobra_k88]
* Removed free Breeders (replaced by the correct ones). [Kobra_k88]
* Placed all Sign Posts/Signs into a single file. [Lupus]
* Files arrangement, additional warps/scripts correction. Fixed several scripts (NPC overlapping, bad sprites, etc). [Lupus]
07/26
* More accurate pvp point system. It skips ranks, needs more work. [Valaris]
* Fixed crash in executioner card code. [Valaris]
* Fixed mob respawn after death bug. [Valaris]
* Fixed exp problem caused by bounds checking. [Valaris]
* Fixed pvp rank so only one person may be rank 1. [Valaris]
* Any time a person is on a pvp map, the rank will calculate, preventing bad rank packets from being sent. [Valaris]
* Added Job Agencies for Training Ground (novice.txt). [Yor]
* PVP respawn client crash fix. [Valaris]
* Fixed small error in kafra.txt [Syrus22]
* Finished adding special equipped mobs. [Valaris]
* Added 2 living statues behind the NPC 'Monster Master'. [Yor]
* Removed infinite possibilities to have items from helper (novice.txt, new_1-4.gat,60,149). [Yor]
* Added 2 living statues behind the NPC 'Monster Expert'. [Yor]
* Improved a little 1st course of novice training. [Yor]
07/25
* Allow mobs to be equipped with pet armor. mob_avail and clone mobs need to be created. [Valaris]
* Removed [AppleGirl]'s armor breaking code. [Valaris]
* Commented out data_dir. [Valaris]
* Finished exp bounds checking. [valaris]
* Added negative value checks to clif_updatestatus. [Valaris]
* Added exp bounds checking for those rediculously high rate servers. [Valaris]
* Added bounds checking to the @zeny and @charzeny commands. [Valaris]
* Improved and corrected some errors 1st course of novice training. [Yor]
* Removed no guild check for Guardians. Guardians SHOULD attack people with no guild. [Syrus22]
* Fixed Alliance check in mob.c [Syrus22]
* Added armor breaking to normal battle (crits will double the chance) [Valaris]
* Fixed mistake in map.c causing compile errors. [Syrus22]
* Fixed backstab bow penalty option. [Syrus22]
* Fixed Alliance check in battle.c for emp/guardian damage. [Syrus22]
07/24
* Added backstab bow penalty option [Akaru]
* Fixed OnGuardianDied events on prontera castles 3 to 5. [Valaris]
* Another vending fix. [Valaris]
* Fixed bugs in npc headers caused by someone using spaces and not tabs. (kafra.txt, guide.txt, yuno.txt) [Valaris]
* Fixed a vending bug. [Valaris]
---------rAthena 1.0.0 RC1 TXT---------
07/22
* Fixed numerous startup errors in aldebaron castles and one geffen castle. [Valaris]
* Full Guild Wars Script Complete!!! [Akaru]
* Fixed rice ball item. [Valaris]
* Fixed problems with options and peco riding. [Valaris]
* Updated item_db with fix for Sleipnir and more translations. [Akaru]
* Translated item_violetbox, mob_poring, mob_branch, mob_boss. Fixed wizard.txt (wrong item id), headgeatquest.txt(added Zeny check) [Lupus]
07/21
* Updated refine.txt. Added optional features and optimized the file. [Syrus22]
* Evened out the # of columns in mob_db, filled in some blanks. [Valaris]
* Undid compilation errors caused by Akaru's removal of nullpo.o from map-server compile [Valaris]
07/20
* Removed Ghostring from gef_fild13.gat [rg]
07/19
* Fixed Graffiti [Valaris]
* Zeny Bug In Vending Fixed [Darkchild]
07/18
* Added a check about level of at_command when reading the file [Yor]
* Updated /help and conf/help.txt [Yor]
* Added @nuke command in conf/help.txt [Yor]
* More WoE Castles Done [Hikaru]
* Changed: inter.txt->inter.log in log directory [Yor]
* Added some char_log when character can not be created (invalid value, invalid name, etc...) [Yor]
* Changed: char.txt->char.log in log directory [Yor]
* Update features.html/changlog.html [Yor]
* Fixed compilationissue on FreeBSD [Kalaspuff]
07/16
* Remove limit for kami/kamib ladmin command. [Yor]
* Fixed crash in weddingtxt.txt where it was checking an invalid equip index. [Valaris]
* Added some TODO for next version. [Yor]
07/15
* Changed: login.txt->login.log in log directory [Yor]
* added system to choice authorised ip for remote administration [Yor]
* Added listBan/listOk commands in ladmin's. [Yor]
* Speed up a little search_mapserver function. [Yor]
* Init map strings of each servers when map-server send informations. [Yor]
* Added some TODO for next version. [Yor]
07/14
* Fixed another lockup with multi_level_up [Valaris]
* Added kami(yellow)/kamib(blue) commands in ladmin (terminated). [Yor]
* Fixed name of ladmin_athena.conf. [Yor]
* Fixed mvp item reading. [Valaris/Syrus22]
* Added new move packet in map (ver.13jully04) [Yor]
* Added new auth packet in map (ver.13jully04) [Yor]
* Added kami/kamib commands in ladmin. not terminated: to do: login->char [Yor]
* Updated Some Npcs [Darkchild]
* Added Gefenia Warps [Darkchild]
* Added Berzebub Quest [Darkchild]
* Removed random alchemist marine sphere code, until some other system is worked out. [Valaris]
* Fixed infinite loop caused by turning multi level off. [Valaris]
* Added display id the char-server is freezed. [Yor]
* Added debug printf about the max_connect_user in char-server. [Yor]
* Added banadd command in ladmin.c [Yor]
* Removed duplicate check in chrif.c. [Yor]
07/13
* Fixed GM_level code in map-server. [Yor]
problem is in the hash system of the db -> use simple db until we found solution.
note: for this db, it's not necessary to use a db system (little db, 2 values: key, value)
* Improved GM_level code in map-srv, but not solve the problem. [Yor]
* Fixed error of 'return' without value in chrif_parse (chrif.c). [Yor]
* Added character name, account id and gm level on console in map-server when auth is accepted. [Yor]
* Added gm_level of the account on console in char-server when auth is accepted. [Yor]
* Added gm_level of the account on console in login-server when auth is accepted. [Yor]
* Added timeadd command in ladmin.c [Yor]
* Added help for each command (help <command>) in ladmin (perl and c). [Yor]
* Fixed global message (normal speak) name spoof exploit. [Valaris]
* Added timeset command in ladmin.c [Yor]
* Added banset command in ladmin.c [Yor]
* Added vending and trading dupe fixes, thanks to Kinko and Kazzy [AppleGirl]
* Added multi_level_up command to battle_athena and commandline. [Valaris]
Turning it off will allow a player to only level up once from a monster.
* Added: explanations of ladmin_athena.conf keys in conf_ref.txt. [Yor]
* Fixed: init mmo_map_server structure (to 0) in char-server. [Yor]
* Added Gefenia Maps [Darkchild]
* Added @nuke command do to user request. [Valaris]
* Removed nick spoof fix code for now, it broke chat. [Valaris]
* Added some code for @nuke command. [Valaris]
* Finished adding battle_athena options to command line. Every option in battle_athena.conf
can now be passed directly through the command prompt. [Valaris]
07/12
* Added many battle_athena options to command line arguments. [Valaris]
* Allow battle_config_switch to be used globally in map-server. [Valaris]
* Rewrote map-server command-line code. Will now begin implemented nice commands for map-server. [Valaris]
* Added BETA version of ladmin in C. [Yor]
* Added new packet structure of authentification and move - automatic detection. [Yor]
* Added /item command. It is same as /monster. Both commands will search for mobid first, if not found will give item. [Valaris]
* Fixed a displaying error in state command (perl ladmin). [Yor]
* Added /monster command. Syntax is /monster <name/id>. [Valaris]
* Fixed chat spoofing in global messages. [Valaris]
* Prevent nick spoofing in whispers. [Valaris]
* Added check about lenght of packet 0x72 for new client version [Yor]
* Added Pet Equip Items Quest Npc
* Added Pet Taming Items Quest Npc
* Added Slotted Sunglasses Quest Npc
* Added pet_equip_required option for pet skills. [Valaris]
* Changed: create a sub-function for help command in ladmin (perl). [Yor]
07/11
* Added Petit pet skill. [Valaris]
* Added some code for Petite Heaven Drive, still does not work, but doesn't crash. [Valaris]
* Fixed dokebi and baby desert wolf pet skills. [Valaris]
* Added Orc Warrior, Hunter Fly, Poison Spore, Baby Desert Wolf, Baphomet Jr, and Dokebi pet skills. [Valaris]
* Added script command petskillattack.[Valaris]
* Fixed search command in ldamin (perl) ignore sensitive case now. [Yor]
* Fixed default to 0 for save_unknown_packets configuration in login. [Yor]
* Fixed the warnings about implicit declarations. [Kalaspuff]
* Added @guildrecall/@partyrecall commands. [Yor]
* Added Isis pet skill. [Valaris]
* Added petmag script command for magnificat. [Valaris]
07/10
* Added Banker NPC because alot of users wanted one. [Syrus22]
07/09
* Added Sohee pet skill. [Valaris]
* Added petheal command. [Valaris]
* Added Smokie pet skill. [Valaris]
* Added bonus bPerfectHide for Smokie pet skill. [Valaris]
* Added Spore pet skill. [Valaris]
* Created petrecovery script command. [Valaris]
* Added Poring, Drops, Poporing, and Yoyo loot skills. [Valaris]
* Added petloot script command for pet looting. [Valaris]
* Removed pet_loot config settings. [Valaris]
* If pk_mode is on, a message will show up in map-server. [Valaris]
* Fixed pk_mode extra experience and drops so will occur if monsters is 20 levels or higher than player. [Valaris]
* Fixed @killmonster crash caused by implementation of pk_mode. [Valaris]
* Finished setting up pk_mode, should be 100% complete now. [Valaris]
* Added nopvp.txt for pk_mode. [Valaris]
* Prevent novice engagement in pk_mode. [Valaris]
* Fixed up and changed the exp penalty system. [Valaris]
* Pk_mode will now give double exp loss if killed by player. [Valaris]
* Updated conf/help with new commands [Yor]
* Removed more pvp timer stuff from pk_mode [Valaris]
* Increase drop rates +25% if over level 20 on pk_mode. [Valaris]
* Changed +25% exp increase on pk_mode to 15%. [Valaris]
07/08
* Disabled pvp rank and timer if pk_mode is on. [Valaris]
* All maps made pvp if pk_mode is on. [Valaris]
* pk_mode additional 25% exp given over level 20 [Valaris]
* Disable @pvpon and @pvpoff commands if pk_mode is on. [Valaris]
* Added pk_mode option in battle_athena.conf (not yet implemented) [Valaris]
* Reworked prevent_multi_login, should work perfectly now. [Valaris]
* Removed need for eof=2 for prevent multilogin, will now just delete the blocks containing both sessions. [Valaris]
* Added map-servers anti-freezed connection in char-server. [Yor]
* Added char-servers anti-freezed connection in login-server. [Yor]
* Fixed spy commands so that inputting the same id/name turns off the command. [Syrus22]
* Created @partyspy command. [Syrus22]
* Renamed search_guildname function to conform with normal naming standards in guild.c. [Syrus22]
* Created @whomap/@whomap2/@whomap3 commands to show online players on a specifical map. [Yor]
* Updated and Shrunk the Kafra Script. [Syrus22]
* Create @reloadgmdb gm command. [Yor]
07/07
(Dated On Aegis Website)
*--Released 1.0.0 RC3--*
* Fixed crashed with prevent_multi_login. [Valaris]
* Allow infinited local logins if prevent multi_login is on. [Valaris]
* If prevent_multi_login is on, it will disconnect both clients on the same ip. [Valaris]
* Prevent_multi_login will now list the character names of both accounts when logged out, and give a message. [Valaris]
* added updated const.txt and pet_db.txt [Valaris]
* GM accounts/level updating without restarting completed (by reloadgm ladmin command). [Yor]
* Removed gm_account_filename definition from map.conf. [Yor]
* Updated GM level by reloadGM ladmin command. [Yor]
* Added a packet between char and map to send GM accounts and their level. [Yor]
* Added a GM minimum level option to display 'GM' in online files. [Yor]
* Added a warning when a GM account is defined twice in the file. [Yor]
* Check for castle before guardian searches for emblem. [Valaris]
* Prevent stealing from treasure boxes. [Valaris]
* Enable mounted classes to use pedestrian counterpart's items. [Valaris]
* Change so petskillbonus will only update stats(client-side) if need be to prevent errors. [Valaris]
* Fixed crash with putting pets with skills back into egg. [Valaris]
* Added Steel ChonChon, Rocker, and Deviruchi pet skills. [Valaris]
* Added bAllStats(SP_ALL_STATS), bAgiVit(SP_AGI_VIT), bAgiDexStr(SP_AGI_DEX_STR) bonuses for pet skills. [Valaris]
* Added ChonChon, Lunatic, Picky, and Savage Babe pet skills to pet_db.txt. [Valaris]
* Added petskillbonus command for pet skills. Added pet_skill_bonus functions in pet.c. Made pointers for pet skills. [Valaris]
* Added 'GM' display option for online files [Yor]
* Improved GM accounts file reading in login-server [Yor]
07/06
* Changed heal dog in prontera to a poring. [Valaris]
* NPCs with mob sprites can now be used in scripts. [Valaris]
* Removed sd->brokencounter. Made getbrokenid more scripter friendly. Updated refine.txt getbrokenid commands. [Valaris]
* Mounted classes will now use equipment of their pedestrian counterpart. [Valaris]
* Improved management of GM account structure in char-server. [Yor]
* Added packet betwen login to char to send GM accounts value. [Yor]
* Added reloadGM command in ladmin to reload GM accounts file without stop the login-server. [Yor]
* Added listGM/lsGM command in ladmin to list only GM. [Yor]
* Correct an error in loop of char_divorce function (incorrect variable). [Yor]
* Added some comments. [Yor]
* Added a check on start_point.map when configuration is readed. [Yor]
* Modified final message of login log at end of login-server. [Yor]
07/05
* Flamelauncher,frostweapon,lightningloader,seismicweapon, and enchant poison now check to make sure target's weapon is not already enchanted. [Valaris]
* If sage breaks another person's weapon due to enchant failure, it will tell caster. [Valaris]
* Modified venom splasher to hopefully stop crashes caused by spamming. [Valaris]
* SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now check to make sure target is holding a weapon. [Valaris]
* SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now will break target's weapon on failure (if one
is being held and caster met requirements) [Valaris]
* Prevent unidentified and broken items from being sold. [Valaris]
* Added buildin_repair for equipment repair npc. [Valaris]
* Added repair npc to forgery in prontera. (refine.txt) [Valaris]
* Added sd->brokencounter and buildin_getbrokenid for item repair npc. [Valaris]
* Corrected some item names [rg]
* Fixed so @repairall success message and effect will only display once. [Valaris]
* Added "No items needed to be repaired" message and added forge success effect to @repairall. [Valaris]
* Added @repairall command. [Valaris]
* Added equipment_breaking option, changed weapon_break_chance to weapon_break_rate (changed to %) [Valaris]
* Crit's will now double weapon breaking chance if turned on. [Valaris]
* Added missing commands in atcommand_athena.conf. [Yor]
* Added @warpto command (same @jumpto). [Yor]
* Added increase in chance to break weapon if using powerthrust. [Valaris]
* Added weapon_break_chance to battle_athena.conf. [Valaris]
* Modified multiple login from one ip prevention(and remove gm bypass). [Valaris]
* Broken weapons will now have their description names in red. [Valaris]
* Speed up characters saving [Yor]
* Improved logs when a character isn't readed [Yor]
07/04
* Completed Prontera guild castles [Akaru]
* break_weapon_chance now works, but broken weapon will not be displayed any differently than a normal weapon.
Also does not yet affect a dual dagger assassin's 2nd weapon. No way to repair yet, and no skills/stats affect breaking chances. [Valaris]
* Update int_storage to include broken column on all items (updates from old version) [Valaris]
* Added @guildspy command. [Syrus22]
* Added weapon_break_chance. (Not implemented yet) [Valaris]
* Added break column for items in athena.txt (will upgrade older versions automatically) [Valaris]
* Changed default required GM levels for GM commands (effective if corresponding directive(s) in /conf/atcommand_athena.conf is/are missing) to 1 [rg]
* Added packet_table_en.txt in doc folder. Has some translations of the client_packet.txt. [Valaris]
* Prevent @monster and @spawn of guardians/emperium. [Valaris]
* Changed killmonster so it will not destroy guardians. [Valaris]
* Added prevent_multi_login in battle_athena.conf to disable multiple logins from same ip (ignores gms, and will
display ip of offending ip if turned on) [Valaris]
* Added checks on player trading to prevent possible exploits. [Valaris]
* Make sure cart is on before vending. [Valaris]
* Cleaned up vending exploit fixes. Now checks to make sure not vending more than max items per skill level. [Valaris]
07/03
* Prevent use of potion pitcher on oneself, fixed potion pitcher so can be used on other targets. [Valaris]
* Fixed the damage code for Falcon Assault, so its not totally useless. [?]
* Update peco riders for people upgrading athena, fixed bug in unmounting pecos. [Valaris]
* Removed option 32 from @option, added @mountpeco command. [?]
* Removing peco will revert to proper job level, fixed so jobchanging from peco status to peco user without peco status,
will update job to peco status. (ie going from Mounted crusader to Unmounted knight, will jobchange to mounted knight) [Valaris]
* Fixed so Peco mounting will not reset job level. Set to remove peco status if jobchanging to a class that does not use them. [Valaris]
* Peco mounting will now jobchange accordingly. [Valaris]
* Added checkfalcon and checkriding script commands. [Valaris]
* Added checkcart script command (since was already being used in scripts) [Valaris]
* Re-added unix fd_setsize definitions, makefile will now pass -DFD_SETSIZE=4096 only for windows compiles.
Tested new implementation of using -DFD_SETSIZE=4096 in makefile on windows box, and got past 64 connections even. [Valaris]
* Improved messages between servers about connections. [Yor]
* Improved pc_resetlvl, fixed the bug about options being left. [?]
07/02
* Added optional match_test in @who/who2/who3 commands (no sensitive case) [Yor]
* If there is no map-server, send right message to client (char-server) [Yor]
* Improved counter of users (char-server) [Yor]
* Improved save of characters (char-server) [Yor]
* Improved sorting of account before save (login-server) [Yor]
* Improved map search at selection of a character (char-server) [Yor]
07/01
* Removed FD_SETSIZE definitions from socket.h, added -DFD_SETSIZE=4096 argument to makefiles. [Valaris]
* Changed exploit fix in chrif.c [Valaris]
* Added assassin mask view_id in item_db [Valaris]
* Added a parameter to authorise minimum GM level at connection (login) [Yor]
* Fixed crash caused by making raw connection to map-server. [Valaris]
* Corrected a possible error at check of online players [Yor]
* Improved characters names control/check [Yor]
* Improved save/load of REG2 strings and values (login) [Yor]
* When there is no char-server, login-server sends proper message instead of a void list of servers [Yor]
06/30
* Fixed a crash when used @charmodel,@charstpoint,@charskpoint and
@charzeny with the wrong name [Kalaspuff]
* Added possibilities for switchs in battle.conf (add some foreign language) [Yor]
* Protected char-server again disconnection of login-server [Yor]
* Added possible protection against packet exploits in chrif.c. [Valaris]
* Login-server: Added an option for the format of the date (log, etc...) [Yor]
Improved some little code.
Added log for char-server packets.
* Correction of prtg_cas03.txt that crash server AT START! [Yor]
* Added functions of mapflag noskill [Kalaspuff]
06/29
(Dated On Aegis Website)
*--Released 1.0.0 RC2--*
06/28
* Added monsters_ignore_gm option. Monster won't attack GMs if turned on unless attacked and within 1 cell. [Valaris]
* Added drops_by_luk option in battle_athena.conf. Anything higher than 0 will turn this option on, and act as a mutiplier.
Example : Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. [Valaris]
* Fixed range and removed skill failed message from Venom Splasher, also moved some of it's code around. [Valaris]
* When a player arrive on map-server, time limit of its account is displayed if not unlimited [Yor]
* Fixed problem where warp portals broke in npc.c [Valaris]
* Updated atcommand_heal so it works like it should [Kalaspuff]
06/27
* Changed Venom Splasher so it will increase damage based on level of Poison React (had it set so the player had to be
using it, but it turns out it doesn't need to be) [Valaris]
* Venom Splasher now works except for the counter part. Damage is instantly dealt if skill is successful. [Valaris]
* Improved @item command to make correctly pet eggs [Yor]
* Updated Chase Walk so you can't attack while you have it casted [?]
* Removed un-needed code for graffiti from clif.c [Valaris]
* Added @ban command (to ban a player for a limited time) [Yor]
* Added @charblock command (you have been blocked by GM team) [Yor]
* Added the mapflag nowarpto [Kalaspuff]
* Updated the function of nowarp [Kalaspuff]
06/26
* When a player is banned (or with a state != 0), he is disconnected [Yor]
* When sex is changed, skills of other sex are reseted (and skill points increased of the same number) [Yor]
* To avoid problem with change sex and equipement, changed sex character is unequipped of all equipment [Yor]
06/25
* Added @charchangesex GM command [Yor]
* Changed: Changesex is now done after that the login-server has confirmed the change [Yor].
becuase sex is saved in account file.
06/24
* Added new classes in change sex script command (buildin_changesex). [Yor]
* Translated pet_db.txt again [Valaris]
* Initial implementation of Venom Splasher. Runs checks on target poison status and whether or not hp is less then 2/3.
Will display skill failed if checks do not pass. Shows effect when successful. [Valaris]
* Added administration system to change final date of a banishment. [Yor]
* Added information about banishment in admin packets about an account. [Yor]
* Updated Chase Walk so it cancels when recasted to fix it. [?]
* Initial implementation for Chase Walk skill for Stalker Class [?]
* When an account is banned, message_error_7 is not more modified [Yor].
06/23
(Dated On Aegis Website)
*--Released 1.0.0 RC1--*
* Added bRandomAttackIncrease for Executioner card. Chance stacks, attack does not. [Valaris]
* Fixed magic_damage_return so it will actually work (for Maya card). [Valaris]
* Add a ban timestamp in the structure of the accounts. Management not yet make [Yor]
06/22
* Don't send a message when it's void (packet 0x8e) - client doesn't display it [Yor].
* Add a refresh time parameter for the html online file (refresh time in the explorer) [Yor].
* Create a job_name function in atcommand to have the name of the job (suppress repeated code) [Yor].
* Added New City: Jawaii
* Fix free memory of online structure at end of char-server [Yor].
* Remove possible duplicated online players (multiple map-servers) [Yor].
* Add examples in state command (ladmin) [Yor].
* Use a function to display warnings in login-server to avoid duplicated messages with import option [Yor].
* Iinitial implementation for magicdamagereturn for Maya Card [?]
* skill_out_range_consume - If it is set 'no' the skill will still be cast (like real servers).
If it is set to yes, skill will fail and sp and items required will be lost. [Valaris]
06/21
* Updated Sacrifice skill code to be more flexible for user usage [?]
* Changed SC_ATTACKPOTION and SC_MATTACKPOTION to SC_ATKPOT and SC_MATKPOT, also added it in item_db.txt [?]
* Guild Territory will now display the # of castles owned or "None Taken". [Valaris]
* Changed SC_ATTACKPOTION and SC_MATTACKPOTION so the increase can be specified in itemdb.txt.
Example : sc_start SC_AtkPot,18,30; (+30 atk for 30 seconds) [Valaris]
* Added SC_ATTACKPOTION and SC_MATTACKPOTION for +30 atk for specified time period (need to get the correct id's yet,
right now giving wrong icons and wrong message). Added entries in const.txt, need more info to complete these. [Valaris]
* Fixed so players will always spawn with guild emblem if one is needed. [Valaris]
* Reduce number of tests in atcommand_character_stats_all (@charstatsall). [Yor]
* Fix memory management for online players list. [Yor]
* Party HP now updates instantly on change. [Valaris]
* Fixed crash when non-guild members are in the area of guardians in attack mode.(Will ignore them) [Valaris]
* A higher level GM is not displayed by who/who2/who3 if he uses HIDEGM. [Yor]
* When a GM with HIDEGM relogs, he is always HIDEGM (only GM). [Yor]
* Improve presentation of online.txt file. [Yor]
* In /npc/quests/magicalhatquest, corrected checking for and deletion of Mage Hat instead of Wizard Hat. [rg]
06/20
* Fixed problem with guardian emblems disappearing [Valaris]
* If a GM use GM HIDE, he is not counted in the number of players [Yor]
* Setup prtg_cas01 to load guardians on server startup and to spawn them when purchased. Also switched from GuardianDied
to OnGuardianDied (other way wasn't working). Changed so guardians won't be killed on agitend. [Valaris]
* Guardians cannot attack and cannot be hurt during non woe time. [Valaris]
* Switched checking of castle.txt format so it won't wipe guardian hp everytime it loads. [Valaris]
* Made it so if guardians were installed in old db, that it will set guardians to full hp based on defense and class. [Valaris]
* Autosave will save guardian HP data. [Valaris]
* Castle.txt visibleG flags will be set when guardians are killed. [Valaris]
* Moved emperium defense upgrade to mob.c. [Valaris]
* Removed guardian hp saving from agitend. [Valaris]
* Added option to choose which columns are displayed in the online files [Yor]
* Added option to choose how to sort online players in the online files [Yor]
* Correction of a new error on guild (from [Valaris]). Old castle.txt files couldn't be readed. [Yor]
* Kafra Points And Rewards fixed [Darkchild]
* Kafra file made a lot smaller with DoEvents [Darkchild]
* Fixed lotsa bugs in Kafra's [Darkchild]
* Initial implementation for paladin's skill sacrifice [?]
* Loading/Saving of guardian hp (loads on agitstart, saves on agitend) [Valaris]
* Added so guardian hp will change accordingly. Moved the guardian defense increase to mob.c [Valaris]
* Implemented guardian and guardianinfo script commands [Valaris]
06/19
* Added Ghp0-7 into castle database [Valaris]
* Added configuration parameters to choose online files filename [Yor]
* Added online files (txt and html) [Yor]
* Added choose of authorised letters/symbols for characters names [Yor]
* Added 3 new Dragon Boat Festival monsters with temporary stats to mob_db [Akaru]
* Translated more of item_db [Akaru]
* Added correct effects for Dragon Boat Festival items [Akaru]
* Solve problem about the change of MAX_GUILDPOSITION by [Valaris] when we load an old guild.txt file. [Yor]
* Improve allow/deny configuration. Write warnings if necessary. [Yor]
06/18
* Add heal_payment.txt as an alternative to heal.txt. [Yor]
* Sex change (char.C): Correct error in jobchange. Disconnect player if connected. [Yor]
* Sex change/account deletion: Change authentification to avoid that player comes back on char-server within the 5 secondes before disconnection. [Yor]
* Save configuration of login-server in log file at start. [Yor]
06/17
* Added fritz's vending exploit fixes. [Valaris]
* Increased max guild castle size to accomodate for novice guild castles. [Valaris]
* Fixed investment in prontera castle 1. [Valaris]
* Implemented of showing guardian hp on guardian investment in prontera castle 1 (factors in defense investment) [Valaris]
* Added strmobinfo script command. Syntax is strmobinfo(x,y). 'y' is the mob's id. x will show different values.
1=english name, 2=jap name, 3=level, 4=max_hp, 5=max_sp,6=base_exp,7=job_exp. [Valaris]
* Disable % and / for 1st symbol of commands (party chat symbol and standard ragnarok GM commands) [Yor]
06/16
* Added fully functional economy for Prontera Castle 2 Guild Wars script [Akaru]
* added fix for cross-class ensemble skills. [?]
* Increased max guild member limit to accomodate for +2 member increase per extension level
and increased max position to 56 to accomodate for all members. [Valaris]
* More of fov's fixes for atcommand.c, chrif.c, and clif.c. [Valaris]
* added fixes for class checking skills like bard & dancer skills and a priest skill. [?]
* updated skill_cast_db and skill_require_db.txt [?]
* changed int_guild.c added +4 for extension skill to match kRO [?]
* remote administration: add a command/packet to change sex of an account [Yor]
* Log detailled reason of refused connection in remote administration [Yor]
* Create a mmo_auth_tostr for accounts [Yor]
* Add a message when char-server is terminated [Yor]
* Save deleted accounts (administration deletion) in log file [Yor]
* Add a message when login-server is terminated [Yor]
06/15
* Added in fov's fixes for socket.c, atcommand.c, npc.c and skill.c [Valaris]
* Added a char_log function. Save unreadable characters in log instead of a specific file [Yor]
* Save invalid account lines in log file. Account will be never lost [Yor]
* Sort characters of same player with the slot number in the characters file [Yor]
06/14
* Fix errors in prtg_cas01, prtg_cas05 and MrSmile scripts [Akaru]
* Added fully functional economy for Prontera Castle 1 Guild Wars script [Akaru]
06/13
* If player is on map-server when the account is deleted, player is now disconnected [Yor]
* Correction of char deletion bug when account is deleted [Yor]
* Added Prontera Castle 5 guild wars script [Akaru]
* Added Prontera Castle 4 guild wars script [Akaru]
* Add checks about duplicated character ids and names [Yor]
* Don't save a reg of a character if its string is void [Yor]
* Read a character even if a reg string is void (don't suppress the char for that) [Yor]
* Save characters in account_id order [Yor]
* Save not readed characters in a file (char file name + "not_readed.txt") [Yor]
* Display line number when a character can not be readed [Yor]
* Initialise char_num! Display number of readed characters [Yor]
* Do right initialization of char_dat [Yor]
* Add red color for ERROR displays in char.c [Yor]
06/12
* Change 0 to '\0' for char in login.c. Add red color for ERROR displays [Yor]
* Optimised Mr. Smile NPC script [Akaru]
* Add a configuration in atcommand.conf to set the 1st character of ALL commands (Now, you can choose @, #, !..., any char that is not control character) [Yor]
* Optimised Prontera Castle 1 and 2 guild wars scripts [Akaru]
* Added Prontera Castle 3 guild wars script [Akaru]
* Changed Graffiti placement, will allow placement of one painting at a time (old one will be replaced). [Valaris]
* Graffiti displays to other plays and remains on map for set time period. [Valaris]
06/11
* Initial implementation of graffiti (does not change directions yet (vertical/upsidedown) and doesn't dissappear [Valaris]
* Add config_switch (0/1, yes/no, ...) for char-server configuration [Yor]
* Add a display when a player does a connection [Yor]
* Add a display when a remote administration does a connection [Yor]
06/10
* Improve compiling instructions for cygwin (socket.h) (depends of the cygwin version). [Yor] with help of [Lostsoul]
* Add parameters in login.conf to display or not parse information [Yor]
* Remove some repeated codes in ladmin / add example when error of command [Yor]
* Remove delete_session error in login.c (sorry) [Yor]
* Display correct message for char-server disconnection [Yor]
* Finish translation of ladmin [Yor]
* Fixed Various Npc Bugs [Darkchild]
* Added green colour for READY displays in char-server, login-server and map-server [Akaru]
06/09
* Add some comments in ladmin [Yor]
* Remove displaying of packet 0x2714 from login-server [Yor]
* Correct length of password send to login-server in char-server [Yor]
* Char-server/login-server: put default lan to 127.0.0.1 instead of any hasardous value [Yor]
* Change displaying of the title [Yor]
* Optimised twin towers script to use duplicate [Akaru]
* Edited to a more user friendly error message for invalid server communication password [Akaru]
* Updated the item_db for more item name consistencies [Akaru]
* Reverted training grounds back to new_1-?.gat maps. [Valaris]
* Added added more variety to sending packets to guild members (same map, same map w/out self, ect) [Valaris]
06/08
* Put a HOWTO in lan_support.conf. [Yor]
* Removed extra semicolons in char.c, map.c, and pc.c. [Valaris]
* Added missing } to clif_storageitemlist in clif.c and found a couple lines ending with 2 semicolons, removed them. [Valaris]
06/07
* Translated refine_db.txt. [Valaris]
* Negative vending fix. [Fritz]
* Correction of mktime parameters in ladmin + some translations [Yor].
* Add some checks on login-server configuration parameters [Yor].
06/06
* Fixed error in skill_tree.txt that would crash some people's servers when changing to Professor. [Valaris]
* Added admin_state directive for enabling and disabling remote administration, instead of testing whether admin_pass == "" [rg]
* Add title to the servers. [Yor]
* Add warnings about default password usage (administration and gm passwords). [Yor]
* Modify adduser.c for the default configuration. [Yor]
* Write the complete admin_packet.txt. [Yor]
* Champion NPC was looking for a priest instead of monk, changed to correct value. [Valaris]
* Small fixes in guide.txt, kafra.txt, and swordsman.txt pointed out by StiNKy. [Valaris]
* Begin splitting monsters.txt [Akaru]
* Removed obselete monster spawn files [Akaru]
* Complete Guild Wars for Prontera Castle 2 script done [Akaru]
* Fixed prevent_logout option. [Valaris]
06/05
* Implemented guild castle regen.(Stackable 2x for castle owners) [Valaris]
* Fixed player logout display on map-server console. [Valaris]
* Added atcommand_spawn_quantity_limit directive to /conf/battle_athena.conf [rg]
* Fixed noskill map flag [?]
* Complete information about login configuration in conf_ref.txt [Yor]
* Add possible configuration values on/off or yes/no in login-server [Yor]
* Guardians and emp will now get +2000 hp for every defense investment within a castle [Valaris]
* Changed the login server to reject all remote administration authentication if the admin_pass directive isn't set, and commented-out the admin_pass directive in /conf/login_athena.conf [rg]
* Changed /src/common/grfio.c so it doesn't try to read GRF files with no respective directive in /conf/grf-files.txt [rg]
* Changed so no one can spawn inside castles. [Valaris]
* Updated item_db with more consistant names, fixed some unknown_items [Akaru]
* Complete Guild Wars for Prontera Castle 1 script done [Akaru]
* Disabled guild breaking, alliance breaking, and alliance making during WoE. [Valaris]
* Will not default to prontera.gat if map-server is not connected. [Valaris]
* Warp players who are not in guild out of castles when WoE starts. [Valaris]
06/04
* Allies now do no damage to guardians or emperium. [Valaris]
* Prevent allies from being attacked by guardians. [Valaris]
* Optimized guardian emblem code. [Valaris]
* Fixed map-server crashing with spawning guardians in untaken castles. [Valaris]
* Guardian emblems will change if castle is taken, but client needs to refresh map. [Valaris]
* Fixed problem where guild emblem would vanish from guild info screen. [Valaris]
06/03
* Improve e-mails checks and LAN/WAN checks on char-server. [Yor].
* Add some explanations in front of accounts file. [Yor]
* Set a non LAN configuration for basic configuration in lan_support.conf. Explain parameters. [Yor]
* add missing parameters of char_athena.conf, and explain them. [Yor]
* Restore default admin pass and gm pass of login_athena.conf, and add missing parameters. [Yor]
* fix missing include in char.c. [Yor]
* Translation of checkversion. Add some explanations in front of file. [Yor]
* Translation of getlogincount [Yor]
* Finish translation of new login.c [Yor]
* Implemented Guardian Emblems [Valaris]
06/02
* Added maximum_level option in battle_athena.conf [Valaris]
* Added maximum level cap to all the level up commands. [Valaris]
* Added "Deal has been cancelled" message to Fritz's input exploit fix. [Valaris]
06/01
* Fixed training ground npcs and warps, removed depreceated maps, using new ones. [Valaris]
05/30
* Small map-server crashing fix with Leo and Guide npcs in training ground [Valaris]
05/29
* Removed item_value_db.txt and all references to it [Valaris]
* Removed unused class_equip_db.txt [Valaris]
* Fixed stat and level reset bug where needed status points wouldnt reset unless relogged [Valaris]
* @monster will summon monster without an amount specified [Valaris]
05/28
* Added heal and usable item rate modifier [Valaris]
* Added pet equipment to equipment rate modifier [Valaris]
* Added option to turn alchemist summon experience and drops on and off [Valaris]
* Alchemist Marine Spheres now randomly explode [Valaris]
* Fixed bug where if certain items lowered max hp (4 mysteltain, and 1 eddga) below 0
would loop to server max hp value. [Valaris]
05/26
* Added New Hats [Darkchild]
* Added New Monsters [Darkchild]
05/23
* Added @charstatsall, views all characters (easy for money bug scaning etc! [Fritz]
* Max to input npc command, 0 is lowest, 99999999 is max, this to prevent money bugs! [Fritz]
05/21
(Dated On Aegis Website)
*--Released 0.5.2--*
05/20
(Dated On Aegis Website)
*--Released 0.5.1--*
* got dye working again [Darkchild/fritz]
05/19
(Dated On Aegis Website)
*--Released 0.5.0--*
05/09
* added Prontera Guild Castle 3 test guild wars test script [Akaru]
* modified Prontera Guild Castle 1 and 2 guild wars test script [Akaru]
* fixed several valkyrie jobchangers [Akaru]
05/08
(Dated On Aegis Website)
*--Released 0.4.2--*
*--Released 0.4.1--*
* added Prontera Guild Castle 2 test guild wars test script [Akaru]
05/07 (Dated On Aegis Website)
*--Released 0.4.0--*
05/06
* added Prontera Guild Castle 1 test guild wars test script [Akaru]
05/04
* removed parses and added ENGLISH! [?]
04/29 (Dated On Aegis Website)
*--Released 953 Delta--*
04/28 (Dated On Aegis Website) (Whose Ideas Were These?)
*--Released 953 Gamma--*
04/27
*--Released 951 Beta--*
* fixed @jobchange crash [credits to Mugendai, commited by Akaru]
04/25 (Dated On Aegis Website)
*--Released 947 Alpha--*
04/23
* added more Professor Skills and added checks [?]
04/10
* added more upper skills from moonsoul's works [?]
02/12-04/10
* CVS Down - Not Many changes could be made...*
02/22 (Dated On Aegis Website)
*--Released 817--*
02/12
* added more mob skill conditions (friendstatuseq, mysyatuseq, friendhpltmaxrate) [RoVeRT]
02/06
* dumped @skillall for @allskill [?]
02/05
* fixed provoke so it doesnt work on undead [RoVeRT]
* added TyrNemesis^ card removal code and min/max settings [RoVeRT]
02/04
* added start_zeny and party_level_range to char_athena.conf [RoVeRT]
02/03
* Improved the prontera.gat map fallback. [Sara-chan]
* Improved the way guild emblems act when logging in. [Sara-chan]
* Undead-class armor, and Undead monster themselves will never be frozen [RoVeRT]
* fixed negative values for NPC to always be 0
01/26
* mob_warpslave correction [RoVeRT]
01/25
* added poison hp reduction [AppleGirl]
01/20
* added intimidate [RoVeRT]
* added mvp checks for some skills
01/17
* added skill check for empelium attack and removed drops from NULL kills [RoVeRT]
01/16
* added secondary effects for when characters with appropriate elemental armor
are within area of effect of sage spells SA_VOLCANO(atk up), SA_DELUGE(max hp up),
SA_VIOLENTGALE(flee up) [moonsoul]
* removeal of @randmon as it isnt needed [RoVeRT]
01/15
* fixed auto spell so it works the prober way [RoVeRT]
01/12
* added mob_warpslave [RoVeRT]
* added mob_warp to check noteleport mapflag
01/07
* added OnCommand for NPC [RoVeRT]
* added new on death method for NPC spawned mobs [RoVeRT]
* added mobcount [RoVeRT]
01/06
* fixed icon status for spear quicken [AppleGirl]
* added quoted name support for @monster [RoVeRT]
01/05
* added indivudal support for card and equip drop rates [RoVeRT]
01/04
* added TF_PICKSTONE and skill check condition for TF_THROWSTONE [AppleGirl]
* added updated cast_db.txt and fixed SA_VOLCANO, SA_DELUGE,
SA_VIOLENTGALE, and SA_LANDPROTECTOR GRAPHICS [AppleGirl]
* Fixed Effects of a few bard Skills. [AppleGirl]
* added option to stop logout for 10 seconds after taking a hit [RoVeRT]
01/03
* added inet_ip support to char and map [RoVeRT]
* added checkcart, checkfalcon and checkriding npc commands
01/02
* added new npc timer support that is independant of a player [RoVeRT]
12/31
* Added @refineall [Mark]
12/30
* added support for custom_item-db.txt with battle_athena.conf option [RoVeRT]
* fixed @charzeny bug
* translated help.txt to english anong with a few other files [RoVeRT]
12/29
* added umbala maps to map_athena.conf [RoVeRT]
12/26
* added Skill_range based on level, and partially working AutoGuard [Moonsoul]
* added Correction of Whip and Instrument Damage Again [Sara-Chan]
12/25
* Spear Quicken Correct Graphics,Fixed Magnum Break (Which Fixes All Other
Splash skills), and Fixed Brandish Spear [AppleGirl]
* Updated Command For @SkillAll Added Atcommand_athena.conf [RoVeRT]
12/24
* Added Side Effects for multiple skills for 2-2 classes [AppleGirl]
12/23
* Added GM Command Called @Skillall [RoVeRT]
* @skillall to skill-up all your current skills [RoVeRT]
* @hide does hide you from all monsters [RoVeRT]
* fire wall limited to 5 per map [RoVeRT]
* to turn on PVP without @pvpon and to disable flywing search for mapflag [RoVeRT]
* no luck with @morph at this time yet [RoVeRT]
* splash attack added but still kinda buggy [RoVeRT]
* Added in Dancing and Song Playing for Bard and Dancer [AppleGirl]
* Added Skill Arrow Check For Archer Skills [AppleGirl]
* Added Skill Status Recovery [AppleGirl]
* Added Skill Bard and Dancer Skills Last Longer [AppleGirl]
* Added Skill Grimtooth does splash damage [AppleGirl]
* Added Skill Steal Fixed and Snatcher [AppleGirl]
* Added Skill SonicBlow only works with Katars Now [AppleGirl]
12/22
* Added Skills Shield Boomerang, Shield Charge, and Defender [AppleGirl]
|