Added support for the new monster purple hp bar packet (packetver >= 20120404), make sure to toggle /monsterhp in the client to show the bar. Special Thanks to EvilPuncker and scriptor for the packet structure

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16669 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
shennetsind 2012-08-20 11:59:22 +00:00
parent 74a9a079b7
commit 111a20dbc4
4 changed files with 28 additions and 2 deletions

View File

@ -1756,6 +1756,7 @@ packet_ver: 30
0x0908,5
0x08D7,28,battlegroundreg,2:4 //Added to prevent disconnections
0x08CF,10 //Amulet spirits
0x0977,14 //Monster HP Bar
//Add new packets here
//packet_ver: 31

View File

@ -16221,6 +16221,19 @@ void clif_snap( struct block_list *bl, short x, short y ) {
clif_send(buf,packet_len(0x8d2),bl,AREA);
}
void clif_monster_hp_bar( struct mob_data* md, int fd ) {
#if PACKETVER >= 20120404
WFIFOHEAD(fd,packet_len(0x977));
WFIFOW(fd,0) = 0x977;
WFIFOL(fd,2) = md->bl.id;
WFIFOL(fd,6) = md->status.hp;
WFIFOL(fd,10) = md->status.max_hp;
WFIFOSET(fd,packet_len(0x977));
#endif
}
/*==========================================
* Main client packet processing function
*------------------------------------------*/
@ -16615,7 +16628,13 @@ static int packetdb_readdb(void)
0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
//#0x0940
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
};
struct {
void (*func)(int, struct map_session_data *);

View File

@ -739,6 +739,7 @@ void clif_elemental_updatestatus(struct map_session_data *sd, int type);
void clif_talisman(struct map_session_data *sd, short type);
void clif_snap( struct block_list *bl, short x, short y );
void clif_monster_hp_bar( struct mob_data* md, int fd );
/**
* Color Table

View File

@ -2081,10 +2081,15 @@ void mob_damage(struct mob_data *md, struct block_list *src, int damage)
if (battle_config.show_mob_info&3)
clif_charnameack (0, &md->bl);
if (!src)
return;
#if PACKETVER >= 20120404
if( src->type == BL_PC && !(md->status.mode&MD_BOSS) )
clif_monster_hp_bar(md, ((TBL_PC*)src)->fd);
#endif
if( md->special_state.ai == 2 ) {//LOne WOlf explained that ANYONE can trigger the marine countdown skill. [Skotlex]
md->state.alchemist = 1;
mobskill_use(md, gettick(), MSC_ALCHEMIST);