4640 Commits

Author SHA1 Message Date
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
ultramage
a772e3699d Added a precise and consistent tick() function for freebsd (see bugreport:240)
(TODO: apply it to multiple platforms using an appropriate configure script)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11912 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14 10:52:51 +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
822ba1ddd7 Fixed a mistake in r11895 where guild invitation data was being cleared too soon, causing a check to fail when confirmation arrived from the charserver.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11902 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 23:29:41 +00:00
FlavioJS
9bfc5b4425 * Fixed possible segmentation faults in the script engine.
- some strings that can be freed outside the script engine were being pushed into the stack as constant strings

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11901 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 21:42:38 +00:00
FlavioJS
ef54f5d793 * Disabled ers until recent crashes are fixed.
- ers entries are being corrupted, probably by modifying them after they are released or by releasing something else

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11900 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 18:50:48 +00:00
FlavioJS
02d21582a6 * Abstracted the windows socket code so that all fd's are in the range [1,FD_SETSIZE[. (bugreport:604)
- The socket of a fd is forgotten when executing sClose, so things that depend on the socket (like sFD_CLR) must be executed before closing.
* Replaced the fd_set of the short list with a custom implementation (works like the linux fd_set).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11897 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 16:32:58 +00:00
ultramage
2af4a7f61b Some more tweaks to the guild code
- unrolling of foreach()/_sub() pairs using db iterators
- usage of ARR_FIND instead of for()/break;
- old function header adjustment

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11896 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 14:18:46 +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
ultramage
e464c81aea Removed the badly designed/unfinished guild_check_conflict() data integrity check (that wasn't actually being used up 'till now).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11894 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 09:41:51 +00:00
skotlex
9d353fba9b - Added query_logsql script command to perform sql commands using the log db connection.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11892 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-11 22:37:07 +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
ef8bf03761 Fixed TXT charserver attempting to do a guild master change instead of an integrity check whenever a new guild member gets added.
See revisions r3185 and r3719 on how the code arrived into such a state...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11890 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-11 21:01:55 +00:00
ultramage
0ca1cee5fc Fixed a mistake in r11876 that prevented the login server from doing auth correctly due to an incorrect IP being used in the process.
The whole thing should be reverted when there is a proper flag to identify interserver connections.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11888 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-11 20:11:44 +00:00
skotlex
11c0438e85 - The interserver outgoing buffer now gets flushed when it reaches 512KB of data stored on it.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11886 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10 19:13:12 +00:00
skotlex
2dd7aff70b - Cleaned up clif_setdisguise and fixed it for PACKETVER>=9. I was kinda right in my last assumption afterall :V
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11884 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10 13:53:29 +00:00
skotlex
20fb727ce1 - Reverted last change, I was wrong in my assumption o_O;
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11883 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10 10:22:52 +00:00
skotlex
c010e4e982 - Fixed the disguise packet sent in clif_move
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11882 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10 10:16:30 +00:00
skotlex
81ddad8b83 - Cleared up npc shop id when warping a player.
- Added missing range/skill-mask info to reflected damage (fixes autospells not triggering on it)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11880 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10 09:25:30 +00:00
FlavioJS
30e3f30447 * Modified npc_parsesrcfile to parse the line as a 'tab-separated values' string and added data truncation warnings.
- enforces a stricter adherence to the format (no multiple tabs)
- avoids sscanf matching spaces, new lines and carriage returns when '\t' is used in the format string

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11879 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09 22:43:36 +00:00
FlavioJS
6dd13ee535 * Added a generic 'delimiter-separated values' string parser to strlib.c/h.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11878 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09 22:08:31 +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
ultramage
fc037d1e8a small fix to the server's packet parsing code to display server IPs correctly.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11876 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09 17:19:43 +00:00
skotlex
de7e25a0bb - Cleaned up a bit the code for HVAN_CHAOTIC
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11875 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09 15:38:05 +00:00
skotlex
e816cafde6 - Fixed a 'variable may be used uninitialized' error.
- Removed 'type' being passed to skill_trap_splash since it was not used at all.
- Fixed Land Mine doing nothing.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11872 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-08 23:32:30 +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
11aaa56783 - Fixed ensembles skills.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11869 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07 10:55:59 +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
e5554e3fae - Insignificant cleanups.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11866 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07 07:35:31 +00:00
skotlex
d321e89aed - Cleaned up the messy code used to generate the idle/walk packets (or at least, in my opinion, it looks cleaner now)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11865 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-06 23:18:02 +00:00
skotlex
e231f6cb18 - Likely fixed clif_set_disguise for PACKET_VER 9
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11864 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-06 21:04:29 +00:00
FlavioJS
43ac1fd8ad ooops, two errors escaped... >.<
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11861 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-06 15:37:14 +00:00
FlavioJS
1d827807ae * Removed the attempts to recover from invalid syntax in npc_parsesrcfile since they can produce incorrect results (spaces in sscanf can match \n's and company).
* Made script_rid2sd report the script source directly and changed related return 1's to return 0's to avoid double script source reports.
* Added missing return 0's after script_rid2sd is used and an extra error message in buildin_set/buildin_setd.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11860 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-06 15:12:55 +00:00
skotlex
fc7b4eaef0 - The default event script behaviour is to trigger on labels rather than NPCs now.
- Removed several script config options which break NPC compatibility when you mess with them (event_script_type, event_requires_trigger, die_event_name, kill_pc_event_name, kill_mob_event_name, logout_event_name, login_event_name, loadmap_event_name, baselvup_event_name, joblvup_event_name)
- LoadMap events no longer set the variable "@maploaded$" to the name of the new map.
- Optimized/simplified the code now that the previous config options were removed.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11859 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-06 12:59:12 +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
skotlex
48a8f3fb25 - Fixed a possible crash when the memory manager is disabled and a non-respawning object is killed.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11857 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-05 12:12:04 +00:00
zephyrus
2b1fac216c - Added a fix to prevent missing a mail attachment is map servers disconnect from char server.
- Fixed the sprite of Wing of Victory.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11855 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-03 22:25:57 +00:00
skotlex
5f8753f24b - Corrected clif_pase_DropItem so ack/nak is always sent (or client hangs waiting for a reply)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11854 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-03 14:11:15 +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
ultramage
b9a9c76f2b Fixed charserver unable to reestablish link to login server after a disconnect (yet another problem caused by r11826).
Copied code from TXT to SQL to perform a graceful shutdown of all login server sockets while exiting.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11848 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-02 09:39:35 +00:00
ultramage
a6400393da Fixed 'unit walking in sight' packet missing the 'level' value (mistake in r11791)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11847 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-01 18:43:04 +00:00
skotlex
132da258d7 - pc_setoption no longer does view_data changes while disguised (as this breaks things)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11845 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-30 07:07:51 +00:00
FlavioJS
754b397edf * Random cleanup/documentation.
* Made common/Makefile get the svn version from the src directory, not src/common.
* Added a warning message to the install and uninstall targets.
* Renamed all obj directories to obj_all, obj_txt or obj_sql in the makefiles (if an obj/ directory exists, BSD make enters it before reading the makefile)

(run ./configure to update your makefiles, and don't forget to do 'make clean' before updating)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11844 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-30 00:17:26 +00:00
skotlex
47315d00c8 - Allowed disguising while riding a peco-peco (this does not seem to cause problems anymore)
- Adjusted pc_disguise to work properly if invoked while a player is not in a map.
- The pvp rank packet is no longer sent to other players when disguised, as this leads to crashes when you die.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11842 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-29 13:11:33 +00:00
skotlex
5617e38fba - Probably fixed splash damage.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11841 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-29 12:32:25 +00:00
skotlex
eee82904e7 - Integrated the SG related info of hate_mob and feel_map into a single structure (sg_info).
- Modified skill_blown and skill_attack so that reflected spells do not cause knockback. 
- SG Blessing skills now grant the extra experience to everyone when the SG killed the mob. 


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11840 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-29 12:20:43 +00:00
skotlex
d3397a4640 - Cleaned up some disguise related code, it fixes the disguise sprite not having flinch animation
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11838 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 15:58:17 +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
37d79a46de - Corrected skill_check_condition to not delete items right away for certain skills that do the deletion themselves. Fixes several skills consuming items twice.
- Dispel's success rate is no longer affected by MDEF
- You are no longer blocked from being warped when standing in a warp while in a duel.
- Duels are now automatically ended when you warp out of the map you are in.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11836 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 12:57:34 +00:00
ultramage
c4f9142c9d Fixed reflected spells bypassing WoE no-knockback restriction, because the code allowed that when cast on self; not anymore (bugreport:231)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11835 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 11:43:20 +00:00