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
|
Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/05/28
- Suppressed compilation warnings (unsigned and signed mismatches) [Lance]
2006/05/27
- Added structure status_data which holds status-related information (str,
agi, etc, speed, amotion, adelay, dmotion, weapon-damage, race, size, etc)
and weapon_atk structure with the weapon specific info (atk, atk2, element)
to be used by all combat structures (TODO: Homun needs to be updated to use
it). This in change involves a LOT of changes throughout the code and many
optimizations were done as well. Partial list (see svn changelog for complete
changes): [Skotlex]
- NOTE: Changes are substantial! I tested a bunch of stuff and all the
skills I changed the most, but it is possible there are unnoticed bugs
remaining to fix!
- Cleaned up TBL_PC, TBL_MOB, TBL_PC and mob_db structures to use status_data.
- Split damage received functions into pc_damage/pc_dead and mob_damage/mob_dead
- Added status functions to deal with damage and healing (status_damage,
status_heal, status_percent_change) and a bunch of defines for easier
handling of them (status_percent_heal, status_percent_damage,
status_fix_damage, status_kill, etc). Objects must be hurt/healed through
THIS, pc_damage/mob_damage most no longer be directly invoked!
- Rewrote and cleaned up battle_calc_misc_attack
- Merged config options pc_attack_attr_none, mob_attack_attr_none,
pet_attack_attr_none into attack_attr_none (type 4)
- Removed config options player_defense_type, monster_defense_type,
pet_defense_type in favor of weapon_defense_type
- Modified skill_calc_heal to take into account the MEDITATION bonus.
- Modified Slim Pitcher so it will work when casted by non-players. Will
now also work with SP-healing items.
- Rewrote Freedom of Cast code to use function status_freecast_switch to
switch adelay/speed when cast begins/ends.
- Modified Magic Power to store amplified MATK/MATK2 in val3/val4 for
easier updating when used in conjunction with ground skills.
- Fixed Asura Strike being usable from within a combo regardless of combo skill.
- Added status_calc_bl which does status-change related calculations using
as base the base_status of the bl object and the SCB_* flag passed. This is
invoked on status changes, and status_calc_pc will no longer be invoked
(which results on much faster status-change calculations).
- pc_clean_skilltree will now also remove item-granted skills.
- Learning skills will now only invoke status_calc_pc when the skill is passive.
- Cleaned up pc_check_base/job_lvup to only invoke the lv-up related
packets and functions ONCE regardless of skill-levls earned.
- Cleaned up pc_ regen related functions.
- Made player-sprite mobs have item pickup animation and walkdelay when taking items.
- Clones will copy a player's base status rather than battle status (so
status-change alterations are not cloned)
2006/05/26
* Part B of the homunculus code. [blackhole89]
While most of the homunculus handling functions are in now, it still lacks
code required for players to create it.
Given I haven't screwed up, you could master yourself one through the DB though.
* Fixed crashing in mob.c [Lance]
* Patches to allow everything to work right. + 1 more sample script. [Lance]
* Mob control engine tested 99% working so far. [Lance]
* Change scripting engine's NPC scope vars to dot (.) style.
* Improved and (should be fully) fixed the mob control engine. [Lance]
* Fixed typos in char.c [Lance]
* Rewrote fame rank lists system to reduce char-server load, as requested by
Skotlex: now it has a copy of those lists, and updates only the proper one
when needed instead of rebuilding all from saves everytime (which required
to always save the character before rebuilding the lists) [DracoRPG]
- Note it hasn't been compiled nor tested with SQL, please do it for me
2006/05/25
* Simplified ASC_BREAKER by making it a BF_WEAPON attack with an additional
int-based damage component (which is added right before elemental
modifiers) as described by AuronX. Pending further refining. [Skotlex]
* Resolved differences between Stable/Trunk msg_athena.conf. [Lupus]
Fixed atcommand @request MSG numbers accordinly.
On adding new MSG strings, plzm reserve them in STABLE msg_athena.conf, too
* Added NoVending mapflag. You may disable vending in the streets [Lupus]
* Increased capacity for Account Variables to 64 [Skotlex]
* Reverted Intravision implementation to that of stable's. [Skotlex]
* Corrected Login Server taking it's first argument as both login config
and lan config. [Skotlex]
* Fixed mob control commands.
* Fixed memory leak in scripts (again). Still have a few lying. [Lance]
2006/05/24
* Fix to the slave AI problem. [erKURITA], by [Skotlex], reported by Niktout.
* Item sharing now shares the same rules as exp sharing (no sharing when
dead, or idle, etc) [Skotlex]
* Fixed summoned slaves being able to cast onspawn summon-skills (slaves
aren't supposed to be able to call minions) [Skotlex]
* The clif_skill_poseffect packet will not be invoked in Snap unless the
skill was successful. May fix the client-position lag. [Skotlex]
* Merged item_db.sql from stable (the one from stable was more recent than
the one of trunk...) [Skotlex]
* Corrected SL KA* spells not working on other Soul Linkers. [Skotlex]
* Corrected a pair of incorrect sql query parsing logic in the login-sql
ban request packet. [Skotlex]
2006/05/23
* Corrected mob angry mode, now it only "restores" itself after being hit
when the mob has no target within their range of sight rather than on
picking a new target. [Skotlex]
* Fixed wedding sprite where it would stay active after unequipping. [Zido]
* Some cleanup of run_script, should fix the memory leak there. [Skotlex]
* the charname request hack message has been downgraded to only include
GM-invisible characters. [Skotlex]
* corrected clif_charnameack to send negative ID when a disguised player
asks for it's own disguised name. [Skotlex]
* Cleaned up the disguised target-id checks taking into considering that
the only character that sees a negative ID is the same disguised character.
[Skotlex]
* Modified battle_calc_weapon_attack to use new flags pdef/pdef (pierce
defense), Investigate and Icepick will now use the final def/vit-def values
rather than the base ones. [Skotlex]
* The move-enable condition checks for skills are now checked for only when
on skill use, not at cast-end time. [Skotlex]
* Corrected clif parse name request failing on disguised characters [Skotlex]
* Corrected Soul Drain draining from all non-ground-based skills including
non-magic attacks. [Skotlex]
* Corrected pc_setoption to change the option and then change class.
changing option-wedding will automatically convert the view-class as well.
[Skotlex]
* Corrected the 15% drop rate increase when killing higher level mobs in
pk-mode triggering for all mobs with lower level than yourself. Thanks to
Vayu. [Skotlex]
* Fixed typo (this time it's not my fault) in script_reload() clearing the same
db each time o_o [Lance]
* Fixed sleep command. [Lance]
* Added 'setd' support for local NPC scope (') variables. [Lance]
* [Scripting Engine Update] New variables are ready to be used. [Lance]
2006/05/22
* Updated skill_delayfix to return 0 for mobs since they have no skill
delay other than the one specified in mob_skill_db [Skotlex]
* Corrected the 20 lvl diff 15% exp bonus on pk_mode servers. Thanks to
Vayu for pointing it out. [Skotlex]
* status_get_sc_tick will now use directly Stun's formula rather than
invoking the status sc chance once. [Skotlex]
* Fixed a possible null pointer in script command misc_effect [Skotlex]
* Modified Investigate to take into consideration final def/vit-def rather
than base values for damage adjustment. [Skotlex]
* WARNING: New scripting system contains memory leak
TODO: Free all scripts using script_free_code() instead of old methods. [Lance]
* Excluded idle and auto-trade party members from TK_POWER list. [Lance]
* Fixed compilation errors.
Tidy up jobmaster for easy debugging. [Lance]
2006/05/21
* Part A of the Homunculus code.
This only features the structures, status_* and clif_* (packets) and is
not functional yet in any conventional way, but doesn't interfere
with present functionality either.
Main purpose is helping me to keep my work organized. [blackhole89]
* Fixed the "fake" mute status bug. [Zido]
* Speed up array size calculation and deletion. [Lance]
* Player must learn the skill before doing auto-spell [Lance]
* Exploit prevention in clif_parse_NpcStringInput [Lance]
* SC_SPEARSQUICKEN -> SC_SPEARQUICKEN normalized enum name [Lupus]
* Thanks to damirych & Falcon for [2006/04/30] STEAL skill [Lupus]
2006/05/20
* grfio_final moved back if any of GRF overriding is enabled so servers
with such configuration will not have different values after reloading. [Lance]
* jA1983 script.c buildin_menu fix. Thanks to End_of_exam. [Lance]
* Abit of alterations to login-server. [Lance]
2006/05/19
* Minor unsigned/signed alteration in pc_additem to shut the compiler up. [Lance]
* Small change in pc_additem that could be fixing the current bug with new
items not getting added. [Skotlex]
* Fixed loginlog definition in main.sql, thanks to Tempesta [Skotlex]
* Likely fixed the mob-skill random picking behaviour causing infinite
loops sometimes. [Skotlex]
* Modified mobskill_use behaviour to pick a random starting point and check
skills from that, rather than always checking from first to last. Fixes
skills with high priority blocking skills lower down in the list from
triggering. [Skotlex]
* Updated mob ai behaviour so that mobs use IDLE state skills when their
current target cannot be reached for melee fighting. [Skotlex]
2006/05/18
* Added 5 config settings to adjust damage in pk-mode servers (misc.conf)
[Skotlex]
* Fixed mob_max_skilllvl being capped to 11! [Skotlex]
* Rewrote/cleaned up several functions in storage.c [Skotlex]
* Optimized pc_additem comparisons to account for items with more than four
slots. [Skotlex]
* Updated clif.c to enable retrieval of items from cart/storage while
trading. Exception is retrieving items from the cart while vending.
[Skotlex]
- The reasoning is that an ongoing trade will not get "corrupted" if you
earn items before it is commited (only if you lose items from your
inventory), and it is an annoyance when you realize the stuff you want to
trade is on the cart/storage.
* skill reiteration code now does not checks for the trigger-area of the
skill in the case of non-players, which means mobs can now place traps in
cells adjacent to each other. [Skotlex]
* Applied an experimental weather code that should lower bandwidth usage to
near-none, which's only disadvantage should be the weather not clearing out
until moving to another map (even when the mapflag is removed from the
current map). Please test and report if there's any anomalies with it.
[Skotlex]
* NPC_AGIUP will now give movement boost of 50% [Skotlex]
* Fixed WZ_WATERBALL number of hits when used by non-players. [Skotlex]
* MO_BODYRELOCATION will send the slide packet with the actual src's
coordinates rather than selected tile. [Skotlex]
2006/05/17
* Modified mob_can_changetarget to return true always when the new target
is the provoked-by character. Fixes provoke not making the mob change
target when it already is locked on another player. [Skotlex]
* Added check to clear previous skill when combo time ends. Should fix TK
Rankers being unable to initiate a combo with the same kick their previous
combo was finished with. [Skotlex]
* Power Up and Agi Up now increase Hit/Flee by 20%/lv [Skotlex]
2006/05/16
* Modified "hide woe damage" to send the number of hits rather than 1 as
damage Because when the damage is less than the number of hits, the client
will display MISS. [Skotlex]
* Fire Pillar will now do 200%MATK damage per hit when level is >10.
[Skotlex]
* Blood Drain always hits now. [Skotlex]
* Fixed Mob Area Skills not updating their use-time (rendering their skill
delay useless) [Skotlex]
* Search free cell will now skip picking the center-tile as target
location. Will prevent slaves from walking on top of their master, or mobs
placing stuff right under themselves with the "around" target conditions
among other things. [Skotlex]
2006/05/15
* Small changes to the skill.conf
- Monsters now can place ground skills on top of each other by default
- Land_Skill_Limit format changed and set to "Only Players" by default
* When reading mapflags, when a map is set to be pvp or gvg, the other will
be turned off (disables pvp mapflags in gvg maps for pk-servers) [Skotlex]
* Firepillar's damage per hit is now 100% MATK (rather than 20%) when the
skill level is above 10. [Skotlex]
* Sorted out the item_data structure, getiteminfo should work correctly
now. [Skotlex]
* KA* skills can now be casted on other Soul Linkers as well without the
Spirit requirement. [Skotlex]
* Soul Drain will now show the SP drained regardless of drain display
settings. [Skotlex]
* SC_COMBO state will now end in skill_attack rather than
skill_check_condition (as it is required there to apply damage bonuses
based on combo-casted skills) [Skotlex]
* Fixed Option_Wedding in const.txt (0x1000 won't work, it has to be 4096)
[Skotlex]
* Fixed the nocast flag 2 (not usable in pvp) returning true in pk-mode
servers. [Skotlex]
* When removing a castle's owning guild, the char servers will erase the
guardian data now. [Skotlex]
* Changed the behaviour of immobile mobs when they can't chase their
target. Rather than using a longrange skill and then unlocking, they will
use an attack/angry state skill and then unlock. [Skotlex]
* Some adjustments of how disguising + gm-hiding work together. [Skotlex]
* Fixed clif_GlobalMessage being the exact same function as clif_message
(the first should send to ALL_CLIENT and the later should send to
AREA_CHAT_WOS). Should fix globalmes script command. [Skotlex]
* Added SC_BLADESTOP to the switch listing in status_change_start [Skotlex]
* Characters in vending are now always considered "idle" if the
idle_no_share setting is active. [Skotlex]
* Players with OPTION_INVISIBLE should not be sent to clients. [Lance]
* Remaining fixes for item scripts. [Lance]
* Added NPC event deprecated warnings to ease debugging old scripts. [Lance]
2006/05/12
* Supplied fake NPC ID in sd->npc_id for item scripts. [Lance]
* Bugfix on fake npc [Lance]
* Fixed mob_once_spawn not working for non-random coordinates. [blackhole89]
* Reverted again the change that stuns the caster on Ske, Ska, Swoo when
the target is a nonplayer (rather than always) [Skotlex]
* Modified mob_spawn_once so that coordinates -1,-1 are "random around the
player" while 0,0 are random around the whole map (regardless of whether
there's a player attached or not) [Skotlex]
* Knockback will no longer work on traps during woe. [Skotlex]
2006/05/11
* Fixed the definition of the KEY in the loginlog, thanks to TheUltraMage
[Skotlex]
* NPC_POWERUP and NPC_AGIUP now cause a increase in hit/flee (respectively)
of 40% per level. [Skotlex]
* Changed a bit the MAX_ZENY checks in trade.c to prevent overflows.
[Skotlex]
* Rewrote npc_selllist for a more proper-clean implementation. [Skotlex]
* Increased NPC_POWERUP's dex bonus to +25*lv [Skotlex]
* Moved TK_DOWNKICK's stun time from time to time2 [Skotlex]
* Added TK_TURNKICK's stun to splash-pushed mobs. Duration is 2secs (time2)
[Skotlex]
* Merged the code for Ska, Ske, Swoo together. Swoo stun duration is now 10
secs (reducable) if you target a mob that already has Swoo active. [Skotlex]
* Added the missing semi-comma from the upgrade_svn6533.sql file. Thanks to
Tanaous [Skotlex]
* Added back the missing code that substracts arrows when normal-attacking.
[Skotlex]
2006/05/10
* Changed the state of Asura back to explosionspirits, added a hardcoded
move_enable check when invoking Asura and NOT while in BladeStop or a
Combo. [Skotlex]
* Added back SC_XMAS to status.c, it got lost sometime during all the
previous reworkings. [Skotlex]
* Changed wedding costumes to use setoption rather than changebase.
[Skotlex]
* Modified setoption so that flag 1 or no flag adds an option, and flag 0
removes it. [Skotlex]
* Updated script_commands with the new behaviour. [Skotlex]
* Updated mob_db2.txt and mob_db2.sql to have only 10 drop slots rather
than 15. [Skotlex]
* Users are now able to use their own dnsbl servers (login_athena) [Zido]
2006/05/09
* Rewrote/cleaned up trade.c for a more clean trading implementation.
[Skotlex]
* Added @request commands, sends a request to all connected GMs of
lowest_gm_level or above as a whisper message. Defaults to gm level 20
users (UNTESTED). [Skotlex]
* Modified @commands to use Meruru's code which is faster and does a fair
attempt at tabulating the commands presented. [Skotlex]
* Updated SKA to return a random value between 0 and 99 each time
status_get_def is invoked. [Skotlex]
* Updated Making Arrow to not include unidentified items in the list.
[Skotlex]
* Reduced drop slots from 15 to 10. [Skotlex]
* Updated mob_db.sql with the current data. [Skotlex]
* Updated setoption script command to receive a second (optional) argument
flag. If the flag is 1, the option is added to what the player currently
has; likewise using flag 2 removes only that option. No flag (or any other
value) is the older behaviour of removing all other options and setting
specificly what is passed. [Skotlex]
* Updated script_commands information for setoption due to this change.
[Skotlex]
* Small fix in npc-created chat rooms to properly include the terminating 0
on the chat's event. [Skotlex]
* Fixed Fog of Wall's symmetry in respect to Misc attacks, they no longer
get reduced by 50% regardless of who is standing on the fog. [Skotlex]
* monster_ai&2 will now trigger the rude-attacked skill when the mob can't
move and the attacker is out of it's attack range. [Skotlex]
* Added missing icon for Joint Beat [Skotlex]
* Mob-search functions will now skip enemies with no exp/job_exp. [Skotlex]
* Treasure chests will now be excluded from the mob-drop listings
(@whodrops) [Skotlex]
* Fix on pc_skill which fixes overlapping when one gets more than one bonus
for the same skill. [Skotlex]
* Updated main.sql's loginlog table structure. [Skotlex]
* Added svn_update6533.sql to update the loginlog structure as suggested by
theultramage. [Skotlex]
* Cleaned up somewhat the implementation of BladeStop. [Skotlex]
* Fixed the head_bottom (pet-armor) position in packet 0x22c (walk packet)
when crafted for non-players. [Skotlex]
* Script commands sc_start, sc_start2 and sc_start4 will now start
regardless of sc defense of the target player (that is, they cannot be
avoided/blocked) [Skotlex]
* Fixed a possible counter overflow in attacked_count, changed the var size
to unsigned char since the code can handle the overflow now. [Skotlex]
* Multiple targets again reduces armor defense, as reported by Tharis.
[Skotlex]
* Increased dex bonus of NPC_POWERUP to +20 per level. [Skotlex]
* Fog of Wall's -50 hit reduction is now only for ranged attacks. [Skotlex]
2006/05/08
* Reverted the change that was making ES skills stun the caster always.
[Skotlex]
* Removed the fixpos packet which is sent whenever you are hit while moving
as Aegis doesn't sends this packet neither. [Skotlex]
* ES magic will now put the caster on stun for 0.5 secs regardless of
whether the skill-target is a mob or not. [Skotlex]
* Added function clif_party_join_info which sends packet 0x1e9 each time a
party-member joins. This packet (as redundant info as it has) should also
contain the field for "adoptability", but that needs to be coded in yet.
[Skotlex]
* Added clif_ParseAdoptRequest which does the basic adoption handling. More
checks and the reply packets still need to be coded in. [Skotlex]
* Happy State and TK stances won't dispel on death now. [Skotlex]
* Cleaned up combo-skill implementation, SC_COMBO is automatically ended in
skill_check_condition now. [Skotlex]
* Modified TK-ranker infinite combos to behave as described by AuronX.
Refer to his thread in the development section for details. [Skotlex]
* Made all Soul Link Spirit skills not be castable on self. [Skotlex]
* Changed rate of NPC status effect skills to 50+10*lv% base chance
(guessed, but better than 100% for all levels) [Skotlex]
* Changed max level of NPC status effect skills to 5 [Skotlex]
* Increased max number of tries to find a random spot in maps to 1000 since
some maps have so many non-walkable tiles it's hard to find one in just 100
tries. [Skotlex]
* status_set_viewdata will remove the Wedding Option status when you set a
class that is not wedding. [Skotlex]
* hide_gvg_damage will now send 1 instead of -1 as damage. [Skotlex]
* idletime will now be updated on attack-request, not on sit/standup
[Skotlex]
* Party members sitting will no longer be considered idle. [Skotlex]
* Removed SP_DISGUISE from the bonus list (onequip/onunequip should be used
with the disguise/undisguise script commands instead). [Skotlex]
* Moved Sharp Shooting display to the block with Auto-Counter (since that's
the other skill that can show critical as well) [Skotlex]
* Corrected some fields in the standing still packet (guild emblem being
stored as a Long when it should be Short) [Skotlex]
* Modified most fields of view_data to be unsigned shorts rather than
signed ones. [Skotlex]
* On-Touch NPCs will now make you stop walking when you trigger them.
[Skotlex]
* ShadowJump/JumpKick will make you land on the target's cell now.
[Skotlex]
* Fixed Kaahi triggering only once per skill duration. [Skotlex]
2006/05/07
* Fixed readme/changelog.html [KillerBox]
* Removed old logs. [Lupus]
TODO: 1. Add produce logging into PICKLOG 2. Replace map names with map index
2006/05/05
* Optimized clif.c clif_scriptmenu/input/inputstr to check for sd->state.using_fake_npc
before sending one (as it's not required to send twice).
* Reinitialize sd->state.using_fake_npc in clif_parse_LoadEndAck (for scripts that warps
players and still continues execution to work). [Lance]
* Updated item_db.sql to current. [Skotlex]
* Fixed a bug in @commands, most likely the reason some people were still
getting crashes. [Skotlex]
* Fixed @commands not showing the last available commands (unless the total
amount of commands is divisible by ten) [Skotlex]
* Added a npc-script-event cache to avoid looking up event-scripts every
time they need to be executed. Events cached are all those defined in
script_config (on login, logout, mapchange, death, kill, level up) [Skotlex]
- Since the cache holds direct pointers to the npcs/events, do NOT unload
the related NPCs or you'll get dangling pointer crashes. However,
@reloadscript will work fine.
- Set the etc_log to on to see a summary of npcs/events loaded for script
execution on startup.
* The Rest bonus activated by using /doridori while in rest should now
trigger with all the class tree (TK/SL/SG) [Skotlex]
* Fixed Kaupe always triggering when the one who was under Kaupe was a
player rather than the one attacking... [Skotlex]
* /doridori now won't double the HP/SP regen of TKs, it only activates
their "happy" state. [Skotlex]
* Added the -50 hit penalty when standing on Wall of Fog. [Skotlex]
* Uncommented the status_calc_mdef2 call in status_calc_pc. [Skotlex]
* Being in Enjoyable Rest state will now also trigger the HP/SP Time skills
(even if there's no other TK around). [Skotlex]
* Added battle config settings view_range_rate and chase_range_rate to
adjust the view-range and chase-range (range2/range3) of the mob_db without
having to manually change them (battle/monster.conf) [Skotlex]
* Kaupe now will only block all skills of players, for non-players, only
normal attacks can be missed. [Skotlex]
* Moved the Kaite spell-reflect code after the damage calculation function,
so the reflected damage is exactly the damage the original target would
have received. Will only trigger if the damage to be reflected is above 0.
[Skotlex]
* OnEquip scripts will now trigger on log-on. [Skotlex]
* Infinite Endure will no longer give mdef bonus. [Skotlex]
* Removed bInfiniteEndure bonus, Eddga card now uses onequip/onunequip to
start/end infinite endure. [Skotlex]
* Fixed Kaahi's SP cost per heal. [Skotlex]
* Now when walkdelay is set to 0, characters will stop walking when hit,
but will not have any walk delay. (previously setting walk delay to 0 would
not even stop characters from walking when hit) [Skotlex]
2006/05/04
* Some people think its sexy to declare variables after blocks of code. Fixed. [Zido]
* Fixed a possible infinite loop in skill_clear_unit_group [Skotlex]
* Some clean-ups in the mob_ai [Skotlex]
* Improved atcommand autoloot, now displays droprate in percents and notices
player if autoloot is already on or off. Also simplified the code [Harbin, Kain],
commited by erKURITA
* Added one grace range in the mob_loot search function which should fix
mob_can_reach failing when invoked with the same distance that distance_bl
returned. [Skotlex]
* Stun time for using ES magic on non-mobs reduced to 0.5 secs. [Skotlex]
* Eska is now usable on bosses. [Skotlex]
* Swoo will stun you if attempted on an already 'swooned' enemy. [Skotlex]
* clif_skill_failed will print out a debug line with the skill_id (since
the current null_po does not helps at all to fix it) [Skotlex]
* Applied TheUltraMage's suggested fixes to the grfio module. [Skotlex]
* Rewrote Kaahi to behave as it should. It will heal whatever amount of
damage accumulates in the time2 interval (500ms by default) after being
hit. [Skotlex]
* Changed skill_unit_move_unit_group to enable moving of all types of
ground-skills except ensembles (fixes warmth not following you) [Skotlex]
2006/05/03
* Kaahi now triggers every 500ms rather than on every hit (but it only
heals if in those 500ms an attack that would previously trigger Kaahi has
taken effect). In other words, it works just like before, except damage
gets "buffered" into 500ms slots. [Skotlex]
* Kaite, Kaute will now show a skill effect when they trigger. [Skotlex
* Knowledge will now only trigger if you logon to the memorized map, not
walk into it. [Skotlex]
* Corrected @whomap directly invoking msg_table[] rather than msg_txt()
[Skotlex]
* Guessed where the pet data goes in spawn packet 0x7c. This may be wrong
and not fix the pet issue, but I doubt it'll cause any problems that won't
be fixed by making the pet move. [Skotlex]
* Updated Charge Attack's state from none to move_enable. [Skotlex]
* Made tomahawk an NPC_SKILL so that it may not be plagiarized. [Skotlex]
2006/05/02
* Fixed standing up not really standing you up. [Skotlex]
* Moved battle_consume_ammo to the end of skill_castend_damage_id,
skill_castend_nodamage_id and skill_castend_pos2 rather than
battle_calc_weapon_attack. They will trigger when the player's arrow_atk
state is active and a ground skill was not invoked. It should fix all
issues with splash/ground skills consuming ammo per target rather than once
per skill use. [Skotlex]
* Added structure state to the ground skills, their fields are magic_power,
into_abyss and ammo_consume to indicate the states that were previously
stored in val3. [Skotlex]
* Implemented desperado as explained by Rockman-EXE. The skill-effect is
not showing up though, I'll need some logged packets to see what's missing.
[Skotlex]
* Removed the unit_can_move checks in skill cast-end, they should be
performed in skill_check_require when the skill's state is move_enabled.
[Skotlex]
* Changed extremity fist's state to move_enabled, the explosion spirits
check is now hardcoded. [Skotlex]
* Absorb Spirit Sphere now gives +10SP per sphere as per discussions with
Haplo. [Skotlex]
* Changed a <= into a < in pc_steal_item. This means drops with 0.01% are
impossible to steal unless you have at least 100% steal-rate (where steal
rate is dex - opponent dex + skill_lv*3% + 10%) [Skotlex[
* Cleaned up clif_parse_action_request to enable sitting/standing while in
shops, interacting with npcs, etc. [Skotlex]
* Kaite now works against all types of spells. [Skotlex]
* Kaupe now works against all skills. [Skotlex]
* Sanctuary now won't damage non-enemies. [Skotlex]
* Blessing now will always give you bonus stats even if you are wearing
undead armor. [Skotlex]
* Modified how Rogue's treasure works so that you get +1% to your steal
rate rather than +0.01% to the final rate. [Skotlex]
* Rewrote Warmth to use ground-skill-units, it should behave now like in
officials (implementation is not quite the same, but it should yield the
same effects while consuming less bandwidth). "Stacking", as it's called,
is possible now, but limited to eA's minimum timer skill interval (100ms).
[Skotlex]
* Modified NPC_POWERUP so that it gives +10 dex * skill level rather than
+5+lv to all stats (as explained by Playtester and Tharis on how the skill
behaves). [Skotlex]
* Allowed SG_FEEL memorizing the same map for all three. [Skotlex]
* SC_FUSION won't end when you die now. [Skotlex]
2006/05/01
* Added knockback when you run into a wall during running. However
position is not being refreshed on the client yet... [Skotlex]
* Fixed pc_disguise not allowing you to "redisguise". [Skotlex]
* Corrected a crash when sd is null in npc_event [Skotlex]
* After testing to make sure it works properly, I'm including
new battle conf options to limit MVP drops. [Reddozen]
* Removed OPTION_XMAS, it seems to not exist.... [Skotlex]
* Added SC_SMA to handle "ready to use SMA" status (rather than SC_COMBO)
since it has a visual effect to use. [Skotlex]
* Corrected the value of OPTION_FLYING [Skotlex]
* Using SG_FUSION ends Soul Linked effect. [Skotlex]
* status_setviewdata will set your option accordingly when the previous/new
view-class is wedding or xmas suit. [Skotlex]
* Added function map_foreachinshootrange, behaves the same way as
map_foreachinrange, but it also performs a "shoot-path" check before
invoking the function. Used in the skill subtimer function if
skill_wall_check is defined. [Skotlex]
* Fixed AL_WARP displaying "Unknown Area" selections when you don't have
all memo points used up. [Skotlex]
* Fixed alive_count not being reset on skill unitsetting, which leads to
some groups not being cleared once all their units expire. [Skotlex]
* Optimized Kaahi/Kahai, will now only show the amount of HP healed. Moved
to skill_counter additional effect so it may trigger even on miss. [Skotlex]
* SKA no longer blocks skills. [Skotlex]
* Optimized fake npc system. Added npc_checknear back to npc_buysellsel. [Lance]
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_isinmune 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 inmune 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 inmune 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 inmune 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 inmune 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 eAthena 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
inmune 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]
|