1248 Commits

Author SHA1 Message Date
ultramage
a57b40f407 - Fixed pet equip not displaying correctly at all (closes topic:153753)
- Removed old fixpos packet (the 'new' one is way smaller)
- Fixed some major logical typos in the code, cleaned up many places


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10746 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-11 22:14:50 +00:00
ultramage
e1397576e6 - Fixed missing client update when 'return to savepoint' fails
- Fixed a bad copy-paste from r10028 letting players escape jail (char was dead on login, so statuses (SC_JAILED) couln't be applied)
- Added clif_standing() to clif_sitting(), and used them in clif.c
- Cleaned up clif.c a bit - clif_clearchar->clif_clearunit_area, clif_clearchar_id->clif_clearunit_single

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10668 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-03 14:43:34 +00:00
ultramage
ae259970a8 - Fixed guild emblem not showing when you log in (caused by r5359)
- Fixed server not sending party/guild info when you enter a map
- Fixed server not removing member minimap dot when you leave a guild

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10624 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-26 13:01:10 +00:00
ultramage
ffbf79b895 Reformatting, warning fixes, unsigned char removal
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10618 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-25 19:37:58 +00:00
ultramage
dfdb5368c7 Corrected some weird fgets() statements, plus reformatted them
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10616 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-25 15:21:53 +00:00
ultramage
301d493855 - Added new flag to skill_castnodex.txt, to allow per-skill tweaking of cast time and delay reducibility by item scripts (cards and such)
- Fixed Martyr's Reckoning never triggering for gms with all skills
- Added MO_TRIPLEATTACK and RG_SNATCHER to @skillall's skill filter 
- Made gm_skill_unconditional bypass skill blocking (guild timer, etc)
- Reverted the weird delay_dependon_agi thing (r8923, r9055, r9059)
- Changed a few memsets to strncpy (reading past buffer is a bad idea)
- Sped up some memset operations (multiples of 4 are faster)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-23 21:23:36 +00:00
ultramage
9e7eb8804f - Removed the TURBO socket mechanism - it was in fact just using a variable to cache a few arithmetic operations (premature optimization)
- Since the fifohead mess is gone, fixed leftover bad code structuring

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-21 18:40:29 +00:00
ultramage
711d01a128 Reformatting @_@
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19 15:50:41 +00:00
ultramage
16671ef54f * Added Global chat and Main chat logging
- lowered the priority of the 'logging off during gw' filter

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10580 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19 13:26:02 +00:00
FlavioJS
71f29c0445 * Added Buuyo-Tama's shortlist for send/eof sockets (defined out for now).
* Replaced toupper/tolower in ladmin by TOUPPER/TOLOWER defines.

Shortlist:
It's a list of sockets that have data to send and/or are ready for eof processing.
It aims to reduce the amount of time spent on do_sendrecv, where it was spending ~13.5% of execution time on a server with 1k users at WoE.
thanks to Buuyo-tama for the profile info and code

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10506 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-09 03:18:16 +00:00
ultramage
a6e61e1d2f Gave each file an empty last line, to make svn happier
Added svn:eol-style native where missing
Removed remaining .gats

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10401 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-29 08:17:53 +00:00
skotlex
9c8f2cbb52 - NPC_MAGICALATTACK now starts a state similar to Sacrificial Ritual, in the sense that every normal attack afterwards becomes a Magical Attack. The skill duration is 15 secs.
- Corrected some trade-cancel calls in trade_traderequest.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10346 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-24 19:33:37 +00:00
FlavioJS
f4907979c1 * Extended the functionality of StringBuf - length and appending a string.
* menu/select/prompt script functions support grouped and empty options.
  The selected option number is consistent with them.
* More work on ticket #41.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10316 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-22 15:45:37 +00:00
skotlex
36a86d07e4 - Corrected crash if itemskill is used without an attached player.
- Removed range checks for autospells as per UltraMage Aegis tests.
- Added chatID skill fail check to skill_check_condition
- Corrected @refresh not re-displaying your spirit spheres nor re-setting your cloth dye.
- Now the "number of attackers" in mob_dead is counted only from online characters on the same map.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-22 03:11:04 +00:00
ultramage
b1ccbcdba7 - Added ntows() to properly handle that client port number deficiency
- Adjusted the packet_db array for a more consistent look
- Reorganized some entries in packet_db.txt
- Fixed a small scripts_custom.conf typo

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10296 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-20 21:57:33 +00:00
skotlex
94ae69eee6 - A little check that I don't know how could anyone have forgotten to do.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10283 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17 21:44:45 +00:00
skotlex
bdaf348a6d - Expanded the autospell structure to hold a flag, which contains the required Battle Flag conditions required for a skill to trigger.
- Added the required constants to const.txt to specify the autospell trigger properties.
- Added bonus5 bAutoSpell/bAutoSpellWhenHit. The new parameter is used to specify when the spell should trigger (melee/range + weapon/magic/misc attack), see item_bonus for details.
- Applied use of packet 0x28a (clif_changeoption2) to transmit opt3 changes. 


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10278 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17 15:43:40 +00:00
skotlex
ced5130a7b - Some cleaning of the castend_map code to prevent the menuskill variable from not being cleared if you made a choice but the skill was not triggered (due to silence, stun or whatever).
- Cleaned up a bit the Charge Attack casttime equation, should prevent infinite casttime when the distance is 0.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10213 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-11 14:21:09 +00:00
skotlex
d404a449a1 - Updated a bit the pet_db.txt, added info for Xmas Goblin and Rice Cake. Since little is known about them, most of the info is custom!
- Fixed @whogm not updating count for GMs which you can only see their name.
- Added unit_data.state.speed_changed, now when an object changes speed, the old move-packet will be used on the next movement, which should update the object's speed from that point and on-wards. This is done since there appears to be no way to tell the client a given object's speed has changed.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10209 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-10 18:37:18 +00:00
ultramage
5d3ea3da27 * Played around with MinGW a bit today...
- adjusted code so that it handles mingw-specific compatibility problems
- adjusted the makefile, mingw is not a subset of cygwin
* As an experiment Corrected many /W4 warnings on the txt login server

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10192 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 00:46:55 +00:00
ultramage
75da66f876 - Fixed the platform-specific stricmp compilation problem
- Fixed inverted vending tax equation (venders getting only 2% zeny instead of 98%), and made it more precise

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10182 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07 21:15:34 +00:00
DracoRPG
7c8f12ccd5 I'm still here!
Rewrote fame ranking lists- changed MAP_NAME_LENGTH to 12, now there's MAP_NAME_LENGTH_EXT at 16 for
	  uses where there is / may be the .gat extension, code adjusted accordingly
- moved map_normalize_name to mapindex_normalize_name so that everything
	  handling map names uses the same extension-removing function
- greatly enhanced the map cache generator, complete documentation on the
	  tool and the map cache format can be found in doc/
- the map cache format changed a bit as a consequence, but of course a new
	  valid one is included (contains latest Nameless Island maps)
- fixed a duplicate entry in map index


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10167 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-06 17:22:40 +00:00
skotlex
79cb6af0cb - Corrected Aliza card's item_db line.
- Capped clif_heal's heal field (the argument received is int, but the packet field is short, meaning that if the heal is high enough, the client would receive a negative heal amount).
- Some indentation fixes.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10165 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-06 15:34:18 +00:00
ultramage
8dc1b77f03 * Made a crazy attempt to at least partially synchronize login&char code
* Major edit to the way the servers handle ip addresses, making them obey the "host byte order inside, network byte order outside" rule
- hopefully covered all entry- and exit-points for IP address data
- discovered several places where Gravity's client breaks the convention, will need to come up with a suitable countermeasure for that
- other than that, the code should be portable, except for printing and ipban mask testing (those still assume a specific byte order)
- tested both txt and sql in all usual situations; tested single- and multi-server setups, all seems to work (but watch out for hidden bugs!)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10162 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-05 18:49:57 +00:00
skotlex
e5113a4d7b - Cleaned @whogm. It will display the name of all gms online. If their GM level is above your own, it will only display their name, otherwise level, position, and party/guild info is displayed. GM's using gm-hide will not appear on this list.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10158 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-04 21:33:48 +00:00
ultramage
a167b6ae62 * Some source code cleaning
- Fixed the badly worded messages during mapserver startup
- Cleaned up socket config reading
- Split resolve_hostbyname() into 2 separate functions for clarity
- Moved the probably obsolete LOWER/UPPER macros to db.c (TODO: remove)
- Moved the badly placed compare_item() function to storage.c (see r779)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10119 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-02 13:46:11 +00:00
ultramage
478b4b58e8 Fixed typos from previous revisions :)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30 17:01:53 +00:00
skotlex
9d77814b36 - Changed a bit the Moonlit code to prevent an infinite loop
- Changed clif_skillcasting definition to take as argument the element of the skill.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10083 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-27 21:46:15 +00:00
skotlex
3839fa7619 - Moved coma to skill_additional_effect, added special_state.bonus_coma to prevent doing comma calculations for every player attack.
- Added config "vending_tax" to apply a tax to all vending requests, as it was in kRO Sakray some time ago (requested by Playtester) (items.conf).
- Some cleaning of skill_additional_effect
- Moved the starting of SC_DANCING from skill_initunitgroup to skill_unitsetting
- Moved the checks for player_skill_partner_check and (gm_skilluncond for it) to skill_check_pc_partner
- Negative aspd rate bonuses will be handled as aspd add rate since the default non-stackable bonus is useless on penalty bonuses.
- Added check to prevent the client from using passive skills.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10082 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-27 18:38:11 +00:00
ultramage
91deea9ccd - Removed a missing file reference in the athena-start script
- Fixed a #error "<malloc.h> has been replaced by <stdlib.h>" problem
- Fixed the msg_silent setting not being announced every time

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10077 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-27 07:41:05 +00:00
skotlex
13b13a43df - Cleaned up some the mob skill use code. The skill re-use delay is set at the time the skill is used rather than when it finishes casting. The invalid target check was also moved to the mob skill db reading function.
- Skills can be used now when the autoskill menu is open (since there's no packet sent by the client when you hit on cancel)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10074 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-26 20:21:56 +00:00
skotlex
4b0a77360e - Corrected offset for the pet hairstyle in the spawn packet (0x7c). I still can't figure out where the pet-equip offset should go, it appears this packet does not supports it.
- Moved the location of the clif_insight call in LoadEndAck to prevent the homunc/pet spawn packets from being sent twice to the owner.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10066 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-24 18:09:52 +00:00
ultramage
06f0d60116 Some generic typo fixes (src and npc)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10054 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-22 21:03:19 +00:00
skotlex
a0d1e3f0dd - Removed unused bIgnoreDefMob
- Removed unneeded sd variables cart_max_weight and cart_max_num
- Made ignore_mdef_ele/ignore_mdef_race/ignore_def_ele/ignore_def_race unsigned chars rather than ints.
- Made pc_dropitem check for inventory_data, to guarantee that the item will be deleted from the inventory after dropping it.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10051 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-22 16:46:09 +00:00
skotlex
7ec7957962 - Twilight Pharmacy's cast time is no longer reducable by dex.
- All weapon enchant levels now last 3 minutes.
- Corrected Ankle Snare/Spider Web having a 1% chance to trap rather than 100%
- Food boosts are now dispelled on death only.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10050 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-22 14:57:55 +00:00
skotlex
161ee3ac50 - Cleaned up some the code of pc_equipitem and clif_parse_EquipItem
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10045 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-21 16:03:12 +00:00
skotlex
2907fa6467 - Removed the last argument from skillitem, the skill name passed to the client should always be of the type "AL_HEAL" anyway.
- Added skill ITEM_ENCHANTARMS, this is what weapon enchanting items should use.
- Corrected itemskill calls in the item_db, also made the weapon enchanting items invoke the ITEM_ENCHANTARMS skill. Corrected Holy Egg not being type 11 (delay consume)
- Updated item_db.sql with item_db information.
- Added support for specifying different elements per skill level in the skill_db
- Added bonus bNoKnockback
- Corrected typo in bonus bSubRace2 (it was called bSPSubRace2 for some reason)
- Corrected login sql server not resetting your account state to 0 when the banuntil duration expires.
- Corrected use of UINT_MAX instead of INT_MAX in some jailing check.
- Made the skillatk bonus it's own function, it can now be used to boost Heal/Sanctuary/Potion Pitcher and Slim Pitcher as well.
- Cleaned up TK_WARMWIND to use the element acquired from the skill_db rather than hardcoded values.
- Corrected Teleport's save map entry being sent without the .gat extension.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10031 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-19 19:44:21 +00:00
skotlex
d1fda3045f - Rewrote the jail logic to always use a status change. This means that the character's save point is not changed when jailed, and the char is always warped back to the point where it was before being jailed on unjail.
- Made pc_setpos fail if you are jailed, effectively blocking you from being moved out of the jail map for the duration of jail.
- Modified @adjcmdlvl so you can't set a command to require higher level than yourself, and so you can't edit the level of a command which is higher than your own.
- Corrected attack_attr_none setting disabling elemental resist cards.
- Added missing cap check of 100% to drop rate configs for heal/use/adddrop (cards)/treasures.
- Corrected Autoblitz yelling the skill name if the attack splashed.
- Corrected Dispell removing Jailed status.
- Corrected being able to revive with 0 hp.
- Modified the "Restart" code so that it makes you stand on spot when pc_setpos fails to move you back to your originating location.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10028 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-19 04:36:44 +00:00
FlavioJS
f48a49e655 ups, how did that get in...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10014 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-15 13:57:55 +00:00
FlavioJS
b7f0cc8905 - Corrected the structure and added info on the skill fail packet (0x110).
- Added packet 0x223 as clif_upgrademessage (not used yet).
- More work on Ticket #41.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10013 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-15 13:49:25 +00:00
DracoRPG
58dcd187b0 Mapcache update, should polish off remaining bugs
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-13 20:24:08 +00:00
skotlex
29cb0abe60 - Added player not attached crash prevention to countitem/countitem2
- Probably corrected delitem not deleting pet eggs at all.
- Possibly nullpo fix on npcskilleffect
- Corrected a warning when using #fakename
- Hopefully fixed hidenpc/disablenpc not working on Guild flag sprites.
- Mob skill state "anytarget" no longer triggers when the mob has an item-target (looting).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9991 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11 22:21:34 +00:00
skotlex
9692154429 - Removed function clif_movepc as it's no longer invoked anywhere.
- Removed clif_move as it's not needed anymore.
- Renamed clif_moveunit to clif_move and uncommented it. This is the new "unit movement" packet to use (the code should be robust enough to always invoke a clif_insight/outsight for characters going in/out of sight).
- Because of this, many functions that handled the return of conv_str need to be changed, I haven't finished doing the conversion process because I must go already, if someone else can continue, please do so (I will resume work on this in ~5 hours


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9987 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11 17:33:58 +00:00
FlavioJS
2b42ec13cf - Added info on packet 0x86 (simple move packet). Not usable until a clear separation between entering sight/leaving sight/walking in sight is done.
- Propagating const char* from the script engine.
- ".gat" is appended to the map name before sending the changemapserver packet to the client.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9979 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09 01:49:50 +00:00
skotlex
9387ff566b - Made conv_str return const char* since the script engine screws up if you mess with the position of the terminator on the received string.
- Because of this, many functions that handled the return of conv_str need to be changed, I haven't finished doing the conversion process because I must go already, if someone else can continue, please do so (I will resume work on this in ~5 hours


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9978 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09 00:10:06 +00:00
skotlex
4c9c8bb7a3 - Added the +20hit that were missing the NPC elemental attack skills.
- Added support for autospells using "a random skill level". The last value of bonus4 bAutoSpell is used for determining this as well as the target. &1 is to cast on target (otherwise cast on self), and &2 is to use a random level UP to the level specified in the script (otherwise always cast the specified level)
- Updated item_bonus.txt with the documentation for the bAutoSpell/bAutoSpellWhenHit changes.
- Corrected @refresh not reupdating the basic stat bonuses.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9952 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-04 16:39:30 +00:00
FlavioJS
8f8fca4481 - Fixed a compiler warning in char_sql\login.c
- Minor source documentation/cleanup.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9917 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25 15:38:12 +00:00
skotlex
433b9826e2 - You are allowed to expel guild mates that are not online now.
- Corrected damage of BloodDrain
- Moved the "already connected" checks to pc_authok, since a dual login doesn't needs to be checked until the new connection is accepted.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9916 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25 10:13:52 +00:00
skotlex
046dd34c58 - You are allowed to attack/use skills now when your cloaking level is below 3.
- Small change to Stone Curse that may fix the permanent "semi-stone" status.
- Corrected "taming monster" having your skill-use be stuck if you cancel the target selection process.
- config setting party_show_share_picker now displays the jname of the item picked as well.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9914 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25 04:53:27 +00:00
skotlex
cf8685131d - Minor cleanups
- Adjusted menu-based skills so you can't reuse the same skill until you've dealt with the menu.
- Adjust autospells so that removing an autospell works when the script of the card that removes the autospell is triggered before the script that adds the spell.
- The "requested name of gm-hidden char" warning will not be displayed when the object in question is an NPC (since you can use Intravision to do this).
- Corrected the header format for invisible npcs.
- Venom Knife no longer takes into accounts cards or EDP.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9905 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23 18:41:56 +00:00