summaryrefslogtreecommitdiff
path: root/src/map/mob.c
AgeCommit message (Collapse)AuthorFilesLines
2006-04-03- Modified Rude-Attacked behaviour so that such skills only triggers when ↵skotlex1-3/+17
the rude-attacked count is greater than 3. - Added config setting slaves_inherit_mode to determine whether slaves take on their master's aggressive/passive status (defaults to yes) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5890 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-04-03- Cleaned up (fixed?) a possible overflow in pc_isUseitem, thanks to foobar.skotlex1-1/+1
- When you have the wrong ammo-type equipped the skill-failed message is now "skill can't be used with this weapon", which is less misleading than "please equip arrows first". - Corrected pet-equipment display (I originally assumed they went in the shield view-position, when they actually go in the head-bottom position). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5883 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-04-02- Added a missing memset on ers_alloc'ing mob loot which was making data ↵skotlex1-0/+1
from looted items fill in normal drop info. - Some more work on the display of Brandish Spear... git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5871 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-04-01- Fixes to the mob_ai routines. Prevent casting rude-attacked skills in ↵skotlex1-9/+16
situations that shouldn't be considered as so. Fixed mobs failing to chase after enemies when range-attacked out of their view_range. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5848 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-04-01- Added structure view_data to handle sprite information for all characters ↵skotlex1-75/+36
(equipment, weapons, hair, dyes, etc). Unified a bunch of clif functions now that you only need to handle the view_data (so instead of clif_spawn[pc/mob/npc/pet] you just have clif_spawn) - Fixed the clif_change_class packet (it should check for non players classes, not a class above MAX_PC_CLASS), it fixes morphing enemies. - Rewrote the way cloth dye packets are resent to optimize bandwidth usage. - Fixed the npc_item_flag thing (enable_items/disable_items script command) - Rewrote the disguise implementation to be bandwidth friendly. - Modified the hide options to change your class to INVISIBLE_CLASS, since such classes don't even get their view packets sent around. - Rewrote several clif functions to adapt to the new view_data class; - Added class 139 to npcdb_checkid which was required by some npcs in the swordman quest? o.O git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5833 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-30- the auth function in login.c won't jstrescapecpy passwords that were ↵skotlex1-4/+4
encrypted. - Moved the Endure and Gravitation sc ends to battle_damage from pc_damage. - Endure level 11 and above are now considered infinite-endure. - Set the minimum pet hungry delay to 10 - modified function skill_delayfix to only receive skill/lv, actual time is now always acquired from skill_get_delay. It also now will never return a value below min_skill_delay_limit. - Modified brandish spear so you won't see the skill-animation for every targetted mob. Also cleaned it up to use map_foreachincell calls. - splitted skill_cast_fix into skill_cast_fix and skill_cast_fix_sc, the first does cast adjustments based on dex and server settings, the later only based on sc changes. Mobs use the later while everyone else use the former (which invokes the later when appropiate) - Added the Steel Body icon to auto-berserk. - Now you can't cast auto-counter while the previous one is active. - For the duration of Berserk, infinite-endure is activated. - Added Veider's suggestion to do a hack-report when players request the name of an invisible/cloaked character. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5813 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-29- Applied a fix to not do xs/ys checks on npc_doevent when the npc is not on ↵skotlex1-12/+14
a map. - You can't return to egg a pet that has run away now. - Added ers support to the delayed mob drops. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5800 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-29- Some cleaning of the mob_ai. Mobs should stop chasing once you are beyond ↵skotlex1-32/+40
their min_chase range. Improved rude-attacked checking when mobs can't move. - range3 is now used as min-chase value of mobs. - Added a debug message when status_change_timer fails. - Fixed tick direct modifications increasing duration instead of decreasing it. - Fixed inf2 of Jump-Kick to make it a "combo-skill" so that it may do a BCT_ENEMY check. - When sd->state.skill_flag is set, auto-targetting through combo-skills is disabled. - You can't SG_FEEL maps already memorized. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5796 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-28- Fixed summon mobs being able to cast "summon" skills.skotlex1-0/+2
- Summoned mobs will inherit the size and ai properties of the master. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5790 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-24- Another mob_summon fix. Slave summoning SHOULD be working now.skotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5735 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-24- Fixed skillidx not being set whenever a mob uses a skill.skotlex1-2/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5734 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-24- Added function map_search_freecell to locate an available cell around an ↵skotlex1-94/+32
area (for recall/warping skills) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5732 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-23- Changed Preserve's cost to 30spskotlex1-1/+1
- Fixed Arrow Shower, UNT_MAGIC_SKILLS was renamed to UNT_ATTACK_SKILLS - Fixed skill_use_pos checking target tile CELL_CHKNOPASS as invalid instead of CELL_CHKNOREACH git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5708 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-22- Merged the unit_data structure from jA for handling unit-related data ↵skotlex1-1450/+394
(attack times, walking, auto-attack timers, skill related data) - Modified unit_skillcastcancel to receive flag&2, which stands for "cancel casting only if current skill is cancellable" - Battle config options changed from yes/no to BL_TYPE settings: skillrange_by_distance, skill_noreiteration, skill_nofootset, gvg_traps_target_all, skill_log, attack_direction_change, auto_counter_type - Clif.c will disconnect sessions that send an unknown command packet above 0x30000 instead of just ignoring it. - Cleaned up/rewrite of the pet ai, same for pet_calc_pos - Implemented use of mob variable attacked_players as it is used on jA - Cleaned up error reporting during mob-skill loading to be less spamy with non-loaded mobs. - Corrected water_height reading. I forgot to give credits to LittleWolf for providing the water-reading function :X git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5707 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-20- Added monster_ai&16 setting for executing the hard ai on ALL mobs in maps ↵skotlex1-11/+19
with players instead of just mobs in the vecinity of players. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5687 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-19* Recoded getmobdata script function. Fixed mob_damage typo sd -> mvp_sd. ↵Lance1-13/+12
Cleanep up confusing indentation in clif.c. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5661 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-17* Fixed misleading and inaccurately documented events and added a missing flag. Lance1-9/+11
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5649 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-17* Another compiler warning...Lance1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5639 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-16* mob_chat_sub fix. Added buildin_pcblockmove. Lance1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5628 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-16* BL_PC and BL_MOB control script commands (experimental).Lance1-3/+15
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5627 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-16- Fixed mob random walk interval being set to up to 6K seconds in some ↵skotlex1-1/+1
instances. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-15- Removed the hardcoded duration of 30seconds for sleep.skotlex1-1/+1
- Fixed rangecheck for pet skill usage of INF_SELF_SKILL - Removed inall/exall from atcommand.conf since those two do not exist! (pointed out by Ancyker) - @me now uses entry 270 in msg_athena as output format. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5615 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-15- Added battle config options item_rate_adddrop, item_drop_add_min and ↵skotlex1-1/+6
item_drop_add_max to control drop rate of card-acquired loot bonuses. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5610 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-14- Fixed WZ_WATERBALL + HW_MAGICPOWERskotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5601 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-12- Updated clone skill copy to consider combo-skills.skotlex1-10/+18
- no_spawn_on_player won't work on mobs with no respawn delays now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-09- Some small cleanups in mob_read_mobavail (or however it is named)skotlex1-3/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5542 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-09- Moved a bunch of sc_effects that should be cancelled on hit from ↵skotlex1-9/+0
mob_damage/pc_damage to battle_damage. - Changed ITEM_NAME_LENGTH to 50. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5533 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-09- Fixed a bug that was making the no_spawn_on_player setting useless.skotlex1-1/+2
- Added Deadly Poison and Bleeding to status_get_sc_def, meaning that now vit does increases defense against being inflicted from it. - Fixed a crash and an infinite loop in @whodrops @.@ - Expanded the item_db column sizes for the names to 50. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5526 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-08- Mobs will now chase you even if you hit them from outside their range of view.skotlex1-7/+13
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5519 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-08- Items now store the top MAX_SEARCH drops from mobs and lists them through ↵skotlex1-6/+26
the new atcommand @whodrops. All merged from my server, of course =D git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5515 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-08- Added functions mobdb_searchname_array and itemdb_searchname_array which ↵skotlex1-0/+33
return an array of matches. - Modified @iteminfo and @mobinfo to search and display various matches instead of just one. - Constant MAX_SEARCH in map.h defines the max size of search results. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5512 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-07- Some corrections due to the guild skill position change.skotlex1-1/+1
- Removed file todo-for-stable as it's impossible to keep it updated :X git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5479 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-06- Fixed a debug message showing up on skill castend nodamage id when using a ↵skotlex1-1/+2
guild skill - Fixed #save not working on maps not in the current map server. - Added battle config clear_skills_on_death to decide whether all ground-based skills should be removed when you die. Defaults to yes. - Changed Magic Crasher's element to -1 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5472 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-04- Fixed missing baby-dancer job in exp2.txtskotlex1-1/+1
- Added function battle_set_walkdelay in charge of updating walkdelays of characters based on two criterias: when the delay is induced by damage, if the current walk delay isn't over yet, do not update it. If the delay is instead caused by a skill, then the current walk delay cannot be decreased, only increased. - Removed the canmove tick reset on skill cast cancel; likewise it isn't updated on begin casting. pc_can_move uses a skilltimer check to know whether you can move or not. - Added GrandCross's can't move delay of 900ms to skill_cast_db - Added Finger Offensive's can't move delay of 200ms/lv to skill_cast_db git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5457 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-03- Added a column in skill_cast_db for specifying can't walk delays.skotlex1-1/+1
- Removed the apply walk-delay entry from skill_cast_nodex - Fixed autoloot dropping the item to the ground even when it was autolooted. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5450 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-03- Small fixes on mob_skill_useskotlex1-3/+9
- slaves inherit speeds will only work if the master can move. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5441 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-02- Some cleanup on mob_can_reach code to prevent unnecessary path-searchingskotlex1-42/+55
- Optimized the path-searching ai for mobs to try target cells around the target in order rather than randomly picked cells. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5434 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-02- Fixed mobs targetting themselves after using a support skill.skotlex1-3/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5427 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-02- Fixed item pickup not picking anything unless you were in a party with ↵skotlex1-1/+3
item distribution set o.O git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5423 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-02- Some cleanup of the mob skill reading. Added error reporting for unknown ↵skotlex1-15/+28
states/conditions, error reporting now specifies the file and line number. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5419 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-01- Turn Undead and Offensive Resurrection should now work on undead players.skotlex1-21/+38
- Fixed the range checking of Repair weapon - Rude attacked is now also triggered when you hit a target that can't move out of their melee attack range. - Mob ai will attempt to do a long-range attacked condition skill before unlocking a target when it is attacked and said target is out of melee range of a non-walking mob. - Corrected mobskill event to set the target_id before triggering. - Moved MSC_SKILLUSED trigger to mobskill_event which is triggered in battle_calc_damage. It is also triggered on skill_castend_nodamage_id - Added party_share_loot for handling party-share loot. it should now work with autoloot as well. - Fixed skill_break_rate breaking stuff even if the rate is 0. - pc_stopwalking will not send a fixpos packet if you are sitting. - mob_can_reach rude-attacked condition now uses the mob's field of view. - SC_NOCHAT is automatically started on pc_authok if manner is negative. - Map server now refuses to start if you try to define a label with the same name as some const.txt defined character parameter. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5414 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-23- Added mob skill conditions myhpinrate and friendhpinrate for using HP ↵skotlex1-17/+26
ranges instead of a fixed "less than" condition. - Added mob_ai condition &16, enables skills that are normally used on 'friends' to also pick up caster as target. - Fixed npc_shopid not being reset to 0 when buying/selling. FIXME: The client sends a packet when you cancel? It is required so that npc_shopid will be cleared and prevent the player from being stuck. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5380 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-22- Added map chk cells types CELL_CHKREACH and CELL_CHKNOREACH, they are the ↵skotlex1-8/+4
same as their PASS/NOPASS equivalents, but will ignore the cell-stacking mod when enabled. - Updated path.c with jA's implementation, which should make long path searching more efficient. - Also added some typedefs from jA for the common structure types (PC/MOB/NPC, etc) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5366 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-21- Vending is now cancelled on a pc_setposskotlex1-1/+4
- Pressure again ignores Basilica. - Fixed attacker's sc being nulled when the target's sc is empty. - Slaves now do a battle_check_target to check if the new target is an enemy when acquired through sd->skilltarget. - Fixed SC_SKE halving defense2 twice. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5355 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-20- Corrected implementation of Gangster Paradise to just prevent mobs from ↵skotlex1-4/+13
targetting you. - Likely fixed Close Confine not unlocking the target when you move/are moved. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5343 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-18* Implemented SG_MIRACLE (Miracle of the Sun, Moon and Stars)Komurka1-1/+3
- duration is stored in battle_config.sg_miracle_skill_duration (currently it's set to 10 minutes) - ratio is stored in battle_config.sg_miracle_skill_ratio (currently it's set to 0.01% chance per character move) - this skill enables you usage of all Warmth skills, Comfort skills, and also all mobs will be target of the Stars regardless of the day and map - you'll see message "[Miracle of the Sun, Moon and Stars]" when skill kicks in git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5323 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-18- Added an alternate path searching method for non-stacking mode.skotlex1-11/+24
- Allowed pc_setpos to place players on top of cells that are stacked in CELL_NOSTACK mode. - Fixed a missing break that was making Heal, Resurrection and some others become attack skills x.x' - Fixed a logic bug in the mob-walk code that was making them get stuck and not move (triggered quite often when the cell no stack mod is enabled) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5320 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-17- Added NK value 3: No damage + area of effect skill (NK_SPLASH_NO_DAMAGE)skotlex1-50/+32
- Removed the double-cast specific code and made it use skill_addtimerskill instead. - Modified party_foreachsamemap so that it returns to addition of the return value of the functions invoked. Type has been changed for "range", when 0, it scans all party members in the map. - Updated most skill/battle code to use map_foreachinrange rather than map_foreachinarea. - map_foreachinrange does not performs an exact range check anymore. However the relevant code is commented and anyone can enable it. - Updated most skills to use skill_get_splash instead of hardcoded ranges. - Added function skill_get_casttype which returns the type of function that should be invoked for that skill: skill_castend_pos, skill_castend_nodamage_id or skill_castend_damage_id. - self skills are sent to skill_castend_nodamage_id regardless of nk (nk should signal if the skill causes damage above everything, it is used on autospell/effects). - Due to the previous change, self skills where the target and src are different, and don't have an nk of no damage, they are sent to castend_damage_id (assumed target auto-selected skills) - Applied the relevant updates to db/skill_db.txt, db/skill_unit_db also got updated, as trap ranges should all be 1, the splash damage range is defined now in skill_db - Cleaned up the implementation of the code related to Gangster's paradise and TK_HP/SPtime git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5313 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-17- Now you can't close-confine and already confined mob.skotlex1-9/+0
- mysql/my_global.h now includes winnt.h under Windows systems... - Updated SC_CLOSECONFINE to store the skill lv in val1 and the amount of locked targets in val2 - Some cleanup of status.c to use StatusSkillChangeTable where appropiate. - Removed the check that prevented mobs from walking into a basilica. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5303 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-02-16- In CELL_NOSTACK mode, mob_canreach will now ignore other players when ↵skotlex1-1/+5
checking if there's a path to the player. - Added RG_RAID to the list of skills that need a status_checkskilluse on skill_attack. - Added the mapflag check monster_noteleport to AL_TELEPORT. - Fixed the sc_def rate not being reduced in status_change_start. - The battle config options sp_rate and hp_rate are now applied independently of the same type of bonuses from cards. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5300 54d463be-8e91-2dee-dedb-b68131a5f0ec