Commit graph

275 commits

Author SHA1 Message Date
VladimirMangos
1d8f222621 [10867] Implement templates for trainer spell data in npc_trainer_template.
New table let avoid duplication similar trainer spells for different trainers.
2010-12-13 16:39:53 +03:00
VladimirMangos
76a6e54e10 [10851] Small function order in sources update. 2010-12-11 02:46:53 +03:00
VladimirMangos
4c02094737 [10834] Cleanup shapeshift form code. 2010-12-07 14:41:59 +03:00
VladimirMangos
4ad58ecb49 [10831] Fixed crash at send mail from console
Inspired by patch from rsa.
2010-12-07 03:48:26 +03:00
VladimirMangos
b967848e42 [10823] Clear way access/set UNIT_FIELD_BYTES_*/PLAYER_BYTES* byte fields.
Fix some bugs when all uint32 field modified instead byte parts.
In some cases added byte way set/get but code line itself need additinal reserch/fix
for use correctness in line pos.
2010-12-04 11:15:19 +03:00
Vinolentus
9e071e4483 [10822] Fixed "unsigned is never < 0" warning.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-12-04 03:19:11 +03:00
VladimirMangos
b305f203b9 [10811] Use ObjectGuids in chat commands.
Still exist 15 GUID_LOPART uses in code.
2010-12-02 07:09:11 +03:00
VladimirMangos
938622bedc [10802] Use ObjectGuid in Mail code.
Some catched bugs fixed in mixed uint32/guid values using cases.
2010-12-01 15:11:08 +03:00
VladimirMangos
cc0655a402 [10782] Use Team enum types in all appropriate cases and catches bug in result fix.
* Fixed wrong arenaid use at leave arena queue.
* Fixed memory lost and etc at not virtual EndBattleground call
* Fixed crash at arena join with fake data from client.
* Code cleanups.
2010-11-25 01:11:17 +03:00
VladimirMangos
f034a9bd0a [10746] Use objetguid for other .list auras command part 2010-11-19 17:06:33 +03:00
blueboy
ee8cc71e38 [10692] Fixed wrongly use %d for guids in DB queries.
This can affect correct result in cases big guid values
(out of range for possitive part of int32 range) at x86 platforms.

Some other cases addded in addition to original patch fixes
where %d wrongly/unsafe used for unsigned values.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-07 22:10:37 +03:00
VladimirMangos
2f144d9d29 [10682] New table 'item_convert' for convertion items.
* Implment vendor at show replace BoA item with reputation requirement
  by identical item without rep. reqs for player that fit this requirements
  of original item.

* Table also can be used for store item convertion data form one team items
  to similar other team items. This case not impement but added function easy
  used for it.

* Note: strict single convert for item not created problem for both way use:
  item converted for same team or all, can't be original item for conversion to
  another team.
2010-11-05 00:41:16 +03:00
VladimirMangos
0bf8b0aa79 [10679] New table npc_vendor_template for comon item data for diff vendors.
In vendor list show own vedor items + template ites if any.
Vendor template item lists selected by id stored in creature_template.vendor_id
2010-11-04 20:22:47 +03:00
VladimirMangos
851e15c70a [10635] Convert many opcode handlers to ObjectGuid use.
Also re-enabled anticheating check for bank window open
base at .bank command access rights.
2010-10-21 10:43:14 +04:00
VladimirMangos
31c9efd219 [10629] Drop function GuidHigh2TypeId
Added ObjectGuid version Aura::GetCasterGuid()

But for prevent big problen with backporting AuraHolder
to mangos-0.12 in most cases still used old uint64 version
Aura::GetCasterGUID.

Recommended use new version where possible in clean way
as done for some cases in commit already.
2010-10-20 09:12:43 +04:00
VladimirMangos
c955941b55 [10627] Use ObjectGuid for player's selection and unit's target 2010-10-20 08:19:48 +04:00
DasBlub
61102e3b16 [10610] Renamed some functions from the Creature class
Also other classes have been affected, due to the use of search&replace.
This will probably break some patches and 3rd party libraries, so make sure to update them if required.
Thanks to Phille for the original idea and patch!
2010-10-14 22:07:04 +02:00
VladimirMangos
84a915e1b1 [10475] Implement SPELL_AURA_HEAL_ABSORB (301)
Used for example in spells 66237 and 70659.

Also rename CalculateAbsorbAndResist -> CalculateDamageAbsorbAndResist
2010-09-12 02:45:26 +04:00
VladimirMangos
82314c364a [10400] Fixed crash in .aura command for spell without auras. 2010-08-22 16:52:51 +04:00
VladimirMangos
9b3d37f0cf [10378] Avoid double lookup member slot in guild operations.
Also more wide use ObjectGuid in guild code
and fixed some uint32->uint64 guid assigns.
2010-08-19 11:17:33 +04:00
VladimirMangos
5f44c4da21 [10363] More wide use ObjectGuid in way remove MAKE_NEW_GUID uses.
Also
* Fixed some amount wrong uses low guids as full player guids.
* Add private without body ObjectGuid(uint32 const&) for catch wrong assigns low guids to ObjectGuid.
  In some cases need assign "0" guid, then use ObjectGuid() instead.
* Fixed .pdump commands work.
2010-08-17 08:22:28 +04:00
VladimirMangos
b0d42a6f67 [10347] Fixed wrong ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION (46) check.
In result wrong check characters complete
exalted reputation achievements at create or any reputation change event
with negative reputation. Fix prevent new cases but not do anything with
already wrongly recieved ahcievements.

Also:
* Avoid use PROGRESS_SET at normal achievment criteria progress update
  becase achivement/counter in normal way can't decrease.
* At achievment criteria progress loading check that progress counter less
  or equal max counter value.
2010-08-12 00:14:19 +04:00
VladimirMangos
3c5da27442 [10346] Fixed crash in .send items
Also fixed some missed cases from prev. typo fix.
2010-08-11 22:58:39 +04:00
Saeba
29383e6b7b [10344] Fixed typo in LANG_COMMAND_ACHIEVEMENT_CRITERIA.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-08-11 21:15:55 +04:00
VladimirMangos
4c838a1c31 [10342] Cleanup achievement code and add new commands.
* .achievement - let see achievement state and list criteria with progress data.
                 It provide criteria ids/shift-links for other commands.
* .achievement add - let complete achivement (set all criteria progress to max) with related events.
* .achievement remove - let reset achievement  criteria progress and undo complete state for achievement.
                 Command also partly remove rewards (title part).
* .achievement criteria add - let increase criteria progress at specific amount or to complete state
* .achievement criteria remove - let reset/descrease criteria progress and undo criteria and related achivement complete state if need.
2010-08-11 07:49:46 +04:00
VladimirMangos
8b99ac7298 [10340] Some fixes for recent chat code changes.
* Fixed crash at absent optional literal. Thanks to MysteriousSouL for reproting.
* Converted mode commands use new way parsing functions with fixing posible crash cases.
2010-08-11 02:14:10 +04:00
VladimirMangos
344dff303e [10334] Update shift-link related functions for chat command parsing.
Also

* Better single | detection as non-link case (doubled by client)
* Commands .pdump now allow quoted filename (usefull if filename path include whitespaces)
2010-08-10 00:20:58 +04:00
VladimirMangos
59e672f1bc [10331] More basic chat command parsing functions and its uses.
* Commands .debug update and .modify bit removed as redundent
* Command .debug getvalue now can output values in float/int/hex/bitstring formats
* Command .debug setvalue now ca accept values in int/float/hex/bitstring formats
* Command .debug mod32value renamed to modvaue and can add int/float or apply hex mask
  (in 3 modes: |= &= &=~ ) to value in update field
* Command .debug moditemvalue added similar .debug modvalue for item case.
* Command .npc set movetype now propertly update spawned in world creature state.
* Command .modify spell renamed to .debug spellmods and restored to working state.
* Commands .account password and .account set password now allow use quoted strings
  for passwords and then now possible set from chat/console passwords with white spaces.
* Many commands converted to new functions without modify functionality
  except better error detection in some cases at wrong command syntax use.

* Also fixed warnings in reload commands after prev. chat commit. Thanks to SkirnirMaNGOS for reporting.
2010-08-09 03:52:11 +04:00
VladimirMangos
edace1948e [10324] Implement new basic functions for chat command parsing.
* Now can be used as quotes any strings with symbols ' " [] around.
  For example can be used: .additem [Tourch] or .additem "Tourch".
  And in similar cases wher before [] or "" only canbe used in commands.

* New functions support propertly extraction shift-links as optional first args
* Also added more safe functions for extraction int32/uint32/float values.

For more wide use new functuons specialized extraction functions also need chnaged to same way work.
This is goal for future work at this part code.
2010-08-06 06:31:25 +04:00
VladimirMangos
0cc1fbe697 [10322] In chat command handlers use char* arg instead "const char*"
We in any case modify args string content at parsing in commands,
so cast it to char* early. This let avoid lot later casts.

Some other code style exist in related code.
2010-08-06 01:14:33 +04:00
VladimirMangos
685edfe7e2 [10314] Implement commands for work with areatriggers in game.
* all teleport commands support new areatrigger and areatriger-target shiftlinks
* .go trigger now let select areatrigger or areatrigger target as teleport point
* New commands:
  .trigger        - show detail info about areatrigger including all requirements
                    for teleport with shift-links to items/keys/quest
  .trigger active - show all currently activated by character areatriggers
  .trigger near   - show near areatriggers

* .lookup item now show [usable] postfix if item can be used/equipped by selected character.
2010-08-04 00:58:01 +04:00
NoFantasy
25d9fd265b [10293] Correct a not exitan...non-existin... a word that is often spelled wrong
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-30 18:26:08 +02:00
NoFantasy
fb1e8c01ef [10270] Implement basic system for reputation spillover
* Database table needs data for each faction that should give spillover to other faction(s). One faction may give spillover to max 4 other spillover factions.
* The spillover rate is multiplied with the points after bonuses and reward rate is set, Rate is given as: 0.5 for 50% gain, -1.0 for 100% loss, etc
* It is possible to restrict spillover faction by rank. If player has a higher rank with the spillover faction given in database, no spillover will be given towards this faction

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-25 17:05:34 +02:00
porteyoplait
5951ebeacc [10257] Fixed typo in "alliance" in recent commit changes.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-07-24 15:27:27 +04:00
VladimirMangos
9a6535963c [10256] New auction command with subcommands for look different auction stores from anywhere. 2010-07-24 14:29:38 +04:00
VladimirMangos
e3befa2072 [10254] Remove dependence auction data from auctioneer guid.
* Field `auctioneerguid` replaced by `houseid` and table reanmed to `auction`
  (it list auctions and `id` is auction id).
* Update related code.

* SQL update fill `houseid` field by old `auctioneerguid`
  BUT: SQL update expect that you world DB named `mangos`.
  If this not true for your case you need modify SQL update BEFORE APPLY
  in 2 placed in part "mangos.creature AS c, mangos.creature_template AS ct"

* Another small possitive result: now possible easy select auctions related
  to some auction store (1-3 is one team actions, 4-6 another team auction,
  and 7 is neutral auction store for both teams
2010-07-24 01:45:59 +04:00
NoFantasy
61990de6dd [10252] Implement reputation_reward_rate for quests and creatures
* In addition, implement "flat" reputation for quests, where a value in RewRepValueN is given. Human diplomacy will not affect the total. The rate however will be applied, where a faction is defined with a rate for quests. Value in database are expected to be *100 of the actual value given (before rate are applied).
* New database storage can contain rates for quest/creature/spell reputation and will affect the base value given as reward. When for example the quest reward for a faction should receive 30% more reputation points, the rate can be set to 1.3.
* This will fix issues with certain quests that are using the expected RewRepValueId but where the outcome has been lower than expected.
* Note that if the rate is set to 0.0 it will disable reputation gain for the faction and type.
* Reputation rate for spells (spell effect) is not yet implemented

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-23 17:50:36 +02:00
VladimirMangos
40ec688b2c [10244] Implement .stable gm command for open pet stable anywhere.
Maybe command not so useful for stable case because spell can be learned,
but it example how can be packet allowed depndent from player possibility
when some functionality base at many packets recieved from client.
Same way possible can be used for auction anywhere, maybe some other cases.

Also it will very usefull for 2.x/1.x branches where no another way... ;)
2010-07-22 08:49:15 +04:00
Laise
a32b3063a2 [10156] Add shared object for auras of same spell and move spell proc code to its own file, also spread procs by auras and effect indexes. 2010-07-07 19:08:26 +03:00
schmoozerd
c0f549244b [10126] Code style cleanup in Level2&3.cpp
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-30 20:58:00 +04:00
schmoozerd
9379e3b81d [10125] Add pool/event ids to diff creature/gameobject list output commands.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-30 20:45:12 +04:00
schmoozerd
4e1c8a2ad6 [10107] Pool/event info in .npc info and .gobject target commands
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-26 18:56:22 +04:00
Grinder
f244e68c59 [10102] Rename loginDatabase for consistence with other global db object names
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-24 02:55:26 +04:00
VladimirMangos
1eed65d5ac [10082] Drop now unused dotconfpp lib code. 2010-06-20 02:20:51 +04:00
VladimirMangos
07a931e141 [10074] Add IsPassive(SpellEntry*) function and use in cases wjern entry already known.
Some other small code cleanups
2010-06-18 02:17:51 +04:00
Laise
d8479debbb [10023] Change HandleLearnAllMySpellsCommand to learn only player's spells 2010-06-02 19:30:10 +03:00
nos4r2zod
34a1cc31d0 [9893] Fixed some spelling typos in function/structure names.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-15 11:14:03 +04:00
VladimirMangos
080727cbfa [9886] Implement new commands for account search
* .lookup account email, .lookup account ip, .lookup account name
* For new commands and for .lookup player versions use first arg as part of email/ip/name search
* Use similar output format for player/account lists.
2010-05-13 11:44:03 +04:00
hunuza
68abd76c97 [9844] Fix some whitespace errors.
Signed-off-by: hunuza <hunuza@gmail.com>
2010-05-07 12:25:12 +02:00
VladimirMangos
722135b326 [9838] More log filters and macro uses.
* LogFilter_Weather
* LogFilter_PeriodicAffects
* LogFilter_PlayerMoves
* LogFilter_SQLText
* LogFilter_AIAndMovegens
* LogFilter_PlayerStats
2010-05-05 18:46:10 +04:00