summaryrefslogtreecommitdiff
path: root/src/map/unit.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-04* Corrected Icewall skill to be closer to official behavior (part of ↵ultramage1-6/+2
bugreport:38) - now works on occupied squares (previously it disappeared) - now you can walk out of an icewall square (removed code that blocked pathfinding if the origin cell was of a nonwalkable type) - added back the hack where mapcell changes are broadcast to whole map (prevents client from leaving the cells non-walkable if you warp away) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11354 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03* Cleaned up parts of skill.c related to skill unitsultramage1-2/+2
- removed some nonsense code in skill_dance_switch() (from r8876) - removed 'security system to prevent forgetting timer removal' (r1213) - renamed some skill-related data structs (had same name as variables) - commented out custom Venom Splasher countdown messaging code git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11347 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21some unimportant path.c / unit.c cleaningultramage1-12/+7
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11257 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21* Corrected skill Charge Attack as described in bugreport:67ultramage1-2/+5
- cast time is between 100% and 300% (+ infinite waiting fixed) - damage is also between 100% and 300% (doesn't increase past range 9) - added knockback that's equal to the distance to target - no longer causes teleportation on WoE grounds - if target runs behind an obstacle, the skill will still teleport you, but will not perform the attack or do knockback - this should be official behavior, so enjoy the weirdness! git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11256 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-17- Finally got some time to clean up and fix monster_ai&0x40 (chase through ↵skotlex1-1/+10
warps). It works correctly now regardless of the number of players on the source/destination maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11233 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-13- Corrected SG Miracle to trigger per attack, not per walked tile. Trigger ↵skotlex1-6/+0
rate is now 0.02% - Corrected the warmth skills not clearing up correctly the previous field when you place another one down. - Corrected vit not affecting the HP bonus that Super Novices, Ninjas and Gunslingers get. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11193 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-07- Added support for the new party invite/reply packets from the latest ↵skotlex1-0/+3
client version. - Cleared up some TODO's - Added auto-rejecting party/guild invites when the target is disconnected from the server. - Added a correction in the walking code to abort it when map_moveblock cancels the player's walking (by warping/knocking back),the default code would fail because unit_stopwalking would do nothing since the walk timer was already -1 in that moment. - Corrected mob_randomwalk to use unsigned int for the tick variable. - Changed the default @Main format to prevent crashes in the newer clients. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11134 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-31* Documented/cleaned up chatroom code and packetryultramage1-1/+1
* Added some comments to clif_changechatowner() - totally broken, see the code + topic:163829 * Implemented the chatroom display packet properly - now has 4 types: public, private, npc and non-clickable npc chatroom * Implemented the chatroom leave packet properly - now utilizes the 'kicked' flag when the user was forced to leave - TODO: banlist support to prevent re-entry, see jAthena code git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11100 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-19* Cleaned/clarified some #include relationships between headersultramage1-4/+5
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects) * Removed way messed-up script function 'unitdeadsit' * Tagged 'FIXME' lines written by myself git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-08* Cleaned up junk left in the code by the mapcache/mapindex updateultramage1-3/+3
- Added mapindex_getmapname(_ext) to help with ".gat" adding/removing - Moved related processing to the interface (prevents duplicity) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10963 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-04Some all-around code reformatting/cleaningultramage1-16/+12
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10947 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-31Renamed menuskill_lv -> Renamed menuskill_val, because people also used it ↵ultramage1-1/+1
to store stuff like map coords, inventory offsets and object IDs... git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10937 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-26* Cleaned up mob drop code, crashfix is still needed though...ultramage1-2/+1
* Reduced ignore-list length to 20, added proper reply packet * Cleaned up some very poorly written pm-ignore code (see r141) * Fixed a typo in Warp Portal code displaying an incorrect map name git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-06* Cleaned up some nasty code related to skill_blownultramage1-2/+3
- split 'direction' value from flags - moved (almost) entire direction calculating code to the outside - bowling bash now has the 'suck-in' effect (knockback is now done in the direction you were last facing, not in your-target direction) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10861 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-05* update from Skotlexultramage1-8/+18
- Fixed NPC_STOP's visual effect not clearing when the status ends - Corrected @homshuffle making the skill tree be lost. - Corrected homunculus skills being unusable if the master was sitting or inflicted by a disabling status (eg: petrify, stun) - Some fixes to the cell no stacking mod (mainly mobs would just get stuck behind each other and not properly surround you) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10856 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-22* Changed behavior of some guild-related code (according to X.4 tests):ultramage1-3/+3
- removed code that prevented Homunculus Resurrection during WoE - logging in doesn't activate the 5 minute guild skill block anymore - non-Urgent guild skills can now only be cast on WoE grounds during WoE - all guild skills now have no cast delay (previously was 1 second) - casting guild skills will now block FreeCast sages from walking - Battle Orders and Regeneration are now instacast - Restoration now has a 10 second cast time, reducible only by dex - Urgent Call's cast cannot be reduced anymore (not even by items) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10807 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-03- Fixed missing client update when 'return to savepoint' failsultramage1-3/+3
- Fixed a bad copy-paste from r10028 letting players escape jail (char was dead on login, so statuses (SC_JAILED) couln't be applied) - Added clif_standing() to clif_sitting(), and used them in clif.c - Cleaned up clif.c a bit - clif_clearchar->clif_clearunit_area, clif_clearchar_id->clif_clearunit_single git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10668 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-23- Added new flag to skill_castnodex.txt, to allow per-skill tweaking of cast ↵ultramage1-2/+3
time and delay reducibility by item scripts (cards and such) - Fixed Martyr's Reckoning never triggering for gms with all skills - Added MO_TRIPLEATTACK and RG_SNATCHER to @skillall's skill filter - Made gm_skill_unconditional bypass skill blocking (guild timer, etc) - Reverted the weird delay_dependon_agi thing (r8923, r9055, r9059) - Changed a few memsets to strncpy (reading past buffer is a bad idea) - Sped up some memset operations (multiples of 4 are faster) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-23Fixed a typo in Chase Walk code (caused by r10593)ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10609 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-20- Fixed one missed malloc->aMallocA typo, causing memory deallocation problemsultramage1-2/+2
- Some small trunk-stable formatting synchronization git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10595 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-20- Fixed Chase Walk having a deactivation cast time (should be instant)ultramage1-11/+15
- Changed status calc to allow value 0 stats; aegis allows negative values, but eA is unsigned in this regard, so ... git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10589 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19Reformatting @_@ultramage1-41/+40
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-11Re-phrased the attacker flee/def penalty config descsultramage1-19/+16
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10530 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-22- Removed the include of features.h from the console.c plugin. It is ↵skotlex1-22/+6
apparently not needed (and it was preventing compilation on FreeBSD) - Fixed bug which totally broke item group bonuses. - Added warnings when setting a pvp/gvg flag removes the other flags on the same map (gvg and pvp can't coexist on the same map) - Optimized the unequip loop when changing sex. - Removed the check that prevented you from casting soul-collect when you already have 5 spirits. - Corrected Magic Rod so it doesn't displays any skill-use animation until it triggers. - Debuff on logout&2 is again set to default, instead of removing food bonuses now it removes Maximize Power, Maximum Overthrust and Steel Body. - Corrected Steel Body's icon (it actually belongs to AutoBerserk) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10317 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17- The gain exp from resurrection config will now only work when the revived ↵skotlex1-0/+1
player has yet to reach the last level (since otherwise it can give quite a lot of exp since the last level exp just keeps piling up) - Corrected unit_canmove so you can't move if you are vending. - Corrected npc_click so it won't let you click on hidden npcs. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10281 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-11- Some cleaning of the castend_map code to prevent the menuskill variable ↵skotlex1-1/+1
from not being cleared if you made a choice but the skill was not triggered (due to silence, stun or whatever). - Cleaned up a bit the Charge Attack casttime equation, should prevent infinite casttime when the distance is 0. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10213 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-27- Changed a bit the Moonlit code to prevent an infinite loopskotlex1-2/+2
- Changed clif_skillcasting definition to take as argument the element of the skill. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10083 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-20- Removed Magic Rod's cast bar.skotlex1-1/+0
- Corrected warning on login sql. - Gravitation no longer causes damage flinch. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10038 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11- Removed function clif_movepc as it's no longer invoked anywhere.skotlex1-2/+2
- Removed clif_move as it's not needed anymore. - Renamed clif_moveunit to clif_move and uncommented it. This is the new "unit movement" packet to use (the code should be robust enough to always invoke a clif_insight/outsight for characters going in/out of sight). - Because of this, many functions that handled the return of conv_str need to be changed, I haven't finished doing the conversion process because I must go already, if someone else can continue, please do so (I will resume work on this in ~5 hours git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9987 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-07- Corrected the pet/homunc data not being free'd if the player logs out ↵skotlex1-15/+23
before being authed. - Initialized player's speed on pc_setnewpc to prevent homunculus copying a speed of 0. - Added comment to reloadbattleconf specifying that some settings do not take effect inmediately. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9975 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23- Minor cleanupsskotlex1-0/+1
- Adjusted menu-based skills so you can't reuse the same skill until you've dealt with the menu. - Adjust autospells so that removing an autospell works when the script of the card that removes the autospell is triggered before the script that adds the spell. - The "requested name of gm-hidden char" warning will not be displayed when the object in question is an NPC (since you can use Intravision to do this). - Corrected the header format for invisible npcs. - Venom Knife no longer takes into accounts cards or EDP. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9905 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-21Applied a consistent look to all header files (copyright, ifdefs)ultramage1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9891 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-16- Modified the "guardian" spawn script command, it no longer receives a ↵skotlex1-7/+4
"amount" argument (since that only leads to trouble), if the class is negative, it'll pick a random class the same way the monster spawn script command does, and if you pass a spawn position with coordinates equal or less to 0, a random spot in the map will be taken. However you can't use "this" as a map name anymore since these script commands do not need an attached player. - Guardian spawning will now fail if you attempt to spawn a guardian that already exists on the same position. - Collapsed clif_party_main_info and clif_party_join_info into a single function: clif_party_member_info - Collapsed config settings "sg_miracle_skill_min_duration" and "sg_miracle_skill_max_duration" into "sg_miracle_skill_duration", which defaults to an hour. - Miracle of the Sun, Moon and Stars can now retrigger to lenghten it's effect, and it is cancelled on warp/map-change. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9871 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-09- Fixed skill usage being blocked if you use Weapon Refine and there is ↵skotlex1-4/+4
nothing available to upgrade. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9839 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-09- Updated the 'unit walk' to functions so they stop your attack if it's ↵skotlex1-4/+18
possible to walk. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9837 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-08- Fixed a bunch of probably incorrect logical comparisons. skotlex1-1/+1
- Some small updates on the skill_db file (some max levels of npc skills, some elements for skills that didn't really need them) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9823 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-03- Fixed the flag parameter not working on npcshopattachskotlex1-5/+25
- Modified unit_walktoxy so it accepts flag &4. When used, this flag will delay the walk request if the character is unable to move because of the can't walk delay. This is used for player and homunculus walk requests. - Removed the delay walking code from clif.c as it's now handled by unit.c - Added a possible crash protection in clif_skillfail when the player is without a connection. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9782 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-01- Corrected homunculus's aspd being halved after using some aspd adjusting ↵skotlex1-6/+0
skill. - Cleaned up the resetskill function (even though the functionality is the same as before) - Corrected item 1459 (unused Partizan with no slots) being wlv3 instead of 2 (as the other two partizans) - Changed the name of the four second versions of homunculi to not have a 2. (so you get a 'lif' and not a 'lif2' - Removed flag graffiti from abracadabra - Updated the stun times of Bash, Npc-StunAttack and meteor Assault to 5 secs as reported by Ultra Mage (still pending more data to see if all others need updating as well) - Removed the log info message 'created homunc...', and the 'loaded homunc' message will only show if the save_log is enabled. - Some cleanups git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9760 54d463be-8e91-2dee-dedb-b68131a5f0ec
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