2128 Commits

Author SHA1 Message Date
ultramage
0579199d79 Fixed 'Wink of Charm' - shouldn't work on boss mobs (topic:166115)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11362 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 12:20:33 +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
ultramage
fe1db10bcc Fixed a mistake in r10919 messing up logged values (bugreport:167)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11357 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 21:04:31 +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
ultramage
95024b89d1 * Added code that compacts the vending list after a purchase; fixes the problem with empty positions appearing in the list (bugreport:168)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11355 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 20:44:46 +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
286e1a32c4 * Added MAX_HOTKEYS to supplement the HOTKEY_SAVING define
* Fixed a compile problem when hotkey saving is disabled (topic:167265)
* Added script source error reporting to countitem() (topic:167165)
* Removed integer mob skill state/target definition support (unused)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11353 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 16:16:44 +00:00
zephyrus
5a5664ccc2 - Update in the Field Manual and Bubble Gum items.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11352 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03 22:58:09 +00:00
zephyrus
383f017009 * Moved the homunculus shuffle code to mercenary.c, fixing the bug in the atcommand not using the bonus evolution stats for homunculus.
* Added a new script command "homshuffle" to reset the homunculus stats using NPC.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11350 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03 21:47:47 +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
6a2e87e03b * Fixed various trading/vending glitches
- fixed vending_tax not working at all (integer division in r10182)
- undid change from r8273 where pc_getzeny() treated zeny overflow as an error condition; officially, the value is just bounded to MAX_ZENY
- fixed stupid code that, instead of properly checking and filtering invalid items during shop setup, opted to 'hide' these items from the vending list instead...
- removed some custom error message packets related to vending
- fixed a glitch where the server would open a shop with no items when all entered items were tagged as invalid
- split zeny handling from trade_tradeadditem() into a separate func (trade_tradeaddzeny())
- removed loads of redundant code from vending.c

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11344 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-01 14:55:35 +00:00
ultramage
25ccf137f4 Removed redundant 'subnet' s_subnet structure variable.
Removed duplicate code from the sql charserver that somehow appeared after the tmpsql merge.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11333 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-30 21:56:07 +00:00
FlavioJS
fba34ea4ee * Changed back the query to get the friends of a character to a LEFT JOIN.
* Setting the item script variables to NULL when they are freed. (bugreport:142 ?)
  (a double @reloaditemdb might result in a double free)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11328 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-28 18:26:55 +00:00
L0ne_W0lf
215dd1d36e * Corrected Summer Outfit not included as a PC class. (Zephyrus_CR)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11326 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-28 15:37:16 +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
FlavioJS
43ddb195f7 * Fixed sql target not including the save target in the Makefile, needed by the map server for save/mapreg.txt. (bugreport:131)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11320 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-28 01:13:59 +00:00
FlavioJS
a8d7143d0e * Loot code using charid's instead of id's in pick priority.
* configure script using svn:eol-style LF and require mysql/pcre when --with-mysql/pcre is used.

Added a forgotten file from r11311. (script_commands.txt)
Note: charid's are globally unique, id's are equal for characters in the same account.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11312 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-27 15:24:06 +00:00
FlavioJS
0498cb19c0 * Reimplemented mmo_char_fromsql using sql statements. (fixes bugreport:93)
* Fixed buildin_gethominfo not being included in the script engine. (bugreport:124)
* homunculus_evolution -> homevolution in script_commands.txt.
* Deleted item DEFAULT from item_db.txt and regenerated item_db.sql. (bugreport:103)
* Skip empty lines and give more feedback (for invalid lines) when reading item_db.txt/item_db2.txt.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11311 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-27 11:18:58 +00:00
L0ne_W0lf
ac52b62707 * Implemented Token of Siegfried effect care of Zephyrus_CR.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-26 17:07:21 +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
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
Playtester
ba12271335 Updated sql files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11273 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-22 11:50:28 +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
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
FlavioJS
d2f97b7151 * Configure script detects 64bit distributions of MySQL.
* Generated the configure script with cygwin's autoconf.

You can re-generate the configure script by executing autoconf.
To compile everything just execute these two commands:
./configure
make

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11252 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21 04:08:32 +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
Playtester
67812f3335 Updated sql files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11232 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-17 20:08:44 +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
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
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