198 Commits

Author SHA1 Message Date
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
ultramage
d07ad9e31c * Cleaned up some nasty code related to skill_blown
- split 'direction' value from flags
- moved (almost) entire direction calculating code to the outside
- bowling bash now has the 'suck-in' effect (knockback is now done in the direction you were last facing, not in your-target direction)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10861 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-06 20:51:01 +00:00
ultramage
c73c55d465 * update from Skotlex
- Fixed NPC_STOP's visual effect not clearing when the status ends
- Corrected @homshuffle making the skill tree be lost.
- Corrected homunculus skills being unusable if the master was sitting or inflicted by a disabling status (eg: petrify, stun)
- Some fixes to the cell no stacking mod (mainly mobs would just get stuck behind each other and not properly surround you)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10856 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-05 18:07:31 +00:00
ultramage
338c473b7d * Changed behavior of some guild-related code (according to X.4 tests):
- removed code that prevented Homunculus Resurrection during WoE
- logging in doesn't activate the 5 minute guild skill block anymore
- non-Urgent guild skills can now only be cast on WoE grounds during WoE
- all guild skills now have no cast delay (previously was 1 second)
- casting guild skills will now block FreeCast sages from walking
- Battle Orders and Regeneration are now instacast
- Restoration now has a 10 second cast time, reducible only by dex
- Urgent Call's cast cannot be reduced anymore (not even by items)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10807 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-22 16:25:18 +00:00
ultramage
e1397576e6 - Fixed missing client update when 'return to savepoint' fails
- Fixed a bad copy-paste from r10028 letting players escape jail (char was dead on login, so statuses (SC_JAILED) couln't be applied)
- Added clif_standing() to clif_sitting(), and used them in clif.c
- Cleaned up clif.c a bit - clif_clearchar->clif_clearunit_area, clif_clearchar_id->clif_clearunit_single

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10668 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-03 14:43:34 +00:00
ultramage
301d493855 - Added new flag to skill_castnodex.txt, to allow per-skill tweaking of cast time and delay reducibility by item scripts (cards and such)
- Fixed Martyr's Reckoning never triggering for gms with all skills
- Added MO_TRIPLEATTACK and RG_SNATCHER to @skillall's skill filter 
- Made gm_skill_unconditional bypass skill blocking (guild timer, etc)
- Reverted the weird delay_dependon_agi thing (r8923, r9055, r9059)
- Changed a few memsets to strncpy (reading past buffer is a bad idea)
- Sped up some memset operations (multiples of 4 are faster)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-23 21:23:36 +00:00
ultramage
781eabf654 Fixed a typo in Chase Walk code (caused by r10593)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10609 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-23 06:41:34 +00:00
ultramage
4228b025e7 - Fixed one missed malloc->aMallocA typo, causing memory deallocation problems
- Some small trunk-stable formatting synchronization

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10595 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-20 20:40:34 +00:00
ultramage
c0ccc85648 - Fixed Chase Walk having a deactivation cast time (should be instant)
- Changed status calc to allow value 0 stats; aegis allows negative values, but eA is unsigned in this regard, so ...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10589 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-20 10:23:49 +00:00
ultramage
711d01a128 Reformatting @_@
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19 15:50:41 +00:00
ultramage
cc636df44f Re-phrased the attacker flee/def penalty config descs
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10530 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-11 17:09:09 +00:00
skotlex
f4dfd0d8ee - Removed the include of features.h from the console.c plugin. It is apparently not needed (and it was preventing compilation on FreeBSD)
- Fixed bug which totally broke item group bonuses.
- Added warnings when setting a pvp/gvg flag removes the other flags on the same map (gvg and pvp can't coexist on the same map)
- Optimized the unequip loop when changing sex.
- Removed the check that prevented you from casting soul-collect when you already have 5 spirits.
- Corrected Magic Rod so it doesn't displays any skill-use animation until it triggers.
- Debuff on logout&2 is again set to default, instead of removing food bonuses now it removes Maximize Power, Maximum Overthrust and Steel Body.
- Corrected Steel Body's icon (it actually belongs to AutoBerserk)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10317 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-22 19:14:42 +00:00
skotlex
3ef8c87261 - The gain exp from resurrection config will now only work when the revived player has yet to reach the last level (since otherwise it can give quite a lot of exp since the last level exp just keeps piling up)
- Corrected unit_canmove so you can't move if you are vending.
- Corrected npc_click so it won't let you click on hidden npcs.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10281 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17 17:39:10 +00:00
skotlex
ced5130a7b - Some cleaning of the castend_map code to prevent the menuskill variable from not being cleared if you made a choice but the skill was not triggered (due to silence, stun or whatever).
- Cleaned up a bit the Charge Attack casttime equation, should prevent infinite casttime when the distance is 0.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10213 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-11 14:21:09 +00:00
skotlex
9d77814b36 - Changed a bit the Moonlit code to prevent an infinite loop
- Changed clif_skillcasting definition to take as argument the element of the skill.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10083 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-27 21:46:15 +00:00
skotlex
3ee61db52f - Removed Magic Rod's cast bar.
- Corrected warning on login sql.
- Gravitation no longer causes damage flinch.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10038 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-20 14:59:16 +00:00
skotlex
9692154429 - Removed function clif_movepc as it's no longer invoked anywhere.
- Removed clif_move as it's not needed anymore.
- Renamed clif_moveunit to clif_move and uncommented it. This is the new "unit movement" packet to use (the code should be robust enough to always invoke a clif_insight/outsight for characters going in/out of sight).
- Because of this, many functions that handled the return of conv_str need to be changed, I haven't finished doing the conversion process because I must go already, if someone else can continue, please do so (I will resume work on this in ~5 hours


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9987 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11 17:33:58 +00:00
skotlex
e45a007db2 - Corrected the pet/homunc data not being free'd if the player logs out before being authed.
- Initialized player's speed on pc_setnewpc to prevent homunculus copying a speed of 0.
- Added comment to reloadbattleconf specifying that some settings do not take effect inmediately.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9975 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-07 18:58:33 +00:00
skotlex
cf8685131d - Minor cleanups
- 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://svn.code.sf.net/p/rathena/svn/trunk@9905 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23 18:41:56 +00:00