summaryrefslogtreecommitdiff
path: root/src/map/script.c
AgeCommit message (Collapse)AuthorFilesLines
2007-04-28* Internal changes to the script engine:FlavioJS1-279/+287
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10379 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-23- Updated the skill_db, some mob skills seem to be better to a range of -9 ↵skotlex1-163/+156
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10326 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-22* Extended the functionality of StringBuf - length and appending a string.FlavioJS1-214/+362
* 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10316 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-22- Corrected crash if itemskill is used without an attached player.skotlex1-2/+1
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-21- Updated the autospell bonus scripts so you don't have to specify all the ↵skotlex1-1/+1
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10300 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17- Expanded the autospell structure to hold a flag, which contains the ↵skotlex1-0/+12
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10278 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-10- Modified spirit of Wizard so that the consumption of 'Fragments' when ↵skotlex1-1/+1
blocking bounced spells will only consume 1 Fragment per skill casted, regardless of how many hits were reflected. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10207 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-10- Modified status_get_sc_def to handle both rate and tick reductions. This ↵skotlex1-5/+2
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10206 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09- Fixed crash if a script does a%0skotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10200 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09* Recoded and renamed the trim function in strlib to normalize_name. (didn't ↵FlavioJS1-2/+2
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10199 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09* Played around with MinGW a bit today...ultramage1-1/+0
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10192 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07- Moved e_mail_check() and config_switch() to strlib.hultramage1-6/+6
- Synchronized the login servers a bit git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10174 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-06I'm still here!DracoRPG1-9/+9
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10167 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-01- Fixed the server crashing on startup due to bad defineultramage1-14/+13
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10112 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30* Added all the missing defines for ctype.h functions and converted all the ↵FlavioJS1-7/+7
direct uses to the defines. Ref: http://www.eathena.ws/board/index.php?showtopic=145235 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10091 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-29- Corrected a pretty serious typo in script.cskotlex1-2/+2
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10090 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-29Continued script.c cleanuptoms1-122/+124
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10088 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-28- Added defines script_getnum and script_getstr to further simplify variable ↵skotlex1-663/+658
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10085 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-22Some generic typo fixes (src and npc)ultramage1-5/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10054 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-21- Corrected setitemscript so it actually changes the script as requested ↵skotlex1-64/+66
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10047 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-20- getpetinfo 5 will now return the pet's rename flag.skotlex1-1/+4
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10039 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-20- Removed Magic Rod's cast bar.skotlex1-2/+2
- Corrected warning on login sql. - Gravitation no longer causes damage flinch. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10038 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-19- Removed the last argument from skillitem, the skill name passed to the ↵skotlex1-4/+2
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10031 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-18Globalised use of script_pushint and script_getdata in script.ctoms1-721/+716
Little clean of unused variables in script.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10026 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-18* Script engine:FlavioJS1-117/+179
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10025 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-15- Corrected the structure and added info on the skill fail packet (0x110).FlavioJS1-130/+213
- Added packet 0x223 as clif_upgrademessage (not used yet). - More work on Ticket #41. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10013 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-13Mapcache update, should polish off remaining bugsDracoRPG1-123/+123
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11- Added player not attached crash prevention to countitem/countitem2skotlex1-4/+15
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9991 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11- @storage/@gstorage will no longer work if you have a trade or a storage ↵skotlex1-12/+1
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9990 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09- Added info on packet 0x86 (simple move packet). Not usable until a clear ↵FlavioJS1-5/+8
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9979 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09- Made conv_str return const char* since the script engine screws up if you ↵skotlex1-109/+107
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9978 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-08- Normalized the mapname in guild get/set castle data, should fix guild flags.skotlex1-0/+4
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9976 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-02- Modified set_reg so that it returns whether it succeeded or not in setting ↵skotlex1-17/+20
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-02EOL-styled some more filesultramage1-0/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9947 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-28added setiteminfo function, updated setitemscript func, added NPC sample for ↵Lupus1-7/+67
them git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9938 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-28- Fixed the definition of warpwaitingpc so that it allows an optional ↵skotlex1-2/+1
argument (number of people to warp). - Modified the Palm Strike packet so the initial hit animation does not displays "Miss". git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9935 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25- infinite loop pwned me x.xFlavioJS1-0/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9919 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25- Fixed a compiler warning in char_sql\login.cFlavioJS1-46/+61
- Minor source documentation/cleanup. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9917 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25Corrected some typos and small detailsultramage1-23/+24
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9912 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-24- Minor cleanup/documentation on the script engine.FlavioJS1-29/+65
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9909 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23- Minor cleanupsskotlex1-5/+2
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9905 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-16- Updated the Dancer job quest to attach a player to the main timer script.skotlex1-38/+105
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9872 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-16- Modified the "guardian" spawn script command, it no longer receives a ↵skotlex1-13/+11
"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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9871 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-15Cleaned up set_reg and the surrounding codeultramage1-72/+58
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9869 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-15- The default packet version is now 8. Clients from November2006 and before ↵skotlex1-19/+0
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9868 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-13- Applied Rayce's dangling pointer fix when returning a temporary npc string ↵skotlex1-0/+6
variable (those starting with .@) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9864 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-13- A bit more work on Ticket #41.FlavioJS1-61/+93
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9857 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-10- Ups @ last commit. This time the changes in the buildin_func array are ↵FlavioJS1-2/+2
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9844 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-10* Cosmetic changes to the buildin section of script.c (use defines for ↵FlavioJS1-962/+1002
function names/definitions). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9843 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07- Removed deprecated console code.FlavioJS1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9815 54d463be-8e91-2dee-dedb-b68131a5f0ec