summaryrefslogtreecommitdiff
path: root/src/map/map.h
AgeCommit message (Collapse)AuthorFilesLines
2008-03-20- Added SC_ARMOR_RESIST, used by Undead Scroll, gives you resistance against ↵zephyrus1-0/+1
elements and it's can be used with Resist Potions. - SC_ARMOR_RESIST and SC_BENEDICTIO ends if you change your armor. Tested on iRO. - If you call SC_ELEMENTALCHANGE with val3 = 1 it will use the level in val 1, and not a random value. * Barricades: - Fixed a bug when @reloadscript. Barricades should be destroyed too. - Unbreakable barricades are only wall type (not shootable) According to Doddler info. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12407 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-18- Added the official adoption method.zephyrus1-0/+1
( Parents need to create a party, invite a novice/first class, both equip the wedding rings and someone just right click the future baby ). - Fixed a bug sometimes client don't show job's bonus stats. - Removed the problematic adoption script. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12389 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-13Replaced some foreach-based functions by their inlined iterator equivalents.ultramage1-3/+3
Changed the dynamic mobs system, so that the flag that indicates whether a particular mob can be unloaded is stored in the mob's respawn data structure. Cleaned up related parts of the source code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12358 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-13- Added a fix for Abracadabra, this skills allways should use minimum a ↵zephyrus1-0/+9
Yellow Gem. - Added some code "suggestion" to handle the new Barricades, please test it with: - @barricade <x> <y> <size> <direction> <killable> <Event Name> - @killbarricade <Event Name> - If x and y are -1, it will use your current position. - Direction 0 Vertical 1 Horizontal. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12352 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-12Removed one mob data variable related to dynamic mobs that I found to be ↵ultramage1-2/+1
redundant. Changed MAX_MOBSKILL (max. amount of different skill entries per mob) from 50 to 40 to reduce memory consumption a bit more. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12350 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-12* Added a message to let know the client if the mail inbox is full.zephyrus1-0/+1
* On LoadEndAck added a flag to know if the client is allready changing map or just doing teleport/fly wing. - This will reduce a little bit some info send to the client that only need to be updated on map change. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12349 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-11Replaced clif_countusers() with a more efficient alternative (thanks to the ↵ultramage1-0/+1
fact that pc_db now only holds fully authed players only). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12339 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-07- Added config settings mob_active_time and boss_active_time, what they do ↵skotlex1-1/+1
is specify a duration during which monsters will keep running their active AI after all players have left their vecinity. Their current defaults are set to 0 (disabled). - Script induced status changes can now be reduced by stats/cards (but only trigger rate is reduced, not duration) - Battle delay timers will now check if the target player has the invincible timer active or not. - Adjusted mob_ai_sub_hard to return a bool indicating whether the AI was executed or not. - Adjusted clif_damage and clif_skill_damage to set the endure type value based on dmotion and damage, rather than hardchecking for SC_ENDURE. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12315 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-05- Merged Auction Search and Register. It seen to work fine, so you can test ↵zephyrus1-0/+5
those. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12301 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-02- The last, i hope, fix to the mail system.zephyrus1-0/+1
* kRO have a possible way to read mail by just sending the open mail window packet to the client. This protection adds a mapflag town, to set the only maps that allow mail operations. because there is no way to know when client closes the mail inbox window. * git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12279 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-28- Added cash shop support. (i need to add documentation, working on it).zephyrus1-1/+3
- An charcommand is still required to add/remove points. - Scripts command only requires to work on #CASHPOINTS and #KAFRAPOINTS. - I called it "Kafra Points" just because it's how comes in the translation. I allready know this changes between Oficial servers. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12264 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-28Adjusted const.txt's cell type numbers to match changes in r12247ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12260 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-27* Removed NODAMAGE and ICEWALL cell types (mem usage back to normal)ultramage1-6/+0
- Icewall now uses basic cell type 5 (nonwalkable, shootable) - as a consequence, you can now warp to a nonwalkable cell - but only via gm command or scripted warp bug (hopefully :) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12247 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-26- Added new settings for autotrade on battle/misc.conf (you can read ↵zephyrus1-0/+1
descriptions there). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12243 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-22* Removed code in socket.c that tries to avoid send buffer overloading, as ↵ultramage1-1/+1
there is a scenario (many players and charserver disconnect) where mass char saving produces huge ammounts of data to send (see r11503) * Cleaned up player respawning code (bugreport:1022) * Increased the max amount of different autocast skills from 5 to 10 * Added a missing function declaration, for real this time (followup to r12229) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12232 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21- Fixed new guilds displaying online-connect member count at 0 rather than ↵skotlex1-9/+3
1, and the guild master not knowing it is one (eg: it cannot edit the guild notice of a newly created guild until relogging). - Fixed acc_reg2 parsing screwing up the char_id and subtracting 2 from it rather than passing it as it is. - Extended the auth_node/auth_db system in chrif.c to handle log in/out and mapserver-change procedures. This way players are not in the main dbs when they are not "active", which blocks potential invalid accesses to them. - Replaced states auth, waiting_disconnect and finalsave with active. - Cleaned some the party/guild login and creation procedures, removed the party_sent/guild_sent states. - Removed a redundant guild_check_member call which is beyond not-needed and into the realm of wasting resources. - clif_parse will no longer process packets from !sd->state.active players, this also makes checking for finalsave uneccessary (since players re already removed from the maps and dbs by this point, so you can't access them in any other way) - Separated the roles of unit_free and map_quit, the former will handle cleaning structures from the player so it can be free'd safely, while the latter performs additional routines which are unique to characters logging out normally (map-server changes will invoke unit_free and bypass map_quit). - Removed pc_isplaying, quit_db, map_knowsaccount, MAPIT_PCISPLAYING among other functions/defines which are no longer needed due to the new login scheme. - Cleand up a bit some code in the clif_send(_sub) functions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12223 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-14- Some optimizations to @noks (now using a Status Change timer).zephyrus1-5/+1
- Added support to Self|Party|Guild options. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12205 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-14- Added some new config settings: homunculus_autoloot, idle_no_autoloot, ↵zephyrus1-0/+9
max_guild_alliance. - Added a code to activate a Kill Steal protection and the required mapflags. * (I will explain this later on forums). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12203 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-07- Fixed Freezing Trap doing no damage (changed type from misc to weapon)skotlex1-2/+1
- Changed suiton's element to water (apparently fixes not being able to use water-based skills on it) - Fixed Landmine doing no damage (decreased trigger range to 0 to match its splash range) - Fixed the disguise commands using the wrong variable when attempting to disguise as an npc. - Fixed a compilation warning on CELL_CHKNODAMAGE (which is a totally bad-ripoff of basilica cells anyway) - Corrected and optimized npc_remove_map's npc array cleanup (@reloadscripts no longer report 'too many npcs per map and related dangling pointer crashes are fixed) - Removed suspicious, yet totally unused npc_data variable 'n' - HP loss item scripts can no longer kill you. - Corrected the item-drop-rate check to avoid duplicate entries in @whodrops after a @reloadmobdb - Cleaned up and optimized map_addnpc (there are never any gaps in the npc array so npc_num always points to the last valid entry) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12180 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-04- Some code cleanups.zephyrus1-1/+7
- Added new Cell types (NoChat and NoDamage) - Added JobChangeLevel and FreeSKPoints to #stats - Added a Crash protection in clif_send with invalid fd values. - Merged a missing update in TK Mission. - Added script command 'getmapflag' - Merged some new Status Change to Stable. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12175 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-03Fixes to Devotion (see topic:153345)ultramage1-1/+1
- removed totally fake Devotion packet from Marionette Control code (see r3934) - fixed one devoted chars array management code bug which caused chars to be included in the array multiple times, producing various problems (also see r3934) - the link will now re-display when coming into view range - the link will no longer break if the devotee walks away, but instead, if he receives damage while being out of range of Devotion git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12171 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-03* Added an iterator to map.h/c.FlavioJS1-0/+19
Will be used instead of map_getallusers, which has problems with dangling pointers (returned array isn't updated). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12170 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-30Added back the GRF_PATH_FILENAME variable and commandline parameter.ultramage1-0/+1
Removed confusing /tool/mapcache/ configuration directory, changed code to use /conf for this purpose. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12154 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-26Some random cleaningultramage1-3/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12141 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14* Client packet correctionsultramage1-0/+1
- 0x01df is not 'gmreqnochatcount', but for requesting a player's account name via right-click menu (which currently can't be done) - added /remove and /recall, aliases to /shift and /summon - added /changemaptype, which alters a single cell's gat type - gm kick will no longer exit the client (now it goes to the login screen) - removed the quicksort invocation in /ignore code git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12076 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14Simplified the BL_CAST macro (see topic:166795)ultramage1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12072 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-09- corrected duration of sphere mines to be 30 secs regardless of skill levelskotlex1-8/+0
- Corrected duel_count/duel_list (you DON'T place variables in a .h file! That is what 'extern' is for) - Script command warpportal now places a warp in its initial state (as if a real warp portal was casted) - Updated dispell to also not remove the following effects: Hindsight, Inc Hit/Atk Rate (NPC_POWERUP), Nen, TK stances and tumble, warm and speedup1 (the other speed potion) - Chase-walking characters can now loot. - Hiding characters can't drop items now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12036 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04Modified the map_setcell() code to to use a boolean flag instead of needing ↵ultramage1-38/+29
SET_ / CLR_ pairs of defines (topic:174323). Also removed script object 'setcell', added script function 'setcell'. - Now you can manipulate cell information without needing @loadnpc - You can also manipulate the terrain ('gat') type itself, using the new cell_walkable, cell_shootable and cell_water constants (currently the implementation uses bit flags too, so to get the type you want, you need to adjust the flags one by one) - This breaks current scripts, so please adjust places that use setcell (also be sure to _only_ use predefined constants, not direct numbers) - Details can be found in the script reference. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12009 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03Changes to reduce the number of map cell typesultramage1-16/+2
- Pneuma now again works via status change (see r3969) - removed unused CELL_SAFETYWALL - removed custom CELL_REGEN, it just increased regen rate (r1192, r1518) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12005 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03Map cell mechanism rewriteultramage1-91/+114
- defined a data structure for map cells (replaces 3 various cell arrays) - both terrain (gat) and dynamic (cell) information is now stored as C-style bit flags instead of #defines and bitmasks - added map_gat2cell() and map_cell2gat() for terrain type conversions - changing terrain information via 'setcell' is temporarily disabled - mapserver startup now takes longer, as it needs to adapt mapcache data to internal representation, cell by cell (new mapcache format anyone?) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03Moved extra junk from map_addblock/map_delblock to where it logically ↵ultramage1-4/+2
belongs (loadendack/unit_remove_map), removed flags and _sub macros git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12002 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03Removed map_data's block_count, as (quote Yor/ja2160), "Perhaps useful for ↵ultramage1-12/+9
debug, but uses memory AND CPU for nothing." (block lists are linked lists, they don't need count tracking) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12001 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-31* Added code to reject double logins in clif_parse_WantToConnection and ↵FlavioJS1-1/+2
added debug messages to detect possible double logins that escaped. * Isolated accounts that are waiting for the quit ack. The rest of the game logic no longer has access to them though the id2sd/charid2sd dbs. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11998 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-27* Corrected description of scope and npc variables in script_commands.txt.FlavioJS1-1/+1
* Made temporary character string variables not have a limited length. (now all temporary string variables don't have limited length) * Made temporary character variables reuse free positions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11984 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-27* Tweeked the declaration and initialization defines for vectors.FlavioJS1-3/+3
* Made do_sockets leave the for loop as soon as the readable number of sockets returned by select is found. * Made all posix compliant systems that support it and FreeBSD >= 5.1 (implements it but doesn't have the posix defines) use the precise and consistent tick() implementation. * Minor tweek to HEAP_SEARCH (same variable can be used in from and to). * Fixed the map server not exiting when make_listen_bind fails and returns -1. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11983 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-26Moved distance-related functions to path.c/hultramage1-11/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11981 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22- Corrected mob spawn utilization of the delay1/delay2 values (one is ↵skotlex1-2/+1
respawn delay base, the second is random variance added on top of it). Cleaned up related code. - Changed abit map_add_block to prevent adding a player object which is invalid (not authed, waiting to be disconnected) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11964 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22Path code cleaning...ultramage1-11/+1
* Added map/path.h, moved path-related function headers to path.h. * Removed the macroed _real() path functions. * Modified some functions to use boolean return values instead of 1/0 or 0/-1. * Modified path_search_long() to allow a NULL output pointer (in which case a temporary local buffer will be used instead). * Removed an unused ->path_half member variable from struct walkpath_data. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11958 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18- Cleaned up a bit the format of skill_db.txt (that comma next to the skill ↵skotlex1-0/+1
name looks ugly if you ask me) - Corrected skill_db reading to properly trim the skill name/descs. - Added a mobid_db in map.c to handle mob lookups faster. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11943 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14Guardian hp handling code removal (see bugreport:342)ultramage1-3/+4
- removed guardian hp from the castle data structure, database, savefiles and various script functions (use upgrade_svn11914.sql) - removed guardian hp calculation and manipulation from the castle manager npc, now the hp values are updated by the server itself (glitch: when castle defense changes, all guardians are healed to full) - tweaked script function 'guardianinfo' to provide some data needed by the manager npc (currently available are hp, maxhp and visibility); also, it doesn't need a player attached to execute anymore The whole thing is experimental, use at your own risk (seems to work though...) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-06- The default event script behaviour is to trigger on labels rather than ↵skotlex1-10/+1
NPCs now. - Removed several script config options which break NPC compatibility when you mess with them (event_script_type, event_requires_trigger, die_event_name, kill_pc_event_name, kill_mob_event_name, logout_event_name, login_event_name, loadmap_event_name, baselvup_event_name, joblvup_event_name) - LoadMap events no longer set the variable "@maploaded$" to the name of the new map. - Optimized/simplified the code now that the previous config options were removed. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11859 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-05- Made the struct weapon_atk lhw in status_data a static member rather than ↵skotlex1-2/+1
a pointer as requested by Ultra Mage. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11858 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-22- Changed the status_change structure to use dynamic rather than static ↵skotlex1-4/+9
memory to hold the individual status changes, this should have a noticeable impact on the server's memory consumption. - Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power). - Since I am unable to fully test, watch out for any bugs~ git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21- Moved subtype from struct block_list to struct npc_data.skotlex1-4/+3
- Fixed some compilation warnings. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11772 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-18* Replaced jA's way of allocating npc shop data with a simple dynamic array ↵ultramage1-2/+4
that gets allocated during loading and freed on unload - automatically fixes bugreport:404, which would otherwise require manipulating the npcname_db (the original author didn't, hence the bug) - now a supporting variable 'count' is used for tracking the length instead of an extra dummy entry at the end of the shop list - partially removed the MAX_SHOPITEM restriction (if this was written properly, the system could support an unlimited amount of entries) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11753 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-17Made OnTouch zone dimensions be stored as radius instead of diameter.ultramage1-4/+4
Cleaned up some overly complicated area calculations. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11750 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-03Added script function 'strnpcinfo', for increased npc awareness (originally ↵ultramage1-0/+1
from jAthena). Updated script reference doc. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11650 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02Removed some long-unneccessary debug messages (from r1105).ultramage1-3/+3
Removed function skill_count_target() because it's a duplicate (see topic:169337). Renamed skill_get_pl to skill_get_ele (because it retrieves element ids). The block_list structure now uses the BL_ enums instead of 'unsigned char'. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31* Added names to the SC_ and SI_ enums, now they can be used to properly ↵ultramage1-8/+2
indicate where such values are to be used (replaces usage of 'int') * removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3 * removed support for @go-ing to your memo points * simplified the overly verbose @memo command; now re-uses pc_memo() * cleaned up pc_memo(), now uses semi-correct packet replies * Minor code cleaning/formatting git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27- Improvements to the mail system.zephyrus1-0/+1
- Added a sql patch, renaming "read_flag" column to "status" on the mail db. - Need more testing. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11583 54d463be-8e91-2dee-dedb-b68131a5f0ec