summaryrefslogtreecommitdiff
path: root/src/map/npc.c
AgeCommit message (Collapse)AuthorFilesLines
2012-04-29A minor memory improvement, and some curly brace love.shennetsind1-9/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16008 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-29Yet another performance improvement: Shut Down processing is now about to 7 ↵shennetsind1-19/+5
times faster. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16006 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-29Follow up r16004 >_<" some not-supposed-to-be-comitted debug messages ↵shennetsind1-19/+11
slipped in. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16005 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-29reasonably-sized performance improvement: @reloadscript is about to 3 times ↵shennetsind1-23/+29
faster. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16004 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-28- Updated the script engine to make use of the DBMap* structure for storing ↵epoque111-2/+2
variables (for Ind <3) - Fixed missing new-lines at the end of various files causing warnings git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15997 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-24Fixed memory leak on MvP tomb system, killer name now uses static buffer. ↵greenboxal21-1/+1
(bugreport:5615) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15954 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-21Added mvp tomb system.greenboxal21-0/+27
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15908 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-21Fixed bugreport:5586 SC_CAMOUFLAGE can be removed by using RA_CAMOUFLAGE ↵greenboxal21-1/+1
again, also portals won't warp players under this status. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15902 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-11Minor performance improvement. server no longer wastes processing time ↵shennetsind1-15/+21
creating the awfully long spawn packet when there is nobody in the map it is being spawned in (for mobs & npcs). this also makes server boot faster. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15856 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-11minor improvement on NPC parse processingshennetsind1-13/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15853 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-19 - Script label db now utilizes `DBMap`'s ability to store integer-type data ↵gepard19841-2/+2
(follow-up to r15682). - Some minor code cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15734 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-13Enhanced `DBMap` implementation to allow storing integer type data in ↵gepard19841-18/+27
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-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15668 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02Minor NPC code cleanup: timer labels.gepard19841-72/+25
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15648 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-29Some NPC code cleanup (event labels).gepard19841-57/+20
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17Fixed bug with official npc idle timer thing, bugreport:5343shennetsind1-2/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15598 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-14Removed deprecated memory manager macros (follow-up to r14916).gepard19841-4/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-31 * Added display name to warps created with `@addwarp`, so their name is ↵gepard19841-1/+1
visible in `@mapinfo 2` (bugreport:1491). * `@mapinfo 2` now also displays unique NPC name if it's different than display name. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15534 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30- Removed more trailing tabs.brianluau1-6/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15527 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30- Removed trailing tabs, and fixed some spacing.brianluau1-3/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15524 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-14Fix to progressbar exploit, bugreport:5199shennetsind1-0/+7
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15442 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-14Fixed problem with OnTouch on NPC ID 139, blame on r14993, bugreport:5206shennetsind1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15441 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-11Picklog improvements:gepard19841-16/+4
- 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
2012-01-09Fixed battle configs `boss_delay_spawn`, `plant_delay_spawn` and ↵gepard19841-23/+2
`mob_delay_spawn` not being properly applied if changed during runtime (with `@reloadbattleconf` or `setbattleflag`) (bugreport:5204) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15416 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-27Fixed an issue, players were able to see disabled NPCs with maya purple ↵xazax-hun1-0/+6
card. (bugreport:2221) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15288 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-24* Merged changes up to eAthena 15040 (follow up to r15245, fixed some errors).brianluau1-2/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15248 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-24* Merged changes up to eAthena 15040.eathenabot1-10/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15245 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-17- Replaced log_config.enable_logs constants with LOG_ enums that existed ↵brianluau1-4/+4
since r9599. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15150 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-16RE cashshop fix, bugreport:4764shennetsind1-1/+84
-- requires a msgstringtable.txt modification or client will crash (will be in the client svn asap) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15137 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-14- Fixed floating shops being accessible from any location through 3rd party ↵epoque111-1/+8
programs - TODO: needs amending for the walking glitch (bugreport:5016) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15099 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-13Small clarification of the error message after OnTouch trigger fail ↵GodLesZ1-1/+1
(bugreport:4964) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15088 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-10- Renamed 'RRConfig' folder to 'config'.brianluau1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15052 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-06- Fixed undefined reference when compiling under Linux (patch for r15017)epoque111-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15018 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-06- Added support for additional item information when OnSellItem is calledepoque111-1/+28
- Added information is refine, attribute, identify flag and the item cards git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15017 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-05Merging RREmu into rAthena -- quite a few stuff yet to be renamed, but we'll ↵shennetsind1-3/+41
get it sorted. Some of the stuff included in RREmu that is now part of rAthena: - RE Drop Rate Modifier - RE Experience Rate Modifier - RE Weapon MATK - RE Shield ASPD job-specific penalty - RE Cast Time - Renewal-specific item DEF - 3.1 classes. - All-New Mounts - Official Magical Reflection - And other perks, such as fully-functional @mapflag also merged eAthena 15006 into rAthena. For Bugs, Comments and Suggestions: http://rathena.org/board/tracker/ git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15009 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-11-12* Fixed npc class HIDDEN_WARP_NPC (139) being sent to the client, causing ↵ai4rei1-1/+1
client crashes in poring war. It's a server-side "sprite" only. - Updated Aegis NPC ID constants from current npcidentity.lub (569~603). - Reintroduced HIDDEN_WARP_NPC script constant, which was removed by accident (since r14679). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14993 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-09-20* Applied map flag update patch provided by Daegaladh. Will mess with custom ↵L0ne_W0lf1-0/+2
restricted items. - Adds a reset mapflag which is checked when using the Neuralizer. - Syncronizes the item_noequip_db bitmasks with with skill_nocast_db. - Updates mapflags, and both skills and items which are restricted. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14961 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-09-08* Fix C++ compilation issues.flaviojs1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14955 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-30Replaced custom type 'intptr' with standard 'intptr_t'.ultramage1-10/+10
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14873 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-22Added enum e_skill_flag to represent the values of struct s_skill's ↵ultramage1-4/+6
complicated 'flag' field. Reordered the enum values so SKILL_FLAG_REPLACED_LV_0 goes last and arithmetic can be done on it safely (for storing skill level values). This also adds support for skill levels higher than 10. Fixed several places where SKILL_FLAG_TEMPORARY was not handled properly, and instead was considered as one of the saved skill level values (resulting in skill level -1). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14861 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-17* Improved error reporting during monster database and spawn data reading.ai4rei1-4/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14827 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14* Moved bitfield 'boss' inside 'spawn_data' and 'mob_data' into the ↵ai4rei1-1/+1
respective state struct (from r13813, follow up to r14795). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14818 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14* Some NPC event related cleaning.ai4rei1-10/+10
- 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-05-14* Fixed map-server printing deprecation message, when monster event label ↵ai4rei1-0/+8
was used as transport for special attributes (small/large monsters etc.) in script command 'monster' and related commands (bugreport:1274, since r6592, related r5707). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14814 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-03-20* Random accumulated tweaks and fixes.ai4rei1-2/+6
- 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
2011-03-15* Fixed monsters getting warped when stepping on an NPC warp when at least ↵ai4rei1-1/+1
one of the bits of setting 'mob_warp' was set (bugreport:4766, since r12757). - Fixed option 'monster_ai' referring to setting 'mob_npc_warp' rather than 'mob_warp' (follow up to r8135). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14744 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-03-14* Fixed a typo in npc_touchnext_areanpc (NPC's map being used as it's ↵ai4rei1-1/+1
x-coordinate), which caused ::OnTouch_ invokation to affect different area than intended (bugreport:4814, since r14097). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14743 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-06* Fixed NPCs with closing parenthesis in their name could not be duplicated ↵ai4rei1-2/+7
(bugreport:3235). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14695 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-14* Replaced remaining occurences of '-1' with 'INVALID_TIMER', where ↵ai4rei1-14/+14
appropriate (follow up to r12998). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14670 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-30* Fixed improper use of itemdb_search. It does not return NULL but a dummy ↵ai4rei1-1/+1
item, if the item id is invalid. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14642 54d463be-8e91-2dee-dedb-b68131a5f0ec