- Fixed a compile warning in login sql/txt

- Fixed pc_makesavestatus not setting your logout position.
- Fixed the UF * flags of Songs/Dances in skill_unit_db.
- Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.
- Added the missing +100% damage modifier of Enchant Deadly Poison.
- Fixed SkillStatusChangeTable not working correctly for Homun/Guild skills.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7454 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-07-03 14:39:15 +00:00
parent d82f39ff56
commit f89a7d2069
11 changed files with 7537 additions and 7519 deletions

View File

@ -3,7 +3,16 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/05/30
2006/07/03
* Fixed a compile warning in login sql/txt [Skotlex]
* Fixed pc_makesavestatus not setting your logout position. [Skotlex]
* Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.
[Skotlex]
* Added the missing +100% damage modifier of Enchant Deadly Poison.
[Skotlex]
* Fixed SkillStatusChangeTable not working correctly for Homun/Guild
skills. [Skotlex]
2006/06/30
* Fixed a typo in msg_athena.conf, "This item cannot be drop" -> "This item cannot be dropped" [MasterOfMuppets]
* Added a check to prevent equipped items from being traded. [Skotlex]
* Added UF_SONG (0x400) to differentiate songs from dances. [Skotlex]
@ -16,7 +25,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
* Cleanup in itemheal related code, fixed the item heal group bonus not
working on Groups beyond 7. [Skotlex]
* Fixed pet's loot not being moved to your inventory on logout. [Skotlex]
2006/05/29
2006/06/29
* Made the map server send list of characters online to the char-server on
reconnection regardless of "kick_on_disconnect" setting, as otherwise, a
temporary disconnection would make the char-server tag all characters
@ -34,7 +43,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
- Simplified scripting system. sd will now use pointer to the script state itself.
[Lance]
2006/05/28
2006/06/28
* changed:
dynamic_pass_failure_ban_how_many:from 3 to 7
dynamic_pass_failure_ban_how_long:from 60 to 5
@ -60,7 +69,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
triggered while the player is changing maps so that when the player finish
loading the map, it is inmediately rewarped to where it has been
rewarped/recalled to. [Skotlex]
2006/05/27
2006/06/27
* Map server will now resent the whole list of online characters to
char-server on reconnect when the kick_on_disconnect setting is active.
[Skotlex]

View File

@ -24,6 +24,8 @@
-----
=========================
07/03
* Fixed the UF * flags of Songs/Dances in skill_unit_db. [Skotlex]
07/02
* Added the Mercenary Summon Scrolls [Playtester]
* Fixed two books in the item_db [Playtester]

View File

@ -65,16 +65,16 @@
311,0xa3, , 4, 0, -1,all, 0x200 //BD_ROKISWEIL#ロキの叫び
312,0xa4, , 4, 0, -1,party, 0x220 //BD_INTOABYSS#深淵の中に
313,0xa5, , 4, 0, -1,party, 0x200 //BD_SIEGFRIED#不死身のジークフリード
317,0xa6, , 3, 0,3000,enemy, 0x100 //BA_DISSONANCE#不協和音
319,0xa7, , 3, 0, -1,all, 0x120 //BA_WHISTLE#口笛
320,0xa8, , 3, 0, -1,all, 0x120 //BA_ASSASSINCROSS#夕陽のアサシンクロス
321,0xa9, , 3, 0, -1,all, 0x120 //BA_POEMBRAGI#ブラギの詩
322,0xaa, , 3, 0,6000,all, 0x920 //BA_APPLEIDUN#イドゥンの林檎
325,0xab, , 3, 0,3000,enemy, 0x400 //DC_UGLYDANCE#自分勝手なダンス
327,0xac, , 3, 0, -1,all, 0x420 //DC_HUMMING#ハミング
328,0xad, , 3, 0, -1,enemy, 0x400 //DC_DONTFORGETME#私を忘れないで…
329,0xae, , 3, 0, -1,all, 0x420 //DC_FORTUNEKISS#幸運のキス
330,0xaf, , 3, 0, -1,party, 0x400 //DC_SERVICEFORYOU#サービスフォーユー
317,0xa6, , 3, 0,3000,enemy, 0x400 //BA_DISSONANCE#不協和音
319,0xa7, , 3, 0, -1,all, 0x420 //BA_WHISTLE#口笛
320,0xa8, , 3, 0, -1,all, 0x420 //BA_ASSASSINCROSS#夕陽のアサシンクロス
321,0xa9, , 3, 0, -1,all, 0x420 //BA_POEMBRAGI#ブラギの詩
322,0xaa, , 3, 0,6000,all, 0xC20 //BA_APPLEIDUN#イドゥンの林檎
325,0xab, , 3, 0,3000,enemy, 0x100 //DC_UGLYDANCE#自分勝手なダンス
327,0xac, , 3, 0, -1,all, 0x120 //DC_HUMMING#ハミング
328,0xad, , 3, 0, -1,enemy, 0x100 //DC_DONTFORGETME#私を忘れないで…
329,0xae, , 3, 0, -1,all, 0x120 //DC_FORTUNEKISS#幸運のキス
330,0xaf, , 3, 0, -1,party, 0x100 //DC_SERVICEFORYOU#サービスフォーユー
336,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLPARTNER#あなたに逢いたい
339,0x86, , -1, 0, 400,enemy, 0x000 //NPC_DARKGRANDCROSS#闇グランドクロス
362,0xb4, , 0, 3, -1,all, 0x000 //HP_BASILICA#バジリカ

View File

@ -1911,7 +1911,7 @@ int parse_fromchar(int fd) {
}
{
struct online_login_data *p;
int aid, i, users;
int aid, users;
online_db->foreach(online_db,online_db_setoffline,id); //Set all chars from this char-server offline first
users = RFIFOW(fd,4);
for (i = 0; i < users; i++) {
@ -1956,7 +1956,7 @@ int parse_fromchar(int fd) {
case 0x2736: // WAN IP update from char-server
if (RFIFOREST(fd) < 6)
return 0;
ShowInfo("Updated IP of Server #%d to %d.%d.%d.%d.\n",i,
ShowInfo("Updated IP of Server #%d to %d.%d.%d.%d.\n",id,
(int)RFIFOB(fd,2),(int)RFIFOB(fd,3),
(int)RFIFOB(fd,4),(int)RFIFOB(fd,5));
server[id].ip = RFIFOL(fd,2);
@ -1967,7 +1967,7 @@ int parse_fromchar(int fd) {
if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
return 0;
{
unsigned int sex,i = 0;
unsigned int sex;
acc = RFIFOL(fd,4);
sex = RFIFOB(fd,8);
if (sex != 0 && sex != 1)

View File

@ -1347,7 +1347,7 @@ int parse_fromchar(int fd){
}
{
struct online_login_data *p;
int aid, i, users;
int aid, users;
online_db->foreach(online_db,online_db_setoffline,id); //Set all chars from this char-server offline first
users = RFIFOW(fd,4);
for (i = 0; i < users; i++) {
@ -1395,7 +1395,7 @@ int parse_fromchar(int fd){
case 0x2736: // WAN IP update from char-server
if (RFIFOREST(fd) < 6)
return 0;
ShowInfo("Updated IP of Server #%d to %d.%d.%d.%d.\n",i,
ShowInfo("Updated IP of Server #%d to %d.%d.%d.%d.\n",id,
(int)RFIFOB(fd,2),(int)RFIFOB(fd,3),
(int)RFIFOB(fd,4),(int)RFIFOB(fd,5));
server[id].ip = RFIFOL(fd,2);

View File

@ -1528,7 +1528,7 @@ static struct Damage battle_calc_weapon_attack(
skillratio += 2*sc->data[SC_TRUESIGHT].val1;
// It is still not quite decided whether it works on bosses or not...
if(sc->data[SC_EDP].timer != -1 /*&& !(t_mode&MD_BOSS)*/ && skill_num != ASC_BREAKER && skill_num != ASC_METEORASSAULT)
skillratio += 50 +50*sc->data[SC_EDP].val1;
skillratio += 150 +50*sc->data[SC_EDP].val1;
}
switch (skill_num) {
case AS_SONICBLOW:

View File

@ -31,7 +31,7 @@ int chat_createchat(struct map_session_data *sd,int limit,int pub,char* pass,cha
if (map[sd->bl.m].flag.nochat) {
clif_displaymessage (sd->fd, msg_txt(281));
return 0; //Can't drop items in nodrop mapflag maps.
return 0; //Can't create chatrooms on this map.
}
pc_stop_walking(sd,1);
cd = (struct chat_data *) aMalloc(sizeof(struct chat_data));

View File

@ -4653,8 +4653,8 @@ int clif_skill_setunit(struct skill_unit *unit)
WBUFL(buf, 6)=unit->group->src_id;
WBUFW(buf,10)=unit->bl.x;
WBUFW(buf,12)=unit->bl.y;
if (unit->group->state.song_dance && unit->val1 == BA_DISSONANCE) {
WBUFB(buf,14)=UNT_DISSONANCE;
if (unit->group->state.song_dance && unit->val2&UF_ENSEMBLE) {
WBUFB(buf,14)=unit->val2&UF_SONG?UNT_DISSONANCE:UNT_UGLYDANCE;
} else {
WBUFB(buf,14)=unit->group->unit_id;
}
@ -4671,8 +4671,8 @@ int clif_skill_setunit(struct skill_unit *unit)
WBUFL(buf, 6)=unit->group->src_id;
WBUFW(buf,10)=unit->bl.x;
WBUFW(buf,12)=unit->bl.y;
if (unit->group->state.song_dance && unit->val1 == BA_DISSONANCE) {
WBUFB(buf,14)=UNT_DISSONANCE;
if (unit->group->state.song_dance && unit->val2&UF_ENSEMBLE) {
WBUFB(buf,14)=unit->val2&UF_SONG?UNT_DISSONANCE:UNT_UGLYDANCE;
} else {
WBUFB(buf,14)=unit->group->unit_id;
}

14970
src/map/pc.c

File diff suppressed because it is too large Load Diff

View File

@ -6166,7 +6166,7 @@ static int skill_dance_overlap_sub(struct block_list *bl, va_list ap)
if (!(target->val2 & src->val2 & ~UF_ENSEMBLE)) //They don't match (song + dance) is valid.
return 0;
if (flag) { //Set dissonance
target->val1 = src->val1 = BA_DISSONANCE;
target->val1 = src->val1 = target->val2&UF_SONG?BA_DISSONANCE:DC_UGLYDANCE;
target->val2 |= UF_ENSEMBLE; //Add ensemble to signal this unit is overlapping.
} else { //Remove dissonance
target->val1 = target->group->skill_id; //Restore skill id
@ -6665,11 +6665,16 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
type = SkillStatusChangeTable(sg->skill_id);
skillid = sg->skill_id;
if (sg->state.song_dance && src->val2&UF_ENSEMBLE)
{ //Treat this group as if it were BA_DISSONANCE.
{ //Treat this group as if it were BA_DISSONANCE/DC_UGLYDANCE.
//Values will be restored on proper switch case.
src->val1 = sg->unit_id;
sg->unit_id = UNT_DISSONANCE;
sg->skill_id = BA_DISSONANCE;
if (src->val2&UF_SONG) {
sg->unit_id = UNT_DISSONANCE;
sg->skill_id = BA_DISSONANCE;
} else {
sg->unit_id = UNT_UGLYDANCE;
sg->skill_id = DC_UGLYDANCE;
}
}
if (sg->interval == -1) {
@ -6872,10 +6877,14 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
break;
case UNT_UGLYDANCE: //Ugly Dance [Skotlex]
if (ss->id == bl->id)
break;
if (bl->type == BL_PC)
if (ss->id != bl->id && bl->type == BL_PC)
skill_additional_effect(ss, bl, sg->skill_id, sg->skill_lv, BF_LONG|BF_SKILL|BF_MISC, tick);
if (sg->state.song_dance && src->val2&UF_ENSEMBLE)
{ //Restore values.
sg->skill_id = skillid;
sg->unit_id = src->val1;
src->val1 = DC_UGLYDANCE;
}
break;
case UNT_DISSONANCE:

View File

@ -458,7 +458,7 @@ int SkillStatusChangeTable(int skill)
ShowError("add_sc: Unsupported skill id %d\n", skill);
return -1;
}
return SkillStatusChangeTableArray[skill];
return SkillStatusChangeTableArray[sk];
}
int StatusIconChangeTable[SC_MAX]; //Stores the icon that should be associated to this status change.
static void initDummyData(void) {