diff options
-rw-r--r-- | Changelog-Trunk.txt | 7 | ||||
-rw-r--r-- | db/Changelog.txt | 9 | ||||
-rw-r--r-- | db/abra_db.txt | 2 | ||||
-rw-r--r-- | db/homunculus_db.txt | 10 | ||||
-rw-r--r-- | db/item_db.txt | 2 | ||||
-rw-r--r-- | db/skill_cast_db.txt | 6 | ||||
-rw-r--r-- | src/char_sql/int_homun.c | 5 | ||||
-rw-r--r-- | src/map/intif.c | 2 | ||||
-rw-r--r-- | src/map/pc.c | 62 | ||||
-rw-r--r-- | src/map/status.c | 2 | ||||
-rw-r--r-- | src/map/unit.c | 6 |
11 files changed, 62 insertions, 51 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 418084b77..8897f4c72 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,11 +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. -2007/01/31 +2007/02/01 + * Corrected homunculus's aspd being halved after using some aspd adjusting + skill. + * Removed the log info message 'created homunc...', and the 'loaded homunc' + message will only show if the save_log is enabled. * When when a party-member levels up, the level change is sent to the char-server to update the even-share range values. * When joining a gvg_dungeon, the pvp packet will be sent to signal versus. With this gvg dungeons should be working correctly now. [Skotlex] +2007/01/31 * Changes in the VS8 project files: [FlavioJS] - synchronized the settings between the projects - joined all .h and .cpp files and grouped them based on the src subfolder diff --git a/db/Changelog.txt b/db/Changelog.txt index ff7843e3a..d9e789f0c 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -20,6 +20,15 @@ ======================== +02/01 + * Corrected item 1459 (unused Partizan with no slots) being wlv3 instead of + 2 (as the other two partizans) + * Changed the name of the four second versions of homunculi to not have a + 2. (so you get a 'lif' and not a 'lif2') + * Removed flag graffiti from abracadabra. + * Updated the stun times of Bash, Npc-StunAttack and meteor Assault to 5 + secs as reported by Ultra Mage (still pending more data to see if all + others need updating as well) 01/30 * Blood Drain and Energy Drain have their range updated to 7. * Changed the element of Blood Drain from 'take weapon's element' to Dark. diff --git a/db/abra_db.txt b/db/abra_db.txt index 9c8e36f36..473e2ec36 100644 --- a/db/abra_db.txt +++ b/db/abra_db.txt @@ -188,7 +188,7 @@ 218,Divest helm,4,4000 219,Snatch,4,4000 220,Scribble,1,4000 -221,Piece,2,4000 +221,Piece,1,0 222,Remover,4,4000 223,Slyness,1,0 224,Haggle,1,0 diff --git a/db/homunculus_db.txt b/db/homunculus_db.txt index c0101ef97..2b52693cd 100644 --- a/db/homunculus_db.txt +++ b/db/homunculus_db.txt @@ -3,10 +3,10 @@ 6002,Amistr,320,10,20,17,35,11,24,12,21,32,60000,912,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,6010,700,0,0,0,0 6003,Filir,90,25,29,35,9,8,30,9,21,32,60000,910,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,6011,700,0,0,0,0 6004,Vanilmirth,80,11,11,11,11,11,11,11,21,32,60000,911,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,6012,700,0,0,0,0 -6005,Lif2,150,40,17,20,15,35,24,12,21,32,60000,537,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,6013,700,0,0,0,0 -6006,Amistr2,320,10,20,17,35,11,24,12,21,32,60000,912,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,6014,700,0,0,0,0 -6007,Filir2,90,25,29,35,9,8,30,9,21,32,60000,910,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,6015,700,0,0,0,0 -6008,Vanilmirth2,80,11,11,11,11,11,11,11,21,32,60000,911,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,6016,700,0,0,0,0 +6005,Lif,150,40,17,20,15,35,24,12,21,32,60000,537,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,6013,700,0,0,0,0 +6006,Amistr,320,10,20,17,35,11,24,12,21,32,60000,912,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,6014,700,0,0,0,0 +6007,Filir,90,25,29,35,9,8,30,9,21,32,60000,910,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,6015,700,0,0,0,0 +6008,Vanilmirth,80,11,11,11,11,11,11,11,21,32,60000,911,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,6016,700,0,0,0,0 6009,Lif_H,150,40,17,20,15,35,24,12,21,32,60000,537,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,0,700,1,0,0,0 6010,Amistr_H,320,10,20,17,35,11,24,12,21,32,60000,912,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,0,700,1,0,0,0 6011,Filir_H,90,25,29,35,9,8,30,9,21,32,60000,910,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,0,700,1,0,0,0 @@ -14,4 +14,4 @@ 6013,Lif2_H,150,40,17,20,15,35,24,12,21,32,60000,537,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,0,700,1,0,0,0 6014,Amistr2_H,320,10,20,17,35,11,24,12,21,32,60000,912,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,0,700,1,0,0,0 6015,Filir2_H,90,25,29,35,9,8,30,9,21,32,60000,910,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,0,700,1,0,0,0 -6016,Vanilmirth2_H,80,11,11,11,11,11,11,11,21,32,60000,911,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,0,700,1,0,0,0
\ No newline at end of file +6016,Vanilmirth2_H,80,11,11,11,11,11,11,11,21,32,60000,911,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,0,700,1,0,0,0 diff --git a/db/item_db.txt b/db/item_db.txt index 5c5c510b4..70a2d2b15 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -649,7 +649,7 @@ 1456,Glaive__,Glaive,4,20000,,1200,104,,3,0,0x00004082,7,2,34,2,18,1,5,{},{},{} 1457,Partizan,Partizan,4,27000,,2000,124,,3,1,0x00004082,7,2,34,2,18,1,5,{},{},{} 1458,Partizan_,Partizan,4,27000,,2000,124,,3,2,0x00004082,7,2,34,2,18,1,5,{},{},{} -1459,Partizan__,Partizan,4,27000,,2000,124,,3,0,0x00004082,7,2,34,3,18,1,5,{},{},{} +1459,Partizan__,Partizan,4,27000,,2000,124,,3,0,0x00004082,7,2,34,2,18,1,5,{},{},{} 1460,Trident,Trident,4,51000,,1200,150,,3,2,0x00004082,7,2,34,3,33,1,5,{},{},{} 1461,Trident_,Trident,4,51000,,1200,150,,3,3,0x00004082,7,2,34,3,33,1,5,{},{},{} 1462,Trident__,Trident,4,51000,,1200,150,,3,0,0x00004082,7,2,34,3,33,1,5,{},{},{} diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt index ba73b2e31..4fba63834 100644 --- a/db/skill_cast_db.txt +++ b/db/skill_cast_db.txt @@ -264,7 +264,7 @@ 143,0,0,0,600000,0 //-- SM_FATALBLOW -145,0,0,0,0,3000 +145,0,0,0,0,5000 //-- AC_CHARGEARROW 148,1500,0,0,0,0 @@ -315,7 +315,7 @@ //-- NPC_SILENCEATTACK 178,0,0,0,0,10000:12000:14000:16000:18000:20000:22000:24000:26000:28000 //-- NPC_STUNATTACK -179,0,0,0,0,3000 +179,0,0,0,0,5000 //-- NPC_PETRIFYATTACK 180,0,0,0,5000,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000 //-- NPC_CURSEATTACK @@ -676,7 +676,7 @@ //-- PF_SPIDERWEB 405,0,0,0,30000,8000 //-- ASC_METEORASSAULT (Upkeep2 times are duration of: blind(lv1), stun(lv2) or bleeding (lv3) -406,500,500,0,0,10000:3000:120000 +406,500,500,0,0,10000:5000:120000 //-- ASC_CDP 407,0,500,0,0,0 //========================================== diff --git a/src/char_sql/int_homun.c b/src/char_sql/int_homun.c index a7ba26eb6..6fce092ac 100644 --- a/src/char_sql/int_homun.c +++ b/src/char_sql/int_homun.c @@ -106,8 +106,6 @@ int mapif_save_homunculus(int fd, int account_id, struct s_homunculus *hd) if(hd->hom_id==0) // new homunculus { - ShowInfo("New homunculus name : %s\n",hd->name); - sprintf(tmp_sql, "INSERT INTO `homunculus` " "(`char_id`, `class`,`name`,`level`,`exp`,`intimacy`,`hunger`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `hp`,`max_hp`,`sp`,`max_sp`,`skill_point`, `rename_flag`, `vaporize`) " "VALUES ('%d', '%d', '%s', '%d', '%u', '%u', '%d', '%d', %d, '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')", @@ -208,7 +206,8 @@ int mapif_load_homunculus(int fd){ mysql_free_result(sql_res); - ShowInfo("Homunculus loaded (%d - %s).\n", homun_pt->hom_id, homun_pt->name); + if (save_log) + ShowInfo("Homunculus loaded (%d - %s).\n", homun_pt->hom_id, homun_pt->name); return mapif_info_homunculus(fd, RFIFOL(fd,2), homun_pt); } diff --git a/src/map/intif.c b/src/map/intif.c index 6d49d434d..ad749d5f9 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -118,7 +118,7 @@ int intif_rename(struct map_session_data *sd, int type, char *name) if (CheckForCharServer()) return 1; - WFIFOHEAD(inter_fd,NAME_LENGTH+11); + WFIFOHEAD(inter_fd,NAME_LENGTH+12); WFIFOW(inter_fd,0) = 0x3006; WFIFOL(inter_fd,2) = sd->status.account_id; WFIFOL(inter_fd,6) = sd->status.char_id; diff --git a/src/map/pc.c b/src/map/pc.c index 9b4b9698d..ecd82369c 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -4717,48 +4717,52 @@ int pc_resetstate(struct map_session_data* sd) */ int pc_resetskill(struct map_session_data* sd, int flag) { - int i, skill, inf2, skill_point=0; + int i, lv, inf2, skill_point=0; nullpo_retr(0, sd); if (pc_checkskill(sd, SG_DEVIL) && !pc_nextjobexp(sd)) clif_status_load(&sd->bl, SI_DEVIL, 0); //Remove perma blindness due to skill-reset. [Skotlex] for (i = 1; i < MAX_SKILL; i++) { - if ((skill = sd->status.skill[i].lv) > 0) { - inf2 = skill_get_inf2(i); - if ((!(inf2&INF2_QUEST_SKILL) || battle_config.quest_skill_learn) && - !(inf2&(INF2_WEDDING_SKILL|INF2_SPIRIT_SKILL))) //Avoid reseting wedding/linker skills. - { - if (!sd->status.skill[i].flag) - skill_point += skill; - else if (sd->status.skill[i].flag > 2 && sd->status.skill[i].flag != 13) - skill_point += (sd->status.skill[i].flag - 2); - if (!(flag&2)) { - sd->status.skill[i].lv = 0; - sd->status.skill[i].flag = 0; - } - } - else if (battle_config.quest_skill_reset && (inf2&INF2_QUEST_SKILL) && !(flag&2)) - { + lv= sd->status.skill[i].lv; + if (lv < 1) continue; + + inf2 = skill_get_inf2(i); + + if(inf2&(INF2_WEDDING_SKILL|INF2_SPIRIT_SKILL)) //Avoid reseting wedding/linker skills. + continue; + + if (inf2&INF2_QUEST_SKILL && !battle_config.quest_skill_learn) + { //Only handle quest skills in a special way when you can't learn them manually + if (battle_config.quest_skill_reset && !(flag&2)) + { //Wipe them sd->status.skill[i].lv = 0; sd->status.skill[i].flag = 0; } - } else { + continue; + } + if (!sd->status.skill[i].flag) + skill_point += lv; + else if (sd->status.skill[i].flag > 2 && sd->status.skill[i].flag != 13) + skill_point += (sd->status.skill[i].flag - 2); + + if (!(flag&2)) { sd->status.skill[i].lv = 0; + sd->status.skill[i].flag = 0; } } - if (!(flag&2)) { - if (sd->status.skill_point > USHRT_MAX - skill_point) - sd->status.skill_point = USHRT_MAX; - else - sd->status.skill_point += skill_point; - - if (flag&1) { - clif_updatestatus(sd,SP_SKILLPOINT); - clif_skillinfoblock(sd); - status_calc_pc(sd,0); - } + if (flag&2 || !skill_point) return skill_point; + + if (sd->status.skill_point > USHRT_MAX - skill_point) + sd->status.skill_point = USHRT_MAX; + else + sd->status.skill_point += skill_point; + + if (flag&1) { + clif_updatestatus(sd,SP_SKILLPOINT); + clif_skillinfoblock(sd); + status_calc_pc(sd,0); } return skill_point; } diff --git a/src/map/status.c b/src/map/status.c index 9b228701c..5f53f6655 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -2871,7 +2871,7 @@ void status_calc_bl_sub_hom(struct homun_data *hd, unsigned long flag) //[orn] skill = skill*status->aspd_rate/1000; status->amotion = cap_value(skill,battle_config.max_aspd,2000); - status->adelay = 2*status->amotion; + status->adelay = status->amotion; } if(flag&(SCB_AGI|SCB_DSPD)) { diff --git a/src/map/unit.c b/src/map/unit.c index a03b24d74..30c47de06 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -268,9 +268,6 @@ int unit_walktoxy( struct block_list *bl, int x, int y, int easy) { nullpo_retr(0, bl); - if ( status_isdead(bl) ) //[orn] - return 0; - ud = unit_bl2ud(bl); if( ud == NULL) return 0; @@ -678,9 +675,6 @@ int unit_can_move(struct block_list *bl) if (DIFF_TICK(ud->canmove_tick, gettick()) > 0) return 0; - if (status_isdead(bl)) - return 0; - if (sd && ( pc_issit(sd) || sd->state.blockedmove |