// $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