-- bonus_script "<script code>",<duration>{,<flag>{,<type>{,<char_id>}}};
-- see 'doc/script_commands.txt' for more details.
-- Thank everyone who discussed it
Signed-off-by: Cahyadi Ramadhan Togihon <house.bad@gmail.com>
Standardizes all (or almost) of the documentation for this file
Now has documentation for functions which will support Doxygen
Also standardized conditional bracketing
Removed some scopes in status_calc_speed (please double test)
Removed an unused function
'///' Is a Doxygen comment for one line
'///<' Used for variable declaration commenting
'/** **/' Standard function documentation
'//!' For TODO and FIXME
'//' Regular comment not shown in Doxygen
I apologize for conflicts
More to come, so please keep an eye out when updating that there may be updates causing many conflicts
-> Applied follow-up for using monster IDs with the commands (ead2a83)
Merged revert of r15787 where character must face north (5188b69)
Merged bug fix for visual effects on relog (f304c36)
-> This fixes the Warlock Sphere issue on relog as well as many other visual effects
Applied a possible map crash fix - Credits ivanyan
http://rathena.org/board/tracker/issue-8212-server-crash-guild-retrieveitembound/
Started working on some source code documentation
Renamed bank update SQL file to upgrade_20131105.sql
** Some attempts to support this job with its skills (as usable as good as I can, some of them are custom from limited info, maybe I miss some behaviors)
** Maybe some formulas, entries on skill_db, skill_require_db, skill_unit_db, and skill_cast_db are still custom
** Thank posters are on: (1) http://rathena.org/board/topic/85195-rebellion-class-released-on-kro-sakray/ (2) http://forums.irowiki.org/showthread.php?t=100131
** Some notes:
--> RL_RICHS_COIN, Rich's Coin
--> RL_MASS_SPIRAL, Mass Spiral: Bleeding chance and additional damage still custom formula
--> RL_BANISHING_BUSTER,Banishing Buster: Custom chance formula to remove buff/debuff
--> RL_B_TRAP,Bind Trap: Even I updated my client and use original lua, I stil can't see the trap
--> RL_FLICKER,Flicker
--> RL_S_STORM,Shatter Storm: Custom formula for success rate
--> RL_E_CHAIN,Eternal Chain
--> RL_QD_SHOT,Quick Draw Shot
--> RL_C_MARKER,Crimson Marker: Still doesn't show the icon of marked target on minimap (I don't know the packet for it)
--> RL_FIREDANCE,Fire Dance: Not sure it's only 1 hit damage or works like Desperado (I saw someone's screenshot, it seem only deals 1 hit)
--> RL_H_MINE,Howling Mine
--> RL_P_ALTER,Platinum Alter
--> RL_FALLEN_ANGEL,Fallen Angel
--> RL_R_TRIP,Round Trip
--> RL_FIRE_RAIN,Fire Rain: (1) This should able to remove ground target aroung its area, (2) And the splash area like a 'cone' (I imagined like someone uses gun then fire brutally to his/her front way)
--> RL_HEAT_BARREL,Heat Barrel: Still custom formula, but I saw the damage is increased highly.
--> RL_AM_BLAST,Anti-Material Blast: Custom formula for success chance
--> RL_SLUGSHOT,Slug Shot: Custom formula for damage (I saw someone's screenshot, bullet with 120 weight can deals 100k damage)
--> RL_HAMMER_OF_GOD,Hammer of God: If there is no enemy with SC_C_MARKER around the area, the skill Hammer of God animation won't displayed (maybe I missed something? I guess so)
(I guess some lines and algorithm should be cleaner, cooler, and sexier. :P)
IMPORTANT for client side:
- You should have up-to-date grf files
- I used original lua files, I didn't use translated lua files that exist nowadays because I think they need to update their supports for Rebellion
- Some items for Rebellion Skill's requirement(s) aren't added yet
Signed-off-by: Cahyadi Ramadhan Togihon <house.bad@gmail.com>
-Add some missing case for RK_DRAGONBREATH_WATER
-Fix watk not being calculated properly with bonus in Re
-Rm leftover of previous skillcooldown system (skill_cooldown_load)
-Add skill_get_itemeq (accessor)
-Add requiered equiped item to cast in skill_require_db.
-Fix SC_ASH not always giving 50% chance failing, wrong emplacement
-Fix SC_STYLE_CHANGE not being relaunch when eleanor resurected.
-Fix cardfix for target not being reseted and therefor using same value
as caster.
-Move ADJUST_SKILL_DAMAGE in battle_calc_weapon_final_atk_modifiers
(since it shuold alter the final dammage just like it do for magic and
misc)
-Add battle_do_reflect and skill_do_copy small function to encapsulate
code.
-Upd channel_clean and channel_delete to simplify autodelete case for
public chans
-Fix SC_FEINTBOMB that had a fixed blewcount and not 3*skilllv
-Fix SC_VACUUM_EXTREME where some scenario was setting scs_nomove to -1
and therefor blocking char forever.
-Fix SC_STRIKING where val1 was overwritten for sp cast but also used as
skilllv for critical bonus...
-Upd SC_GN_CARTBOOST, should be ending be DECREASE_AGI
-Upd SC_MAGNETICFIELD should be endend when getting earth dmg or
quagmire
-Mv SC_WARMER, SC_WHITEIMPRISON, SC_FREEZING ending other status section
in proper area.
- Fix item restriction check that should only prevent the item script. ATK, DEF, and MATK for RE should be calculated (Thank Euphy)
- Added item restriction check for combo items
- Added some missing item restriction checks
- Disabled by default on src/config/core.h. Uncomment '#define ADJUST_SKILL_DAMAGE' to enable this skill damage adjustment
- Added skill_damage_db.txt (thank Lilith for 'Manage Skill Damage')
- Added new mapflag: 'skill_damage'. Please read 'doc/mapflags.txt' for more details
*Fixed bugreport:8029 (thank exneval for testing and reporting) (Akinari)
*Follow-up 647f99f (Akinari)
*Follow-up 15074d8: optimized item_isNoEquip check parts
*and some mirror changes
Also separate status reflect damage from item reflect damage
Fix float value for strength stat in weapon attack (Baalberith) - Fixes bugreport:7957
Use stored weapon attack value for damage calculation rather than recalculate
- Config naming changed: 'item_restricted_consumption_type' to 'allow_consume_restricted_item' (conf/battle/items.conf)
- Add 'allow_equip_restricted_item' config to allow/disallow player use item that restricted. Default is yes, restricted item can be equipped but gives no script effect (related r17119) (conf/battle/items.conf)
- Moves item_nouse check to itemdb_isNoEquip
- PC_PERM_USE_ALL_EQUIPMENT is now can be used to bypass item no_equip flag for equipment (also card) to run the item script
- PC_PERM_ITEM_UNCONDITIONAL is now can be used to bypass item no_equip flag for consumable item to run the item script
Fixed typo issue on ef4fd59
(ef4fd59996 (commitcomment-3962459))
-Add skill lists for :
--spell blocked by statis
--spell blocked by kagehumi
--spell range affected by
AC_VULTURE|GS_SNAKEEYE|NJ_SHADOWJUMP|WL_RADIUSRA_RESEARCHTRAP
--spell that can't be copied
--spell that can be using while riding warg|mado
-Add a boolean return value for delequip (script cmd)
-Fix monster (script cmd) hardcoded cap for ai. (was preventing to put
ai_faw)
--Add of skill_inf3, goal is to move out the hardcoded skill list in emulator to db. (and therefor allow user to easily modify them if they wish)
-Fix of possible segfault in battle.c since r17457 (sd might be null on the camouflage bonus)
--Also fixing the fact that camouflage bonus was staying permanently.
Map crash fix when casting Kaihou - Fixes bugreport:7962
Update Songs/Dances for Land Protector - Fixes bugreport:7913
Show baseATK increases in status window - Fixes bugreport:7960
Revert damage to int64 - Fixes bugreport:7939
- Also removed limit on Acid Demonstration
Changed Camouflage to increase Equip Attack - Partially fixes bugreport:7941
Fix GVG and Card reductions for skills that use separate damage calc functions
Removed some unnecessary code causing attack underflow in homunculus - Fixes bugreport:7925
Update Feint Bomb damage formula to 2011 rebalance - Concering bugreport:7912
Update Siren's Voice to 2011 rebalance formulas - Fixes bugreport:7878
-Fix bugreport:7905 (status warning for homun str calc, float to int)
-Fix bugreport:7884 (SL_STIN, SL_STUN now support casting by non player)
-Add few doc and C++ support
Mechanic Neutral Barrier updated - Fixes bugreport:7874
- Blocks ranged and splash attacks
- Gives % bonus to DEF and MDEF
- Cannot be removed by Land Protector
- Updated to 5x5 AOE
- Can be cancelled by casting a second time
Stealth Field updated- Fixes bugreport:7816
- No longer blocks AOE damage
- Cannot be removed by Land Protector
- Updated to 5x5 AOE
- Can be cancelled by casting a second time
FAW Silver Sniper and Magic Decoy updated - Fixes bugreport:7871
- FAWs get HP and ATK or MATK bonuses correctly now
- New AI added for these
Maximize Power no longer stops SP regeneration in pre-re (credits: Evil) - Fixes bugreport:7881
Gate of Hell now updates ATK correctly to HP and SP levels (credits: Aleos) - Fixes bugreport:7886
Comet now works as intended when with other Warlocks (credits: malufett) - Fixes bugreport:7854
Fixed minor issue where setting a monster to an AI with a script command could cause an error.
Songs/Dances are now removed by Land Protector/Ganbantein (helvetica).
Updated homunculus ATK to support renewal attack.
Fixed an issue where Summon Legion mobs weren't getting the correct stats placed on them.
Moved pc_dead NPC event calls to the end of the death process - Fixes bugreport:7829
Super Novices are no longer counted as dead when saved by their angel - Fixes bugreport:4053 and bugreport:1601
- They won't lose their +10 bonus on the first death
- Pet intimacy, mercenaries, skull drops are unaffected by first death
- Steel Body is level 5 when saved
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17420 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Updates to SC_BURNING and SC_FREEZING durations. (Hercules 0395610)
* Minor fixes to Eden Quests 41-55.
* Fixed incorrect documentation for 'instance_id()'.
* Added Malaya instances to custom Warper.
* 'getmonsterinfo' no longer outputs an error when the supplied mob doesn't exist. (bugreport:7792)
* Follow-up r17410, fixed a typo in a label name.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17416 54d463be-8e91-2dee-dedb-b68131a5f0ec
Cloaking fixed to official behaviour (Thanks helvetica for the hour of testing) - Concerning bugreport:171
Fixed instancing long map names causing crashes
- Cannot save or memo on instance maps (Lemongrass)
- Map channels are no longer activated on instance maps (Lemongrass)
- Fixed a character save issue with instance maps (Lemongrass)
- Map local channels are disabled by default, this is custom (Lemongrass)
- Just thank Lemongrass overall, I gave him a hard time with this issue
~ Hercules Merge ~
Update Bloody Lust and Maelstrom to official behaviour (Credits: malufett)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17408 54d463be-8e91-2dee-dedb-b68131a5f0ec
Script commands 'sit' and 'stand' now work only when character is in required state. (Euphy)
~ Hercules Merges ~
* Added extra support to GM unload NPC via right-click [credits: Ind]
* Implemented real-time server stats (in and out data and ram usage). [credits: Ai4rei, mkbu95]
* Fixed chatrooms disappearing after using @disguise. [credits: MatiasSW]
* Implemented 'notomb' mapflag for Bossnia maps. [credits: CairoLee]
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17404 54d463be-8e91-2dee-dedb-b68131a5f0ec
Please visit http://rathena.org/board/topic/84568-r17402-major-battleskill-system-overhaul-and-renewal-support/ for a complete and updated log of changes
General
* Forced neutral behavior documented and implemented. Weapon element does affect the following skills, but final damage is treated neutral for resistances. End result is endows do boost skill damage as expected given elemental weaknesses or resistances, but forced neutral skills will always miss on Ghost 3/4 mobs as the damage is "forced" back to neutral type after bonuses are applied but before resistances.
* The following skills are considered "forced neutral"
Merchant "Cart Revolution"
Creator "Acid Demonstration"
Genetic "Cart Cannon" (damage is forced to element of cannon ball, either neutral or holy or ghost)
* Weapon calculation engine has been rewritten to better emulate official behaviors and "quirks", the following changes have been documented and implemented:
Double attack takes priority over criticals when determining which effect activates
VITDEF (status or sDEF) is applied on every hit on multi-hit skills, rather than a flat reduction on the final damage total
Skills such as Spiral Pierce that differ when used by monsters modified to match official calculation methods
* Weapon element behavior adjusted to match official behavior, endows override any innate weapon element, including elemental arrows
* Renewal - weapon element only applies bonus damage to "weapon" ATK, ATK from status and equipment is considered neutral and ATK from mastery skills are considered non-elemental
Archer:
* Renewal - Owl's Eye still gives +1 HIT per skill level but the HIT bonus does not show up in the status window anymore
Hunter:
* Renewal - Claymore, freeze trap and landmine adjusted to apply full damage to "plant" type mobs (monsters that only take 1 damage on every hit)
Thief:
* Double attack gives a hidden +1 HIT per skill level on attacks that activate the double attack effect
* Envenom gives a flat +15 ATK per skill level when used, it is considered a mastery type damage and has no element
Rogue:
* Renewal - Owl's Eye still gives +1 HIT per skill level but the HIT bonus does not show up in the status window anymore
Assassin Cross
* Renewal - Soul Breaker formula for renewal implemented
((ATK + MATK) * (3 + (.5 * skill level)) - (eDEF + sDEF + eMDEF + sMDEF)
* Renewal - Soul Breaker no longer misses, it will always do full damage regardless of target's FLEE
* Renewal - Soul Breaker no longer gains DEF piercing or ignore DEF effect from weapons such as Combat Knife and Ice Pick
* Renewal - Enchant Deadly Poison for renewal implemented
Weapon ATK multiplied by (1 + (EDP level * .8))
Equipment ATK multiplied by (1 + (EDP level * .6))
* Renewal - EDP adds half modifiers (base damage/2) but otherwise functions as above with the following skills:
Sonic Blow
Soul Breaker
Counter Slash
Cross Impact
Creator
* Renewal - Acid Demonstration formula for renewal implemented
7 * ((ATK + MATK) / skill level) * VIT / 100 )
* Acid Demonstration adjusted to match "forced neutral" behavior on official
For example, Acid Demonstration used on a water-type mob with a wind endowed weapon will do bonus damage, but will miss on a Ghost 3/4 monster regardless of endow.
Swordsman
* Magnum break bonus damage gives +20% ATK fire damage on physical attack (so 100% ATK normal + 20% ATK fire)
Lord Knight
* Renewal - Spiral Pierce formula for renewal implemented
(ATK + (weapon weight / 2)) * (100 + (50 * skill level))%
* Renewal - Mastery skills such as spear mastery no longer add any bonus damage to Spiral Pierce
* Renewal - Spiral Pierce no longer ignores DEF
Ninja
* Renewal - Final Strike formula for renewal implemented
base damage = current hp + ((ATK * current hp * skill lvl) / max hp)
final damage = base damage + ((mirror image count + 1) / 5 * base damage) - (eDEF + sDEF)
* Final Strike will MISS on plant-type mobs (mobs that only take 1 damage per hit from all sources)
* Mirror Image cast over itself will override and reset current Mirror Image count
Genetic
* Cart Cannon "forced element" behavior implemented, damage is "forced" to the element of the cannon ball.
Ex. Cart Cannon fitted with a standard cannon ball and a fire elemental weapon will do bonus damage against earth targets, and a Cart Cannon fitted with a holy cannon ball will do bonus damage against shadow, but total damage is forced back to element of cannon ball and resistances applied against it. Neutral cannon balls will miss on Ghost 3/4 but holy/ghost/shadow will not.
Gunslinger
* Gunslinger Mine skill formula and behavior matched to official
Fixed 500 damage, ignores DEF and is affected by +% ATK weapon cards only
Warlock
* Tetra Vortex behavior modified to match official
First 4 spirit spheres are used for calculating element of each hit, but if 5 are present all 5 are consumed
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17402 54d463be-8e91-2dee-dedb-b68131a5f0ec
-Cleanup code:
--Fix sv_read line limitation to 1024char, now limited to 512char per column
--Change db read output to display number of line read
--Remove code duplicated that was acting like sv_read
--Move job_var[JOB_COUNT] into 1struct job_info.
--Move job related db into pc.c instead status, and those in pc that affect all into status
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17391 54d463be-8e91-2dee-dedb-b68131a5f0ec
--add --enable-warn=extra to show -Wconversion issues
--move -Wno-switch from prod only to all case
-Update packet_db thx (TTest)
--fix index typo for itemlistwindowselected(all),cashshopbuy(2010-11-24 => v26-30, 2012-04-10 => v30-34) bugreport:7723
-Add utils::date2version (lookup a version with a date for later usage)
-Fix missing revert part in mmo_send_char bugreport:7734
-Merge little herc change:
--fix possible mapcrash in SCB_MATK with SC_RECOGNIZEDSPELL and change status->matk_min calculation order to speed up thing
--add OFFICIAL_WALKPATH exception for BL_NPC
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17367 54d463be-8e91-2dee-dedb-b68131a5f0ec
Added LG_BANISHINGPOINT hitrate increase - Fixes bugreport:7535
Fixed pc.c compile warning when not using Renewal Drop Rate (Lighta) - Fixes bugreport:7704
Fixed an issue where a non-player failing to freeze another with Frost Diver causes map crash (Lighta)
Added SCS_NOCHAT for easier character mute management
Some status.c and status.h standardizing (spaces suck)
--Hercules Merges
- Merged 9fe16cc : MC_IDENTIFY shouldn't take SP when no items found
- Merged 31f9100 : SC_DEEPSLEEP causes character to be unable to talk
- Merged cb9b70e : Cash Shop support for 2011-11-22 clients - Topic tid:82791
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17353 54d463be-8e91-2dee-dedb-b68131a5f0ec
--Fix unreference warning and delete_timer mismatch func
-- updated all map_msg translations and edited some comments. (Euphy)
-Merge/adapt few Hercules stuff:
-- Add save char after buying if save_config&128
-- Check if char_server online before sending 0x3008 (stats_report)
-- Add hom_class2type, to solve homonculus type, easier then bitmasking.
-- Add vending_db to speed up searchstore iteration.
-Quickfix (Daegaladh)
--Add emotion effect to SA_QUESTION
--Upd SA_INSTANTDEATH to really kill ourself and not set to 1hp
--Fix SC_SLOWDOWN not asking to recalculate speed when used.
--Fix SC_STRIPX effect on player, (should only remove equip on player)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17333 54d463be-8e91-2dee-dedb-b68131a5f0ec
--change connection sequence for 82d+9a0+20d => 9a1 => 99d
-Merge some Hercules stuffs:
--upd char (default map check, 0x99d HC)
--CreateParty enforced chk
--mapindex_db for name lookup
-Add max packet_len check on chrif init for mmo_charstatus.
-Upd @mapinfo, add missing mapflag info.
-Expand teleport_timer for pet,homon,ele (Daegaladh)
-Make homon,ele inherit master speed (Daegaladh)
-Fix frostnova status chance and driven fail msg. (Daegaladh)
-Cleanup, replace hardcoded ai value with enum eq, change pet.msd to pet.master to harmonize with other blchar.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17332 54d463be-8e91-2dee-dedb-b68131a5f0ec
-> Added documentation
Updated script command 'sc_start' to allow for more variables and options - Fixes bugreport:7664
-> Item databases and some scripts updated
Cleanup of script commands 'countitem' and 'countitem2'
Rework of @ 'reload' commands - Now offers @reload dbname
-> @reload packetdb now available
Restricted bonuses 'SPRecovRate' and 'HPRecovRate' to short range melee only - Fixes bugreport:2916
Increase AGI no longer makes characters stand - Fixes bugeport:7657
Small warning fix for 'below array bounds' in skill.c
Added short timeout to make_connection (lighta) - Fixes bugreport:7670
Some visual fixes for equipment and items (lighta)
Rework of script command 'checkweight' (lighta)
Some channel system cleanup (lighta)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17326 54d463be-8e91-2dee-dedb-b68131a5f0ec
-> Updated documentation on changes
Updated Overbrand to a closer official area behaviour - Fixes bugreport:7651
Follow up to r17320 - Fix incorrect condition check (lighta)
Fixed status effects not being removed correctly (lighta, Akinari) - Fixes bugreport:7634
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17321 54d463be-8e91-2dee-dedb-b68131a5f0ec