summaryrefslogtreecommitdiff
path: root/src/map/unit.c
AgeCommit message (Collapse)AuthorFilesLines
2007-01-16- Added function unit_escape to simplify the run-away code a bit in the mob ai.skotlex1-0/+13
- Some cleaning on the mob_ai to enable mobs to run away from their current target when they are rude-attacked by them. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9658 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-31* Refer to http://www.eathena.ws/board/index.php?showtopic=130285FlavioJS1-7/+16
- Renamed pc_checkweighticon to pc_updateweightstatus and cleaned it. - Updated pc_is50overweight to use battle_config.natural_heal_weight_rate. - Added 90% weight check when attacking. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9600 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-29- Skill use is now cancelled when you use it while cloaking, and the ↵skotlex1-0/+6
uncloaking process warps you. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9591 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-12- Modified the skill damage packet and the knockback packets to mimic aegis ↵skotlex1-1/+1
sent packets for such skills. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9471 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-06- Renamed the mob mode Cast-Sensor Melee to Cast-Sensor idle since these ↵skotlex1-5/+4
mobs really should only be cast-sensing when they are not after another target. - Added a Aegis Mob Type -> eA Mode table conversion to the mob modes doc. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9426 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-06- Cleaned up the implementation of map_foreachinmovearea so that the number ↵skotlex1-19/+31
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-11-29- Now gvg_dungeon mapflag will activate the other mapflags which are ↵skotlex1-0/+1
required: pvp, pvp_nocalcrank and pvp_noparty/pvp_noguild (they are forced to off if gvg_dungeon is on and viceversa) - Cleaned the pvp ranking code so that it takes effect even if pvp_nocalcrank is active WHEN the map is a gvg_dungeon one. - Cleaned up a bit the pvp ranking timer code. - Now homuncs and their masters are the only ones who can use support skills on the homunc. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9360 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28- Now when a player's "attack once" request fails due to range, the client ↵skotlex1-6/+4
is told to move to the target to attack it. This sort of fixes the problem of the client SPAMMING the server with attack requests from afar without even approaching the icewall x_X git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9340 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27- Corrected KiriKage's range so it works correctly when used by non-players ↵skotlex1-0/+1
or when use weapon's range is used. - Changed service for you's flags so it affects all players on range. - Corrected the skill animation for Absorb Spirits - Cleaned up a bit the implementation of how Gravity Field blocks the caster from moving. - Mob class-changing will fail if the new class is the same as the previous one. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9325 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-22- Fixed pets/homunc trying to be deleted twice when they had 0 intimacy and ↵skotlex1-4/+6
their master logs out. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9290 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-20- You now can't use other skills while a skill-induced "window" is up ↵skotlex1-0/+2
(teleport, refining, etc). However, be warned that we aren't quite sure how the server will clear this out if you decide to hit cancel on the window, so skill-blockage is likely to happen (temporary solution: whenever you change maps or warp the state is reset server-side). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9276 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-20- Fixed itemskill variable being cleared before parsing the skill, this ↵skotlex1-8/+20
causes auto-casted teleport to fail to skip the skill menu. It is now cleared on castend_pos/id directly. - The item skill/lv variables now use 0 as default to signal they aren't being used (instead of -1) - Skills with state 'move_enable' will now do a "walk path" check between target cell/object and caster instead of a "shoot path" check, this would fix skills like snap or charge from letting you "teleport" across pits. - Fixed a possible double map_addblock when hatching a pet egg right before going through a warp. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9275 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-17* Fixed potential crash in IRC processing message with '%' using *printf.Lance1-0/+1
* Fixed memory leaking caused by homun_data not freed when removed. * Minor adjustments to sign/unsign in script commands. modified Changelog-Trunk.txt modified src/map/irc.c modified src/map/script.c modified src/map/unit.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9245 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-13- Volcano/Deluge/Violent Gale are now interchangeable, in the sense that as ↵skotlex1-7/+4
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-08- Moved the duel functions to pc.c since they are so totally out of place in ↵skotlex1-4/+16
atcommand.c - Fixed Spider Web not ending when hit by a fireelemental attack. - Cast-time reductions from status changes will not be executed until right before casting, to prevent status changes from ending when attempting to cast and the attempt fails (invalid cells, not enough sp, wrong target, etc, etc) - Added check to prevent Wand of Hermod from seeking for a partner to encore, since the partner is supposed to be the warp. - Moved the duel auto-reject on logout from map_quit to unit_free - Corrected the mob spawn reading code so that the event-name can be up to 50 characters long (which is the actual event length) and so that it can read spaces within them, it will also strip the leading/trailing quotes if you use them so that the event is actually found on mob-death (so you can do stuff like "My NPC::OnDead" as a valid event). - Moved the homunc inherit speed from the master from status_calc_pc to LoadEndAck, since the hom's speed matches that of the master each time the master changes maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9173 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-31- When Kaizel (or super novice rebirth skill) triggers, you get debuffed now.skotlex1-2/+2
- Modified the player_cloak_check_type and monster_cloak_check_type settings. 1 makes it check for walls, 2 makes cloaking NOT end on normal attacks, and 4 makes cloaking NOT end when using skills. The default setting for players is still 1, but for mobs the default has been changed to 4. - Non-players can now use all skills while hidden. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9109 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-20- Fixed Charge Atk being able to go through chasm/pits.skotlex1-11/+11
- 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-09-29- Added a check un unit_run when unit_walktoxy fails. Should fix running ↵skotlex1-1/+15
getting you stuck sometimes when running on diagonals near obstacles. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8900 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-18- High-Jump is usable everywhere now, except that on maps where it ↵skotlex1-0/+3
previously failed, now will just make you jump in place. - Fixed TK_RUN as per packets provided by AuronX. - Corrected Ki Explosion to have range 1 and to take your weapon's element. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8797 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-18- Modified the Asura code (again), hopefully movement sprite issues are ↵skotlex1-1/+1
fixed now git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8793 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-15- Now mobs won't do a distance check to lose their target on every ai ↵skotlex1-1/+1
iteration, but only when they finish walking (unless you set monster_ai&1) - The chase distance before a mob gives up following a player has been increased from view-size (range2) to min-chase (range3). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8773 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-14- Shadow Jump no longer goes over walls.skotlex1-1/+1
- Insignificant cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-14- Corrected Smokie's pet script to use petskillbonus instead of "bonus"skotlex1-2/+1
- 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-08- Unified the rest and ganstar paradise code into a single function.skotlex1-2/+1
- Moved the Happy State trigger to the regen function, it now triggers at the same time the SPTIME does. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8681 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-08- Removed sg_miracle_skill_duration, replaced it with ↵skotlex1-1/+3
sg_miracle_skill_min_duration and sg_miracle_skill_max_duration, to specify a range for the duration of the skill. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8679 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-07- Removed the Warmth "stacking" code.skotlex1-0/+21
- Added back the effect of /doridori to skill-SP regen - Implemented a rough version of Angel of the Sun/Moon/Stars, it has a low chance of triggering on doridori-boosted SP-regen events. - Added sg_angel_skill_ratio to specify rate at which the Angel skill triggers. - Added unit_cancel_combo which takes care of ending a combo time and resuming normal attack 'inmediately' - Cleaned up some the SG_HATE code, you can't change hate targets anymore. - Increased duration of Miracle of the Sun/Moon/Stars to one hour. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8664 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-02- SC_REGENERATION's val4 now holds the RGN flag of what is blocked rather ↵skotlex1-0/+2
than blocking all types of regen. - LK_BERSERK will now only block natural regen on state-end. - SC_EXTREMITYFIST/SC_DANCING/SC_EXPLOSIONSPIRITS will only block natural sp regen and not skill regen - SC_REGENERATION blocking will be cancelled on logout now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8600 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-31- Added setting attack_walk_delay which specifies whether a character should ↵skotlex1-1/+3
(or not) be able to move inmediately after starting a normal attack (battle.conf). Defaults to 0 since that's what Aegis uses. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-30- Updated HLIF_CHANGE to work as explained by Tharis -> It now adds 30*lv ↵skotlex1-0/+2
vit and 20*lv int, is dispelled on warp, and can-act delay is 5+5*lv minutes. Hp/Sp is no longer set to 10 after a forced expiration. - Added instant skill unblock in skill_[merc/pc]block_start when the duration passed is less than 1. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8547 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-28- Restructured CG_MOONLIT so that it is a ground effect like the other Encores.skotlex1-4/+4
- 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-27* Optional macro MEMSET_TURBO for faster low-level memory initializations.Lance1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-24- Added setting clear_skills_on_warp to specify when a character's ↵skotlex1-1/+5
land-based skills are deleted when the caster changes maps. Defaults to all types. - Should have fixed Brandish Spear not passing the flag to skill_attack, causing it to do miserable damage. - Warp Portal will no longer be removed when caster steps through it (this is left to the new clear_skills_on_warp setting) - Cleaned up status_percent_change to switch equations when the target has high hp to prevent overflows, also it will directly take hp/maxhp when a rate of 100 or higher is passed to prevent calculations. - Traps and Land Elemental fields are no longer automatically removed on map change (handled now by clear_skills_on_warp) - traps_setting &2 no longer does anything (handled now by blah blah) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8469 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-21- Cleaned up some more the regen_data structure, so that skill/sitting-skill ↵skotlex1-6/+0
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-20- Gravitation now only blocks the caster from using potions.skotlex1-15/+16
- Corrected Madness Canceller not letting you walk while the effect lasts. - Splitted yet again ASC_BREAKER into a two-part attack. This time the int-based damage is a MISC type attack, and gets reduced by skills as such. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8392 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-20- Added clif_skill_fail for homunc to skill_castend_id & skill_castend_pos ↵toms1-2/+2
('skill has failed' will may be appear 2 times) - Fixed homunc skill 8016 not considered as homunc skill git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8386 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-19Fixed a possible sigsegv when deleting lif under Mental Changetoms1-1/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8367 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Fixed HLIF_HEAL healing the homunc instead of the mastertoms1-0/+1
- Fixed HLIF_AVOID not increasing walk speed of master git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8355 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Made HLIF_HEAL a self skill that auto-selects target to caster's master.skotlex1-0/+1
- Implemented SC_BLOODLUST and SC_CHANGE, cleaned up HLIF_CHANGE - Applied a correction to HVAN_EXPLOSION - Fixed Homun ASPD calculation being able to underflow and give you min speed. - Added monster_ai&128 to make aggressive mobs ignore that behaviour of always picking Homun targets above player targets regardless of who is closer. - Fixed homun info packet being unable to display HP/SP correctly once the values are above 32k. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8349 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Added guild_aura (skill.conf) setting so you can specify when it works and ↵skotlex1-1/+5
if it works on the guild-master itself. Defaults to working all the time on everyone except GM. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8342 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Little code cleanuptoms1-3/+3
- Cleaned merc_hom_evolution to avoid free'ing/realloc'ing - Fixed "args of aFree is freed pointer" on Homunc deletion git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8341 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Changed unit_free so that it receives which cleartype should be used when ↵skotlex1-5/+5
the character is still on a map. Used this on status_damage so that mobs that do not respawn when killed will properly display the death animation. - Should have fixed the signed/unsigned comparison warnings in the main regen function. - Fixed Energy Coat consuming 10x less SP per hit than it should. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8339 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Applied use of structure regen_data for a unified regen module. Natural ↵skotlex1-1/+0
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-16- @produce now can make any kind of equipmentskotlex1-9/+0
- Fixed a warning on the mob_ai - Made HLIF_AVOID and HAMI_DEFENCE cause the status change on both caster and target. - AM_REST shouldn't be checking for a range now (since it's a self skill) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8318 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15- Moved the deletion of timers from unit_remove_map to the homun ↵skotlex1-2/+0
vaporize/dead routines since unit_remove_map is also invoked whenever you warp or change maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8309 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15Homunc Timers should be disabled when the homunc is vaporized or dead an ↵toms1-0/+2
re-enabled on call/resu git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8305 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15- Cleaned up some of the pet related @/# commands, same for some script ↵skotlex1-13/+9
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-15Fixed SIGSEGV with homunc savetoms1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8288 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-14- Sacrifice no longer shows damage to self.skotlex1-30/+31
- When Asura fails, the skill display will still come off. - Cleaned up AM_CALLHOMUN so that the required item is specified on skill_require_db - Cleaned up function merc_call_homun and added function merc_hom_vaporize to handle the respective cases. - Cleaned up a bit unit_remove_map/unit_free on regards to homun. it will display the /sob emotion when the homun dies due to low intimacy. Moved removal of timers and all that to unit_free - Cleaned up function merc_hom_dead - Simplified lots of code around by using the new merc functions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8279 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-10Code cleanup on homunc, they stay in memory until player disconnect or ↵toms1-10/+24
homunc destruction git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8241 54d463be-8e91-2dee-dedb-b68131a5f0ec