351 Commits

Author SHA1 Message Date
skotlex
4e9c745bdf - Corrected SC_INTRAVISION not starting.
- Small cleanups (line terminators, indenting)
- Fixed crash when attempting to read a Label as a string on a script (thanks to End of Exam)
- Fixed possible crash when changing a chat-room's owner (thanks to End of Exam)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8639 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-05 19:49:38 +00:00
skotlex
eac939f439 - Fixed @summon's delete timer being screwed up.
- Cleaned up a bit the summon script command.
- Fixed the clone script command's delete-timer being screwed up.
- Corrected battle config name max_walk_rate, it should be named max_walk_speed.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8559 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-31 14:18:37 +00:00
skotlex
a45d7c414d - The memory leak reports will now print out in the logs also the revision they belong to.
- Cleaned up the scriptable npc-shop code, it should be crash-proof now.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8525 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-28 19:22:13 +00:00
skotlex
33cb9f7449 - Fixed exp bonuses applying twice for the job-exp
- Magic damage adjustment per number of hits is now performed before mdef reductions.
- @reloadbattleconf  will now also update the ragsrvinfo table on the char-server.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8518 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-28 16:03:23 +00:00
Lance
26500644dd * Optional macro MEMSET_TURBO for faster low-level memory initializations.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-27 06:38:17 +00:00
skotlex
fd6e193e90 - Removed config setting "muting_players", and expanded the manner_system config to specify how having negative manner (mute) affects a player (see battle/misc.conf).
- Expanded the pk_mode setting from no/yes to 0/1/2. 1 is normal pk_mode, if 2 is used, it makes killing players give you a loss of 5 manner points.
- Fixed WS_WEAPONREFINE always failing when at less than job 50.
- Fixed a compilation warning in char-txt/int_homun.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8402 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-21 16:07:50 +00:00
toms
e67db33d16 - Added clif_skill_fail for homunc to skill_castend_id & skill_castend_pos ('skill has failed' will may be appear 2 times)
- Fixed homunc skill 8016 not considered as homunc skill


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8386 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-20 20:24:13 +00:00
toms
96c1fe1903 - Fixed some Homunc issues with HR servers (capping some values)
- Added @hominfo command to obtain real values (not capped ones)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8378 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-20 18:54:18 +00:00
toms
a2f9e1bd0a - Fixed @homlvup bug
- Fixed AM_REST & AM_RESU consumming SP if they fail
- Fixed homunc spawning bug

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8375 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-19 21:04:17 +00:00
skotlex
91b9fed6e3 - Made HLIF_HEAL a self skill that auto-selects target to caster's master.
- Implemented SC_BLOODLUST and SC_CHANGE, cleaned up HLIF_CHANGE
- Applied a correction to HVAN_EXPLOSION
- Fixed Homun ASPD calculation being able to underflow and give you min speed.
- Added monster_ai&128 to make aggressive mobs ignore that behaviour of always picking Homun targets above player targets regardless of who is closer.
- Fixed homun info packet being unable to display HP/SP correctly once the values are above 32k.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8349 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18 16:43:20 +00:00
toms
ed8b093cc2 - Corrected map_random_dir algorithm
- Fixed homunc natural heal and little code cleanup

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8327 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-17 22:38:25 +00:00
skotlex
ee8298bb8a - Cleaned up some of the pet related @/# commands, same for some script commands.
- Moved s_pet structure from map_session_data to pet_data, this enabled the removal of a few redundant values in the pet_data structure (name, class, equip)
- Pet offensive skills who's inf value is self will be casted on the pet now (for stuff like Grand Cross)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8301 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15 21:12:45 +00:00
skotlex
78475ffd1a - Fixed script engine allowing scripts to set a player's zeny to negative values.
- Fixed setting hide_woe_damage making even "miss" attacks seem to connect.
- Cleaned up pc_getzeny to not require doubles.
- When readjusting the fame-list, the last entry's id is also reset (may fix characters appearing more than once on it?)
- Some sign/unsigned comparison warning fixes.
- Some 'may be used unitialized' warning fixes.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8273 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-14 14:54:14 +00:00
toms
4940b38ba3 Fixed homunc skill up bug
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8215 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-09 22:17:09 +00:00
skotlex
49f0ddf3fa - Adjusted some the dance/song/encore code so that the source of an ensemble will always get checked, so that walking out of an ensemble skill should make it end now. However, since ensembles requires two characters and only one is marged as source of the ensemble.... this may not be finished, some kind of check is required so that the partner will also get a force-check and not just he who started the ensemble.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8213 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-09 20:50:59 +00:00
skotlex
3fc01d5169 - Trade requests will now fail when either character is unable to act (character in storage, vending, interacting with an npc, petrified, etc)
- Change the default of attack_attr_none to all classes except players. This means that pet/mobs/homun will always do normal attacks with no-element modifiers (but elemental reduction cards still apply)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8207 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-09 14:42:08 +00:00
skotlex
b62481ed5b - Removed config settings display_delay_skill_fail and display_snatcher_skill_fail, replaced them with display_skill_fail, which can be used to determine whether you hide ALL skill-failed messages, those from delay, those from Snatcher or those from Envenom (battle/skill.conf)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8186 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-08 15:33:18 +00:00
skotlex
ee59874725 - Fixed yet again AS_SPLASHER doing full damage on all characters. Now you can use the NK split damage value in the skill_db if you want damage divided by the amount of targets rather than by 2.
- Fixed crash on the battle_drain functions.
- Cleaned up HAMI_CASTLE, HLIF_AVOID, HAMI_DEFENCE so that it's usable by other types of objects other than Homunculus. 
- Cleaned up the Asura Strike code so that the SP/Spheres/States is not consumed when the skill fails due to Fog of Wall.
- When a negative delay for a skill is specified, this delay is now added on top of the character's amotion rather than adelay
- Modified main.sql to make the guild table allow NULL on the emblem data.
- Added file conf-tmpl/Changelog.txt


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8185 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-08 15:07:29 +00:00
skotlex
5752836839 - Fixed a compile warning.
- Added a commented piece of code in clif_parse_LoadEndAck which will update your direction to wherever you were facing before warping. Should this be the default? Nearby people DO see you facing on the same direction before warping, it's only yourself that will always see you facing north on spawn.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8143 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-05 02:40:40 +00:00
skotlex
5d9e6b4a71 - GAHH, I am sick tired of typing TBL_HOMUNCULUS/BL_HOMUNCULUS all over the place. The idea is that the TBL* versions are supposed to be easier to use than the standard structure definition, but using TBL_HOMUNCULUS as an alias to struct homun_data kinda beats the purpose! Renamed them all to TBL_HOM/BL_HOM.
- Fixed using the right-hand weapon's size modifiers regardless of which weapon was being used.
- Simplified the ignore-size check by making the Weapon Perfection check be done when specifying the flag, also moved the size-fix property of riding spear-knights to status_calc_pc.
- Removed variable hd from status_calc_bl as it's not needed.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8112 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-03 19:45:12 +00:00
skotlex
b6b81e7051 - Corrected clif.c sending the raw mdef2 value to the client instead of first substracting the "secret vit/2" bonus from it.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8109 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-03 18:06:22 +00:00
toms
8e191af335 Code cleanup & optimization on guild part of char-server
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8059 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-02 16:37:02 +00:00
skotlex
7a082b02a8 - Updated battle_check_target so that all alchemist summoned mobs can be target by everyone.
- Cleaned up skill_check_condition_mob_master_sub, it will now count both total number of summoned mobs and amount that belong to the same type.
- Corrected AM_CANNIBALIZE so it will fail if you already have plants of another type out.
- Using NPC_SELFDESTRUCTION no longer will make the caster stop walking.
- Removed SI_GUILDAURA, and replaced it with SI_LANDENDOW, now Volcano/Deluge/V. Gale will get that funky icon instead.
- Changed clif_hominfo to receive both sd and hd as parameters
- Some redundancy cleaning in mercenary.c
- Moved updating of sd->mercenary.hp from merc_damage to pc_makesavestatus.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8048 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-02 14:27:17 +00:00
skotlex
4550e45f33 - Modified Self Destruction, so that Marine Spheres in non-versus maps will hurt only enemies, while in all other situations this skill will hurt everyone around them.
- Expanded setting debuff_on_logout so that &1 removes negative buffs and &2 removes positive buffs.
- Food status boosts will no longer end on death, but they will end when you respawn or logout.
- Added battle config file status.conf, moved some settings from skill.conf and battle.conf to it since they are entirely Status-Change related.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8033 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-01 15:56:57 +00:00
toms
5e47973166 Merged mpeg's fix on ninja skills
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8012 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-31 20:19:56 +00:00
skotlex
2fd9920c75 - Changed the variable message in parsing normal text from unsigned char to char (should shut up some compiler warnings)
- Added the Soul Link of Rogue speed bonus to Chase-Walk. Since there's no information of how much the bonus should be, it currently is a conservative 10%.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8007 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-31 16:00:38 +00:00
skotlex
8da82e0a0a - Changed npc_click declaration to receive an npc structure rather than a generic block-list one.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7925 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-27 16:28:00 +00:00
skotlex
574198e3e7 - Added config setting "party_hp_mode" (battle/party.conf) which determines method to use to update party-mate hp bars. Aegis style is to update HP bars whenever HP changes, while eAthena style is to update it together with the map party dots. Defaults to aegis style.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7920 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-27 14:42:17 +00:00
skotlex
893d5088f8 - Fixed packet 0x22a having the manner and opt3 packets in inverted offsets.
- Some other small cleanups on clif.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7919 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-27 14:28:07 +00:00
skotlex
9572db00eb - Enabled changing of equipment while stunned/asleep/petrified/etc
- Cleaned up a bit the skill_castend_id dead checks.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7890 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-26 14:30:34 +00:00
DracoRPG
d42fb96de3 Random Homunculus cleanup
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7857 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-24 16:58:29 +00:00
skotlex
4289e1c98d - Corrected the @follow timer not being deleted on logout.
- Applied the homunculus code fixes provided by Toms.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7820 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-21 23:45:53 +00:00
skotlex
f750c3ed73 - Small bug fixes found during merging to stable process, includes correct HP scaling when hp-meter is enabled and max hp is above SHRT_MAX
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7802 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-21 15:46:36 +00:00
skotlex
5b8eac3bc4 - Added a skill_unit_db entry for NJ_HYOUSYOURAKU, thanks to Eus for the data.
- Added the dummy intravision case for the changeoption packet 0x229
- Corrected Fog of Wall so that all targetted offensive skills (not only those who do damage) will fail on cast-end 75% of the time.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7773 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-20 18:03:18 +00:00
skotlex
c96212781f - Corrected Trim chars to block 'enter', as explained by the Ultra mage.
- When the client passes account version 0, the login server will set it to 1 now.
- Corrected the HP bar scaling when HP is above Short Max. It should display fine for any HP value now.
- Added a check when the mob's adelay is shorter than the amotion, in which case the adelay will be changed to the amotion value.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7742 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-19 14:31:01 +00:00
skotlex
094db48cae - Added atcommand @partyoption, lets you alter the party item-distribution type on the go. Usage is "@partyoption <pickup share> <item distribution>", where both arguments can be 0/1, yes/no, etc.
- Updated @changeleader and @partyoption to use msg_Athena entries.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7737 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-18 21:12:35 +00:00
skotlex
97b00a11ad - Added a proper check to make aggressive mobs never override homun targets regardless of distance.
- Removed a bunch of homun-related variables that are not needed at all. The alive condition is removed, now the code checks for the hp value to know if the homun is alive or not.
- Cleaned up a bit the skill-id function, homun skill checks (such as delay and skill-lv learned) should be correct now.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7727 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-18 13:25:21 +00:00
DracoRPG
a2c64b8d1e Skill lv up fix
Manually updated VS8 char_sql project

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7710 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-17 07:40:12 +00:00
DracoRPG
15dd140846 Orn's and Albator's Homunculus system, finally, YAY!!
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7706 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-17 00:15:33 +00:00
skotlex
cd8587dc4d - Fixed clif_parse not checking for func_parse before sending data to the connected clients. This in turn required various code-rewrites in:
- duel related messaging functions (added clif targets DUEL/DUEL_WOS).
- intif whisper to gm function
- day/night timers
- Rewrote the parse_console function to stop allocating/deallocating memory on every call.
- Modified chrif_charselectreq to receive the player's ip among the data.
- Added function clif_disp_message, which is the same as clif_disp_onlyself, except you can specify the targets (it sends a guild-chat packet)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7617 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-11 20:16:55 +00:00
skotlex
a6c3f3a1fc - Coded @reset.
- Reenabled @changesex
- Added function pet_create_egg which handles creating pet eggs correctly (when passed item id is indeed a valid petegg). Applied this on @createitem and getitem.
- Cleaned up code of @item
- Added define UNKNOWN_ITEM_ID (512 = apple)
- Added IT_* enumation item_Types to identify said data from items.
- Cleaned up the itemdb_isequip functions. itemdb_isequip will now return if the item is equipable by players, itemdb_isstackable returns if the item can be stacked, and itemdb_isidentified returns if the item should drop identified.
- Added defines CARD0_PET/CARD0_FORGE/CARD0_CREATED to identify if a given item has "invalid" cards, added define function itemdb_isspecial to simplify this check.
- Removed itemdb.c considering item ids above 20000 as invalid.
- Cleaned up script commands getitem and card-counting related ones. 
- Cleaned up a bit more pc_isequip


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-11 16:32:37 +00:00
skotlex
924284f1b9 - Added login-char packet 0x2737. Sets all characters offline (login-server side).
- Cleaned up char server "set all offline" implementation to remove only characters from the map-server from which the packet was invoked. It will also now correctly kick/set-character offline from the map-server if they are connected.
- Cleaned up the char-sql reconnect code. It no longer sets everyone to offline.
- Removed setting "kick_on_disconnect", servers will no longer kick characters out when there's a disconnection. Instead, it'll use the most logical approach: Set characters into a "lost" state when there's a disconnection, on reconnect, resent the list of online-characters, do a sync, and let the difference be characters to be removed. Also, the map-server won't release character data until it's saved and the ack returns from the char-server to prevent data loss (all this data is resent on reconnect for saving anyway).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7600 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-10 19:41:25 +00:00
skotlex
3da94aa210 - Corrected skill require entry from the Twilight Pharmacy skills.
- Removed the Frost Nova entry from skill_unit_db
- Moved Gospel's code to skill_castend_pos2 
- Some cleaning of skill_castend_pos2
- Fixed a unnecessary map_freeblock_unlock call in the default case of skill_castend_pos2
- Sense/Estimation will now display the mob info window to all party members in the same map.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7595 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-10 14:51:34 +00:00
skotlex
38ead62cea - Removed the equip id from the clif_pet_equip packet as it is not used for anything.
- Corrected the pet-armor field of the pet not being updated on equip/unequip of accessories, making them not show up inmediately.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7577 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-07 20:58:32 +00:00
skotlex
f0d7d12d88 - Should have fixed clif_item_sub to properly store pet egg/armor data. There should be no more "random refine levels" bugs related to these.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7574 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-07 19:30:53 +00:00
skotlex
46fc93df01 - Some cleaning of the Sage endow skills.
- Added a check to free a character from memory when changing map servers.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7571 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-07 18:21:49 +00:00
skotlex
e0afdded8b - Okay, added a chrif_save_ack packet to the char-server so now the map server will know once a character was "final saved", and only then the character will be removed from memory. On char-server reconnection, all chars that are in final-save state are resent to save (if they are still in memory, it's because the ack hasn't gotten here from the char-server). This should effectively block all dupe problems due to heavy inter-server lag, however as it's untested, it currently prints some debug messages when people are saved and then removed from memory. Need testers so this can be debugged and merged to stable!
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7568 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-07 16:28:41 +00:00
skotlex
a4d0df735d - Rewrote all the item restriction functions so that they will take into account slotted card restrictions as well.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7552 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-06 21:22:20 +00:00
skotlex
f89a7d2069 - Fixed a compile warning in login sql/txt
- Fixed pc_makesavestatus not setting your logout position.
- Fixed the UF * flags of Songs/Dances in skill_unit_db.
- Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.
- Added the missing +100% damage modifier of Enchant Deadly Poison.
- Fixed SkillStatusChangeTable not working correctly for Homun/Guild skills.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7454 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-03 14:39:15 +00:00
skotlex
00cbe67c6f - Small cleanup on Abracadabra.
- Added UF_SONG (0x400) to differentiate songs from dances.
- Updated the skill_unit_db accordingly, ensembles should only have that flag, likewise for songs and dances.
- Added preliminar support for making a Song+Dance turn into BA_DISSONANCE cells. Beware of potential bugs as it's untested.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7428 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-30 19:05:02 +00:00