diff options
-rw-r--r-- | Changelog-Trunk.txt | 4 | ||||
-rw-r--r-- | db/const.txt | 36 | ||||
-rw-r--r-- | src/map/npc.c | 2 | ||||
-rw-r--r-- | src/map/npc.h | 14 |
4 files changed, 50 insertions, 6 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 6f7870074..1674699a2 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -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 diff --git a/db/const.txt b/db/const.txt index 6cb94f85e..d54889dfa 100644 --- a/db/const.txt +++ b/db/const.txt @@ -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 diff --git a/src/map/npc.c b/src/map/npc.c index 897475f73..dae395876 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -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_]; diff --git a/src/map/npc.h b/src/map/npc.h index 29e3d79cb..d40fb63b4 100644 --- a/src/map/npc.h +++ b/src/map/npc.h @@ -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); |