summaryrefslogtreecommitdiff
path: root/Dev
diff options
context:
space:
mode:
Diffstat (limited to 'Dev')
-rw-r--r--Dev/Dev-Folder-Notes.txt3
-rw-r--r--Dev/GDB_reports.txt42
-rw-r--r--Dev/Ideas_Suggestions.txt92
-rw-r--r--Dev/TODO.txt722
-rw-r--r--Dev/TODO_MOB_AI.txt136
-rw-r--r--Dev/bugs.txt407
-rw-r--r--Dev/forSQLdev.txt146
-rw-r--r--Dev/quotes.txt171
-rw-r--r--Dev/resnametable.TXT64
-rw-r--r--Dev/scripting.txt30
10 files changed, 0 insertions, 1813 deletions
diff --git a/Dev/Dev-Folder-Notes.txt b/Dev/Dev-Folder-Notes.txt
deleted file mode 100644
index 1936b8fc1..000000000
--- a/Dev/Dev-Folder-Notes.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-- This folder and all files inside it must be deleted before any distribution
-- This folder is meant for developers only
-- Use this folder to contain notes, todo, testcases, problems, etc
diff --git a/Dev/GDB_reports.txt b/Dev/GDB_reports.txt
deleted file mode 100644
index c40a5b60d..000000000
--- a/Dev/GDB_reports.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-Mainly because I'm (Ajarn) tired... and not too sure about these, or future ones even...
-I'll report GDB's here. MouseJstr, this is mainly for you.
-
-svn 770: Fixed
------------------
-#0 buildin_sc_start (st=0xbfbfea30) at script.c:4225
-4225 if(bl->type == BL_PC && ((struct map_session_data *)bl)->state.potionpitcher_flag)
-(gdb) print bl
-$3 = (struct block_list *) 0x0
-(gdb) where
-#0 buildin_sc_start (st=0xbfbfea30) at script.c:4225
-#1 0x08093f5d in run_func (st=0xbfbfea30) at script.c:6680
-#2 0x08094171 in run_script_main (script=0xf54a000 "\b\002", pos=502, rid=2000181, oid=110001888,
- st=0xbfbfea30, rootscript=0x0) at script.c:6754
-#3 0x08094301 in run_script (script=0xf54a000 "\b\002", pos=502, rid=2000181, oid=110001888) at script.c:6880
-#4 0x08079115 in npc_scriptcont (sd=0x1c9d7000, id=110001888) at npc.c:923
-#5 0x08064485 in clif_parse (fd=54) at clif.c:10352
-#6 0x080e1629 in do_parsepacket () at socket.c:452
-#7 0x080e0b11 in main (argc=1, argv=0xbfbfec88) at core.c:176
-#8 0x080497e2 in _start ()
-
-----
-
-#0 0x080d8d80 in guild_member_leaved (guild_id=10030, account_id=2000740, char_id=151069, flag=0,
- name=0x1c567037 "kloyd", mes=0x1c56700f "?") at guild.c:685
-685 sd2=guild_getavailablesd(g);
-(gdb) print g
-$5 = (struct guild *) 0x0
-(gdb) where
-#0 0x080d8d80 in guild_member_leaved (guild_id=10030, account_id=2000740, char_id=151069, flag=0,
- name=0x1c567037 "kloyd", mes=0x1c56700f "?") at guild.c:685
-#1 0x080d53ab in intif_parse_GuildMemberLeaved (fd=0) at intif.c:918
-#2 0x080d5acc in intif_parse (fd=9) at intif.c:1123
-#3 0x080503a2 in chrif_parse (fd=9) at chrif.c:1004
-#4 0x080e1629 in do_parsepacket () at socket.c:452
-#5 0x080e0b11 in main (argc=1, argv=0xbfbfedf4) at core.c:176
-#6 0x080497e2 in _start ()
-
------------------
-
-That's all I got for now. I'll keep adding them as they show up (if they are simple),
-if you are away Mouse (or whoever wants to fix them). Reply to them as they are fixed.
diff --git a/Dev/Ideas_Suggestions.txt b/Dev/Ideas_Suggestions.txt
deleted file mode 100644
index 99471936e..000000000
--- a/Dev/Ideas_Suggestions.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-//Any ideas or suggestions you guys have, put them here.
-//These don't have to be put into the source, but maybe if
-//you would like something down... someone might do it? lol
-
-----
-I (Ajarn) have loads of ideas. I might as well put them here. If no one does them it's fine, because I plan on doing them eventually if no one else does.
-
-1) Better jail system. You know how the ban system has a time column,
- so you can set a certain amount of ban time? I think jailing should
- have this to. This way you can unjail the character when they are
- online or not, and jail them if they are on or not, etc. This will
- also lock their char to the jail until the state of that column is
- changed. One the time hits that they can come out (every min run a
- timer maybe?) they are unjailed if online, and if they are offline,
- the next time they log on it will check that column and unjail them
- then.
-
-
-2) Addition to ban system. Ban works on a state system and I think ti
- should have another state. Instead of fully banning someone you
- should have the option of banning them from creating new chars
- before a full ban. This way you can jail their chars, and ban
- creation of new chars. Then they have to sit in the jail and talk
- it out with a GM. Gets problems solved easier.
-
-
-3) Better gm level system. Basicly a gm command has group numbers
- after it (monster:1,5,99) and those gm levels can use it. This way
- you can have a much more flexible system. But when I think about
- it... it takes a lot of checking to do it that way, and in the long
- run, it would be a lot more flexible and easier to have account
- names after each gm command. I'm not sure which one I like, or
- which one should be used, but the "level" system is kind of hard to
- do when you want to have sistem levels. Like, some have group A
- commands, and some have group B commands, having nothing to do with
- group A. There is no way to do that with the current system.
-
- nsstrunks: The group numbers is kinda pointless, since
- currently if you set it to a higher number, everyone above
- that will have access.
-
-4) Private Message SPY! (@pmspy <char name>) What it does is you see
- everything that that person private messages to another, and
- anything another pms to them. I'm not sure if it can be already
- done, but this would stack with @guildspy and @partyspy. So, you
- you know thier party, and guild and you do all three spies, and you
- follow them around you can hear everything they are saying.
-
-5) Probably a stupid idea, but @localspy. It basicly spies on all the
- text that they can hear localy and sends it to you like "ajarn can
- hear: ....." and "ajarn says: ..." This way you can do #4 to a
- person, and then this, without following them, and get the same
- effect.
-
-6) We need another file for item_db.txt to keep there your custom items
- We already have the same thing is for mobs (mob_db2.txt)
- Why don't we use it?
-
-7) New way to store/calculate EXP. Log of the idea:
-
-Ancyker: exp
-Ancyker: the way its stored
-Ancyker: needs changed
-Ancyker: currently it stores base level and exp
-Ancyker: this is crap
-Ancyker: it should store base level, and exp towards next level
-Ancyker: so say u just level to level 5
-Ancyker: ur level would be 5, and exp 0
-Ancyker: u kill a poring
-Ancyker: they give i beleive 10 exp
-Ancyker: so now it would be 5 level, 10 exp
-Ancyker: when u hit the marker, u gain a level
-Ancyker: thats how the exp is stored in the fsking database
-Ancyker: exp towards next level
-Ancyker: not total exp
-Ancyker: the problem with athena
-Ancyker: it doesnt follow its own damn rules
-Ancyker: it does a database one way
-Ancyker: then totally changes it when it loads it
-Ancyker: pick a damn method already
-
-I (Ajarn) agree with him. It would make things so much easier server side too.
-
-
-How to implement those ideas:
-
-[Lupus]
-1) You can make a script. Put OnTouch Area in the jail... when a banned person gets into jails, you set a global VAR.
- Then use PCLoginEvent.txt to check TIME/DATE and free that poor person when it's OK.
- So it's pretty easy to make with scripting. And even more... some private servers already have such scripts
- and even make the prisoners gather some mushrums and stuff, to get them off the jail faster
- PLUS: you should count time only when the player is in PRISON. Don't count when he's off-line 8)
diff --git a/Dev/TODO.txt b/Dev/TODO.txt
deleted file mode 100644
index ac46bc634..000000000
--- a/Dev/TODO.txt
+++ /dev/null
@@ -1,722 +0,0 @@
-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
-
-
-**********
-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
-
-**********
-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
-**********
-47.
-Description: different max aspd for players and GM's
-
-Status: Pending
-
-Assignee: MouseJstr
-
-Notes:
-*********
-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
-
-********
-59.
-Description Add a function where usable item bonuses
- cannot stack. Eg, an item that gives you +1 str when used
- again does not total to +2 str.
-Status Pending
-Assignee None
-Notes None
-
- **********
-60.
-Description Make it possible to set the selling
- price of an item in a shop npc. If a selling price is not
- present it uses the item_db and this can be selectable
- by battleconf
-Status Pending
-Assignee None
-Notes None
-
-**********
-61.
-Description Make a battle_config option to cause, if
- a user is logged in and somebody tries to log in again,
- it logs them both out...
-Status: Pending
-Assignee None
-Notes None
-***
-62.
-Description Make a battle_config option to disable auto-muting
-Status: Pending
-***
-63.
-Description Can't unmute auto-muted people
-Status: Pending
-Assignee None
-Notes None
-***
-64.
-Description Wedding skill recall.. should only have one active at a time
-Status: Pending
-Assignee None
-Notes None
-***
-65.
-Description Wedding skill recall should work in noskill zone
-Status: Pending
-Assignee None
-Notes None
-***
-66.
-Description re-add a better packet_db implementation
-Status: Pending
-Assignee nsstrunks
-Notes None
-***
-67.
-Description the char server is a fricken dog...
-Status: Pending
-Assignee MouseJstr
-Notes None
-***
-68.
-Description add no_mob_drops as a map flag
-Status: Pending
-Assignee None
-Notes so that mobs don't drop shit in pvp arena's
-***
-69.
-Description add MvM map flag
-Status: Pending
-Assignee None
-Notes for allowing a monster on monster arena
-***
-70.
-Description Redo the gm help files
-Status Pending
-Assignee MC_Cameri
-Notes Do this after all @char commands are converted to # to
-avoid any problems.
-**
-71.
-Description Make a way for NPC's to retrieve and set battle_flags
-Status Pending
-Assignee MouseJstr
-**
-72.
-Description Add a @rates command to summerize the current rates
-Status Pending
-Assignee MouseJstr
-**
-73.
-Description Added file based logging for all item movements
-Status Pending
-Assignee
-
-All trades, storage movements, drops, purchases, creates, etc.. log it
-all to a text file.
-**
-74.
-Description Add a spy-file
-Status Pending
-Assignee
-
-All conversations.. broken out by who says them and who can hear
-them.. to a text file
-**
-75.
-Description Make NPC's able to actually CAST a spell
-Status Pending
-Assignee
-**
-76.
-Description Add IP based masks for restricting GM powers
-Status Pending
-Assignee
-
-Stealing my name/pass does not give you my powers
-**
diff --git a/Dev/TODO_MOB_AI.txt b/Dev/TODO_MOB_AI.txt
deleted file mode 100644
index 82d6560f5..000000000
--- a/Dev/TODO_MOB_AI.txt
+++ /dev/null
@@ -1,136 +0,0 @@
-// eAthena TODO for Monster AI
-// -----------------------------------------
-// The idea of this file is to write a system to use for mob AI because
-// to put it bluntly, our mobs are stupid. If we can pull off some sweet
-// AI, we will own the other emulators.
-//
-// What we have here are 2 columns. I describe them below...
-// - 'mode' : Mode is when the monster can attack, like, can it move? can it
-// attack first? can it assist other monsters?
-//
-// - 'AI' : AI is the smart part of the monster. This is how the monster
-// will actully go about attacking something. For example we
-// could make archer skeletons fire an arrow or 2, then flee
-// and fire a few more arrows. Or we could have them avoid other
-// classes with range (archers, mages). We could also have mobs
-// run when being sniped off cliffs by archers/mages (wont they
-// hate that, but in reality, thats what they would do).
-//
-// The mode flags will be given an ID to the power of 2, (binary style, like
-// job id's in the item_db) and added together to make the mode. But before
-// the system can be written we need a nice file to explain it. That would be
-// this file. So add away, when it looks done, begin the implementation.
-//
-// Also, if possible, new config file in /conf/. 'mob_ai_athena.conf'. This is
-// where mob AI is enabled/disable. And options can be set to allow and dis-
-// allow certin modes. Ex: People like the AI, but dont like one options, can
-// simply disable THAT AI feature rather then rewriting mob_db to remove it.
-//
-// I wrote the first modes, C devs, move them around as you see fit for programming.
-//
-// -Ancyker
-//
-// (check bottom for more AI ideas)
-//
-
-
-'mode'
-Immobile - Monster can not move, can not be moved (like by archers knockback skills)
-Agressive - Monster can attack first (doesn't mean it will, decided in 'AI')
-Detect cast - Monster will detect if someone is casting on it, and attack back
-Assist - Monster will help other monsters (what monsters it will assist is decided in 'AI')
-Looter - Monster will loot items (if 'Agressive' flag is set, it will attack before looting)
-No Target Change - Monster will not start attacking another target until the first target is dead or out of range
-Passive - Monster will not attack back (ever, unless 'Agressive' flag is also set?)
-Detects Hidden - Monster can see hidden players
-
-'ai'
-NoAI - Doesn't do anything (plants)
-NoSnipe - Monster will run away if being 'sniped' from a clif by archer, mage, etc.
-AttackFlee - Monster will attack, then flee, attack, then flee, etc (Archer Skels, run away, shoot arrow, etc)
-AttackRange1 - Will only attack if player is in a set range [0-3] (It's like the player is close, its a threat now)
-AttackRange2 - Will only attack if player is in a set range [4-6]
-ClassFlee1 - Will run from any player with range (archers, mages, thiefs with bows)
-NoviceNoFlee - Will not run if a player is a novice
-LevelFlee - Wlll run if player is of a higher level (porings would run from level 99s, AHH DONT KILL ME!)
-AvoidPlayer - Will run if it sees any player (So it cancels 'Agressive' flag)
-AttackMostDamage - Will attack the player doing the overall most damage
-AttackLessDamage - Will attack the player doing the overall least damage
-AttackLowestLevel - Will attack the lowest level first
-AttackHighestLevel - Will attack the highest level first
-WarpLowHP - Will warp if HP is low (how low is low?)
-NeverStop - Monster will always be on the move, never stop walking. (Is over-ridden by 'Immobile' flag)
-
-
-//
-// Again, more stuff...
-//
-// The monster spawns sripts need some more params. some examples...
-//
-// We have: map,x,y,offsetx,offsety, ...
-// What if we added more? To only let the monster move so far off from
-// where it was spawned. It could 'guard' an arena, an exit/enterance
-// an npc, whatever =).
-//
-// .... ID,time,time,blah...,mode,WAP
-// Have monsters walk a certin path. Waypoint files are your friend.
-// If a monster has a WAP (optional) it will walk this path.
-// Guardians on patrol? Could be interesting.
-//
-// Add more if you think of any =)
-//
-// If you don't like an idea, comment why, dont remove it.
-// example: (using this one cuz not sure about it)
-//
-// // NeverStop - Will/Could cause lag, don't think its a good idea -name
-// NeverStop - ...
-//
-
-Lupus: (guys, rearrange my ideas or move them as u want)
-Some memory - speed optimizations:
-
-There'a big "for cycle" when u look up for a place to mob spawn.
-It could be made quite fast:
-On server .GAT loading you should make an array with OFFSETS (not even X,Y) of right
-places for future mob spawns.
-If the waypoints aren't found for the loadied map then you should make at least 1-2 waypoints automatically.
-
-About AI:
-EACH map has defined mobs. Your mob should have a flag "healer", "supporter" etc. "weak", "ranged attacker"
-and each map should contain an attached list of mobs with their types
-when one MVP is hurt it'd look for "helpers", "healers".
-And if a mob is almost 0 HP it should look for helpers or look for other mobs ranged attackers
-defence. Etc.
-
-Mobs AI should be WRITTEN IN SPECIAL SCRIPTS.
-Some default mobs will use the same script.
-And some advanced ones will use their own.
-
-MOB-scripts are quite interesting. (remember Robot-Wars game?)
-
-Gulid Wars:
-I think guardians should be able to warp from room to room using WARPS like common Players.
-
-
-Aria's Ideas: (do whatever u want)
-
-We can make aggressive monsters make ambushes, where one attacks and runs away to a huge group of the same monster
-
-instead of dropping 2 x1 items, just drop 1 x2 item
-
-make AI vary inside of a group of monsters (IE 1/2 porings do 1 thing, and the other half do another)
-
-aggressive monsters sould surround enemies, not just blindly attack them
-
-we should also make monsters look as player-like as possible. There should be groups traveling together, or 2 monsters
-next to eachother, chatting.
-
-we shouldn't let mobs spawn right infront of people, like in anime or manga. they always walk towards you, or you walk
-towards them.
-
-let mob stats vary a little bit - every mob shouldn't be the exact same. if it's stronger it gives more exp, and vice
-versa.
-
-have a monster be able to use its drops, and not drop it. like a poring using an apple.
-
-davidsiaw: About that last line, now the player finds a 4 slot pike and a poring takes it and uses it against him... hmm won't that be a lil... frustrating? \ No newline at end of file
diff --git a/Dev/bugs.txt b/Dev/bugs.txt
deleted file mode 100644
index b47a36452..000000000
--- a/Dev/bugs.txt
+++ /dev/null
@@ -1,407 +0,0 @@
-Problem: 2-2-1 classes are regarded as Novicies by the game server. NPCs aren't taking them as thier jobs but if you the the NPC to do something for a novice class it works with the 2-2-1 like renters. Also if some one becomes high novice, if they use jobra they can become first jobs like a swordsman.
-Assigned: N/A
-Progess: 0%
-Ideas: Codemaster - I believe that they register them as normal classes, but sets Upper as 1, so you can do things such as if(Upper == 1)
-
-Problem: Stats nor skills don't downgrade when your level gets reverted due to exp loss.
-Assigned: N/A
-Progess: 0%
-
-Problem: Pre skill requirements for new skills are wrong it makes you use 49 skills points before you can get the newer skills.
-Assigned: Celest
-Progess: ~90% (Notes: not sure if it causes problems, need more testing =p)
-
-Problem: When u spawn ~300 mobs (and more or less) then do @killmonster then some mobs freeze on the screen (have no names, don't move, etc)
-Assigned: N/A
-Progess: 0%
-Note by Cameri: This is not a bug, it's something that has to do with the client...
-
-Problem: Joker card 4139 lets anyone to steal money / zeny. Just like he's a thief. It shoul;d be revised - success rates lowered and "steal item" disabled
-Assigned: N/A
-Progess: 0%
-
-Problem: Wierd login-server bug on sql, it displays that the server is full when map-server crashes, has something to do with anti double login feature?
-Assigned: N/A
-Progress: 0%
-
-Problem: MVP cast spells w/o showing "prepare cast line"
-Assigned: N/A
-Progress: jA's mob skill DB itself already has skills that have no cast time,
- does the same problem happen in jA? Perhaps it should read right from
- skill_cast_db instead? [celest]
-
-Problem: ~40+ players connected.. and soon can't re-connect, they can enter password, but never see "select character" screen.
-Assigned: MouseJstr
-Progress: 75%
-
- In many cases, this is due to horrible performance
- under MySQL
-
-Problem: Chars with ' in their name.. is legal.. and messes up sql
-Assigned: N/A
-Progress: 0%
-Information: http://dev.mysql.com/doc/mysql/en/mysql_real_escape_string.html
-
- DB server Error - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'n' Sniff')' at line 1 Scratch 'n' Sniff
-
-Problem: PETS can attack Guardians, so players go to enemy castles before WOE and KILL all their Guards with PETS... LoL!
-Assigned: Codemaster
-Progress: 100% - Make sure you test this for me :)
-
-Problem: mob_aval clone bug crashes client
-Assigned: N/A
-Progress: 0%
-
- spawn mob 1600..
-
- also
-
- add a flag to the monsters defs
- for example
- 1002,1039 // makes a poring a bapho
- if it's like that nothing happens
- but if you do this
- 1002,1039,1 // makes a poring a big bapho
- 1002,1039,2 // makes a poring a small bapho
- effect id or something
-
-Problem: Due to the Guilds CACHE we see some went-offline members as online ones. It is very confusing. You don't know who's really on.
-Assigned: MouseJstr
-Progress: 100%
-
-Problem: Guilds BUG (it isn't related to the scripts, because noone change them recently)
- When some guild SEIZE any castle, then Castle N 1 becomes their own, too (not M 0, but M 1)
-Assigned: MouseJstr
-Progress: 100%
-
-Problem: Storage BUGS! Items doubles/clones again any kinds of items! (due to "latest storage fix")
-Assigned: N/A
-Progress: 0%
-
- Only happens during crashes..
-
-Problem: status.weapon can be 16... which causes the accesses outside
- the bounds of the array
-Assigned: N/A
-Progress: 0%
-
- battle.c:549:Bounds error: array reference (16) outside bounds of the array.
- battle.c:549: Pointer value: 0x1ceda808
- battle.c:549: Object `calloc':
- battle.c:549: Address in memory: 0x1ceda7c8 .. 0x1ceda807
- battle.c:549: Size: 64 bytes
- battle.c:549: Element size: 4 bytes
- battle.c:549: Number of elements: 16
- battle.c:549: Created at: malloc.c, line 23
- battle.c:549: Storage class: heap
- battle.c:3078:Bounds error: array reference (16) outside bounds of the array.
- battle.c:3078: Pointer value: 0x1ceda848
- battle.c:3078: Object `calloc':
- battle.c:3078: Address in memory: 0x1ceda808 .. 0x1ceda847
- battle.c:3078: Size: 64 bytes
- battle.c:3078: Element size: 4 bytes
- battle.c:3078: Number of elements: 16
- battle.c:3078: Created at: malloc.c, line 23
- battle.c:3078: Storage class: heap
-
-
-Problem: This bug's appeared again: Permanent #Variables/Variables disappear.
- Quests, Banks, etc wipe when you create a new character
-
- We had no such a bug before, but Freya has it. Probably it soaked into eA with
- Freya optimizations code...
-Assigned: N/A
-Progress: 0%
-
-Problem: Sometimes a new empty guild appears with ID 10000, blank name, blank master..
- but some chars contain its ID and Guild Memebers Table isn't empty.
- (probably can't get real Last used ID)
-Assigned: N/A
-Progress: 0%
-
-Problem: SVN 8XX. After 1 day up it started to repeat every players commands twice:
- i.g. Item usage, movement, etc. It looks like LAGS
-Assigned: N/A
-Progress: 0%
-
-Problem: SVN 8XX. Firewall Spell doesn't hold mobs. They get all the damage and
- walk trough the wall. (even at the level of 10th)
-Assigned: N/A
-Progress: 0%
-
-Problem: Chase walk skill slightly messed up. You see yourself as invisible, but other players
- can still see you
-Assigned: N/A
-Progress: 0%
-
-Problem: Potion Pitcher skill should be able to target yourself.
-Assigned: N/A
-Progress: -
-Notes: Gravity disabled that some time ago ;P
-
-Problem: There are many empty entries of newly created characters in Char DB Table (missing names)
-Assigned: N/A
-Progress: 0%
-
-IMPORTANT: = NEVERENDING SOURCE OF SP/HP
-Problem: Wedding skills fully donate SP/HP even when the donor has 1 SP / HP (when player has low amount of Max SP/HP)
-Assigned: Codemaster
-Progress: 100% - should be fixed. Checks for 15% of HP for males, 15% of SP for females.
-
-Problem: Exp Party Sharing Bug.
- i.g. Hunter + Merchant are in the same party. M. is sitting. Hunter is killing some Seals. M. doesn't get EXP.
- Then H. teleports to another map and hunts there. Now, M. kills a poring and get a huuuuuuuuuuuuuuuuge amount
- of EXP (like it was collecting... all the time he was sitting next to H.)
-Assigned: N/A
-Progress: 0%
-
-Problem: Guilds alliances
- You can have any number of alliances entried in SQL db. Sometimes it glitches and you get > 4 alliances
-Assigned: N/A
-Progress: 0%
-
-Problem: Disguise Stats Bonus bug.
- try @disguise 1002 or 'bonus bDisguise,1002;' as a script in a wearable item. And then go in hide.
- You'll get +255 os ro bonuses for all stats and would kill LOD in one kick.
- It's a global bug.. comes from those times when WEDDING Class had such ++++bonuses
- So Wedding Class has been fixed, but not the source of the bug.
-Assigned: N/A
-Progress: 0%
-
-Problem: Guilds DB
- There always appears an empty guild with ID 100000.
-Assigned: N/A
-Progress: 0%
-
-Problem: You can put in Cart goods more than Cart Max Weight limit allows
- (it's an old good bug about Named / Unnamed Stackable items)
-Assigned: N/A
-Progress: 0%
-
-Problem: Berserk Skill supposedly disappears randomly.
-Assigned: N/A
-Progress: 0%
-
-Problem: Lord Kaho Horns supposedly disappear when equipped.
-Assigned: N/A
-Progress: 0%
-
-Problem: Older Clients are unable to log into the server, period.
- Even if the packet_db is set to use the older clients, they still are unable to connect.
-Assigned: Celest
-Progress: ~100%
-Notes: Fixed. A typo caused the code to block packet version 5 clients
-
-Problem: Fire Pillar doesn't consume GEMS!
-Assigned: N/A
-Progress: N/A
-Notes: It isn't supposed to for level 1-5 ^^ [Celest]
-
-Problem: Friends List doesn't save / load again. It used to work 2 months ago.
- Let's use Freya's Friends solution (faster, better)
-Assigned: N/A
-Progress: 0%
-
-Problem: Problems with View ID od wearable Items / Weapons
- e.g.
- You put off Goggles, but see them on the character even after relogin
- You can see both Knife + Shield in a hand
-Assigned: N/A
-Progress: 0%
-
-Problem: [item exploit] Hunters can set traps not consuming the TRAPS ITEMS, when Bards
- use their special support skill.
- Then Hunters can collect these traps for free... And then sell, etc.
-Assigned: N/A
-Progress: 0%
-
-Problem: Speed hack and other proxy-like hacks
- they change/double selected packets for different exploits:
- dupe, multiattack (destroy Emp in 1 minute.) etc...
- We should check packets, should keep eye on frequency of users packets
- and ban / kick / log funkers
-Assigned: N/A
-Progress: 0%
-
-Problem: ATCommand @addwarp crashes the server
-Assigned: N/A
-Progress: 0%
-
-Problem: If a char has been saved with non-existing map name
- then the server crashes on entering the game.
- the wrong names e.g. prontera.gat.gat
- could be generated on times when map server is disconnected with char server.
-Assigned: N/A
-Progress: 0%
-
-Problem: [item exploit] Trade Window + Blacksmith's/Alchemyst's MAKE skills -> item exploit
-Assigned: N/A
-Progress: 0%
-
-Problem: New Guilds Active Skills Abuse. You call 1st skill, then call 2nd and NOW, without dalay of 30 min (or whatever)
- you can AGAIN call the 1st skill... So there's no time limit... etc.
-Assigned: Celest
-Progress: 100% - Fixed
-
-Problem: Wedding TELEPORT skills now work on maps where TELEPORT was disabled
-Assigned: N/A
-Progress: 0%
-
-Problem: Guilds Skill - Emergency Call doesn't work in castles (it somehow useless)
-Assigned: N/A
-Progress: 0%
-
-Problem: Guilds Skill - GD_EVELOPMENT (Extend_Guild)
- has different description in korean desc table (some numbersm etc)
- so it's different from the current implementation (Celest, plz check)
-Assigned: N/A
-Progress: 0%
-
-Problem: 'Adrenaline Rush' has to work with any weapon again (for whole party)
- according to the kRO Sak patch on 21/12
-Assigned: N/A
-Progress: N/A
-Notes: "Fixed Adrenaline Rush skill working for all weapon types again."
- I think it was supposed to not work with all weapons ^^;
-
-Problem: [Urgent!] Server doesn't save Variables (#global and global)
- If you exit the client with Alt-F4 or lose connection to the server.
-Assigned: N/A
-Progress: 0%
-
-Problem: [Scripts] Mob spawn. If you set unexisting monster Id
- then you have "novice" looking mobs with random EXP
- for exapmple there was a mob with 1 HP and 22.000 Exp.
-Assigned: N/A
-Progress: 0%
-
-Problem: When 2 players try to pickup one dropped item at the same time
- then both pickup the item, but 1st one gets ACTUAL item
- and another one gets Apple - Unknown item (with random stats, random upgrade, etc)
-Assigned: N/A
-Progress: 0%
-
-Problem: [ATCommands] GMs teleportings to non-existing maps crash the server
-Assigned: N/A
-Progress: 0%
-
-Problem: [script.c] script command DOEVENT now doesn't work...
- so Knight JOB Quest is unpassable now, Monks Job Quest is too easy (traps don't work)
- probably more bugs...
- I (Lupus) have script-wise solution. But it isn't good! 8((( DOEVENT used to work fine!
-Assigned: N/A
-Progress: 0%
-
-Problem: Compilers Bug: Some skills don't work under win32 builds
- e.g. HIDE, CLOACKING, etc (both MOB's and PC's skills)
- e.g. Whispers can't cloak... Players can't Hide, etc
- LINUX builds work fine (or maybe 116x fukked them up...)
- oh yeah, Celest mentoned it
-Assigned: Celest
-Progress: 100% [My bad, fixed ^^; ]
-
-Problem: Rogues Skill "back stab" works without PREPARING arrows.
- It consumes arrows, but works even when them aren't prepered (equipped)
-Assigned: Celest
-Progress: 100%
-
-Problem: Skill Delays Bug (Hunters)
- When you use a skill then Equip Another kind of arrows,
- you can immediately cast another SKILL. (Bind skills on hot keys and... u get a killing machine)
-Assigned: N/A
-Progress: 0%
-
-Problem: Scripts prob
- We can't use jA's new commands: FOR, WHILE, ELSE, etc
-Assigned: N/A
-Progress: 0%
-
-Problem: BARD HP exploit
- When he plays that 'apple' healing song. Accidently players get HPMAX 32000.
- With low HP, but big HPMAX.
-Assigned: N/A
-Progress: 0%
-
-Problem: Sniper
- They have 2 skills to dismount traps: Emeny's and Our's.
- So.. during GVG you can't use 1 of the skills at all
- but the 2ns one dismounts BOTH types of traps: yours and enemies
-Assigned: N/A
-Progress: 0%
-
-Problem: WARP PORTAL
- You can cast it under someone's feet. (He warps)
-Assigned: N/A
-Progress: 0%
-
-Problem: WATERBALL
- According to http://bbs.emperium.org/viewtopic.php?t=15566&highlight=waterball+faq
- Waterballs power depends on the TYPE of water on the map:
- Works with Sage's Deluge, although it drains the cells.
- Also note, if you cast Waterball with less water
- (some areas count as shallow water and do not give the full effects either) than required for the full effect, you will shoot out less Waterballs. This skill is chainable.
-Assigned: N/A
-Progress: 0%
-
-Problem: ABRAKADABRA (HOCUS POCUS)
- It misses half of its effects
- According to http://bbs.emperium.org/viewtopic.php?t=15566&highlight=waterball+faq
- This skill allows you to use any active skill from any class. However, skills that need you to have a weapon or item you cannot equip or posses will fail. So like Adrenaline Rush and Double Strafe will fail. Also, keep in mind the level of Hocus Pocus also equals the level of the skill you cast. So with Hocus Pocus level 10 you can cast Grand Cross level 10, etc. In addition to those skills you have a chance of casting any of these skills (not sure what the actual names of the skills are):
- Monster Chant- basically the same effect as a Dead Branch (not sure if it can be used in town or not).
- Reverse Orcish- the Sage's face becomes green like that of an...Orc...
- Suicide- the Sage dies. You lose experience as well.
- Full-Heal- you regenerate all SP and HP.
- Coma- the Sage's HP/SP fall to 1.
- Gravity - This skill was supposed to advertise Gravity but was disabled outside of kRO/jRO since other companies carry RO (not in iRO?).
- ????- This skill will randomly become one of the following if cast on a target:
- 1) Grim Reaper - the target will die. You won't gain any experience nor will the monster drop anything. Rumors say that you can instant-kill an MVP. This works in PvP.
- 2) Mono Cell - Change target into a Poring. Only on monsters though.
- 3) Class Change - Changes the target to an MVP boss monster. If cast on an Alchemist's Flora or Marine Sphere, the MVP will die after the set amount of time that monster would have died.
- 4) Monster Tame - if you target a monster that is possible to have as a pet, you will see a slot machine pop up. Basically this is a free tame.
-Assigned: N/A
-Progress: 0%
-
-Problem: Arrows Dupe (or random amount change)
- You should prepare/remove arrows while trade. And have both - names and unnamed arrows ^_-
-Assigned: N/A
-Progress: 0%
-
-Problem: PArty EXP shar Exploit.
- 1. you enter the game with your HIGH-level character
- 2. start killing some mobs (e.g. 5 Seals) within a party... Don't finish them!
- 3. Re-enter with a LOW-LEVEL character from your account
- 4. now finish the mobs or... let someone do it.
- 5. u get all your HIGH-LEVEL exp!!!
- Why does it look at ACCOUNT ID ? instead of the CHAR ID ?
-Assigned: N/A
-Progress: 0%
-
-Problem: ICE WALL
- 1. It again lets you freeze mobs and yourself inside of the wall...
- 2. When you set a diagonal wall - in its middle sometimes a segment's dropped. So monsters can walk trough it.
- WHY?
-Assigned: N/A
-Progress: 0%
-
-Problem: SQL Castles Again!
- The casltes data isn't being saved at all.
- During WOE everything acts like it was at the previous Castles save bug time.
-Assigned: Lupus
-Progress: 100%
-
-Problem: Party EXP share bug
- 1. Create a party
- 2. Invite a member
- 3. Kick him out the party
- 4. Invite him again.
- Now he can get His 100% EXP + 100% Yours EXP (in the party window you look like you're off )
- * SQL parties have been fixed in Freya (but the whole file int_party.c has been rewritten there)
-Assigned: N/A
-Progress: 0%
-
-Problem: Guilds Breaking
- When you BREAK your guild and then someone re-creates another guild with the same Name
- Then new GULD would have LEVEL, EXP, STATS of the broken guild
- Probably it isn't being deleted from memory.
-Assigned: N/A
-Progress: 0%
diff --git a/Dev/forSQLdev.txt b/Dev/forSQLdev.txt
deleted file mode 100644
index 9f0f1a59a..000000000
--- a/Dev/forSQLdev.txt
+++ /dev/null
@@ -1,146 +0,0 @@
-// $Id: forSQLdev.txt,v 1.1 2004/09/19 09:18:32 Akaru Exp $
-
-This file is to informe SQL dev about all modifications on TXT version.
-
-When a modification is done, TXT dev try to add it here with some explanations.
-When a modification is added in SQL version, SQL dev remove it from this file.
-
-
-********* 9th september
-------------------------------------
-changed:
- sd->newauth (map.h/clif.c) by sd->packet_ver (look all function where was newauth)
- value become // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
- instead of // 0: old 0x72 (19 b), 3: new 0x72 7july04 (22 b), 20: new 0x72 13july04 (39 b), 0: old 0x7E (6 b - not for auth), 27: new 0x7E 26july04 (33 b), 31: new 0x7E 30aug04 (37 b) (by [Yor])
- note: local variable 'newauth' not changed in clif_parse_WantToConnection
-
-------------------------------------
-Added
- if (sd->packet_ver == 8) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
- clif_displaymessage(sd->fd, "This client version (of 26 jul 2004) is not actually supported by this server.");
- } else if (sd->packet_ver == 9) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
- clif_displaymessage(sd->fd, "This client version (of 30 august 2004) is not actually supported by this server.");
- }
-at end of 'pc_authok' function (pc.c)
-
-------------------------------------
-Changed
- in 'atcommand_effect' function, set the correct message in back of:
- clif_displaymessage(fd, msg_table[229]); // Your effect has changed.
-
-------------------------------------
-Changed
- in 'atcommand_servertime' function, replace permanent message by msg_table and put them in msg_athena.conf
-
-------------------------------------
-Changed to reduce (a little) lag
- in char.c, commented printf about auth:
- case 0x2afc:
- if (RFIFOREST(fd) < 22)
- return 0;
- //printf("auth_fifo search: account: %d, char: %d, secure: %08x-%08x\n", RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14));
- for(i = 0; i < AUTH_FIFO_SIZE; i++) {
- -
- case 0x2b02:
- if (RFIFOREST(fd) < 18)
- return 0;
- if (auth_fifo_pos >= AUTH_FIFO_SIZE)
- auth_fifo_pos = 0;
- //printf("auth_fifo set (auth #%d) - account: %d, secure: %08x-%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10));
- auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2);
- -
- case 0x2b05:
- if (RFIFOREST(fd) < 49)
- return 0;
- if (auth_fifo_pos >= AUTH_FIFO_SIZE)
- auth_fifo_pos = 0;
- WFIFOW(fd,0) = 0x2b06;
- memcpy(WFIFOP(fd,2), RFIFOP(fd,2), 42);
- //printf("auth_fifo set (auth#%d) - account: %d, secure: 0x%08x-0x%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10));
- auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2);
- -
- in case 0x66: // ƒLƒƒƒ‰‘I‘ð
- if (auth_fifo_pos >= AUTH_FIFO_SIZE)
- auth_fifo_pos = 0;
- //printf("auth_fifo set #%d - account %d, char: %d, secure: %08x-%08x\n", auth_fifo_pos, sd->account_id, char_dat[sd->found_char[ch]].char_id, sd->login_id1, sd->login_id2);
- auth_fifo[auth_fifo_pos].account_id = sd->account_id;
- -
- commented printf about searching map server (in 'search_mapserver' function)
-
-------------------------------------
-Improved At_command about monsters spawn (atcommand_spawn and atcommand_monster):
- modified message 39:
- //39: All monster summoned!
- Added message 240:
- //240: %d monster(s) summoned!
- Added variables (output, j and k):
- char output[200];
- int i, j, k;
- memset(output, '\0', sizeof(output));
- Changed loop to check at least 8 times (to try to spawn in closed area):
- count = 0;
- for (i = 0; i < number; i++) {
- j = 0;
- k = 0;
- while(j++ < 8 && k == 0) { // try 8 times to spawn the monster (needed for close area)
- if (x <= 0)
- mx = sd->bl.x + (rand() % 11 - 5);
- else
- mx = x;
- if (y <= 0)
- my = sd->bl.y + (rand() % 11 - 5);
- else
- my = y;
- k = mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, "");
- }
- count += (k != 0) ? 1 : 0;
- }
- Changed last message display (to add number != count):
- if (count != 0)
- if (number == count)
- clif_displaymessage(fd, msg_table[39]); // All monster summoned!
- else {
- sprintf(output, msg_table[240], count); // %d monster(s) summoned!
- clif_displaymessage(fd, output);
- }
- else {
-
-********* 10th september
-------------------------------------
-Correction of an error in char.c in 'char_config_read' function:
- replace 'wisp_server_name' by 'w2' in the test of the lenght:
- } else if (strcmpi(w1, "wisp_server_name") == 0) {
- if (strlen(w2) >= 4) {
- memcpy(wisp_server_name, w2, sizeof(wisp_server_name));
- wisp_server_name[sizeof(wisp_server_name) - 1] = '\0';
- }
-
-------------------------------------
-Added a better id control of monster id in @spawn/@monster... GM commands:
- added in mob.h:
- int mobdb_checkid(const int id);
- Added in mob.c:
- /*==========================================
- * Id Mob is checked.
- *------------------------------------------
- */
- int mobdb_checkid(const int id) {
- if (id <= 0 || id >= (sizeof(mob_db) / sizeof(mob_db[0])) || mob_db[id].name[0] == '\0')
- return 0;
-
- return id;
- }
- Changed in at_command.c ('atcommand_monster' and 'atcommand_spawn' functions) (only second line is modified):
- if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number)
- mob_id = atoi(monster);
- by:
- if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number)
- mob_id = mobdb_checkid(atoi(monster));
-
-********* 11th september
-------------------------------------
-Changed @effect from level 60 to level 40.
-
-------------------------------------
-Added 3 new commands: @charitemlist, @charstoragelist, @charcarlist
- modified file: atcommand.c/h, atcommand_athena.conf, all help.txt, and gmcommands.html
diff --git a/Dev/quotes.txt b/Dev/quotes.txt
deleted file mode 100644
index d74c82059..000000000
--- a/Dev/quotes.txt
+++ /dev/null
@@ -1,171 +0,0 @@
-ADD UR QUOTES HERE FOR DEV EDITION NPCS!
-Remember to add map, coords, and sprite number!
-
-NEW 10-21-04!
-Add Biography areas
--Real name
--Age
--Where u live
--What u do here
--Why ur here
--and ur own small self intro.
-
-Completed people: MC Cameri, Aria, david, mouse
-
-
-Also put some coords so that u walk around
-//************************************\\
-
-davidsiaw
-- put me in payon next to kawaii no kafra with npc sprite no. 1002
-- [davidsiaw]
-- Wud are you looking at?
-- baka...
-- next;
-- [davidsiaw]
-- *drops 100 Mjolnirs on the floor
-- There ya go ;)
-
-Aria
-prontera.gat,156,179,4 script Aria 805,{
-151,175-OMGWTFBBQ
-152,182-So its u -> 0
-... That did not look right
-158,177-OMGITSJEEBUS!#!@%!
-164,176-Evera died. I guess.
-147,176-I CLICK THE BUTTON AND THEY DON'T DIE!
-155,172-RO? wtf?
-Oh yeah.
-165,171-omgnoob. DIE!
-157,176-WooT!
-[@Aria] is that why u bought windows
-[@Aria] cuz bill has red hair
-bio
-Okay, I'm Evera's brother, Aria <- small sentence self-intro
-^FF00FFAge^000000: 13 years <-age
-^FF00FFWhat I do^000000: Graphics and NPCs <-wtf u do
-^FF00FFWhy I'm here^000000: Cuz eAthena ROX <-y
-
-Anyway, here. I get to talk about myself now <-ur own bio
-I'm from California, and I wub MMORPGS
-So yeah that's it. GO EA!
-
-Shinigami
--imma n00b
--lol
--:P
--Shinigami stabs Azndragon
--there you go bitches
--watashi wa Shinigami desu
--huh?, wtf?
-
-Lord
--Me + ebil = bad me + ebil + power = omg ....
-<@Wishy> me + you = you get owns
-<@Lord> Me + Revenge = You Got owned
-<@Wishy> Me > You
-<@Lord> No i own you in bed :3
-<@Wishy> ...
-
-Codemaster
-"Everything begins with Nu and everything ends with Nu.
-This is the truth! This is my belief... at least for now."
- - Mysteries of Life Volume 184. Chapter 26.
-
-MouseJstr
-
-"The only difference between a hurricane and skydiving is
-which direction the tree's come at you from.."
-
-"Wanna be a GM? Write me a C routine that reverses a string
- in place.."
-
-"Wanna be a GM? Write me a C routine that finds me the highest
- bit set in a network order 32 bit integer..."
-
-"I am the dark angel of eAthena.. withen weeks of my arrival,
- almost everybody was gone or dead.. fear me..."
-
-Lupus, I demand you rewrite yours..
-
-MC Cameri
-morroc.gat,160,97,4 script MC Cameri 706,{
--I'm the @command guy from oa...
--Can't tell you my name.
--16 years
--Dominican Republic, in the caribbean.
--Mostly work on @commands for GMs...
--Because I like programming...
--I'm a senior student, programmer, body builder(yes, I lift weights), etc.
-160,95-I owns you all, under my commands. *lol*
-162,95-I forgot what my script, what do I have to say again? *_*U
-164,95-¿Donde estoy? *wonders* (<-- Means, where am I?)
-164,97-Are you guys my friends?
-164,99-My mom told me not to talk to strangers. *stares*
-162,99-How can you be SO ugly!?
-160,99-I need a friend to play with =(. *sobs*
-160,97-I've been kicking this rock for as long as I can remember.
-160,95-My computer just broke, and I don't know how to format. *sobs*
-
-Darkchild
-
-// Place me Next to Valaris (ELSE I DO IT MYSELF :P)
-- I think Aria Has A Lot To Do
-- The Darkness Within
-- Watch Out For Trucks, They Tend To Drive You Down
-- Who Am I? Really? Shure!
-- GAH!
-- Everyone Lubs Me! (I Hope!)
-- I Lub Everyone!
- As Long As They Are Female
- Hot....
- Goodlooking
- Big Boobs
- Nice Ass
- And Workship Me!
-- Wannabe GM? Host Your Own Server
-- kRO is €20 A Month! Sick Bastards!
-
-Biography:
- mes "Okay, So I'm Darkchild.......";
- mes "^FF00FFAge^000000: 17 years";
- mes "^FF00FFWhat I do^000000: Writing Biography";
- mes "^FF00FFWhy I'm here^000000: I Have NO Idea";
- next;
- mes "Ehm Well..... Whats There To Say About Me.......?";
- mes "I Dunno.... As Long As You Love Me.........";
- mes "Well Okay, A Lil Bit Then:";
- mes "I'm From The Netherlands And Doing Some Wacko Collega Atm";
- mes "More? WTF? YOU WANT MORE? GO BLOW URSELF!";
- next;
-// let it do an npc event on Valaris
-
-// His Npc Event:
- npctalk "DARKCHILD, DON'T YOU SHOUT AT POOR LIL N00BIEZ!!!";
-
-// Back 2 Me :P
- npctalk "Sorry Valaris";
- npctalk "(He Is Da Man!)";
-
-nsstrunks
-// Off on my own somewhere lol. In a town that no one visits ;)
-- General Dev, do whatever I feel like at the time
-- Real name unknown, just call me nsstrunks ;)
-- 16 years old
-- Off on my own most of the time
-- Willing to help as long as your not annoying ;)
-- *goes off into own world*
-
-Ajarn
--------
-Real name: Ajarn?
-Age: 15
-Place: MN, USA
-Whatsa I doa: Coder/Bug Reporter extremest
-Whysa I here: Freya is slow, and they don't listen to me =(
-Into: "There isn't mush to me... I've been programming since I was 11, doing it as a hooby. I can't spell
-half the time, and the other half of the time my keyboarding sucks. I'm just here for the ride, and to get
-eA rolling along even faster.
-
-Ohh, I also have an eye for mistakes, since I make them so much..."
-
diff --git a/Dev/resnametable.TXT b/Dev/resnametable.TXT
deleted file mode 100644
index 6c62e2a1b..000000000
--- a/Dev/resnametable.TXT
+++ /dev/null
@@ -1,64 +0,0 @@
-Resnametable reading problem, testcases and description
-by Akaru
-------------------------------------------------------------------
-EDITED Resnametable, add at the end:
-aaa.gnd#valkyrie.gnd#
-aaa.gat#valkyrie.gat#
-aaa.rsw#valkyrie.rsw#
-À¯ÀúÀÎÅÍÆäÀ̽º\map\aaa.bmp#À¯ÀúÀÎÅÍÆäÀ̽º\map\valkyrie.bmp#
-
-At map_athena.conf, add:
-map: aaa.gat
-
-Case 1:
-In data.grf there's the base resnametable without reference of aaa.gat
-In sdata.grf there's no resnametable
-In data folder there's an edited resnametable with aaa.gat reference
-Results: Athena gives aaa.gat not found error
-What this proves: Athena doesn't even use the values in the datafolder resnametable
-
-Case 2:
-In data.grf there's the base resnametable without reference of aaa.gat
-In sdata.grf there's the edited resnametable aaa.gat reference
-In data folder there's an edited resnametable with aaa.gat reference
-Results: Athena loads aaa.gat
-What this proves: Athena only checks for the existance of the datafolder resnametable, but uses value from sdata.grf resnametable
-
-Case 3:
-In data.grf there's the base resnametable without reference of aaa.gat
-In sdata.grf there's the edited resnametable aaa.gat reference
-In data folder there's no resnametable
-BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found"
-AFTER MY CHANGE: Athena loads aaa.gat
-What this proves: Athena do not need the datafolder resnametable at all and it still runs from the resnametable in the GRFs
-
-Case 4:
-In data.grf there's no resnametable
-In sdata.grf there's no resnametable
-In data folder there's no resnametable
-BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found"
-AFTER MY CHANGE: Athena exits, "data/resnametable.txt not found"
-
-How it is now:
-- It searches for the datafolder resnametable:
- - If it exist, it continues but only use the resnametable from the GRF
- - If it does not exist,
- - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits
- - If resnametable is found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits
-
-What is should do:
-- Check if data_folder in grf-files is enabled:
- - If it is, search for the datafolder resnametable:
- - If it exist:
- - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it continues and uses this resnametable
- - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and overwrites the GRF resnametable with this one from the datafolder
- - If it does not exist:
- - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits
- - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable
- - If it isn't, then:
- - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits
- - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable
-
-------------------------------------------------------------------
-Fixes, comments, discussions, etc goes below here:
------------------------------------------------------------------- \ No newline at end of file
diff --git a/Dev/scripting.txt b/Dev/scripting.txt
deleted file mode 100644
index a242107f5..000000000
--- a/Dev/scripting.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-Post any NPCs/DBs that need to be done or Fixed Here.
-Format is:
-
-Description - A description of the task
-Type - Whether DB, NPC or Both
-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
-
---------------------------
-
-Description: -Thief Test its not working correctly
-Type: -Quest
-Status: -Pending
-Assignee: -N/A
-
---------------------------
-
-Description: - Some one needs to check the item_db there are alot of errors.
-Type: - DB
-Status: - Pending
-Assignee: - N/A
-
---------------------------
-
-Description: - Changing into "High" class are supposed to give you 100 stat
- - points. It currently only gives you 88.
-Type: - Jobchanger
-Stats: - Pending
-Assignee: - N/A \ No newline at end of file