- 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://svn.code.sf.net/p/rathena/svn/trunk@9720 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9696 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added @homshuffle. It recalculates the homunculus stats, as if the homunc was sent back to level 1, and then releveled. This command is mean to help fix those previously created Homunculus that are much stronger than they should be.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9671 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated the information about ip rules and DDoS protection in packet_athena.conf and commented out the line "allow: all" so connections are rejected when a DDoS is detected.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9647 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added parse_console to the plugin API.
- Added plugin for parsing the console. (working with cygwin)
- Added the console plugin to plugin_athena.conf commented out.
- Copied the parse_console code form login txt to login sql and char.
- Added propper plugin version compatibility tests.
- Better output when a plugin fails to load.
-----
The console plugin (at it's 3rd version) uses two pipes and another thread.
- the other thread reads data from stdin and sends it through one of the pipes
- the other pipe serves as semaphore (and terminator) to that thread
- the normal thread checks if the pipe has data once every timer cycle, if data is found it invokes parse_console with that data
Worth noting: the first version didn't use another thread and just checked if data was available on the input stream, but apparently that can't be done to standard input in windows
It's only been tested on cygwin (and should work on most *nix systems), can't test native windows right now because I'm having trouble exporting the required plugin variables in VS8
src/plugins/Makefile hasn't been updated because it's not working properly for me
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9631 54d463be-8e91-2dee-dedb-b68131a5f0ec
- renamed atcommand_sub to is_atcommand_sub (charcommand too)
- reformatted conf-tmpl's comments a bit
- and a fix to the stable changelog to make my last commit more descriptive
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9625 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9575 54d463be-8e91-2dee-dedb-b68131a5f0ec
- warn_cmd_no_comma, warn_func_no_comma, warn_cmd_mismatch_paramnum are now warn_func_mismatch_paramnum and it only prevents showing the error, as it was probably intended in the first place. (correct me if i'm wrong)
- Merged the parsing of function calls in the script engine, removing the parse_cmd hackery, and made "heal (.@val+rand(0xff))&0xff,0;" valid again.
- Fixed a bug in eye_of_hellion.txt and a bug in hunter.txt
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9569 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9519 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9481 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Status Recovery again makes mobs unlock their current target.
- Moved requesting party/guilds from the char-server from pc_authok to pc_reg_received, since map_nick2sd and map_getallsd won't work until the characters are authentified. Also removed the guild master setting from clif_parse_LoadEndAck to pc_reg_received since guild master setting will work there.
- Fixed homun hunger timer being started on login even when hom is vaporized/dead.
- Fixed mvp exp attacker bonus applying incorrectly.
- Removed duplicate msg_athena.conf entries 619 and 620 for Ninja/Gunslinger.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9401 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied The Ultra Mage's patch to use strict npc header formatting parsing. Updated the relevant stock scripts/mapflags that didn't conform to the standard.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9352 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9294 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9277 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9216 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added error reporting when the max number of ground unit cells has been reached (this may be the reason why sometimes it fails to recognize when you step out of a song/dance/encore)
- Added passing the Endure effect to other devoted people. Note that the "hit count" is individual for each character, and only when it ends on the Crusader himself will that force it to end on everyone else. It also will not transfer on gvg grounds, but it does transfer in pvp.
- Fixed Reflect-Shield triggering Auto-Guard instead on devoted chars.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9168 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Modified the player_cloak_check_type and monster_cloak_check_type settings. 1 makes it check for walls, 2 makes cloaking NOT end on normal attacks, and 4 makes cloaking NOT end when using skills. The default setting for players is still 1, but for mobs the default has been changed to 4.
- Non-players can now use all skills while hidden.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9109 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Implemented the property where the first attacker get's double exp-share than the others. Due to the way exp calculation is done, this bonus will not apply when you use exp_calc_type 1 (damage/max_hp) instead of the default (damage/total-damage). For now this bonus is done after calculating who is the MVP character instead of before.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9107 54d463be-8e91-2dee-dedb-b68131a5f0ec
- exp_bonus_attacker: Indicates how much additional exp a mob gives per additional attacker (eg: 10 -> +10%*attacker)
- exp_bonus_max_attacker: Indicates at which number of attackers the bonus is capped (eg: 5 -> 5 attackers, so a mob yield the same exp whether 5 or 10 people attack it)
- Changed the way the party_even_share_bonus setting works. It now uses a simple linear bonus increase (eg: 10 -> +10%*party member)
- The defaults are as explained by Tharis: +25%/attacker, capped at 12 attackers, no party bonus.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9067 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up the pc_steal_item implementation (again). It now uses a more random, simple approach in each steal attempt.
- Changed the way the skill_steal_max_tries work. Now it actually MEANS the max number of steal tries, use 0 to disable (unlimited tries).
- Changed the default of skill_steal_max_tries to 0 as there's no proof anywhere that there should be such a limit.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9057 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Likely fixed pc_steal_item always failing to steal (it was attempting to steal random item IDs...)
- Cleaned up a bit the mob on-death event so that when the killer is a homunculus, it's master will be taken. Also, the variable killerrid will be set before running the script to specify who delivered the final blow. If the killerrid matches with the script attached player, you can be sure your player did the final blow to the mob, otherwise, the attached player is who did the most damage to the mob.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9026 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added the actual skill delay of 1000ms to Triple Attack and Chain combo in skill_cast_db. Added Combo Finish and TigerFist as well with a delay of 700ms.
- Phantasmic arrow now knockbacks even if it misses.
- Adjusted the way Monk combo times work. The combo time is now always 300ms (adjusted by combo_delay_rate) which takes effect inmediately AFTER your current skill's canact-delay (which is why the particular skill delays were moved to skillcast_db)
- Modified skill_delayfix so it performs the can-act reduction from agi/dex for combos there.
- Modified pc_steal_item so that it behaves more closely to the way it does on Aegis.
- Commented out the monster_noteleport mapflag from the guild castles as this is the Aegis behaviour
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9012 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed SC_NOCHAT printing the "skills are now available" message twice on natural expiration.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8953 54d463be-8e91-2dee-dedb-b68131a5f0ec