From 01a1daae3343e0c993de83e7c38fab6a7f5bf5d4 Mon Sep 17 00:00:00 2001 From: skotlex Date: Sat, 8 Jul 2006 17:13:39 +0000 Subject: - Fixed the char table having party/guild_id as smallint when they need int there. Thanks to hermematon for pointing it out (use svn_ugprade7580.sql) - Applied k3dt fixes to pet-hatching, ice-wall check, and wedding skills. - Fixed endow skills calling the skill no damage packet twice. - Fixed a crash on warpwaitingpc when the chat-room is empty. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7580 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 8 ++++++++ sql-files/main.sql | 4 ++-- sql-files/upgrade_svn7580.sql | 2 ++ src/map/pet.c | 2 +- src/map/script.c | 6 ++++-- src/map/skill.c | 6 +++--- 6 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 sql-files/upgrade_svn7580.sql diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 8d8ac326d..13ced21f6 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,14 @@ 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/07/08 + * Fixed the char table having party/guild_id as smallint when they need int + there. Thanks to hermematon for pointing it out (use svn_ugprade7580.sql) + [Skotlex] + * Applied k3dt fixes to pet-hatching, ice-wall check, and wedding skills. + [Skotlex] + * Fixed endow skills calling the skill no damage packet twice. [Skotlex] + * Fixed a crash on warpwaitingpc when the chat-room is empty. [Skotlex] 2006/07/07 * Fixed the Warm Skills [Skotlex] * Removed the debug message when a player logs out and is removed from diff --git a/sql-files/main.sql b/sql-files/main.sql index d6dfabf5f..8272499d9 100644 --- a/sql-files/main.sql +++ b/sql-files/main.sql @@ -54,8 +54,8 @@ CREATE TABLE `char` ( `option` int(11) NOT NULL default '0', `karma` tinyint(3) NOT NULL default '0', `manner` tinyint(3) NOT NULL default '0', - `party_id` smallint(11) unsigned NOT NULL default '0', - `guild_id` smallint(11) unsigned NOT NULL default '0', + `party_id` int(11) unsigned NOT NULL default '0', + `guild_id` int(11) unsigned NOT NULL default '0', `pet_id` int(11) unsigned NOT NULL default '0', `hair` tinyint(4) unsigned NOT NULL default '0', `hair_color` smallint(5) unsigned NOT NULL default '0', diff --git a/sql-files/upgrade_svn7580.sql b/sql-files/upgrade_svn7580.sql new file mode 100644 index 000000000..0df8894d0 --- /dev/null +++ b/sql-files/upgrade_svn7580.sql @@ -0,0 +1,2 @@ +ALTER TABLE `char` MODIFY `party_id` int(11) unsigned NOT NULL default '0'; +ALTER TABLE `char` MODIFY `guild_id` int(11) unsigned NOT NULL default '0'; diff --git a/src/map/pet.c b/src/map/pet.c index 428114dc8..3bec8da30 100644 --- a/src/map/pet.c +++ b/src/map/pet.c @@ -502,7 +502,7 @@ int pet_recv_petdata(int account_id,struct s_pet *p,int flag) clif_spawn(&sd->pd->bl); clif_send_petdata(sd,0,0); clif_send_petdata(sd,5,battle_config.pet_hair_style); -// clif_pet_equip(sd->pd); + clif_pet_equip(sd->pd); clif_send_petstatus(sd); } } diff --git a/src/map/script.c b/src/map/script.c index 22cd3c8a0..26ae86ee1 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -6804,6 +6804,7 @@ int buildin_warpwaitingpc(struct script_state *st) char *str; struct npc_data *nd=(struct npc_data *)map_id2bl(st->oid); struct chat_data *cd; + struct map_session_data *sd; if(nd==NULL || (cd=(struct chat_data *)map_id2bl(nd->chat_id))==NULL ) return 0; @@ -6817,8 +6818,9 @@ int buildin_warpwaitingpc(struct script_state *st) n=conv_num(st,& (st->stack->stack_data[st->start+5])); for(i=0;iusersd[0]; // ƒŠƒXƒg擪‚ÌPC‚ðŽŸX‚ÉB - + sd=cd->usersd[0]; + if (!sd) continue; //Broken npc chat room? + mapreg_setreg(add_str((unsigned char *) "$@warpwaitingpc")+(i<<24),sd->bl.id); if(strcmp(str,"Random")==0) diff --git a/src/map/skill.c b/src/map/skill.c index df7519a74..85c67f574 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -906,6 +906,7 @@ int skillnotok (int skillid, struct map_session_data *sd) clif_skill_fail(sd,skillid,0,0); return 1; } + break; case GD_EMERGENCYCALL: if (!battle_config.emergency_call || (map[sd->bl.m].flag.nowarpto && battle_config.emergency_call&1)) @@ -3554,7 +3555,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in sd && sd != dstsd) clif_displaymessage(sd->fd,"You broke target's weapon"); } - clif_skill_nodamage(src,bl,skillid,skilllv,i); break; case PR_ASPERSIO: /* アスペルシオ */ @@ -4909,14 +4909,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case WE_MALE: { int hp_rate=(skilllv <= 0)? 0:skill_db[skillid].hp_rate[skilllv-1]; - int gain_hp= sstatus->max_hp*abs(hp_rate)/100; // The earned is the same % of the target HP than it costed the caster. [Skotlex] + int gain_hp= tstatus->max_hp*abs(hp_rate)/100; // The earned is the same % of the target HP than it costed the caster. [Skotlex] clif_skill_nodamage(src,bl,skillid,status_heal(bl, gain_hp, 0, 0),1); } break; case WE_FEMALE: { int sp_rate=(skilllv <= 0)? 0:skill_db[skillid].sp_rate[skilllv-1]; - int gain_sp=sstatus->max_sp*abs(sp_rate)/100;// The earned is the same % of the target SP than it costed the caster. [Skotlex] + int gain_sp=tstatus->max_sp*abs(sp_rate)/100;// The earned is the same % of the target SP than it costed the caster. [Skotlex] clif_skill_nodamage(src,bl,skillid,status_heal(bl, 0, gain_sp, 0),1); } break; -- cgit v1.2.3-60-g2f50