- Fixed the Warm Skills

- Removed the debug message when a player logs out and is removed from memory, it is working fine.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7578 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-07-07 23:57:07 +00:00
parent 38ead62cea
commit e6915d4f6d
3 changed files with 31 additions and 28 deletions

View File

@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/07/07
* Fixed the Warm Skills [Skotlex]
* Removed the debug message when a player logs out and is removed from
memory, it is working fine (tested normal logging off and autotrade). [Skotlex]
* Corrected the pet-armor field of the pet not being updated on
equip/unequip of accessories, making them not show up inmediately. [Skotlex]
* Status_calc_bl will no longer stop you from attacking/walking when the

View File

@ -1706,7 +1706,6 @@ void map_quit_ack(struct map_session_data *sd) {
if (sd && sd->state.finalsave) {
idb_remove(pc_db,sd->status.account_id);
aFree(sd);
ShowDebug("Final Save Ack for character %d:%d\n", sd->status.account_id, sd->status.char_id);
}
}

View File

@ -3673,18 +3673,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
BF_WEAPON,src,src,skillid,skilllv,tick,flag,BCT_ENEMY);
break;
case SG_SUN_WARM:
case SG_MOON_WARM:
case SG_STAR_WARM:
{
struct skill_unit_group *sg;
if (!tsc) break;
sg = skill_unitsetting(bl,skillid,skilllv,src->x,src->y,0);
clif_skill_nodamage(src,bl,skillid,skilllv,
sc_start4(bl,type,100,skilllv,0,0,(int)sg,skill_get_time(skillid,skilllv)));
break;
}
case CG_MOONLIT: /* 月明りの泉に落ちる花びら */
clif_skill_nodamage(src,bl,skillid,skilllv,1);
if (sd && battle_config.player_skill_partner_check &&
@ -6015,24 +6003,37 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
// Plant Cultivation [Celest]
case CR_CULTIVATION:
{
if (sd) {
int i = skilllv - 1;
int j = pc_search_inventory(sd,skill_db[skillid].itemid[i]);
if(j < 0 || skill_db[skillid].itemid[i] <= 0 || sd->inventory_data[j] == NULL ||
sd->status.inventory[j].amount < skill_db[skillid].amount[i]) {
clif_skill_fail(sd,skillid,0,0);
return 1;
}
pc_delitem(sd,j,skill_db[skillid].amount[i],0);
clif_skill_poseffect(src,skillid,skilllv,x,y,tick);
if (rand()%100 < 50)
mob_once_spawn(sd, "this", x, y, "--ja--",(skilllv < 2 ? 1084+rand()%2 : 1078+rand()%6), 1, "");
else
clif_skill_fail(sd,skillid,0,0);
if (sd) {
int i = skilllv - 1;
int j = pc_search_inventory(sd,skill_db[skillid].itemid[i]);
if(j < 0 || skill_db[skillid].itemid[i] <= 0 || sd->inventory_data[j] == NULL ||
sd->status.inventory[j].amount < skill_db[skillid].amount[i]) {
clif_skill_fail(sd,skillid,0,0);
return 1;
}
pc_delitem(sd,j,skill_db[skillid].amount[i],0);
clif_skill_poseffect(src,skillid,skilllv,x,y,tick);
if (rand()%100 < 50)
mob_once_spawn(sd, "this", x, y, "--ja--",(skilllv < 2 ? 1084+rand()%2 : 1078+rand()%6), 1, "");
else
clif_skill_fail(sd,skillid,0,0);
}
break;
case SG_SUN_WARM:
case SG_MOON_WARM:
case SG_STAR_WARM:
{
struct skill_unit_group *sg;
sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
clif_skill_nodamage(src,src,skillid,skilllv,
sc_start4(src,SkillStatusChangeTable(skillid),
100,skilllv,0,0,(int)sg,skill_get_time(skillid,skilllv)));
}
break;
default:
ShowWarning("skill_castend_pos2: Unknown skill used:%d\n",skillid);
map_freeblock_unlock();
return 1;
}
if (sc && sc->data[SC_MAGICPOWER].timer != -1)