- Restored code which was removed (stuff like SC_SKA)
- Fixed possible crashes on some NJ skills if used by non-players.
- Fixed most NJ magic spells doing more damage than they should.
- Fixed ZenyNage being able to do more damage than zeny you have.
- Cleaned up skill setting code for Suiton and Kaensin
- Ordered SC_* definitions in status.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7947 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Adjusted map_countoncell to receive the BL_* defines currently used instead of 0 to signal all.
- BladeStop will now end when either of the characters is moved (knocked out?) around.
- Moved the Zeny penalty code from respawn to pc_dead.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7859 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected Cannibalize/Marine Sphere ignoring the selected summon spot.
- Fixed looting pets ignoring the item pick-up priority of other players.
- Should have fixed a signess warning in login txt.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7828 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added a check on pc_equipitem so that when the client specifies to equip a weapon on the right hand when the left hand is available, the weapon will be sent to the left hand instead (when dual-wielding is possible, obviously). Same for the left/right accessories.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7816 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added the SC_JAIL code for timed jailing, but the related @ commands ain't in yet.
- Added checks to make adding items to inventory/cart fail when a char is in finalsave state.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7751 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Implemented Grandcross weird property where if there's noone on the path it'll hit twice for the skill's reported damage, and when there is (or you cant knockback the target) it'll do a splash attack that hits twice for 500% to all affected targets.
- Some cleaning of the combo code. TK Rankers will now get their combo-time extended each time they trigger a kick, enabling them to do "unlimited combos".
- Modified the autosave function to use a sweep across the player db instead of across connected clients. This will cause non-connected players (like autotraders) to also be saved on a regular interval, may help with possible data-loss from said characters on unclean shutdowns.
- Added function map_foreachpc
- Removed the code that forces aggressive mobs to go after a Homun instead of their master (no reason why there should be such a condition).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7721 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Save interval set to 300 (5 minutes): all characters will be saved in equal time-slots, so that everyone is saved every 5 minutes regardless of number of players online.
- Save interval set to -1000 (1000 ms): One character will be saved every second, regardless of amount of characters online.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7657 54d463be-8e91-2dee-dedb-b68131a5f0ec
- duel related messaging functions (added clif targets DUEL/DUEL_WOS).
- intif whisper to gm function
- day/night timers
- Rewrote the parse_console function to stop allocating/deallocating memory on every call.
- Modified chrif_charselectreq to receive the player's ip among the data.
- Added function clif_disp_message, which is the same as clif_disp_onlyself, except you can specify the targets (it sends a guild-chat packet)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7617 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Reenabled @changesex
- Added function pet_create_egg which handles creating pet eggs correctly (when passed item id is indeed a valid petegg). Applied this on @createitem and getitem.
- Cleaned up code of @item
- Added define UNKNOWN_ITEM_ID (512 = apple)
- Added IT_* enumation item_Types to identify said data from items.
- Cleaned up the itemdb_isequip functions. itemdb_isequip will now return if the item is equipable by players, itemdb_isstackable returns if the item can be stacked, and itemdb_isidentified returns if the item should drop identified.
- Added defines CARD0_PET/CARD0_FORGE/CARD0_CREATED to identify if a given item has "invalid" cards, added define function itemdb_isspecial to simplify this check.
- Removed itemdb.c considering item ids above 20000 as invalid.
- Cleaned up script commands getitem and card-counting related ones.
- Cleaned up a bit more pc_isequip
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7613 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed Beast Strafing not having inf2 = 512 (to make it a target-auto-select skill)
- Fixed the duration of Land Protector, removed unusued time2 value from their entries in skill_cast_db. Thanks to Haplo.
- Corrected Warp Portal being unable to warp people who are standing on it on the moment it triggers.
- Fixed @follow stopping the moment you are warped.
- Fixed pc_additem messing with the equip field of the passed item data. Fixes the famous "equip stuff on your arrow slot" bug.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7607 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added back the TF_MISS walking speed bonus to assassin type classes (how did that got lost?)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7583 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Also cleaned up pc_equipitem. When dual wielding or equipping accessories, if the client actually specifies one of the two positions, it will be taken into account.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7550 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added support for bonus3 bAddEff/bAddEffWhenHit as follows:
bonus3 bAddEff/bAddEffWhenHit, <SC value>, <rate>, <target flag>.
Target flag is 0: Self. 1: Enemy. 2: Both.
- Added these descriptions to doc/item_bonus.txt
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7514 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed pc_makesavestatus not setting your logout position.
- Fixed the UF * flags of Songs/Dances in skill_unit_db.
- Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.
- Added the missing +100% damage modifier of Enchant Deadly Poison.
- Fixed SkillStatusChangeTable not working correctly for Homun/Guild skills.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7454 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleanup in itemheal related code, fixed the item heal group bonus not working on Groups beyond 7.
- Fixed pet's loot not being moved to your inventory on logout.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7419 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Scripting system screwing up script position after mixing timers with menus.
- NPC attached AI mobs display as alive when dead.
- View data not updating after buildin_unitdeadsit.
[Improved]
- NPCE_LOADMAP to execute after all (area) objects are sent to the player.
- Simplified scripting system. sd will now use pointer to the script state itself.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7388 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Some minor cleanup of Soul Change
- Added state rewarp to players. It gets set when a pc_setpos call is triggered while the player is changing maps so that when the player finish loading the map, it is inmediately rewarped to where it has been rewarped/recalled to.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7370 54d463be-8e91-2dee-dedb-b68131a5f0ec
- A bit of cleaning in pc_equippoint
- Corrected clif_item_sub so that pet eggs will correctly be sent as equipment (fixes them showing up "broken" and with random refine levels)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7341 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Setting of variables with defined scope in some frequently executed script events.
* [Added]:
- Missing script_require_trigger flags for some power hungry events.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7325 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Allowed itemdb_exists to return the dummy item. Enables "invalid" items to be sold, traded, dropped, etc.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7321 54d463be-8e91-2dee-dedb-b68131a5f0ec
- npc_timers now will not restore the previous timer data when there's no players attached (when it's strictly an npc timer). This should reenable the old behaviour of getnpctimer returning the total ellapsed time since "startnpctimer" even after the last label has been reached. However, this behaviour won't apply to player-attached timers.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7312 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied use of parse_hostbyname() in chrif.c to fix compilation errors.
- status_percent_change will now account for when the target's max hp/sp is above INT_MAX.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7281 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated clif_refres to send inventory, cart, and weight info.
- Fixed intif_guild_memberinfoshort to not leave a dangling pointer when someone logs out <.<
- Cleaned up a bit guild_check_member
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7226 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Modified aspd_rate in status_data to hold aspd change on a base of 1000 = 100% rather than 100 = 100%. All status changes that affect aspd have been updated. Study and Single Action should now correctly give +0.5% aspd per level.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7213 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed setting gtb_pvp_only and replaced it with gtb_sc_immunity which specifies the threshold before the bNoMagicDamage starts blocking support statuses as well. ie: gtb_sc_imunity: 75 will mean that "bonus bNoMagicDamage,70;" reduces magic damage by 70%, but does not blocks heal or support status, while "bonus bNoMagicDamage,80;" does.
- Updated GTB's card script to be "bonus bNoMagicDamage,100;"
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7212 54d463be-8e91-2dee-dedb-b68131a5f0ec