528 Commits

Author SHA1 Message Date
ultramage
078d492412 Removed one mob data variable related to dynamic mobs that I found to be redundant.
Changed MAX_MOBSKILL (max. amount of different skill entries per mob) from 50 to 40 to reduce memory consumption a bit more.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12350 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-12 21:02:59 +00:00
skotlex
d6eb67c6c4 - Modified attack_walk_delay so it behaves on a 'per-object' basis, and changed the default to 15 (all types).
- Modified battle_delay_damage so damage is not delayed more than one second for non-player attacks. 
- Modified party_member_added with a hack so that the clif functions will send the info of the new member since party_recv_info has not yet arrived.
- Updated clif_calc_delay so the type sent to the client is based on the number of hits of the skill (as Aegis packets reveal)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12332 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-09 20:11:14 +00:00
skotlex
92960a166f - Added config settings mob_active_time and boss_active_time, what they do is specify a duration during which monsters will keep running their active AI after all players have left their vecinity. Their current defaults are set to 0 (disabled).
-  Script induced status changes can now be reduced by stats/cards (but only trigger rate is reduced, not duration)
- Battle delay timers will now check if the target player has the invincible timer active or not.
- Adjusted mob_ai_sub_hard to return a bool indicating whether the AI was executed or not.
- Adjusted clif_damage and clif_skill_damage to set the endure type value based on dmotion and damage, rather than hardchecking for SC_ENDURE.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12315 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-07 15:02:32 +00:00
ultramage
8257a27590 Fixed a crash when a homun kills a mvp and the char that did the most damage is unable to carry the mvp reward (bugreport:1114)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12308 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-06 16:48:24 +00:00
zephyrus
437946cb18 - An extra ; removed. Reported by Itakou.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12282 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-03 16:06:02 +00:00
ultramage
3653a87355 Added support for actually disabling the idle_no_autoloot config setting (followup to r12248) (bugreport:1061)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12254 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-27 22:14:18 +00:00
skotlex
9c638fa6b2 - Added status_calc_life to properly calculate hp/max_hp as a ratio taking into accounts overflows (and for now also avoids divisions by 0). Applied this function around clif.c, mob.c and pet.c
- Implemented the correct walk-speed bonus from the Bard/Dancer spirit.
- Added a few error messages in case something goes wrong in the new auth db system.
- Fixed logarithmic drops turning 0% drop rates into 100%.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12225 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21 10:36:26 +00:00
zephyrus
b8cbeb24b8 - Some optimizations to @noks (now using a Status Change timer).
- Added support to Self|Party|Guild options.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12205 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-14 20:54:25 +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
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
144afd8189 Cleaned up mob_once_spawn() and mob_once_spawn_area().
- now they use mapid instead of mapname as input parameter
- moved the responsibility to perform "this" -> mapid resolution to the caller
- added a pair of swap() operations to prevent working with a negative-dimensioned area (fixes bugreport:87)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12022 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 16:37:06 +00:00
ultramage
23e02001cf Fixed a bad allocation line, which in my case resulted in trashing several ingame objects when doing @reloadmobdb.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12013 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 19:39:02 +00:00
ultramage
f16dcdf4d5 Re-added a missing mob last_thinktime timer initialization when a mob spawns, causing mob AI to freeze (mistake in r11964)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11986 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-27 18:00:29 +00:00
ultramage
7906017662 Moved distance-related functions to path.c/h
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11981 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-26 17:18:57 +00:00
ultramage
f9c52aa0aa Fixed droprate overflows when going over rate 2000x
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11966 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 21:24:40 +00:00
skotlex
146ca072bb - Corrected mob spawn utilization of the delay1/delay2 values (one is respawn delay base, the second is random variance added on top of it). Cleaned up related code.
- Changed abit map_add_block to prevent adding a player object which is invalid (not authed, waiting to be disconnected)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11964 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 18:08:37 +00:00
ultramage
db3db2c2e5 Fixed mob AI code iterating over non-mob objects without checking, when monster_ai flag 0x20 is set (caused by r11943)
Cleaned up macros that wrap unit_stop_attack() (bugreport:357)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11957 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 09:00:57 +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
skotlex
a6875211ef - Fixed skill name for skill 39 (MC_PUSHCART)
- Corrected some formatting in a few entries in skill_db (TODO: if you really want to format the file to have file names aligned, spaces should be used instead of tabs, like it was done for GD/HLIF skills!)
- Corrected placement of leveled up mobs bonus exp
- Fixed a possible crash when parsing MSC_MASTERATTACKED mob skills.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11949 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-19 13:10:48 +00:00
skotlex
ece12b6e42 - Cleaned up a bit the format of skill_db.txt (that comma next to the skill name looks ugly if you ask me)
- Corrected skill_db reading to properly trim the skill name/descs.
- Added a mobid_db in map.c to handle mob lookups faster.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11943 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 15:45:48 +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
skotlex
fc7b4eaef0 - The default event script behaviour is to trigger on labels rather than NPCs now.
- Removed several script config options which break NPC compatibility when you mess with them (event_script_type, event_requires_trigger, die_event_name, kill_pc_event_name, kill_mob_event_name, logout_event_name, login_event_name, loadmap_event_name, baselvup_event_name, joblvup_event_name)
- LoadMap events no longer set the variable "@maploaded$" to the name of the new map.
- Optimized/simplified the code now that the previous config options were removed.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11859 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-06 12:59:12 +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
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
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
skotlex
6840bb28ab - Moved subtype from struct block_list to struct npc_data.
- Fixed some compilation warnings.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11772 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21 13:29:45 +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
Playtester
9f7a8cb1e5 * Reverted official drop rate estimation
- although it really exists we don't have enough information about it
- if server owners really want it they can implement it themselves (it's just a one-line fix anyways)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11658 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-05 11:21:08 +00:00
Playtester
d8a73e6f5f * Adjusted drop bug according to special information...
- this will be changed further in the future

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11652 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-04 12:06:37 +00:00
Playtester
2aae5965dc * Implemented official drop rate estimation
- estimation is rounded on 2 positions after decimal point
- this will effectively raise drop rates below 50% by 0.01%

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11651 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-04 10:47:33 +00:00
ultramage
59b9654397 Tried to make sense out of timer.c ... and failed
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11647 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-03 12:35:34 +00:00
ultramage
78dd6eda46 Removed code that queues OnAgitEliminate after the Emperium is broken, this is now done properly by the gvg script instead (partially deals with bugreport:342).
If you have any extra castles, update your scripts accordingly.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11630 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-01 16:34:21 +00:00
ultramage
ac33a63e54 * Added names to the SC_ and SI_ enums, now they can be used to properly indicate where such values are to be used (replaces usage of 'int')
* removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3
* removed support for @go-ing to your memo points
* simplified the overly verbose @memo command; now re-uses pc_memo()
* cleaned up pc_memo(), now uses semi-correct packet replies
* Minor code cleaning/formatting

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 13:20:48 +00:00
ultramage
ac7ffe49bb Slightly improved the message you get when trying to load a mob into the range reserved for player clones.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11589 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27 15:59:05 +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
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
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
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
zephyrus
4026ba7ec1 * Added SC_EXPBOOST (Field Manual), SC_ITEMBOOST (Bubble Gum) to const.txt. Allready working.
- Added SC_LIFEINSURANCE and SC_BOSSMAPINFO to const.txt. (not implemented but i will work on it)
- Updated Field Manual and Bubble Gum in the itemdb.txt file.
- As L0ne Wolf reported to me and based on Doddler information, the Bubble Gum only do a second try of the item drop, and it don't increase the drop rates.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11356 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 20:47:35 +00:00
ultramage
286e1a32c4 * Added MAX_HOTKEYS to supplement the HOTKEY_SAVING define
* Fixed a compile problem when hotkey saving is disabled (topic:167265)
* Added script source error reporting to countitem() (topic:167165)
* Removed integer mob skill state/target definition support (unused)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11353 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 16:16:44 +00:00
zephyrus
63519ee3cf * Added the code for Field Manual (SC_BONUSEXP) and Bubble Gum (SC_BONUSDROP)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11351 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03 22:49:11 +00:00
FlavioJS
a8d7143d0e * Loot code using charid's instead of id's in pick priority.
* configure script using svn:eol-style LF and require mysql/pcre when --with-mysql/pcre is used.

Added a forgotten file from r11311. (script_commands.txt)
Note: charid's are globally unique, id's are equal for characters in the same account.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11312 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-27 15:24:06 +00:00
skotlex
dbfa221083 - Modified a bit the hard/lazy ai triggers to match aegis:
- Mobs go into active AI when they are 2 cells from entering a player's view (ACTIVE_AI_RANGE)
- Mobs in passive AI no longer use skills.
- Mobs in passive AI do not random walk UNLESS they have entered active AI before (random walk frequency is not lost during passive AI).
- Added an additional check to prevent support skills from being blocked if the target has an armor element that blocks it.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11294 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25 18:32:08 +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
FlavioJS
beda52e6b3 * map_addflooritem and struct item_drop_list using id's instead of struct map_session_data's (fixes bugreport:36).
* Fixed buildin_escape_sql not properly escaping in sql servers.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11279 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-23 03:14:57 +00:00
FlavioJS
65642f6f1c * Merged the tmpsql branch:
- Abstraction for the sql code (sql.c/h).
- New configure script and makefiles.
- Restored txt zeny logging code. (r10814)
- Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
- Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
- Improved db reading code a bit for consistency. (r11077)
- Added separate atcommand for mail deletion. (r11077)
- Corrected a few messages that said "new" instead of "unread". (r11077)
- Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
- Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
- Some misc login server cleanups (reformatting etc). (r11136)
- Corrected/modified some header entries. (r11141 r11147 11148)
- Adjusted VS project files. (r11147)
- Adjusted the way the sql charserver does item saving. (r11192)
- Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11245 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-20 11:09:36 +00:00
skotlex
793b2aaafb - Finally got some time to clean up and fix monster_ai&0x40 (chase through warps). It works correctly now regardless of the number of players on the source/destination maps.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11233 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-17 20:15:36 +00:00
ultramage
a71c730693 Getting some (mostly atcommand) code cleaning out of the way...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11222 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-15 21:49:21 +00:00