- Corrected homunculus's aspd being halved after using some aspd adjusting skill.
- Cleaned up the resetskill function (even though the functionality is the same as before) - 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) - Removed the log info message 'created homunc...', and the 'loaded homunc' message will only show if the save_log is enabled. - Some cleanups git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9760 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
8a9e1eaa07
commit
8ec0ed0d47
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
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
|
||||
|
@ -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,{},{},{}
|
||||
|
@ -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
|
||||
//==========================================
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
62
src/map/pc.c
62
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;
|
||||
}
|
||||
|
@ -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)) {
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user