summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-08-18 03:22:11 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-08-18 03:22:11 +0000
commit9cf344e5c49ae0565a3ae228e8ca0126afef547a (patch)
tree5eedc81e0f9f54b0576be8042e727420a4244aee /src/map/clif.c
parent9c6e1847c77e2cbed53c5a1609423316c366e12c (diff)
downloadhercules-9cf344e5c49ae0565a3ae228e8ca0126afef547a.tar.gz
hercules-9cf344e5c49ae0565a3ae228e8ca0126afef547a.tar.bz2
hercules-9cf344e5c49ae0565a3ae228e8ca0126afef547a.tar.xz
hercules-9cf344e5c49ae0565a3ae228e8ca0126afef547a.zip
- Corrected a bit npc_remove_map, map_deliddb and strdb_remove calls belong to npc_unload rather than npc_remove_map. Also improved a bit the removal of the npc from the map's npc list.
- Added back the hair-style/hair-bottom fields to the spawn packet, and the pet-idle packet is no longer sent when the pet does not has an armor equipped (this should cut down on bandwidth a bit for non-equipped pets) - Moved the position of the map_addblock/clif_spawn code section in parse_LoadEndAck to above the party-hp blocks, this corrects party-member HP display mnot being updated when someone spawns in your range of sight. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11033 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index d228ea6f7..724ce0ff0 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -1315,11 +1315,13 @@ int clif_spawn(struct block_list *bl)
WBUFW(buf,10)=sc->opt2;
WBUFW(buf,12)=sc->option;
}
+ WBUFW(buf,14)=vd->hair_style;
//14W: Hair Style
//16W: Weapon
//18W: Head bottom
WBUFW(buf,20)=vd->class_;
//22W: Shield
+ WBUFW(buf,24)=vd->head_bottom; //Pet armor
//24W: Head top
//26W: Head mid
//28W: Hair color
@@ -1363,6 +1365,7 @@ int clif_spawn(struct block_list *bl)
}
break;
case BL_PET:
+ if (vd->head_bottom) //Pet armor display fix.
{
TBL_PET* pd = (TBL_PET*)bl;
if (pd->vd.head_bottom) clif_pet_equip(pd); // needed to display pet equip properly
@@ -3742,6 +3745,7 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
}
break;
case BL_PET:
+ if (vd->head_bottom) //Pet armor display fix.
{
// needed to display pet equip properly
TBL_PET* pd = (TBL_PET*)bl;
@@ -7999,6 +8003,16 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
clif_updatestatus(sd,SP_MAXWEIGHT);
clif_updatestatus(sd,SP_WEIGHT);
+ if(battle_config.pc_invincible_time > 0) {
+ if(map_flag_gvg(sd->bl.m))
+ pc_setinvincibletimer(sd,battle_config.pc_invincible_time<<1);
+ else
+ pc_setinvincibletimer(sd,battle_config.pc_invincible_time);
+ }
+ map_addblock(&sd->bl); // ブロック登録
+ clif_spawn(&sd->bl); // spawn
+
+
// Party
if(sd->status.party_id) {
party_send_movemap(sd);
@@ -8009,15 +8023,6 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
if(sd->status.guild_id)
guild_send_memberinfoshort(sd,1);
- if(battle_config.pc_invincible_time > 0) {
- if(map_flag_gvg(sd->bl.m))
- pc_setinvincibletimer(sd,battle_config.pc_invincible_time<<1);
- else
- pc_setinvincibletimer(sd,battle_config.pc_invincible_time);
- }
- map_addblock(&sd->bl); // ブロック登録
- clif_spawn(&sd->bl); // spawn
-
if(map[sd->bl.m].flag.pvp) {
if(!battle_config.pk_mode) { // remove pvp stuff for pk_mode [Valaris]
if (!map[sd->bl.m].flag.pvp_nocalcrank)