caeruleaus
-
Posts
185 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by caeruleaus
-
-
for some reason it always seems to be druids over lvl 100 that cause crashes.
-
DBCEnums.h
line looks like
// client supported max level for player/pets/etc. Avoid overflow or client stability affected. // also see GT_MAX_LEVEL define #define MAX_LEVEL 100
-
update modified and reqname branches to current master
-
UPDATE: Made it so you can choose which build type you'd like to make it.
For example, I have Windows 7 64 bit so I have the buildarch set as
"Release|x64"
If you want it for win32
"Release|win32"
To build for x64 your microsoft visual studio MUST be set up for it. There's a few tutorials online that explain how to setup the express editions to build for x64. I am NOT going to help you set it up for x64. Google it.
I did it and so can you.
-
make sure to clear your cache files.
and i quote myself. If you don't clear the cache files it won't work correctly.
EDIT: You can do it by changing
# ClientCacheVersion # Client cache version for client cache data reset. Use any different from DB value and not recently used for triggering reset. # Default: 0 (use DB value from world DB db_version.cache_id field)
in your conf file
-
make sure to clear your cache files.
-
Not sure if i should do this here or not but it makes sense to be in installation.
This is an automatic batch file to update, compile, and zip mangos. I don't really care about the zip function that much though i did make it work with 7-zip. The original idea came from http://www.scriptdev2.com/windows-ultimate-mangos-t16.html. So i have to thank elegos for the original idea. However i modified it to use vcbuild instead of msbuild and made it work with git for mangos. You can automate this by adding it to the taskscheduler. I'm not going to go into how to do that but you can google it pretty easy.
Anyway have fun, tell me if it works and whatnot. Make sure to update the fields to reflect your setup.
vcbuild will always be in the Microsoft Visual Studio folder, just make sure it's the right version. I have visual studio 9.0 so just make sure it reflects which one you have.
MAKE SURE TO RUN THE BATCH FILE AS ADMINISTRATOR IF YOU WANT ZIPPING TO WORK!
@ECHO OFF SET VCBUILDDRIVE=C: SET VCBUILDPATH= Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\vcpackages :: SET MANGOSPATH=C:\\mangos :: VC80|VC90|VC100 SET SOLUTIONV=VC90 :: Release|Debug:win32|x64 SET BUILDARCH="Release|x64" :: Y|N SET PAUSEMODE=N :: OPTIONAL :: Y|N, you need Subversion installed SET SVNMODE=N SET SVNDRIVE=C: SET SVNPATH=Program Files\\TortoiseSVN\\bin :: Y|N, you need GIT installed SET GITMODE=N SET GITDRIVE=C: SET GITPATH=git\\bin :: Y|N SET ARCHIVEMODE=N :: WINRAR|WINZIP|7ZIP SET ARCHIVER=7ZIP SET ARCHIVERDRIVE=C: SET ARCHIVERPATH=Program Files\\7-Zip SET ARCHIVENAME=MaNGOS_SD2_svn SET ARCHIVEPATH=C:\\MaNGOS_bins IF %GITMODE%==Y GOTO GIT GOTO BUILD :GIT %GITDRIVE% CD\\ CD %GITPATH% IF NOT EXIST %MANGOSPATH% git clone git://github.com/mangos/mangos.git %MANGOSPATH% git --git-dir=%MANGOSPATH%\\.git pull origin master IF %SVNMODE%==Y GOTO SVN GOTO BUILD :SVN %SVNDRIVE% CD\\ CD %SVNPATH% IF NOT EXIST %MANGOSPATH%\\src\\bindings\\ScriptDev2 TortoiseProc /command:checkout /path:%MANGOSPATH%\\src\\bindings\\ScriptDev2 /closeonend:1 /url:[url]https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2[/url] TortoiseProc /command:update /path:%MANGOSPATH%\\src\\bindings\\ScriptDev2 /closeonend:1 /url:[url]https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2[/url] IF %PAUSEMODE%==Y PAUSE :BUILD %VCBUILDDRIVE% CD\\ CD %VCBUILDPATH% vcbuild %MANGOSPATH%\\win\\mangosd%SOLUTIONV%.sln %BUILDARCH% /rebuild IF %PAUSEMODE%== Y PAUSE vcbuild %MANGOSPATH%\\src\\bindings\\ScriptDev2\\script%SOLUTIONV%.sln %BUILDARCH% /rebuild copy %MANGOSPATH%\\src\\mangosd\\mangosd.conf.dist.in %MANGOSPATH%\\bin\\win32_release\\mangosd.conf copy %MANGOSPATH%\\src\\realmd\\realmd.conf.dist.in %MANGOSPATH%\\bin\\win32_release\\realmd.conf copy %MANGOSPATH%\\src\\bindings\\ScriptDev2\\ScriptDev2.conf.dist.in %MANGOSPATH%\\bin\\win32_release\\ScriptDev2.conf IF %PAUSEMODE%== Y PAUSE IF %ARCHIVEMODE%==Y GOTO ARCHIVER GOTO END :ARCHIVER CD\\ %ARCHIVERDRIVE% CD\\ CD %ARCHIVERPATH% IF %ARCHIVER%==WINRAR GOTO WINRAR IF %ARCHIVER%==WINZIP GOTO WINZIP IF %ARCHIVER%==7ZIP GOTO 7ZIP GOTO END :WINRAR rar a %ARCHIVEPATH%\\%ARCHIVENAME% %MANGOSPATH%\\bin\\win32_release\\ -ao -ad -r -ep1 rar a %ARCHIVEPATH%\\%ARCHIVENAME% %MANGOSPATH%\\sql\\ -apmangos_sql -ao -ad -r -ep1 -x*.svn-base -x*ll-wcprops -x*ntries -x*ormat -xMakefile* rar a %ARCHIVEPATH%\\%ARCHIVENAME% %MANGOSPATH%\\src\\bindings\\ScriptDev2\\sql\\ -apscriptdev2_sql -ao -ad -r -ep1 -x*.svn-base -x*ll-wcprops -x*ntries -x*ormat GOTO END :WINZIP GOTO END :7ZIP 7z d %ARCHIVEPATH%\\%ARCHIVENAME% 7z a %ARCHIVEPATH%\\%ARCHIVENAME% %MANGOSPATH%\\bin\\win32_release\\ -r -x!*.map -x!*.exp -x!*.lib 7z a %ARCHIVEPATH%\\%ARCHIVENAME% %MANGOSPATH%\\sql\\ -r -x!*.am -x!*.in -x!*.svn 7z a %ARCHIVEPATH%\\%ARCHIVENAME% %MANGOSPATH%\\src\\bindings\\ScriptDev2\\sql\\ -r -x!*.am -x!*.in -x!*.svn GOTO END :END EXIT
EDIT: Made it work a lot better without the taskkill stuff! WOO
-
sorry for the double post but i found a way that works though it might be a little hackish. For whatever reason the spell goes to implicit target 63 (TARGET_DUELVSPLAYER_COORDINATES) as well as implicit target 31 (TARGET_ALL_FRIENDLY_IN_AREA or something like that) and implicit target 23 (TARGET_GAMEOBJECT). I didn't deal with the gameobject one but this should fix it healing everyone (just chooses a random target near the original caster and heals it)
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index b0acd37..789d381 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1661,7 +1661,11 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& } case TARGET_DUELVSPLAYER_COORDINATES: { - if(Unit* currentTarget = m_targets.getUnitTarget()) + if(m_spellInfo->Id == 71610) + { + break; + } + else if(Unit* currentTarget = m_targets.getUnitTarget()) { m_targets.setDestination(currentTarget->GetPositionX(), currentTarget->GetPositionY(), currentTarget->GetPositionZ()); targetUnitMap.push_back(currentTarget); @@ -1724,8 +1728,46 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& } break; case TARGET_ALL_FRIENDLY_UNITS_IN_AREA: + // Echoes of Light + if (m_spellInfo->Id == 71610) + { + CellPair p(MaNGOS::ComputeCellPair(m_caster->GetPositionX(), m_caster->GetPositionY())); + Cell cell(p); + cell.data.Part.reserved = ALL_DISTRICT; + cell.SetNoCreate(); + std::list<Unit*> tempTargetUnitMap; + { + MaNGOS::AnyFriendlyUnitInObjectRangeCheck u_check(m_caster, radius); + MaNGOS::UnitListSearcher<MaNGOS::AnyFriendlyUnitInObjectRangeCheck> searcher(m_caster, tempTargetUnitMap, u_check); + + TypeContainerVisitor<MaNGOS::UnitListSearcher<MaNGOS::AnyFriendlyUnitInObjectRangeCheck>, WorldTypeMapContainer > world_unit_searcher(searcher); + TypeContainerVisitor<MaNGOS::UnitListSearcher<MaNGOS::AnyFriendlyUnitInObjectRangeCheck>, GridTypeMapContainer > grid_unit_searcher(searcher); + + cell.Visit(p, world_unit_searcher, *m_caster->GetMap(), *m_caster, radius); + cell.Visit(p, grid_unit_searcher, *m_caster->GetMap(), *m_caster, radius); + } + + if(tempTargetUnitMap.empty()) + break; + + tempTargetUnitMap.sort(TargetDistanceOrder(m_caster)); + + //Now to get us a random target that's in the initial range of the spell + uint32 t = 0; + std::list<Unit*>::iterator itr = tempTargetUnitMap.begin(); + while(itr != tempTargetUnitMap.end() && (*itr)->IsWithinDist(m_caster, radius)) + ++t, ++itr; + + if(!t) + break; + + itr = tempTargetUnitMap.begin(); + std::advance(itr, rand() % t); + Unit *pUnitTarget = *itr; + targetUnitMap.push_back(pUnitTarget); + } // Death Pact (in fact selection by player selection) - if (m_spellInfo->Id == 48743) + else if (m_spellInfo->Id == 48743) { // checked in Spell::CheckCast if (m_caster->GetTypeId()==TYPEID_PLAYER)
EDIT: Just to clarify, i checked the DBC files and it doesn't have implicitTarget 63. But for some reason it still goes to that case statement. It does have EffectMechanic 63 though i don't even know where the effect mechanics are listed.
-
okay, I'm working on fixing the trinket Althor's Abacus
It trigger's spell Item - Icecrown 25 Normal Healer Trinket 2
which then triggers spell:
It has ImplictTargetA1 as 31 which is TARGET_ALL_FRIENDLY_UNITS_IN_AREA
and ImplicitTargetB1 as 23 which is TARGET_GAMEOBJECT (I'm assuming it's for healing destructible gameobjects that are friendly to you in wintergrasp).
Right now i just want to fix it so it will choose ONE friendly random target near the caster within the defined radius of (in the DBCs it's 31 yards, on WoWhead it says 40) 31 yards. I tried seeing it i could do it by just using FillAreaTargets and then choosing the first unit from the targetmap but that doesnt seem to work. So now i just want to get a random target and then push it to the targetmap.
-
probably not unless blizzard decides to revert the client.
-
it's a client limitation now. The client expects all the weapons to be in the DBC files so if it's not, it won't load the proper values to let you cast spells. I was attempting to find a way to trick the client into thinking it was a different weapon than it was (for spell casting anyway) but gave up for now. You can use unused ID's that are in the DBC files and it will work correctly but it takes a lot of time to go through them all.
-
-
hmm must have removed it. Odd. There used to be a conf setting to set their talent points.
-
it would be nice if anyone could confirm that my merge worked correctly.... no instability or anything?
I didn't include Wowuer's spell mutex locks but it should patch fine on my repo/patch.
-
i removed vehicles as it is causing crashes at the moment.
-
check your mangos.conf file....
-
for 9677+
it's also been pushed to my github repo
git clone git://github.com/caeruleaus/mangos.git git checkout mtmaps
or if you already have a clone of the mangos master just make a branch and pull my mtmaps branch into it
git branch mtmaps git checkout mtmaps git pull git://github.com/caeruleaus/mangos.git mtmaps
-
the problem is that 71610 (the spell that 71611 calls) has implicit target 63, which is TARGET_DUELVSPLAYER_COORDINATES or something along that line.
-
sorry that was my bad, for some reason the files didn't get pushed to the repository. I had to git add them. Should work fine now
-
one of the errors is that the spell is actually being casted on the person it was first cast on. hmmm ill need to look at this a little more.
-
make sure the makefile in src/shared looks like
# Copyright (C) 2005-2010 MaNGOS <http://getmangos.eu/> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## Process this file with automake to produce Makefile.in ## Sub-directories to parse SUBDIRS = Auth Config Database vmap ## CPP flags for includes, defines, etc. AM_CPPFLAGS = $(MANGOS_INCLUDES) -I$(top_builddir)/src/shared -I$(srcdir) -I$(srcdir)/../../dep/include -I$(srcdir)/../framework -I$(srcdir)/../shared -I$(srcdir)/../../dep/include/g3dlite -DSYSCONFDIR=\\"$(sysconfdir)/\\" ## AM_CPPFLAGS += -I$(srcdir)/../game -I$(srcdir)/../realmd ## Build MaNGOS shared library and its parts as convenience library. # All libraries will be convenience libraries. Might be changed to shared # later. noinst_LIBRARIES = libmangosshared.a # libmangosshared library will later be reused by ... libmangosshared_a_SOURCES = \\ ByteBuffer.h \\ Common.cpp \\ Common.h \\ DelayExecutor.cpp \\ DelayExecutor.h \\ Errors.h \\ LockedQueue.h \\ Log.cpp \\ Log.h \\ MemoryLeaks.cpp \\ MemoryLeaks.h \\ ProgressBar.cpp \\ ProgressBar.h \\ Timer.h \\ Threading.cpp \\ Threading.h \\ Util.cpp \\ Util.h \\ WorldPacket.h \\ revision_nr.h \\ revision_sql.h \\ revision.h # Get revision (git or svn) REVISION_FILE = revision.h BUILT_SOURCES = $(REVISION_FILE) CLEANFILES = $(REVISION_FILE) FORCE: $(REVISION_FILE) : $(top_builddir)/src/tools/genrevision/genrevision FORCE $(top_builddir)/src/tools/genrevision/genrevision $(top_srcdir) ## Additional files to include when running 'make dist' # Disabled packet logger EXTRA_DIST = \\ PacketLog.cpp \\ PacketLog.h # System configuration EXTRA_DIST += \\ SystemConfig.h # System Win32 files EXTRA_DIST += \\ ServiceWin32.cpp \\ ServiceWin32.h \\ WheatyExceptionReport.cpp \\ WheatyExceptionReport.h
-
try this
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 555a44b..271a55c 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1304,6 +1304,7 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& case 31347: // Doom TODO: exclude top threat target from target selection case 33711: // Murmur's Touch case 38794: // Murmur's Touch (h) + case 71610: unMaxTargets = 1; break; case 28542: // Life Drain
-
updated my repo. I removed playbot since it was commited in 9661. Added AHBot with the repair bot. Everything SHOULD be in working order (compile wont work for anything but linux and VC90, if you use the other sln files let me know and ill pm you how to fix it).
Please report errors/crashes/etc.
-
it's one of his scripts crashing the server
C:\\Users\\Administrator\\Desktop\\funrealm\\start\\mangosscript.dll
MMaps Redux
in ... acceptedOld
Posted
they work right off except that it's missing GridMapManager.h/cpp so you can't compile it. I happened to find them though lol.
GridMapManager.cpp
GridMapManager.h