diff options
author | Hello TMW <hello@themanaworld.org> | 2024-04-06 01:14:30 +0000 |
---|---|---|
committer | Hello TMW <hello@themanaworld.org> | 2024-04-06 01:14:30 +0000 |
commit | 90754fd121ffaec886c415689031f9ef01ae4972 (patch) | |
tree | 047f645931fdb0715afe784b8bc445743a78a371 /src/map/atcommand.cpp | |
parent | e42f76d0b0f4d2ec3a9008979267311f5246fb22 (diff) | |
parent | ebf078b9fa81142834dc45e22ea661a61c50d17b (diff) | |
download | tmwa-90754fd121ffaec886c415689031f9ef01ae4972.tar.gz tmwa-90754fd121ffaec886c415689031f9ef01ae4972.tar.bz2 tmwa-90754fd121ffaec886c415689031f9ef01ae4972.tar.xz tmwa-90754fd121ffaec886c415689031f9ef01ae4972.zip |
Merge branch tmwa:master into master
Diffstat (limited to 'src/map/atcommand.cpp')
-rw-r--r-- | src/map/atcommand.cpp | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp index f5ca72d..eaefd4f 100644 --- a/src/map/atcommand.cpp +++ b/src/map/atcommand.cpp @@ -1270,7 +1270,7 @@ ATCE atcommand_option(Session *s, dumb_ptr<map_session_data> sd, sd->status.option = param3; clif_changeoption(sd); - pc_calcstatus(sd, 0); + pc_calcstatus(sd, (int)CalcStatusKind::NORMAL_RECALC); clif_displaymessage(s, "Options changed."_s); return ATCE::OKAY; @@ -1532,7 +1532,7 @@ ATCE atcommand_baselevelup(Session *s, dumb_ptr<map_session_data> sd, clif_updatestatus(sd, SP::BASELEVEL); clif_updatestatus(sd, SP::NEXTBASEEXP); clif_updatestatus(sd, SP::STATUSPOINT); - pc_calcstatus(sd, 0); + pc_calcstatus(sd, (int)CalcStatusKind::NORMAL_RECALC); pc_heal(sd, sd->status.max_hp, sd->status.max_sp); clif_misceffect(sd, 0); clif_displaymessage(s, "Base level raised."_s); @@ -1560,7 +1560,7 @@ ATCE atcommand_baselevelup(Session *s, dumb_ptr<map_session_data> sd, sd->status.base_level += level; clif_updatestatus(sd, SP::BASELEVEL); clif_updatestatus(sd, SP::NEXTBASEEXP); - pc_calcstatus(sd, 0); + pc_calcstatus(sd, (int)CalcStatusKind::NORMAL_RECALC); clif_displaymessage(s, "Base level lowered."_s); } @@ -1595,7 +1595,7 @@ ATCE atcommand_joblevelup(Session *s, dumb_ptr<map_session_data> sd, clif_updatestatus(sd, SP::NEXTJOBEXP); sd->status.skill_point += level; clif_updatestatus(sd, SP::SKILLPOINT); - pc_calcstatus(sd, 0); + pc_calcstatus(sd, (int)CalcStatusKind::NORMAL_RECALC); clif_misceffect(sd, 1); clif_displaymessage(s, "Job level raised."_s); } @@ -1620,7 +1620,7 @@ ATCE atcommand_joblevelup(Session *s, dumb_ptr<map_session_data> sd, clif_updatestatus(sd, SP::SKILLPOINT); } // to add: remove status points from skills - pc_calcstatus(sd, 0); + pc_calcstatus(sd, (int)CalcStatusKind::NORMAL_RECALC); clif_displaymessage(s, "Job level lowered."_s); } @@ -1852,8 +1852,8 @@ ATCE atcommand_mobinfo(Session *s, dumb_ptr<map_session_data> sd, clif_displaymessage(s, STRPRINTF("Monster ID: %i, English Name: %s, Japanese Name: %s"_fmt, mob_id, get_mob_db(mob_id).name, get_mob_db(mob_id).jname)); clif_displaymessage(s, STRPRINTF("Level: %i, HP: %i, SP: %i, Base EXP: %i, JEXP: %i"_fmt, get_mob_db(mob_id).lv, get_mob_db(mob_id).max_hp, get_mob_db(mob_id).max_sp, get_mob_db(mob_id).base_exp, get_mob_db(mob_id).job_exp)); - clif_displaymessage(s, STRPRINTF("Range1: %i, ATK1: %i, ATK2: %i, DEF: %i, MDEF: %i"_fmt, get_mob_db(mob_id).range, get_mob_db(mob_id).atk1, get_mob_db(mob_id).atk2, get_mob_db(mob_id).def, get_mob_db(mob_id).mdef)); - clif_displaymessage(s, STRPRINTF("Stats: STR: %i, AGI: %i, VIT: %i, INT: %i, DEX:, %i LUK:, %i"_fmt, get_mob_db(mob_id).attrs[ATTR::STR], get_mob_db(mob_id).attrs[ATTR::AGI], get_mob_db(mob_id).attrs[ATTR::VIT], get_mob_db(mob_id).attrs[ATTR::INT], get_mob_db(mob_id).attrs[ATTR::DEX], get_mob_db(mob_id).attrs[ATTR::LUK])); + clif_displaymessage(s, STRPRINTF("Range1: %i, ATK1: %i, ATK2: %i, DEF: %i, MDEF: %i, CRITICAL_DEF: %i"_fmt, get_mob_db(mob_id).range, get_mob_db(mob_id).atk1, get_mob_db(mob_id).atk2, get_mob_db(mob_id).def, get_mob_db(mob_id).mdef, get_mob_db(mob_id).critical_def)); + clif_displaymessage(s, STRPRINTF("Stats: STR: %i, AGI: %i, VIT: %i, INT: %i, DEX: %i, LUK: %i"_fmt, get_mob_db(mob_id).attrs[ATTR::STR], get_mob_db(mob_id).attrs[ATTR::AGI], get_mob_db(mob_id).attrs[ATTR::VIT], get_mob_db(mob_id).attrs[ATTR::INT], get_mob_db(mob_id).attrs[ATTR::DEX], get_mob_db(mob_id).attrs[ATTR::LUK])); clif_displaymessage(s, STRPRINTF("Range2: %i, Range3: %i, Scale: %i, Race: %i, Element: %i, Element Level: %i, Mode: %i"_fmt, get_mob_db(mob_id).range2, get_mob_db(mob_id).range3, get_mob_db(mob_id).size, get_mob_db(mob_id).race, get_mob_db(mob_id).element.element, get_mob_db(mob_id).element.level, get_mob_db(mob_id).mode)); clif_displaymessage(s, STRPRINTF("Speed: %i, Adelay: %i, Amotion: %i, Dmotion: %i"_fmt, get_mob_db(mob_id).speed.count(), get_mob_db(mob_id).adelay.count(), get_mob_db(mob_id).amotion.count(), get_mob_db(mob_id).dmotion.count())); if (get_mob_db(mob_id).mutations_nr) @@ -1922,7 +1922,7 @@ ATCE atcommand_mobinfo(Session *s, dumb_ptr<map_session_data> sd, str[strpos] = '\0'; int drop_rate2 = 10000/drop_rate; - clif_displaymessage(s, STRPRINTF("Drop ID %i: %i, Item Name: %s, Drop Chance: %s%% (1:%i)"_fmt,i+1, get_mob_db(mob_id).dropitem[i].nameid, item_name, str, drop_rate2)); + clif_displaymessage(s, STRPRINTF("Drop ID %i: %i, Item Name: %s, Drop Chance: %s%% (1:%i)"_fmt,i, get_mob_db(mob_id).dropitem[i].nameid, item_name, str, drop_rate2)); } else break; @@ -2283,7 +2283,7 @@ ATCE atcommand_param(Session *s, dumb_ptr<map_session_data> sd, sd->status.attrs[attr] = new_value; clif_updatestatus(sd, attr_to_sp(attr)); clif_updatestatus(sd, attr_to_usp(attr)); - pc_calcstatus(sd, 0); + pc_calcstatus(sd, (int)CalcStatusKind::NORMAL_RECALC); clif_displaymessage(s, "Stat changed."_s); } else @@ -2318,7 +2318,7 @@ ATCE atcommand_all_stats(Session *s, dumb_ptr<map_session_data> sd, sd->status.attrs[attr] = new_value; clif_updatestatus(sd, attr_to_sp(attr)); clif_updatestatus(sd, attr_to_usp(attr)); - pc_calcstatus(sd, 0); + pc_calcstatus(sd, (int)CalcStatusKind::NORMAL_RECALC); count++; } } @@ -2570,12 +2570,23 @@ ATCE atcommand_character_stats_full(Session *s, dumb_ptr<map_session_data>, clif_displaymessage(s, output); output = STRPRINTF("PERFECT_HIT_RATE: %d | PERFECT_HIT_ADD_RATE: %d | CRITICAL: %d | CRITICAL_RATE: %d | HIT: %d | HIT_RATE: %d"_fmt, pl_sd->perfect_hit, - pl_sd->perfect_hit_add, + pl_sd->perfect_hit_add_rate, pl_sd->critical, pl_sd->critical_rate, pl_sd->hit, pl_sd->hit_rate); clif_displaymessage(s, output); + output = STRPRINTF("DEADLY_STRIKE_RATE: %d | DEADLY_STRIKE_ADD_RATE: %d | BASE_WEAPON_DELAY_ADJUST: %d"_fmt, + pl_sd->deadly_strike, + pl_sd->deadly_strike_add_rate, + pl_sd->base_weapon_delay_adjust.count()); + clif_displaymessage(s, output); + output = STRPRINTF("arrow_atk: %d | arrow_cri: %d | arrow_hit: %d | arrow_range: %d"_fmt, + pl_sd->arrow_atk, + pl_sd->arrow_cri, + pl_sd->arrow_hit, + pl_sd->arrow_range); + clif_displaymessage(s, output); output = STRPRINTF("HP_DRAIN_RATE: %d | HP_DRAIN_RATE per: %d | SP_DRAIN_RATE: %d | SP_DRAIN_RATE per: %d"_fmt, pl_sd->hp_drain_rate, pl_sd->hp_drain_per, @@ -2671,7 +2682,7 @@ ATCE atcommand_character_option(Session *s, dumb_ptr<map_session_data> sd, pl_sd->status.option = opt3; clif_changeoption(pl_sd); - pc_calcstatus(pl_sd, 0); + pc_calcstatus(pl_sd, (int)CalcStatusKind::NORMAL_RECALC); clif_displaymessage(s, "Character's options changed."_s); } else @@ -2993,7 +3004,7 @@ ATCE atcommand_character_baselevel(Session *s, dumb_ptr<map_session_data> sd, clif_updatestatus(pl_sd, SP::BASELEVEL); clif_updatestatus(pl_sd, SP::NEXTBASEEXP); clif_updatestatus(pl_sd, SP::STATUSPOINT); - pc_calcstatus(pl_sd, 0); + pc_calcstatus(pl_sd, (int)CalcStatusKind::NORMAL_RECALC); pc_heal(pl_sd, pl_sd->status.max_hp, pl_sd->status.max_sp); clif_misceffect(pl_sd, 0); clif_displaymessage(s, "Character's base level raised."_s); @@ -3023,7 +3034,7 @@ ATCE atcommand_character_baselevel(Session *s, dumb_ptr<map_session_data> sd, clif_updatestatus(pl_sd, SP::BASELEVEL); clif_updatestatus(pl_sd, SP::NEXTBASEEXP); clif_updatestatus(pl_sd, SP::BASEEXP); - pc_calcstatus(pl_sd, 0); + pc_calcstatus(pl_sd, (int)CalcStatusKind::NORMAL_RECALC); clif_displaymessage(s, "Character's base level lowered."_s); } // Reset their stat points to prevent extra points from stacking @@ -3077,7 +3088,7 @@ ATCE atcommand_character_joblevel(Session *s, dumb_ptr<map_session_data> sd, clif_updatestatus(pl_sd, SP::NEXTJOBEXP); pl_sd->status.skill_point += level; clif_updatestatus(pl_sd, SP::SKILLPOINT); - pc_calcstatus(pl_sd, 0); + pc_calcstatus(pl_sd, (int)CalcStatusKind::NORMAL_RECALC); clif_misceffect(pl_sd, 1); clif_displaymessage(s, "character's job level raised."_s); } @@ -3101,7 +3112,7 @@ ATCE atcommand_character_joblevel(Session *s, dumb_ptr<map_session_data> sd, clif_updatestatus(pl_sd, SP::SKILLPOINT); } // to add: remove status points from skills - pc_calcstatus(pl_sd, 0); + pc_calcstatus(pl_sd, (int)CalcStatusKind::NORMAL_RECALC); clif_displaymessage(s, "Character's job level lowered."_s); } } @@ -3584,7 +3595,7 @@ ATCE atcommand_char_wipe(Session *s, dumb_ptr<map_session_data> sd, pc_additem(pl_sd, &item, 1); // Reset stats and skills - pc_calcstatus(pl_sd, 0); + pc_calcstatus(pl_sd, (int)CalcStatusKind::NORMAL_RECALC); pc_resetstate(pl_sd); pc_resetskill(pl_sd); pc_setglobalreg(pl_sd, stringish<VarName>("MAGIC_FLAGS"_s), 0); |