summaryrefslogtreecommitdiff
path: root/src/map/map.h
AgeCommit message (Collapse)AuthorFilesLines
2007-01-09- Changes to script buildin functions:FlavioJS1-3/+12
* functions checking if a player is attached as soon as possible. * functions that required a player attached and would crash if none was there terminate the script now. (others keep the current behaviour to maintain full backward compatibility) * removed the unused flag argument in guildskill. * bonus,bonus2,bonus3,bonus4 use the same function now (remains the same script-wise) * added an optional parameter to setcart,setfalcon,setriding so it's possible to remove the cart/falcon/mount or select a specific cart * other cleanups git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9636 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07Undid the memset->malloc_set replacementultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Changed the script source from unsigned char* to const char*.FlavioJS1-3/+3
- Updated plugins Makefile. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9532 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-08- Moved attackedcount to md->state and made it an unsigned char.skotlex1-2/+1
- Autospell delay time is now the skill's full delay. - Removed variable attackedplayers, since Aegis is state driven, the best approximation to Aegis would be to use the last player that hit the mob. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-06- Cleaned up the implementation of map_foreachinmovearea so that the number ↵skotlex1-1/+1
of arguments passed is less. - Moved setting a mob's chase/attack states from the mob_ai to unit_attack and unit_walktobl. - Cleaned the change-target/cast-sensor code to account for the new mob modes. - Cleaned up a bit the mob ai sub hard function. - Made the monster_active_enable config setting take effect on mob load. - Updated the doc explaining mob modes. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9422 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-05- Massive EOL normalization & 'svn:eol-style native' flag setting for all ↵FlavioJS1-1491/+1491
txt/conf/h/c files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-03- Removed sd->sex since it's redundant (we can always use sd->status.sex)skotlex1-1/+1
- If somehow a player logs out and it's saved with 0 hp, on login his state will be set to dead as well so he can respawn (otherwise that leads to a stuck char) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9398 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-01- Fixed txt-converter compilation. skotlex1-1/+1
- Added my_global.h include to login converter - Removed sd->char_id since we can use sd->status.char_id instead. - Small speedup in STRECOVERY, and made it not unlock a mob's target. - Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was consuming 2 grenades instead of one). Also added a "explosion effect" when their time runs out. - gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will force pvp ranking gain/loss on gvg_dungeon maps now. - Now when coming out of hiding land-effects will trigger on the character. - Made the pc_setpos message when being placed on an unwalkable tile tell you which player triggered it. - Fixed land effects not taking effect inmediately on map-load when the invincible timer is disabled. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9374 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27- Updated the status change field "option" to an int rather than short. This ↵skotlex1-2/+2
fixes the option values for xmas/sightblaster not getting set, which could explain why some people crash when equipping weapons while in xmas suit. - Also did the same to opt3 since the new packet version uses LONG to store the opt3 values. - Made the clif weapon view function use the EQI constants instead of ints. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9337 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-21- Moved ignoreAll to state.ignoreAll so it saves some space.skotlex1-1/+1
- Cleaned up clif_parse_Wis to prevent crashes from forged packets (using a strlen() on a string where you don't know if it's null-terminated is a NO-NO) - Cleaned up the implementation of the ignore list so it's more efficient. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9282 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-19* Hack protection from packet monkeys in clif_parse_NpcSelectMenu. Lance1-1/+1
modified Changelog-Trunk.txt modified src/map/clif.c modified src/map/map.h modified src/map/script.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9261 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-14- Characters with Karma may fight amongst them anywhere.skotlex1-0/+2
- Added mapflags partylock and guildlock, which lock the state of the parties/guilds on said maps. partylock blocks user party requests to create/invite/leave/kick, while guildlock blocks user guild requests to create/invite/leave/expel/make alliance/make opposition/delete alliance/delete opposition/break git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9216 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-13- Volcano/Deluge/Violent Gale are now interchangeable, in the sense that as ↵skotlex1-1/+1
long as one of these is out, casting any of the three will not consume gems, and will use the remaining time of the previous one. In turn, Land Protector will now always consume gems on every cast. - Small cleanup in the Land protector code which may fix it not blocking AoE skills. - Fixed the interpretation of "head_dir". Removed setting head_dir to match character direction in the whole code. Now it is only reset to 0 (look forward) when unit_setpos is invoked, or when a character begins walking. Thanks to FlavioJS for figuring out how the client parses the head direction. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9206 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-07- A few reorders and type-changes in the map_session_data structure for ↵skotlex1-8/+7
better memory allocation of the variables. Also fixes a size conversion warning. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9169 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-20- Fixed Charge Atk being able to go through chasm/pits.skotlex1-3/+1
- Moved the homunculus DB information from the player structure to the homun structure. Modified the homunculus creation packets to hold this information during creation, also, all initial values are handled by the map-server, the char server only assigns it a homun ID. - Removed target_id/attacked_id from homun_data as it wasn't really used. - Codes cleanup (removing of commented code mostly) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9031 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-11- Removed login-sql connection variables from the map-server (the hell, ↵skotlex1-6/+0
these aren't used at all!) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8969 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-11- Removed useless inter_athena settings (they were doing absolutely ↵skotlex1-6/+0
nothing): read_gm_interval, gm_db, gm_db_level, gm_db_account_id, use_new_sql_db git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8968 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-11- Corrected the mob damagelog structure so that you can't exploit it by ↵skotlex1-0/+1
switching characters. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8963 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-03- Reverted declaration of run_script to normal since it appears there's no ↵skotlex1-1/+1
longer any memory leaks related to it. - Returned the MAX_PC_BONUS value to 10. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8928 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-02- Renamed nopenalty mapflag to noexppenalty. Using nopenalty will turn ↵skotlex1-1/+1
on/off both noexppenalty and nozenypenalty now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-14- Corrected Smokie's pet script to use petskillbonus instead of "bonus"skotlex1-1/+2
- Added constant map_flag_gvg2 which tags gvg maps independently of whether woe is on or off. - battle_calc_gvg_damage will be invoked in gvg maps regardless of woe time. - NPC_MENTALBREAKER now zaps matk*lv SP based on observations by Tharis. - md->class_ will be changed on mob-class-change to fix all class-change related bugs. On respawn, the spawn data will be used to revert to the original class. - Improved the pet skillbonus timer for "eternal bonuses" cases where the bonus delay is 0. - Adjusted gvg long damage rate to 80%, magic damage rate to 60% git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8748 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-13- Modified the nocommand mapflag so you can specify the GM range that is ↵skotlex1-1/+1
blocked from using commands (eg: "prontera.gat mapflag nocommand 40" disables commands to characters in the GM range 0~39) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8733 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-09- Moved perfect_hiding from state to special_state, so that it clears out ↵skotlex1-1/+1
when you remove your pet. - Probably fixed the Taekwon Rest skills. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8687 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-07- Changed the default of sg_angel_skill_ratio to 10 based on recent ↵skotlex1-1/+1
information from Tharis. - Cleaned up the doridori parse clif function. - Moved doridori_counter to state.doridori - Merged some of mpeg's work on NJ skills git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8665 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-06- Fixed the memset in status_calc_pc, corrects some mysterious bugs such as ↵skotlex1-2/+1
item-drop bonuses suddenly not working anymore. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8658 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-04- Some cleanup of how mobcount works.skotlex1-0/+7
- status_calc_misc will now be invoked in status_calc_bl even on the first call, since status could have gone up due to skill bonuses. - Moved max HP/SP calculations to before invoking status_calc_misc - Simplified distance and check_distance to use "aegis" methods (greater of dx/dy = distance), there's a new define in map.h called CIRCULAR_AREA, when set, the previous method is used, and map for each in range calls will also check for distances, making most ground skills and battle system use real circles instead of squares. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8609 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-31- Moved the intimacy penalty of HFLI_SBR44 and HVAN_EXPLOSION to ↵skotlex1-1/+1
skill_counter_additional_effect - Simplified skillnotok_hom by using an invocation to skillnotok - Hopefully fixed BD_ADAPTATION - Homun won't lose any intimacy on death now. - Homun will be saved together with the master now (as long as the homun is active) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8564 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-28- Restructured CG_MOONLIT so that it is a ground effect like the other Encores.skotlex1-4/+0
- Modified SC_DANCING so that val1 can contain both skill id and skill lv, removed SC_MOONLIT git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8526 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-27Tweaked MEMSET_TURBO abit, temperory disabled GCC version.Lance1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-26- Small adjustment on the mob_ai code which could fix mobs not chasing you ↵skotlex1-1/+1
if you hit them from the maximum possible diagonal distance. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8490 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-24- Cleanup/typo on homunc's codetoms1-1/+1
- Modified @reloadmobdb & @reloadskilldb to reload homunc's db too git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8476 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-21- Cleaned up some more the regen_data structure, so that skill/sitting-skill ↵skotlex1-1/+20
related data is optional (since only players have it). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-20Fixed a warning when using cap_value(x, 0, x) on an unsigned valuetoms1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8388 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Applied use of structure regen_data for a unified regen module. Natural ↵skotlex1-29/+19
and skill-heal is handled by this structure, while sitting-skill-heal is still player dependant (mostly because the other object types can't sit) - Added SCB_REGEN constant to identify status changes which alter regeneration - Modified SC_REGENERATION so that if val4 is set, the status actually blocks regen rather than increase it, this is what now Frenzy uses instead of "canregen_tick" - Cleaned up the status calc code for homun by moving it from status_calc_bl_sub_homun to status_calc_homun (where it should had always been) - Moved the Fleet watk code to status_calc_watk where it belongs. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8334 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-17- Corrected map_random_dir algorithmtoms1-3/+0
- Fixed homunc natural heal and little code cleanup git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8327 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-17- Fixed being unable to recast Adrenaline Rush to reset the duration timers.skotlex1-0/+28
- Added structure regen_data to handle unified regen logic for bl objects. Eh... this is wip, so it isn't used yet, just the preliminar structure is there... (somehow I lost all other progress I had done on it x.x) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8323 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15- Cleaned up some of the pet related @/# commands, same for some script ↵skotlex1-4/+1
commands. - Moved s_pet structure from map_session_data to pet_data, this enabled the removal of a few redundant values in the pet_data structure (name, class, equip) - Pet offensive skills who's inf value is self will be casted on the pet now (for stuff like Grand Cross) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8301 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-14- Removed support for negative autosave intervals, instead added a ↵skotlex1-0/+1
minsave_interval setting which specifies which is the minimum time between character saves. Default to 100ms (map_athena.conf). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8280 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-13- Removed @itemcheck as it was totally pointless.skotlex1-2/+2
- Corrected states killer/killable being easily dispellable. - Fixed the totally wrong text messages being used for @killer/@killable related atcommands, added appropiate entries to msg_athena - Magic and Misc attacks will now get type "flee" when they do less than 1 damage, this blocks them from causing additional status effects when they are blocked. - Cleaned up a bit the Basilica code, it should now properly end when you walk. - Added an unnecessary qty check when inserting cards :P - Fixed some logs not working when you enabled all logs. - Corrected unmute being a level 60 command by default (should be 80) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8256 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-09- Adjusted some the dance/song/encore code so that the source of an ensemble ↵skotlex1-1/+1
will always get checked, so that walking out of an ensemble skill should make it end now. However, since ensembles requires two characters and only one is marged as source of the ensemble.... this may not be finished, some kind of check is required so that the partner will also get a force-check and not just he who started the ensemble. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8213 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-08- Changed the map_freeblock_unlock code so that when there's an "already ↵skotlex1-1/+3
free'd pointer" error, the memory manager will print out the invoking function rather than map_freeblock_unlock, this should help fix it up next time it happens. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8189 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-07- Cleaned some of mpeg's updated work.skotlex1-1/+2
- Fixed HT_BLITZBEAT hitting neutral characters when it auto-triggers. - Simplified the Tatami Gaeshi code. - Fixed AS_SPLASHER doing full damage on everyone except targetted char instead of the other way around. - Fixed KAENSIN clearing out SUITON cells and viceversa. - The spawn area is now seen as range rather than absolute for mob spawn lines. This means that x,y,10,10 will spawn the mob on a 21x21 grid around the given x,y point. - Some clean up of the mob-spawn code. Now you can specify negative areas, so that a spawn location such as 100,150,0,-1 will spawn a mob always on x=100, but any Y value of the current map. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8165 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-04- Changed function itemdb_group to itemdb_group_bonus, it now calculates the ↵skotlex1-1/+5
total group bonuses of a player for a given item. - Changed itemhealrate to itemgrouphealrate, added a structure itemhealrate to allow storing item-healing bonuses per item. - Modified bAddItemHealRate so it can receive both item-id and item-group values (since the first item-id is +500, there's no risk of mixing them up). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8136 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-03- GAHH, I am sick tired of typing TBL_HOMUNCULUS/BL_HOMUNCULUS all over the ↵skotlex1-3/+3
place. The idea is that the TBL* versions are supposed to be easier to use than the standard structure definition, but using TBL_HOMUNCULUS as an alias to struct homun_data kinda beats the purpose! Renamed them all to TBL_HOM/BL_HOM. - Fixed using the right-hand weapon's size modifiers regardless of which weapon was being used. - Simplified the ignore-size check by making the Weapon Perfection check be done when specifying the flag, also moved the size-fix property of riding spear-knights to status_calc_pc. - Removed variable hd from status_calc_bl as it's not needed. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8112 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-30- Added bNoMiscDamage setting so you can specify misc-damage blocking from ↵skotlex1-3/+2
skills. Modified battle_calc_damage so that even Pressure and similar skills will be affected by this setting. - Removed SC_LANDPROTECTOR as it wasn't being used by anything. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7982 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-18- Added a proper check to make aggressive mobs never override homun targets ↵skotlex1-13/+0
regardless of distance. - Removed a bunch of homun-related variables that are not needed at all. The alive condition is removed, now the code checks for the hp value to know if the homun is alive or not. - Cleaned up a bit the skill-id function, homun skill checks (such as delay and skill-lv learned) should be correct now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7727 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-17- Should have fixed the Cart Termination damage code to be scaled correctly ↵skotlex1-0/+1
when you change the max cart weight. Thanks to The Ultra Mage for the error clarification. - Implemented Grandcross weird property where if there's noone on the path it'll hit twice for the skill's reported damage, and when there is (or you cant knockback the target) it'll do a splash attack that hits twice for 500% to all affected targets. - Some cleaning of the combo code. TK Rankers will now get their combo-time extended each time they trigger a kick, enabling them to do "unlimited combos". - Modified the autosave function to use a sweep across the player db instead of across connected clients. This will cause non-connected players (like autotraders) to also be saved on a regular interval, may help with possible data-loss from said characters on unclean shutdowns. - Added function map_foreachpc - Removed the code that forces aggressive mobs to go after a Homun instead of their master (no reason why there should be such a condition). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7721 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-17Orn's and Albator's Homunculus system, finally, YAY!!DracoRPG1-13/+24
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7706 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-13- Changed the default save interval to 5 minutes. Added support for ↵skotlex1-1/+1
specifying fixed save-intervals by using negative values. EG: - Save interval set to 300 (5 minutes): all characters will be saved in equal time-slots, so that everyone is saved every 5 minutes regardless of number of players online. - Save interval set to -1000 (1000 ms): One character will be saved every second, regardless of amount of characters online. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7657 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-10- Added login-char packet 0x2737. Sets all characters offline (login-server ↵skotlex1-1/+0
side). - Cleaned up char server "set all offline" implementation to remove only characters from the map-server from which the packet was invoked. It will also now correctly kick/set-character offline from the map-server if they are connected. - Cleaned up the char-sql reconnect code. It no longer sets everyone to offline. - Removed setting "kick_on_disconnect", servers will no longer kick characters out when there's a disconnection. Instead, it'll use the most logical approach: Set characters into a "lost" state when there's a disconnection, on reconnect, resent the list of online-characters, do a sync, and let the difference be characters to be removed. Also, the map-server won't release character data until it's saved and the ack returns from the char-server to prevent data loss (all this data is resent on reconnect for saving anyway). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7600 54d463be-8e91-2dee-dedb-b68131a5f0ec