From 89197ae54fa540b71b537515e630e73b238e6af3 Mon Sep 17 00:00:00 2001 From: kervala Date: Tue, 31 May 2011 21:51:26 +0200 Subject: [PATCH] Changed: Merge changes from next patch --- code/ryzom/client/src/character_cl.cpp | 8 + .../src/interface_v3/action_handler_game.cpp | 4 +- .../src/interface_v3/action_handler_help.cpp | 3 +- .../client/src/interface_v3/dbctrl_sheet.cpp | 6 +- .../client/src/interface_v3/group_html.cpp | 23 +- .../src/interface_v3/group_html_webig.cpp | 2 +- .../interface_v3/item_consumable_effect.cpp | 14 +- .../src/interface_v3/sphrase_manager.cpp | 8 +- .../data_shard/client_commands_privileges.txt | 33 +- .../server/src/ai_service/ai_instance.cpp | 65 +- code/ryzom/server/src/ai_service/nf_grp.cpp | 35 +- .../server/src/ai_service/nf_grp_npc.cpp | 207 +++- .../src/entities_game_service/admin.cpp | 966 +++++++++++++++++- .../building_manager/room_instance.cpp | 4 +- .../entities_game_service/client_messages.cpp | 6 +- .../creature_manager/creature.cpp | 6 +- .../creature_manager/creature.h | 2 + .../egs_sheets/egs_static_brick.cpp | 30 + .../egs_sheets/egs_static_brick.cpp.h | 148 ++- .../mission_manager/mission_event.cpp | 23 +- .../mission_manager/mission_event.h | 13 + .../mission_manager/mission_step_kill.cpp | 206 +++- .../modules/character_control.cpp | 2 +- .../phrase_manager/aura_effect.cpp | 22 +- .../phrase_manager/aura_effect.h | 4 + .../phrase_manager/combat_phrase.cpp | 5 + .../phrase_manager/faber_action.cpp | 15 +- .../phrase_manager/magic_phrase.cpp | 20 +- .../phrase_manager/s_effect.h | 19 +- .../phrase_manager/special_power.cpp | 7 +- .../phrase_manager/special_power.h | 14 +- .../special_power_basic_aura.cpp | 9 +- .../phrase_manager/special_power_phrase.cpp | 70 +- .../phrase_manager/timed_actions.cpp | 11 + .../player_manager/character.cpp | 168 ++- .../player_manager/character.h | 18 +- .../character_inventory_manipulation.cpp | 102 +- .../player_manager/player_manager.cpp | 2 +- .../progression/progression_pve.cpp | 35 +- .../progression/progression_pve.h | 5 +- .../progression/progression_pvp.cpp | 3 + .../pvp_manager/pvp_manager_2.cpp | 104 +- .../pvp_manager/pvp_manager_2.h | 8 + 43 files changed, 2324 insertions(+), 131 deletions(-) diff --git a/code/ryzom/client/src/character_cl.cpp b/code/ryzom/client/src/character_cl.cpp index 87332f42d..37c1d0a24 100644 --- a/code/ryzom/client/src/character_cl.cpp +++ b/code/ryzom/client/src/character_cl.cpp @@ -9006,6 +9006,14 @@ void CCharacterCL::setAuraFX(uint index, const CAnimationFX *sheet) if (sheet == NULL) { + std::list::iterator itAttachedFxToStart = _AttachedFXListToStart.begin(); + while(itAttachedFxToStart != _AttachedFXListToStart.end()) + { + if ((*itAttachedFxToStart).MaxNumAnimCount == index) + itAttachedFxToStart = _AttachedFXListToStart.erase(itAttachedFxToStart); + else + ++itAttachedFxToStart; + } // if there's already an aura attached, and if it is not already shutting down if (_AuraFX[index] && _AuraFX[index]->TimeOutDate == 0.f) { diff --git a/code/ryzom/client/src/interface_v3/action_handler_game.cpp b/code/ryzom/client/src/interface_v3/action_handler_game.cpp index 16e4c427c..f358fa3fd 100644 --- a/code/ryzom/client/src/interface_v3/action_handler_game.cpp +++ b/code/ryzom/client/src/interface_v3/action_handler_game.cpp @@ -2497,7 +2497,9 @@ class CAHAddShape : public IActionHandler { shape = sShape.substr(0, index); sShape = sShape.substr(index+1); - } else { + } + else + { shape = sShape; have_shapes = false; } diff --git a/code/ryzom/client/src/interface_v3/action_handler_help.cpp b/code/ryzom/client/src/interface_v3/action_handler_help.cpp index f6271f355..4c92fe6e0 100644 --- a/code/ryzom/client/src/interface_v3/action_handler_help.cpp +++ b/code/ryzom/client/src/interface_v3/action_handler_help.cpp @@ -2052,7 +2052,8 @@ void getItemText (CDBCtrlSheet *item, ucstring &itemText, const CItemSheet*pIS) case ITEMFAMILY::CONSUMABLE : { strFindReplace(itemText, "%consumption_time", toString(pIS->Consumable.ConsumptionTime)); - strFindReplace(itemText, "%overdose_timer", toString(pIS->Consumable.OverdoseTimer/60)); + strFindReplace(itemText, "%overdose_timer_min", toString(pIS->Consumable.OverdoseTimer/60)); + strFindReplace(itemText, "%overdose_timer_sec", toString(pIS->Consumable.OverdoseTimer % 60)); // Get Item Consumable infos CItemConsumableEffectHelper::getInstance()->getItemConsumableEffectText(pIS, itemText, item->getQuality()); } diff --git a/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp b/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp index e328816a9..42f438202 100644 --- a/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp +++ b/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp @@ -2095,13 +2095,13 @@ void CDBCtrlSheet::drawSheet (sint32 x, sint32 y, bool draging, bool showSelecti rVR.draw11RotFlipBitmap (_RenderLayer, x, y, 0, false, _DispOverBmpId, armourCol); // decal layer because must drawn after Items/Brick in DXTC // NB: use OverColor, not Over2Color here. Because of hack in updateArmourColor() - rVR.draw11RotFlipBitmap (_RenderLayer+2, x, y, 0, false, _DispOver2BmpId, fastMulRGB(curSheetColor, _IconOverColor)); + rVR.draw11RotFlipBitmap (_RenderLayer+1, x, y, 0, false, _DispOver2BmpId, fastMulRGB(curSheetColor, _IconOverColor)); } else { // decal layer because must drawn after Items/Brick in DXTC - rVR.draw11RotFlipBitmap (_RenderLayer+2, x, y, 0, false, _DispOverBmpId, fastMulRGB(curSheetColor, _IconOverColor)); - rVR.draw11RotFlipBitmap (_RenderLayer+2, x, y, 0, false, _DispOver2BmpId, fastMulRGB(curSheetColor, _IconOver2Color)); + rVR.draw11RotFlipBitmap (_RenderLayer+1, x, y, 0, false, _DispOverBmpId, fastMulRGB(curSheetColor, _IconOverColor)); + rVR.draw11RotFlipBitmap (_RenderLayer+1, x, y, 0, false, _DispOver2BmpId, fastMulRGB(curSheetColor, _IconOver2Color)); } // Draw Quality. -1 for lookandfeel. Draw it with global color diff --git a/code/ryzom/client/src/interface_v3/group_html.cpp b/code/ryzom/client/src/interface_v3/group_html.cpp index dda2250a8..b0e94ca6c 100644 --- a/code/ryzom/client/src/interface_v3/group_html.cpp +++ b/code/ryzom/client/src/interface_v3/group_html.cpp @@ -871,6 +871,13 @@ void CGroupHTML::beginElement (uint element_number, const BOOL *present, const c { _TextColor.push_back(_TextColor.empty() ? CRGBA::White : _TextColor.back()); } + + if (present[HTML_FONT_SIZE] && value[HTML_FONT_SIZE]) + { + uint fontsize; + fromString(value[HTML_FONT_SIZE], fontsize); + _FontSize.push_back(fontsize); + } } break; case HTML_BR: @@ -1407,6 +1414,7 @@ void CGroupHTML::endElement (uint element_number) { case HTML_FONT: popIfNotEmpty (_TextColor); + popIfNotEmpty (_FontSize); break; case HTML_A: popIfNotEmpty (_TextColor); @@ -2251,8 +2259,9 @@ void CGroupHTML::addImage(const char *img, bool globalColor) else*/ getParagraph()->addChild(newImage); paragraphChange (); - } else { - + } + else + { // // 2/ if it doesn't work, try to load the image in cache // @@ -3394,7 +3403,8 @@ int CGroupHTML::luaInsertText(CLuaState &ls) ucstring text; text.fromUtf8(ls.toString(2)); - if (!_Forms.empty()) { + if (!_Forms.empty()) + { for (uint i=0; i<_Forms.back().Entries.size(); i++) { if (_Forms.back().Entries[i].TextArea && _Forms.back().Entries[i].Name == name) @@ -3438,11 +3448,14 @@ int CGroupHTML::luaAddImage(CLuaState &ls) paragraphChange(); } string url = getLink(); - if (!url.empty()) { + if (!url.empty()) + { string params = "name=" + getId() + "|url=" + getLink (); addButton(CCtrlButton::PushButton, ls.toString(1), ls.toString(1), ls.toString(1), "", ls.toBoolean(2), "browse", params.c_str(), ""); - } else { + } + else + { addImage(ls.toString(1), ls.toBoolean(2)); } diff --git a/code/ryzom/client/src/interface_v3/group_html_webig.cpp b/code/ryzom/client/src/interface_v3/group_html_webig.cpp index ac866830b..7e1781289 100644 --- a/code/ryzom/client/src/interface_v3/group_html_webig.cpp +++ b/code/ryzom/client/src/interface_v3/group_html_webig.cpp @@ -277,7 +277,7 @@ string CGroupHTMLWebIG::home () void CGroupHTMLWebIG::handle () { - Home = "http://atys.ryzom.com/start/index.php"; +// Home = "http://atys.ryzom.com/start/index.php"; CGroupHTML::handle (); } diff --git a/code/ryzom/client/src/interface_v3/item_consumable_effect.cpp b/code/ryzom/client/src/interface_v3/item_consumable_effect.cpp index 35afeb618..3c1e958f8 100644 --- a/code/ryzom/client/src/interface_v3/item_consumable_effect.cpp +++ b/code/ryzom/client/src/interface_v3/item_consumable_effect.cpp @@ -133,8 +133,8 @@ void CItemConsumableEffectHelper::getItemConsumableEffectText(const CItemSheet * strFindReplace(result, "%minutes", toString(duration/60)); strFindReplace(result, "%secondes", toString(duration%60)); strFindReplace(result, "%radius", toString(radius)); - strFindReplace(result, "%targetDisableTime", toString(targetDisableTime)); - strFindReplace(result, "%userDisableTime", toString(userDisableTime)); + strFindReplace(result, "%targetDisableTime", "0"); + strFindReplace(result, "%userDisableTime", "0"); effects += result; effects += "\n"; @@ -183,12 +183,12 @@ void CItemConsumableEffectHelper::getItemConsumableEffectText(const CItemSheet * fromString(params[4].c_str(), userDisableTime); ucstring result = CI18N::get("uiItemConsumableEffectStaminaAura"); - strFindReplace(result, "%modifier", toString(regenMod)); + strFindReplace(result, "%modifier", toString(bonus)); strFindReplace(result, "%minutes", toString(duration/60)); strFindReplace(result, "%secondes", toString(duration%60)); strFindReplace(result, "%radius", toString(radius)); - strFindReplace(result, "%targetDisableTime", toString(targetDisableTime)); - strFindReplace(result, "%userDisableTime", toString(userDisableTime)); + strFindReplace(result, "%targetDisableTime", "0"); + strFindReplace(result, "%userDisableTime", "0"); effects += result; effects += "\n"; @@ -240,8 +240,8 @@ void CItemConsumableEffectHelper::getItemConsumableEffectText(const CItemSheet * strFindReplace(result, "%minutes", toString(duration/60)); strFindReplace(result, "%secondes", toString(duration%60)); strFindReplace(result, "%radius", toString(radius)); - strFindReplace(result, "%targetDisableTime", toString(targetDisableTime)); - strFindReplace(result, "%userDisableTime", toString(userDisableTime)); + strFindReplace(result, "%targetDisableTime", "0"); + strFindReplace(result, "%userDisableTime", "0"); effects += result; effects += "\n"; diff --git a/code/ryzom/client/src/interface_v3/sphrase_manager.cpp b/code/ryzom/client/src/interface_v3/sphrase_manager.cpp index 6820a10e8..dc12a391f 100644 --- a/code/ryzom/client/src/interface_v3/sphrase_manager.cpp +++ b/code/ryzom/client/src/interface_v3/sphrase_manager.cpp @@ -503,7 +503,6 @@ void CSPhraseManager::updateMemoryDBAll() for(uint i=0;isetValue32(0); - _MemoryAltDbLeaves[i]->setValue32(0); } } else @@ -515,7 +514,14 @@ void CSPhraseManager::updateMemoryDBAll() _MemoryDbLeaves[i]->setValue32(0); else _MemoryDbLeaves[i]->setValue32(slot.Id); + } + } + if(_SelectedMemoryDB != -1 && (sint32)_Memories.size() > 0) + { + // Always update alt gestionsets + for(uint i=0;isetValue32(0); diff --git a/code/ryzom/server/data_shard/client_commands_privileges.txt b/code/ryzom/server/data_shard/client_commands_privileges.txt index 0ab0e8e9f..c61537dfa 100644 --- a/code/ryzom/server/data_shard/client_commands_privileges.txt +++ b/code/ryzom/server/data_shard/client_commands_privileges.txt @@ -15,10 +15,10 @@ addSkillPoints :DEV:SGM:GM:EM: // Add skill points of given type (Fight=0, M addXPToSkill :DEV:SGM:GM:EM: // Gain experience in the given skill: [] broadcast :DEV:SGM:GM:EM:VG: // Broadcast a message: [repeat= or during=