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:
parent
74a9a079b7
commit
111a20dbc4
@ -1756,6 +1756,7 @@ packet_ver: 30
|
|||||||
0x0908,5
|
0x0908,5
|
||||||
0x08D7,28,battlegroundreg,2:4 //Added to prevent disconnections
|
0x08D7,28,battlegroundreg,2:4 //Added to prevent disconnections
|
||||||
0x08CF,10 //Amulet spirits
|
0x08CF,10 //Amulet spirits
|
||||||
|
0x0977,14 //Monster HP Bar
|
||||||
|
|
||||||
//Add new packets here
|
//Add new packets here
|
||||||
//packet_ver: 31
|
//packet_ver: 31
|
@ -16221,6 +16221,19 @@ void clif_snap( struct block_list *bl, short x, short y ) {
|
|||||||
clif_send(buf,packet_len(0x8d2),bl,AREA);
|
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
|
* 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, 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,
|
||||||
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 {
|
struct {
|
||||||
void (*func)(int, struct map_session_data *);
|
void (*func)(int, struct map_session_data *);
|
||||||
|
@ -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_talisman(struct map_session_data *sd, short type);
|
||||||
|
|
||||||
void clif_snap( struct block_list *bl, short x, short y );
|
void clif_snap( struct block_list *bl, short x, short y );
|
||||||
|
void clif_monster_hp_bar( struct mob_data* md, int fd );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Color Table
|
* Color Table
|
||||||
|
@ -2081,10 +2081,15 @@ void mob_damage(struct mob_data *md, struct block_list *src, int damage)
|
|||||||
|
|
||||||
if (battle_config.show_mob_info&3)
|
if (battle_config.show_mob_info&3)
|
||||||
clif_charnameack (0, &md->bl);
|
clif_charnameack (0, &md->bl);
|
||||||
|
|
||||||
if (!src)
|
if (!src)
|
||||||
return;
|
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]
|
if( md->special_state.ai == 2 ) {//LOne WOlf explained that ANYONE can trigger the marine countdown skill. [Skotlex]
|
||||||
md->state.alchemist = 1;
|
md->state.alchemist = 1;
|
||||||
mobskill_use(md, gettick(), MSC_ALCHEMIST);
|
mobskill_use(md, gettick(), MSC_ALCHEMIST);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user