175 lines
4.4 KiB
C++
175 lines
4.4 KiB
C++
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
|
// Copyright (C) 2010 Winch Gate Property Limited
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as
|
|
// published by the Free Software Foundation, either version 3 of the
|
|
// License, or (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
#ifndef RY_MISSION_DESC_H
|
|
#define RY_MISSION_DESC_H
|
|
|
|
#include "nel/misc/types_nl.h"
|
|
|
|
// Number of missions a player can take
|
|
const uint MAX_NUM_MISSIONS = 15;
|
|
|
|
// Number of mission tagret in a mission
|
|
const uint MAX_NUM_MISSION_TARGETS = 8;
|
|
|
|
namespace MISSION_DESC
|
|
{
|
|
enum TMissionType
|
|
{
|
|
Solo = 0,
|
|
Group,
|
|
Guild
|
|
};
|
|
|
|
enum TStepType
|
|
{
|
|
KillCreature = 0,
|
|
EndDynSteps = KillCreature,
|
|
Talk,
|
|
Target,
|
|
SkillProgress,
|
|
Craft,
|
|
Harvest,
|
|
BuyItem,
|
|
SellItem,
|
|
KillNpc,
|
|
GiveItem,
|
|
NbStepTypes,
|
|
};
|
|
enum TDifficulty
|
|
{
|
|
Easy = 0,
|
|
Medium,
|
|
Hard,
|
|
NbDifficulties
|
|
};
|
|
|
|
enum TLength
|
|
{
|
|
Short = 0,
|
|
Normal,
|
|
Long,
|
|
NbLength
|
|
};
|
|
|
|
enum TRewardType
|
|
{
|
|
Seeds = 0,
|
|
Sp,
|
|
ZCBuilding,
|
|
NbReward,
|
|
};
|
|
|
|
/** This enum describe the visual on client (for window title text for instance)
|
|
* You must change botchat_v4.xml
|
|
*/
|
|
enum TClientMissionType
|
|
{
|
|
Mission= 0, // Describe a standard mission
|
|
ZCRequirement, // A Guild Mission, requirement to take a ZC pacifically
|
|
BuildingRequirement, // A Guild Mission, requirement to
|
|
ZCCharge, // Fake Mission. Represent a ZC Charge acquiring
|
|
Building, // Fake Mission. Represent a Building acquiring
|
|
RMBuy, // Fake Mission. Represent a BotMaster buying
|
|
RMUpgrade, // Fake Mission. Represent a BotMaster upgrading
|
|
|
|
NumClientMissionType
|
|
};
|
|
|
|
/** This enum describe the visual on client. This is what filled in ICON Database field
|
|
* If you change this enum, you MUST also change <options type="mission_icons" name="mission_icons">
|
|
* in client config.xml.
|
|
* You must also change the IconToClientMissionType below
|
|
*/
|
|
enum TIconId
|
|
{
|
|
IconNone= 0,
|
|
IconMNCraft, // 01) BK_generic.tga ICO_Task_Craft.tga
|
|
IconMNFight, // 02) BK_generic.tga ICO_Task_Fight.tga
|
|
IconMNForage, // 03) BK_generic.tga ICO_Task_Forage.tga
|
|
IconMNTravel, // 04) BK_generic.tga ICO_Task_Travel.tga
|
|
IconMNGeneric, // 05) BK_generic.tga ICO_Task_Generic.tga
|
|
IconMNRite, // 06) BK_generic.tga ICO_Task_Rite.tga
|
|
IconMGGuild, // 07) BK_guild.tga ICO_Task_Guild.tga
|
|
IconMGCraft, // 08) BK_guild.tga ICO_Task_Craft.tga
|
|
IconMGFight, // 09) BK_guild.tga ICO_Task_Fight.tga
|
|
IconMGForage, // 10) BK_guild.tga ICO_Task_Forage.tga
|
|
IconMGTravel, // 11) BK_guild.tga ICO_Task_Travel.tga
|
|
IconZCCharge,
|
|
IconRMMagicBuy,
|
|
IconRMFightBuy,
|
|
IconRMCraftBuy,
|
|
IconRMMagicUpgrade,
|
|
IconRMFightUpgrade,
|
|
IconRMCraftUpgrade,
|
|
IconZCRequirement,
|
|
IconBuildingRequirement,
|
|
IconBuilding,
|
|
NumIcons
|
|
};
|
|
|
|
// For each IconId, gives the ClientMissionType
|
|
const TClientMissionType IconToClientMissionType[]=
|
|
{
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
Mission,
|
|
ZCCharge,
|
|
RMBuy,
|
|
RMBuy,
|
|
RMBuy,
|
|
RMUpgrade,
|
|
RMUpgrade,
|
|
RMUpgrade,
|
|
ZCRequirement,
|
|
BuildingRequirement,
|
|
Building
|
|
};
|
|
|
|
// The pre-requesit state of a mission (the client know why he can't do a mission)
|
|
enum TPreReqState
|
|
{
|
|
PreReqSuccess = 0,
|
|
PreReqFailAlreadyDone,
|
|
PreReqFail,
|
|
PreReqFailRunning
|
|
};
|
|
|
|
/// get the TClientMissionType according to TIconId. return Mission if error.
|
|
TClientMissionType getClientMissionType(TIconId iconId);
|
|
|
|
const std::string & toString(TStepType type);
|
|
TStepType toStepType( const std::string & str );
|
|
|
|
const std::string & toString(TRewardType type);
|
|
TRewardType toRewardType( const std::string & str );
|
|
}
|
|
|
|
|
|
#endif // RY_MISSION_DESC_H
|
|
|
|
/* End of mission_desc.h */
|