EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Server Code Submissions (https://www.eqemulator.org/forums/forumdisplay.php?f=669)
-   -   COMMITTED: quest::LearnRecipe (https://www.eqemulator.org/forums/showthread.php?t=32615)

Leere 12-03-2010 01:38 PM

COMMITTED: quest::LearnRecipe
 
Makes LearnRecipe accessible for the initiating $client via quest::LearnRecipe.

Code:

Index: zone/perlparser.cpp
===================================================================
--- zone/perlparser.cpp    (revision 1754)
+++ zone/perlparser.cpp    (working copy)
@@ -3072,7 +3072,21 @@
    XSRETURN_EMPTY;
 }
 
+XS(XS__LearnRecipe);
+XS(XS__LearnRecipe)
+{
+    dXSARGS;
+    if (items != 1)
+        Perl_croak(aTHX_ "Usage: LearnRecipe(recipe_id)");
 
+    uint32 recipe_id = (uint32)SvIV(ST(0));
+
+    quest_manager.LearnRecipe(recipe_id);
+
+    XSRETURN_EMPTY;
+}
+
+
 /*
 This is the callback perl will look for to setup the
 quest package's XSUBs
@@ -3272,6 +3286,7 @@
        newXS(strcpy(buf, "removetitle"), XS__removetitle, file);
        newXS(strcpy(buf, "wearchange"), XS__wearchange, file);
        newXS(strcpy(buf, "voicetell"), XS__voicetell, file);
+        newXS(strcpy(buf, "LearnRecipe"), XS__LearnRecipe, file);
    XSRETURN_YES;
 }

Code:

Index: zone/questmgr.cpp
===================================================================
--- zone/questmgr.cpp    (revision 1754)
+++ zone/questmgr.cpp    (working copy)
@@ -2428,6 +2428,12 @@
    initiator->RemoveTitle(titleset);
 }
 
+void QuestManager::LearnRecipe(uint32 recipe_id) {
+    if(!initiator)
+        return;
+    initiator->LearnRecipe(recipe_id);
+}
+
 void QuestManager::wearchange(int8 slot, int16 texture)
 {
    if(owner){

Code:

Index: zone/questmgr.h
===================================================================
--- zone/questmgr.h    (revision 1754)
+++ zone/questmgr.h    (working copy)
@@ -190,6 +190,7 @@
    void enabletitle(int titleset);
        bool checktitle(int titlecheck);
        void removetitle(int titlecheck);
+    void LearnRecipe(uint32 recipe_id);
 
    int16 CreateGroundObject(int32 itemid, float x, float y, float z, float heading, int32 decay_time = 300000);
    int16 CreateGroundObjectFromModel(const char* model, float x, float y, float z, float heading, int8 type = 0x00, int32 decay_time = 0);


joligario 01-13-2011 12:32 PM

Committed in r1818.


All times are GMT -4. The time now is 07:15 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.