3398 Commits

Author SHA1 Message Date
Playtester
12f4be5b2e * Optimized the skill unit code
- reverted the unit timer interval to 100ms to save CPU usage
- rewrote the unit code of Fire Wall, Fire Formation and Heat so that they hit every 20ms if the target wasn't knocked back despite of the unit timer interval
- Heat now does 15 SP damage to players instead of 60 per hit
- optimized memory usage
- TODO: Renaming or removing firewall_hits_on_undead config

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11509 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 16:19:51 +00:00
FlavioJS
613b8a5b65 * Clarified how npc names work in script_commands.txt.
* Fixed a forgotten "return 0;" that stopped the parsing of the file after the first "script" of the file is parsed sucessfully (caused by r11502).
* Applied the same parsing and restrictions of npc names to warps, duplicates and shops (other code expects unique names for them too).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11508 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 14:21:46 +00:00
ultramage
2c2af57a84 * Removed commented-out code for check_fake_id()
* Merged improved/cleaned up (WiP) code for clif_parse_WisMessage
* Removed the requirement to provide a character name in the message string when calling is_atcommand() (needed for the previous fix)
- currently both ways work, but old will be removed in the upcoming command cleanup so please adjust your custom code if you use this!
* Added clif_process_message(), an unified way to validate all four types of player message packets and retrieve their components
* Applied the new checking function to clif code, this fixes various length mismatches caused by incomplete code in r11386 (bugreport:198)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11507 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 12:49:49 +00:00
ultramage
28a6350610 Fixed unix compilation problem due to a missing include (caused by r11499)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11506 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 10:11:54 +00:00
ultramage
d2b9e2498e Some code cleaning...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 08:04:53 +00:00
ultramage
0bbf505d59 * Merged do_sendrecv() and do_parse() into do_sockets()
* Fixed subnet check message displaying incorrect ip addresses
* client_addr will now be properly set to 0 for server connections
* Removed socket code that attempts to cope with code bugs at runtime
* Removed outdated copyright and version number from startup logo

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11503 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 20:24:48 +00:00
FlavioJS
05134f3dcc * Reworked the parsing at npc.c.
- Fixes npc.c discarding the '}' at the end of file, when there is no newline. (uncovered as a side-effect of r11487)
* Empty script functions always have code now (won't report as missing when you try to call them).
* Changed userfunc_db to not limit the name to 50 characters.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11502 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 20:15:39 +00:00
ultramage
3d7a129b90 Using predefined constants as parameters to the exit() function.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11501 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 17:20:01 +00:00
Playtester
6c04229cb6 * Ground skill now can trigger every 20ms
- Firewall, Fire Formation and Heat now can do 50 hits a second
- this was proven to be official behavior, but it will raise CPU usage

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11500 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 16:55:06 +00:00
ultramage
6b2c679c3f * small timer.c cleaning
- removed "with less than 4 values, it's speedier to use a simple loop" as this case will never occur (premature optimization from r1284)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 12:07:25 +00:00
ultramage
472e15c188 * Venom Splasher fixes according to bugreport:230
- added passive skillv*30% bonus from Poison React
- added official splash damage calculation - damage gets split by the number of targets at range 1, then applied to all targets in range 2
- reverted some very old code - clif_calc_delay() - that was preventing skills from displaying properly, by erroneously assuming that if the target has ddelay 0, it has endure effect activated
- TODO: the skill should not consume a gemstone when it fails

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11494 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16 23:24:39 +00:00
ultramage
425112aef3 * Fixed a copy-paste mistake in disguise code (from r5833)
* Commented out clif_skill_damage2() as it is not used anymore
* Made Venom Splasher a splash attack that distributes damage
* Fixed displaying of several splash skills (see bugreport:238)
- added flag SD_PREAMBLE for skills that need the 'magic' packet (fixes Grimtooth / Cart Revolution displaying out of sync)
- hacked together Venom Splasher's "no animation for central mob"
- hacked in a custom packet to make Dragonfear display semi-correctly

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11491 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16 19:00:03 +00:00
FlavioJS
b445bfa64e >.>
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11489 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16 17:39:49 +00:00
FlavioJS
7109831b80 * Tweaked the loop in parse_script to better handle when the outer brackets aren't checked.
* Fixed a typo in skip_space that stopped skipping characters when it encountered a '*' or '/' in a block comment.
  ex: /* this will give a parse error after this character->* */
      /* same thing here->/ */

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11487 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16 17:32:47 +00:00
Playtester
253807fc03 Fixed NPC_CRITICALWOUND to reduce heal by 20% per level
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11486 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16 17:28:52 +00:00
zephyrus
26eba3eb7c - Fixing TK Mission asigning non spawning mobs.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11485 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16 03:25:48 +00:00
skotlex
22b43b5903 - fixed Halo-Halo not being consumed on use.
- Updated the item price/sell reading code to enable 'null' values. The difference between a blank value and 0 is that when the value is blank, it should automatically take half/double the other value. The previous behaviour did this automatically and didn't let you specify, for example, if you wanted a given item to sell for 0.
- Also added a warning when an item in the db has an exploitable price (through overcharge/discount).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11482 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-15 23:26:28 +00:00
L0ne_W0lf
d43329708f Implemented new skill "Enlarge Weight Limit R", and increased MAX_SKILL_TREE by 1.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11476 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-15 05:55:55 +00:00
ultramage
d2b0e3a658 Fixed charsrever crashes, caused by r11410
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11466 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-14 17:44:09 +00:00
ultramage
a9d1a039fb Fixed a messup in r11398 - option to skip brackets around item scripts was added but not used where it should have been.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11452 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 14:19:08 +00:00
Playtester
229dea7eb8 * Fixed up NPC_POWERUP and NPC_AGIUP
- NPC_POWERUP: 3x ATK and 2x HIT for 10+5*level seconds
- NPC_AGIUP: 2x MOVE and 2x FLEE for 10+5*level seconds

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11450 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 13:26:52 +00:00
Playtester
b0220e00d4 * Some further changes to the delayfix function
- aftercast delay is at least amotion no matter what skill (this includes skills with cast time AND skills with skill delay!)
- aftercast delay reductions can NEVER reduce the aftercast delay below amotion (this includes Bragi and Soul Links)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11448 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 11:25:34 +00:00
skotlex
49ee59c5cb - Again modified the delayfix function to reflect the current skill delay knowledge. Skills with 0 delay use amotion always (regardless of cast times)
- Renamed the config default_skill_delay to default_walk_delay as that is the only thing it does now.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11446 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 10:50:37 +00:00
ultramage
3e5c810544 Fixed a memleak during shutdown, caused by missing mail db shutdown code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11440 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 03:13:34 +00:00
ultramage
74c5d717aa Fixed memleak hell during mapserver shutdown (if grf reading is used and the deallocation routine is actually called).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11439 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 03:00:51 +00:00
Playtester
4d17b1a7bf * Further updates to skill_delayfix function
- aftercast delay can never be lower than amotion
- please report if this broke any skills

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13 02:21:55 +00:00
ultramage
8ac3690bca * Fixed wrong index calculation in TXT char creation code (ref: r11410)
* Fixed SQL itemdb loading crash on NULL columns (ref: 11398)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11434 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12 23:15:27 +00:00
skotlex
1e999c8051 - cleaned up homshuffle and fixed a possible crash in it.
- Updated the skill_delayfix function to behave as recently discovered by Tharis: Skills with no delay set will use amotion ONLY if the skill was instant-casted.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11433 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12 22:48:56 +00:00
Playtester
513052b002 Fixed Bragi's aftercast delay reduction
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11425 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12 19:11:48 +00:00
ultramage
4200314ec6 Fixed some badly merged code in the #include part of map.c.
Updated effect_list.txt according to data from latest exe.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11422 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12 14:34:09 +00:00
ultramage
83863850b5 Charserver cleaning / code simplification.
Removed min. 4-letter restriction on char creation name length (but still must be longer than 0).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-11 16:56:08 +00:00
ultramage
87c447e2e9 Removed the check that prevented Warp Portal from opening after you picked the destination, if there was someone blocking the cell.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11406 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-11 09:07:44 +00:00
ultramage
87aed8c07f Minor skill_dance_switch cleanup
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11405 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 23:50:50 +00:00
ultramage
03afc4ffda * Implemented more official Warp Portal behavior
- the transition from active to waiting mode is now done as a simple appearance change instead of deleting one and creating the other
- due to the above, an opening warp is now properly accompanied by the log-in like sound effect

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11404 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 23:47:02 +00:00
ultramage
6d6f73231e Re-enabled packet 0x1ac to be sent when something gets ankle-snared
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11400 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 22:25:37 +00:00
ultramage
ca946d81c8 * Partially removed the usage of 'flags' to direct the execution path in skill unit code (some people seem to really like flags >_>)
- wiped out r8478 and its multiple levels of useless flag propagation
- skill_unit_onlimit (expiration) no longer executes in skill_delunit
- added skill_unit_ondelete for proper handling of this event

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11399 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 22:11:43 +00:00
FlavioJS
faa553103c * Fixed itemdb_read_sqldb blowing up the server with segmentation faults.
* Added an option for parse_script to ignore the checks for the set of brackets around the script.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11398 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 21:51:56 +00:00
ultramage
e106eb1930 * Removed 'into_abyss' effect on traps; tests show that it works ONLY for Gemstones (tho' iRO website claims otherwise) - bugreport:171
- corrected code that was exploiting the flag as an 'expired' trap flag (replaced it with a more jAthena-ish approach)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11397 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 21:32:56 +00:00
ultramage
d7760ec2d8 Fixed a messup in r11347 causing skill units to expire, trigger or not trigger, completely randomly (or at least it seems that way).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11396 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 20:19:57 +00:00
ultramage
44e2d917a6 Removed name checks from /b and /lb after finding out that /nb and /nlb use the same packet...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11387 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-09 18:49:26 +00:00
ultramage
52a7948f8b * Corrected string lengths according to bugreport:198
- CHATBOX_SIZE: 70 -> 70+1
- removed some too aggressive checks in clif_parse_globalmessage()
- removed CHAT_SIZE define as it actually doesn't apply anywhere
- added CHAT_SIZE_MAX to serve as a custom limit to input string lengths
- added length/contents checks to /b and /lb (against fake names)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11386 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-09 17:45:51 +00:00
FlavioJS
f808f37ec1 * Delayed the check for required items when a skill is cast to when they are consumed. Now skills only fail due to lack of items after being cast.
- Please make a bug report if you know of any skill that doesn't work like this in official.
* Fixed hp of other party members not being sent when you join a party.
* Removed unused global array names_id and renamed some structures that are used with variables of the same name.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11384 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-08 21:39:57 +00:00
zephyrus
7c12bd5a32 - Ops!.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11379 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-07 21:53:04 +00:00
zephyrus
8c1bd7bfd8 - Bug ID #184: Char Creation With An Empty Name [Zephyrus]
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11377 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-07 20:46:50 +00:00
ultramage
1069e3524c * the mapserver won't exit when no mapcache is found, with use_grf: yes
* Fixed some \r uses, now looks better; /thx to Ai4rei (topic:165952)
 * Removed that ridiculous spinner that displays during map/npc loading, and added a more informative progress indicator (idea from jA/eapp)

 * Checked/fixed/removed some old script and npc commands
  * cmdothernpc - a specialized 'donpcevent' with the event specified as two arguments
  * enablearena/disablearena - completely equivalent to enablewaitingroomevent & co.
  * inittimer/stoptimer - removed since its logic was incompatible with the code it depended on
 * Removed loads of code that supported these functions. Result: -100b per npc => -1,5MB of wasted memory
 * Fixed related npcs that erroneously used 'stoptimer'

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11374 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-06 15:35:31 +00:00
ultramage
4ed5333885 * REALLY fixed emblem not displaying when a char logs in (compromise between r10624 and r11033 that hopefully works)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11369 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 20:57:15 +00:00
ultramage
0579199d79 Fixed 'Wink of Charm' - shouldn't work on boss mobs (topic:166115)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11362 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 12:20:33 +00:00
ultramage
922ca16286 * Removed a broken remnant of code from old gospel code (r4349) that's _supposed_ to clear the gospel status (no item use?) when you step out of its zone
- 1) the constant UNT_GOSPEL was used in a switch() instead of PA_GOSPEL (thus actually ending 'NPC_STUNATTACK' status), and
- 2) this code path is never taken, because Gospel is not recorded in skill_unit_temp[] (it has a periodic timer and is not DUALMODE)
* Now the first empty spot in the 'skill_unit_temp' array will be used when tracking movement between land skills; reduced its length to 20
* Fixed the skill unit mechanism that is supposed to track whether you're still standing in a certain land skill's AoE or not, which was not working correctly since the time it was added (r3133)
- solves the nasty problem of Loki, Quagmire, ... status not ending even after stepping out of it in some cases, if there was another song overlapping the skill's area (fixes bugreport:34)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11361 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 11:12:04 +00:00
zephyrus
c5e5128eb0 * Completed the code for SC_LIFEINSURANCE and it's status icon.
- Added the summer_ignorepalette to client.conf.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11359 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 01:00:16 +00:00
zephyrus
81c62790ca Fixing the Warning: "suggest explicit braces to avoid ambiguous `else'" to SC_ITEMBOOST.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11358 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 21:15:49 +00:00