Age | Commit message (Collapse) | Author | Files | Lines |
|
- Fixed crash when non-players use ZenyNage. Added the correct Zeny check in skill_check_condition, fixed the skill so that it's damage is based on whatever zeny is specified in skill_require_db.
- Can-act delay will not be reset when warping now.
- Fixed Quagmire not altering walking-speed.
- Silence now blocks skills both on begin/end casting.
- Updated status_calc_bl so that when walking speed changes, the character is made to rewalk so that the new speed takes effect inmediately.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7264 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Cleaned up Custom Mob Script Callback codes. Looks much better now :B.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7202 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Some minor code cleanups.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7162 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
and the like.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7134 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
should (false when the range is correct and viceversa)
- SL_STIN/SL_STUN have dex-reducable casting times now.
- Added a warning on item loading when an item is of equippable type but has no equippable position.
- Turning an alliance to an opposition won't work now during WoE
- Slaves can summon other mobs now. The only ones who can't do this are player summoned mobs.
- Merged the following functions for faster processing of items:
clif_storageitemlist + clif_storageequiplist = clif_storagelist
clif_guildstorageitemlist + clif_guildstorageequiplist = clif_guildstoragelist
clif_itemlist + clif_equiplist = clif_inventorylist
- Increased max knockback value support to 25.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7109 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Modified npc_click to receive the bl that was clicked directly. Also cleaned it up so it isn't as easy to crash the server with invalid ids <.<
- Moved npc_checknear to npc_checknear2 and added npc_checknear. The near version receives a bl, checks it's validity, and returns a TBL_NPC object, near2 does the same but doesn't checks for type NPC. The first returns a pointer, the second returns 1 on fail, 0 success.
- Also uncommented various npc_checknear calls in the code, who's idea was to comment them out so you could exploit npcs from afar with custom packets?
- Added overflow checks for bonus settings mdef_rate/def_rate.
- Added missing update of INT after a buf.
- Small cleanup of how SC_BLEEDING works.
- Fixed party_foreach_samemap invoking the function on the CASTER instead of on the party members.
- Added clif_parse_ActionRequest_sub to handle player commands, is used from npc_click or any other function that needs to "re-route" a player's request.
- Modified clif_parse_NpcClicked to handle the different situations with different bl-objects (attack on players/mobs, click on npcs or mobs with npc attached)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7103 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
warped between maps when stepping on a npc-warp.
- Added monster_ai setting &64, when enabled makes a mob run to any nearby npc-warp when their current target has switched maps.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7039 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Fixed quitting the map server not properly saving the storage before deleting it.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7030 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added a missing status_calc_mob on mob_spawn_guardian_sub
- Added clif_fixpos packets before attacking for the first time to clear any position sync issues with the client.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6985 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
is near obstacles.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6950 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- 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
|
|
- AL_TELEPORT will fail when used by slave mobs.
- Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable attacks.
- slaves inherit speed setting will now work regardless of whether the slave or master has the MD_CANMOVE mode bit.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6865 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Visual Studio .NET 2003 includes for mercenary.c
* [Fixed]
- Logic error in NPC custom AI in unit.c
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6853 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
corresponding *_dead functions. unit_remove_map should never assume the char died, it is just a "remove from map" function.
- Updated status_damage to handle the general death code (clearing status changes, clearing skill related data, sending death packet, etc). The return value from the *_dead functions will tell it what to do or not with the object (death aborted, clear it from map/memory, etc)
- Cleaned up pc_dead to take advantage of the fact that status changes are not ended until after the function.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6852 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- 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
|
|
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
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6779 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Improved and (should be fully) fixed the mob control engine.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6769 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Fixed memory leak in scripts (again). Still have a few lying.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6749 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added a missing line (how did it get lost?) in mob_spawn to set aggressive state for angry mobs.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6731 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Fixed warp-portal being unusable if it was invoked through an item script.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6522 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
will not have any walk delay.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6486 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6478 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Allowed SG_FEEL memorizing the same map for all three.
- SC_FUSION won't end when you die now.
- Added knockback when you run into a wall during running. However position is not being refreshed on the client yet...
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6443 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
flag 1 (fix pos) rather than none. Should fix some skills making you appear moving while doing them.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6336 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6330 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added a timer in clif.c so that walk requests that are done while your cannot move duration will be delayed and processed afterwards (as long as the walk delay remaining is less than 2000 ms)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6329 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
I forgot to apply the fix to trunk)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6306 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Idle skills will now trigger each IDLE_SKILL_INTERVAL iterations (10 currently)
- Added support for walk packet 0x22c (disabled currently as it's non-walk packet equivalent is yet missing), it will be used when PACKETVER is set to 7 or above.
- Normal walking will now also trigger mob skills (due to the walk skill condition)
- Updated mob_skill_db: all idle and walk skills had their rate go up x10.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6245 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Implemented NPC_INVISIBLE, it starts SC_CLOAKING with val4 set to 1, skill duration is 30 secs.
- Moved uncloaking on attack from attack_timer_sub to battle_calc_weapon_attack.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6223 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
unit_attack_timer, now when you want to walk during your attack animation, you will only stop attacking, you will have to click again to move.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6185 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
the applicable battle setting is set. It is now also invoked in unit_free.
- Changed setting clear_unit_ondeath to a type 4 (bl-based) which defaults to BL_ALL.
- Fixed Absorb spirit sphere not working on mobs, thanks to Vividd.
- Cleared the ud->target on pc_stop_attack to prevent attack resuming an other such oddities.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6145 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6139 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
characters (saves having to get the sc data and check for the corresponding timer all the time)
- removed pc_run, pc_walktodir, replaced with unit_run.
- moved the code that makes you walk that extra cell to unit_stop_walking, which is now invoked before resetting the walk-target.
- Flag &2 in unit_stop_walking is now to make the character force-move that extra tile if the walkpath pos is 0 at hit time.
- Added variable walk_count to unit_data to be use as a counter for cells walked for walk-triggered skills (walk path_pos is not good enough since it keeps resetting each time the walk path is updated)
- Increased WALK_SKILL_INTERVAL to 5 (it is the closest value that makes the average mob trigger a chase skill every second)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6137 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
generating timer_delete errors when halting as well.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6135 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
which made all walking timers be off by half cell with the actual position displayed client-side.
- Changed the data component of the walktoxy timers to hold the speed (timer interval) so that when you are halted when walking, if you have walked more than half the distance to the next cell, your position is fixed at the next cell.
- If you are halted (damaged) while walking and before reaching the first cell of your walking path, then you are halted at the next cell, this effectively will block stun-lock regardless of aspd of the attacker.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6127 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6102 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
unit_walktoxy, since the previous behaviour makes all slaves always end up on the same cell.
- Changed some function declarations to take x,y arguments as short rather than int.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6024 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
the passed on damage-delay.
- Changed battle_damage to accept the walk-delay as well.
- Removed the walk-delay timers from unit.c, merged them to battle_delay_damage.
- Traps will not be displayed when you walk within their range.
- Added HT_DETECTING revealing traps.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5997 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5995 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
chaserange is specified to prevent possible infinite loops where attack_timer says you are not within range, but unit_walktoxy says you are.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5987 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
simplified the mob and pet ai routines.
- Simplified the walk routines to half the number of timers required for walking.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5982 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
optimizations... but the current code-base should be usable.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5981 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5980 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
chasing and attacking a character. Note that it's a work in progress and not yet properly tested/finished...
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5979 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- unit_free will now use clear type 3 for players (warping out effect)
- You can't invite someone to a guild now within Guild Castles.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5945 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
(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
|
|
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
|
|
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
|
|
- Added a check to prevent knocking back the Emperium at all costs.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5792 54d463be-8e91-2dee-dedb-b68131a5f0ec
|