Commit Graph

585 Commits

Author SHA1 Message Date
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
ultramage
2b21f97dba Added missing msg_athena.conf entry for the summer outfit; name 'Summer' used for now.
Removed strange 'svn:executable' attributes from item_db2.sql and mob_db2.sql

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11325 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-28 14:56:39 +00:00
L0ne_W0lf
694679913a * Implemented Summer Outfit care of Zephyrus_CR.
- Increased MAX_GUILDCASTLE in mmo.h to 29 for future implementation of the 12.1 Guild Castles.
* Added constants for Summer Outfit and updated the Summer_Event_Suit item script.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11321 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-28 02:52:04 +00:00
skotlex
76ece51877 - Corrected being able to cast multiple Gravitation Fields before the previous one is cancelled.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11291 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25 04:04:50 +00:00
skotlex
1a91ca358c - Changed Greed Scroll's type to 11 (all itemskill items should use this)
- Ignore %MDef bonuses now only reduce target's base MDEF, not MDEF2.
- Updated the 'skills that cause no damage are blocked now if the skill element is blocked by the target' to only apply if the skill has a status change associated (fixes Resurrection/Heal being blocked).
- Reverted the opt_flag2 change in status_change_start (clif_changeoption2) since it never served its purpose.
- Added a warning to prevent loading mobs with IDs that belong to the clone range.
- Changed MAX_MOB_DB to 3000, updated the definitions of the clone range defines so they are updated automatically with the change of MAX_MOB_DB.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11287 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-24 17:06:58 +00:00
FlavioJS
65642f6f1c * Merged the tmpsql branch:
- Abstraction for the sql code (sql.c/h).
- New configure script and makefiles.
- Restored txt zeny logging code. (r10814)
- Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
- Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
- Improved db reading code a bit for consistency. (r11077)
- Added separate atcommand for mail deletion. (r11077)
- Corrected a few messages that said "new" instead of "unread". (r11077)
- Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
- Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
- Some misc login server cleanups (reformatting etc). (r11136)
- Corrected/modified some header entries. (r11141 r11147 11148)
- Adjusted VS project files. (r11147)
- Adjusted the way the sql charserver does item saving. (r11192)
- Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11245 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-20 11:09: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
ultramage
f7fabf518b Added SI_STEELBODY properly (value from packet capture)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11185 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-12 20:17:44 +00:00
skotlex
a100bf890c - bonus3 autospell (and autospell when hit) will now select for spell target self when the skill is tagged a support skill.
- Increased the amount of autospells that can be held at a time from 10 to 15
- Updated several item scripts to use bonus3 autospells rather than bonus4 ones.
- Changed the "autocasted strip skills don't have a duration" to apply only to Full Strip.
- Cleaned up some the Signum Crucis code.
- Added initialization of hp_loss/sp_loss/hp_regen/sp_regen which somehow was not commited before.
- Magic Mirror's duration now is reduced /15 when used on players.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11124 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-04 17:55:26 +00:00
skotlex
dc1bbff3e7 - Removed usage of MAX_PC_BONUS all over the code, it is now only used in map.h (this is done so that individual bonuses can have their array length modified without having to change all the other bonuses as well).
- Removed bonus bAddDamageByClass since it is not needed, and implemented bAddDefClass which can be used for the same (but previously was doing nothing).
- Cleaned up the weapon_data structure to use a sub-structure to hold the add_dmg information.
- Cleaned up some of the add dmg/def bonuses so the 'count' variable is not needed anymore.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11121 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-04 05:21:17 +00:00
skotlex
1f1dbd4927 - Made regen work always, like Hp/Sp Loss, it no longer displays healing numbers as well.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11118 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-03 23:02:55 +00:00
skotlex
88e0559d2c - Added bonuses bSPRegenRate, bHPRegenRate. They behave like the opposite of bHPLossRate/bSPLossRate, making you gain x Hp/Sp every y ms.
- Added bonus bIgnoreMdefRate, used to ignore a % of the target's mdef when using magic attacks (bonus2 will ignore part of the mdef of all targets, bonus3 receives a race argument)
- You can now use bonus2 bCastRate to adjust the cast rate of a single skill.
- Cleaned the code for bleeding (hp-loss) and extended it to handle regen as well.
- Some small cleanups in the pc_bonus functions
- Removed bonus3 bHpLossRate since it was doing nothing and is not used.
- Corrected bGetZeny bonus to be like in Aegis. The amount received is from 1 to the given amount, you can use negative zeny values to use an amount dependant on mob's level (amount*lv).
- Updated doc/item_bonus.txt with all these changes
- Anti-Magic/Stone-Skin now increase/decrease def/mdef only and in an absolute mode (+20*lv rather than +20%*lv). Also the duration is greatly decreased (x/15) when used on players.
- Now when a player uses a strip skill without having it in the skill tree (auto-casted) the duration will be 0, the equipment will be stripped without causing the status change that blocks reequipping.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11112 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-03 20:00:33 +00:00
ultramage
e7e0ddde9d Fixed certain typos in src/npc/doc files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11102 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-01 08:14:36 +00:00
skotlex
48ab0fe34b - Added a piece of missing code from the addition of sd->skillheal
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11089 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-30 03:03:00 +00:00
skotlex
f9f1076a9e - Fixed Dragon Fear's status change selection and duration.
- Fixed Metamorphosis not displaying a speed-change update on the client.
- Status changes that were blocked by element are no longer blocked, instead, now no-damage skills are blocked if they have an element which is absorbed by the target (This is the behaviour that Tharis believes is correct).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11067 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-22 22:49:54 +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
99ad0f978a * Implemented the official dual-wield aspd equation
- using 0.7 instead of 0.66 as modifier (so aspd will be lower now)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11030 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-17 19:29:03 +00:00
Playtester
518ec82222 Added icons for NPC_CRITICALWOUND and NPC_SLOWCAST
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11025 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-16 18:04:49 +00:00