Age | Commit message (Collapse) | Author | Files | Lines |
|
- Expanded status_calc_misc so it may also calculate the batk of characters as well as their regen data (if they have it)
- Fixed a memory leak when using charsave_method:1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8576 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Modified SC_DANCING so that val1 can contain both skill id and skill lv, removed SC_MOONLIT
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8526 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8518 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8402 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
and skill-heal is handled by this structure, while sitting-skill-heal is still player dependant (mostly because the other object types can't sit)
- Added SCB_REGEN constant to identify status changes which alter regeneration
- Modified SC_REGENERATION so that if val4 is set, the status actually blocks regen rather than increase it, this is what now Frenzy uses instead of "canregen_tick"
- Cleaned up the status calc code for homun by moving it from status_calc_bl_sub_homun to status_calc_homun (where it should had always been)
- Moved the Fleet watk code to status_calc_watk where it belongs.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8334 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
change to 0 due to sprite issues. Currently only NJ_BUNSINJYUTSU's status uses it.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8293 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
does not exists or is in another map or there's a obstacle on the way)
- Corrected skill_attack_area hitting dead characters on it's splash range.
- Swapped the values for OPTION_XMAS and OPTION_FLYING. This should enable SG to show the fly animation again, even if sometimes others will see him as Santa. As for xmas cloth, it shouldn't make much of a difference since the view class is changed to christmas anyway.
- Moved the AM_CALLHOMUN code from castend_id to castend_pos.
- Made AM_CALLHOMUN and AM_RESURRECTHOMUN be like the wedding skills, where they automatically pick a spot around you.
- Cleaned up some the AM_RESURRECTHOMUN code. Hopefully it works now.
- Cleaned up some the hom evolution code.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8292 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
http://gpegon.free.fr/ea/ninja_08-07-06_mpeg.txt
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8160 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
has that fist icon now.
- Allowed chase-walk to display a skill animation when using it.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8115 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- GS_DESPERADO is now a short-range attack skill.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8114 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
str bonus).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8113 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8112 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8110 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added @ command `charspeed`
- Fixed @jailfor using MAP_PRONTERA as jail instead of MAP_JAIL
- Removed case for GS_SPREADATTACK on damage packets to see if the skill displays correctly now.
- Corrected Deluge/Volcano/V. Gale overlaps so that the placing tiles are removed, NOT the ones who were already placed.
- Made SC_SPEEDUP0 and SC_SPEEDUP1 use different icon IDs, to fix icon-confusion when both are enabled at a time.
- Mob rude-attacked count is not reset now on picking a new char (gotta investigate this further)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8096 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8068 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8048 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
skills. Modified battle_calc_damage so that even Pressure and similar skills will be affected by this setting.
- Removed SC_LANDPROTECTOR as it wasn't being used by anything.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7982 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
will be updated accordingly (and if you set it to 0, the guardian is killed)
- Added functions status_set_hp/status_set_sp to set hp/sp to a given value. Applied usage of these on the Berserk and Soul Change code.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7922 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added battle setting homun_critical_rate (defaults to 0)
- Removed enemy_str/pet_str/enemy_perfect_flee and replaced them with
- enable_perfect_flee which specifies which objects can have perfect flee and enable_baseatk which specifies which objects can have a base attack value (both in battle.conf)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7752 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
targetted at party/guild members if the appropiate inf2 value is set.
- Added the SC_JAIL code for timed jailing, but the related @ commands ain't in yet.
- Added checks to make adding items to inventory/cart fail when a char is in finalsave state.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7751 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7727 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7706 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added status_check_visibility to check if an object is within range of view of another. Nothing more, nothing less. It's used by unit movement to check whether you can continue chasing your target or not when the "chase target" directive is given.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7582 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
really ARE the same value clientside! (totally stupid), therefore I've opted from removing the flying animation since it really just displays as Xmas for others (and the correct fix involves adding a bunch of class-change packets...)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7270 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
options.
- Added back OPTION_XMAS, but the actual value is missing!
- Corrected chrif_save so that the player is not set offline on map-change.
- Added change-look support in pc_setoption when specifying OPTION_XMAS
- Fixed clif_parse_RemoveOption removing all options instead of just Falcon/Cart/Peco
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7183 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
Homunculus.
- Added support for reading correctly status change data from Guild and Homun skills.
- Added support for reading Homun skill data (which means the HM skills are now safe to add to skill_db, skill_require_db, etc)
- Moved StatusSkillChangeTable to StatusSkillChangeTableArray and made a function called StatusSkillChangeTable to do the conversions taking into account HM/GD skills.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7128 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
group->count
- Added SC_INCDEXRATE/SC_INCAGIRATE. NPC_POWERUP/NPC_AGIUP now correctly increase dex/agi by 40% per level.
- Fixed char-sql server not deleting character variables
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6984 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added define OPTION_CART which holds the 5 cart option values.
- Corrected pc_setoption to invoke status_calc_pc when getting/removing the cart.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6914 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
|
|
will invoke each other as needed when the passed values are negative.
- Updated battle_calc_attack to set atk type to ATK_FLEE and dmotion to 0 when the damage is less than 1 (missed or absorbed)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6832 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Optimized a bit the SC_PROVOKE code (to use val3/val4)
- Fixed draining when the amount drained is negative (invoke zap rather than heal)
- Implemented GS_FLING as per the current skill description.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6819 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Removed unused checks for unsigned data type and possible logic error for char type (gcc treats char as unsigned).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6814 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
(it doesn't handles player respawning, though)
- Corrected alive, raisemap, raiseall to use these functions.
- Updated resurrection/mob-kaizel to use status_revive
- Added SC_BLADESTOP to the skill enum at the beginning of status.c (fixes Bladestop causing an unknown status change message)
- Fixed MSS_DEAD state skills not triggering.
- Corrected some compilation warnings on the merc.* files.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6807 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@6684 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added back SC_XMAS to status.c (how was it... lost?)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6550 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
flag. If the flag is 1, the option is added to what the player currently has; likewise using flag 2 removes only that option. No flag (or any other value) is the older behaviour of removing all other options and setting specificly what is passed.
- Updated script_commands information for setoption due to this change.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6538 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
(even if there's no other TK around).
- Renamed SC_TKDORI to SC_TKREST (makes more sense if you ask me)
- Added battle config settings view_range_rate and chase_range_rate to adjust the view-range and chase-range (range2/range3) of the mob_db without having to manually change them.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6490 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added a temporary SI_RUN state. Actual value needs to be found...
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6469 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
damage accumulates in the time2 interval (500ms by default) after being hit.
- Changed skill_unit_move_unit_group to enable moving of all types of ground-skills except ensembles.
- Modified NPC_STUNATTACK: Max level is 5, stun duration is 1+lv seconds.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6466 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added SC_SMA to handle "ready to use SMA" status (rather than SC_COMBO) since it has a visual effect to use.
- Corrected the value of OPTION_FLYING
- Using SG_FUSION ends Soul Linked effect.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6438 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
official.
- Wedding recall skills are now blocked by the nomemo mapflag.
- Skill delay for weapon types is now based on adelay (ASPD) rather than amotion (ASPD/2)
- Removed ending Endure when casting Berserk, may fix the timer mismatch issues.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5963 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
sc_data initialization to the npc structures who were missing them.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5953 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Unified status_remove_buffs/status_remove_debuffs into a single function.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5946 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Cleaned up pc_checkallowskill and moved the Gatling fever check to it.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5912 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
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5775 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- PF_DOUBLECASTING takes effect amotion time after the initial cast instead of amotion*div
- SG_KNOWLEDGE now lasts time1 after you quit a map before it clears out (defaults to 10 mins currently)
- Modified Intravision to modify the status-change packet to specify SI_INTRAVISION instead of cloaking/hiding/chasewalk.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5774 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
(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
|
|
What is SI_MAEMI? Or rather, the icon in i_maemi.tga.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5534 54d463be-8e91-2dee-dedb-b68131a5f0ec
|