216 Commits

Author SHA1 Message Date
Kevin
4bcaa39ee9 Running now resumes after dmg as well, see (r12488). (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12490 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-05 09:41:34 +00:00
Kevin
4cc085b115 DMG no longer stops running. (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12488 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-05 08:45:39 +00:00
Kevin
1a5d1c8780 PCs/Mobs/NPCs now block Leap(TK_HIGHJUMP) and sprint(TK_RUN). (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12485 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-05 05:28:01 +00:00
Kevin
41cccac36c Update to Auth Glitch fix: moved unit_free_pc back to where it was and updated it so unit_free_pc just tells the script to end(not hard delete). (bugreport:1214)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12481 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04 22:10:04 +00:00
FlavioJS
ca35192cd0 * Added more debug information to track the double remove_map's
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12457 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-02 01:03:31 +00:00
FlavioJS
66ba548612 * Added temporary code to track and prevent the multiple remove_map's that appear to be happening.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12430 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-24 23:18:08 +00:00
zephyrus
2c8b8a0715 - The last bug in Adoption system.
- Fixed a bug on trade, if you received a trade without accept it do logout... the other player cannot trade anymore 'til restart.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12396 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-19 00:12:35 +00:00
ultramage
b8cf860055 Fixed one condition incorrectly modified in r12358, which caused dynamically unloaded mobs to never spawn once they've been unloaded once (bugreport:1178)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12361 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-14 08:05:38 +00:00
ultramage
f6d2d9a360 Replaced some foreach-based functions by their inlined iterator equivalents.
Changed the dynamic mobs system, so that the flag that indicates whether a particular mob can be unloaded is stored in the mob's respawn data structure.
Cleaned up related parts of the source code.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12358 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-13 22:09:58 +00:00
ultramage
078d492412 Removed one mob data variable related to dynamic mobs that I found to be redundant.
Changed MAX_MOBSKILL (max. amount of different skill entries per mob) from 50 to 40 to reduce memory consumption a bit more.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12350 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-12 21:02:59 +00:00
skotlex
d6eb67c6c4 - Modified attack_walk_delay so it behaves on a 'per-object' basis, and changed the default to 15 (all types).
- Modified battle_delay_damage so damage is not delayed more than one second for non-player attacks. 
- Modified party_member_added with a hack so that the clif functions will send the info of the new member since party_recv_info has not yet arrived.
- Updated clif_calc_delay so the type sent to the client is based on the number of hits of the skill (as Aegis packets reveal)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12332 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-09 20:11:14 +00:00
ultramage
5767cc5285 Cleaned up and corrected some more land skill code:
* removed redundant skill_ganbatein() function
 * Added flag UF_PATHCHECK from jAthena which affects whether a skill's cells will be affected by the surrounding terrain. Adjusted existing flags so that they closely match jA's (for easier comparisons).
 * Fixed code that allowed placing of skill unit cells on 'gaps'.
 * Fixed code that prevented successful casting of land skills on 'gaps' (officially it's possbile, even though they will not deploy entirely).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12331 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-09 17:28:01 +00:00
skotlex
8ae4bd12ad - Updated firepillar so it cannot be placed on top of others.
- Updated the firepillar code so it behaves like the other traps.
- Changed the default format for @me and @main to avoid crashes on the newer clients.
- Fixed the char-sql server so it returns a valid 'not found' packet when attempting to load a non-existing homunculus.
- Fixed jump to use 0,0 for random coordinates rather than -1,-1
- Added missing \n to error reporting in getmonsterinfo
- Additional status changes now only get triggered if the attack did damage, not if they get absorbed.
- Fixed a logical comparison in unit_free to properly remove pets/homuncs when their intimacy is reduced to 0.
- Properly set the opt3 value for Moonlight, Changeundead and Soul Link
- Fixed the "no equip" flag of cards not being properly applied when attemting to equip items.
- Added a check to avoid invoking pet menu entries when the pet is incuvated.
- Fixed the session_data de-association in chrif_auth_delete
- Cleaned chrif_auth_ok so that the latest received char info is kept when previous char login data was already in there.
- Corrected docs mentioning non-existing flag 'mf_nopvp'


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12293 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-04 18:04:04 +00:00
skotlex
1e0a82fab3 - Fixed new guilds displaying online-connect member count at 0 rather than 1, and the guild master not knowing it is one (eg: it cannot edit the guild notice of a newly created guild until relogging).
- Fixed acc_reg2 parsing screwing up the char_id and subtracting 2 from it rather than passing it as it is.
- Extended the auth_node/auth_db system in chrif.c to handle log in/out and mapserver-change procedures. This way players are not in the main dbs when they are not "active", which blocks potential invalid accesses to them.
- Replaced states auth, waiting_disconnect and finalsave with active.  
- Cleaned some the party/guild login and creation procedures, removed the party_sent/guild_sent states.
- Removed a redundant guild_check_member call which is beyond not-needed and into the realm of wasting resources.
- clif_parse will no longer process packets from !sd->state.active players, this also makes checking for finalsave uneccessary (since players re already removed from the maps and dbs by this point, so you can't access them in any other way)
- Separated the roles of unit_free and map_quit, the former will handle cleaning structures from the player so it can be free'd safely, while the latter performs additional routines which are unique to characters logging out normally (map-server changes will invoke unit_free and bypass map_quit).
- Removed pc_isplaying, quit_db, map_knowsaccount, MAPIT_PCISPLAYING among other functions/defines which are no longer needed due to the new login scheme.
- Cleand up a bit some code in the clif_send(_sub) functions.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12223 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21 00:13:56 +00:00
zephyrus
69ae4766ce - Added some new config settings: homunculus_autoloot, idle_no_autoloot, max_guild_alliance.
- Added a code to activate a Kill Steal protection and the required mapflags.
* (I will explain this later on forums).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12203 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-14 01:18:19 +00:00
skotlex
78e24d1e09 - Removed hom_setting&02 (ignore skill range) as this was fixed by Gravity some time ago.
- Moved pc_delinvincibletimer from unit_removemap to unit_free as the previous method has a logic glitch that could cause an on-place event to trigger after the on-left event. 


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12130 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-22 13:13:57 +00:00
ultramage
d5455fabfc Simplified the BL_CAST macro (see topic:166795)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12072 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14 08:54:54 +00:00
skotlex
9a2033c364 - Made the pc reg variables receive a const char* as the argument, since they duplicate the value anyway (and they were receiving const char* values from the setd function)
- Fixed Wand of Hermod not starting the SC_HERMOD status change (which blocks spells)
- Fixed a missing break in the cast cancel code.
- Fixed additional def/mdef from vit/int bonuses being lost when a status change that affects def/mdef triggers (for homunculus)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12033 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-08 13:30:43 +00:00
ultramage
8f1eaa3d67 Moved extra junk from map_addblock/map_delblock to where it logically belongs (loadendack/unit_remove_map), removed flags and _sub macros
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12002 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 20:56:20 +00:00
ultramage
ca115ffc82 Removed map_data's block_count, as (quote Yor/ja2160), "Perhaps useful for debug, but uses memory AND CPU for nothing." (block lists are linked lists, they don't need count tracking)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12001 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 20:43:25 +00:00
ultramage
b3b275f24f Path code cleaning...
* Added map/path.h, moved path-related function headers to path.h.
 * Removed the macroed _real() path functions.
 * Modified some functions to use boolean return values instead of 1/0 or 0/-1.
 * Modified path_search_long() to allow a NULL output pointer (in which case a temporary local buffer will be used instead).
 * Removed an unused ->path_half member variable from struct walkpath_data.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11958 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 13:00:48 +00:00
skotlex
81ddad8b83 - Cleared up npc shop id when warping a player.
- Added missing range/skill-mask info to reflected damage (fixes autospells not triggering on it)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11880 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10 09:25:30 +00:00
skotlex
9ca2a6c0dd - Changed the chaotic delay from block to delay since it just a sec
- Fixed the longing for freedom check in unit_can_move
- Corrected a check while parsing refine_db.txt


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11870 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-08 17:09:24 +00:00
skotlex
11aaa56783 - Fixed ensembles skills.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11869 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07 10:55:59 +00:00
skotlex
37d79a46de - Corrected skill_check_condition to not delete items right away for certain skills that do the deletion themselves. Fixes several skills consuming items twice.
- Dispel's success rate is no longer affected by MDEF
- You are no longer blocked from being warped when standing in a warp while in a duel.
- Duels are now automatically ended when you warp out of the map you are in.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11836 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 12:57:34 +00:00
ultramage
cd3307a4bc Fixed a crash when a taekwon hits a wall while Sprinting (bugreport:483)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11795 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-24 17:11:02 +00:00
skotlex
ddf923dba5 - Changed the status_change structure to use dynamic rather than static memory to hold the individual status changes, this should have a noticeable impact on the server's memory consumption.
- Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power).
- Since I am unable to fully test, watch out for any bugs~


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-22 23:52:58 +00:00
skotlex
6840bb28ab - Moved subtype from struct block_list to struct npc_data.
- Fixed some compilation warnings.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11772 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21 13:29:45 +00:00
skotlex
53d5219da6 - removed 'skill_fail' message when a ground skill fails as that caues double 'skill failed' messages in several instances.
- Corrected shop freeing using free instead of aFree ,causing memory leak reports.
- Corrected the sc def settings modifying tick_def in regards to sc_def instead of tick_def


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11762 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-19 19:40:19 +00:00
ultramage
560005b13e Removed battle_config.error_log as console_silent already handles this
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-17 20:51:25 +00:00
ultramage
ffd150e6f0 Fixed a bug in r11384 letting you bypass requirements for some skills (see bugreport:219).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11710 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-10 21:26:12 +00:00
ultramage
989a557598 Removed some long-unneccessary debug messages (from r1105).
Removed function skill_count_target() because it's a duplicate (see topic:169337).
Renamed skill_get_pl to skill_get_ele (because it retrieves element ids).
The block_list structure now uses the BL_ enums instead of 'unsigned char'.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02 15:54:27 +00:00
ultramage
ac33a63e54 * Added names to the SC_ and SI_ enums, now they can be used to properly indicate where such values are to be used (replaces usage of 'int')
* removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3
* removed support for @go-ing to your memo points
* simplified the overly verbose @memo command; now re-uses pc_memo()
* cleaned up pc_memo(), now uses semi-correct packet replies
* Minor code cleaning/formatting

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 13:20:48 +00:00
ultramage
2cb8a5838e * Fixed TXT charserver doing periodic random-sized memory allocation (bugreport:312)
* Set 'Create Converter's produce success rate to 100% (bugreport:302)
* Added check that verifies weapon/ammo/state requirements also when casting finishes (might have unwanted side-effects tho'!) (bugreport:228)
* Fixed Firewall knocking back undead/fire element mobs (bug in r11578)
* Added dummy 'openmail' to txt server to fix a script error message

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11585 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27 11:59:35 +00:00
skotlex
a1becae58f - Added bonusautoscript and bonusautoscript2. These are used to attach a script to a player which gets executed on attack (or when attacked). Required for several of the more recent items.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11519 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-19 20:31:57 +00:00
ultramage
ee02c2190b Fixed some gcc-specific stuff, silenced some more warnings
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11515 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 21:59:20 +00:00
ultramage
4cfb15d8bb Fixed numerous /W4 warnings (and created more :)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11514 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 21:25:26 +00:00
ultramage
c7256c0577 * Corrected Icewall skill to be closer to official behavior (part of bugreport:38)
- now works on occupied squares (previously it disappeared)
- now you can walk out of an icewall square (removed code that blocked pathfinding if the origin cell was of a nonwalkable type)
- added back the hack where mapcell changes are broadcast to whole map (prevents client from leaving the cells non-walkable if you warp away)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11354 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 18:41:54 +00:00
ultramage
ce7dd37878 * Cleaned up parts of skill.c related to skill units
- removed some nonsense code in skill_dance_switch() (from r8876)
- removed 'security system to prevent forgetting timer removal' (r1213)
- renamed some skill-related data structs (had same name as variables)
- commented out custom Venom Splasher countdown messaging code

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11347 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03 12:58:52 +00:00
ultramage
cd9fe3f409 some unimportant path.c / unit.c cleaning
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11257 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21 13:42:13 +00:00
ultramage
3503fc5de1 * Corrected skill Charge Attack as described in bugreport:67
- cast time is between 100% and 300% (+ infinite waiting fixed)
- damage is also between 100% and 300% (doesn't increase past range 9)
- added knockback that's equal to the distance to target
- no longer causes teleportation on WoE grounds
- if target runs behind an obstacle, the skill will still teleport you, but will not perform the attack or do knockback
- this should be official behavior, so enjoy the weirdness!

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11256 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21 13:26:36 +00:00
skotlex
793b2aaafb - Finally got some time to clean up and fix monster_ai&0x40 (chase through warps). It works correctly now regardless of the number of players on the source/destination maps.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11233 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-17 20:15:36 +00:00
skotlex
d672552159 - Corrected SG Miracle to trigger per attack, not per walked tile. Trigger rate is now 0.02%
- Corrected the warmth skills not clearing up correctly the previous field when you place another one down.
- Corrected vit not affecting the HP bonus that Super Novices, Ninjas and Gunslingers get.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11193 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-13 22:45:57 +00:00
skotlex
574c76e799 - Added support for the new party invite/reply packets from the latest client version.
- Cleared up some TODO's
- Added auto-rejecting party/guild invites when the target is disconnected from the server.
- Added a correction in the walking code to abort it when map_moveblock cancels the player's walking (by warping/knocking back),the default code would fail because unit_stopwalking would do nothing since the walk timer was already -1 in that moment.
- Corrected mob_randomwalk to use unsigned int for the tick variable.
- Changed the default @Main format to prevent crashes in the newer clients.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11134 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-07 07:31:58 +00:00
ultramage
1481fc1524 * Documented/cleaned up chatroom code and packetry
* Added some comments to clif_changechatowner()
- totally broken, see the code + topic:163829
* Implemented the chatroom display packet properly
- now has 4 types: public, private, npc and non-clickable npc chatroom
* Implemented the chatroom leave packet properly
- now utilizes the 'kicked' flag when the user was forced to leave
- TODO: banlist support to prevent re-entry, see jAthena code

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11100 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-31 17:08:27 +00:00
ultramage
0072a0189e * Cleaned/clarified some #include relationships between headers
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects)
* Removed way messed-up script function 'unitdeadsit'
* Tagged 'FIXME' lines written by myself

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-19 12:55:29 +00:00
ultramage
f5f77a5d51 * Cleaned up junk left in the code by the mapcache/mapindex update
- Added mapindex_getmapname(_ext) to help with ".gat" adding/removing
- Moved related processing to the interface (prevents duplicity)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10963 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-08 17:41:49 +00:00
ultramage
0a0782c664 Some all-around code reformatting/cleaning
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10947 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-04 16:24:49 +00:00
ultramage
519d61249b Renamed menuskill_lv -> Renamed menuskill_val, because people also used it to store stuff like map coords, inventory offsets and object IDs...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10937 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-31 07:41:21 +00:00
ultramage
2afd345d77 * Cleaned up mob drop code, crashfix is still needed though...
* Reduced ignore-list length to 20, added proper reply packet
* Cleaned up some very poorly written pm-ignore code (see r141)
* Fixed a typo in Warp Portal code displaying an incorrect map name

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-26 23:27:40 +00:00