summaryrefslogtreecommitdiff
path: root/src/map/skill.c
AgeCommit message (Collapse)AuthorFilesLines
2014-11-26Update Fire Expansion to official formula for all levelMichieru1-7/+12
Fix Full Throttle Order of Calculations For Stat Increase/Decrease By Status's Mega Thanks to Rytech
2014-11-24Correction, safetywall still consumes sp when cast on LP.GrumpyLittlePanda1-1/+6
2014-11-24* 1st Transcendent Spirit, monster position lag fixesMichieru1-3/+8
- 1st Transcendent Spirit will now work as on official servers (#116) * The max total stat that is granted by the skill is now BaseLevel-10 with a maximum of 50 instead of always 50 * It will now work as Marionette Control and calculate the bonus at cast time rather than overwrite all existing bonuses * Agi Up and Blessing will now cancel the soul link - Fixed various problems that caused position lags on the client (#118) * Added a define ACTIVEPATHSEARCH in mob.c; if active (default and official), monsters will only grab targets if the walk path to the target is shorter or equal their search range; search range depends on whether the monster is moving or not (range2 for standing monsters and range3 for walking monsters); this requires a lot of CPU load, if it causes trouble, just comment the define for old behavior * Fixed a bug that made monsters display "irregular movement with position lag" continuously when a status change ended that changed their walk speed * OFFICIAL_WALKPATH now also applies to monsters * If the path search fails while a unit is already moving, we will now issue of fixpos packet so that the unit does not only stop moving on the server, but also on the client * Direction fixes - Updated the config setting attack_direction_change from 15 to 0 (official value); that means that a unit's direction will no longer change when it attacks; knock-back effects from e.g. Firewall will depend on the last direction the target walked into instead (bugreport:1322) - Ensured that the default direction of a monster is always "north", so that immobile monsters will now always be knocked back to the south by e.g. Firewall on default settings, unless a skill like e.g. Backstab changes their direction (bugreport:1322) - Fixed a bug that stopped characters server-sided and caused position lag when closing a skill menu * Magnum Break damage fixed - Targets two cells away will now only take 100%+10%*level damage (#108)
2014-11-17(Bugs 5237 and 7979)GrumpyLittlePanda1-9/+13
- Land Protector now behaves more like on official servers * Land Protector now protects from units being placed on it, no matter if they have splash range or not * Land Protector no longer protects from damage from units not outside Land Protector that splash inside * Meteor Storm no longer shows meteors falling if they would land on Land Protector * Pneuma can no longer be placed next to Land Protector * Safety wall no longer consumes gem if cast on LP. * Also cleaned up the code a bit, so the checks are done where they should be done - Ground skill splash ranges updated to their official values * Lord of Vermilion places units in a 11x11 area with 3x3 splash range each * Storm Gust places units in a 9x9 area with 3x3 splash range each * Heaven's Drive places units in a 5x5 area with no splash range * Venom Dust now has a splash range of 3x3 and is consequently larger than before - Storm Gust's knock-back behavior updated to official * Each of Storm Gust's units will knock back "Away from center" * As units in the south-west are processed first, the knock-back direction will usually be north-east * At the edges the knock-back direction will be "to the outside" * Land Protector and Ganbantein will influence the knock-back behavior strongly, e.g. if Storm Gust has a hole in the middle, it will have a "suck in" effect * Added a config option for those who want the old "random direction" behavior from eAthena
2014-11-16Whitespace cleanup (no code changes)Haru1-341/+490
This includes, and is not limited to: mixed or wrong indentation, excess whitespace (horizontal and vertical), misalignment, trailing spaces. Signed-off-by: Haru <haru@dotalux.com>
2014-11-10Fix interfaces methods usage.Andrei Karas1-6/+6
In some places was used direct methods.
2014-11-03Merge pull request #363 from EPuncker/masterMichieru1-0/+3
Added 4 new permissions
2014-11-03* No cell stacking implemented (official version)Michieru1-3/+3
- Split config cell_stack_limit into custom_cell_stack_limit (previous feature) and official_cell_stack_limit (see below) - Expanded map_count_oncell by a flag parameter, currently only one flag is supported: only count standing units (needed for official cell stack feature) - Added a new function map_closest_freecell that will return the closest free cell using the same order that official servers use - Monsters will now actively search for a free cell when starting to walk randomly and when unlocking target - When any unit finishes walking (regularly) and is not on a free cell, it will now actively search for a free cell - Step actions will be delayed until a suitable cell was found, they will even be executed when the player walked slightly out of attack range - Monsters will now stop instantly if their target is completely non-existent * This is mainly for looters that had their loot taken * Hide and most other situations still use the configuration setting monster_chase_refresh Mega Thanks to Playtester
2014-11-03Merge branch 'master' of github.com:HerculesWS/Herculesshennetsind1-20/+14
Signed-off-by: shennetsind <ind@henn.et> Conflicts: src/map/battle.c
2014-11-03Added missing type check to skill_delunitgroupshennetsind1-1/+1
Signed-off-by: shennetsind <ind@henn.et>
2014-11-01Fix clearance, should work only on mob, party or self and skill can't be ↵Michieru1-12/+1
cast on all players that are not in the party (bug:7050)
2014-10-31- If you now cast Icewall on an existing ice wall cell, the duration (HP) ↵Michieru1-2/+3
will no longer be refreshed Thanks to Playtester
2014-10-30Fixed Bug#8012malufett1-2/+1
-http://hercules.ws/board/tracker/issue-8012-bonus-bvariablecastrate-and-bfixedcastrate-not-working-properly/?gopid=21893#entry21893 Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2014-10-26- Can't cast icewall more than once on the same center cell. Special thanks ↵Michieru1-4/+9
to Ind - Service for you now work properly on all skill level. - Fixed a problem that sometimes randomly a status change was removed on logout although it shouldn't. Special thanks to Playtester
2014-10-25HPM Hooks UpdateHercules.ws1-1/+1
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2014-10-25Sight Blaster and other skill fixes, magic reflect, crash, trap display and ↵Michieru1-0/+4
monster behavior fixes - Fixed cast time of Sightrasher in pre-renewal (700ms -> 500ms) - Official Sight Blaster behavior (bugreport:6945, partially bugreport:144) * Sight Blaster's AoE is now 3x3 even in pre-renewal (it was originally larger so it hits traps before they trigger) * Sight Blaster will now prevent traps from triggering as long as they are knocked back * Fixed a bug that caused Sight Blaster to not work on traps and ice walls at all * Sight Blaster will no longer expire when the attack was reflected * Sight Blaster will now expire when hitting an ice wall * Sight Blaster will now properly protect you from being attacked from its AoE range - Sight, Ruwach and Sight Blaster will now check for a target every 20ms (previously every 250ms) - Step action will now be canceled when being knocked back (skills won't be executed anymore when knocked out of range) - When knock back magic is reflected it will no longer lead to the caster being knocked back (related to bugreport:6945) - Activated traps can no longer be hit - Fixed a problem that left "trap ghosts" forever on the screen when a trap was knocked out of the screen - Monster behavior fixes * Monsters will no longer be able to do normal attacks when hiding * If out of any reason a monster on "attack" state can't move and can't do normal attacks, it will now use "attack" state skills * The order of monster thought processing is now equal to official servers - Fixed some potential map server crashes Mega thanks to Playtester (rathena b88e95381d6a7)
2014-10-24pc_isriding* / pc_setriding* cleanupHaru1-6/+6
- pc_isriding is now renamed to pc_isridingpeco, since that's what it checks (to avoid confusion). - pc_hasmount is added, to check for any of Peco, Dragon, Mado Gear, Wug Rider. - pc->setridingdragon is added. - pc->setridingwug is added. - pc->setfalcon type is changed. - pc->setmadogear type is changed. - pc->setridign is changed to pc->setridingpeco to avoid confusion. - Changed direct accesses to sd->sd.option to the proper pc_is* accessors, where applicable. - Special thanks to Kisuka. Signed-off-by: Haru <haru@dotalux.com>
2014-10-18Fix bug:7454Michieru1-28/+0
* Official Icewall implementation and other fixes - Reverted all the icewall-related changes done in SVN r15777 and following as testing shows they aren't official and are actually pretty exploitable (bugreport:7412) - Instead implemented the official icewall characteristic that monsters can only leave an icewall cell to the west or south, the changes include: * The "sight" path check no longer checks for the current cell so standing on an icewall allows you to see/attack into any direction * The path finding will still ignore the current cell as before but the walk routine will not allow to walk east or north while standing on an icewall cell * This leads monsters in the situation where they go through an AI loop not allowing them to escape the icewall (if their target is north or east of them) * Monster in this situation will use idle skills and if they get attacked will use their rudeattacked skills if available, similar to traps like Spiderweb * Added a configuration icewall_walk_block that allows to configure how long a monster should go through the AI loop before the server allows it any movement, this "safety" system is official and seems to equal about 75 AI loops; if you want to disable the whole icewall system so that monsters don't get stuck in icewall at all, just set this to 0 * Here are videos from jRO showing how this system works: http://ragdo.blog56.fc2.com/blog-entry-763.html - Implemented the official calculation for "direction"; now you will be considered horizontal/vertical/diagonally aligned with a target cell in the exact same way as on official servers, this is for example used to determine whether an icewall or a firewall should be horizontal, vertical or diagonal; the only thing that is still unofficial is the default direction (officially always "west"); effectively now there are more situations considered diagonal than before - Further cleanups on the idle skill use code for immobile monsters and monsters near a player but without a target (now skill using will always go via mob_unlocktarget) * This also fixes that monsters switched to idle mode and start to use idle skills one second too late Mega thanks to Playtester (rathena 5540d89cb0e)
2014-10-18Correctly fix bug:8225 gentle touch revitalize now reduce damage correctlyMichieru1-1/+4
2014-10-16Fix warning when compile in linuxMichieru1-2/+2
2014-10-15Fix Hovering Booster should be equip to cast HoveringMichieru1-0/+8
2014-10-10Fix Kyougaku make client crash and update the formula to official (bug:7975)Michieru1-11/+10
2014-10-08HPM Hooks UpdateHercules.ws1-9/+9
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2014-10-08Update Hovering to it's official formula. (bug:8384)Michieru1-4/+17
2014-10-04Fix skill Weapon Crush (bug:6985)Michieru1-2/+2
2014-10-02Recode crazy weed to work as official (bug:8052)Michieru1-32/+10
Thanks to idAthena
2014-10-02HPM Hooks UpdateHercules.ws1-1/+1
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2014-10-02Hesperuslit could be cast when you are in Inspiration state and no more ↵Michieru1-7/+4
working when RG is alone. (idAthena rev1532)
2014-09-29Emperium can not be move by vacuum (bug:8372)Michieru1-3/+5
On renewal only double attack work on emperium
2014-09-21Fixed Bug 8344shennetsind1-3/+3
socket.c will no longer drop connections based on wdata size vs WFIFO_MAX. Fixed issue in cooldown logic which'd cause invalid timers and provide characters with ever-lasting cooldowns Special Thanks to Haruna! http://hercules.ws/board/tracker/issue-8344-some-error-message-on-map-server/ Signed-off-by: shennetsind <ind@henn.et>
2014-09-20Added 4 new permissionsEPuncker1-0/+3
2014-09-20Fixed Bug 8325shennetsind1-2/+2
Code did not expect sd->equip_index to be empty ( -1 ), which'd cause a crash as reported. Special Thanks to Gerz! http://hercules.ws/board/tracker/issue-8325-another-map-server-crash-on-skill-shield-spell/ Signed-off-by: shennetsind <ind@henn.et>
2014-09-20Replaced hardcoded values with constants for status_change_start's flagHaru1-36/+37
- Please use the values from enum scstart_flag when calling status_change_start or related functions. - This also applies to the sc_start script commands. Signed-off-by: Haru <haru@dotalux.com>
2014-09-20Land Protector should have an animation even if you don't have gemstones ↵Michieru1-2/+4
(bug:8351)
2014-09-19Update official Homunculus renewal stats (bug:6970) ↵Michieru1-6/+21
http://hercules.ws/board/tracker/issue-6970-homunculus-renewal-stats/ Follow up (bug 8348): https://github.com/HerculesWS/Hercules/commit/ddc52570a9bf694cdba6445bc02350a94856a583 Update official overbrand damage (special thanks to Rytech) The skill damage is no longer affected by your base level. It is now affected by the enemy's base level (special thanks to Rytech) Updated the list of skills usable while mounted on a mado. (special thanks to Rytech)
2014-09-17Devotion statuses fixed. Cleaned some warnings. Unit range shortened!csnv1-11/+8
- Now SC_AUTOGUARD and SC_REFLECTSHIELD won't have effect if the devotion range is too big. Bug report http://hercules.ws/board/tracker/issue-8345-about-devotion-status-tra/ - Cleaned some warnings - Due to the exploit of some client edits and with the feedback of some users, I can say it's safe to change back the range extra cell to 1. Thanks Juvia, KeyWorld.
2014-09-16Follow: ↵Michieru1-7/+7
https://github.com/HerculesWS/Hercules/commit/8ab61745b81d1cf0602c7998f590aac8749187da This fixed all mob size problem :) Fix estin estun not working properly (bug:7891)
2014-09-15Merge pull request #355 from csnv/tinyfixesMichieru1-14/+6
Fixed song display, changed devotion conditions
2014-09-15Fixed song display, changed devotion conditionscsnv1-2/+1
- Fixed bug report http://hercules.ws/board/tracker/issue-8338-apple-of-iduns/?gopid=23558#entry23558 - Changes devotion check to work with reflect equipment of the target
2014-09-15Revamped song fixcsnv1-14/+7
2014-09-14Merge pull request #338 from csnv/unitcleanupMichieru1-5/+2
Corrected SC_WARMER. Other cleanups
2014-09-14Fixes sitting on trap, SO_VACUUM_EXTREME and RA_CAMOUFLAGEcsnv1-11/+10
- Don't sit while trapped. Bug http://hercules.ws/board/tracker/issue-7825-trap/ SO_VACUUM_EXTREME swapping targets when 2 or more are present and close to each other.
2014-09-14HPM Hooks UpdateHercules.ws1-8/+8
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2014-09-14Storm Gust freeze chance is only 150% and not 300% (Thanks to Playtester)Michieru1-4/+12
Spiral Pierce should hitlock to 100% but not work on bosses (Thanks to Playtester) Implemented the official formula for Potion Pitcher when used by monsters (Thanks to Playtester) Golden Thief Bug card should not immune masquerades Desperado should not be reflect by Shield Reflect (bug:7624)
2014-09-14Restored flag 8 behaviour in status_change_startcsnv1-17/+17
- Fixes bug report http://hercules.ws/board/tracker/issue-8337-ankle-snare/?gopid=23533#entry23533
2014-09-13Fix SO_VACUUM_EXTREME moves target into the center of the skill. Bug 8330: ↵csnv1-0/+9
http://hercules.ws/board/tracker/issue-8330-extreme-vacuum-skill-behavior/
2014-09-13Update formula of Vulcan Arm, Flame Laucher and Cold Slower.Michieru1-5/+18
Add Hesperuslit formula effect. Banding now count the caster. Fix a bug with Lex Aeterna that not double the damage of Acid Demo. (bug:8098) Update to official formula Reproduce skill. Fix Mind Breaker Matk. (bug:8328) Fix a map crash with Gentle Touch change. (bug:8326) Special Thanks to Ind
2014-09-12Improved code readabilitycsnv1-2/+4
2014-09-12Fixed songs, working with setting song_timer_reset: 0csnv1-12/+11
2014-09-11Added option for song timers behaviour. Fixes bug 8265csnv1-8/+16
- Fixes bug 8265: http://hercules.ws/board/tracker/issue-8265-bragis-poem-overlapped-20-seconds-effect/ - Added setting in /conf/battle/skill.conf song_timer_reset: switch between official behaviour (songs don't reset time from prior songs) or eathena (every song resets the timer)