TODO.txt 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722
  1. The format of to-do list items is:
  2. Description - A description of the task
  3. Status - The status of the task. The possible values are Pending and Completed
  4. Assignee - The nickname of the person whom is assigned the task
  5. Notes - Miscellaneous notes concerning the task
  6. **********
  7. 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.
  8. **********
  9. 1.
  10. Description: Fix the equip field values in item_db
  11. Status: Pending
  12. Assignee: NONE
  13. Notes: <Valaris> i know the equip values in item_db are ****ed <Valaris> not ****ed <Valaris> but supernovice equip is
  14. **********
  15. 2.
  16. Description: Change monster summoning commands so they summon 1 monster if a quantity isn't specified
  17. Status: 50%
  18. Assignee: NONE
  19. Notes: Will work with just mob_id/name specified (ie @monster poring)
  20. need to make it work with mob_id and name (ie @monster poring test) - Valaris
  21. **********
  22. 5.
  23. Description: Checking help.txt (main directory, conf directory, doc directory) with atcommand.c
  24. Status: Pending
  25. Assignee: None
  26. Notes: In doc directory, do a help.txt for explaination of all commands.
  27. In conf directory, do a help.txt for displaying the resume of each command in chat windows of the client
  28. (chat windows does support more than 200 lines).
  29. In main directory, suggestion to delete it.
  30. **********
  31. 6.
  32. Description: Update produce_db
  33. Status: Pending
  34. Assignee: None
  35. Notes: The Alchemist Forging items were recently changed. The DB needs to be edited and if needed, source to be modified
  36. **********
  37. 7.
  38. Description: novice.txt: new_1-4.gat,60,149,4 script Helper 55
  39. This NPC gives infinite items and zenys.
  40. Status: Completed
  41. Assignee: Yor
  42. Notes: If you clicks on 'cancel' button or quits the game to come back, you can have infinite zenys and items.
  43. So, we must save (in a variable) when the npc gives items/zenys and don't given them again.
  44. **********
  45. 8.
  46. Description: scripts, register variables and job 1
  47. When you become job 1, reset all variables of OTHER jobs too to save register memory.
  48. Status: Pending
  49. Assignee: None
  50. Notes: None
  51. **********
  52. 9.
  53. Description: @mapspy <map> <on/off> command
  54. Status: Pending
  55. Assignee: None
  56. Notes: to receive any messages of all characters on a specifical map.
  57. don't send duplicate messages if already @guildspy ou @partyspy
  58. **********
  59. 10.
  60. Description: Pet Skills.
  61. Status: 90%
  62. Assignee: Valaris
  63. Notes: Don't touch pet.c, pet.h, or pet dbs.
  64. **********
  65. 11.
  66. Description: Add kRO server side friends list.
  67. Status: 80%
  68. Assignee: davidsiaw
  69. 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.
  70. **********
  71. 12.
  72. Description: Updating the 'gmcommands.html' with actual commands.
  73. Status: Pending
  74. Assignee: None
  75. Notes: NONE
  76. **********
  77. 13.
  78. Description: On PVP map, don't count a 'GM HIDE' GM (2 normal players + 1 HIDE GM: 2/2, not 3/3).
  79. Status: Pending
  80. Assignee: None
  81. Notes: NONE
  82. **********
  83. 14.
  84. Description: Add encrypted password option in login-server.
  85. Status: Blocked, no solution without limited client version.
  86. Assignee: Yor
  87. Notes: It's impossible to use encrypted password in the account file, if we want to authorise all client version.
  88. Some clients use a (random) md5key and send a composed encrypted of the password.
  89. So, these clients send a different encrypted password based on plain text password at every connection.
  90. If the password is encrypted, we can not more compare with plain text.
  91. The other solution can be to not authorise these clients. But, that will probably be the futur of ALL clients.
  92. 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).
  93. Save in account the plain text and the encypted version use more memory for nothing, and don't add security.
  94. Conclusion:
  95. If you want protected your password, you must:
  96. - protected you account file
  97. - never send a password outside the server
  98. - use only encypted client version (that send an encrypted password to server).
  99. **********
  100. 15.
  101. Description: Create all reloaddb command in ladmin.
  102. Status: Affected
  103. Assignee: Yor
  104. Notes: NONE
  105. **********
  106. 16.
  107. Description: Create a shutdown + time command in ladmin.
  108. Status: Affected
  109. Assignee: Yor
  110. Notes: NONE
  111. **********
  112. 17.
  113. Description: Create a kickall command in ladmin.
  114. Status: Affected
  115. Assignee: Yor
  116. Notes: NONE
  117. **********
  118. 18.
  119. Description: Create listban/listok command in ladmin.
  120. Status: Completed
  121. Assignee: Yor
  122. Notes: NONE
  123. **********
  124. 19.
  125. Description: Login-server: create a first anti-hack system versus multiple connections trying.
  126. Status: Affected
  127. Assignee: Yor
  128. Notes: Set on IP.
  129. An option to set number of connections before to block (number_of_try_before_block)
  130. An option to set number of second where the tries must be done (within_seconds_for tries)
  131. An option to set the time of impossible connection after block (blocked_time_in_minutes)
  132. About wrong password, add:
  133. dynamic_pass_failure_ban_time: 5 (duration of ban, in minutes)
  134. dynamic_pass_failure_ban_how_many: 3 (number of tries before to ban)
  135. dynamic_pass_failure_ban_how_long: 60 (inside time where the tries must be done before to ban, in sec)
  136. **********
  137. 20.
  138. Description: Create @unban and @unblock GM command.
  139. Status: Completed
  140. Assignee: Yor
  141. Notes: NONE
  142. **********
  143. 21.
  144. Description: Fix @nuke GM command.
  145. Status: Completed
  146. Assignee: Valaris
  147. Notes: If you nuke a mounted Knight/Crusader they lose Peco but see it in the equip.window.
  148. And can't get another one.
  149. **********
  150. 22.
  151. Description: Adding GM command @guildmaster <playername>
  152. Status: Pending
  153. Assignee: MC_Cameri
  154. Notes: Guild Master turns another member of his guild into Guild Master.
  155. MC Cameri: It will now be called @swapgm, meaning swap of guild master.
  156. **********
  157. 23.
  158. Description: In Guilds folder change all checkcart -> checkcart(0)
  159. Status: Completed?
  160. Assignee: Aria
  161. Notes: All checkcart were in the old/ folder o_O?
  162. Because just "checkcart" always returns 0. (All common Kafras&breeder have been already fixed)
  163. **********
  164. 24.
  165. Description: In script.c parser should be fixed to allow argumentless functions return value.
  166. Status: Pending
  167. Assignee: None
  168. Notes: Functions like "checkcart", "checkfalcon", "checkriding" don't return value if used without agruments or without "()".
  169. Example: 'checkcart' always return Zero (because the parser doesn't recognize it as a function!)
  170. Example: 'checkcart()' map server doesn't load (because argless funcs aren't in use)
  171. As a temp fix Lupus added "*" in script.c in "checkcart", "checkfalcon", "checkriding" definitions.
  172. To be able running them with any fake arg. i.e. checkcart(0) works fine!
  173. **********
  174. 25.
  175. Description: Create a LAN management, 1 by server
  176. Status: Affected
  177. Assignee: Yor
  178. Notes: 1 computer can be on multiple LAN. So, each server must have 1 LAN definition.
  179. **********
  180. 26.
  181. Description: @ban/@block must be usable when player is offline
  182. Status: Completed
  183. Assignee: Yor
  184. Notes: NONE
  185. **********
  186. 27.
  187. Description: When it's night, inscreasing spawn of undeads
  188. Status: Pending
  189. Assignee: None
  190. Notes: Variable 'night_flag' is 0 if it's day, or 1 if it's night.
  191. **********
  192. 28.
  193. Description: in ladmin, create a method for account with spaces
  194. Status: Completed
  195. Assignee: Yor
  196. Notes: use "<account name>" or '<account name>'.
  197. **********
  198. 29.
  199. Description: @(un)ban/@(un)block: reduction of number of packets
  200. improvement of messages
  201. Status: Completed
  202. Assignee: Yor
  203. Notes: None.
  204. **********
  205. 30.
  206. Description: Create (un)ban/(un)block in ladmin to be similar with GM command
  207. Status: Completed
  208. Assignee: Yor
  209. Notes: None.
  210. **********
  211. 31.
  212. Description: Packet 0x3831 need too much size! IMPORTANT to found a solution!
  213. It's cause of crashes or freeze of servers (char or map).
  214. Status: Pending
  215. Assignee: None
  216. Notes: When map-server do a connection to char-server, this packet is send (C->M). Example of display (1 connection!):
  217. socket #5:
  218. wdata (size: 131072 bytes) need to be expanded.
  219. wdata is actually used for 111654 bytes (free bytes: 19418).
  220. packet 0x3831 need mode space (size of the packet: 12332).
  221. wdata expanded to 262144 bytes.
  222. socket #5:
  223. wdata (size: 262144 bytes) need to be expanded.
  224. wdata is actually used for 234974 bytes (free bytes: 27170).
  225. packet 0x3831 need mode space (size of the packet: 12332).
  226. wdata expanded to 524288 bytes.
  227. Additional note: there is only 63 guilds on this server...
  228. **********
  229. 32.
  230. Description: Management of PM ignore for wisps
  231. Status: Completed
  232. Assignee: Yor
  233. Notes: None.
  234. **********
  235. 33.
  236. Description: Add a GM info hacker minimum level parameter
  237. Status: Completed
  238. Assignee: Yor
  239. Notes: first use: spoof namer
  240. **********
  241. 34.
  242. Description: Create @makepet to create directly a pet
  243. Status: Pending
  244. Assignee: None
  245. Notes: NONE
  246. **********
  247. 35.
  248. Description: In dungeon, set night for people. In shop, set day for people.
  249. Status: Assigned
  250. Assignee: Yor
  251. Notes: work like variable 'night_flag' is 0 if it's day, or 1 if it's night.
  252. **********
  253. 36
  254. Description: Create your limited time.... but an option can be good :)...
  255. Status: Completed
  256. Assignee: Yor
  257. Notes: NONE
  258. **********
  259. 42.
  260. Description: @uptime - how long as the server been up?
  261. Status: Pending
  262. Assignee: MouseJstr, MC Cameri
  263. Notes:
  264. MC Cameri: This is done already in OA, wait for merge.
  265. Aria: I said that, but they told me it was BROKED!
  266. **********
  267. 43.
  268. Description: map aliases -
  269. create virtual copies of maps but don't require
  270. changes to the client to support it
  271. Status: 80% done
  272. Assignee: MouseJstr
  273. Notes
  274. **********
  275. 47.
  276. Description: different max aspd for players and GM's
  277. Status: Pending
  278. Assignee: MouseJstr
  279. Notes:
  280. *********
  281. 49
  282. Description: Add @chareffect - Done [MouseJstr]
  283. set a persistant effect on another character
  284. Add @chardisguise - done [MouseJstr]
  285. set a persistant disguise effect on another character
  286. Add @mobid
  287. look up a monster by name - needed?
  288. Add @petid
  289. look up a pet by name
  290. Add @chardye
  291. Add @charhairstyle
  292. Add @charhaircolor
  293. Versions of dye hairstyle and haircolor fo other chars
  294. Add @followme
  295. make a character follow you.. including warps
  296. Add @shuffle
  297. re-arrange everybody on the map randomly
  298. Add @dropall - done [MouseJstr]
  299. takes all my possessions and throws them on the ground
  300. Add @chardropall - done [MouseJstr]
  301. takes all the players possessions and throws them on the ground..
  302. Add @storeall - done [MouseJstr]
  303. takes all my possessions and puts them in storage, leaving 500 zeny to let you take it all back out again
  304. Add @charstoreall - done [MouseJstr]
  305. takes all the players possessions and puts them in storage, leaving 500 zeny to let you take it all back out again
  306. Add @skillid - lookup a skill by name - done [MouseJstr
  307. Add @useskill - use a skill given the number or name - done [MouseJstr]
  308. *********
  309. 50.
  310. Description: New Guild Skills
  311. Status: Pending
  312. Assignee: NONE
  313. Notes: use http://forums.emperium.org/viewtopic.php?t=43245 for a list
  314. ********
  315. 51.
  316. Description: Devilring
  317. Status: Pending
  318. Assignee: NONE
  319. Notes: New mini-boss; find as much about it as possible including stats and drops
  320. *********
  321. 52.
  322. Description: LV4 Weapon Quests
  323. Status: Pending
  324. Assignee: NONE
  325. Notes: Info here http://forums.emperium.org/viewtopic.php?t=39934 Use perm variables?
  326. *********
  327. 53.
  328. Description: Monster Pictures
  329. Status: Pending
  330. Assignee: NONE
  331. Notes: WTF! http://forums.emperium.org/viewtopic.php?t=32998
  332. *********
  333. 54.
  334. Description: Wandering Singer
  335. Status: Pending
  336. Assignee: NONE
  337. Notes: May have to spy on kRO to get more info. http://forums.emperium.org/viewtopic.php?t=32998
  338. ********
  339. 55.
  340. Description: Arena Points
  341. Status: Pending
  342. Assignee: NONE
  343. Notes: points->item system; http://forums.emperium.org/viewtopic.php?t=32998
  344. ********
  345. 56.
  346. Description: kRO Account
  347. Status: Pending
  348. Assignee: NONE
  349. Notes: Give us a kRO account, gm or whatever so we can spy =OOOOOOOO
  350. *********
  351. 57.
  352. Description: Baby Skills
  353. Stats: Pending
  354. Assignee: NONE
  355. Notes: 1. Skills
  356. - Come here, baby.
  357. ( Summons the adoptee )
  358. - Mom, Dad, I love you.
  359. ( For 5 minutes, the parent characters will not have EXP penalty upon death )
  360. - Mom, Dad, I want to see you.
  361. ( Summons the parents )
  362. * For the summon skill, it works like wedding summon skill - it can only be done in areas where warps can be saved at.
  363. 2. EXP Sharing
  364. - 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.
  365. - If you move to a different map, the EXP share resets.
  366. - 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.
  367. 3. Changes after adoption
  368. - For the child character, the character becomes small.
  369. 4. What happens if parents divorce
  370. - The parents can NEVER adopt another child ever again even after divorce + remarry.
  371. - 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.
  372. - Even if the child character is deleted, the parents can never get another child.
  373. * 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.
  374. - The Child Adoption system now changes as following, so please make note of this:
  375. * The adopted child cannot raise any stat to beyond 80. - Done [Celest]
  376. * The adopted child will have 70% of MaxHP and MaxSP of normal characters. - Done [Celest]
  377. * The adopted child cannot marry. - Done [Celest]
  378. * "Mom, Dad, I love you" skill will only last 2 minutes instead of 5.
  379. * The parents must be both LV 70 or above in order to adopt.
  380. * The parents must be both LV 70 or above in order to share EXP as family.
  381. * "Mom, Dad, I love you" skill will now take 10% of MaxSP instead of taking 1 SP.
  382. - The wedding skills will now depend on percentage of MaxHP/MaxSP.
  383. ********
  384. 58.
  385. Description: Super novices max job level is now 99
  386. Status: Pending
  387. Assignee: NONE
  388. Notes: http://forums.emperium.org/viewtopic.php?t=44856
  389. ********
  390. 59.
  391. Description Add a function where usable item bonuses
  392. cannot stack. Eg, an item that gives you +1 str when used
  393. again does not total to +2 str.
  394. Status Pending
  395. Assignee None
  396. Notes None
  397. **********
  398. 60.
  399. Description Make it possible to set the selling
  400. price of an item in a shop npc. If a selling price is not
  401. present it uses the item_db and this can be selectable
  402. by battleconf
  403. Status Pending
  404. Assignee None
  405. Notes None
  406. **********
  407. 61.
  408. Description Make a battle_config option to cause, if
  409. a user is logged in and somebody tries to log in again,
  410. it logs them both out...
  411. Status: Pending
  412. Assignee None
  413. Notes None
  414. ***
  415. 62.
  416. Description Make a battle_config option to disable auto-muting
  417. Status: Pending
  418. ***
  419. 63.
  420. Description Can't unmute auto-muted people
  421. Status: Pending
  422. Assignee None
  423. Notes None
  424. ***
  425. 64.
  426. Description Wedding skill recall.. should only have one active at a time
  427. Status: Pending
  428. Assignee None
  429. Notes None
  430. ***
  431. 65.
  432. Description Wedding skill recall should work in noskill zone
  433. Status: Pending
  434. Assignee None
  435. Notes None
  436. ***
  437. 66.
  438. Description re-add a better packet_db implementation
  439. Status: Pending
  440. Assignee nsstrunks
  441. Notes None
  442. ***
  443. 67.
  444. Description the char server is a fricken dog...
  445. Status: Pending
  446. Assignee MouseJstr
  447. Notes None
  448. ***
  449. 68.
  450. Description add no_mob_drops as a map flag
  451. Status: Pending
  452. Assignee None
  453. Notes so that mobs don't drop shit in pvp arena's
  454. ***
  455. 69.
  456. Description add MvM map flag
  457. Status: Pending
  458. Assignee None
  459. Notes for allowing a monster on monster arena
  460. ***
  461. 70.
  462. Description Redo the gm help files
  463. Status Pending
  464. Assignee MC_Cameri
  465. Notes Do this after all @char commands are converted to # to
  466. avoid any problems.
  467. **
  468. 71.
  469. Description Make a way for NPC's to retrieve and set battle_flags
  470. Status Pending
  471. Assignee MouseJstr
  472. **
  473. 72.
  474. Description Add a @rates command to summerize the current rates
  475. Status Pending
  476. Assignee MouseJstr
  477. **
  478. 73.
  479. Description Added file based logging for all item movements
  480. Status Pending
  481. Assignee
  482. All trades, storage movements, drops, purchases, creates, etc.. log it
  483. all to a text file.
  484. **
  485. 74.
  486. Description Add a spy-file
  487. Status Pending
  488. Assignee
  489. All conversations.. broken out by who says them and who can hear
  490. them.. to a text file
  491. **
  492. 75.
  493. Description Make NPC's able to actually CAST a spell
  494. Status Pending
  495. Assignee
  496. **
  497. 76.
  498. Description Add IP based masks for restricting GM powers
  499. Status Pending
  500. Assignee
  501. Stealing my name/pass does not give you my powers
  502. **