summaryrefslogtreecommitdiff
path: root/src/map/battle.c
AgeCommit message (Collapse)AuthorFilesLines
2007-03-05- Added NK value 0x80: ignore target's cards (0x8 will now only ignore ↵skotlex1-12/+16
attacker's cards). - Corrected the NK values of skills (0x08 -> 0x80): Self Destruction, Smoking, Pressure, Fling, Zeny Nage, BioExplosion - Soul Burn & Gravitation got NK 0x80 (previously hardcoded) - Corrected Soul Breaker ignoring target's cards instead of the caster's. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9967 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-05- Soul Breaker no longer ignores elemental adjustments.skotlex1-4/+2
- Simplified the Utsusemi/Bunsinjyutsu check to only block weapon skills that do not ignore offensive cards. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9960 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-04- Added the +20hit that were missing the NPC elemental attack skills.skotlex1-3/+10
- Added support for autospells using "a random skill level". The last value of bonus4 bAutoSpell is used for determining this as well as the target. &1 is to cast on target (otherwise cast on self), and &2 is to use a random level UP to the level specified in the script (otherwise always cast the specified level) - Updated item_bonus.txt with the documentation for the bAutoSpell/bAutoSpellWhenHit changes. - Corrected @refresh not reupdating the basic stat bonuses. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9952 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-02- Modified set_reg so that it returns whether it succeeded or not in setting ↵skotlex1-75/+56
the requested variable. - Externalized battle skill range and blewcount bonus into their own static functions (battle_range_type & battle_blewcount_bonus). - Sped up the skill range flag setting code. - Added automatic support of damagesplit. This means that if a skill's nk value includes damage split among targets, it will do a divide by the number of targets (whereas before the list of skills where this worked was hardcoded) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-26- NPC_AGIUP now boosts flee by 100% and duration is 5+5*lv secs, as stated ↵skotlex1-1/+2
on the Ragnarok Bible. - Fixed Soul Breaker's misc part not ignoring flee. - Fixed misc attack's flee check being backwards (the less hit%, the more chance you had to connect) - Corrected the range check in vending.c (TRADE_DISTANCE -> AREA_SIZE) - Added define DEFAULT_ENEMY_TYPE in mob.c to simplify the enemy bl check (for easier reading/customization) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9922 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25- You are allowed to expel guild mates that are not online now.skotlex1-3/+1
- Corrected damage of BloodDrain - Moved the "already connected" checks to pc_authok, since a dual login doesn't needs to be checked until the new connection is accepted. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9916 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-24Fixed a typo in r9906 (C language restriction)ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9908 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23- The NK value of the skill_db has been made a hexadecimal value, and ↵skotlex1-143/+48
expanded to include more information about a skill's damage properties: 0x8 - ignore caster's cards, 0x10 ignore element adjustments, 0x20 ignore target's defense, 0x40 ignore target's flee. - Magic attacks always ignore flee, and misc attacks always ignore defense. - Autoguard will no longer work on skills that don't take in card adjustments - utsusemi & bunsinjyutsu no longer work on skills that don't take in card adjustments. - Corrected damage of the NPC elemental attack skills, Blood Drain and Energy Drain git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9906 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23- Minor cleanupsskotlex1-1/+5
- Adjusted menu-based skills so you can't reuse the same skill until you've dealt with the menu. - Adjust autospells so that removing an autospell works when the script of the card that removes the autospell is triggered before the script that adds the spell. - The "requested name of gm-hidden char" warning will not be displayed when the object in question is an NPC (since you can use Intravision to do this). - Corrected the header format for invisible npcs. - Venom Knife no longer takes into accounts cards or EDP. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9905 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23- Updated Box of thunder to use "agi up" effect for 30 secs instead of NPC ↵skotlex1-1/+1
Agi Up for 20. - Guild expulsion now will fail when the character to be kicked is in a guild castle (rather than checking for the character doing the expulsion) - pk damage reduction settings now will take effect only on Player VS player damage. - Fixed produce_db2.txt entries overwriting produce_db.txt ones. - Fixed item-granted/plagiarized skills unlocking skill trees when only your real learned level should. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9899 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-16- Modified the "guardian" spawn script command, it no longer receives a ↵skotlex1-15/+2
"amount" argument (since that only leads to trouble), if the class is negative, it'll pick a random class the same way the monster spawn script command does, and if you pass a spawn position with coordinates equal or less to 0, a random spot in the map will be taken. However you can't use "this" as a map name anymore since these script commands do not need an attached player. - Guardian spawning will now fail if you attempt to spawn a guardian that already exists on the same position. - Collapsed clif_party_main_info and clif_party_join_info into a single function: clif_party_member_info - Collapsed config settings "sg_miracle_skill_min_duration" and "sg_miracle_skill_max_duration" into "sg_miracle_skill_duration", which defaults to an hour. - Miracle of the Sun, Moon and Stars can now retrigger to lenghten it's effect, and it is cancelled on warp/map-change. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9871 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-13- Required Weapon, ammo, and skill state are now only checked on begin ↵skotlex1-8/+4
casting, instead of both on begin and end casting. - Now when autoguessing ammo consumption, the amount of ammo required is always one (making it require HIT number of arrows was rather high for things like Sonic Blows, specially when things like Arrow Vulcan only consume one arrow) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9861 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-09- Fixed skill range considerations using skill_get_range rather than ↵skotlex1-3/+3
skill_get_range2 - Corrected the range of EnergyDrain/BloodDrain (when Tharis says the range is 7, that means 7 without the cells on which the chars stand, so that means 9 in eA terms) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9833 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07- Updated the range of BioExplosion and Self Destruction so they count as ↵skotlex1-3/+3
ranged skills. - Removed old script bonuses bMatk, bMatk1, bMatk2 - Fixed char-server not sending online notification when a party member logs in. - When skill range by distance is set, the distance checked for is now 5 cells rather than 3. - Fixed bMatkRate bonuses not applying to status earned modifications to int/matk. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9816 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-05- Updated the code so that now a range of a skill is determined by the ↵skotlex1-64/+38
skill's range in the db. Now only skills with less than 5 cells of range are melee. - The inf2 parameter of the skill_db is now red as an hexadecimal. - Updated comments and inf2 values of the skill_db to use the new format. - Soul Change now can't be casted on self. - Updated range of Grandcross, Granddarkness and Gospel to 5 so when they attack their attack type is counted as ranged. - Splitted the super novice flag in two, to keep seperate counters for the chant and for the self-revival. The self-revive will now trigger only once per level per session, if you relog you can have it trigger again. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9794 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-01- Added support for mob skill target 'randomtarget', when specified, it will ↵skotlex1-3/+35
pick a random enemy from within the skill's cast range. - Updated the mob_db so that all skills from non-moving mobs that specified 'target' as enemy will use 'randomtarget' instead. - Amon Ra's meteors now use randomtarget instead of self. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9762 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-30- Corrected char deletion not working (column is called homun_id, not hom_id...)skotlex1-9/+1
- Collapsed config settings produce_item_name_input, produce_potion_name_input, making_arrow_name_input, holywater_name_input, cdp_name_input into a single config produce_item_name_input which uses bitmasks to determine what it affects. - Updated arrow_decrement to have 3 possible values: Disabled, Enabled, and Enabled as well as giving arrow requirements to skills that do not have them when used with ranged weapons (auto-guess for plagiarized/item-granted skills) - Minor cleanings git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9746 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-27Removed useless read-from-GRF featuresDracoRPG1-12/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9725 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-27- Moved the pet rename code from int_pet.c to inter.c and normalized it so ↵skotlex1-3/+5
it can be used for any object. - Made homunculus renaming go through the char-server so it can be validated against the allowed characters setting. - Added battle config hom_rename so you can enable renaming multiple times your homunc. - Updated the hardcoded defaults for gvg-damage to what they should be. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9720 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-24- Also fixed the battle config setting guild castle defense :xskotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9705 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-24- Cleaned up some more the Joint Beat implementation, so the status don't ↵skotlex1-5/+4
take effect until the attack connects. - Some minor cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9704 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-23- Moved the homunculus setting from pet.conf to homunc.confskotlex1-1/+1
- Fixed homuncs not triggering land spells if they are spawned on top of them and hom_setting&0x2 is not set to make them bypass them. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9696 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-22- Reverted the battle_calc_return_damage code as the previous one was ↵skotlex1-4/+3
correct, ninja self-targetted skills CAN be reflected. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9689 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-15- Fixed Joint Beat's speed penalty.skotlex1-1/+1
- Added a pc_authok check to prevent the case in which somehow another character of the same account manages to log in as well. - The pc normalize job function will now recognize you as a novice if you don't have NV_BASIC maxed. - Accessories will now by default go into the rigth-side rather than the left-side of the equip window. - Added a check in the mob_ai_subhard function to make mobs unlock targets which have their invincible timer set. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9655 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07Undid the memset->malloc_set replacementultramage1-8/+8
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03- Now the server will by default perform symmetric adding of friendsultramage1-1/+1
- > TODO - symmetric deletion (http://www.eathena.ws/board/index.php?showtopic=130749) - Added a first approximation of warps for the new maps (by $ephiroth) - Added Rachel and Veins to the list of @go destinations git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03- JK_JOINTBEAT as described in:FlavioJS1-16/+17
http://www.ragnainfo.net/wiki/index.php/Vital_Strike Although not clear, it's being assumed that the 2x damage is only for the break neck ailment. Reported by zaibach in http://www.eathena.ws/board/index.php?s=&showtopic=93873&view=findpost&p=727844 Note: this should be reviewed by Skotlex or someone that knows this part of the code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9609 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03- Fixed pc_calc_skilltree ignoring prerequisites / joblvl requirements.ultramage1-1/+1
- Re-applied change r9593 that got accidentally reverted by r9595. - Added the official behavior of monsters regaining full hp when they morph. - Added support for text/comments at the end of monster spawn lines (<tab> required) - Silenced the debug message in socket.c that's been freaking people out. - Modified the useless error message in atcommand_effect. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-02- Fixed SC_JOINTBEAT not doing crit damage for the Neck Break ailment.FlavioJS1-4/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9605 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-31Made High Speed Cart Ram (WS_CARTTERMINATION) ignore Crusader's Guard and ↵DracoRPG1-1/+2
Shield Reflect. And happy new year! git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9602 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-26- Fixed some warningsskotlex1-7/+3
- Corrected the comment for the global functions file. - Updated Charge Attack's damage equation as per the only source I've seen of it so far. - Now Guardians/Emperium can't hit /be hit if their current map isn't a gvg_castle or woe is off. This enables "localized" WoE by removing/setting the mapflag gvg_castle on the castles where you want WoE to take effect (note that even though normal players can't be hit on non gvg_castle maps, normal mobs can still be killed in such maps, you'd still need to modify the WoE scripts to use this kind of feature) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9575 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-23- Moved "#include <limits.h>" to cbasetypes.h to ensure it's included before ↵FlavioJS1-2/+2
checking if UINT_MAX has been defined. - Minor changes in pc_readdb related to max_level being unsigned. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-19- Fixed the setting hom_setting not being read at all.skotlex1-1/+1
- Minor cleanups git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9525 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-18- Added hom_setting to specify which homunculus 'quirks' are in effect. The ↵skotlex1-2/+4
default activates all of them, if you set them to 0 then homuncs will not be treated in any special matter, pretty much like standard mobs. if I missed any 'quirky' homunc behaviour from it, report it so it can be added to the list. - Made flooritem_lifetime a int so you can specify much longer life times (the default of 60k was already very close to the max of 65k) - Removed monster_ai 0x80 since it's now handled by hom_setting. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9519 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-14- Removed "mobs being enemies of each other all the time" because, even ↵skotlex1-1/+1
though mobs can hit each other as they should, they will refuse to use support skills on enemies, which breaks several of their skills. Mobs can't both help and attack someone tagged as enemy D: I guess eA is just too smart to emulate Aegis's sloppy coding. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9500 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-13- Additional damage bonuses (True Sight, EDP, Assassin Link, Crusader Link, ↵skotlex1-26/+30
Card skill damage bonuses) are now applied independently of each other, which lets them stack. - Some minor cleanings on the code vecinity. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9492 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-13- Fixed mobs being unable to attack anything... @.@skotlex1-16/+14
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9484 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-12- Mobs now by default are "everyone's" enemy, so mobs are able to hit each ↵skotlex1-12/+15
another. - Added monster_ai&0x400 to use the previous 'smart' criteria that prevents mobs from fighting each another. - Moved "unsetting" the angry mode from the mob_ai to the mob_damage function, where it'll work regardless of who hits the mob. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9481 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-12- Minor changes to ers.FlavioJS1-1/+1
- Removed unused/hardly used cbasetypes typedefs. - Updated txt-converter's makefile to include utils.o git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9473 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-12- Removed CART_MASK as OPTION_CART can take care of that.skotlex1-1/+1
- Moved the OPTION_MASK define to status.h - Reverted the knockback implementation to use clif_slide instead of clif_fixpos git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9469 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-11- Spirit of Sin and Enchant Deadly Poison now stack.skotlex1-11/+10
- Fixed skill damage card bonuses not working on magic skills. - Moved the setting of sd->npc_id = 0 in npc_dequeue to the beginning, since this function is called when a script is cancelled (TODO: but when this happens, shouldn't the previously ongoing script also be free'd?) - Made homunc's speed be recalculated when you respawn it from rest state. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9453 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29- Added overflow protection to @main whisper parsing.skotlex1-1/+2
- Fixed a bug in slaves_inherit_speed - Miscellanous silly cleanups (format, unnecessary assignments, comments, etc) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9367 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28- Moved the blocking of casting supportive skills on homunculus from ↵skotlex1-3/+1
battle_check_target to status_check_skilluse as bct is not invoked unless the skill is offensive (or party/guild only) - Cleaned up status_calc_bl_sub_hom, fixed recasting dex/str/vit/int bonuses skills making their atk/def/mdef stack with itself over and over. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9350 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24- Fixed EDP's damage being 100% more than it should (should be 5x, not 6x on ↵skotlex1-1/+1
normal attacks) - Self Destruction will only hit everyone and not just enemies when used by mobs (non marine spheres) unless the map is a versus map. - Spider Web's duration is now halved on players (before it was halved in pvp maps only) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9314 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-22- Modified slaves_inherit_speed and slaves_inherit_mode so you get better ↵skotlex1-2/+2
control of when to copy/remove modes/speed. - Reenabled usage of mode MD_CHANGETARGET, so mobs with mode 0x200 will be able to switch targets while attacking. - Simplified some more the chase-changetarget function. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9294 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-21- Corrected GS_DISARM, it is now a normal attack, which, when it connects, ↵skotlex1-0/+1
has a chance to do strip weapon ar a 3*lv% rate (modified by dex) - Fixed GS_PIERCINGSHOT, it should ignore defense - Corrected Gatling Fever costing SP when trying to turn it off. Also, speed increases bonuses won't take effect while it's active. - Updated the main makefile with a new OPT line. It is commented by default since it only works with GCC 4.X, when unset, it will hide away a huge amount of warnings that have to do with stuff that is not gonna be corrected in eA anyway. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9287 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-21- Corrected TripleAction's damage. It should do 150%*3 instead of 100*3% damage.skotlex1-0/+3
- Updated GS_CRACKER's stun chance using Doddler's info as reference. - GS_FLING won't reduce armor defense when used on players. - Added constant MAX_STEAL_DROP to determine up to which slot you can steal. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9286 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-20- The max level of NPC_SPLASHATTACK is now 1.skotlex1-1/+7
- Implemented NPC_DEFENDER. Reduces ranged Physical+Misc damage by 80% - Improved the battle config reader so it accepts hexadecimal values. Updated the monster_ai description to make use of this. - Added monster_ai&0x200. When set, mob skill delays are shared. That is, if the mob has several lines with the same skill, when the skill is used, the delay will be set to all of them, not just the one entry used. - Cleaned mob.c to use hex values when refering mob_ai - Corrected NPC_BARRIER so it grants 100 def/mdef (and not just mdef) - Weapon ATK bonuses will now only apply to watk and NOT watk2 on players (on players watk2 is refine bonus) - Corrected NPC_KEEPING. it should give 90 def, not 100 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9277 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-16- Shadow Jump and Kirikage won't "move" you if you use them in GvG grounds. ↵skotlex1-9/+10
Fixed Kirikage so it first warps you, and then you unhide. - Corrected Zeny Nage so the Zeny spent on the attack is always the exact same value as the damage you are dealing. Also corrected it so it does half damage when used on players. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9229 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-14- Characters with Karma may fight amongst them anywhere.skotlex1-0/+3
- Added mapflags partylock and guildlock, which lock the state of the parties/guilds on said maps. partylock blocks user party requests to create/invite/leave/kick, while guildlock blocks user guild requests to create/invite/leave/expel/make alliance/make opposition/delete alliance/delete opposition/break git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9216 54d463be-8e91-2dee-dedb-b68131a5f0ec