diff --git a/CHANGELOG.md b/CHANGELOG.md index 6beda715363..47490e99d7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,31 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## Unreleased -https://github.com/nwnxee/unified/compare/build8193.35.37...HEAD +https://github.com/nwnxee/unified/compare/build8193.35.40...HEAD + +### Added +- N/A + +##### New Plugins +- N/A + +##### New NWScript Functions +- N/A + +### Changed +- N/A + +### Deprecated +- N/A + +### Removed +- N/A + +### Fixed +- N/A + +## 8193.35.40 +https://github.com/nwnxee/unified/compare/build8193.35.37...build8193.35.40 ### Added - Tweaks: added `NWNX_TWEAKS_RANGED_WEAPONS_USE_ON_HIT_EFFECT_ITEM_PROPERTIES` which makes all bows, crossbows, and slings use On Hit: Effect item properties (in addition to their ammunition). @@ -17,9 +41,6 @@ https://github.com/nwnxee/unified/compare/build8193.35.37...HEAD - Events: added skippable event `NWNX_ON_AREA_PLAY_BATTLE_MUSIC_{BEFORE|AFTER}` which allows skipping the starting/stopping of an area's battle music. - Experimental: Added `NWNX_EXPERIMENTAL_END_COMBATROUND_AFTER_SPELLCAST` to end combat rounds right after casting or canceling a spell so that a new spell can be cast immediately after -##### New Plugins -- N/A - ##### New NWScript Functions - Object: GetInventoryItemCount() - Object: OverrideSpellProjectileVFX() @@ -33,12 +54,6 @@ https://github.com/nwnxee/unified/compare/build8193.35.37...HEAD - ***ABI BREAKING:*** Creature: DoItemCastSpell() can now override the spell impact script, and set the spell cast item retrieved by GetSpellCastItem(). - ***ABI BREAKING:*** Damage: SetAttackEventData() can now set `AttackEventData.iSneakAttack`. This only affects the attack roll message and floating text feedback. Immunities and damage will have already been resolved by the time the attack event script is ran. -### Deprecated -- N/A - -### Removed -- N/A - ### Fixed - Tweaks: FixResolveSpecialAttackDamage: fixed a crash involving ranged special attacks interacting oddly with Epic Dodge. - Player: fixed ToggleDM() not working correctly with EffectTimeStopImmunity(). diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f844c077bc..801ff791fca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ find_package(Sanitizers) execute_process(COMMAND git rev-parse --short HEAD OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE SHORT_HASH) set(TARGET_NWN_BUILD 8193) set(TARGET_NWN_BUILD_REVISION 35) -set(TARGET_NWN_BUILD_POSTFIX 37) +set(TARGET_NWN_BUILD_POSTFIX 40) set(NWNX_BUILD_SHA ${SHORT_HASH}) set(PLUGIN_PREFIX NWNX_) diff --git a/NWNXLib/API/API/CNWSCreature.hpp b/NWNXLib/API/API/CNWSCreature.hpp index 34322cd2008..e761ac9968e 100644 --- a/NWNXLib/API/API/CNWSCreature.hpp +++ b/NWNXLib/API/API/CNWSCreature.hpp @@ -544,6 +544,7 @@ struct CNWSCreature : CNWSObject void UpdatePersonalSpace(); void UpdateAppearanceDependantInfo(); CNWSJournal * GetJournal(); + void ReloadJournalEntries(); CNWSBarter * GetBarterInfo(BOOL bCreateIfNonExistant = true); BOOL StartBarter(OBJECT_ID oidTarget, OBJECT_ID oidItem, BOOL bFromActionQueue = false); void ClearHostileActionsVersus(CNWSCreature * pCreature); diff --git a/Plugins/Tweaks/FixTURDEffectUnlinking.cpp b/Plugins/Tweaks/FixTURDEffectUnlinking.cpp index b259854c951..57db596dc15 100644 --- a/Plugins/Tweaks/FixTURDEffectUnlinking.cpp +++ b/Plugins/Tweaks/FixTURDEffectUnlinking.cpp @@ -67,17 +67,18 @@ void FixTURDEffectUnlinking() pCreature->SetOrientation(pTURD->m_vOrientation); pCreature->CopyScriptVars(&pTURD->m_ScriptVars); + pCreature->ReloadJournalEntries(); pCreature->SetAutoMapData(pTURD->m_nNumAutomapAreas, pTURD->m_poidAutomapAreasList, pTURD->m_pAutoMapTileData); for (int i = 0; i < pTURD->m_appliedEffects.num; i++) { - auto *pEffect = new CGameEffect(false); - pEffect->CopyEffect(pTURD->m_appliedEffects.element[i]); - + auto *pEffect = pTURD->m_appliedEffects.element[i]; if (!pEffect->m_bSkipOnLoad && pEffect->GetDurationType() != Constants::EffectDurationType::Equipped) - pCreature->ApplyEffect(pEffect, true); - else - delete pEffect; + { + auto *pNewEffect = new CGameEffect(false); + pNewEffect->CopyEffect(pEffect); + pCreature->ApplyEffect(pNewEffect, true); + } } while (!pCreature->m_lQueuedActions.IsEmpty()) diff --git a/README.md b/README.md index 13510615084..9bb220c6936 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ [![Discord](https://img.shields.io/discord/382306806866771978.svg?colorB=7289DA&label=Discord&logo=Discord&logoColor=7289DA&style=flat-square)](https://discord.gg/hxTt8Fr) -# NWNX:EE (build 8193.35.37 - v87 - DEVELOPMENT) +# NWNX:EE (build 8193.35.40 - v87 - DEVELOPMENT) -- Latest release: [build8193.35.37-HEAD](https://github.com/nwnxee/unified/releases/latest) - [Changelog](https://github.com/nwnxee/unified/blob/master/CHANGELOG.md#Unreleased) +- Latest release: [build8193.35.40-HEAD](https://github.com/nwnxee/unified/releases/latest) - [Changelog](https://github.com/nwnxee/unified/blob/master/CHANGELOG.md#Unreleased) - Docker tag: `nwnxee/unified:latest` -- nwserver-linux md5: `9cb509dd3770dff85d86f9460fcc1335` +- nwserver-linux md5: `6272baef33b3271e9b0ad7bf54b90f33` @mainpage @tableofcontents