- 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:
parent
d82f39ff56
commit
f89a7d2069
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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#バジリカ
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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:
|
||||
|
@ -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));
|
||||
|
@ -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
14970
src/map/pc.c
File diff suppressed because it is too large
Load Diff
@ -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:
|
||||
|
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user