Bladeren bron

Migrated all getpetinfo constants to source exports

Created the respective enum on source side.
Lemongrass3110 9 jaren geleden
bovenliggende
commit
de61a19eca
4 gewijzigde bestanden met toevoegingen van 44 en 14 verwijderingen
  1. 0 10
      db/const.txt
  2. 19 4
      src/map/script.c
  3. 14 0
      src/map/script.h
  4. 11 0
      src/map/script_constants.h

+ 0 - 10
db/const.txt

@@ -2381,16 +2381,6 @@ THANATOS_KEEP	10009
 4_F_ARUNA_POP2	10173
 4_JACK_HEAD	10174
 
-QTYPE_NONE	0x270f
-QTYPE_QUEST	0x00
-QTYPE_QUEST2	0x01
-QTYPE_JOB	0x02
-QTYPE_JOB2	0x03
-QTYPE_EVENT	0x04
-QTYPE_EVENT2	0x05
-QTYPE_WARG	0x06
-QTYPE_WARG2	0x08
-
 FW_DONTCARE	0
 FW_THIN	100
 FW_EXTRALIGHT	200

+ 19 - 4
src/map/script.c

@@ -18338,11 +18338,26 @@ BUILDIN_FUNC(questinfo)
 	icon = script_getnum(st, 3);
 
 #if PACKETVER >= 20120410
-	if(icon < 0 || (icon > 8 && icon != 9999) || icon == 7)
-		icon = 9999; // Default to nothing if icon id is invalid.
+	switch(icon){
+		case QTYPE_QUEST:
+		case QTYPE_QUEST2:
+		case QTYPE_JOB:
+		case QTYPE_JOB2:
+		case QTYPE_EVENT:
+		case QTYPE_EVENT2:
+		case QTYPE_WARG:
+		case QTYPE_WARG2:
+			// Leave everything as it is
+			break;
+		case QTYPE_NONE:
+		default:
+			// Default to nothing if icon id is invalid.
+			icon = QTYPE_NONE;
+			break;
+	}
 #else
-	if(icon < 0 || icon > 7)
-		icon = 0;
+	if(icon < QTYPE_QUEST || icon > 7) // TODO: check why 7 and not QTYPE_WARG, might be related to icon + 1 below
+		icon = QTYPE_QUEST;
 	else
 		icon = icon + 1;
 #endif

+ 14 - 0
src/map/script.h

@@ -334,6 +334,20 @@ enum petinfo_types {
 	PETINFO_BLOCKID
 };
 
+enum questinfo_types {
+	QTYPE_QUEST = 0,
+	QTYPE_QUEST2,
+	QTYPE_JOB,
+	QTYPE_JOB2,
+	QTYPE_EVENT,
+	QTYPE_EVENT2,
+	QTYPE_WARG,
+	// 7 = free
+	QTYPE_WARG2 = 8,
+	// 9 - 9998 = free
+	QTYPE_NONE = 9999
+};
+
 enum unitdata_mobtypes {
 	UMOB_SIZE = 0,
 	UMOB_LEVEL,

+ 11 - 0
src/map/script_constants.h

@@ -2583,6 +2583,17 @@
 	script_set_constant("PET_RENAMED",PETINFO_RENAMED,false);
 	script_set_constant("PET_LEVEL",PETINFO_LEVEL,false);
 
+	/* questinfo types */
+	export_constant(QTYPE_QUEST);
+	export_constant(QTYPE_QUEST2);
+	export_constant(QTYPE_JOB);
+	export_constant(QTYPE_JOB2);
+	export_constant(QTYPE_EVENT);
+	export_constant(QTYPE_EVENT2);
+	export_constant(QTYPE_WARG);
+	export_constant(QTYPE_WARG2);
+	export_constant(QTYPE_NONE);
+
 	/* add skill types */
 	script_set_constant("SKILL_PERM",ADDSKILL_PERMANENT,false);
 	script_set_constant("SKILL_TEMP",ADDSKILL_TEMP,false);