TODO.txt 19 KB

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