Big thanks to @RagnarokNova for creating this script with the help of
@tokeiburu, Diablo and others. I simply converted it to be compliant
with rAthena master standard. Hope you guys enjoy it and report any bugs
:)
To clarify on the semi-official part: This script was made from scratch
by playing on iRO and may have inconsistencies with the official
version. If you want to use this on your server you must enable it
yourself by uncommenting the entry in scripts_athena.conf.
* 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
* Fixed musical lessons not having any effect on Song of Lutie's MaxHP bonus (lesson/2)
* Song of Lutie now heals 1 HP more every 2 vit instead of 5 HP more every 10 vit
* Perfect Tablature's flee bonus in renewal is now 3*skill_lv + agi/15 + lesson/2
* Perfect Tablature's perfect dodge bonus is now (skill_lv+1)/2 + luk/30 + lesson/5
* Focus Ballet's hit bonus in renewal is now 20 + 2*skill_lv + dex/15 + lesson
* Focus Ballet's hit bonus in pre-re is now 1 + 2*skill_lv + dex/10 + lesson
* Slow Grace's ASPD decrease in renewal is now 3*skill_lv + dex/15 + lesson
* Slow Grace's ASPD decrease in pre-re is now 5 + 3*skill_lv + dex/10 + lesson
* Slow Grace's speed decrease in renewal is now 2*skill_lv + agi/20 + lesson/2
* Slow Grace's speed decrease in pre-re is now 5 + 3*skill_lv + agi/10 + lesson
* Impressive Riff's ASPD increase in pre-re is now 5 + skill_lv + agi/20 + lesson/2
* Lady Luck's critical bonus is now 10 + skill_lv + luk/10 + 0.5*lesson (not rounded down)
* Freeze from monster level 10 Frost Diver will now last 30s in pre-re and 32.5s in re
* Fixed monster level 10 Decrease Agi in renewal lasting way too
* Satan Morroc will now be able to cast all of his skills if his HP are low
-- There is no "HP higher than" limit for casting skills, only "HP lower than"
* Satan Morroc no longer summons slaves on spawn or when idle
* NPC_HELLPOWER is now a "no damage" skill and works similar to NPC_HALLUCINATION
* NPC_HALLUCINATION now has a fixed duration
* Both skills have a max level of 5 (for activation chance)
* Fixed Gospel's activation chance being 1% higher than it should be
* Fixed a compiler warning (see #1816)
* Added parameters for `savepoint are range for `x` and `y` for random savepoint coordinates.
* Added documentation for new savepoint params. Credits to @aleos89
* Updated savepoint on script to follow official behaviour (random save in 3x3). All credits to @Atemo
* 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>
* Consistency changes for script unit commands
Made it so that all unit commands(except for unitexists) take 0 as the
unit ID argument which will reference the activator of the script.
Unitwarp has since previously had this functionality and it's very
useful. Example use: When a monster walks over an npc script with the
OnTouchNPC label unitkill 0; will kill the monster.
* Clean up and fixes to unit script commands self referencing with ID 0
Added a script_rid2bl function that will return the block list beloning
to an RID specified or the activator of the script if 0 is specified as
RID.
* Official Gospel chances, effects and duration (fixes#1812)
-- Chance of Gospel to trigger increased from 10%*skill_lv to 50%+5%*skill_lv
-- Gospel's Heal effect now heals 1000-9999 HP instead of 1-9999 HP
-- Blessing and Increase Agi effects now last for 4 minutes instead of 60 seconds
-- Increase Defense now only lasts 10 seconds instead of 60 seconds
-- Gospel's damage is now twice likely to trigger with one of two different effects
-- Fixed Gospel's damage not showing the Holy Cross effect
-- Gospel's first damage effect deals 3000-7999 damage which is reduced by DEF (percentual in pre-re)
-- Gospel's second damage effect deals 1500-5499 damage which cannot be reduced by DEF
-- Curse, Blind and Poison effect now last 30 minutes instead of 60 seconds
-- Provoke lasts infinite, but is removed when changing maps or logging out
-- Fixed Provoke's icon from disappearing whenever a status changes
-- DEF, ATK, Flee and Speed super debuffs now only last 20 seconds instead of 60 seconds
* Official status change base duration for curse (fixes#1811)
-- Curse base duration is 30 seconds in pre-re and 20 seconds in renewal
-- Napalm Vulcan, Tarot Card of Fate, NPC_HELLJUDGEMENT, NPC_WIDECURSE use this duration
-- NPC_CURSEATTACK has a fixed 30 seconds duration
* Official status change base duration for poison (fixes#1811)
-- Poison base duration is 60 seconds in pre-re and 20 seconds in renewal
-- Duration is no longer halved for monsters in pre-re
-- Envenom, Venom Dust, Venom Splasher, Tarot Card of Fate, NPC_POISON, NPC_ACIDBREATH use this duration
* NPC_STOP now has a duration of 15 seconds instead of 10 seconds
* NPC_HELLPOWER and NPC_WIDEHELLDIGNITY now have a duration of 180 seconds instead of 300 seconds
* Tarot Card of Fate uses base duration for Curse, Poison, Stone, Freeze and Stun
-- For Confusion and Stop the duration remains fixed to 30 seconds
* All NPC status skills now have a 20%*skill_lv chance to trigger instead of 50%+10%*skill_lv
-- NPC_HALLUCINATION and NPC_HELLPOWER now only affect you to 20% instead of 100%/60%
* Damage shown by Hallucination is now completely random instead of being multiplied by 6
* The animation is now shown when trying to resurrect someone affected by Hell Power
Special thanks to @mrjnumber1 and Luke for providing various information on these.
In pre-renewal the animation of magic rod only shows up when the user is
attacked with a spell that can be absorbed by it. In renewal it shows
when you cast the skill instead. This has been tested on iRO Chaos and
iRO Classic.
* Added windows specific socket timeout code
Added socket code for windows that respects our given timeout.
Also added some more ifndef checks to some stat reporting functions.
Updated the MSDN reference link.
Fixed the delay being milliseconds on windows, thanks to @theultramage
Fixes#794 on windows.
Cleaned up Item Groups
- Moved constants from const.txt to script_constants.h.
- Removes hard coded item groups into the IG_* database to easily be adjusted/created.
- Renamed IG_FingingOre -> IG_FindingOre.
* 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
* When you hide and monsters are still on their original chase path, they will no longer spread out
-- This makes Grimtooth mobbing viable again on default settings
-- In all other situations, monsters will still spread out
* Fiber Lock's duration now depends on the map and how many fiber locks have been stacked
-- PVM: 1st - 8s, 2nd - 16s (default - 8s)
-- PVP: 1st - 4s, 2nd - 8s, 3rd - 12s (default - 4s)
* Fiber Lock now always doubles fire damage, even in renewal
* When a unit affected by Fiber Lock takes fire damage, the Fiber Lock that lasts shortest is now removed
* A unit can now only move when all Fiber Locks on it were removed or have expired
* When a unit with multiple Fiber Locks on it dies, not all Fiber Locks are removed
* A unit can no longer be affected by more than 3 Fiber Locks at the same time
When the attached rid of the script was actually not a player, but a monster or something else the script was terminated. A good example for this was to use getarraysize on a OnTouchNPC event.
Thanks to MasterOfMuppets(@Locien) for reporting this.