summaryrefslogtreecommitdiff
path: root/src/map/skill.c
AgeCommit message (Collapse)AuthorFilesLines
2017-05-21Refine rate correction from kRO.smokexyz1-1/+1
Normal Ores: http://ro.gnjoy.com/news/probability/View.asp?category=4&seq=1941553&curpage=1 Enriched Ores: http://ro.gnjoy.com/news/probability/View.asp?category=4&seq=1941565&curpage=1 Event Normal Ores: http://ro.gnjoy.com/news/probability/View.asp?category=4&seq=1941558&curpage=1 Event Enriched Ores: http://ro.gnjoy.com/news/probability/View.asp?category=4&seq=1941567&curpage=1
2017-04-10Monster Vulture's Eye and Snake's Eye removed.Smokexyz1-2/+2
Original PR #1148 by @SamuelHercules committed on 8 Feb 2016 * 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 Merged rAthena @ cccd1496f716fe02a3db20780b6e52b3c33391b4 Credit: Playtester
2017-03-16Correct Castling skill to use cooldownAsheraf1-2/+8
2017-03-16Official status change base durations for Stun (#1234) (#1632)Flipp1-3/+3
- NPC_LICK now has a base chance of 20%*level and a base duration of 5s - Excruciating Palm now has a base duration 5s - Shield Press now has a base duration of 5s+0.5s*level - Earth Shaker now has a base duration of 2s (level 2-3) and 3s (level 4-5) - Sightless Mind now has a base duration of 30s in pre-re and 20s in renewal - Credit rathena/rathena@80e026433
2016-12-03Change the argument to pc->famerank() to a rank type (instead of job mapid)Haru1-2/+3
For consistency with `pc->addfame()`, the argument to pc->famerank() is now an enum fame_list_type. The function was renamed to `pc->fame_rank()` to avoid silently compiling old non-compliant code. Signed-off-by: Haru <haru@dotalux.com>
2016-12-03Ensure that pc->addfame() increments the correct fame pointsHaru1-14/+15
The function now takes the rank type as argument, rather than guessing it from the character's class. If the wrong fame point type for the current character is requested, the request is ignored. This fixes some (unofficial) edge cases where a Taekwon or an Alchemist refined a signed item, they could obtain rank points. Signed-off-by: Haru <haru@dotalux.com>
2016-12-03Clarify some Job Class vs MapID confusion (2/2)Haru1-32/+30
This commit ensures that `sd->job` and related variables only contain MapIDs (i.e. the serverside optimized values, where High Novice is MAPID_NOVICE | JOBL_UPPER) and are never checked against the client-based Job Class values. As a rule of thumb, from now on, when a variable is named `job` or `jobid`, it is intended to contain a MapID and not a Job Class ID. The type of such variable shall be an unsigned `uint16` or `uint32`. To ensure that related third party code is also verified when this commit is merged, the variable `struct map_session_data::class_ (i.e. `sd->class_`) is renamed to `job`. Some issues in related lines are also fixed, including: - The atcommand `@mount` would not check properly that the requesting character is a 2nd class Swordsman type. - `pc->addfame()` would silently accept invalid MapIDs, sending unknown values to the client (more on this in a subsequent commit). - `pc->famerank()` would not use the passed job as a bitmask, causing the caller to have to mask it beforehand (more on this in a subsequent commit). - The Soul Linker check in TK_JUMPKICK wasn't future-proof (no harm caused currently). - Gunslingers would be able to be targeted by Spiritual Bestowment (`MO_KITRANSLATION`) and Spiritual Sphere Absorption (`MO_ABSORBSPIRITS`) due to a faulty check introduced when the Rebellion class was implemented (causing unintended interaction with Coins). Signed-off-by: Haru <haru@dotalux.com>
2016-12-03Clarify some Job Class vs MapID confusion (1/2)Haru1-12/+13
This commit ensures that `sd->status.class` and related variables only contain Job Classes (i.e. the client-compatible values, where High Novice 4001) and are never checked against the bitmask-based MapID values. As a rule of thumb, from now on, when a variable is named `class`, it is intended to contain a Job Class ID and not a MapID. The type of such variable shall be a signed `int16` or `int`. To ensure that related third party code is also verified when this commit is merged, the variable `struct mmo_charstatus::class_ (i.e. `sd->status.class_`) is renamed to `class`. Some issues in related lines are also fixed, including: - A wrong check in the char server would prevent the correct detection of babies in code related to the family exp sharing. - Baby Arch Bishops would not be affected by Eucharistica. - A wrong check would cause the `questinfo()` script command not to display its information for most classes (except 1-1 classes). - Map IDs and Job Classes were mixed up in `itemdb_jobid2mapid()` and `itemdb_jobmask2mapid()` for 1-1 classes (causing currently no harm, since they just happen to coincide). - The Baby Sura class would not cause parties to be marked as containing a monk type character (for SLS Team Up purposes). - Baby Geneticists would bypass the cart check when trying to equip ammunitions. - Baby Mechanics would bypass the Mado Gear check when trying to equip ammunitions. - Transcendent Shadow Chasers would lose the Stalkers' ability to clone transcendent skills. Signed-off-by: Haru <haru@dotalux.com>
2016-11-20Synchronized the AegisNames to the in-source ITEMID_ constantsHaru1-15/+15
Some missing items were copied to the pre-renewal database. In general, when an item ID is hardcoded in source, it's preferable that the item exists in both databases. Signed-off-by: Haru <haru@dotalux.com>
2016-11-07Corrected an issue causing WZ_HEAVENDRIVE to be ineffectiveHaru1-4/+4
The issue was caused by an evident patch mishap in commit 5e04f472e1ef618d9201fd22e382dca829992b3b. The misplaced piece of code has now been moved to the most likely place it was supposed to be in. This commit also removes an extra 'break' introduced by accident in commit f4e8189545642ee0bf87f3da546bddc918682935 (which caused no harm). Related: http://herc.ws/board/topic/13672-heaven-driver/ Signed-off-by: Haru <haru@dotalux.com>
2016-10-22Fix incorrect coding style used in char/char.c and map/skill.cDastgir Pojee1-4/+4
2016-10-22Minor Typo fixes, also added tsc declarationDastgir Pojee1-3/+4
2016-10-22Implemented UNT_CATNIPPOWDER.Dastgir Pojee1-0/+7
Implemented SC_CATNIPPOWDER: Increases WAtk%, MAtk% and Reduces Movement Speed. Increases Natural Hp/Sp Recovery
2016-10-22Increases SkillID Range on skill_get_index.Dastgir Pojee1-1/+1
2016-10-22Implemented SC_BITESCAR:Dastgir Pojee1-1/+5
Cannot be reset by dispell. Cannot be healed by item/NPC once in BITESCAR. Heal Skill would end the BiteScar Effect.
2016-10-22Implemented SU_BUNCHOFSHRIMP Skill.Dastgir Pojee1-0/+10
Lasts for (30+30*SkillLv) Seconds. Consumes 1 Shrimp. Increases ATK and MATK by 10% for limited time.
2016-10-22Implemented SU_TUNAPARTY Skill.Dastgir Pojee1-0/+1
Protects the target for 30 seconds. Tuna's Defense Power: (10+(20*(SkillLv-1)))% of Caster's MaxHP
2016-10-22Implemented SU_TUNABELLY Skill.Dastgir Pojee1-2/+8
Restores 10% MaxHP. Additionally Restores 20*(SkillLv-1)% MaxHP
2016-10-22Implemented SU_POWEROFSEA.Dastgir Pojee1-0/+5
Increases Heal Effect by 10%. if >= 20 skill points are invested in seafood-based skills, Increases Heal Effect by 20%.
2016-10-22Implemented SU_LUNATICCARROTBEAT Skill.Dastgir Pojee1-3/+24
Atk +(200+100*SkillLv)%. When 1 Carrot is consumed, Add's a chance to stun enemy. Lv1-2: 3x3 AoE Lv3-4: 5x5 AoE Lv5: 7x7 AoE Added Item Constants in itemdb.h
2016-10-22Implemented SU_ARCLOUSEDASH Skill.Dastgir Pojee1-0/+1
For (50+10*SkillLv) Seconds, Atk +(15+5*SkillLv). Increases Movement Speed. If Target is Doram Race, Increases Range Physical attack by 10%.
2016-10-22Implemented SU_PICKYPECK Skill.Dastgir Pojee1-0/+4
ATK + (200+100*SkillLv)% Every 30 Base Levels, Adds an Additional Chance to reactivate the skill. When the Enemy has Less than 50% HP Left, Damage is doubled.
2016-10-22Implemented SU_SCAROFTAROU Skill.Dastgir Pojee1-0/+6
Heal,Cure,Clearance cancels the effect. Atk + 100*SkillLv%. Reduces Fixed Amount of MaxHP for 9 seconds. For Every 30 Base Levels, Adds an Additional chance that skill will be activated again.
2016-10-22Implemented SU_SV_ROOTTWIST Skill.Dastgir Pojee1-0/+30
Duration: (5+(2*SkillLv)) seconds. Cannot be used on Boss Monsters. Effect is cancelled when Heaven's Drive or Trample is used. Enemies trapped on roots receive poison property damage.
2016-10-22Implemented SU_CN_METEOR:Dastgir Pojee1-4/+22
Catnip Meteor: Increases Matk by 200+100*SkillLevel%. When 1 Catnip is consumed, Adds a Chance to curse target[Not Implemented].
2016-10-22Implemented SU_CN_POWDERING Skill.Dastgir Pojee1-1/+3
Consumes 1 Catnip Fruit. Lv 1-2: 3x3 AoE Lv 3-4: 5x5 AoE Lv 5: 7x7 AoE Lasts for (2+SkillLevel) Seconds Increases Natural Recovery of HP/SP. Reduces Atk and MAtk by 50% Reduces Movement Speed.
2016-10-22Implemented SU_SV_STEMSPEAR Skill.Dastgir Pojee1-0/+9
Silvervine Steam Spear: 10% Bleeding Chance, 700% Matk at all levels. Lv 1: Earth Magic Lv 2: Fire Magic Lv 3: Water Magic Lv 4: Wind Magic Lv 5: Ghost Magic Base Level 30: Chance to activate skill again. Every 30 Base Level: Increases the chance to activate skill.
2016-10-22Implemented SU_FRESHSHRIMP Skill.Dastgir Pojee1-2/+6
Consumes Fresh Shrimp to recover HP for 2 Minutes. Max Level 5: Recovers Every (11-SkillLevel) Seconds.
2016-10-22Implemented SU_LOPE Skill.Dastgir Pojee1-0/+13
Skill Cannot be Used on GvG/Battlegrounds. Cast time of Emergency Call doubles. Moves to Another Position by performing High Jump: Lv 1: Move 6 cells Lv 2: Move 10 cells Lv 3: Move 14 cells
2016-10-22Implemented SU_STOOP Skill.Dastgir Pojee1-0/+10
Reduces Incoming Damange by 90% for 6 seconds. When Knock Back, the effect disappears.
2016-10-22Implemented SU_SCRATCH:Dastgir Pojee1-2/+12
Max Level: 3 Attack Increases by 50+(50+Level)% Base Level >= 30: Activates a Chance to cast skill again. Every 30 Base Level: Increases the chance to cast skill again.
2016-10-22Implemented SU_HIDE Skill.Dastgir Pojee1-2/+15
Transforms into Bush.
2016-10-22Implemented SU_BITE Skill:Dastgir Pojee1-1/+7
Lv.1: Atk+ 200% BaseLevel 30: Adds a Chance to Reactive the skill. Every 30 Base Levels: Increases the chance to reactive the skill.
2016-09-30Add different fixes for gcc 7 warnings.Andrei Karas1-1/+42
Some possible buffer overflows. Add attribute for mark fallthrough cases. Skipped libconfig warnings.
2016-09-19Add missing checks into skill.cAndrei Karas1-114/+341
2016-09-13Fixed a possile buffer overrun when MAX_SKILL_LEVEL is changedHaru1-2/+2
Signed-off-by: Haru <haru@dotalux.com>
2016-09-03Add some missing functions in skill.c into interface.Andrei Karas1-6/+9
2016-08-14Update pc_steal_coin parameterEmistry1-1/+1
Added skill_lv as parameter to *pc_steal_coin() Closes #1395 as merged Signed-off-by: Haru <haru@dotalux.com>
2016-07-19Add skill atributes for allow moving while casting skill.Andrei Karas1-3/+14
New SkillInfo attributes: FreeCastReduced - allow move while casting with slowdown FreeCastNormal - allow move while casting with normal speed
2016-07-17Removed Leftover of skill_db.txtDastgir1-7/+0
2016-07-14Changed mmo_charstatus::base_level and mmo_charstatus::job_level to intHaru1-2/+2
Fixes several -Wsign-compare issues Signed-off-by: Haru <haru@dotalux.com>
2016-07-12Add into skill.c some handling for unknown skills/skill units.Andrei Karas1-42/+58
Also improve a bit cast end functions call.
2016-07-12Interface random.chemagx1-2/+2
2016-07-12Fix reading skill_db.confAndrei Karas1-27/+34
2016-07-09Merge pull request #1333 from Smokexyz/SkillDBLibHaru1-231/+1297
Skill DB TXT files to LibConfig + converter
2016-07-09SkillDB TXT to Libconfig + converterSmokexyz1-231/+1297
The conversion of 5 skill database files - skill_require_db.txt skill_unit_db.txt skill_cast_db.txt skill_castnodex_db.txt and skill_db.txt to Libconfig file skill_db.conf a PHP CLI converter is included to read from the above mentioned files and create a skill_db.conf in the same directory.
2016-07-05Move static methods into interface in skill.cAndrei Karas1-27/+32
2016-07-02Trivialities: indentation fixesHaru1-18/+18
Signed-off-by: Haru <haru@dotalux.com>
2016-07-01Merge pull request #1328 from HerculesWS/exp_fixesHaru1-2/+2
Fix EXP modifiers to match aegis modifiers calclution.
2016-06-30Use item attribute as flags varible. Now only ATTR_BROKEN flag exists.Andrei Karas1-4/+5