Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

/home/groups/n/no/noxwizard/cvs/src/trigger.h

Go to the documentation of this file.
00001   /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
00002     || NoX-Wizard UO Server Emulator (NXW) [http://noxwizard.sourceforge.net]  ||
00003     ||                                                                         ||
00004     || This software is free software released under GPL2 license.             ||
00005     || You can find detailed license information in nox-wizard.cpp file.       ||
00006     ||                                                                         ||
00007     || For any question post to NoX-Wizard forums.                             ||
00008     -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
00009 
00010 #ifndef __TRIGGER_H__
00011 #define __TRIGGER_H__
00012 
00013 #include "scp_parser.h"
00014 
00015 class cTriggerContext
00016 {
00017                 char m_szFailMsg[50];
00018                 char m_szDisableMsg[50];
00019                 int m_nColor1, m_nColor2;
00020 
00021                 int m_nTriggerType;
00022 
00023                 NXWSOCKET  m_socket;
00024                 P_ITEM m_pi;
00025                 P_ITEM m_piEnvoked; 
00026                 P_ITEM m_piAdded; 
00027                 P_ITEM m_piNeededItem;
00028                 P_CHAR m_pcNpc;
00029                 P_CHAR m_pcCurrChar;
00030                 P_CHAR m_pcAdded;
00031                 bool m_bStop;
00032                 int m_nNumber;
00033                 cScpIterator* m_iter;
00034 
00035                 void parseIfCommand(char* cmd, char* par, int comparevalue);
00036                 void parseIAddCommand(char* par);
00037                 void parseMaxDurCommand(P_ITEM pi, char* par);
00038                 void parseDurCommand(P_ITEM pi, char* par);
00039                 void parseLine(char* cmd, char* par);
00040                 void init(int number, NXWSOCKET  s, int trigtype, UI16 id = 0);
00041                 void checkPtrsValidity();
00042 
00043         public:
00044                 cTriggerContext(int number, NXWSOCKET  s, P_ITEM itm, int trigtype);
00045                 cTriggerContext(int number, NXWSOCKET  s, P_CHAR itm, int trigtype);
00046                 ~cTriggerContext();
00047                 void exec();
00048 };
00049 
00050 //Trigger routines
00051 void triggernpc(NXWSOCKET  ts,int ti, int ttype);  // trigger.cpp --- Changed by Magius(CHE) §
00052 bool checkenvoke( UI16 eid );
00053 
00054 #define TRIGTYPE_DBLCLICK 1
00055 #define TRIGTYPE_WALKOVER 2
00056 #define TRIGTYPE_NPCWORD 3
00057 #define TRIGTYPE_NPCTARG 4
00058 #define TRIGTYPE_ENVOKED 64
00059 #define TRIGTYPE_NPCENVOKED 65
00060 #define TRIGTYPE_TARGET 128
00061 
00063 
00066 void triggerItem(NXWSOCKET ts, P_ITEM pi, int eventType);
00067 void triggerNpc(NXWSOCKET ts, P_CHAR pc, int eventType);
00068 void triggerTile(NXWSOCKET ts);
00070 
00071 extern bool g_bStepInTriggers;
00072 
00073 #endif //__TRIGGER_H__
SourceForge.net Logo