With this parameter the caller can decide if he wants to enable or disable partial name scan support.
Generally it was disabled in a lot of functions(clif,channel,script commands).
It is still available for some "non-critical" atcommands as well as for all charcommands.
* Songs and Dances can no longer be dispelled by Dispell and Vanishing Buster
* Added a configuration to simulate the old behavior: Dispelling works if target not inside song area
* Added party config `change_party_leader_samemap`
* Prevent changing the party leader if the specified player is not on the same map (Note 1)
* Default is `yes` as official does
* This config will be ignored by `party_changeleader` script command
* Thanks to @aleos89 and @Lemongrass3110
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* The tarot card THE SUN no longer blocks other cards in pre-re (still does in renewal)
* Added a configuration for equal chance for all cards in case someone prefers eAthena behavior
* Clean up party invitation reply.
* Added reply result as enum.
* Added official party restriction.
* Added configuration in party.conf
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
Based on @Emistry's pull request HerculesWS/Hercules#1396:
Added a configuration to enable the atcommands baselevel and joblevel to trigger their respective npc events.
This will help you guys with testing your custom scripts that are listening to OnPCBaseLvUpEvent or OnPCJobLvUpEvent.
For safety reasons we only trigger the events on level increase.
* Removed battle configs vip_exp_penalty_base_normal and vip_exp_penalty_job_normal as these are duplicates of other battle configs.
* Battle config vip_exp_penalty_base and vip_exp_penalty_job are now at a rate of 100 instead of 1 to match other configs.
* Added VIP Zeny Penalty config.
* Cleaned up various rate calculations.
* Removed various macro defines that aren't needed.
* Moved the player state for atcommand showrate to the VIP struct.
* This rewrite allows for better adaptation from the Aegis Class and Attribute fields.
* Refactored the renewal level penalty function.
* Slaves are now properly assigned an official slave mode of CanWalk, CanAttack, and NoRandomWalk.
* Removed extra Boss checks and adjusted others to use their proper functions.
* Properly implemented Skill Immunity mode to match Aegis.
* Separated MVP and Boss modes.
-- MVP mode defines when mobs should give MEXP, MVP Drops, and show the MVP sign.
-- MVP now have their own item drop configurations.
* Updated the mob_db and mob_skill_db to match the new mode structure.
-- Included a Perl tool (tools/convert_monstermode.pl) to allow people to convert their custom mobs to the new mode structure.
Thanks to @Playtester and @Lemongrass3110 for help with debugging and information!
* Implemented official behavior when attacking icewalls and traps with skills (fixes#1056)
-- Skills hitting icewalls and traps: Arrow Shower, Cold Slower, Tornado Kick, Sightless Mind, Meteor Assault, Spread Attack, Throw Huuma, Sightrasher, Sight Blaster, Earth Shaker, Rampage Blaster, Feint Bomb, Magnum Break, Fire Trap, Ice Trap, Cart Revolution, Napalm Vulcan, Triple Attack, Occult Impaction, Throw Spirit Sphere, Asura Strike, Spear Stab, Spiral Pierce, Holy Cross
-- Can target icewalls and traps but have strange behavior: Bowling Bash, Focused Arrow Strike, First Wind
-- Can hit icewalls and traps, but not target traps: Grimtooth, Raging Thrust, Blitz Beat, Napalm Beat, Fireball, Vulcan Arm, Tiger Cannon
-- Can hit icewalls and traps ONLY in PVP: Dragon Breath, Suicidal Destruction, Axe Tornado, Sky Blow
-- Can hit icewalls only: All other single target skills, Counter Slash
-- Can target icewalls but have strange behavior: Brandish Spear, Wind Cutter, Cannon Spear, Flame Launcher
-- Can not hit icewalls and traps: All unit skills, Frost Nova, Comet, Arms Cannon, Fatal Menace, Lion Howling
-- Can destroy traps but not hit icewalls: Claymore Trap
* When monsters use skills, they hit icewalls and traps and the damage displays, but they will no longer deal actual damage to the icewall or trap
-- Added an option to skill.conf with which you can define which types can damage icewalls and traps, by default it's 1 (player only), if you want to revert to previous behavior, set it to 31 (all)
* Fixed an issue where traps could not hit icewalls and other traps in PVP
* Taekwon combos can now trigger on traps
* Fixed an issue that caused damage to be displayed twice when attacking a trap with certain skills
* Fixed Feint Bomb causing knock-back to the target (see #1070)
* Fixed Talkie Box being triggered by monsters (fixes#1074)
* Requires client 2015-10-01 and newer.
* All skills are usable from from the base list to all 3 branch types.
-- Some skills still need their official activation chance and durations.
* Adjusted the char-server start point and start item split functions to be more dynamic.
Thanks to Rytech and @NovaRagnarok for their information!
Trap Invisibility, Fixes#892
* Changed `traps_setting` config values.
* 0 = Always visible (default)
* 1 = Enable invisibility in versus maps (GVG/PVP/BG)
* 2 = Enable invisibility in all maps
* Added skill unit flag `UF_HIDDEN_TRAP = 0x20000` for trap invisibility. By default, there are (renewal) Hunter traps with this flag:
* HT_SKIDTRAP
* HT_LANDMINE
* HT_ANKLESNARE
* HT_SHOCKWAVE
* HT_SANDMAN
* HT_FLASHER
* HT_FREEZINGTRAP
* HT_TALKIEBOX
* Added some skills and effects that can reveal hidden traps. By default, Detect, Sight, Ruwach, and Improve Concentration can reveal hidden traps.
* When provoked, monsters will now only switch targets when they would also change targets on damage
* Added a new option to the mob_ai setting to restore the old behavior (monsters always go after the one casting provoke)
* When casting provoke on an angry mode monster before it was attacked, it will now go for the one casting provoke and not switch back to the closest target
* Angry mode will now always be reset when the monster switches to idle
EXP on Max Level
* Fixed#942
* 'Last' EXP for max base level is 99,999,999 and 999,999,999 for Job EXP on max job level.
* Player still obtains EXP on max level (of course until both base & job reach 100%).
* This behavior is used for Base EXP check for:
* Super Novice's Explosion Spirit.
* Royal Guard's Inspiration.
* High Priest's Redemptio.
* Added config `death_penalty_maxlv`, default is set to 0. Player on max level, never loss EXP by death penalty.
* On EXP lost by death penalty. EXP will be shown as negative value.
* Fixed check for EXP value on packet `0x07f6`. EXP is limited to INT_MIN until INT_MAX by client (so don't expect client to displays value more than this!)
* Added EXP gained/lost message by `@showexp` on death penalty too.
* Fixed PR_REDEMPTIO and LG_INSPIRATION requirement …
* Only charge the Base EXP.
* Lost EXP will be displayed
* Changed `traps_setting` config values.
* 0 = Always visible (default)
* 1 = Enable invisibility in versus maps (GVG/PVP/BG)
* 2 = Enable invisibility in all maps
* Added skill unit flag `UF_HIDDEN_TRAP 0x20000` for trap invisibilty.
NOTES:
* Invisible traps are always visible for the trapper and trapper's partymates.
* If the trap is invisible, it always be hid immediately (except the people above).
* Revealed hidden traps, are always visible by everyone.
* Currently, only `HT_DETECTING` that can reveal the hidden traps (hardcoded). TODO: Sight, Ruwach, and Improve Concentration also able to reveal hidden traps.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* When casting a spell with cast time shorter than aMotion, the delay will now be set to aMotion or min_skill_delay_limit
* aMotion and min_skill_delay_limit are no longer applied at cast end nor by auto spells
* Aftercast delay can only increase the delay and never decrease it
* When there is no aftercast delay, the client will no longer show a non-existent 10 second delay
* Removed "double cast" code of Jupitel and Waterball, it's no longer needed as it fits into the official delay system
* Added a constant SECURITY_CASTTIME, which is added at cast begin and subtracted at cast end to prevent hackers to send in skill packets before the timer triggers cast end
* Set skill_amotion_leniency to 0 by default as it applies delay at cast end and would consequently block the official system from working; you can set it back to 90 or even 140 for increased security
* Fixed#942
* 'Last' EXP for max base level is 99,999,999 and 999,999,999 for Job EXP on max job level.
* Player still obtains EXP on max level (of course until both base & job reach 100%).
* This behavior is used for Base EXP check for:
* Super Novice's Explosion Spirit.
* Royal Guard's Inspiration.
* High Priest's Redemptio.
* Added config `death_penalty_maxlv`, default is set to 0. Player on max level, never loss EXP by death penalty.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Added mapflag `gvg_te`, `gvg_te_castle`, this is will be activated during WOE:TE sessions. These changes are needed because of:
* If `gvgon` is used, TE castles become `gvg`, it makes the restriction failure. Items that are supposed to only can be used/equipped in TE Castles, also affected in 'normal' GVG/WOE maps.
* These flags used form `item_noequip`, `skill_nocast`, and `status_disabled` flag 16. (If just assume TE Castles are Restricted Zone 8, the failure will occurs as point 1 above).
* Added Restricted Zone 8 for TE Guild Dungeons, to prevent marriage skills can be casted there.
* Added command `gvgon3` to set GVG for WOE:TE Castles.
* Added command `canParticipateSiegeTE` is 'hardcoded' function to check player's job that can participate in WOE:TE.
* Current usages in `GD_EMERGENCYCALL` and replace the in-script function.
* Changed default config `allow_consume_restricted_item` to 'no'. All restricted usable/consumable/healing items are always failed to be used.
* Changed the GVG items/skills restriction check. "Item cannot be equipped in GVG maps" are supposed to ignore the agit flag statuses, as long as the map is GVG flagged, items/skills are always restricted and otherwise.
* Moved previous entries of `skill_nocast` flag 16 as hardcode (for now).
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Implemented the official line of damage algorithm that official servers use; it will calculate the direction between caster and target and apply one of eight possible AoEs
* Added a config setting with which you can switch back to the custom emulator path algorithm
* Updated Brandish Spear(5x5), Focused Arrow Strike(13x3), First Wind(5-9x3), NPC Breath attacks(14x7), Flame Launcher(5x3) and Cannon Spear(11x3) to use this algorithm and corrected range, splash and maxcount values for all these skills
* Fixed Brandish Spear's AoE being completely wrong and having holes in its AoE when attacking diagonally; also fixed the knock back being 3 instead of 2 and not working at all for the longest reach; Brandish Spear's AoE width and length can now be defined in skill_db.txt
* Focused Arrow Strike, First Wind and NPC breath attacks will at least hit one target, if no enemy is on the AoE, the target will be hit instead; Brandish Spear, Flame Launcher and Cannon Spear can completely miss
* Monsters will now always find a cell to walk to on first attempt as long as there is at least one cell available
* Performance for searching a cell improved, a monster no longer tries the same cell twice
* Removed the "MOB can't move" warning by default; the warning could appear with legit behavior like using Icewall and actually made the monster re-spawn
* Added a config option to monster.conf, where you can re-enable the warning and the re-spawning again
* Monsters with mode MD_CHANGETARGET_MELEE will now only change targets on "attack" state if they are attacked by a normal attack
* Monsters will change targets if the target is within "attack range+1" distance instead of a static distance of 3
* When a monster gets attacked, it will now switch to the attacker even if the attacker is farther away than its current target and the current target is auto-attacking it
* Angry mode monsters will now always switch target to the first person that attacked them
* Monsters no longer have Vulture's Eye level 10 and Snake's Eye level 10 learned by default
* When you tank Cecil Damon from 10-14 cells away, she will no longer use her target skills
* Added a configuration with which you can set the level of Vulture's Eye and Snake's Eye that monsters have learned
* Fixes#447 - Added script command 'unitblockmove' to be used with OnTouch and Unit Commands.
* Fixes#448 - Leech End will no longer get a player stuck in stand/sit modes.
* Fixes#503 - Added script command 'ignoretimeout' which disables the SECURE_NPCTIMEOUT of a specific script.
* Fixes#521 - Pre-renewal Shield Chain should always be Neutral damage.
* Fixes#532 - Fixed an issue with the 'item_check' config not saving the unique ID when enabled.
* Fixes#537 - Arms Cannon is now a single unit target skill.
* Fixes#541 - Cleaned up Ignition Break damage formula.
* Fixes#543 and Fixes#552 - Cleaned up Reverberation to match official. Now splits damage among targets.
* Fixes#546 - Updated Randomize Spell to the latest official skill list and rates.
* Fixes#547 - Escape is now a self skill and can use normal Traps if no Alloy Traps are available.
* Fixes#551 - Great Echo and Sound of Destruction can now blocked by Pneuma.
* Fixes#556 - Adjusted Arrullo, Deep Sleep Lullaby, Netherworld, and Voice of Siren duration formulas to properly account base/job levels.
* Fixes#561 - Pre-renewal Tiger Cannon now properly removes HP when casting skill.
* Fixes#576 - Shield Spell, Exceed Break, Overbrand, Moon Slasher, Piety, Earth Drive, and Hesperuslit no longer have fixed cast time.
* Cleaned up Shadow Formation SP Drain formula to be 11-skill_lv per second.
* Sound of Destruction is now a placement skill type.
* Updated variable cast time for Windmill Rush from 2 seconds to 1 second.
* `monster_loot_search_type` default is `1` for official behavior in e6caa95, and `0` for old Athena style -closest- item.
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
- Move requests one cell west will now be ignored if the target cell is occupied
- You can now set official_cell_stack_limit to 0 to completely disable it including the limitation above
* Moved out intimacy required to evo the homun to conf/battle/homunc.conf: 'homunculus_evo_intimacy_need'
* Moved out intimacy reset after evo the homun to conf/battle/homunc.conf: 'homunculus_evo_intimacy_reset'
* Follow up eca4fa0e38c060c0f9918d11899ee00d099a16f7, missed the '/100' for intimacy info.
* Corrected intimacy set after using skill 'HVAN_EXPLOSION' to 1 (100, Hate with passion) instead of 2 (200, is for HFLI_SBR44)
* Init 'hardcoded' homunculus intimacy grade tables for some lookups
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Separated pet_db for Renewal & Pre-Renewal to avoid non-existant monster in different mode.
* Cleaned script command in pet_db.txt file, just point it to doc/script_commands.txt. Read them there!
* Separated damage value for petskillattack2 to its own var 'damage', that previously use 'lv' var to store the value.
* Added config 'pet_ignore_infinite_def' in conf/battle/pet.conf,
- If disabled (val:"no"), fixed damage from pet script 'petskillattack2' will be adjusted to 1. Example, just like player attacks Shining Plant.
- Enabled by default. Previously, fixed damage ignore the infinite defense, that's why it's enabled by default.
- TODO: Correcting the logic and maybe also confirm the correct behavior!
* Added validation for pet script commands,
- Skill for petskillattack, petskillattack2, & petskillsupport
- SC range for petrecovery.
* Cleaned up some source documentation.
* Added item flag value: 8 to init default item with BindOnEquip. Item with this flag will be character bound item once equipped.
* Added optional config 'default_bind_on_equip' in conf/battle/items.conf to set default bind type. By default the type is character bound.
* Hercules merge 1f5161a2bd
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Separated pet_db for Renewal & Pre-Renewal to avoid non-existant monster in different mode.
* Cleaned script command in pet_db.txt file, just point it to doc/script_commands.txt. Read them there!
* Separated damage value for petskillattack2 to its own var 'damage', that previously use 'lv' var to store the value.
* Added config 'pet_ignore_infinite_def' in conf/battle/pet.conf,
* If disabled (val:"no"), fixed damage from pet script 'petskillattack2' will be adjusted to 1. Example, just like player attacks Shining Plant.
* Enabled by default. Previously, fixed damage ignore the infinite defense, that's why it's enabled by default.
* TODO: Correcting the logic and maybe also confirm the correct behavior!
* Added validation for pet script commands,
* Skill for petskillattack, petskillattack2, & petskillsupport
* SC range for petrecovery.
* Cleaned up some source documentation.
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>