253 Commits

Author SHA1 Message Date
FlavioJS
0129172c63 - Added a precompiler error when the shutdown defines are not found.
- Added parse_console to the plugin API.
- Added plugin for parsing the console. (working with cygwin)
- Added the console plugin to plugin_athena.conf commented out.
- Copied the parse_console code form login txt to login sql and char.
- Added propper plugin version compatibility tests.
- Better output when a plugin fails to load.

-----

The console plugin (at it's 3rd version) uses two pipes and another thread.
- the other thread reads data from stdin and sends it through one of the pipes
- the other pipe serves as semaphore (and terminator) to that thread
- the normal thread checks if the pipe has data once every timer cycle, if data is found it invokes parse_console with that data

Worth noting: the first version didn't use another thread and just checked if data was available on the input stream, but apparently that can't be done to standard input in windows

It's only been tested on cygwin (and should work on most *nix systems), can't test native windows right now because I'm having trouble exporting the required plugin variables in VS8
src/plugins/Makefile hasn't been updated because it's not working properly for me

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9631 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-08 08:35:32 +00:00
ultramage
fbe23f27a2 Undid the memset->malloc_set replacement
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07 16:49:03 +00:00
ultramage
9f164c312b - re-added the duplicit nj/gs name messages in msg_athena
- renamed atcommand_sub to is_atcommand_sub (charcommand too)
- reformatted conf-tmpl's comments a bit
- and a fix to the stable changelog to make my last commit more descriptive

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07 07:48:04 +00:00
FlavioJS
db02576357 - Now winsock 2 is required.
- Cleaned up do_close and socket_init a bit.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-06 12:11:50 +00:00
ultramage
74d8bc1cab - eol-styled some remaining files
- deleted some outdated files

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9614 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03 22:12:33 +00:00
FlavioJS
4fa4e26d99 - Reverted the packet structure changes to mmo_char_send006b in r9588 and corrected the bug that I was originally fixing.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9598 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-30 20:28:37 +00:00
FlavioJS
f863581174 - Part 3 of TheUltraMage's socket cleanup.
- Fixed the packet structure in mmo_char_send006b for PACKETVER 8.
- Removed search_str from add_str (add_str already searches for the string).
- Native script words like do,while,for,... are case insensitive now.
- Changed SCRIPT_HASH_SIZE to 1021 (prime hash sizes give better distributions).
- Added alternative hash implementations to the script engine (to try out later).

removed int_homun.c from header section of the VS8 map project files

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9588 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28 19:11:40 +00:00
skotlex
58bb9be68a - Cleaned up some more the code so it works for -DTURBO
- Cleaned the pvpoff @ and script commands.
- mob_get_random_id now has two additional flags to specify that the monster to acquire should not be a boss type (4) or that it should give exp (8).
- TK_MISSION will now pick any mob from the DB as long as it is not a boss type and it gives base exp.
- Fixed the double-stone issue when hitting a petrified character.
- Minor cleanups


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9573 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-26 15:07:18 +00:00
FlavioJS
dd92bd13fd - a couple of warnings fixed
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-25 08:21:49 +00:00
KarLaeda
2f7bd25279 Small fir for changeset 9539
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9568 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-24 18:59:58 +00:00
FlavioJS
52245f90b9 - Moved "#include <limits.h>" to cbasetypes.h to ensure it's included before checking if UINT_MAX has been defined.
- Minor changes in pc_readdb related to max_level being unsigned.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-23 03:24:32 +00:00
skotlex
2208728178 - Added support for the new "make new char" packet that has the rename button data. Thanks to Sara-chan for the format change update.
- Fixed itemdb.c sql compilation
- Now when you specify a max level beyond what the exp table has, the last entry of the exp table will be duplicated to fill in the remaining levels.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9558 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-22 14:19:39 +00:00
skotlex
afd7345d86 - Some cleaning to the character deletion code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9552 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-21 17:49:27 +00:00
FlavioJS
15258dfdb0 - Moved md5calc to common
- Answered Skotlex's question and fixed "warning: comparison is always false due to limited range of data type" by restricting script words to ASCII characters only.
- Applied "svn:eol-style native" to makefiles and project files

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9544 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-21 01:16:30 +00:00
KarLaeda
6676ebcadb Fixed #endif instead of #else
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9542 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20 20:20:12 +00:00
skotlex
a578128619 - Changed some %lu (long unsigned int) to %u (unsigned int)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9541 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20 18:56:31 +00:00
skotlex
4265154cf1 - Fixed the #if -> #ifdef mess up -.-
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9540 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20 18:24:49 +00:00
skotlex
e29a1031d5 - Moved PACKETVER to mmo.h, and added support for the expanded character info window on the char-server when PACKETVER is above 7.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9539 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20 17:21:56 +00:00
skotlex
a0bad51812 - Added various guild packet related missing checks
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9467 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-11 20:43:34 +00:00
FlavioJS
637ae9a4dc - Massive EOL normalization & 'svn:eol-style native' flag setting for all txt/conf/h/c files.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-05 13:23:07 +00:00
skotlex
1424d93e12 - Repairing items via scripts no longer displays "item has been repaired"
- Status Recovery again makes mobs unlock their current target.
- Moved requesting party/guilds from the char-server from pc_authok to pc_reg_received, since map_nick2sd and map_getallsd won't work until the characters are authentified. Also removed the guild master setting from clif_parse_LoadEndAck to pc_reg_received since guild master setting will work there.
- Fixed homun hunger timer being started on login even when hom is vaporized/dead.
- Fixed mvp exp attacker bonus applying incorrectly.
- Removed duplicate msg_athena.conf entries 619 and 620 for Ninja/Gunslinger.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9401 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-04 15:37:09 +00:00
skotlex
0043aed5fd - Fixed the txt->sql converter not escaping character names before saving them.
- Fixed a pet's level not resetting to their db level when you enable pet leveling and later on decide to turn it off.
- Fixed a bad initialization in pc_setnewpc
- Fixed restricted equipment not updating your view info after they are unequipped.
- Removed a bunch of extra text/checks when ignoring characters (/ex) when Aegis does none of these checks. /inall now wipes your ignore list (it does this on Aegis, too).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9400 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-04 13:59:42 +00:00
skotlex
2de8486627 - Fixed txt-converter compilation.
- Added my_global.h include to login converter
- Removed sd->char_id since we can use sd->status.char_id instead.
- Small speedup in STRECOVERY, and made it not unlock a mob's target.
- Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was consuming 2 grenades instead of one). Also added a "explosion effect" when their time runs out.
- gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will force pvp ranking gain/loss on gvg_dungeon maps now.
- Now when coming out of hiding land-effects will trigger on the character.
- Made the pc_setpos message when being placed on an unwalkable tile tell you which player triggered it.
- Fixed land effects not taking effect inmediately on map-load when the invincible timer is disabled.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9374 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-01 17:17:09 +00:00
skotlex
cfee0ccf63 - Added all the missing FIFOHEADs in the login/sql servers (required for TURBO support)
- Fixed the fact that the TURBO code breaks when you attempt to handle more than one connection at a time within the same function. However this broke map-server compilation, therefore, don't use TURBO yet! It needs more fixing (and I need more time to fix it)
- While at it, cleaned a few packet implementations in the char/login servers which were not only ugly, but had some really stupid flaws within (stuff like escaping a string, and then using the non-escaped variable to insert to SQL? T_T) And will someone explain me why the TXT servers are coded much more cleanly, and without such horribly broken code as I find in the SQL ones? T_T;


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 12:41:38 +00:00
skotlex
cb53caa46a - Applied FlavioJs's patch which enables colored console output for Windows systems. It also includes a config setting called "stdout_with_ansisequence" with which you can turn off the color codes (in case you are logging all output)
- Added error reporting when the max number of ground unit cells has been reached (this may be the reason why sometimes it fails to recognize when you step out of a song/dance/encore)
- Added passing the Endure effect to other devoted people. Note that the "hit count" is individual for each character, and only when it ends on the Crusader himself will that force it to end on everyone else. It also will not transfer on gvg grounds, but it does transfer in pvp.
- Fixed Reflect-Shield triggering Auto-Guard instead on devoted chars.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9168 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-07 20:56:28 +00:00
skotlex
71601f58b3 - Made the exp bonus settings be adjustable:
- exp_bonus_attacker: Indicates how much additional exp a mob gives per additional attacker (eg: 10 -> +10%*attacker)
- exp_bonus_max_attacker: Indicates at which number of attackers the bonus is capped (eg: 5 -> 5 attackers, so a mob yield the same exp whether 5 or 10 people attack it)
- Changed the way the party_even_share_bonus setting works. It now uses a simple linear bonus increase (eg: 10 -> +10%*party member)
- The defaults are as explained by Tharis: +25%/attacker, capped at 12 attackers, no party bonus.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9067 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-25 14:44:14 +00:00
Lupus
27fbde260e final clone maps -> original maps change. also fixed novice grounds map in char.c. fixed socked_enchant npc
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9064 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-25 05:26:11 +00:00
skotlex
70f2fde6ac - char_family now returns the char_id of the children when previously it would return true.
- Expanded the family check to work as it should, exp-share-range is respected, and the child is not considered for it (thanks to TheUltraMage for the investigation)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9049 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-23 18:21:49 +00:00
skotlex
a78eb50f08 - Removed NJ_TOBIDOUGU adding damage to W_HUUMA weapons which somehow got readded.
- When nonplayers use Cloaking, it will be forced to level 10 since mobs shouldn't have movement/attack restrictions while walking cloaked.
- Should fix a warning in int_homun.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9043 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-23 13:57:54 +00:00
skotlex
a127683c6b - Some minor cleanups
- Fixed the Homunc not spawning next to you after receiving it's data from the char-server.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9035 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-21 03:38:14 +00:00
skotlex
1107b381bd - Fixed Charge Atk being able to go through chasm/pits.
- Moved the homunculus DB information from the player structure to the homun structure. Modified the homunculus creation packets to hold this information during creation, also, all initial values are handled by the map-server, the char server only assigns it a homun ID.
- Removed target_id/attacked_id from homun_data as it wasn't really used.
- Codes cleanup (removing of commented code mostly)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9031 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-20 18:30:05 +00:00
skotlex
a2be20df3d - Base attack for non players is now calculated as str + [str/10]^2 (it does not has +dex/5+luk/5 which players do have)
- Fixed the char-sql server trying to read the gms off a "gm_db" config setting stead of "login_db"


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8981 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-13 18:50:55 +00:00
skotlex
ddc6b5e07b - Cleaned up unitattack, unittalk and unitdeadsit
- Updated status_get_name to take into account fakename, also cleaned it up.
- Cleaned up the char-server code when the last point of a player is not found. First it'll check if there's any mapserver online, and then, if there is, it'll look for the major cities. If this fails, then the player will be told server is closed instead of trying to send him to a "random map".


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8967 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-11 19:49:55 +00:00
skotlex
f91836f32c - Fixed crash when char-server sends to a "random" map-server online on connect.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8960 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-10 21:30:59 +00:00
skotlex
68bac454a6 - Modified pc_jobchange so that it automatically removes peco/falcon/cart/homun if the new job you are changing to does not possess the required skill for them.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8932 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-04 15:20:50 +00:00
skotlex
42375e1896 - Rewrote the txt->sql converter. It now links directly to the char server files so that it should get auto-updated with any code changes in the later.
- The converter will now also convert: account-wide variables, parties, guilds, guild storage and guild castles. At this point the only two things not converted are login-server-wide account variables (##, they belong to the login converter) and homunculus (the SQL save function is messy and doesn't lends itself to be integrated with the converter the way all the other functions are).
- Modified the char servers so they are compatible with the converter, the define TXT_SQL_CONVERT identifies sections unique to each char-server mode (this would had been a hella lot easier if both char servers where the same code-base instead of duplicated code <.<)
- Updated the Makefiles as per the new compiling requirements for the converter.
- misceffect2 will no longer cause the effect on top of the source object when it is the fake npc.
- Added check so that Frost Nova doesn't hides hitting animation on targets.
- Added the missing brackets around the trade logs condition check, thanks to Coltaro.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8908 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-30 21:54:01 +00:00
skotlex
c2794a9e1b - Updated battle_check_target so that non-offensive skills cannot be used on a homun except for the homun and it's master.
- Steal zeny won't work on treasure chests now.
- Small optimization in the dual-wielding check.
- Some cleaning in char_sql/itemdb.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8875 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-26 13:59:21 +00:00
skotlex
ce8f45f670 - Fixed the "map server claims to have char online, but this other map server also has it tagged as online" message triggering in some cases where it shouldn't.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8846 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-22 13:53:54 +00:00
skotlex
c105112227 - Removed the unrecognized class error messages from pc_mapid2jobid and pc_jobid2mapid since these can now trigger normally through the use of the script functions roclass and eaclass.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8833 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-21 14:26:54 +00:00
skotlex
f7e2c8a84c - Likely fixed "half" of the alliance being saved, which ends up in guilds that can attack another, but not viceversa.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8761 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-14 18:39:18 +00:00
skotlex
0697e450ed - Improved sql-query to check if name already exists when creating new chars.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8727 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-12 21:30:03 +00:00
skotlex
c6142c3f39 - Added manual deletion of sc_data entries when deleting a character (char-SQL)
- Updated main.sql to use pure MyISAM tables, removed all foreign keys.
- Added Jaguar's sql script to convert all tables to MyISAM. It's located in sql-files/convert_engine.sql
- Removed convert_guild_tables.sql as we don't use InnoDB anymore.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8722 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-12 18:22:54 +00:00
skotlex
6db8420f3c - Added upgrade_svn8675.sql in case, for some reason, your guild table still has the emblem_data field as a 'blob' with "NOT NULL" specified.
- Some minor cleanups.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8675 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-08 16:36:48 +00:00
skotlex
0f8fb18252 - Fixed char-sql compilation
- Added support for reading the item_db_db inter config settings (char-sql)
- Fixed some compile warnings (functions with no arguments should have a (void) instead of ()).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8546 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-30 13:56:27 +00:00
skotlex
dfac028631 - Added a message to @clearweather stating when climate changes will dispel.
- Corrected @hidenpc saying that it's command name was "@npcoff"
- Updated itemdb reading on the char-sql server so that it reads both item_db and item_db2 files (totally untested yet as I can't compile SQL here x.x)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8545 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-30 13:40:10 +00:00
skotlex
6ffb2533a7 - Some minor cleanups.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8455 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-23 16:42:42 +00:00
Lupus
6d6d0f4000 more typos
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8422 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-22 11:35:38 +00:00
Lupus
337a5bcaca field typo
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8421 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-22 11:31:54 +00:00
Lupus
796497fae5 added char deletion condition by BaseLevel
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8420 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-22 11:27:48 +00:00
toms
cc6ddef2e4 Fixed SQL-Guild Creation, guild name was escaped 2 times
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8413 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-21 21:44:52 +00:00