summaryrefslogtreecommitdiff
path: root/src/map/script.c
AgeCommit message (Collapse)AuthorFilesLines
2007-08-19* Cleaned/clarified some #include relationships between headersultramage1-39/+2
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects) * Removed way messed-up script function 'unitdeadsit' * Tagged 'FIXME' lines written by myself git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-16* Fixed npc chatrooms not being deleted on npc unload/reload (crash)ultramage1-4/+3
* Modified chat code a bit for more clarity - replaced double-indirection on 'owner' with a normal pointer - separated some common functionality to 'chat_createchat()' git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11023 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-15* Some serious code cleanupsultramage1-1/+1
- adjusted @reloadbattleconf to not depend on variable ordering - changed all battle vars to 'int' (removes pointless duplicit coding) - added min, max and default columns to battle config data structure - added properly bounded values for these columns (or at least tried to) - battle-conf loading will now complain if it finds unknown settings, and will reject values that are outside of the allowed range - added CHATROOM_TITLE_SIZE and CHATROOM_PASS_SIZE - partially cleaned up chatroom manipulation code * Fixed 'Job_Professer' typo in mage jobchange quest git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11017 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-09- stable -> trunk syncultramage1-2/+2
- battle.c and pc.c formatting - fixed one badly defined npc shop format string - removed the "selling item for no buying price" warning when the item has a buying price of 20 (see topic:157465) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10971 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-09The new functions now clear junk from the output buffer, this simplifies the ↵ultramage1-3/+4
code a bit. Added a TODO for one emblem loading problem/crash. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10969 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-08* Cleaned up junk left in the code by the mapcache/mapindex updateultramage1-25/+13
- Added mapindex_getmapname(_ext) to help with ".gat" adding/removing - Moved related processing to the interface (prevents duplicity) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10963 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-08- Fixed some missing max levels for npc skillsskotlex1-3/+26
- Expanded isloggedin script command to support an optional argument (char id) - Expanded warpparty command to accept target "Leader", this will warp the party to the leader. - Added a summon structure to handle non-dead-branch mob-groups since the current implementation totally fails for mob groups that don't have MANY integrants - Fixed mobs not attempting an IDLE skill right before unlocking a target. - Removed a useless variable in the pet_data structure git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10961 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-28* Removed ridiculous refine_posword config switchultramage1-618/+223
* TODO: remove getequipname() func, it can be fully replaced by editing a few scripts, plus it doesn't do what the docs say it should do * Fixed a silly mistake in the main script engine loop ('pos' variable) * Fixed monter -> monster typos * Compacted some script function code (fewer LoC -> faster trac :) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10923 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-13Fixed yet another script engine typo, this time in 'copyarray'ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10878 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-08* Fixed typo in 'deletearray' messing up the script engineultramage1-2/+2
* Added a check to pc_skill() to prevent crashes on unknown skill ids git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10868 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-04Fixed a copy-paste typo messing up script variables pretty bad D:ultramage1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10850 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-03Fixed a typo in script engine erroring when working with char paramsultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10848 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-03- Re-coded 'soundeffectall'; removed the third parameter ('coverage')ultramage1-45/+46
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10844 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-03* Defined out a problematic piece code in conv_num.FlavioJS1-0/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10843 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-03* Added reporting of constant and param script data.FlavioJS1-150/+250
* Fixed an incorrect check in menu script command. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10842 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-01Cleaned up some parts of the code.ultramage1-25/+0
Removed obsolete script function 'hasitems'. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10838 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-26* Changed the string hash of the script engine to SDBM.FlavioJS1-282/+542
* Reporting information about script data when an error occurs. * More work on ticket #41 (array functions). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10813 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-15* Fixed script command sc_end not supporting the extra argument as stated ↵FlavioJS1-104/+147
in script_commands.txt. * Script command getarg supports an extra argument with a default value that is returned if the requested argument doesn't exist. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10773 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-06git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10706 ↵FlavioJS1-2/+2
54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-03- Fixed missing client update when 'return to savepoint' failsultramage1-1/+1
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10668 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-02* Displaying op names instead of numbers in script engine errors.FlavioJS1-9/+59
* Fixed a bug introduced in the last rework of the fame ranking. * Created safestrncpy that ensures the string is nul-terminated. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10667 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-25- Fixed @statall giving you +99 stats instead of setting them to 99ultramage1-5/+6
- Fixed npctalk and @npctalk displaying the # part of the name git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10619 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-25Reformatting, warning fixes, unsigned char removalultramage1-4/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10618 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-25Corrected some weird fgets() statements, plus reformatted themultramage1-3/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10616 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-23- Added new flag to skill_castnodex.txt, to allow per-skill tweaking of cast ↵ultramage1-3/+3
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-20- Fixed one missed malloc->aMallocA typo, causing memory deallocation problemsultramage1-3/+1
- Some small trunk-stable formatting synchronization git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10595 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19Reformatting @_@ultramage1-435/+230
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19* Added Global chat and Main chat loggingultramage1-1/+1
- lowered the priority of the 'logging off during gw' filter git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10580 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19Corrected the problem with countitem2 (value wrapped-around in one case but ↵ultramage1-67/+62
not in the other, making comparisons fail) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10573 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-07* Fixed warpwaitingpc not working (bug introduced in r10471).FlavioJS1-8/+8
there was a "sd != NULL" where it should be "sd == NULL" git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-06Removed an unused variable in script.ctoms1-1/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10491 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-05* Removed the dependency on winsock.h for definitions, it's all winsock2.h now.FlavioJS1-180/+287
* Minor documentation/re-coding in chat.c. * More work on ticket #41. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10471 54d463be-8e91-2dee-dedb-b68131a5f0ec
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