Merge with develop
--HG-- branch : compatibility-develop
This commit is contained in:
commit
a2ba342e06
15 changed files with 197 additions and 150 deletions
|
@ -125,6 +125,9 @@ namespace NLGUI
|
|||
void setValue(const char *key, bool value) throw(ELuaNotATable);
|
||||
void setValue(const char *key, TLuaWrappedFunction value) throw(ELuaNotATable);
|
||||
void setValue(const char *key, double value) throw(ELuaNotATable);
|
||||
void setValue(const char *key, uint32 value) throw(ELuaNotATable);
|
||||
void setValue(const char *key, sint32 value) throw(ELuaNotATable);
|
||||
void setValue(const char *key, sint64 value) throw(ELuaNotATable);
|
||||
void setValue(const std::string &key, const std::string &value) throw(ELuaNotATable) { setValue(key.c_str(), value); }
|
||||
void setNil(const char *key) throw(ELuaNotATable);
|
||||
void setNil(const std::string &key) throw(ELuaNotATable) { setNil(key.c_str()); }
|
||||
|
|
|
@ -389,6 +389,48 @@ namespace NLGUI
|
|||
_LuaState->pop();
|
||||
}
|
||||
|
||||
// *************************************************
|
||||
void CLuaObject::setValue(const char *key, uint32 value) throw(ELuaNotATable)
|
||||
{
|
||||
nlassert(key);
|
||||
nlassert(isValid());
|
||||
if (!isTable()) throw ELuaNotATable(NLMISC::toString("Trying to set a value '%u' at key %s on object '%s' of type %s (not a table).", value, key, getId().c_str(), getTypename()));
|
||||
CLuaStackChecker lsc(_LuaState);
|
||||
push();
|
||||
_LuaState->push(key);
|
||||
_LuaState->push(value);
|
||||
_LuaState->setTable(-3);
|
||||
_LuaState->pop();
|
||||
}
|
||||
|
||||
// *************************************************
|
||||
void CLuaObject::setValue(const char *key, sint32 value) throw(ELuaNotATable)
|
||||
{
|
||||
nlassert(key);
|
||||
nlassert(isValid());
|
||||
if (!isTable()) throw ELuaNotATable(NLMISC::toString("Trying to set a value '%d' at key %s on object '%s' of type %s (not a table).", value, key, getId().c_str(), getTypename()));
|
||||
CLuaStackChecker lsc(_LuaState);
|
||||
push();
|
||||
_LuaState->push(key);
|
||||
_LuaState->push(value);
|
||||
_LuaState->setTable(-3);
|
||||
_LuaState->pop();
|
||||
}
|
||||
|
||||
// *************************************************
|
||||
void CLuaObject::setValue(const char *key, sint64 value) throw(ELuaNotATable)
|
||||
{
|
||||
nlassert(key);
|
||||
nlassert(isValid());
|
||||
if (!isTable()) throw ELuaNotATable(NLMISC::toString("Trying to set a value '%d"NL_I64"' at key %s on object '%s' of type %s (not a table).", value, key, getId().c_str(), getTypename()));
|
||||
CLuaStackChecker lsc(_LuaState);
|
||||
push();
|
||||
_LuaState->push(key);
|
||||
_LuaState->push(value);
|
||||
_LuaState->setTable(-3);
|
||||
_LuaState->pop();
|
||||
}
|
||||
|
||||
// *************************************************
|
||||
void CLuaObject::eraseValue(const char *key) throw(ELuaNotATable)
|
||||
{
|
||||
|
|
|
@ -114,7 +114,7 @@ void *CCallbackNetBase::getUserData()
|
|||
*/
|
||||
void CCallbackNetBase::addCallbackArray (const TCallbackItem *callbackarray, sint arraysize)
|
||||
{
|
||||
if (arraysize == 1 && callbackarray[0].Callback == NULL && string("") == callbackarray[0].Key)
|
||||
if (arraysize == 1 && callbackarray[0].Callback == NULL && strlen(callbackarray[0].Key) == 0)
|
||||
{
|
||||
// it's an empty array, ignore it
|
||||
return;
|
||||
|
|
|
@ -752,7 +752,7 @@ sint32 NLPACS::CGlobalRetriever::getIdentifier(const string &id) const
|
|||
|
||||
const string &NLPACS::CGlobalRetriever::getIdentifier(const NLPACS::UGlobalPosition &position) const
|
||||
{
|
||||
static const string nullString = string("");
|
||||
static const string nullString;
|
||||
|
||||
if (position.InstanceId == -1)
|
||||
return nullString;
|
||||
|
|
|
@ -2682,7 +2682,7 @@ class CAHScenarioControl : public IActionHandler
|
|||
// init current scenario name and parameters
|
||||
if(!R2::getEditor().isInitialized())
|
||||
{
|
||||
ScenarioFileName = string("");
|
||||
ScenarioFileName.clear();
|
||||
|
||||
// empty scenario
|
||||
CInterfaceElement *result = scenarioWnd->findFromShortId(string("scenario_value_text"));
|
||||
|
@ -2950,7 +2950,7 @@ class CAHLoadScenario : public IActionHandler
|
|||
}
|
||||
|
||||
// description
|
||||
string description = string("");
|
||||
string description;
|
||||
result = scenarioWnd->findFromShortId(string("edit_small_description"));
|
||||
if(result)
|
||||
{
|
||||
|
|
|
@ -572,7 +572,7 @@ void checkUnderCursor()
|
|||
selectedInstance.getMaterial(j).setShininess( 10.0f );
|
||||
}
|
||||
selectedInstance = noSelectedInstance;
|
||||
selectedInstanceURL = string("");
|
||||
selectedInstanceURL.clear();
|
||||
}
|
||||
}
|
||||
SlotUnderCursor = CLFECOMMON::INVALID_SLOT;
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "user_entity.h"
|
||||
#include "view.h"
|
||||
#include "login.h"
|
||||
#include "game_share/ryzom_version.h"
|
||||
#include "user_agent.h"
|
||||
#include "interface_v3/interface_manager.h"
|
||||
#include "interface_v3/sphrase_manager.h"
|
||||
#include "entities.h"
|
||||
|
@ -526,7 +526,7 @@ string getDebugInformation()
|
|||
str += toString("ConnectState: %s\n", NetMngr.getConnectionStateCStr());
|
||||
str += toString("LocalAddress: %s\n", NetMngr.getAddress().asString().c_str());
|
||||
str += toString("Language: %s\n", CI18N::getCurrentLanguageName().toString().c_str());
|
||||
str += toString("ClientVersion: "RYZOM_VERSION"\n");
|
||||
str += toString("ClientVersion: %s\n", getDebugVersion().c_str());
|
||||
if (ClientCfg.R2Mode)
|
||||
{
|
||||
str += toString("PatchVersion: %s\n", R2ServerVersion.c_str());
|
||||
|
|
|
@ -1427,7 +1427,7 @@ int CLuaIHMRyzom::getClientCfgVar(CLuaState &ls)
|
|||
}
|
||||
for(uint i = 0; i<v->IntValues.size(); i++)
|
||||
{
|
||||
result.setValue(toString(count).c_str(), (double)v->IntValues[i]);
|
||||
result.setValue(toString(count).c_str(), (sint32)v->IntValues[i]);
|
||||
count++;
|
||||
}
|
||||
for(uint i = 0; i<v->RealValues.size(); i++)
|
||||
|
@ -1752,10 +1752,10 @@ int CLuaIHMRyzom::getCompleteIslands(CLuaState &ls)
|
|||
ls.newTable();
|
||||
CLuaObject islandTable(ls);
|
||||
islandTable.setValue("continent", island->Continent);
|
||||
islandTable.setValue("xmin", (double)island->XMin);
|
||||
islandTable.setValue("ymin", (double)island->YMin);
|
||||
islandTable.setValue("xmax", (double)island->XMax);
|
||||
islandTable.setValue("ymax", (double)island->YMax);
|
||||
islandTable.setValue("xmin", island->XMin);
|
||||
islandTable.setValue("ymin", island->YMin);
|
||||
islandTable.setValue("xmax", island->XMax);
|
||||
islandTable.setValue("ymax", island->YMax);
|
||||
|
||||
ls.newTable();
|
||||
CLuaObject entrypointsTable(ls);
|
||||
|
@ -1765,8 +1765,8 @@ int CLuaIHMRyzom::getCompleteIslands(CLuaState &ls)
|
|||
const CScenarioEntryPoints::CShortEntryPoint & entryPoint = island->EntryPoints[e];
|
||||
ls.newTable();
|
||||
CLuaObject entrypointTable(ls);
|
||||
entrypointTable.setValue("x", (double)entryPoint.X);
|
||||
entrypointTable.setValue("y", (double)entryPoint.Y);
|
||||
entrypointTable.setValue("x", entryPoint.X);
|
||||
entrypointTable.setValue("y", entryPoint.Y);
|
||||
|
||||
entrypointsTable.setValue(entryPoint.Location, entrypointTable);
|
||||
}
|
||||
|
|
|
@ -2469,7 +2469,7 @@ class CAHCreateAccountRules : public IActionHandler
|
|||
if(Params==rules[i])
|
||||
{
|
||||
if(rulesGr)
|
||||
rulesGr->setActive(text->getText() != ucstring(""));
|
||||
rulesGr->setActive(!text->getText().empty());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -968,7 +968,7 @@ void CDisplayerVisualEntity::updateName()
|
|||
ucName = CI18N::get("uiR2EDNoName");
|
||||
}
|
||||
|
||||
std::string actName=std::string("");
|
||||
std::string actName;
|
||||
|
||||
// If entity is in an additionnal act, then postfix its name with the name of the act
|
||||
if (getDisplayedInstance()->getParentAct() != getEditor().getBaseAct())
|
||||
|
|
|
@ -65,6 +65,7 @@ void CSessionBrowserImpl::init(CLuaState *ls)
|
|||
game.setValue("checkRingAccess", luaCheckRingAccess);
|
||||
game.setValue("getFileHeader", luaGetFileHeader);
|
||||
}
|
||||
|
||||
if (!ClientCfg.Local)
|
||||
{
|
||||
CSessionBrowserImpl::getInstance().setAuthInfo(getCookie());
|
||||
|
@ -76,8 +77,8 @@ void CSessionBrowserImpl::init(CLuaState *ls)
|
|||
_LastAuthorRating = 0;
|
||||
_LastAMRating = 0;
|
||||
_LastMasterlessRating = 0;
|
||||
_LastRingPoints = string("");
|
||||
_LastMaxRingPoints = string("");
|
||||
_LastRingPoints.clear();
|
||||
_LastMaxRingPoints.clear();
|
||||
}
|
||||
|
||||
|
||||
|
@ -373,34 +374,36 @@ void CSessionBrowserImpl::fill(const std::vector <RSMGR::TSessionDesc > &session
|
|||
const RSMGR::TSessionDesc &sd = sessions[k];
|
||||
_Lua->newTable();
|
||||
CLuaObject session(*_Lua);
|
||||
session.setValue("Id", (double) sd.getSessionId().asInt());
|
||||
session.setValue("Owner", sd.getOwnerName());
|
||||
session.setValue("Title", sd.getTitle());
|
||||
session.setValue("Desc", sd.getDescription());
|
||||
session.setValue("Level", (double) sd.getSessionLevel().getValue());
|
||||
session.setValue("Language", sd.getLanguage());
|
||||
session.setValue("Id", sd.getSessionId().asInt());
|
||||
session.setValue("Owner", sd.getOwnerName());
|
||||
session.setValue("Title", sd.getTitle());
|
||||
session.setValue("Desc", sd.getDescription());
|
||||
session.setValue("Level", (uint32) sd.getSessionLevel().getValue());
|
||||
session.setValue("Language", sd.getLanguage());
|
||||
|
||||
uint flags = (sd.getAnimMode().getValue() == RSMGR::TAnimMode::am_dm ? (uint) 1 : 0) |
|
||||
(sd.getRequesterCharInvited() ? (uint) 2 : 0);
|
||||
if(sd.getRequesterCharKicked())
|
||||
flags = (uint) 4;
|
||||
session.setValue("Flags", (double) flags);
|
||||
session.setValue("PlayerCount", (double) sd.getNbConnectedPlayer());
|
||||
session.setValue("AllowFreeTrial", (double) sd.getAllowFreeTrial());
|
||||
|
||||
session.setValue("NbRating", (double) sd.getNbRating());
|
||||
session.setValue("RateFun", (double) sd.getRateFun());
|
||||
session.setValue("RateDifficulty", (double) sd.getRateDifficulty());
|
||||
session.setValue("RateAccessibility", (double) sd.getRateAccessibility());
|
||||
session.setValue("RateOriginality", (double) sd.getRateOriginality());
|
||||
session.setValue("RateDirection", (double) sd.getRateDirection());
|
||||
session.setValue("Flags", flags);
|
||||
session.setValue("PlayerCount", sd.getNbConnectedPlayer());
|
||||
session.setValue("AllowFreeTrial", sd.getAllowFreeTrial());
|
||||
|
||||
session.setValue("ScenarioRRPTotal", (double) sd.getScenarioRRPTotal());
|
||||
session.setValue("NbRating", sd.getNbRating());
|
||||
session.setValue("RateFun", sd.getRateFun());
|
||||
session.setValue("RateDifficulty", sd.getRateDifficulty());
|
||||
session.setValue("RateAccessibility", sd.getRateAccessibility());
|
||||
session.setValue("RateOriginality", sd.getRateOriginality());
|
||||
session.setValue("RateDirection", sd.getRateDirection());
|
||||
|
||||
session.setValue("AuthorRating", (double) _LastAuthorRating);
|
||||
session.setValue("ScenarioRRPTotal", sd.getScenarioRRPTotal());
|
||||
|
||||
session.setValue("AuthorRating", _LastAuthorRating);
|
||||
if(sd.getAnimMode().getValue() == RSMGR::TAnimMode::am_dm)
|
||||
session.setValue("OwnerRating", (double) _LastAMRating);
|
||||
session.setValue("OwnerRating", _LastAMRating);
|
||||
else
|
||||
session.setValue("OwnerRating", (double) _LastMasterlessRating);
|
||||
session.setValue("OwnerRating", _LastMasterlessRating);
|
||||
|
||||
// calculate the difference between local time and gmt
|
||||
time_t rawtime;
|
||||
|
@ -418,9 +421,9 @@ void CSessionBrowserImpl::fill(const std::vector <RSMGR::TSessionDesc > &session
|
|||
|
||||
// convert GMT time value from server to local time
|
||||
time_t adjustedTime= sd.getLaunchDate() + localTime - gmtTime;
|
||||
session.setValue("LaunchDate", (double) adjustedTime);
|
||||
session.setValue("LaunchDate", (sint64)adjustedTime);
|
||||
|
||||
session.setValue("ScenarioType", (double) sd.getOrientation().getValue());
|
||||
session.setValue("ScenarioType", (uint32)sd.getOrientation().getValue());
|
||||
session.push();
|
||||
_Lua->rawSetI(-2, k +1); // set in session list
|
||||
}
|
||||
|
@ -442,12 +445,12 @@ void CSessionBrowserImpl::playerRatingFill(bool scenarioRated, uint32 rateFun, u
|
|||
_Lua->newTable();
|
||||
CLuaObject scores(*_Lua);
|
||||
|
||||
scores.setValue("ScenarioRated", (double) scenarioRated);
|
||||
scores.setValue("RateFun", (double) rateFun);
|
||||
scores.setValue("RateDifficulty", (double) rateDifficulty);
|
||||
scores.setValue("RateAccessibility", (double) rateAccessibility);
|
||||
scores.setValue("RateOriginality", (double) rateOriginality);
|
||||
scores.setValue("RateDirection", (double) rateDirection);
|
||||
scores.setValue("ScenarioRated", scenarioRated);
|
||||
scores.setValue("RateFun", rateFun);
|
||||
scores.setValue("RateDifficulty", rateDifficulty);
|
||||
scores.setValue("RateAccessibility", rateAccessibility);
|
||||
scores.setValue("RateOriginality", rateOriginality);
|
||||
scores.setValue("RateDirection", rateDirection);
|
||||
|
||||
scores.push();
|
||||
|
||||
|
@ -469,13 +472,13 @@ void CSessionBrowserImpl::averageScoresFill(bool scenarioRated, uint32 rateFun,
|
|||
_Lua->newTable();
|
||||
CLuaObject scores(*_Lua);
|
||||
|
||||
scores.setValue("ScenarioRated", (double) scenarioRated);
|
||||
scores.setValue("RateFun", (double) rateFun);
|
||||
scores.setValue("RateDifficulty", (double) rateDifficulty);
|
||||
scores.setValue("RateAccessibility", (double) rateAccessibility);
|
||||
scores.setValue("RateOriginality", (double) rateOriginality);
|
||||
scores.setValue("RateDirection", (double) rateDirection);
|
||||
scores.setValue("RRPTotal", (double) rrpTotal);
|
||||
scores.setValue("ScenarioRated", scenarioRated);
|
||||
scores.setValue("RateFun", rateFun);
|
||||
scores.setValue("RateDifficulty", rateDifficulty);
|
||||
scores.setValue("RateAccessibility", rateAccessibility);
|
||||
scores.setValue("RateOriginality", rateOriginality);
|
||||
scores.setValue("RateDirection", rateDirection);
|
||||
scores.setValue("RRPTotal", rrpTotal);
|
||||
|
||||
scores.push();
|
||||
|
||||
|
@ -560,13 +563,13 @@ void CSessionBrowserImpl::on_scenarioAverageScores(NLNET::TSockId /* from */, bo
|
|||
_Lua->newTable();
|
||||
CLuaObject scores(*_Lua);
|
||||
|
||||
scores.setValue("ScenarioRated", (double) scenarioRated);
|
||||
scores.setValue("RateFun", (double) rateFun);
|
||||
scores.setValue("RateDifficulty", (double) rateDifficulty);
|
||||
scores.setValue("RateAccessibility", (double) rateAccessibility);
|
||||
scores.setValue("RateOriginality", (double) rateOriginality);
|
||||
scores.setValue("RateDirection", (double) rateDirection);
|
||||
scores.setValue("RRPTotal", (double) rrpTotal);
|
||||
scores.setValue("ScenarioRated", scenarioRated);
|
||||
scores.setValue("RateFun", rateFun);
|
||||
scores.setValue("RateDifficulty", rateDifficulty);
|
||||
scores.setValue("RateAccessibility", rateAccessibility);
|
||||
scores.setValue("RateOriginality", rateOriginality);
|
||||
scores.setValue("RateDirection", rateDirection);
|
||||
scores.setValue("RRPTotal", rrpTotal);
|
||||
|
||||
scores.push();
|
||||
|
||||
|
@ -612,11 +615,11 @@ void CSessionBrowserImpl::charsFill(const std::vector <RSMGR::TCharDesc > &chars
|
|||
{
|
||||
_Lua->newTable();
|
||||
CLuaObject luaChar(*_Lua);
|
||||
luaChar.setValue("Id", (double) cd.getCharId());
|
||||
luaChar.setValue("Id", cd.getCharId());
|
||||
luaChar.setValue("Char", cd.getCharName());
|
||||
luaChar.setValue("Guild", cd.getGuildName());
|
||||
luaChar.setValue("Race", (double) cd.getRace().getValue());
|
||||
luaChar.setValue("Religion", (double) cd.getCult().getValue());
|
||||
luaChar.setValue("Race", (uint32) cd.getRace().getValue());
|
||||
luaChar.setValue("Religion", (uint32) cd.getCult().getValue());
|
||||
|
||||
string shardName = toString(cd.getShardId());
|
||||
for(uint l = 0; l < Mainlands.size(); ++l)
|
||||
|
@ -630,7 +633,7 @@ void CSessionBrowserImpl::charsFill(const std::vector <RSMGR::TCharDesc > &chars
|
|||
|
||||
luaChar.setValue("Shard", shardName);
|
||||
// note: we do 'level-1' because the TSessionLevel enum starts at 1
|
||||
luaChar.setValue("Level", (double) (cd.getLevel().getValue()-1));
|
||||
luaChar.setValue("Level", (uint32) (cd.getLevel().getValue()-1));
|
||||
/*
|
||||
uint32 flags = 0;
|
||||
if (cd.getConnected()) { flags += 1; }
|
||||
|
@ -639,7 +642,7 @@ void CSessionBrowserImpl::charsFill(const std::vector <RSMGR::TCharDesc > &chars
|
|||
uint32 flags = cd.getConnected();
|
||||
if (cd.getKicked()){ flags = 2; }
|
||||
|
||||
luaChar.setValue("Flags", (double) flags);
|
||||
luaChar.setValue("Flags", flags);
|
||||
luaChar.push();
|
||||
_Lua->rawSetI(-2, k +1); // set in chars list
|
||||
}
|
||||
|
@ -655,14 +658,14 @@ void CSessionBrowserImpl::charsFill(const std::vector <RSMGR::TCharDesc > &chars
|
|||
|
||||
// ****************************************************************************
|
||||
|
||||
inline double ecoRingPoints(const std::string & ecoPoints, const char * c)
|
||||
inline uint32 ecoRingPoints(const std::string & ecoPoints, const char * c)
|
||||
{
|
||||
std::string::size_type cPlace = ecoPoints.find(c);
|
||||
if(cPlace==string::npos)
|
||||
return 0;
|
||||
std::string::size_type sepPlace = ecoPoints.find(":", cPlace);
|
||||
std::string points = ecoPoints.substr(cPlace+1, sepPlace);
|
||||
double ret;
|
||||
uint32 ret;
|
||||
fromString(points, ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -678,9 +681,9 @@ void CSessionBrowserImpl::ringStatsFill()
|
|||
|
||||
CLuaObject luaRingPoints(*_Lua);
|
||||
|
||||
luaRingPoints.setValue("AuthorRating", (double) _LastAuthorRating);
|
||||
luaRingPoints.setValue("AMRating", (double) _LastAMRating);
|
||||
luaRingPoints.setValue("MasterlessRating", (double) _LastMasterlessRating);
|
||||
luaRingPoints.setValue("AuthorRating", _LastAuthorRating);
|
||||
luaRingPoints.setValue("AMRating", _LastAMRating);
|
||||
luaRingPoints.setValue("MasterlessRating", _LastMasterlessRating);
|
||||
|
||||
luaRingPoints.setValue("MaxBasicRingPoints", ecoRingPoints(_LastMaxRingPoints, "A"));
|
||||
luaRingPoints.setValue("BasicRingPoints", ecoRingPoints(_LastRingPoints, "A"));
|
||||
|
|
|
@ -479,7 +479,7 @@ public:
|
|||
|
||||
ucstring getLoginName()
|
||||
{
|
||||
if (_LoginName == ucstring(""))
|
||||
if (_LoginName.empty())
|
||||
_LoginName = getDisplayName();
|
||||
|
||||
return _LoginName;
|
||||
|
|
|
@ -856,11 +856,10 @@ bool CObjectNumber::equal(const CObject* other) const
|
|||
//H_AUTO(R2_CObjectNumber_equal)
|
||||
if (!other || !other->isNumber()) return false;
|
||||
double otherValue = other->toNumber();
|
||||
if (_Value == otherValue ) return true;
|
||||
/*
|
||||
TODO: fabs + epsilon trick
|
||||
*/
|
||||
return false;
|
||||
if (_Value == otherValue) return true;
|
||||
|
||||
// if difference between 2 values less than epsilon, we consider they are equals
|
||||
return fabs(_Value - otherValue) <= std::numeric_limits<double>::epsilon();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -372,7 +372,7 @@ void CScenarioEntryPoints::loadFromXMLFile()
|
|||
|
||||
//entry points and package
|
||||
TShortEntryPoints entryPoints;
|
||||
std::string package = std::string("");
|
||||
std::string package;
|
||||
for(uint e=0; e<_EntryPoints.size(); e++)
|
||||
{
|
||||
const CEntryPoint & entryPoint = _EntryPoints[e];
|
||||
|
|
|
@ -9985,36 +9985,36 @@ uittKeepInfo [Conserver l'info dans cette fenêtre.]
|
|||
// HASH_VALUE 45FB9FEFF875C517
|
||||
// INDEX 2420
|
||||
uihelpItemMagicBonusAll [@{FFF9}Bonus pour Magie :\n
|
||||
@{T3}Vitesse du Sort :@{T14}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T14}@{FFFF}%mp%\n
|
||||
@{T3}Vitesse du Sort :@{T19}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T19}@{FFFF}%mp%\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 2FB33DD3AB8213E8
|
||||
// INDEX 2421
|
||||
uihelpItemMagicBonusOffElemental [@{FFF9}Bonus pour Magie Destructrice Elémentaire :\n
|
||||
@{T3}Vitesse du Sort :@{T14}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T14}@{FFFF}%mp%\n
|
||||
@{T3}Vitesse du Sort :@{T19}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T19}@{FFFF}%mp%\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 2098D0E88AF919A7
|
||||
// INDEX 2422
|
||||
uihelpItemMagicBonusOffAffliction [@{FFF9}Bonus pour Magie Débilitante :\n
|
||||
@{T3}Vitesse du Sort :@{T14}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T14}@{FFFF}%mp%\n
|
||||
@{T3}Vitesse du Sort :@{T19}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T19}@{FFFF}%mp%\n
|
||||
]
|
||||
|
||||
// HASH_VALUE DD4432757076566B
|
||||
// INDEX 2423
|
||||
uihelpItemMagicBonusDefHeal [@{FFF9}Bonus pour Magie Salvatrice Curative :\n
|
||||
@{T3}Vitesse du Sort :@{T14}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T14}@{FFFF}%mp%\n
|
||||
@{T3}Vitesse du Sort :@{T19}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T19}@{FFFF}%mp%\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 2088A4E88AF919A7
|
||||
// INDEX 2424
|
||||
uihelpItemMagicBonusDefAffliction [@{FFF9}Bonus pour Magie Salvatrice Neutralisante :\n
|
||||
@{T3}Vitesse du Sort :@{T14}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T14}@{FFFF}%mp%\n
|
||||
@{T3}Vitesse du Sort :@{T19}@{FFFF}%cs%@{FFF9}\n
|
||||
@{T3}Puissance :@{T19}@{FFFF}%mp%\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 4A4CE5C3DA44A737
|
||||
|
@ -10025,42 +10025,42 @@ uihelpItemMagicBonusHeader [\n
|
|||
|
||||
// HASH_VALUE 49F09B8ED6794263
|
||||
// INDEX 2426
|
||||
uihelpItemHpBonus [@{FFF9}Bonus Vie :@{T12}@{2F2F}%val\n
|
||||
uihelpItemHpBonus [@{FFF9}Bonus Vie :@{T19}@{2F2F}%val\n
|
||||
]
|
||||
|
||||
// HASH_VALUE C6C052A2D6794261
|
||||
// INDEX 2427
|
||||
uihelpItemHpMalus [@{FFF9}Pénalité Vie :@{T12}@{F44F}%val\n
|
||||
uihelpItemHpMalus [@{FFF9}Pénalité Vie :@{T19}@{F44F}%val\n
|
||||
]
|
||||
|
||||
// HASH_VALUE C22128B75D575A2C
|
||||
// INDEX 2428
|
||||
uihelpItemSapBonus [@{FFF9}Bonus en Sève :@{T12}@{2F2F}%val\n
|
||||
uihelpItemSapBonus [@{FFF9}Bonus en Sève :@{T19}@{2F2F}%val\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 060079B75D57521E
|
||||
// INDEX 2429
|
||||
uihelpItemSapMalus [@{FFF9}Pénalité en Sève :@{T12}@{F44F}%val\n
|
||||
uihelpItemSapMalus [@{FFF9}Pénalité en Sève :@{T19}@{F44F}%val\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 74BAE89A0594E3CA
|
||||
// INDEX 2430
|
||||
uihelpItemStaBonus [@{FFF9}Bonus Endurance :@{T12}@{2F2F}%val\n
|
||||
uihelpItemStaBonus [@{FFF9}Bonus Endurance :@{T19}@{2F2F}%val\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 74BAE08C497334CA
|
||||
// INDEX 2431
|
||||
uihelpItemStaMalus [@{FFF9}Pénalité Endurance :@{T12}@{F44F}%val\n
|
||||
uihelpItemStaMalus [@{FFF9}Pénalité Endurance :@{T19}@{F44F}%val\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 242B21C617440631
|
||||
// INDEX 2432
|
||||
uihelpItemFocusBonus [@{FFF9}Bonus Concentration :@{T12}@{2F2F}%val\n
|
||||
uihelpItemFocusBonus [@{FFF9}Bonus Concentration :@{T19}@{2F2F}%val\n
|
||||
]
|
||||
|
||||
// HASH_VALUE 292B21C697643A1F
|
||||
// INDEX 2433
|
||||
uihelpItemFocusMalus [@{FFF9}Pénalité Concentration :@{T12}@{F44F}%val\n
|
||||
uihelpItemFocusMalus [@{FFF9}Pénalité Concentration :@{T19}@{F44F}%val\n
|
||||
]
|
||||
|
||||
// HASH_VALUE F0AA55011CAF7807
|
||||
|
@ -10228,43 +10228,43 @@ uihelpItemCosmetic [\n
|
|||
|
||||
// HASH_VALUE EA125F4DF699651A
|
||||
// INDEX 2469
|
||||
uihelpItemArmorFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T12}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoArmorQuality}Qualité :@{H}@{T12}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T12}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T12}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T12}@{FFFF}%hp / %hpmax\n
|
||||
%cansell@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T12}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
uihelpItemArmorFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T14}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoArmorQuality}Qualité :@{H}@{T14}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T14}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T14}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T14}@{FFFF}%hp / %hpmax\n
|
||||
%cansell@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T14}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
\n
|
||||
@{FFF9}@{HuittInfoArmorType}Type d'Armure :@{H}@{T14}@{FFFF}%armor %armor_bonus\n
|
||||
@{FFF9}@{HuittInfoDodgeMod}Modif. d'Esquive :@{H}@{T20}@{FFFF}%dodge\n
|
||||
@{FFF9}@{HuittInfoParryMod}Modif. de Parade :@{H}@{T20}@{FFFF}%parry\n
|
||||
@{FFF9}@{HuittInfoMalus}Pénalité de l'Action :@{H}@{T20}@{FFFF}+%actmalus\n
|
||||
@{FFF9}@{HuittInfoArmorProtection}Protection :@{H}@{T20}@{FFFF}%protect%\n
|
||||
@{FFF9} @{HuittInfoArmorSlash}Max / Cp Tranchant :@{H}@{T20}@{FFFF}%p_slash\n
|
||||
@{FFF9} @{HuittInfoArmorBlunt}Max / Cp Contondant :@{H}@{T20}@{FFFF}%p_blunt\n
|
||||
@{FFF9} @{HuittInfoArmorPierc}Max / Cp Perforant :@{H}@{T20}@{FFFF}%p_pierce\n
|
||||
@{FFF9}@{HuittInfoArmorType}Type d'Armure :@{H}@{T22}@{FFFF}%armor %armor_bonus\n
|
||||
@{FFF9}@{HuittInfoDodgeMod}Modif. d'Esquive :@{H}@{T22}@{FFFF}%dodge\n
|
||||
@{FFF9}@{HuittInfoParryMod}Modif. de Parade :@{H}@{T22}@{FFFF}%parry\n
|
||||
@{FFF9}@{HuittInfoMalus}Pénalité de l'Action :@{H}@{T22}@{FFFF}+%actmalus\n
|
||||
@{FFF9}@{HuittInfoArmorProtection}Protection :@{H}@{T22}@{FFFF}%protect%\n
|
||||
@{FFF9} @{HuittInfoArmorSlash}Max / Cp Tranchant :@{H}@{T22}@{FFFF}%p_slash\n
|
||||
@{FFF9} @{HuittInfoArmorBlunt}Max / Cp Contondant :@{H}@{T22}@{FFFF}%p_blunt\n
|
||||
@{FFF9} @{HuittInfoArmorPierc}Max / Cp Perforant :@{H}@{T22}@{FFFF}%p_pierce\n
|
||||
%buffs%special_effects%desc%custom_text]
|
||||
|
||||
// HASH_VALUE 13E0EBA3282D2876
|
||||
// INDEX 2470
|
||||
uihelpItemMeleeWeaponFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T14}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoWeaponQuality}Qualité :@{H}@{T14}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T14}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T14}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T14}@{FFFF}%hp / %hpmax\n
|
||||
@{FFF9}@{HuittInfoWeaponSapLoad}Charge en Sève :@{H}@{T14}@{FFFF}%sap / %sapmax\n
|
||||
@{FFF9}@{HuittInfoItemSkill}Compétence :@{H}@{T14}@{FFFF}%skill\n
|
||||
%cansell@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T12}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
uihelpItemMeleeWeaponFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T17}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoWeaponQuality}Qualité :@{H}@{T17}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T17}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T17}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T17}@{FFFF}%hp / %hpmax\n
|
||||
@{FFF9}@{HuittInfoWeaponSapLoad}Charge en Sève :@{H}@{T17}@{FFFF}%sap / %sapmax\n
|
||||
@{FFF9}@{HuittInfoItemSkill}Compétence :@{H}@{T17}@{FFFF}%skill\n
|
||||
%cansell@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T17}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
\n
|
||||
@{FFF9}@{HuittInfoDamageType}Type de Dégâts :@{H}@{T20}@{FFFF}%dmtype\n
|
||||
@{FFF9}@{HuittInfoWeaponDamage}Dégâts :@{H}@{T20}@{FFFF}%dmg (@{T12}@{FFFF}%max_dmg)\n
|
||||
@{FFF9}@{HuittInfoWeaponHitMin}Coups/Minute :@{H}@{T20}@{FFFF}%speed\n
|
||||
@{FFF9}@{HuittInfoWeaponReach}Portée :@{H}@{T20}@{FFFF}%reach\n
|
||||
@{FFF9}@{HuittInfoDodgeMod}Modif. d'Esquive :@{H}@{T20}@{FFFF}%dodge\n
|
||||
@{FFF9}@{HuittInfoParryMod}Modif. de Parade :@{H}@{T20}@{FFFF}%parry\n
|
||||
@{FFF9}@{HuittInfoTargetDodgeMod}Modif. d'Esquive/Cible :@{H}@{T20}@{FFFF}%adv_dodge\n
|
||||
@{FFF9}@{HuittInfoTargetParryMod}Modif. de Parade/Cible :@{H}@{T20}@{FFFF}%adv_parry\n
|
||||
@{FFF9}@{HuittInfoMalus}Pénalité de l'Action :@{H}@{T20}@{FFFF}+%actmalus\n
|
||||
@{FFF9}@{HuittInfoDamageType}Type de Dégâts :@{H}@{T23}@{FFFF}%dmtype\n
|
||||
@{FFF9}@{HuittInfoWeaponDamage}Dégâts :@{H}@{T23}@{FFFF}%dmg (@{T12}@{FFFF}%max_dmg)\n
|
||||
@{FFF9}@{HuittInfoWeaponHitMin}Coups/Minute :@{H}@{T23}@{FFFF}%speed\n
|
||||
@{FFF9}@{HuittInfoWeaponReach}Portée :@{H}@{T23}@{FFFF}%reach\n
|
||||
@{FFF9}@{HuittInfoDodgeMod}Modif. d'Esquive :@{H}@{T23}@{FFFF}%dodge\n
|
||||
@{FFF9}@{HuittInfoParryMod}Modif. de Parade :@{H}@{T23}@{FFFF}%parry\n
|
||||
@{FFF9}@{HuittInfoTargetDodgeMod}Modif. d'Esquive/Cible :@{H}@{T23}@{FFFF}%adv_dodge\n
|
||||
@{FFF9}@{HuittInfoTargetParryMod}Modif. de Parade/Cible :@{H}@{T23}@{FFFF}%adv_parry\n
|
||||
@{FFF9}@{HuittInfoMalus}Pénalité de l'Action :@{H}@{T23}@{FFFF}+%actmalus\n
|
||||
%magic_bonus%buffs%special_effects%skill_mod_vs_type%desc%custom_text%enchantment]
|
||||
|
||||
// HASH_VALUE 3C0F81B91BD521BD
|
||||
|
@ -10307,13 +10307,13 @@ uihelpItemAmmoFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T12}@{FFFF}%origin
|
|||
|
||||
// HASH_VALUE 83398662F7CD3D0A
|
||||
// INDEX 2473
|
||||
uihelpItemMPFormat [@{FFF9}@{HuittInfoMpQuality}Qualité :@{H}@{T12}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T12}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T12}@{FFFF}%bulk\n
|
||||
uihelpItemMPFormat [@{FFF9}@{HuittInfoMpQuality}Qualité :@{H}@{T13}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T13}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T13}@{FFFF}%bulk\n
|
||||
%cansell\n
|
||||
@{FFF9}@{HuittInfoMpEco}Ecosystème :@{H}@{T12}@{FFFF}%ecosystem\n
|
||||
@{FFF9}@{HuittInfoMpFam}Famille :@{H}@{T12}@{FFFF}%family\n
|
||||
@{FFF9}@{HuittInfoMpColor}Couleur :@{H}@{T12}@{FFFF}%mpcolor\n
|
||||
@{FFF9}@{HuittInfoMpEco}Ecosystème :@{H}@{T13}@{FFFF}%ecosystem\n
|
||||
@{FFF9}@{HuittInfoMpFam}Famille :@{H}@{T13}@{FFFF}%family\n
|
||||
@{FFF9}@{HuittInfoMpColor}Couleur :@{H}@{T13}@{FFFF}%mpcolor\n
|
||||
@{FFFF}%desc\n
|
||||
%craft]
|
||||
|
||||
|
@ -10403,14 +10403,14 @@ uihelpItemShieldFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T12}@{FFFF}%orig
|
|||
|
||||
// HASH_VALUE FFE62CC8B7369AC0
|
||||
// INDEX 2490
|
||||
uihelpItemCraftingToolFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T12}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoToolQuality}Qualité :@{H}@{T12}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T12}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T12}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T12}@{FFFF}%hp / %hpmax\n
|
||||
@{FFF9}@{HuittToolCraftType}Type d'Outil :@{H}@{T12}@{FFFF}%tool\n
|
||||
uihelpItemCraftingToolFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T14}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoToolQuality}Qualité :@{H}@{T14}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T14}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T14}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T14}@{FFFF}%hp / %hpmax\n
|
||||
@{FFF9}@{HuittToolCraftType}Type d'Outil :@{H}@{T14}@{FFFF}%tool\n
|
||||
%cansell\n
|
||||
@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T12}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T14}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
%buffs\n
|
||||
%special_effects\n
|
||||
\n
|
||||
|
@ -10418,13 +10418,13 @@ uihelpItemCraftingToolFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T12}@{FFFF
|
|||
|
||||
// HASH_VALUE 12DD79BE889C767A
|
||||
// INDEX 2491
|
||||
uihelpItemHarvestToolFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T12}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoToolQuality}Qualité :@{H}@{T12}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T12}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T12}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T12}@{FFFF}%hp / %hpmax\n
|
||||
uihelpItemHarvestToolFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T14}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoToolQuality}Qualité :@{H}@{T14}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T14}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T14}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T14}@{FFFF}%hp / %hpmax\n
|
||||
%cansell\n
|
||||
@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T12}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T14}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
%buffs\n
|
||||
%special_effects\n
|
||||
\n
|
||||
|
@ -10446,12 +10446,12 @@ uihelpItemTamingToolFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T12}@{FFFF}%
|
|||
|
||||
// HASH_VALUE C6ED74E2DF2FE4E5
|
||||
// INDEX 2493
|
||||
uihelpItemJewelFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T12}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoJewelryQuality}Qualité :@{H}@{T12}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T12}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T12}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T12}@{FFFF}%hp / %hpmax\n
|
||||
%cansell@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T12}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
uihelpItemJewelFormat [@{FFF9}@{HuittInfoOrigin}Origine :@{H}@{T14}@{FFFF}%origin\n
|
||||
@{FFF9}@{HuittInfoJewelryQuality}Qualité :@{H}@{T14}@{FFFF}%quality\n
|
||||
@{FFF9}@{HuittInfoWeight}Poids :@{H}@{T14}@{FFFF}%weight Kg\n
|
||||
@{FFF9}@{HuittInfoBulk}Volume :@{H}@{T14}@{FFFF}%bulk\n
|
||||
@{FFF9}@{HuittInfoHP}Points de Vie :@{H}@{T14}@{FFFF}%hp / %hpmax\n
|
||||
%cansell@{FFF9}@{HuittInfoRequirement}Prérequis :@{H}@{T14}@{FFFF}%caracreq@{FFFF}%skillreq@{FFFF}%skillreq2\n
|
||||
\n
|
||||
%magic_protection%magic_resistance%buffs%desc%custom_text]
|
||||
|
||||
|
|
Loading…
Reference in a new issue