I know that you guys like to see these things in a diff file and since I have tested and can also verify that the changes that WildCardX has made do work here is a diff file of his changes.
Changes to quest::depop (questmgr.cpp)
Code:
--- questmgr.cpp_bak 2006-12-20 07:43:08.000000000 +0000
+++ questmgr.cpp 2006-12-20 08:05:10.000000000 +0000
@@ -363,9 +363,13 @@
void QuestManager::depop(int npc_type) {
if (npc_type != 0){
Mob * tmp = entity_list.GetMobByNpcTypeID(npc_type);
+
if (tmp) {
- if(tmp != npc)
+ if(tmp != npc){
tmp->CastToNPC()->Depop();
+ entity_list.RemoveNPC(tmp->GetID());
+ entity_list.RemoveMob(tmp->GetID());
+ }
else
depop_npc = true;
}
Changes to fix Quest Item combines
skills.h
Code:
--- skills.h_bak 2006-12-20 07:40:42.000000000 +0000
+++ skills.h 2006-12-20 07:41:20.000000000 +0000
@@ -95,7 +95,8 @@
PERCUSSION_INSTRUMENTS = 70,
INTIMIDATION = 71,
BERSERKING = 72,
- TAUNT = 73
+ TAUNT = 73,
+ TRADESKILL = 75
} SkillType;
#define HIGHEST_SKILL TAUNT
tradeskills.cpp
Code:
--- tradeskills.cpp_bak 2006-12-20 07:41:40.000000000 +0000
+++ tradeskills.cpp 2006-12-20 07:42:33.000000000 +0000
@@ -197,8 +197,8 @@
else
user->Message(13, "Only rogues can mix poisons.");
break;
- case 0x0D: //Quest Containers-Most use 1E but item 17111 uses this one, odd Still needs completion
- tradeskill = POTTERY;
+ case 13: //Quest Containers-Most use 1E but item 17111 uses this one, odd Still needs completion
+ tradeskill = TRADESKILL;
break;
case 46: //Fishing Still needs completion
tradeskill = FISHING;