summaryrefslogtreecommitdiff
path: root/src/map/clif.c
AgeCommit message (Collapse)AuthorFilesLines
2006-06-05- Cleaned up code for SC_MINDBREAKER.skotlex1-0/+1
- Changed hit, flee, cri, flee2, def2 and mdef2 to signed short, def, mdef to signed char to correctly account for cards with penalties in said stats. - Added cap_value checks in all of the status_calc_* return paths to make sure no stat is invalid. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6986 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-02- Corrected clif_parse_takeitem to ALWAYS return a NAK packet when it failsskotlex1-20/+26
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6943 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-02git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6927 ↵Lance1-1/+1
54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-02- Updated item_db.sql/mob_db.sql to current.skotlex1-2/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6922 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-01- Fixed being unable to unequip stuff while the storage is open.skotlex1-3/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6920 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-01- SC_ORCISH will now be dispelled on logout (if debufF_on_logout is set)skotlex1-2/+9
- Removed attackrange/attackrange_ from TBL_PC, corrected clif.c using the incorrect range variable. - You can now equip/unequip stuff while the storage is open. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6908 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-31* [Fixed]: Lance1-2/+4
- nullpo in pet.c caused by equipping without checking if the pet is available. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6882 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-31[Improved]: Lance1-4/+4
- Fake NPC interface to use real NPCs. - Scripting interface to restore and save sd->npc_id. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6873 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-30- Fixed Absorb Spirit Spheresskotlex1-0/+28
- Added battle_config min_chat_delay (default 0) specifies in ms what is the min delay between player sent chats (whisper/global/party/guild). Messages that exceed this threshold are silently ignored for now (perhaps need to add a "DON'T SPAM" reply to the player?) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6859 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-30[Optimized]: Lance1-55/+14
- clif_specialeffect to use the enums. [Improved]: - buildin_specialeffect and buildin_specialeffect2 to accept effect area definition. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6855 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-30- Small optimization in battle_check_targetskotlex1-16/+16
- Disabled ontouch npcs triggering on hidden/chase-walk characters. - Added the SC* code blocks relevant to SC_AVOID, SC_CHANGE, SC_BLOODLUST, SC_FLEET - Added structure status_data to homun_data - Added handling of BL_HOMUNCULUS in status_heal, status_damage. - Cleaned up the homun-submitted code, moved the relevant code to status_calc_homunculus. - Updated map-server Makefile to compile mercenary.* files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6847 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-29- Relogging in with 0 HP didn't trigger dead event.Lance1-1/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6810 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-28* [ Protected ] : clif_parse_LGMmessage from possible hacksLance1-3/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6797 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-27- Added structure status_data which holds status-related information (str, ↵skotlex1-94/+75
agi, etc, speed, amotion, adelay, dmotion, weapon-damage, race, size, etc) and weapon_atk structure with the weapon specific info (atk, atk2, element) to be used by all combat structures (TODO: Homun needs to be updated to use it) - Cleaned up TBL_PC, TBL_MOB, TBL_PC and mob_db structures to use status_data. - Set the NPC-Change Attribute duration on Time1, updated their max to 1 in the db. - Berserk's HP cost interval is now defined as time2. - Split damage received functions into pc_damage/pc_dead and mob_damage/mob_dead - Rewrote the @heal related functions to use the new status_* healing functions. - Added status functions to deal with damage and healing (status_damage, status_heal, status_percent_change) and a bunch of defines for easier handling of them (status_percent_heal, status_percent_damage, status_fix_damage, status_kill, etc) - Splitted mob_once_spawn into two. mob_once_spawn_sub creates the mob instance without spawning it. - Added defines for Elements (ELE_*) - Modified battle_calc_(weapon/magic/misc)_attack to use the status data structure. - Rewrote and cleaned up battle_calc_misc_attack - Merged config options pc_attack_attr_none, mob_attack_attr_none, pet_attack_attr_none into attack_attr_none (type 4) - Removed config options player_defense_type, monster_defense_type, pet_defense_type in favor of weapon_defense_type - Cleaned up pet.c to stop invoking status_calc_pc when unnecessary - Modified skill_calc_heal to take into account the MEDITATION bonus. - Cleaned up code of Adjustment, Madness Cancel and other GS/NJ skills inside skill_check_condition - Added status change SC_MODECHANGE which handles mob state changes (this SC is continous until manually ended, eg: like Weight50) - Modified Slim Pitcher so it will work when casted by non-players. Will now also work with SP-healing items. - Rewrote Freedom of Cast code to use function status_freecast_switch to switch adelay/speed when cast begins/ends. - Modified Magic Power to store amplified MATK/MATK2 in val3/val4 for easier updating when used in conjunction with ground skills. - Fixed Asura Strike being usable from within a combo regardless of combo skill. - Modifed SC_DANCING to store speed-change in val3 (it is shared with skill duration...) - Added StatusChangeFlagTable to store which statuses are changed by each SC - Added SCB_* constants to specify the different stats that each sc changes. SCB_PC is the only one that means a change hardcoded in status_calc_pc, the rest are handled by status_calc_bl - Added some helper functions to simplify with basic status calculations (status_base_atk, status_calc_misc, status_base_pc_maxhp, status_base_pc_maxsp) - Added status_calc_mob which calculates initial status and special base status alterations (HP changes, stat changes due to big/small mobs, etc) - Made all the status_calc functions static. - Added status_calc_bl_sub_pc for PC related calculations that must happen after status-change adjustments. - Added status_calc_bl which does status-change related calculations using as base the base_status of the bl object and the SCB_* flag passed. - Added status_get_status_data and status_get_base_status to retrieve the bl objects current status_data and basic status_data (current never returns null, instead it returns a dummy structure with basic data) - The main switch in status_change_start now only sets the tick and val values, therefore it is skipped when loading (flag&4) - Cleaned up status_change_start and replaced many of the ex-japanese comments for english ones. - Changed Hiding to store the speed penalty on val3. val4 stores interval SP cost. - Changed Chase Walk to store Speed adjustment on val3, sp cost in val4 - Changed Cloaking to store speed penalty on val3, val4&2 signals wall-present, val4&1 is infinite cloaking. - Changed Wind walk to store speed bonus on val3 - Rewrote Marionette Control to store the status to add/substract in val3/val4, it now works on anyone (players/mobs) - Changed Improve concentration to store Card bonuses (which are not counted for total % increase) on val3/val4 - Changed SC_ADRENALINE, SC_CONCENTRATION, SC_ANGELUS, SC_IMPOSITIO, SC_MELTDOWN, SC_TRUESIGHT, SC_SUN_COMFORT, SC_MOON_COMFORT, SC_STAR_COMFORT, SC_QUAGMIRE, SC_GATLINGFEVER to store the bonus modifiers in their val values rather than calculate them in status_calc_* - Status_change_start/end will use clif_status_load rather than clif_status_change when related bl is not on a map. - Modified status_change_timer to use the status_charge function rather than directly substracting SP - Added SC_ELEMENTALCHANGE to modify someone's base defense element. - pc_clean_skilltree will now also remove item-granted skills. - Learning skills will now only invoke status_calc_pc when the skill is passive. - Cleaned up pc_steal_coin - Cleaned up pc_check_base/job_lvup to only invoke the lv-up related packets and functions ONCE regardless of skill-levls earned. - Cleaned up pc_ regen related functions. - Made player-sprite mobs have item pickup animation and walkdelay when taking items. - Cleaned up mob_dead code. - Removed paramb, parame from struct map_session_data, replaced them by param_bonus[6],param_equip[6] - mob special ai state 3 signals summon flora. - Moved petDB pet_hungry_timer vars from TBL_PC to TBL_PET - Cleaned up some pet functions, made the menu functions receive as argument both pet and master. - Clones will copy a player's base status rather than battle status (so status-change alterations are not cloned) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6791 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-26* Mob control engine tested 99% working so far.Lance1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6770 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-25- Increased capacity for Account Variables to 64skotlex1-2/+4
- Reverted Intravision implementation to that of stable's. - Corrected Login Server taking it's first argument as both login config and lan config. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-23- the charname request hack message has been downgraded to only include ↵skotlex1-27/+27
GM-invisible characters. - corrected clif_charnameack to send negative ID when a disguised player asks for it's own disguised name. - Cleaned up the disguised target-id checks taking into considering that the only character that sees a negative ID is the same disguised character. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6715 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-23- Corrected clif parse name request failing on disguised characters.skotlex1-4/+4
- Corrected Soul Drain draining from all non-ground-based skills including non-magic attacks. - Corrected pc_setoption to change the option and then change class. changing option-wedding will automatically convert the view-class as well. - Corrected the 15% drop rate increase when killing higher level mobs in pk-mode triggering for all mobs with lower level than yourself. Thanks to Vayu. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6709 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-23* Added 'setd' support for local NPC scope (') variables.Lance1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6704 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-23* [Scripting Engine Update] New variables are ready to be used. Lance1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6703 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-22* Fixed compilation errors.Lance1-3/+4
* Tidy up jobmaster for easy debugging. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6686 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-21* Part A of the Homunculus code.blackhole891-0/+160
This only features the structures, status_* and clif_* (packets) and is not functional yet in any conventional way, but doesn't interfere with present functionality either. I would only forget half of this stuff if I tried to do all at once. Expect the rest somewhen within the upcoming week. (This is not similar to jA's implementation.) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6681 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-21And againLance1-1/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6672 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-21* Fix the fix: Should be sd->npc_str[message_len]=0;Lance1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6671 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-21* Exploit prevention in clif_parse_NpcStringInputLance1-5/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6670 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-18- Rewrote/cleaned up several functions in storage.cskotlex1-11/+3
- Optimized pc_additem comparisons to account for items with more than four slots. - Updated clif.c to enable retrieval of items from cart/storage while trading. Exception is retrieving items from the cart while vending. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6642 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-18- Applied an experimental weather code that should lower bandwidth usage to ↵skotlex1-39/+20
near-none, which's only disadvantage should be the weather not clearing out until moving to another map (even when the mapflag is removed from the current map). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6639 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-17Removed AtCommand_Monster and replaced it with AtCommand_Spawn for Skots ↵reddozen1-1/+1
[Reddozen] git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-16- Modified "hide woe damage" to send the number of hits rather than 1 as ↵skotlex1-5/+5
damage Because when the damage is less than the number of hits, the client will display MISS. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6624 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-15- Removed Lance's checks in clif.c to prevent sending packets when a player ↵skotlex1-12/+2
is in OPTION_INVISIBLE mode. Now pc_disguise won't change your viewclass when you diguise while hiding. The disguise should "show up" when you uncloak, instead. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6597 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-15- Fixed clif_GlobalMessage being the exact same function as clif_message ↵skotlex1-1/+1
(the fiirst should send to ALL_CLIENT and the later should send to AREA_CHAT_WOS). Should fix globalmes script command. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6596 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-15- Added SC_BLADESTOP to the switch listing in status_change_startskotlex1-8/+0
- Characters in vending are now always considered "idle" if the idle_no_share setting is active. - Corrected 10 Geminis spawning in Lhz1 rather than 2. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6595 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-15* Players with OPTION_INVISIBLE should not be sent to clients.Lance1-2/+12
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6594 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-14@_@ this is getting more confusing...Lance1-9/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6586 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-14* Bugfix on fake npcLance1-1/+7
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6585 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-12- Updated cast times of Kaupe and Kaahi.skotlex1-1/+1
- Some small code cleanups. - Sma has cast-dex reducable now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6564 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-11- Changed a bit the MAX_ZENY checks in trade.c to prevent overflows.skotlex1-17/+5
- Rewrote npc_selllist for a more proper-clean implementation. - Increased NPC_POWERUP's dex bonus to +25*lv - Moved TK_DOWNKICK's stun time from time to time2 - Added TK_TURNKICK's stun to splash-pushed mobs. Duration is 2secs (time2) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-09- Updated SKA to return a random value between 0 and 99 each time ↵skotlex1-1/+1
status_get_def is invoked. - Updated Making Arrow to not include unidentified items in the list. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6540 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-09- Fixed the head_bottom (pet-armor) position in packet 0x22c when crafted ↵skotlex1-1/+1
for non-players. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6530 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-08- ES magic will now put the caster on stun for 0.5 secs regardless of ↵skotlex1-3/+39
whether the skill-target is a mob or not. - Added function clif_party_join_info which sends packet 0x1e9 each time a party-member joins. This packet (as redundant info as it has) should also contain the field for "adoptability", but that needs to be coded in yet. - Added clif_ParseAdoptRequest which does the basic adoption handling. More checks and the reply packets still need to be coded in. - Happy State and TK stances won't dispel on death now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6521 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-08- Fixed compilation error.skotlex1-7/+7
- idletime will now be updated on attack-request, not on sit/standup - Party members sitting will no longer be considered idle. - hide_gvg_damage will now send 1 instead of -1 as damage. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6517 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-08- Removed SP_DISGUISE from the bonus list.skotlex1-5/+5
- Moved Sharp Shooting display to the block with Auto-Counter (since that's the other skill that can show critical as well) - Corrected some fields in the still packet (guild emblem being stored as a Long when it should be Short) - Modified most fields of view_data to be unsigned shorts rather than signed ones. - On-Touch NPCs will now make you stop walking when you trigger them. - Reduced stun duration of most skills to 3 secs. - ShadowJump/JumpKick will make you land on the target's cell now. - Fixed Kaahi triggering only once per skill duration. - Added the kaahi_heal_timer to the list of status change functions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6516 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-07* Optimized clif.c clif_scriptmenu/input/inputstr to check for ↵Lance1-6/+8
sd->state.using_fake_npc before sending one (as it's not required to send twice). * Reinitialize sd->state.using_fake_npc in clif_parse_LoadEndAck (for scripts that warps players and still continues execution to work). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6509 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-05- Added a npc-script-event cache to avoid looking up event-scripts every ↵skotlex1-10/+1
time they need to be executed. Events cached are all those defined in script_config. - Since the cache holds direct pointers to the npcs/events, do NOT unload the related NPCs or you'll get dangling pointers. However, @reloadscript will work fine. - Set the etc_log to on to see a summary of npcs/events loaded for script execution on startup. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6494 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-05- The Rest bonus activated by using /doridori while in rest should now ↵skotlex1-1/+1
trigger with all the class tree (TK/SL/SG) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6493 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-05- /doridori now won't double the HP/SP regen of TKs, it only activates their ↵skotlex1-1/+4
"happy" state. - Added the -50 hit penalty when standing on Wall of Fog. - Cleaned up status_calc_mdef2 - Uncommented the status_calc_mdef2 call in status_calc_pc. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6491 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-05- OnEquip scripts will be trigger on log-on now.skotlex1-6/+0
- Infinite Endure will no longer give mdef bonus. - Removed bInfiniteEndure bonus, Eddga card now uses onequip/onunequip to start/end infinite endure. - Hammer fall's stun duration is now 1+lv seconds. - Fixed Kaahi's SP cost per heal. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6487 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-05- Now when walkdelay is set to 0, characters will stop walking when hit, but ↵skotlex1-4/+1
will not have any walk delay. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6486 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-04- Stun time for using ES magic on non-mobs reduced to 0.5 secs.skotlex1-2/+5
- Eska is now usable on bosses. - Swoo will stun you if attempted on an already 'swooned' enemy. - clif_skill_failed will print out a debug line with the skill_id (since the current null_po does not helps at all to fix it) - Applied TheUltraMage's suggested fixes to the grfio module. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6467 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-03- Kaite, Kaute will now show a skill effect when they trigger.skotlex1-14/+13
- Fusion's cast time reduced to 0. - Knowledge will now only trigger if you logon to the memorized map, not walk into it. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6462 54d463be-8e91-2dee-dedb-b68131a5f0ec