802 Commits

Author SHA1 Message Date
ultramage
6bf267e60e Changes to reduce the number of map cell types
- Pneuma now again works via status change (see r3969)
- removed unused CELL_SAFETYWALL
- removed custom CELL_REGEN, it just increased regen rate (r1192, r1518)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12005 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 23:27:22 +00:00
ultramage
470a56dbea Implemented THE official Steal skill equation and game mechanics (basically version from /stable plus a few tweaks) (see topic:116540).
Added missing bAddStealRate reference to doc/item_bonus.txt.
Removed skill_steal_rate, as it was never used in the code (see r231).
Removed skill_steal_type, it's just a one-liner source mod (see r231).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11992 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-29 22:30:29 +00:00
ultramage
7906017662 Moved distance-related functions to path.c/h
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11981 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-26 17:18:57 +00:00
skotlex
1d73a777c6 - Fixed horrible handling of skill_abra_db which leads to memory corruption (depending on the contents of yor abra_db.txt file)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11970 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-23 16:32:45 +00:00
skotlex
81e5c08f4f - Fixed warning about unused variable
- Made the kaahi heal timer function uncrashable.
- Fixed pc move item to cart function checking against the wrong max index.
- Fixed initialization of sd issue in map_addblock
- Removed redundant reinitialization when parsing item pickup.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11968 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-23 11:06:58 +00:00
ultramage
1e6922174e Guardian hp handling code removal (see bugreport:342)
- removed guardian hp from the castle data structure, database, savefiles and various script functions (use upgrade_svn11914.sql)
- removed guardian hp calculation and manipulation from the castle manager npc, now the hp values are updated by the server itself (glitch: when castle defense changes, all guardians are healed to full)
- tweaked script function 'guardianinfo' to provide some data needed by the manager npc (currently available are hp, maxhp and visibility); also, it doesn't need a player attached to execute anymore
The whole thing is experimental, use at your own risk (seems to work though...)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14 23:38:11 +00:00
skotlex
aa83de997f - corrected Option_Xmas value in const.txt
- Wand of Hermode now dispells buffs only of allies.
- Fixed some null pointer checks in status_change_end.
- Corrected a crashy Warning message.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11910 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14 02:57:54 +00:00
ultramage
8be1c4d48c * Some preparations for the guild script update
- cleaned up npc event execution code
- cleaned up guild data loading/saving code; to be improved later
- removed dummy 'account name' expulsion list management code
- removed columns 'rsv1' and 'rsv2' from guild member data
- removed columns 'rsv1' 'rsv2' 'rsv3' and 'acc' from guild expulsion data
- added upgrade_svn11895.sql for SQL

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11895 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 09:55:13 +00:00
skotlex
4adcab437f - Status change start will now fail when invoked on players that are disconnecting.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11891 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-11 22:06:36 +00:00
ultramage
cd8c03aa81 Changed Cloaking to not show an animation when it fails (thanks to Harbin for pointing it out).
And while at it, also tweaked skill_check_cloaking() to use a more readable boolean logic instead of the previous zero-nonzero.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11877 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09 20:39:06 +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
e823c2e3eb - removed the timer heap correction code when the timers overflow since Flavio points out that it is not needed.
- Modified a bit the changesex code so you get saved and quit before changing your sex rather than afterwards.
- Cleaned up #changesex
- Signum Crucis now works on bosses.
- party_recv_data will not set the sd pointer for not-yet-authed characters.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11867 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07 08:44:52 +00:00
skotlex
655100c9e2 - Made the struct weapon_atk lhw in status_data a static member rather than a pointer as requested by Ultra Mage.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11858 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-05 13:16:37 +00:00
ultramage
2b186ae7b8 Fixed some minor inconsistencies in homunculus packets, in an attempt to make the lvl99 aura show to owner onSpawn.
Still doesn't work as there appears to be a complex packet order dependency...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11851 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-02 16:29:37 +00:00
skotlex
7ca3198824 - Applied the required changes to handle def as a signed char (allows for negative def)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11837 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 13:13:42 +00:00
skotlex
8463446738 - Reverted the position of the max_hp/max_sp basic setting, modified the max_hp/max_sp bonuses to use casting in order to work correctly with negative bonuses.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11832 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 10:50:31 +00:00
skotlex
b06c88e70f - Moved basic max HP/SP calculation to before parsing equipment, fixes negative absolute HP/SP bonuses not working.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11819 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27 09:38:38 +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
zephyrus
e5fd2c8ab4 - Added 2 new status changes for Life and Regeneration Potions [Zephyrus]
- Fixed some items boxes giving wrong tamings.
- Fixed another item giving 48 gladius[3]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11738 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-15 04:29:05 +00:00
ultramage
4957a893e5 Fixed some guild skill offset calculation mistakes -_-
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11732 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-14 09:38:44 +00:00
zephyrus
9145b0167f - Added SC_INCMDEFRATE, used in Mdef Potions.
- Added the effects of the fireworks items.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11722 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-12 09:13:29 +00:00
ultramage
1b56a795b9 * The Forget-me-not dance now behaves like Decrease AGI
- doesn't cancel Impressive Riff, Wind Walker, True Sight (bugreport:187)
- additionally, it doesn't cancel Cart Boost

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11718 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-11 20:46:00 +00:00
ultramage
5eda6c0e57 Replaced several 'int' variables with enums that they represent.
Expanded weapon_type enum with dual-wield constants (bugreport:384).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11704 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-09 22:42:56 +00:00
ultramage
d3d23aa363 Corrected Whirlwind/Violent Gale to give a numeric flee bonus instead of percentual (bugreport:329)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11644 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02 20:29:22 +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
26166c5dc6 Commented out msg_athena.conf strings disabled in r11625.
Reverted changes in r11625 that used enum sc_type where it shouldn't have been used.
Removed leftover npc/other/arena.txt.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11627 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 16:37:16 +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
skotlex
fe0c93c77b - Fixed the pc_additem weight check breaking when your current weight is above your max.
- Some minor cleanups.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 00:42:56 +00:00
ultramage
e3ab4cdcfe Moved the new novending cell check from the internal code to the client-server interface (allows server to force-open shop if needed)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11580 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-26 09:25:55 +00:00
skotlex
480a4f0ac8 - added defines JOB_MAX_BASIC and JOB_MAX to mmo.h so the code can know which are the max valid classes.
- @/#jobchange no longer strip your equipment since pc_jobchange removes any unequippables already.
- removed the wasteful define MAX_PC_CLASS and replaced it by the CLASS_COUNT define (which is automatically updated using the previous JOB_MAX* defines) + pc_class2idx function (which converts high class IDs into values that fit in CLASS_COUNT)
- Made status_charge a function rather than a define to get rid of those warnings that have been there since forever.
- Merged the CELL_NOVENDING code (see topic #129209)
- Small check that disables the pet catching process if you try to use another item. 
- Added a check to fix a warning and prevent a crash in the npc duplicate check (even though I have no idea what this check is supposed to do, therefore I can't fix it properly other than to avoid the crash)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24 13:02:00 +00:00
skotlex
a3590acef4 - Removed SC_INCAGIRATE/SC_INCDEXRATE as they are not used anymore (and where even incompletely coded)
- Added SC_INCASPDRATE, SC_INCFLEE2, SC_INCCRI, SC_INCDEF, SC_INCBASEATK and SC_FASTCAST as these are required by the newer items.
- Cleaned a bit the implementation of Suffragium


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11535 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-21 11:17:07 +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
skotlex
8d0ac1d316 - Applied some cleanups that should correct "Infinite Endure" ending sometimes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11518 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-19 19:10:21 +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
425112aef3 * Fixed a copy-paste mistake in disguise code (from r5833)
* Commented out clif_skill_damage2() as it is not used anymore
* Made Venom Splasher a splash attack that distributes damage
* Fixed displaying of several splash skills (see bugreport:238)
- added flag SD_PREAMBLE for skills that need the 'magic' packet (fixes Grimtooth / Cart Revolution displaying out of sync)
- hacked together Venom Splasher's "no animation for central mob"
- hacked in a custom packet to make Dragonfear display semi-correctly

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11491 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16 19:00:03 +00:00
Playtester
253807fc03 Fixed NPC_CRITICALWOUND to reduce heal by 20% per level
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11486 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16 17:28:52 +00:00
L0ne_W0lf
d43329708f Implemented new skill "Enlarge Weight Limit R", and increased MAX_SKILL_TREE by 1.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11476 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-15 05:55:55 +00:00
Playtester
229dea7eb8 * Fixed up NPC_POWERUP and NPC_AGIUP
- NPC_POWERUP: 3x ATK and 2x HIT for 10+5*level seconds
- NPC_AGIUP: 2x MOVE and 2x FLEE for 10+5*level seconds

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11450 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 13:26:52 +00:00
ultramage
87c447e2e9 Removed the check that prevented Warp Portal from opening after you picked the destination, if there was someone blocking the cell.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11406 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-11 09:07:44 +00:00
ultramage
ca946d81c8 * Partially removed the usage of 'flags' to direct the execution path in skill unit code (some people seem to really like flags >_>)
- wiped out r8478 and its multiple levels of useless flag propagation
- skill_unit_onlimit (expiration) no longer executes in skill_delunit
- added skill_unit_ondelete for proper handling of this event

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11399 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 22:11:43 +00:00
FlavioJS
f808f37ec1 * Delayed the check for required items when a skill is cast to when they are consumed. Now skills only fail due to lack of items after being cast.
- Please make a bug report if you know of any skill that doesn't work like this in official.
* Fixed hp of other party members not being sent when you join a party.
* Removed unused global array names_id and renamed some structures that are used with variables of the same name.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11384 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-08 21:39:57 +00:00
ultramage
922ca16286 * Removed a broken remnant of code from old gospel code (r4349) that's _supposed_ to clear the gospel status (no item use?) when you step out of its zone
- 1) the constant UNT_GOSPEL was used in a switch() instead of PA_GOSPEL (thus actually ending 'NPC_STUNATTACK' status), and
- 2) this code path is never taken, because Gospel is not recorded in skill_unit_temp[] (it has a periodic timer and is not DUALMODE)
* Now the first empty spot in the 'skill_unit_temp' array will be used when tracking movement between land skills; reduced its length to 20
* Fixed the skill unit mechanism that is supposed to track whether you're still standing in a certain land skill's AoE or not, which was not working correctly since the time it was added (r3133)
- solves the nasty problem of Loki, Quagmire, ... status not ending even after stepping out of it in some cases, if there was another song overlapping the skill's area (fixes bugreport:34)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11361 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 11:12:04 +00:00
zephyrus
c5e5128eb0 * Completed the code for SC_LIFEINSURANCE and it's status icon.
- Added the summer_ignorepalette to client.conf.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11359 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 01:00:16 +00:00
zephyrus
4026ba7ec1 * Added SC_EXPBOOST (Field Manual), SC_ITEMBOOST (Bubble Gum) to const.txt. Allready working.
- Added SC_LIFEINSURANCE and SC_BOSSMAPINFO to const.txt. (not implemented but i will work on it)
- Updated Field Manual and Bubble Gum in the itemdb.txt file.
- As L0ne Wolf reported to me and based on Doddler information, the Bubble Gum only do a second try of the item drop, and it don't increase the drop rates.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11356 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 20:47:35 +00:00
zephyrus
63519ee3cf * Added the code for Field Manual (SC_BONUSEXP) and Bubble Gum (SC_BONUSDROP)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11351 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03 22:49:11 +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
Playtester
0fef0f3ad9 Bosses now can use teleport on Land Protector
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11346 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03 12:50:22 +00:00