Code:
+++ fixed item enchant slots, this will autofix gems' socketing
+++ item bonuses from equipped bags can will now be applied to player
+++ cleaned up binding code for items
+++ fixed Stealth of Cat form
+++ trying to fix stealth in form
+++ fixed crash on creature casting Stealth spells
+++ new Py API:
add_varargs_method ("SignalBattleGroundRoundEnd", &LudmillaPy::ext_SignalBattleGroundRoundEnd, "(instance_id) sends event update to BG engine to finish round.");
+++ fixed player teleports, seems deadlock is now completely fixed
+++ fixed initial spell generation and renamed Unk field in Creatures Templates
]+++ CreatureSpellData dbc storage is used for automatic initial pet spells generation (Tamed in dbc so far...) Neverdie +1
+++ fixed player login
+++ tried to combat recent deadlock 99% fix will work
+++ fixed Pet actions
+++ Python API: gameobject.Die(delete_from_db) has delete_from_db new param, if 1 then will be deleted from DB, if 0 then not
+++ tried to fix mod stealth aura to say to client we have stealth, no success so far
-- Changed opcodes to official.
-- Renamed all packets for opcodes.
+++ !!! I hope the deadlocking bug is fixed, although it wans'nt obvious and was tricky.
+++ implemented thread_container_rw special class to utilize performance of rw_mutex for containers, adapted thread_map to thread_map_rw
+++ new id Venon change computer
+++ more thread safety to WorldSession
+++ fixed CONFUSE (prevented client mov. control)
+++ fixed Polymorph auras like Sheep, Pig, Turtle, now they will also produce Fear like effect
+++ del warning
+++ improved BG GetPlayer
+++ some speedup
+++ unified private Python values' buffer for instance into 1 buffer for:
- SetInstanceBufferValue(instance_id,...)
- instance.SetBufferValue(...)
+++ some correct
+++ fixed EFFECT_DESTROY_ALL_TOTEMS (Totemic Call and similar)
+++ OnEventGOUse will work for outside BG also
+++ fixed Spell Mechanics, it is big fix that will probably fully restore our Spell core work with Mechanics, a lot of spells will start function correctly
+++ fixed HAS_FLAGS define that will return TRUE on any of masks falling into checked range (that was a bug)
+++ new GO PY API:
OnEventGOUse(go, player):
Same as OnEventGOSelect(go, player) must return (1) if event was processed/absorbed by handler or (0) if wasn't, so caller continues to execute standard functions further.
+++ BattleGroundEvent::OnGameobjectUse(Player* player, GameObject* go) is bound to OnEventGOSelect Py call now.
+++ void Spell::SpellEff_OpenLock(uint32 i) && void Spell::SpellEff_OpenLockedItem(uint32 i) are bound to BattleGroundEvent::OnGameobjectUse call before they execute as standard, e.g. they also call OnEventGOSelect through BattleGroundEvent::OnGameobjectUse.
-- All loot packets moved to LootHandler.cpp
-- All pet packets moved to PetHandler.cpp
(Kos pls add this files in VS 9.0)
-- some definition in SMSG_LOOT_ROLL. (kos pls view this commit).
-- Inform player if it trying whisper to AFK or DND player.
-- fixed chat whisper.
+++ new Py API: unit/player/go.GetAreaId(), that returns AreaId of object location
-- moved CMSG_LOOT_ROLL_PASSED_AUTO to WS.
+++ add State for Arathi (tested)
+++ check void Player::Send_SMSG_INIT_WORLD_STATES() for initial World States settings for BG (dumper is autogenerating C++ code list)
+++ new Py API:
add_varargs_method ("SendBattleGroundWorldState", &LudmillaPy::ext_SendBattleGroundWorldState, "(instance_id, state_index, state_value) sends world state update to all players in BG instance.");
add_varargs_method ("GetBattleGroundPlayerList", &LudmillaPy::ext_GetBattleGroundPlayerList, "(instance_id, team_mask(optional)) gives player list currently on bg, 'team_mask' is optional and if not specified players are given from all teams (team_1 = (1<<0), team_2 = (1<<1), ...).");
+++ updates SpellNames.h for .2 patch
+++ some opcode from WoTLK (not test)
+++ modified World states to be easy workable with BGs (for events)
+++ +1 0 to item Query single as per zhenya
+++ fixed new Py API
+++ Normalized Weapon Damage + spells will give Combo Point to rogues also
+++ fixed combat raiting's visual stats
+++ work on combat raitings
+++ new requested Py API for GameObject PyGameObject class:
add_varargs_method ("CreateGameObject", &PyGameObject::ext_CreateGameObject, "(Id, Tuple XYZ, Tuple ROTATION, SaveToDB) Creates GameObject.");
add_varargs_method ("CreateNPC", &PyGameObject::ext_CreateNPC, "(Id, Tuple XYZ, SaveToDB, Recurring) Creates NPC.");
Works similar as for NPC. e.g.: go.CreateGameObject(....).
CreateGameObject automatically puts created gameobject into world.
+++ fixed compile
+++ enabled mutex timeouts to detect occuring deadlocks
-- Add my new machine id.
-- Add new enums from client (2.4.2).
-- Version changed to 2.4.2.
-- Add new packet CMSG_LOOT_ROLL_PASSED_AUTO.
(kos pls look on it and add to SMSG_LOOT_ROLL auto pass).
+++ fixed SMSG_SURROUNDING_NPC_STATUS_RESPONSE and as a result #132
+++ fixed quest query response
+++ quest packets shall be fixed and be not giving #132
+++ fixed Spell casts for static spells like Login, Sickness...
+++ fixed inventory errors packet
+++ fixed combat (melee/spell/periodic) packets
+++ fixed XP gain packet
+++ fixed BG log packet
+++ tried to fix crash on [out-of-sync] logout
+++ fixed compile
+++ if spell is added through DynamicTeachSpell Python API and spell also was used by item it will appear in trainer list (forced)
+++ updated basis of aux lib with thread classes (crashes, correctness...)
+++ implemented SPELL_AURA_PERIODIC_SCRIPTED_TRIGGER (226) that shall fix periodic energize effects
+++ reverted settings
+++ fixed compile if #define _USING_MEMPOOL is commented out to switch off mempool usage
+++ Spell summoning players will be working again (pls test)
+++ new Py API to reset all spells cooldown:
add_varargs_method ("ResetSpellCooldown", &PyUnit::ext_ResetSpellCooldown, "(bool also_global) Resets all spell cooldowns (also global if TRUE for param).");
+++ triggered spells will not crash server sometimes anymore when no spell is scripted
-- fixed compile in VS 9.0
+++ Dual Wield and similar abilities are now in trainer lists again
-- fixed compile in VS7.1
+++ fixed shape shift forms change (action bars now changing opening form spells)
+++ changed spell ids to names for flight forms and shapesifts
+++ fixed CanTalkToNPC so NPC shall be more talkable
+++ quest slots will be reset to 0 on player load if no quest id for slot to avoid #132
+++ filtered Bloodthirth spells from trainer without Ranks
+++ trainers has cleaned up lists from:
- DND spells
- Judgement Of ... spells
+++ fixed quests part, uf being damaged by wrong offset due to new quest slot size (for groups, for quest assignment, for refreshing), this shal clear 132
+++ all cheating players with movement packets will be now logged out without assert + added to cheat file log
-- fixed my mistake with chat enums.
+++ cleared trainer list from triggered spell
+++ SPELL_AURA_PERIODIC_TRIGGER_SPELL, dummy triggers, did get helper map with triggered spells that can help in finding spell if Triggered spell is unknown
-- Fixed chat msg types.
-- Add debug command for testing chat.
+++ avoid 132
+++ fixed prof learning
+++ spells learned by quest will be taught like if by trainer
+++ fixed trainer spells analysis by splitting old/new logics to work togather this will fix Profession spell learning
+++ excluded not needed player save info (do not bother with warnings, or simply reset talents to all to resave players)
+++ farsight must not be affecting players after relogin
+++ professions leveling up will be done as before patch, correctly
+++ enchant recepies shall be in trainer list now
+++ new Py API: add_varargs_method ("SetNonHibernatable", &PyUnit::ext_SetNonHibernatable, "Sets creature be always updatable by server core.");
- to make mob be always updatable by server. for special scripting AI.
+++ Professions must be learning from now
+++ import operation is fully threadsafe for MapManagers
+++ trainers:
- recepies shall be in tr.list
- secondary profs shall be in the list
- main profs/abilities will also be in list
+++ possibly fixed 132 on .mod mount (bad unit flag?)
+++ improved thread_task interface
+++ server will wait for task completition if shutting down
+++ import in thread is 100% safe from player logout now
+++ more to thread_task
+++ implemented world imports in own thread-task: check world_server.conf:
# If enabled imports are handled in own task-thread, importing player must stay in world
# till procedure completes othervise it may crash, for 100% safety you may want to have 'no'
# and import will be done on world thread freezing it till procedure completition.
#
UseWorldImportInThread = yes
+++ removed CConvert class and substituted with aux::convert
+++ fixed client lock-up on empty friend list
+++ fixed trainers showing trash spells (now must be same as before patch)
+++ implemented new NPC query packet (do not know full meaning though yet)
+++ trainer shows visual effect of learning as usual
+++ normalized mem allocators and removed bad way of linkage
+++ compress per thread instance will be given fast using TLS (thread local data) allocated by kernel functions (will be compressing faster now)
+++ learning animation for trainer (although did not really help, studying...)
+++ fixed crash bug in mempool when thread deallocates data chunk not allocated before
+++ add translocate teleport in core
+++ implemented special type of memory allocation technology by allocating memory per every calling thread using thread local storage (win & nix), must speed up allocations (tested)
+++ memory is now allocated by memory pools only using overwritten new/delete operators
. sorry had no internet
+++ new id portal iron
+++ portal effect "SUNWELL ISLE"
+++ more work on memory pool to make it very fast in multithreaded app, now it is 1.9 times faster in release, and 4 times in debug mode
+++ switched off mutex debugging
+++ corrected social's SQL querries
-- Add new combatlog enums.
+++ stackwalker will show stack on ASSERT_AUX_DESC also
-- Fixed trade.
+++ fixed convertor from 2.3.3 to 2.4.1 (I AM VERY SORRY)
+++ spell learning shall start work
+++ skipped spells from learning having no Requirements
+++ excluded talents from trainer lists
+++ switched on 2min mutex timout assert + double locking checks to fight for deadlocks
+++ socialmgr please check sql need
-- Fixed compile in VS-2008.
+++ LoadTrainerTeachSpells_New to load teach spells, let's see if spell list visible now
+++ more checks on items load
+++ who list
+++ started work on social
+++ Trainer lists shall be fixed
+++ Item spell caster: first lookup is by item guid
+++ Creatures sizes taken from DB now (not DBC)
+++ reverted unneeded changes in sup.libs
+++ more trade
+++ more enums
+++ SMSG_SET_FACTION_STANDING
+++ CMSG_USE_ITEM
+++ fixed possible crash in mempool on program closure if memleak existed
+++ implemented 2 new opcodes to set Guild tab text (update sql)
+++ switched to original memcpy/memove
+++ fast int to string method
+++ fixed Arena team packets 2.4.1
+++ fixed SMSG_NPC_TEXT_UPDATE 2.4.1
+++ fixed SMSG_QUESTGIVER_STATUS 2.4.1
+++ fixed SMSG_QUEST_QUERY_RESPONSE 2.4.1
+++ fixed SMSG_QUESTGIVER_QUEST_DETAILS 2.4.1
+++ fixed SMSG_LOOT_ROLL 2.4.1
+++ fixed SMSG_GROUP_LIST 2.4.1
+++ fixed CMSG_GROUP_PROMOTE 2.4.1
+++ fixed SMSG_PARTY_MEMBER_STATS & SMSG_PARTY_MEMBER_STATS_FULL 2.4.1
+++ fixed CMSG_CHAT_IGNORED 2.4.1
+++ fixed SMSG_ITEM_QUERY_SINGLE_RESPONSE 2.4.1
+++ fixed SMSG_LIST_INVENTORY 2.4.1
+++ fixed SMSG_ITEM_NAME_QUERY_RESPONSE 2.4.1
+++ fixed SMSG_GUILD_ROSTER 2.4.1
+++ added own aux_memcpy to bytebuffer, for other places - not necessary, where is a chance that struct won't be 128bit aligned
+++ own memcpy/memmove, offering 20%-30% speedup when aligned to 8bytes (64 bit)
+++ trade shall be fixed now
+++ fixed linux compile
+++ new aux::arrays::array<T> class which can replace std::vector but no perfomance win is given, so better do not use it
+++ chat
-- Add all enums from client (2.4.1)
-- New opcodes.
-- New enums.
-- Add new enums.
-- Add new packets for getting enums.
(sorry for long delay).
+++ fixed 7.1 compile
+++ some more correction to thread_update closure
+++ 'GetThreadId' kernel32.dll now deallocates if loaded
+++ implemented missing 'GetThreadId(h)' for Windows NT 4.0 - XP
+++ bswap_f32 & bswap_f64 for float and doubles
+++ corrections to AUX lib (threaded classes, new memory allocation functions with crc7 check, arrays)
- new class aux::threads::thread_task() that can be used to create new thread and do given task in it and autoclose, excellent for big infrequent jobs
+++ types fix
+++ fixed SMSG_SPELL_GO
+++ fixed SMSG_SPELL_START
+++ fixed spell cast flags logics
+++ aux::reference_ptr<T> fixed for STL containers hashing and lookup
+++ new Python API:
def OnGOUpdate(go, time_diff):
- for gameobjects, update interval == ~1sec
+++ defines to safer version
+++ fixed bug when player could join BG/Arena queue or group having Deserter.
+++ finally fixed Py::Bollean
+++ fixed Py::Boolean
+++ to Boolean type
+++ refactored Action buttons into action_button_t structure
+++ added bad spells check on action but. load
+++ more PyCXX, please recompile Deplibs
+++ fixed spell names (thx god we had defines!!!!)
+++ spell names to 2.4.1
+++ to 2.4.1 patch
+++ fixed RandProItem...dbc (pls check code before commit)
+++ fixed bug when loot was missing of items which are reagents for quest items
+++ fixed item enchant slots, this will autofix gems' socketing
+++ item bonuses from equipped bags can will now be applied to player
+++ cleaned up binding code for items
+++ fixed Stealth of Cat form (looks like it hasn' given up so easily )
More From Them Soon!