summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-11-12 08:08:19 +0000
committerai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-11-12 08:08:19 +0000
commitcef84b99cace2357a872ac2939f62ce08f916318 (patch)
treeaeedbcec13042d63bd2425c63ec856d3e40b9e11
parentb14078da1a3de5447a158cbfab324512e158b9b6 (diff)
downloadhercules-cef84b99cace2357a872ac2939f62ce08f916318.tar.gz
hercules-cef84b99cace2357a872ac2939f62ce08f916318.tar.bz2
hercules-cef84b99cace2357a872ac2939f62ce08f916318.tar.xz
hercules-cef84b99cace2357a872ac2939f62ce08f916318.zip
* 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14993 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt4
-rw-r--r--db/const.txt36
-rw-r--r--src/map/npc.c2
-rw-r--r--src/map/npc.h14
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);