// Ryzom - MMORPG Framework // 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 . #include "stdpch.h" #include "nel/misc/debug.h" #include "nel/misc/common.h" #include "nel/misc/string_conversion.h" #include "mode_and_behaviour.h" using namespace std; namespace NLMISC { std::string toString ( const MBEHAV::CBehaviour &b) { return MBEHAV::behaviourToString( b.Behaviour ) + " " + NLMISC::toString(b.Data); } }; namespace MBEHAV { // // Modes // NL_BEGIN_STRING_CONVERSION_TABLE (EMode) NL_STRING_CONVERSION_TABLE_ENTRY (UNKNOWN_MODE) NL_STRING_CONVERSION_TABLE_ENTRY (NORMAL) NL_STRING_CONVERSION_TABLE_ENTRY (COMBAT_FLOAT) NL_STRING_CONVERSION_TABLE_ENTRY (COMBAT) NL_STRING_CONVERSION_TABLE_ENTRY (SWIM) NL_STRING_CONVERSION_TABLE_ENTRY (SIT) NL_STRING_CONVERSION_TABLE_ENTRY (MOUNT_NORMAL) NL_STRING_CONVERSION_TABLE_ENTRY (MOUNT_SWIM) NL_STRING_CONVERSION_TABLE_ENTRY (EAT) NL_STRING_CONVERSION_TABLE_ENTRY (REST) NL_STRING_CONVERSION_TABLE_ENTRY (ALERT) NL_STRING_CONVERSION_TABLE_ENTRY (HUNGRY) //NL_STRING_CONVERSION_TABLE_ENTRY (RESURECTED) NL_STRING_CONVERSION_TABLE_ENTRY (DEATH) NL_STRING_CONVERSION_TABLE_ENTRY (SWIM_DEATH) //NL_STRING_CONVERSION_TABLE_ENTRY (PERMANENT_DEATH) //NL_STRING_CONVERSION_TABLE_ENTRY (TELEPORT) NL_END_STRING_CONVERSION_TABLE(EMode, ModeConversion, UNKNOWN_MODE) // // Behaviours // NL_BEGIN_STRING_CONVERSION_TABLE (EBehaviour) NL_STRING_CONVERSION_TABLE_ENTRY (UNKNOWN_BEHAVIOUR) // init Behaviours NL_STRING_CONVERSION_TABLE_ENTRY (IDLE) NL_STRING_CONVERSION_TABLE_ENTRY (STUNNED) NL_STRING_CONVERSION_TABLE_ENTRY (STUN_END) // Actions with tools or trade skills NL_STRING_CONVERSION_TABLE_ENTRY (LOOT_INIT) NL_STRING_CONVERSION_TABLE_ENTRY (LOOT_END) NL_STRING_CONVERSION_TABLE_ENTRY (PROSPECTING) NL_STRING_CONVERSION_TABLE_ENTRY (PROSPECTING_END) NL_STRING_CONVERSION_TABLE_ENTRY (EXTRACTING) NL_STRING_CONVERSION_TABLE_ENTRY (EXTRACTING_END) NL_STRING_CONVERSION_TABLE_ENTRY (CARE) NL_STRING_CONVERSION_TABLE_ENTRY (CARE_END) NL_STRING_CONVERSION_TABLE_ENTRY (HARVESTING) NL_STRING_CONVERSION_TABLE_ENTRY (HARVESTING_END) NL_STRING_CONVERSION_TABLE_ENTRY (FABER) NL_STRING_CONVERSION_TABLE_ENTRY (FABER_END) NL_STRING_CONVERSION_TABLE_ENTRY (REPAIR) NL_STRING_CONVERSION_TABLE_ENTRY (REPAIR_END) NL_STRING_CONVERSION_TABLE_ENTRY (REFINE) NL_STRING_CONVERSION_TABLE_ENTRY (REFINE_END) NL_STRING_CONVERSION_TABLE_ENTRY (TRAINING) NL_STRING_CONVERSION_TABLE_ENTRY (TRAINING_END) //---- SPELL CASTING ------// NL_STRING_CONVERSION_TABLE_ENTRY (CAST_OFF) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_CUR) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_MIX) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_ACID) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_BLIND) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_COLD) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_ELEC) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_FEAR) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_FIRE) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_HEALHP) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_MAD) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_POISON) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_ROOT) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_ROT) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_SHOCK) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_SLEEP) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_SLOW) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_STUN) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_OFF_FAIL) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_OFF_FUMBLE) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_OFF_SUCCESS) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_OFF_LINK) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_CUR_FAIL) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_CUR_FUMBLE) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_CUR_SUCCESS) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_CUR_LINK) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_MIX_FAIL) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_MIX_FUMBLE) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_MIX_SUCCESS) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_MIX_LINK) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_FAIL) NL_STRING_CONVERSION_TABLE_ENTRY (CAST_SUCCESS) //-------------------------// //--------- COMBAT---------// NL_STRING_CONVERSION_TABLE_ENTRY (DEFAULT_ATTACK) NL_STRING_CONVERSION_TABLE_ENTRY (POWERFUL_ATTACK) NL_STRING_CONVERSION_TABLE_ENTRY (AREA_ATTACK) NL_STRING_CONVERSION_TABLE_ENTRY (RANGE_ATTACK) // Combat creature NL_STRING_CONVERSION_TABLE_ENTRY (CREATURE_ATTACK_0) NL_STRING_CONVERSION_TABLE_ENTRY (CREATURE_ATTACK_1) NL_END_STRING_CONVERSION_TABLE(EBehaviour, BehaviourConversion, UNKNOWN_BEHAVIOUR) // conversion between mode and string EMode stringToMode (const std::string &str) { return ModeConversion.fromString(str); } const string & modeToString (EMode mode) { return ModeConversion.toString(mode); } // conversion between behaviour and string EBehaviour stringToBehaviour (const std::string &str) { return BehaviourConversion.fromString(str); } const std::string & behaviourToString (EBehaviour behav) { return BehaviourConversion.toString(behav); } //----------------------------------------------- // initMap : //----------------------------------------------- void initMap() { //--------- EMOTE ----------// for(uint i = EMOTE_BEGIN; i