671 Commits

Author SHA1 Message Date
skotlex
8ae4bd12ad - Updated firepillar so it cannot be placed on top of others.
- Updated the firepillar code so it behaves like the other traps.
- Changed the default format for @me and @main to avoid crashes on the newer clients.
- Fixed the char-sql server so it returns a valid 'not found' packet when attempting to load a non-existing homunculus.
- Fixed jump to use 0,0 for random coordinates rather than -1,-1
- Added missing \n to error reporting in getmonsterinfo
- Additional status changes now only get triggered if the attack did damage, not if they get absorbed.
- Fixed a logical comparison in unit_free to properly remove pets/homuncs when their intimacy is reduced to 0.
- Properly set the opt3 value for Moonlight, Changeundead and Soul Link
- Fixed the "no equip" flag of cards not being properly applied when attemting to equip items.
- Added a check to avoid invoking pet menu entries when the pet is incuvated.
- Fixed the session_data de-association in chrif_auth_delete
- Cleaned chrif_auth_ok so that the latest received char info is kept when previous char login data was already in there.
- Corrected docs mentioning non-existing flag 'mf_nopvp'


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12293 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-04 18:04:04 +00:00
ultramage
1acd00e838 * Removed NODAMAGE and ICEWALL cell types (mem usage back to normal)
- Icewall now uses basic cell type 5 (nonwalkable, shootable)
- as a consequence, you can now warp to a nonwalkable cell - but only via gm command or scripted warp bug (hopefully :)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12247 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-27 14:17:14 +00:00
zephyrus
3868080ead - Added new settings for autotrade on battle/misc.conf (you can read descriptions there).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12243 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-26 22:14:05 +00:00
zephyrus
69ae4766ce - Added some new config settings: homunculus_autoloot, idle_no_autoloot, max_guild_alliance.
- Added a code to activate a Kill Steal protection and the required mapflags.
* (I will explain this later on forums).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12203 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-14 01:18:19 +00:00
skotlex
96684da892 - Fixed Freezing Trap doing no damage (changed type from misc to weapon)
- Changed suiton's element to water (apparently fixes not being able to use water-based skills on it)
- Fixed Landmine doing no damage (decreased trigger range to 0 to match its splash range)
- Fixed the disguise commands using the wrong variable when attempting to disguise as an npc.
- Fixed a compilation warning on CELL_CHKNODAMAGE (which is a totally bad-ripoff of basilica cells anyway)
- Corrected and optimized npc_remove_map's npc array cleanup (@reloadscripts no longer report 'too many npcs per map and related dangling pointer crashes are fixed)
- Removed suspicious, yet totally unused npc_data variable 'n'
- HP loss item scripts can no longer kill you.
- Corrected the item-drop-rate check to avoid duplicate entries in @whodrops after a @reloadmobdb
- Cleaned up and optimized map_addnpc (there are never any gaps in the npc array so npc_num always points to the last valid entry)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12180 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-07 00:07:47 +00:00
zephyrus
c4fb4f4361 - Some code cleanups.
- Added new Cell types (NoChat and NoDamage)
- Added JobChangeLevel and FreeSKPoints to #stats
- Added a Crash protection in clif_send with invalid fd values.
- Merged a missing update in TK Mission.
- Added script command 'getmapflag'
- Merged some new Status Change to Stable.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12175 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-04 18:23:57 +00:00
skotlex
78e24d1e09 - Removed hom_setting&02 (ignore skill range) as this was fixed by Gravity some time ago.
- Moved pc_delinvincibletimer from unit_removemap to unit_free as the previous method has a logic glitch that could cause an on-place event to trigger after the on-left event. 


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12130 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-22 13:13:57 +00:00
ultramage
6c10763883 Fixed battle config loading not applying the side-effects of battle_adjust_conf() side-effect if an import: operation fails.
This is what caused the odd slowdown reported in bugreport:260.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12118 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-21 10:24:33 +00:00
skotlex
b4a3bad556 - Fixed a comparison whn doing item searches
- Fixed hom_setting&0x2 conflicting with the 'view-range' limit check.
- Stone curse now uses status_percent_damage instead of a precalculated value.
- Merged the SA_MONOCELL and SA_CLASSCHANGE code. After changing class all the status changes that cannot be triggered on bosses are dispelled. 
- SA_CLASSCHANGE now uses the bloody branch list to pick a target MVP class.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-20 14:32:10 +00:00
skotlex
4550514f4d - Made battle_check_range fail whenever the distance between src/target is greater than the viewing range.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12084 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-17 09:46:31 +00:00
ultramage
d5455fabfc Simplified the BL_CAST macro (see topic:166795)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12072 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14 08:54:54 +00:00
skotlex
418f5b1059 - Updated Safety wall so it does not blocks melee magic.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12062 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 02:52:06 +00:00
skotlex
da34bd4811 - Implemented the extra damage bonus to TK_JUMPKICK when it is used while running (however what the bonus's equation is has been lost to time, so someone else correct it).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12053 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-11 13:00:27 +00:00
skotlex
ced9aada8c - Fixed getmonsterinfo to return "null" when returning the name of a non-existing mob instead of -1.
- Extended the status_percent_damage define to include a bolean to specify whether or not the target can be killed from it.
- Corrected CR_CULTIVATION to fail when the target cell has some BL_CHAR on it already.
- Changed the meaning of 'flag' in status_percent_change, to enable differentiation between damage that can kill the object and damage that cannot.
- Script command percentheal will no longer kill the player if the specified amount is negative (and not -100).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12051 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 22:02:33 +00:00
skotlex
614c28dbf9 - Removed 'skill_steal_type' from skill.conf as said config no longer exists.
- Corrected @slaveclone/@clone behaving as @evilclone when you change the @ symbol.
- Modified SC_ARMOR_ELEMENT so it grants elemental resist as if it they were card granted bonuses.
- fixed a SA_DISPELL crash when casted on an object with no status changes.
- Adjusted the autospell code so that it does not relies on card_id == 0 for subtracting rates.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12041 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 13:10:13 +00:00
skotlex
38dd2f2fde - Fixed Overthrust's timer not being able to be refreshed when recasting it (conflict on what val2 should mean)
- Changed the code in status_change_timer so that a null pointer no longer causes a crash but prints an error instead.
- Corrected clones not copying over a player's skills properly.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12027 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 23:48:13 +00:00
ultramage
6bf267e60e Changes to reduce the number of map cell types
- Pneuma now again works via status change (see r3969)
- removed unused CELL_SAFETYWALL
- removed custom CELL_REGEN, it just increased regen rate (r1192, r1518)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12005 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 23:27:22 +00:00
ultramage
470a56dbea Implemented THE official Steal skill equation and game mechanics (basically version from /stable plus a few tweaks) (see topic:116540).
Added missing bAddStealRate reference to doc/item_bonus.txt.
Removed skill_steal_rate, as it was never used in the code (see r231).
Removed skill_steal_type, it's just a one-liner source mod (see r231).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11992 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-29 22:30:29 +00:00
ultramage
b3b275f24f Path code cleaning...
* Added map/path.h, moved path-related function headers to path.h.
 * Removed the macroed _real() path functions.
 * Modified some functions to use boolean return values instead of 1/0 or 0/-1.
 * Modified path_search_long() to allow a NULL output pointer (in which case a temporary local buffer will be used instead).
 * Removed an unused ->path_half member variable from struct walkpath_data.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11958 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 13:00:48 +00:00
skotlex
c5415465da - Corected the SC_MIRACLE + Anger code using the wrong skill level to calculate damage bonus.
- Corrected SC_MIRACLE to trigger Bless of the Stars on all defeated mobs.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-19 16:41:56 +00:00
ultramage
1e6922174e Guardian hp handling code removal (see bugreport:342)
- removed guardian hp from the castle data structure, database, savefiles and various script functions (use upgrade_svn11914.sql)
- removed guardian hp calculation and manipulation from the castle manager npc, now the hp values are updated by the server itself (glitch: when castle defense changes, all guardians are healed to full)
- tweaked script function 'guardianinfo' to provide some data needed by the manager npc (currently available are hp, maxhp and visibility); also, it doesn't need a player attached to execute anymore
The whole thing is experimental, use at your own risk (seems to work though...)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14 23:38:11 +00:00
ultramage
8be1c4d48c * Some preparations for the guild script update
- cleaned up npc event execution code
- cleaned up guild data loading/saving code; to be improved later
- removed dummy 'account name' expulsion list management code
- removed columns 'rsv1' and 'rsv2' from guild member data
- removed columns 'rsv1' 'rsv2' 'rsv3' and 'acc' from guild expulsion data
- added upgrade_svn11895.sql for SQL

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11895 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 09:55:13 +00:00
skotlex
81ddad8b83 - Cleared up npc shop id when warping a player.
- Added missing range/skill-mask info to reflected damage (fixes autospells not triggering on it)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11880 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10 09:25:30 +00:00
skotlex
655100c9e2 - Made the struct weapon_atk lhw in status_data a static member rather than a pointer as requested by Ultra Mage.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11858 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-05 13:16:37 +00:00
skotlex
48a8f3fb25 - Fixed a possible crash when the memory manager is disabled and a non-respawning object is killed.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11857 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-05 12:12:04 +00:00
skotlex
5617e38fba - Probably fixed splash damage.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11841 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-29 12:32:25 +00:00
skotlex
eee82904e7 - Integrated the SG related info of hate_mob and feel_map into a single structure (sg_info).
- Modified skill_blown and skill_attack so that reflected spells do not cause knockback. 
- SG Blessing skills now grant the extra experience to everyone when the SG killed the mob. 


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11840 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-29 12:20:43 +00:00
skotlex
7ca3198824 - Applied the required changes to handle def as a signed char (allows for negative def)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11837 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 13:13:42 +00:00
skotlex
a63fc8093f - Overpowered some more NPC_EARTHQUAKE as per Gravity retardation.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11822 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27 12:58:34 +00:00
skotlex
ddf923dba5 - Changed the status_change structure to use dynamic rather than static memory to hold the individual status changes, this should have a noticeable impact on the server's memory consumption.
- Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power).
- Since I am unable to fully test, watch out for any bugs~


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-22 23:52:58 +00:00
ultramage
560005b13e Removed battle_config.error_log as console_silent already handles this
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-17 20:51:25 +00:00
ultramage
3c4c7617e1 Fixed Divine Protection working against players (bugreport:410)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11735 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-15 01:49:11 +00:00
ultramage
804edb29f7 Fixed homunculus skills having unlimited range instead of being capped to view_distance+1 (for details see bugreport:376)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11723 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-12 11:19:24 +00:00
skotlex
788ccb51b6 - hom_setting&0x2 now disables skill range checks for homunculus. For the love of everything that is sinful, please unset this on your server.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11717 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-11 11:16:48 +00:00
zephyrus
0f3255eca8 - Ooops! Adding a missing comma (,).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11700 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-08 17:54:43 +00:00
zephyrus
bec0f75b57 - Added a new setting 'guild_skill_relog_delay' to activate the guild skills delay on Guild Master relog.
- The official setting is 'No', but this is an option for game masters.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11699 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-08 17:39:40 +00:00
ultramage
9d59dba910 Corrected the max. allowed skill name length, and optimized code that works with skill names according to latest changes.
Changed skill db loading code to work similarly to how itemdb/mobdb is loaded (generic file loader + specialized function to process rows).
 * all skill db files are now checked for inconsistencies the same way.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11659 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-05 14:45:13 +00:00
ultramage
989a557598 Removed some long-unneccessary debug messages (from r1105).
Removed function skill_count_target() because it's a duplicate (see topic:169337).
Renamed skill_get_pl to skill_get_ele (because it retrieves element ids).
The block_list structure now uses the BL_ enums instead of 'unsigned char'.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02 15:54:27 +00:00
ultramage
dc6254185a Fixed a compilation problem and warning (maybe).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11611 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-29 20:01:09 +00:00
skotlex
88e0444634 - Corrected the firewall/kaensin knockback code to how it is supposed to be done (the element/race check was originally in battle.c, and it was moved to skill.c because of the firewall hits on undead setting, now that it is not needed the code can be changed to how it was back then).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11594 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-28 15:48:12 +00:00
skotlex
34b9b6f16e - Removed the config setting firewall_hits_on_undead setting, Firewall and kaensin now automatically calculate the number of hits they should do per iteration based on the skill trigger frequency (you may want to raise that delay of 1ms in the db, though)
- Cleaned a bit the loop for the Warmth skills.
- Added a mising pc_class2idx invocation (fixes a very minor bug when you request max skill lv for a skill in your tree with different max than the skill_db max)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11578 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-26 07:16:47 +00:00
ultramage
4cfb15d8bb Fixed numerous /W4 warnings (and created more :)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11514 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 21:25:26 +00:00
Playtester
6bcbcb11bb * Further optimization of the skill unit code
- removed code for Crimson Fire Formation it now uses the same code as Fire Wall
- added same knockback behavior as Fire Wall for Fire Formation
- Heat now does 50 hits a second in pvp too
- please let me know of any bugs that might appear

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11510 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 18:07:09 +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
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
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
L0ne_W0lf
694679913a * Implemented Summer Outfit care of Zephyrus_CR.
- Increased MAX_GUILDCASTLE in mmo.h to 29 for future implementation of the 12.1 Guild Castles.
* Added constants for Summer Outfit and updated the Summer_Event_Suit item script.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11321 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-28 02:52:04 +00:00
skotlex
1a91ca358c - Changed Greed Scroll's type to 11 (all itemskill items should use this)
- Ignore %MDef bonuses now only reduce target's base MDEF, not MDEF2.
- Updated the 'skills that cause no damage are blocked now if the skill element is blocked by the target' to only apply if the skill has a status change associated (fixes Resurrection/Heal being blocked).
- Reverted the opt_flag2 change in status_change_start (clif_changeoption2) since it never served its purpose.
- Added a warning to prevent loading mobs with IDs that belong to the clone range.
- Changed MAX_MOB_DB to 3000, updated the definitions of the clone range defines so they are updated automatically with the change of MAX_MOB_DB.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11287 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-24 17:06:58 +00:00
ultramage
3503fc5de1 * Corrected skill Charge Attack as described in bugreport:67
- cast time is between 100% and 300% (+ infinite waiting fixed)
- damage is also between 100% and 300% (doesn't increase past range 9)
- added knockback that's equal to the distance to target
- no longer causes teleportation on WoE grounds
- if target runs behind an obstacle, the skill will still teleport you, but will not perform the attack or do knockback
- this should be official behavior, so enjoy the weirdness!

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11256 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-21 13:26:36 +00:00