3877 Commits

Author SHA1 Message Date
ultramage
7e4990cccd Fixed a typo in the sql login server causing client hang after entering a wrong password.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11305 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-26 06:34:42 +00:00
skotlex
e167e80b22 - Fixed bAddEff2 causing the effect on the enemy rather than on yourself.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11299 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25 21:43:03 +00:00
skotlex
dbfa221083 - Modified a bit the hard/lazy ai triggers to match aegis:
- Mobs go into active AI when they are 2 cells from entering a player's view (ACTIVE_AI_RANGE)
- Mobs in passive AI no longer use skills.
- Mobs in passive AI do not random walk UNLESS they have entered active AI before (random walk frequency is not lost during passive AI).
- Added an additional check to prevent support skills from being blocked if the target has an armor element that blocks it.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11294 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25 18:32:08 +00:00
FlavioJS
62ea9e001e * Fixed the double free's caused by r11290 (wrong option in the database constructors).
Readded tick cache variables (deleted by mistake).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11292 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25 10:24:53 +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
FlavioJS
52f3681f3d * Disabled tick cache (to enable it: define TICK_CACHE to the number of calls that should be cached).
* Added a charid2sd database for fast charid searches.
* Reworked the nick cache to only contain offline characters.

Note: The tick cache was causing _some_ of the desync problems in eA. Gameplay should be much smother, but desync problems still exist.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11290 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25 01:58:31 +00:00
ultramage
c5b8e5d082 Added back log_chat's '1 - log everything' setting (revert from r10850).
Don't forget to adjust your config file ... again.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11289 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-24 22:33: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
909992ed5a * Limited manual detection of data truncation to string/enum/blob columns.
* Renamed conf-tmpl to conf.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11284 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-24 09:13:50 +00:00
FlavioJS
c82d9b8aba * Added flag svn:executable to the configure script.
* Added code for MySQL versions (below 5.0) that don't have MYSQL_DATA_TRUNCATED.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11281 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-23 19:55:37 +00:00
FlavioJS
beda52e6b3 * map_addflooritem and struct item_drop_list using id's instead of struct map_session_data's (fixes bugreport:36).
* Fixed buildin_escape_sql not properly escaping in sql servers.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11279 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-23 03:14:57 +00:00
ultramage
8998f367c1 Fixed a severe bug in inventory saving code (caused by r11192).
The fix was to revert the changes; I totally misunderstood how it was supposed to work...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11275 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-22 12:29:45 +00:00
ultramage
961f23767d * Added 'safestrnlen' to prevent null pointer crashes
* Fixed global chat logging always crashing on a null pointer
* Applied changes to clif_parse_globalmessage() from my WiP code
- clearer processing of the individual packet components
- proper code ordering, some more integrity checks
- fixes to some poorly chosen ShowWarning() format strings
- global chat logging no longer logs the entire string (w/ player name)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11271 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-22 11:02:26 +00:00
FlavioJS
b848357f20 * Added a sanity check for MAX_ZENY (doesn't compile if too big).
* Redid the buildin_query_sql function. (fixes bugreport:81).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11268 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-22 01:43:08 +00:00
ultramage
5216ecf05e * Fixed a typo in the status-change saving code (wrong variable used)
* Fixed a case of bad sql code conversion breaking homun skill loading

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11264 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21 21:19:59 +00:00
FlavioJS
cd8f2ef514 * itemdb.c/h using a static array of 32k struct item_data* entries (faster itemdb loockup and a first step to remove map_session_data->inventory_data).
* Fixed a typo in the configure script that replaced CFLAGS with CPPFLAGS when -Wno-pointer-sign is supported by the compiler. [FlavioJS]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11259 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21 16:42:42 +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
FlavioJS
2365e833a4 * Makefile deleting .svn in save folder.
* Limited the number of packets parsed per cycle to 3. (packet spammers create less lag)
* Fixed sql login throwing an out-of-place debug message and escaping too much of the name string when creating a new login with _M/F.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11253 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21 05:22:13 +00:00
ultramage
8d014dd02a Added back SQL charserver listening socket code that got removed in the /tmpsql merge.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11251 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-20 17:10:53 +00:00
ultramage
5b2f617821 Synced TXT/SQL login server new account creation code. Removed some totally useless code.
Removed '4'-letter min. password length restriction.
Removed some code that (poorly) tries to cope with a broken database.
Removed pointless '-3' and '-2' account states ('dynamic ban' mechanism), since `ipbanlist` does that already.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11250 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-20 17:06:32 +00:00
ultramage
dddcafda2a Synced some more :)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11249 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-20 15:53:28 +00:00
ultramage
834d702dd1 Partially applied r10021 changes to TXT login server (login_config data structure).
Synced TXT and SQL login server code. 

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11248 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-20 15:00:49 +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
d79464d6a8 - Several skills with a splash area (except ground based ones) will now hit Ice-walls when casted by mobs.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11237 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-17 22:30:41 +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
8105f340a2 - Applied various crash-protections to script commands that deal with the equip-position array.
- Corrected and simplified the skill_magic_reflect function. Fixed damage reflection being based on the caster rather than the target.
- Potions are now usable inside Gospel by the casting Paladin (as per Aegis tests done by AuronX)
- The unequip script command now takes a position from 1 to 10 rather than 0 to 9 (to make it consistant with all the other equip position related script commands)
- Added the EQI_* constants to db/const.txt in a format usable by the equip-position related script commands.
- Updated some items to use the new EQI constants.
- Also updated doc/script_commands.txt to refer to the EQI list.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11230 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-17 19:13:58 +00:00
ultramage
b65e451187 Fixed some problems making gcc error out
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11223 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-16 14:29:51 +00:00
ultramage
a71c730693 Getting some (mostly atcommand) code cleaning out of the way...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11222 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-15 21:49:21 +00:00
skotlex
f344df5891 - Oops, fixed an error in the GTB bounce code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11206 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-14 19:53:14 +00:00
skotlex
c6d05bc0f3 - Gravitional Field is now a MISC type of attack.
- battle_calc_return_damage now is only for BF_WEAPON attacks, added skill_magic_reflect to check whether a spell is bounced back or not.
- Magic reflection now effectively switches the caster/target (after damage has been calculated)
- Now when GTB completely blocks a spell, the spell animation will still come off, but with a single bolt and MISS damage.
- Removed hom_setting&0x2 since Homunculus can be hit by land spells.
- Monster Property now gives a Skill Failed message when attempted on players.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11203 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-14 18:46:41 +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
8a45d05f1c Wiped out every mention of RETCODE from /src.
The servers no longer save data using CRCRLF as line terminator on Windows.
Closes bugreport:45.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11187 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-13 06:06:30 +00:00
ultramage
9454d4d8f6 Fixed a typo in party invite code (from r11179 / r11180) causing party invitation to fail.
Closes bugreport:43.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11186 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-12 20:38:44 +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
1e822f6deb - Corrected /invite letting you invite people even if you are not the party leader.
- Added some reply messages when you try /invite and a. the character is not found or b. you are not the party leader.
- Added a check so that the 'save on crash' routine won't get stuck if it happens to crash while attempting to save characters.
- People in chat-rooms no longer receive @main messages.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11179 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-11 17:25:49 +00:00
ultramage
892f36f0b7 * Added a safeguard to skill_get_unit_layout() against incorrectly defined layout ids (will give weird results but won't crash at least)
* Fixed Firewall/Icewall being oriented backwards (no real difference though...)
* Removed some junk Landprotector/Graffiti code; Graffiti doesn't get placed randomly anymore
* Icewall can now be cast on yourself... but for some reason, the cell on yourself immediately expires!
* Merged together functions clif_set0192() and clif_changemapcell()
- also removed its "send to whole map" mode which is just plain wrong (although aegis actually does use it to 'inform' caster about changes)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11175 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-10 20:50:55 +00:00
ultramage
562e687322 Added config option 'quest_exp_rate' to adjust exp gained by the 'getexp' script command (followup to r11165).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11171 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-10 18:11:10 +00:00
skotlex
7233562a1a - Removed bonus bAddEffWhenHitShort as it is unneeded and unused.
- Corrected getpetinfo so it actually returns "null" when there's no pet and you request the name (the docs state it so).
- Also cleaned up a bit getpetinfo
- Added gethominfo (which behaves in the same way as getpetinfo).
- The 'maxcount' skill_db field now can store independant values per skill-level, required for Kamaitachi since it uses different range values per level.
- Corrected bonus3 bAutoSpell(WhenHit) to select target enemy (rather than self) for skills with inf self and inf2 'don't target self' (aka: auto-select target skills).
- Corrected map_foreachinpath to do a wall check for targets beyond the initially selected tile.
- Corrected Kamaitachi's range to be 9, and the path range to be 4+SkillLv


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11169 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-10 17:07:35 +00:00
skotlex
ad2df1c5ce - Modified bonus3 bAddEff/bAddEffWhenHit so that the last parameter is now passed directly as "trigger" flag. The possible trigger values are ATF_LONG, ATF_SHORT, ATF_TARGET, ATF_SELF. Explanation added to doc/item_bonus.txt
- Updated some cards to use the new format of bonus3 bAddEff*


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11157 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-09 18:05:16 +00:00
ultramage
8519665bdb Adjusted a spot that still caused a guild leader's guild skills to get blocked on login
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11146 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-08 16:54:12 +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
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
ultramage
2084299342 fixed && -> || typo in r11113 ...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11115 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-03 22:05:03 +00:00
ultramage
21f57419f0 Fixed a copy-paste typo in r11112.
Applied the useful ARR_FIND() macro to 4 item bonuses.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11113 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-03 21:05:19 +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
skotlex
5748269898 - Merged @whereis from my server (displays normal spawn maps for given mobs). This command should be working correctly considering I've been using it since July. I was meant to merge it as soon as I got my hard-drive back, but I kinda forgot @_@
- bonus3 autospell (and autospell when hit) will change the target to self when the skill to be casted is inf&4 (self skill).
- Corrected script homevolution not making the homunculus /swt if it is invoked when not loyal.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11110 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-03 03:35:42 +00:00
ultramage
1dbdda4a4b Fixed one HORRIBLE typo in the last chat.c update (ARRAYSIZE -> ARRAYLENGTH)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11103 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-01 09:01:54 +00:00