summaryrefslogtreecommitdiff
path: root/src/map/unit.c
AgeCommit message (Collapse)AuthorFilesLines
2006-11-17* Fixed potential crash in IRC processing message with '%' using *printf.Lance1-0/+1
* Fixed memory leaking caused by homun_data not freed when removed. * Minor adjustments to sign/unsign in script commands. modified Changelog-Trunk.txt modified src/map/irc.c modified src/map/script.c modified src/map/unit.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9245 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-13- Volcano/Deluge/Violent Gale are now interchangeable, in the sense that as ↵skotlex1-7/+4
long as one of these is out, casting any of the three will not consume gems, and will use the remaining time of the previous one. In turn, Land Protector will now always consume gems on every cast. - Small cleanup in the Land protector code which may fix it not blocking AoE skills. - Fixed the interpretation of "head_dir". Removed setting head_dir to match character direction in the whole code. Now it is only reset to 0 (look forward) when unit_setpos is invoked, or when a character begins walking. Thanks to FlavioJS for figuring out how the client parses the head direction. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9206 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-08- Moved the duel functions to pc.c since they are so totally out of place in ↵skotlex1-4/+16
atcommand.c - Fixed Spider Web not ending when hit by a fireelemental attack. - Cast-time reductions from status changes will not be executed until right before casting, to prevent status changes from ending when attempting to cast and the attempt fails (invalid cells, not enough sp, wrong target, etc, etc) - Added check to prevent Wand of Hermod from seeking for a partner to encore, since the partner is supposed to be the warp. - Moved the duel auto-reject on logout from map_quit to unit_free - Corrected the mob spawn reading code so that the event-name can be up to 50 characters long (which is the actual event length) and so that it can read spaces within them, it will also strip the leading/trailing quotes if you use them so that the event is actually found on mob-death (so you can do stuff like "My NPC::OnDead" as a valid event). - Moved the homunc inherit speed from the master from status_calc_pc to LoadEndAck, since the hom's speed matches that of the master each time the master changes maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9173 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-31- When Kaizel (or super novice rebirth skill) triggers, you get debuffed now.skotlex1-2/+2
- Modified the player_cloak_check_type and monster_cloak_check_type settings. 1 makes it check for walls, 2 makes cloaking NOT end on normal attacks, and 4 makes cloaking NOT end when using skills. The default setting for players is still 1, but for mobs the default has been changed to 4. - Non-players can now use all skills while hidden. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9109 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-20- Fixed Charge Atk being able to go through chasm/pits.skotlex1-11/+11
- Moved the homunculus DB information from the player structure to the homun structure. Modified the homunculus creation packets to hold this information during creation, also, all initial values are handled by the map-server, the char server only assigns it a homun ID. - Removed target_id/attacked_id from homun_data as it wasn't really used. - Codes cleanup (removing of commented code mostly) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9031 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-29- Added a check un unit_run when unit_walktoxy fails. Should fix running ↵skotlex1-1/+15
getting you stuck sometimes when running on diagonals near obstacles. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8900 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-18- High-Jump is usable everywhere now, except that on maps where it ↵skotlex1-0/+3
previously failed, now will just make you jump in place. - Fixed TK_RUN as per packets provided by AuronX. - Corrected Ki Explosion to have range 1 and to take your weapon's element. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8797 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-18- Modified the Asura code (again), hopefully movement sprite issues are ↵skotlex1-1/+1
fixed now git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8793 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-15- Now mobs won't do a distance check to lose their target on every ai ↵skotlex1-1/+1
iteration, but only when they finish walking (unless you set monster_ai&1) - The chase distance before a mob gives up following a player has been increased from view-size (range2) to min-chase (range3). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8773 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-14- Shadow Jump no longer goes over walls.skotlex1-1/+1
- Insignificant cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-14- Corrected Smokie's pet script to use petskillbonus instead of "bonus"skotlex1-2/+1
- Added constant map_flag_gvg2 which tags gvg maps independently of whether woe is on or off. - battle_calc_gvg_damage will be invoked in gvg maps regardless of woe time. - NPC_MENTALBREAKER now zaps matk*lv SP based on observations by Tharis. - md->class_ will be changed on mob-class-change to fix all class-change related bugs. On respawn, the spawn data will be used to revert to the original class. - Improved the pet skillbonus timer for "eternal bonuses" cases where the bonus delay is 0. - Adjusted gvg long damage rate to 80%, magic damage rate to 60% git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8748 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-08- Unified the rest and ganstar paradise code into a single function.skotlex1-2/+1
- Moved the Happy State trigger to the regen function, it now triggers at the same time the SPTIME does. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8681 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-08- Removed sg_miracle_skill_duration, replaced it with ↵skotlex1-1/+3
sg_miracle_skill_min_duration and sg_miracle_skill_max_duration, to specify a range for the duration of the skill. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8679 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-07- Removed the Warmth "stacking" code.skotlex1-0/+21
- Added back the effect of /doridori to skill-SP regen - Implemented a rough version of Angel of the Sun/Moon/Stars, it has a low chance of triggering on doridori-boosted SP-regen events. - Added sg_angel_skill_ratio to specify rate at which the Angel skill triggers. - Added unit_cancel_combo which takes care of ending a combo time and resuming normal attack 'inmediately' - Cleaned up some the SG_HATE code, you can't change hate targets anymore. - Increased duration of Miracle of the Sun/Moon/Stars to one hour. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8664 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-02- SC_REGENERATION's val4 now holds the RGN flag of what is blocked rather ↵skotlex1-0/+2
than blocking all types of regen. - LK_BERSERK will now only block natural regen on state-end. - SC_EXTREMITYFIST/SC_DANCING/SC_EXPLOSIONSPIRITS will only block natural sp regen and not skill regen - SC_REGENERATION blocking will be cancelled on logout now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8600 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-31- Added setting attack_walk_delay which specifies whether a character should ↵skotlex1-1/+3
(or not) be able to move inmediately after starting a normal attack (battle.conf). Defaults to 0 since that's what Aegis uses. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-30- Updated HLIF_CHANGE to work as explained by Tharis -> It now adds 30*lv ↵skotlex1-0/+2
vit and 20*lv int, is dispelled on warp, and can-act delay is 5+5*lv minutes. Hp/Sp is no longer set to 10 after a forced expiration. - Added instant skill unblock in skill_[merc/pc]block_start when the duration passed is less than 1. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8547 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-28- Restructured CG_MOONLIT so that it is a ground effect like the other Encores.skotlex1-4/+4
- 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
2006-08-27* Optional macro MEMSET_TURBO for faster low-level memory initializations.Lance1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-24- Added setting clear_skills_on_warp to specify when a character's ↵skotlex1-1/+5
land-based skills are deleted when the caster changes maps. Defaults to all types. - Should have fixed Brandish Spear not passing the flag to skill_attack, causing it to do miserable damage. - Warp Portal will no longer be removed when caster steps through it (this is left to the new clear_skills_on_warp setting) - Cleaned up status_percent_change to switch equations when the target has high hp to prevent overflows, also it will directly take hp/maxhp when a rate of 100 or higher is passed to prevent calculations. - Traps and Land Elemental fields are no longer automatically removed on map change (handled now by clear_skills_on_warp) - traps_setting &2 no longer does anything (handled now by blah blah) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8469 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-21- Cleaned up some more the regen_data structure, so that skill/sitting-skill ↵skotlex1-6/+0
related data is optional (since only players have it). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-20- Gravitation now only blocks the caster from using potions.skotlex1-15/+16
- Corrected Madness Canceller not letting you walk while the effect lasts. - Splitted yet again ASC_BREAKER into a two-part attack. This time the int-based damage is a MISC type attack, and gets reduced by skills as such. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8392 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-20- Added clif_skill_fail for homunc to skill_castend_id & skill_castend_pos ↵toms1-2/+2
('skill has failed' will may be appear 2 times) - Fixed homunc skill 8016 not considered as homunc skill git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8386 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-19Fixed a possible sigsegv when deleting lif under Mental Changetoms1-1/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8367 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Fixed HLIF_HEAL healing the homunc instead of the mastertoms1-0/+1
- Fixed HLIF_AVOID not increasing walk speed of master git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8355 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Made HLIF_HEAL a self skill that auto-selects target to caster's master.skotlex1-0/+1
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8349 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Added guild_aura (skill.conf) setting so you can specify when it works and ↵skotlex1-1/+5
if it works on the guild-master itself. Defaults to working all the time on everyone except GM. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8342 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Little code cleanuptoms1-3/+3
- Cleaned merc_hom_evolution to avoid free'ing/realloc'ing - Fixed "args of aFree is freed pointer" on Homunc deletion git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8341 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Changed unit_free so that it receives which cleartype should be used when ↵skotlex1-5/+5
the character is still on a map. Used this on status_damage so that mobs that do not respawn when killed will properly display the death animation. - Should have fixed the signed/unsigned comparison warnings in the main regen function. - Fixed Energy Coat consuming 10x less SP per hit than it should. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8339 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Applied use of structure regen_data for a unified regen module. Natural ↵skotlex1-1/+0
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
2006-08-16- @produce now can make any kind of equipmentskotlex1-9/+0
- Fixed a warning on the mob_ai - Made HLIF_AVOID and HAMI_DEFENCE cause the status change on both caster and target. - AM_REST shouldn't be checking for a range now (since it's a self skill) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8318 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15- Moved the deletion of timers from unit_remove_map to the homun ↵skotlex1-2/+0
vaporize/dead routines since unit_remove_map is also invoked whenever you warp or change maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8309 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15Homunc Timers should be disabled when the homunc is vaporized or dead an ↵toms1-0/+2
re-enabled on call/resu git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8305 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15- Cleaned up some of the pet related @/# commands, same for some script ↵skotlex1-13/+9
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8301 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-15Fixed SIGSEGV with homunc savetoms1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8288 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-14- Sacrifice no longer shows damage to self.skotlex1-30/+31
- When Asura fails, the skill display will still come off. - Cleaned up AM_CALLHOMUN so that the required item is specified on skill_require_db - Cleaned up function merc_call_homun and added function merc_hom_vaporize to handle the respective cases. - Cleaned up a bit unit_remove_map/unit_free on regards to homun. it will display the /sob emotion when the homun dies due to low intimacy. Moved removal of timers and all that to unit_free - Cleaned up function merc_hom_dead - Simplified lots of code around by using the new merc functions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8279 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-10Code cleanup on homunc, they stay in memory until player disconnect or ↵toms1-10/+24
homunc destruction git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8241 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-08- Fixed yet again AS_SPLASHER doing full damage on all characters. Now you ↵skotlex1-0/+10
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8185 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-07- Cleaned up the Asura code so that when the skill fails your ↵skotlex1-0/+2
SP/Spheres/Fury are all taken away always, as well as moving you next to the target (as long as the target still exists within a reachable path from your position) - SC_GUILDAURA is now removed on logout. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8175 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-04- Removed settings enemy_critical_rate, homun_critical_rate. Added settings ↵skotlex1-1/+3
enable_critical (defaults to specify only players), mob_critical_rate and critical_rate. The last applies to all non-mobs and non-players (battle/battle.conf) - Removed settings mob_npc_warp, mob_warpportal. Replaced with setting mob_warp which specifies which types of warp can a mob step into (battle/monster.conf) - Updated status_calc_misc so that it also handles the BL_PC case, removed redundant info from status_calc_pc, and moving the SNovice Max Hp bonus to status_base_pc_maxhp git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8135 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-03- GAHH, I am sick tired of typing TBL_HOMUNCULUS/BL_HOMUNCULUS all over the ↵skotlex1-2/+2
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
2006-08-02- Added a check in the walking code when triggering skills. ↵skotlex1-3/+8
NPC_SELFDESTRUCTION will no longer cancel walking, it will instead resend the walk packet, this effectively causes the mob to start walking (clientside) while the cast-bar is showing. - Updated the mob skills so that the marine sphere casts self-destruction with 3 second cast after it starts walking. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8079 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-02- Rewrote pc_payzeny to not use doubles, it may more accurately prevent ↵skotlex1-2/+3
charging a player more zeny than they can withhold. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8072 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-02- Recoded the GuildAura code to use val3 & val4, allowing much greater stat ↵skotlex1-7/+7
bonuses (in case someone wants to get Guild Skill level 20 or something crazy like that) - Fixed compilation error... git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8053 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-02- Updated battle_check_target so that all alchemist summoned mobs can be ↵skotlex1-1/+1
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
2006-08-02- Fixed NPC_SELFDESTRUCTION damaging yourself, causing the source to be ↵skotlex1-5/+2
knocked back, as well as making others in the splash damage not receive any damage if they are hurt after the caster. - Fixed NPC_RUN not setting the mob's state to MSS_WALK (normally not set by the mob ai) - unit_walktoxy flag&2 setting will now also ignore unit_can_move, for a forced walk. - Adjusted NPC_RUN level of Marine Spheres (5->7 cells) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8044 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-01- Made Deluge/volcano/v. gale be castable on top of each other againskotlex1-3/+6
- Modified unit_walktoxy and NPC_RUN to enable running even when the caster does not has the MD_CANMOVE bit on. - PF_MINDBREAKER will now silently fail if you try to use it on someone who already has the status active. - Cleaned up yet again skill_landprotector, now new cells of Deluge/Volcano/V.Gale will delete previous cells when they are recasted on top of each other. - Summoned Marine Spheres no longer get the MD_CANMOVE bit. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8039 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-01- Modified Self Destruction, so that Marine Spheres in non-versus maps will ↵skotlex1-1/+26
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8033 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-31Merged mpeg's fix on ninja skillstoms1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8012 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-29- Some small bug fixes discovered while merging.skotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7961 54d463be-8e91-2dee-dedb-b68131a5f0ec