501 Commits

Author SHA1 Message Date
toms
ede6014fb9 Removed an unused variable in script.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10491 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-06 09:21:13 +00:00
FlavioJS
bc088a5ad8 * Removed the dependency on winsock.h for definitions, it's all winsock2.h now.
* Minor documentation/re-coding in chat.c.
* More work on ticket #41.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10471 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-05 14:50:07 +00:00
FlavioJS
c292b087b5 * Internal changes to the script engine:
- modulus division detects division by 0.
  dividing by zero stops the script and gives an error
- underflow/overflow messages differentiated (warnings)
- when a script function doesn't return a value, a C_NOP value is pushed 
  instead (avoids stack corruption)
- op_add merged with op_2+op_2num/op2_str
- better type checking in the operators, int/string is never assumed.
  The script ends when an invalid type is found.
- other minor code cleanups

Changes made in consequence of:
Ref: http://www.eathena.ws/board/index.php?s=&showtopic=149237&view=findpost&p=823195

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10379 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-28 09:57:29 +00:00
skotlex
b6e3783be6 - Updated the skill_db, some mob skills seem to be better to a range of -9 than 9.
- Corrected the pet_db information for Xmas Goblin and Rice Cake.
- Replaced all struct map_session_data to TBL_PC in script.c
- Pressure no longer vaporizes plants.
- Corrected pc_setregstr to handle a null str argument.
- Corrected @reloadbattleconf causing a add_timer_func "already existing function" error.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10326 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-23 19:08:34 +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
skotlex
e120c937cc - Updated the autospell bonus scripts so you don't have to specify all the attack type criteria. If neither of BF_LONG/BF_SHORT is specified, the spell will trigger on both. If neither of BF_WEAPON/BF_MAGIC/BF_MISC is specified, the spell will trigger on BF_WEAPON, if neither of BF_NORMAL/BF_SKILL is specified, BF_SKILL is used if the trigger is BF_MAGIC/BF_MISC and BF_NORMAL is used if the attack is BF_WEAPON. This way the default when nothing is specified is BF_NORMAL|BF_WEAPON|BF_SHORT|BF_LONG.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10300 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-21 19:12:11 +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
0aa57161b9 - Modified spirit of Wizard so that the consumption of 'Fragments' when blocking bounced spells will only consume 1 Fragment per skill casted, regardless of how many hits were reflected.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10207 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-10 16:19:32 +00:00
skotlex
b6bfcce712 - Modified status_get_sc_def to handle both rate and tick reductions. This way it can take care of the fact that curse rate/duration reductions are not reduced by the same stats.
- Removed wrong defines status_get_sc_def_[mdef/vit/int/luk], they actually had a rather undefined behaviour.
- The pc_max_status_def mob_max_status_def configs are now set on a 1-100% scale instead of 1.00-100.00%


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10206 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-10 15:34:49 +00:00
skotlex
e939ffd654 - Fixed crash if a script does a%0
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10200 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 20:27:01 +00:00
FlavioJS
a91b77d781 * Recoded and renamed the trim function in strlib to normalize_name. (didn't behave like a standard trim function, see function comment for what it does)
* Added a proper trim function to strlib.

* Other minor cleanups.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10199 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 20:21:17 +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
87c0efdc89 - Moved e_mail_check() and config_switch() to strlib.h
- Synchronized the login servers a bit

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10174 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07 04:21:29 +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
ultramage
dec82b6120 - Fixed the server crashing on startup due to bad define
- Fixed the server crashing on a timer-queued disguise / undisguise (no sd check)
- re-added the item_group_list for consistency's sake, moved to itemdb.h (after some hacking to remove the ugly map.h dependency)
- Removed some overly verbose item group messages & code

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10112 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-01 21:15:57 +00:00
FlavioJS
43a375ad89 * Added all the missing defines for ctype.h functions and converted all the direct uses to the defines.
Ref: http://www.eathena.ws/board/index.php?showtopic=145235

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10091 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30 06:16:08 +00:00
skotlex
cbac96a819 - Corrected a pretty serious typo in script.c
- Corrected the change that made Coma not be reduced by mdef making Stone, Freeze and Decrease Agi be reduced by luck rather than mdef.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10090 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-29 21:28:35 +00:00
toms
d57ed274ca Continued script.c cleanup
Added defines script_pushstr and script_pushconststr to have the same syntax as integers
Added defines script_getref, data_islabel, data_isfunclabel to increase code readability

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10088 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-29 16:11:40 +00:00
skotlex
640ef63c2b - Added defines script_getnum and script_getstr to further simplify variable reading code.
- Applied mass replacing of text to enforce usage of script_hasdata, script_getnum, script_getstr and data_isstring defines where possible.
- Cleaned up the 'input' command code.
- Minor other cleanups in script.c
- Removed OPTION_SIGHTTRASHER as there's no indication this value exists.
- Corrected OPTION_XMAS since 2007 clients have split it up from OPTION_FLYING (on previous clients both were the same option value)
- Removed GRF_PATH_FILENAME references (it wasn't used anymore)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10085 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-28 17:29:02 +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
f441021b95 - Corrected setitemscript so it actually changes the script as requested instead of causing dangling pointers.
- Cleaned up unitattack
- Made packet_ver_flag's description use hexadecimal values for the packet versions, and changed the default to 0xFFFF.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10047 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-21 21:13:47 +00:00
skotlex
a102344894 - getpetinfo 5 will now return the pet's rename flag.
- Autoloot will now only work on items dropped a certain distance from the player. The distance is defined by AUTOLOOT_DISTANCE in atcommand.h and defaults to AREA_SIZE.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10039 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-20 16:02:22 +00:00
skotlex
3ee61db52f - Removed Magic Rod's cast bar.
- Corrected warning on login sql.
- Gravitation no longer causes damage flinch.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10038 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-20 14:59:16 +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
toms
3e25d536cf Globalised use of script_pushint and script_getdata in script.c
Little clean of unused variables in script.c

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10026 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-18 21:35:42 +00:00
FlavioJS
14e2d760f9 * Script engine:
- calling functions without using the return value doesn't generate warnings
  - more work on Ticket #41
* Took care of two warnings and a minor change to the makefile.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10025 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-18 16:07:16 +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
ddfc677c99 - @storage/@gstorage will no longer work if you have a trade or a storage opened already.
- Cleaned up a bit @gstorage
- Added a bunch of npc functions required to properly handle moving the NPC cells when an npc is moved from it's previous location.
- Added npc_setcells to handle setting down the NPC cells of ontouch npcs.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9990 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11 20:02:42 +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
b10091246c - Normalized the mapname in guild get/set castle data, should fix guild flags.
- Added log options 0x800/0x1000 to log storage moves ('R') and guild storage moves ('G')
- Added upgrade_svn9976.sql to include 'R'/'G' on the picklog type column set.
- Updated the logs_athena description to include the letter of each type (512 - M, 32 - N, etc)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9976 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-08 16:27:06 +00:00
skotlex
4dd0c95c58 - Modified set_reg so that it returns whether it succeeded or not in setting the requested variable.
- Externalized battle skill range and blewcount bonus into their own static functions (battle_range_type & battle_blewcount_bonus).
- Sped up the skill range flag setting code.
- Added automatic support of damagesplit. This means that if a skill's nk value includes damage split among targets, it will do a divide by the number of targets (whereas before the list of skills where this worked was hardcoded)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-02 16:39:33 +00:00
ultramage
4ca0b15de3 EOL-styled some more files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9947 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-02 00:11:54 +00:00
Lupus
7beec2d152 added setiteminfo function, updated setitemscript func, added NPC sample for them
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9938 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-28 22:31:55 +00:00
skotlex
155552d89f - Fixed the definition of warpwaitingpc so that it allows an optional argument (number of people to warp).
- Modified the Palm Strike packet so the initial hit animation does not displays "Miss".


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9935 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-28 16:24:39 +00:00
FlavioJS
d6b5fe4b78 - infinite loop pwned me x.x
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9919 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25 21:16:37 +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
ultramage
32618b7ddd Corrected some typos and small details
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9912 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25 03:23:45 +00:00
FlavioJS
8723e53a06 - Minor cleanup/documentation on the script engine.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9909 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-24 11:59:32 +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
skotlex
5ed686f6a8 - Updated the Dancer job quest to attach a player to the main timer script.
- Updated script commands startnpctimer, stopnpctimer, initnpctimer so you can attach a player to them, this is done because the attach/detach functions can't be used to attach to a different script than the one currently running.
- Some script code cleaning
- Updated the script_command reference with the new flag values of [start/stop/init]npctimer.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9872 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-16 20:53:05 +00:00
skotlex
dddd48f15d - Modified the "guardian" spawn script command, it no longer receives a "amount" argument (since that only leads to trouble), if the class is negative, it'll pick a random class the same way the monster spawn script command does, and if you pass a spawn position with coordinates equal or less to 0, a random spot in the map will be taken. However you can't use "this" as a map name anymore since these script commands do not need an attached player.
- Guardian spawning will now fail if you attempt to spawn a guardian that already exists on the same position.
- Collapsed clif_party_main_info and clif_party_join_info into a single function: clif_party_member_info
- Collapsed config settings "sg_miracle_skill_min_duration" and "sg_miracle_skill_max_duration" into "sg_miracle_skill_duration", which defaults to an hour.
- Miracle of the Sun, Moon and Stars can now retrigger to lenghten it's effect, and it is cancelled on warp/map-change.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9871 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-16 19:30:28 +00:00
ultramage
d47a72bf9f Cleaned up set_reg and the surrounding code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9869 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-15 20:54:36 +00:00
skotlex
dabaf379a9 - The default packet version is now 8. Clients from November2006 and before can no longer get past the char-server unless you change it back to 7.
- Fixed Storm Gust counter freezing on fourth hit instead of third.
- Fixed @homstats not taking into consideration that the stat growth decimals get discarded on level up (so the real minimum/maximum displayed was off).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9868 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-15 18:22:56 +00:00
skotlex
81b4f30221 - Applied Rayce's dangling pointer fix when returning a temporary npc string variable (those starting with .@)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9864 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-13 22:27:30 +00:00
FlavioJS
781fa7bb72 - A bit more work on Ticket #41.
- Added 'r' (variable reference) to the script argument definitions.
- Added a simple define for suspitious actions. (empty at the moment)
- Added clif_clearcart and moved sending cart packets to pc_setoption.
- clif_parse_ChangeCart checking the player level.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9857 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-13 00:07:24 +00:00
FlavioJS
79fd4cb7be - Ups @ last commit. This time the changes in the buildin_func array are automatic, so there should be no more errors due to erroneous manual checking.
( got to remember to do automatic changes more often >.> )

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9844 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-10 20:50:37 +00:00