This might be considered authentic verant. I turned in jboots and got a bronze claymore. Dah. :P
Rewards snippet -- replace the obvious below with this update. Also may need
client_process.cpp
Code:
if (tmp->IsNPC()) {
if (TradeList[0]==tmp->CastToNPC()->GetItemRequested()) {
this->Message(MT_Say, "%s says, 'Thank you for your hard work!'", tmp->GetName());
if (tmp->CastToNPC()->GetMaster() !=0)
this->Message(MT_Say, "%s says, 'I'm sure %s will look kindly upon this act'", tmp->GetName(), entity_list.RemoveNumbers(tmp->CastToNPC()->GetMaster()));
uint32 somenum=rand()%32531;
Item_Struct* award_item = database.GetItem(somenum);
if (award_item->name!=0) {
this->Message(MT_Emote, "%s opens a small box and hands you a %s'", tmp->GetName(), award_item->name);
this->Message(MT_Say, "%s says, 'I hope you enjoy it!'", tmp->GetName());
this->PutItemInInventory(0,award_item);
} else {
this->Message(MT_Say, "%s says, 'I haven't anything spare, but maybe you'll have learned something.'", tmp->GetName());
this->AddEXP(somenum*10);
}
} else {
this->Message(MT_Emotey, "%s looks oddly at what you just handed them.'", tmp->GetName());
}
CheckQuests(zone->GetShortName(), "%%item%%", tmp->CastToNPC()->GetNPCTypeID(), TradeList[0]);
}
npc.cpp::process
Code:
if (this->MerchantType>0)
if (rand()%650==2){
uint32 someitem = rand()%32531;
Item_Struct* item = database.GetItem(someitem);
if (item->name!=0)
if (rand()%2==0) {
entity_list.Message(0,MT_Auction, "%s auctions, 'WTS %s'", GetName(), item->name);
} else {
this->SetItemRequested(someitem);
entity_list.Message(0,MT_Auction, "%s auctions, 'WTT %s'", GetName(), item->name);
}
//else WTB
}