summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-08 17:13:39 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-08 17:13:39 +0000
commit01a1daae3343e0c993de83e7c38fab6a7f5bf5d4 (patch)
tree7e0e7ccec5596458330b2a87c7f7f9bb38c1bbda /src/map
parent89a113a0cf69be3a30d0c2999557ff21c2049d51 (diff)
downloadhercules-01a1daae3343e0c993de83e7c38fab6a7f5bf5d4.tar.gz
hercules-01a1daae3343e0c993de83e7c38fab6a7f5bf5d4.tar.bz2
hercules-01a1daae3343e0c993de83e7c38fab6a7f5bf5d4.tar.xz
hercules-01a1daae3343e0c993de83e7c38fab6a7f5bf5d4.zip
- 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
Diffstat (limited to 'src/map')
-rw-r--r--src/map/pet.c2
-rw-r--r--src/map/script.c6
-rw-r--r--src/map/skill.c6
3 files changed, 8 insertions, 6 deletions
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;i<n;i++){
- struct map_session_data *sd=cd->usersd[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;