summaryrefslogtreecommitdiff
path: root/src/map/guild.c
AgeCommit message (Collapse)AuthorFilesLines
2012-03-18Added Official Guild Aura Implementation bugreport:667shennetsind1-4/+33
Before: - Guild Aura would only trigger when guild master moved Now: - Guild Aura is triggered when master moves and/or when guild mate gets inside the area - Guild Aura range is no longer hardcoded, you may modify it from skill_unit_db Also: - Added new skill_unit_db target type 'guild' git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15707 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-17 - Reverted r15701 and r15702 to restore ERS for guild exp cache.gepard19841-10/+21
- Readded another fix for bugreport:5458 (crash caused by guild exp cache code freeing wrong memory area, since r15682). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15705 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-17Follow up r15701 added missing db_destroy for memory stuff.shennetsind1-0/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15702 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-17Fixed bugreport:5458 server crashing when a character with guild-exp-tax ↵shennetsind1-21/+9
kills a monster. dev note: Gepard I tried to reach you but you weren't available, so I've done my own fix although my lack of familiarity with your new system, make yourself comfortable to modify as you wish. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15701 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-13Enhanced `DBMap` implementation to allow storing integer type data in ↵gepard19841-28/+56
addition to void pointers. - Added enum for data: `int`, `unsigned int` and `void*` - Replaced generic `void*` data with `DBData` struct to hold `int`, `unsigned int` or `void*` (member of `DBNode`) - Added `db_i2data`, `db_ui2data` and `db_ptr2data` functions to cast from `int`/`uint`/`void*` to `DBData` (used in `DBMap::put()`) - Added `db_data2i`, `db_data2ui` and `db_data2ptr` functions to get `int`/`uint`/`void*` from `DBData` - Enabled statistics for new functions in `db_stats` struct - `DBCreateData` functions (used in `DBMap::ensure()`) now return `DBData` instead of `void*` - `DBApply` functions (used in `DBMap::foreach()` and `DBMap::destroy()`) now take `DBData*` as a parameter instead of `void*` - `DBMatcher` functions (used in `DBMap::getall()`) now take `DBData` as a parameter instead of `void*` - `DBReleaser` functions now take `DBData` as parameter instead of `void*` - Default releasers release data if it is `void*` (`DB_DATA_PTR`) type - `DBIterator` functions: `first()`, `last()`, `next()` and `prev()` now return `DBData*` instead of `void*` - `DBIterator::remove()` now returns `int` (1 if node was found and removed, 0 otherwise) instead of `void*` and takes an extra `DBData*` parameter for the data of removed entry - `DBMap::get()` and `DBMap::ensure()` now return `DBData*` instead of `void*` - `DBMap::remove()` and `DBMap::put()` now return `int` (1 if node already existed, 0 otherwise) instead of `void*` and take an extra `DBData*` parameter for the data of removed entry - `DBMap::put()` now takes `DBData` as parameter instead of `void*` - `DBMap::getall()` now puts data into `DBData**` buffer instead of `void**` buffer - Updated macros: - (`i`/`ui`/`str`)`db_get` and (`i`/`ui`/`str`)`db_ensure` were wrapped with `db_data2ptr` to extract data from `DBData*` that is now returned by `DBMap::get()` - added (`i`/`ui`/`str`)`db_iget` and (`i`/`ui`/`str`)`db_uiget` that get `DBData` from `DBMap` and extract `int`/`unsigned int` from it (with `db_data2i`/`db_data2ui`) - `db_put`, `idb_put`, `uidb_put` and `strdb_put` data params were wrapped with `db_ptr2data` to match new signature of `DBMap::put()` (`DBData` instead of `void*`) - added (`i`/`ui`/`str`)`db_iput` and (`i`/`ui`/`str`)`db_uiput` that put `int`/`unsigned int` into `DBMap` (first wrapping it with `DBData`) - added `NULL` in place of extra parameter for removed data in `db_remove` macros - `dbi_first`, `dbi_last`, `dbi_next` and `dbi_prev` were wrapped with `db_data2ptr` to extract data from `DBData*` that is now returned by these `DBIterator` functions - Updated `DBMap` documentation, and fixed a dozen of typos in it. - Updated rest of rA code to reflect `DBMap` changes (mostly required signature changes of `DBCreateData` and `DBApply` functions). - Fixed a bug where `DBMap::put()` would return data of a deleted entry. - Removed some unnecessary pointer casts. - Increased `showmsg.c` static buffer size to fit entire DBMap stats report. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15682 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-09Code cleanup: replaced `DBIterator` function calls with macros where possible. gepard19841-6/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15668 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-05- Guild Castle code cleanup:gepard19841-63/+93
- all changes to guild castle data are now handled first by map-server and only sent to char-server for saving - ensured that changes made to guild castle during char-server disconnection time will be resent on reconnect - actually removed definition of `MAX_GUILDCASTLE` (r15657) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15658 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-04- Guild Castle code cleanup:gepard19841-88/+52
- removed `MAX_GUILDCASTLE` limit - char-server now caches guild castles in `DBMap` - improved guild castle SQL queries to support non-default values of `MAX_GUARDIANS` - disallowed declaring guild castles on maps that are on other map-servers - map-server now requests data for all guild castles from char-server on initial connect (bugreport:287) - removed ''guildcastleinfo events'' as they were esentially duplicated ''OnAgitInit'' - optimized castle data load packets (bugreport:287) - updated WoE scripts to reflect source changes (scripts no longer need or should request castle or guild data) - updated related docs - Added `db_size` macro. - Replaced manual counting of castles occupied by a guild with `guild_checkcastles()` calls. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15657 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02Replaced some magic numbers related to castle guardians with `MAX_GUARDIANS`.gepard19841-18/+8
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15650 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02- Fixed dangling pointer caused by r15644 (partially reverted).gepard19841-4/+16
- Fixed possible memory leaks with guild castle script events. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15647 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-01Enabled `DB_OPT_RELEASE_DATA` for several `DBMap`s to simplify data freeing.gepard19841-11/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15644 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-17* Merged changes up to eAthena 15054. [ai4rei]eathenabot1-1/+1
* clif cleanup: Changed argument types of some clif functions. - Added enumeration for skill failure codes and made clif_skill_fail use it. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15472 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-11Picklog improvements:gepard19841-1/+1
- now it is finally possible to log every item players gain or lose - added 3 log types: `I` for auctioned items, `B` for buying shop transactions and `X` for all other items transactions that don't fall into another category (for detailed explanation on all log types read `conf/log_athena.conf`) - it also fixes items being logged as picked up/gained by player when in fact they were dropped on the ground due to full inventory git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15420 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-19* Merged changes up to eAthena 15036.eathenabot1-2/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15167 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-11* Merged changes up to eAthena 15032.eathenabot1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15065 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-08Performance Improvement on the guild xy timer, removed a unnecessary idb lookupshennetsind1-3/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15034 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-08- Forgot to include the ! symbol, whoopsepoque111-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15033 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-08- Changed guild member x/y timer to not process the guild if no members are ↵epoque111-0/+5
online git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15032 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-10-28* Fixed db/packet_db.txt reading not checking for max. amount of positions.ai4rei1-4/+5
* Introduced MAX_GUILD_SKILL_REQUIRE to fix inconsistency in amount of prereq. guild skills. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14985 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-30Replaced custom type 'intptr' with standard 'intptr_t'.ultramage1-5/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14873 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14* Some NPC event related cleaning.ai4rei1-2/+2
- Made event label deprecation message a warning rather than an error, as the scripts still work regardless of whether '::On' is used or not (since r6592). - Introduced constant EVENT_NAME_LENGTH (51) for all event name struct fields to eliminate size inconsistency across all objects (was 50 and 51). - Fixed event names, that are considered special attributes, were not wiped when the value was 0 (since r5707). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14817 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-16* Some cleanups related to player and monster states.ai4rei1-1/+1
- Moved user_font and bg_id out of states as they are data, not states. - Reordered members of state structs so that bitfields are packed together (less memory gets wasted). - Other insignificant code tweaks. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14795 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-10* Fixed @changegm not updating guild window interface after changing the ↵ai4rei1-2/+13
guild leader (bugreport:408, since r2622, related r3185). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14788 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-03-20* Random accumulated tweaks and fixes.ai4rei1-1/+3
- Added a error message to npc_enable, to spot disablenpc/enablenpc/hideoffnpc/hideonnpc on non-existing NPCs (related r14750). - Replaced inlined npc_name2id code with calls to npc_name2id. - Open Buying Store skill is now exempted from noskill mapflag like Vending as well (bugreport:4815, follow up to r14713). - Fixed signed constant being returned as unsigned value in get_percentage (bugreport:4765, since r12679). - Replaced strlen checks, which checked whether or not a string is empty, with first-byte checks. - Fixed enabling 'fakename' not clearing party and guild name and cleaned up atcommand 'fakename' code. - Cleaned up party/guild name code in clif_charnameack (follow up to r14737). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-30* Made remaining csv databases (guild, castle, homunculus, itemdb, ↵ai4rei1-77/+36
mercenary) use sv_readdb, where applicable (follow up to r14524, r14526 and r14532). - Few databases remain unchanged, which have either a custom layout or are otherwise incompatible with sv_readdb. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-07* Reverted r14563, due to multiple issues which render the source ↵ai4rei1-2/+2
malfunctioning or uncompilable. To be redone later (bugreport:4627). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14567 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-07Changed almost all instances of sprintf() to snprintf().Paradox924X1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14563 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-02* Added defines for guild notice sizes (MAX_GUILDMES1 and MAX_GUILDMES2).ai4rei1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14544 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-11-22* Fixed guild and guild member exp truncation issue (bugreport:4130, since ↵ai4rei1-1/+1
r14242). - Fixed guild member position, hair, hair color, gender, class and level could potentially become corrupted due to shorts being read as ints (partially since r2986). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14487 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-11-02Applied patch by xazax to clean up various bits of code across mapserver ↵Paradox924X1-2/+1
code. (bugreport:4512) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14438 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-10-11Applied Ai4rei's patch to eliminate unnecessary and redundant castle data ↵Paradox924X1-34/+0
saving. (bugreport:4471) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14420 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-10-09Replaced all nullpo_retr() calls which returned 0 with nullpo_ret() calls.Paradox924X1-28/+28
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14414 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-08-19- Implemented usage of packets 0x7fa and 0x7f7, 0x7f8, 0x7f9. These are used ↵Skotlex1-1/+1
for proper deletion of items as well as movement/spawn packets for Renewal clients. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14383 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-06-01Replaced all occurrences of 'leaved' with 'withdraw'.Paradox924X1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14319 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-05-28Fixed it so you can't add opositions during woe se.L0ne_W0lf1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14310 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-02-09Expanded range for cached and stored-in-db guild member exp (devotion) from ↵Paradox924X1-8/+8
uint32 to uint64. (bugreport:3983) Capped value when sending to client to INT_MAX to prevent confusion. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14242 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-01-25Prevented the changing of alliances to oppositions during WoE. (bugreport:3923)Paradox924X1-0/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14227 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-11-24Cleaned up leftover PACKETVER define on the charserver (followup to r14155).ultramage1-1/+1
Expanded the error message in guild_castledataloadack() to actually provide some useful info. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14168 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-06-16Fixed an exploit that makes guild skill get higher level than the max ↵Inkfish1-2/+3
defined in guild_skill_tree. (bugreport:3241) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13894 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-05-15- Fixed a bunch of invalid memory access bugs as reported by Valgrind.skotlex1-1/+1
- Updated unit_stop_walking to not move character an extra cell when it is already half-way there unless flag 0x4 is passed. (bugreport:3078) - Fixed the monster MD_CASTSENSOR code not correctly setting the monster's aggressive state. - Corrected a few compiler warnings - Changed a bit the code for SC_BOSSMAPINFO so it is not so hideously ugly. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13774 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-02-26- Fixed item Nemesis.zephyrus1-6/+5
- Fixed Tarot Card being used on Emperium. - First Part of BattleGround Implementation (please wait). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13550 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-11-22* Hunted down the simpler 64bit pointer truncations.FlavioJS1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13380 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-21Added a check to make sure a player wasn't in a guild when they accepted a ↵Paradox924X1-1/+6
guild invitation. This fixes a few possible problems that could/would arise. (Zomg. My first source commit. =x) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13317 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-09Enabled WoE SE to be run independently of WoE. Let's see how long it is ↵L0ne_W0lf1-8/+31
before something blows up, or Ultramage pulls out his hair while cursing my existence. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13202 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-04Patched a dormant off-by-one bug in guild leader changing code, which was ↵ultramage1-1/+1
triggered by r11571 and caused guild data corruption on TXT charserver (bugreport:2175). Blame goes to r3185 and r3719. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13191 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01Temporary workaround against the party/guild send_xy_timer dangling pointer ↵ultramage1-2/+3
crash that is somehow still possible (bugreport:2143). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13169 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26Replaced occurences of '-1' with the more appropriate 'INVALID_TIMER' value ↵ultramage1-1/+1
where appropriate. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12998 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-27Corrected r12662 where a guild break would trigger the OnGuildBreak event ↵ultramage1-1/+1
for all castles (even of other guilds). Corrected some x64 compilation warnings in ers/malloc files. cleaned up a case of bad variable reuse. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12666 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-27Changed the last commit so it must be called with @reloaditemdb2. ↵Kevin1-1/+1
@reloaditemdb only removes the item_data from the itemdb subsystem. If you don't like my code you can uncomment the macro I_HATE_KEVIN in item_db.c so it isn't even compiled. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12662 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-26Uncommented and cleaned up the OnGuildBreak code.Kevin1-6/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12659 54d463be-8e91-2dee-dedb-b68131a5f0ec