* Fixed npc class HIDDEN_WARP_NPC (139) being sent to the client, causing client crashes in poring war. It's a server-side "sprite" only.

- Updated Aegis NPC ID constants from current npcidentity.lub (569~603).
- Reintroduced HIDDEN_WARP_NPC script constant, which was removed by accident (since r14679).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14993 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ai4rei 2011-11-12 08:08:19 +00:00
parent 2da1b94830
commit f204e8aa09
4 changed files with 50 additions and 6 deletions

View File

@ -1,5 +1,9 @@
Date Added
2011/11/12
* Fixed npc class HIDDEN_WARP_NPC (139) being sent to the client, causing client crashes in poring war. It's a server-side "sprite" only. [Ai4rei]
- Updated Aegis NPC ID constants from current npcidentity.lub (569~603).
- Reintroduced HIDDEN_WARP_NPC script constant, which was removed by accident (since r14679).
2011/11/03
* Organized items in VS2010 projects into groups like in other projects (follow up to r14562). [Ai4rei]
2011/10/28

View File

@ -1505,6 +1505,7 @@ HIDDEN_NPC 111
2_F_MAGICMASTER 123
4_F_TELEPORTER 124
4_M_TELEPORTER 125
HIDDEN_WARP_NPC 139
4_M_MUT2 401
4_M_SCIENCE 402
4_F_VALKYRIE2 403
@ -1673,6 +1674,41 @@ MOB_TOMB 565
4_MYSTCASE 566
4_M_SIT_NOVICE 567
4_OCTOPUS_LEG 568
4_F_NURSE 569
4_MAL_SOLDIER 570
4_MAL_CAPTAIN 571
4_MAL_BUDIDAI 572
4_M_MAYOR 573
4_M_BARYO_OLD 574
4_F_BARYO_OLD 575
4_F_BARYO_GIRL 576
4_M_BARYO_BOY 577
4_M_BARYO_MAN 578
4_F_BARYO_WOMAN 579
4_BARYO_CHIEF 580
4_MAL_KAFRA 581
4_M_MALAYA 582
4_F_MALAYA 583
4_F_PATIENT 584
4_M_PATIENT 585
4_F_KR_TIGER 586
4_M_KR_BOY 587
4_M_KAGE_OLD 588
4_WHIKEBAIN 589
4_EREND 590
4_RAWREL 591
4_ARMAIA 592
4_KAVAC 593
4_YGNIZEM 594
4_EREMES 595
4_MAGALETA 596
4_KATRINN 597
4_SHECIL 598
4_SEYREN 599
4_HARWORD 600
4_F_JP_CYNTHIA 601
4_M_JP_GUSTON 602
4_M_JP_BERKUT 603
//Free Ids
8_F_GIRL 700
4_F_GODEMOM 701

View File

@ -96,7 +96,7 @@ static struct script_event_s
struct view_data* npc_get_viewdata(int class_)
{ //Returns the viewdata for normal npc classes.
if (class_ == INVISIBLE_CLASS)
if( class_ == HIDDEN_WARP_CLASS || class_ == INVISIBLE_CLASS )
return &npc_viewdb[0];
if (npcdb_checkid(class_) || class_ == WARP_CLASS)
return &npc_viewdb[class_];

View File

@ -69,15 +69,19 @@ struct npc_data {
#define START_NPC_NUM 110000000
#define WARP_CLASS 45
#define WARP_DEBUG_CLASS 722
#define FLAG_CLASS 722
#define INVISIBLE_CLASS 32767
enum actor_classes
{
WARP_CLASS = 45,
HIDDEN_WARP_CLASS = 139, // server-side only, never sent to client
WARP_DEBUG_CLASS = 722,
FLAG_CLASS = 722,
INVISIBLE_CLASS = 32767,
};
#define MAX_NPC_CLASS 1000
//Checks if a given id is a valid npc id. [Skotlex]
//Since new npcs are added all the time, the max valid value is the one before the first mob (Scorpion = 1001)
#define npcdb_checkid(id) ( ( (id) >= 46 && (id) <= 125) || (id) == 139 || ( (id) > 400 && (id) < MAX_NPC_CLASS ) || (id) == INVISIBLE_CLASS )
#define npcdb_checkid(id) ( ( (id) >= 46 && (id) <= 125) || (id) == HIDDEN_WARP_CLASS || ( (id) > 400 && (id) < MAX_NPC_CLASS ) || (id) == INVISIBLE_CLASS )
#ifdef PCRE_SUPPORT
void npc_chat_finalize(struct npc_data* nd);