summaryrefslogblamecommitdiff
path: root/Dev/TODO.txt
blob: d7d362d3bc7905b0354e138a9d1c32d98f680430 (plain) (tree)
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



































































































































































































































































































































































































































































































































































































































































































                                                                                                                                                                                                              


                                                                                                          



                                                                                                 










                                                                                   
The format of to-do list items is:

Description	- A description of the task
Status		- The status of the task. The possible values are Pending and Completed
Assignee	- The nickname of the person whom is assigned the task
Notes		- Miscellaneous notes concerning the task

**********

Only the to-do list for the flat-file module should contain tasks concerning database corrections because databases changes for the SQL module are inherited from the flat-file module.

**********
1.
Description:	Fix the equip field values in item_db

Status:     	Pending

Assignee:   	NONE

Notes:      	<Valaris> i know the equip values in item_db are ****ed <Valaris> not ****ed <Valaris> but supernovice equip is


**********
2.
Description:	Change monster summoning commands so they summon 1 monster if a quantity isn't specified

Status:     	50%

Assignee:   	NONE

Notes:      	Will work with just mob_id/name specified (ie @monster poring)
            	need to make it work with mob_id and name (ie @monster poring test) - Valaris


**********
3.
Description:	Fix Ghostring Card

Status:     	Done

Assignee:   	MouseJstr

Notes:      	battle_config flag to disable ghosty armor 
                protecting you from mobs

**********
4.
Description:	Add nomagic mapflag/@skilloff/@skillon

Status:     	Done

Assignee:   	MouseJstr

Notes:      	NONE


**********
5.
Description:	Checking help.txt (main directory, conf directory, doc directory) with atcommand.c

Status:     	Pending

Assignee:   	None

Notes:      	In doc directory, do a help.txt for explaination of all commands.
            	In conf directory, do a help.txt for displaying the resume of each command in chat windows of the client
            	  (chat windows does support more than 200 lines).
            	In main directory, suggestion to delete it.


**********
6.
Description:	Update produce_db

Status:     	Pending

Assignee:   	None

Notes:      	The Alchemist Forging items were recently changed. The DB needs to be edited and if needed, source to be modified


**********
7.
Description:	novice.txt: new_1-4.gat,60,149,4	script	Helper	55
            	This NPC gives infinite items and zenys.

Status:     	Completed

Assignee:   	Yor

Notes:      	If you clicks on 'cancel' button or quits the game to come back, you can have infinite zenys and items.
            	So, we must save (in a variable) when the npc gives items/zenys and don't given them again.


**********
8.
Description:	scripts, register variables and job 1
            	When you become job 1, reset all variables of OTHER jobs too to save register memory.

Status:     	Pending

Assignee:   	None

Notes:      	None


**********
9.
Description:	@mapspy <map> <on/off> command

Status:     	Pending

Assignee:   	None

Notes:      	to receive any messages of all characters on a specifical map.
            	don't send duplicate messages if already @guildspy ou @partyspy


**********
10.
Description:	Pet Skills.

Status:     	90%

Assignee:   	Valaris

Notes:      	Don't touch pet.c, pet.h, or pet dbs.


**********
11.
Description:	Add kRO server side friends list.

Status:     	80%

Assignee:   	davidsiaw

Notes:      	Got most of the packets. Except the ones that tell the client that a player is online and tell the client to give messages.


**********
12.
Description:	Updating the 'gmcommands.html' with actual commands.

Status:     	Pending

Assignee:   	None

Notes:      	NONE


**********
13.
Description:	On PVP map, don't count a 'GM HIDE' GM (2 normal players + 1 HIDE GM: 2/2, not 3/3).

Status:     	Pending

Assignee:   	None

Notes:      	NONE


**********
14.
Description:	Add encrypted password option in login-server.

Status:     	Blocked, no solution without limited client version.

Assignee:   	Yor

Notes:      	It's impossible to use encrypted password in the account file, if we want to authorise all client version.
            	Some clients use a (random) md5key and send a composed encrypted of the password.
            	So, these clients send a different encrypted password based on plain text password at every connection.
            	If the password is encrypted, we can not more compare with plain text.
            	The other solution can be to not authorise these clients. But, that will probably be the futur of ALL clients.
            	Reduce possibilities of client version isn't a good idea for the futur and for the compatibility (like use only plain text password client version).
            	Save in account the plain text and the encypted version use more memory for nothing, and don't add security.
            	Conclusion:
            		If you want protected your password, you must:
            		- protected you account file
            		- never send a password outside the server
            		- use only encypted client version (that send an encrypted password to server).


**********
15.
Description:	Create all reloaddb command in ladmin.

Status:     	Affected

Assignee:   	Yor

Notes:      	NONE


**********
16.
Description:	Create a shutdown + time command in ladmin.

Status:     	Affected

Assignee:   	Yor

Notes:      	NONE


**********
17.
Description:	Create a kickall command in ladmin.

Status:     	Affected

Assignee:   	Yor

Notes:      	NONE


**********
18.
Description:	Create listban/listok command in ladmin.

Status:     	Completed

Assignee:   	Yor

Notes:      	NONE


**********
19.
Description:	Login-server: create a first anti-hack system versus multiple connections trying.

Status:     	Affected

Assignee:   	Yor

Notes:      	Set on IP.
            	An option to set number of connections before to block (number_of_try_before_block)
            	An option to set number of second where the tries must be done (within_seconds_for tries)
            	An option to set the time of impossible connection after block (blocked_time_in_minutes)
            	About wrong password, add:
            	dynamic_pass_failure_ban_time: 5 (duration of ban, in minutes)
            	dynamic_pass_failure_ban_how_many: 3 (number of tries before to ban)
            	dynamic_pass_failure_ban_how_long: 60 (inside time where the tries must be done before to ban, in sec)


**********
20.
Description:	Create @unban and @unblock GM command.

Status:     	Completed

Assignee:   	Yor

Notes:      	NONE


**********
21.
Description:	Fix @nuke GM command.

Status:     	Completed

Assignee:   	Valaris

Notes:      	If you nuke a mounted Knight/Crusader they lose Peco but see it in the equip.window.
            	And can't get another one.


**********
22.
Description:	Adding GM command @guildmaster <playername>

Status:     	Pending

Assignee:   	MC_Cameri

Notes:      	Guild Master turns another member of his guild into Guild Master.
		MC Cameri: It will now be called @swapgm, meaning swap of guild master.


**********
23.
Description:	In Guilds folder change all checkcart -> checkcart(0)

Status:     	Completed?

Assignee:   	Aria

Notes:      	All checkcart were in the old/ folder o_O?
		Because just "checkcart" always returns 0. (All common Kafras&breeder have been already fixed)


**********
24.
Description:	In script.c parser should be fixed to allow argumentless functions return value.

Status:     	Pending

Assignee:   	None

Notes:      	Functions like "checkcart", "checkfalcon", "checkriding" don't return value if used without agruments or without "()".
            	Example: 'checkcart' always return Zero (because the parser doesn't recognize it as a function!)
            	Example: 'checkcart()' map server doesn't load (because argless funcs aren't in use)
            	As a temp fix Lupus added "*" in script.c in "checkcart", "checkfalcon", "checkriding" definitions.
            	To be able running them with any fake arg. i.e. checkcart(0) works fine!


**********
25.
Description:	Create a LAN management, 1 by server

Status:     	Affected

Assignee:   	Yor

Notes:      	1 computer can be on multiple LAN. So, each server must have 1 LAN definition.


**********
26.
Description:	@ban/@block must be usable when player is offline

Status:     	Completed

Assignee:   	Yor

Notes:      	NONE


**********
27.
Description:	When it's night, inscreasing spawn of undeads

Status:     	Pending

Assignee:   	None

Notes:      	Variable 'night_flag' is 0 if it's day, or 1 if it's night.


**********
28.
Description:	in ladmin, create a method for account with spaces

Status:     	Completed

Assignee:   	Yor

Notes:      	use "<account name>" or '<account name>'.


**********
29.
Description:	@(un)ban/@(un)block: reduction of number of packets
            	                     improvement of messages

Status:     	Completed

Assignee:   	Yor

Notes:      	None.


**********
30.
Description:	Create (un)ban/(un)block in ladmin to be similar with GM command

Status:     	Completed

Assignee:   	Yor

Notes:      	None.


**********
31.
Description:	Packet 0x3831 need too much size! IMPORTANT to found a solution!
            	It's cause of crashes or freeze of servers (char or map).

Status:     	Pending

Assignee:   	None

Notes:      	When map-server do a connection to char-server, this packet is send (C->M). Example of display (1 connection!):
            	socket #5:
            	  wdata (size: 131072 bytes) need to be expanded.
            	  wdata is actually used for 111654 bytes (free bytes: 19418).
            	  packet 0x3831 need mode space (size of the packet: 12332).
            	  wdata expanded to 262144 bytes.
            	socket #5:
            	  wdata (size: 262144 bytes) need to be expanded.
            	  wdata is actually used for 234974 bytes (free bytes: 27170).
            	  packet 0x3831 need mode space (size of the packet: 12332).
            	  wdata expanded to 524288 bytes.
            	Additional note: there is only 63 guilds on this server...


**********
32.
Description:	Management of PM ignore for wisps

Status:     	Completed

Assignee:   	Yor

Notes:      	None.


**********
33.
Description:	Add a GM info hacker minimum level parameter

Status:     	Completed

Assignee:   	Yor

Notes:      	first use: spoof namer


**********
34.
Description:	Create @makepet to create directly a pet

Status:     	Pending

Assignee:   	None

Notes:      	NONE


**********
35.
Description:	In dungeon, set night for people. In shop, set day for people.

Status:     	Assigned

Assignee:   	Yor

Notes:      	work like variable 'night_flag' is 0 if it's day, or 1 if it's night.


**********
36
Description:	Create your limited time.... but an option can be good :)... 

Status:     	Completed

Assignee:   	Yor

Notes:      	NONE

**********
37.
Description:	@killer - enables a @gm to hit a player outside of pvp

Status:     	Done

Assignee:   	MouseJstr

Notes:

**********
38.
Description:	atcommand scripts - script @atcommands`

Status:     	Pending

Assignee:   	MouseJstr

Notes:      	

**********
40.
Description:	@addwarp - create a static warp to a target location

Status:     	Done

Assignee:   	MouseJstr

Notes:      	
**********
41.
Description:	@movenpc 
   - manipulate npc's at runtime

Status:     	Done

Assignee:   	MouseJstr

Notes:      	handling npc's with the same name on multiple maps 
                requires thoughts
**********
42.
Description:	@uptime - how long as the server been up?

Status:     	Pending

Assignee:   	MouseJstr, MC Cameri

Notes:
		MC Cameri: This is done already in OA, wait for merge.
		Aria: I said that, but they told me it was BROKED!
**********
43.
Description:	map aliases - 
                  create virtual copies of maps but don't require
                  changes to the client to support it

Status:     	80% done

Assignee:   	MouseJstr

Notes
**********
44.
Description:	Fix GTB card

Status:     	Done

Assignee:   	MouseJstr

Notes:  battle_config command that controls just how magic resistant 
        you raelly are
**********
45.
Description:	gm @follow command

Status:     	Done

Assignee:   	MouseJstr

Notes:  follows players, including warping to them... lets you do
        a gm hide and grab a cup of coffee while watching a player
        do bad things..
**********
47.
Description:	different max aspd for players and GM's

Status:     	Pending

Assignee:   	MouseJstr

Notes:
**********
48.
Description:	Configurable max num castles for a guild

Status:     	Done

Assignee:   	MouseJstr

Notes:          We limit each guild to 3 castles on my server
*********
49
Description:    Add @chareffect - Done [MouseJstr]
                     set a persistant effect on another character
                Add @chardisguise - done [MouseJstr]
                     set a persistant disguise effect on another character
                Add @mobid
                     look up a monster by name - needed?
                Add @petid
                     look up a pet by name
                Add @chardye
                Add @charhairstyle
                Add @charhaircolor
                     Versions of dye hairstyle and haircolor fo other chars
                Add @followme
                     make a character follow you.. including warps
                Add @shuffle
                     re-arrange everybody on the map randomly
                Add @dropall - done [MouseJstr]
                     takes all my possessions and throws them on the ground
                Add @chardropall - done [MouseJstr]
                     takes all the players possessions and throws them on the ground.. 
                Add @storeall  - done [MouseJstr]
                     takes all my possessions and puts them in storage, leaving 500 zeny to let you take it all back out again
                Add @charstoreall - done [MouseJstr]
                     takes all the players possessions and puts them in storage, leaving 500 zeny to let you take it all back out again
                Add @skillid  - lookup a skill by name - done [MouseJstr
                Add @useskill - use a skill given the number or name - done [MouseJstr]
*********
50.
Description:	New Guild Skills

Status:		Pending

Assignee:	NONE

Notes:		use http://forums.emperium.org/viewtopic.php?t=43245 for a list
********
51.
Description:	Devilring

Status:		Pending

Assignee:	NONE

Notes:		New mini-boss; find as much about it as possible including stats and drops
*********
52.
Description:	LV4 Weapon Quests

Status:		Pending

Assignee:	NONE

Notes:		Info here http://forums.emperium.org/viewtopic.php?t=39934 Use perm variables?
*********
53.
Description:	Monster Pictures

Status:		Pending

Assignee:	NONE

Notes:		WTF! http://forums.emperium.org/viewtopic.php?t=32998
*********
54.
Description:	Wandering Singer

Status:		Pending

Assignee:	NONE

Notes:		May have to spy on kRO to get more info. http://forums.emperium.org/viewtopic.php?t=32998
********
55.
Description:	Arena Points

Status:		Pending

Assignee:	NONE

Notes:		points->item system; http://forums.emperium.org/viewtopic.php?t=32998
********
56.
Description:	kRO Account

Status:		Pending

Assignee:	NONE

Notes:		Give us a kRO account, gm or whatever so we can spy =OOOOOOOO
*********
57.
Description:	Baby Skills

Stats:		Pending

Assignee:	NONE

Notes:		1. Skills
		- Come here, baby.
		( Summons the adoptee )
		- Mom, Dad, I love you.
		( For 5 minutes, the parent characters will not have EXP penalty upon death )
		- Mom, Dad, I want to see you.
		( Summons the parents )
		* For the summon skill, it works like wedding summon skill - it can only be done in areas where warps can be saved at.

		2. EXP Sharing
		- Only the parents and the child can EXP share; nobody else can be in the party. If any other person joins, the EXP share resets.
		- If you move to a different map, the EXP share resets.
		- The EXP returned is only 1/3rd of normal since both mother and father character has to be in the same party with the child.

		3. Changes after adoption
		- For the child character, the character becomes small.

		4. What happens if parents divorce
		- The parents can NEVER adopt another child ever again even after divorce + remarry.
		- The character child continues to be as it is (meaning, even if the child no longer has a parent, he or she will continue to be the 'child'), and only 1 child can be obtained per character.
		- Even if the child character is deleted, the parents can never get another child.
		* This means, when you adopt a child character, DO IT CAREFULLY. For the entire history of your character, you can only, and I mean ONLY get one child character. 

		- The Child Adoption system now changes as following, so please make note of this:
		* The adopted child cannot raise any stat to beyond 80. - Done [Celest]
		* The adopted child will have 70% of MaxHP and MaxSP of normal characters. - Done [Celest]
		* The adopted child cannot marry. - Done [Celest]
		* "Mom, Dad, I love you" skill will only last 2 minutes instead of 5.
		* The parents must be both LV 70 or above in order to adopt.
		* The parents must be both LV 70 or above in order to share EXP as family.
		* "Mom, Dad, I love you" skill will now take 10% of MaxSP instead of taking 1 SP.
		- The wedding skills will now depend on percentage of MaxHP/MaxSP. 

********
58.
Description:	Super novices max job level is now 99

Status:		Pending

Assignee:	NONE

Notes:		http://forums.emperium.org/viewtopic.php?t=44856