Commit graph

80 commits

Author SHA1 Message Date
VladimirMangos
1fca6de6f3 [7349] Implement spell cast depenences from area/quest.aura state store in new table spell_area.
* It allow store requirenments: area, active or rewarded quest (until possible another quest not rewarded),
  aura present at character, character race/gender.
* Listed spell can marked as auto-casted when fit requirents. In this case spell requirements checked at
  zone/subzone update (and then resurraction also), quest start/reward, dummy aura apply.
* Old hardcoded lines for similar check removed from sources and required DB support for work now.
2009-02-27 11:15:36 +03:00
Triply
8f995ce904 [7336] Implemented new BattleGroundQueue invitation system. Now it supports premade group versus premade group matches.
Added 2 new config options - InvitationType and PremadeGroupWaitForMatch - you can find more info in default config file.
This patch can cause crashes.

Signed-off-by: Triply <triply@getmangos.com>
2009-02-25 19:21:31 +01:00
VladimirMangos
1349d36270 [7333] Refactoring DestinationHolder/Traveler/Unit::SendMonsterMoveWithSpeed code.
* Move common code in appropriate functions.
* Correct select speed and 2D/3D distance for creature/player walk/fly
2009-02-25 07:03:45 +03:00
VladimirMangos
9b3daf3933 [7330] Code warnings and style cleanups. Some bugs fixes.
1) comparison singed and unsigned values
2) redundent includes
3) wrong constructor :-part field initilization
4) unused not-/*name*/-guarded args in template/virtual functions that not required like args.
5) explicitly list not implemented achievement types.

Also bugs fixed:
1) Drop wrong phase mask 0 check in WorldObject::InSamePhase.
2) ArenaTeamMember::ModifyPersonalRating incorrect work with move points in negative with infinity values in result.
3) ArenaTeam::SaveToDB code send uint64 value to string with arg format %u.
2009-02-24 01:54:53 +03:00
VladimirMangos
49255a062b [7305] Allow use datalong2 not only for set target for DB script cast but also caster (1 bit set target (target/source), 2 bit set caster (source/target)) 2009-02-19 19:58:44 +03:00
Neo2003
7d8dc0eeef Implemented gameobjects and creatures grouping (pools of them)
Groups (called pools) can be also member of any game event

Signed-off-by: Neo2003 <neo.2003@hotmail.fr>
Signed-off-by: freghar <compmancz@gmail.com>
2009-02-18 20:19:57 +01:00
GriffonHeart
9b2a772413 [7292] Implement storage for points of interest data in DB.
It can be in current state used for simplify scripting code that set POI and more advansed way later..
Call void PlayerMenu::SendPointOfInterest( float X, float Y, uint32 Icon, uint32 Flags, uint32 Data, char const * locName )
will removed after some time delay, and only void PlayerMenu::SendPointOfInterest( uint32 poi_id ) will exist.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-18 00:29:05 +03:00
VladimirMangos
2d242c86a8 [7266] Use DBC data for auction cut/deposit percents and location (auiction house id in fact).
Note: `auctionhouse`.`location` field not used after this. But not removed to simplify backporting to mangos-0.12.
2009-02-12 04:52:02 +03:00
VladimirMangos
4fd34bf101 More auction related code refactoring, 2009-02-12 04:50:30 +03:00
VladimirMangos
7c3ab4b453 Move auction related code from ObjectMgr to AuctionHouseMgr. 2009-02-12 04:50:29 +03:00
VladimirMangos
100429f29c [7252] Move all world global broadcast string (all arena/bg related) to mangos_string.
PLEASE, NOT USE string world broadcasts in real code. This function _only_ for debug purposes.

Really allow with .debug bg start bg with 1 player.
Added helps for some existed .debug commands.
2009-02-08 13:06:25 +03:00
VladimirMangos
5a4358dda9 [7250] Use bg type ids enum insted raw values and catch some bugs in result for fixing.
* Replace max bg type checks by DBC valid index check
* Use in functions and fields BattlegroundTypeId type instead uint32
* Fixed wrong use bg queue ids instead bg type ids in queue update/remove function calls.
  Many bg have same raw values for type id and queue id but some can be affected by this bug:
  BATTLEGROUND_EY, BATTLEGROUND_SA, and all areans (with small arena/team size exceptions)
* Move Battlemaster to bg type ids map fron ObjectMgr to BatteleGroundMgr.
* Remobe redundent for header itself includes for BG headers.
* Use Auction location enum instead raw valus.
2009-02-08 11:05:11 +03:00
VladimirMangos
b5da610388 Phase system development continue.
* Use WorldObject phase mask field instead explicit aura scan. This allow have phase for any world objects.
* Add phase checks to packet broadcasters/object searchers. This let correctly work say/yell/area
  and multi/random target spells/aggro assistance in phased areas or target selection.
* In GM-mode character presense (see and visible) in all phases except normal visibility efects including GM-visibility.

TODO: summoned objects phase set base at owner phase, load phase mask for creatures/gameobjects from DB, in game commands.
2009-01-31 06:06:01 +03:00
DiSlord
4ecfbcc2f5 Use spell_bonus_data table for store custom damage/healing bonus coefficients
Big thanks ApoC for help create table.
Fixed bonuses for stacked periodic
Warning need test all coefficients for correct bonus amount.
TODO:
 use this table for absorb bonus calculation
 use this table for melee spells AP bonuses
 use chain multipler in final damage/heal amount

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-28 02:23:16 +03:00
Gorlum13
4e72f3bb33 [7174] Implement new option GM.Visible for set original GM visibility state at login.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-01-25 16:26:32 +03:00
ApoC
475e8cbcf6 [7161] Implemented configurable option to allow/disallow achievements gain for GMs.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-01-24 17:42:21 +01:00
begemot
9bede601a2 [7151] Startup log cleanup and beautification.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-01-23 04:29:35 +03:00
ApoC
1718653e63 [7130] Changet all *::Update(time_t) to *::Update(uint32), there is no need to use time_t (mostly 64b) because time diffs are very small numbers and the base calculation of diff is done as uint32.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-01-21 02:48:32 +01:00
DiSlord
014ab283dd [7092] Work vs XP per level data
Add new table "player_xp_for_level" for this
Fill table data 1-79 level
Remove old code

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-16 01:00:41 +03:00
VladimirMangos
dc19fc4ca3 [7040] Move achievment rewards dat to new DB table. Implement sending item rewards by mail.
Support localization string fields for new table.
Move achievments related code and data from ObjectMgr to new AcievmentGlobalMgr.
2009-01-06 16:21:22 +03:00
VladimirMangos
7bae367084 [7039] Implement mangosd.conf options Death.Bones.* for disable bones creating from corpse in world zones or in arena/bg.
Note: in case apply insignia bones still created as required for looting.
2009-01-06 14:49:36 +03:00
GriffonHeart
5332b4496d [7026] Current arena season id and state send and setting in mangosd.conf.
Also classes and DB data for new batlegrounds/arena.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-01-05 02:20:58 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
freghar
73ca2b7a54 [6982] Implemented gmlevel-based command security
This is just a simple check if target's gmlevel is lesser
than the caller's one. If it is, an error is returned.
Offline checks for some commands are included.

That in simple words means no further .goname to a gmlevel 3 player
from a gmlevel 2 or 1 account, so gmlevel 3 can work in peace.

Signed-off-by: freghar <compmancz@gmail.com>
2008-12-29 23:54:05 +01:00
killdozer
39d1ca5ef0 [6944] Restore work after arena patch and reimplement battleground/arena announcer
Signed-off-by: killdozer <killdozer@mangos.ru>

Renumbering arena related mangos string to proper ranges and cleanup related code and DB data.
Set battleground/arena announcer disabled by default as extansion in server functionality.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2008-12-25 07:53:06 +03:00
VladimirMangos
eeabb03e2d [6937] Implement another character level requirement for heroic character creating.
Add option to mangosd.conf for set required level for this limitation or let disable limitation.
2008-12-24 05:54:49 +03:00
VladimirMangos
c1ae939fb1 Implement new mangos.conf setting HeroicCharactersPerRealm for set cstiom (default 1) amount heroic class chanarcters for account per realm.
Note: set option to 0 disable heroic characters creating.
Also non-player account not have now any limits (except 10 clinet limit) for heroic characters creating.
2008-12-21 04:40:40 +03:00
tomrus88
71b1065c8b Merge branch 'master' into 303
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/Chat.h
	src/game/Player.h
	src/game/World.h
	src/game/debugcmds.cpp
2008-12-16 07:30:23 +03:00
ApoC
a5331ab517 [6910] Implemented rewritten arenas. Original author w12x@getmangos.com
Many thanks also to:
  Balrok@github.com for long time updating.
  Triply@github.com for great work in rewriting process.
  All who I forget to name.
Signed-off-by: ApoC <apoc@nymfe.net>
2008-12-16 00:17:24 +01:00
VladimirMangos
35f54d365d Replace hardcoded client(100) and server side (255) level limtation values by defines.
(cherry picked from commit 389a1784e288f11587067d3a6d4b70cce9214cb9)

Conflicts:

	src/game/Player.cpp
	src/game/World.cpp
	src/shared/Database/DBCStructure.h
2008-12-14 23:52:32 +03:00
bloutix
f5c4fe86e8 Correctly select GM level in case heroic class.
Signed-off-by: bloutix <bloutix@getmangos.com>

Move heroic class starting level to mangos.conf

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2008-12-14 23:14:17 +03:00
VladimirMangos
c798318b7b Replace hardcoded client(100) and server side (255) level limtation values by defines. 2008-12-14 22:18:52 +03:00
tomrus88
e848a52da9 Character re-customization fix 2008-12-13 01:13:19 +03:00
tomrus88
5d4d7292b9 Merge branch 'master' into 303
Conflicts:
	src/game/Player.h
2008-12-12 18:14:49 +03:00
hunuza
0f12997ef1 [6899] Pass const reference instead of value for some strings in some functions.
Signed-off-by: hunuza <hunuza@gmail.com>
2008-12-12 14:17:37 +01:00
tomrus88
ef69f6b80c Merge branch 'master' into 303
Conflicts:
	src/game/Player.cpp
	src/shared/revision_nr.h
2008-12-09 00:32:47 +03:00
VladimirMangos
8eccdbc046 [6886] Prevent some memory losses at server shutdown. 2008-12-07 23:49:47 +03:00
tomrus88
59fb246652 Limit max player level to 100 2008-11-30 14:12:24 +03:00
tomrus88
ee7f7a0a08 Merge branch 'master' into 303
Conflicts:
	src/game/Player.cpp
	src/mangosd/mangosd.conf.dist.in
2008-11-30 14:05:56 +03:00
tomrus88
700d3cf609 Some work on Runic Power and Milling Spell Effect 2008-11-30 13:53:33 +03:00
dythzer
7ea5f922ea [6862] Some additional mangosd.conf options for player startup and gameplay customizing.
Signed-off-by: dythzer <micke223@gmail.com>

Some implementations rewrited. And suggested option names changed.
Also now gm not allowed logout instant in case fight/duel to prevent unexpected death.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2008-11-30 10:21:10 +03:00
VladimirMangos
51546c7ab7 [6858] Prevent cheating with ignore waiting in login queue.
Cheating preventing at reconect for queued session and sending unexpected packets to server.
Removed unneeded after ACE related changes kicked sessions list.
2008-11-29 08:04:37 +03:00
tomrus88
af6acab8f8 Merge branch 'master' into 303
Conflicts:
	src/game/Creature.cpp
2008-11-26 19:44:03 +03:00
ApoC
359d4d7dd3 [6844] Implemented configurable assistance aggro delaying. Some typos fixed.
Do not forget to update your config files.
Signed-off-by: ApoC <apoc@nymfe.net>
2008-11-24 01:55:53 +01:00
tomrus88
397efd4fac Merge branch 'master' into 303
Conflicts:
	src/game/SpellEffects.cpp
2008-11-18 18:08:58 +03:00
hunuza
ac00eee418 Replace some MapManager::Instance().GetMap() calls with WorldObject::GetMap() 2008-11-17 17:24:53 +01:00
tomrus88
e738198eb4 Merge branch 'master' into 303
Conflicts:
	src/game/ItemPrototype.h
	src/game/ObjectMgr.cpp
	src/shared/Database/SQLStorage.cpp
2008-11-16 17:20:43 +03:00
freghar
528a9d830a [6830] Implement custom exit codes on server shutdown/restart
Added the possibility to use custom process return values
instead of hardcoded 0 (shutdown) or 2 (restart) to allow using them
for various custom external features / better handling.

This can be used through 4 commands in ".server" family:
 - shutdown
 - restart
 - idleshutdown
 - idlerestart

Those have from now on 2 arguments, where the second (return value)
is optional:

.server <command> <time> [return_value]

If return_value is not specified, default value (0 or 2) is used.

Signed-off-by: freghar <compmancz@gmail.com>

Set restart exist code for SIGINT singnal case.
Some code simplifications for original patch.
Related code cleanups.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2008-11-16 15:00:30 +03:00
Wyk3d
3d72b06fcd [6829] Fixed a crash in ScriptsProcess when the source or target's map is looked up while it's not in world. 2008-11-16 03:28:12 +02:00
Wyk3d
766654c85d [6828] Added script name indexing for creature, gameobject, item, areatrigger and instance scripts.
* loaded all distinct script names into one vector at server startup
* added custom loaders to convert the script names to indices
* converted all the script lookup functions to use the index instead of the name
2008-11-16 03:20:16 +02:00