summaryrefslogtreecommitdiff
path: root/src/map/pc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.cpp')
-rw-r--r--src/map/pc.cpp30
1 files changed, 6 insertions, 24 deletions
diff --git a/src/map/pc.cpp b/src/map/pc.cpp
index d427ab9..6c2f673 100644
--- a/src/map/pc.cpp
+++ b/src/map/pc.cpp
@@ -130,7 +130,7 @@ earray<interval_t, ItemLook, ItemLook::COUNT> aspd_base_0 //=
650_ms, // 0 NONE
700_ms, // 1 BLADE or some other common weapons
750_ms, // 2
-610_ms, // 3 SETZER_AND_SCYTHE
+600_ms, // 3 SETZER_AND_SCYTHE
2000_ms, // 4
2000_ms, // 5
800_ms, // 6 Falchion
@@ -792,7 +792,7 @@ void pc_set_attack_info(dumb_ptr<map_session_data> sd, interval_t speed, int ran
}
else
{
- pc_calcstatus(sd, 9);
+ sd->aspd = speed;
clif_updatestatus(sd, SP::ASPD);
clif_updatestatus(sd, SP::ATTACKRANGE);
}
@@ -1085,12 +1085,6 @@ void pc_set_weapon_look(dumb_ptr<map_session_data> sd)
* When first==0, the parameter to be calculated is from before the call
* If it changes, it will automatically send it,
* Actively changed parameters should be send on their own
- *
- * First is a bitmask
- * &1 = ?
- * &2 = ?
- * &4 = ?
- * &8 = magic override
*------------------------------------------
*/
int pc_calcstatus(dumb_ptr<map_session_data> sd, int first)
@@ -1523,18 +1517,11 @@ int pc_calcstatus(dumb_ptr<map_session_data> sd, int first)
if (sd->speed_rate != 100)
sd->speed = sd->speed * sd->speed_rate / 100;
sd->speed = std::max(sd->speed, 1_ms);
-
- /* Magic speed */
- if (sd->attack_spell_override || first & 8)
- sd->aspd = sd->attack_spell_delay;
-
if (aspd_rate != 100)
sd->aspd = sd->aspd * aspd_rate / 100;
- /* Red Threshold Calculation */
- if (sd->aspd < 300_ms) {
- sd->aspd = 300_ms + ((sd->aspd - 300_ms) * 15 / 20);
- }
+ if (sd->attack_spell_override)
+ sd->aspd = sd->attack_spell_delay;
sd->aspd = std::max(sd->aspd, battle_config.max_aspd);
sd->amotion = sd->aspd;
@@ -2877,7 +2864,7 @@ void pc_attack_timer(TimerData *, tick_t tick, BlockId id)
{"@target_id"_s, static_cast<int32_t>(unwrap<BlockId>(bl->bl_id))},
};
npc_event_do_l(sd->magic_attack, sd->bl_id, arg);
- sd->attackabletime = tick + sd->aspd; // sd->attack_spell_delay
+ sd->attackabletime = tick + sd->attack_spell_delay;
sd->attack_spell_charges--;
if (!sd->attack_spell_charges)
{
@@ -3137,10 +3124,7 @@ int pc_gainexp_reason(dumb_ptr<map_session_data> sd, int base_exp, int job_exp,
}
// Double Xp Weekends
- if (reason != PC_GAINEXP_REASON::SCRIPT)
- base_exp = (base_exp * static_cast<double>(battle_config.base_exp_rate) / 100.);
-
- // Sanitization
+ base_exp = (base_exp * static_cast<double>(battle_config.base_exp_rate) / 100.);
if (base_exp <= 0)
base_exp = 0;
else if (base_exp > 1000000000)
@@ -5631,8 +5615,6 @@ int pc_logout(dumb_ptr<map_session_data> sd) // [fate] Player logs out
#endif
pc_setglobalreg(sd, stringish<VarName>("MAGIC_CAST_TICK"_s), 0);
- npc_event_doall_l(stringish<ScriptLabel>("OnPCLogoutEvent"_s), sd->bl_id, nullptr);
-
MAP_LOG_STATS(sd, "LOGOUT"_fmt);
return 0;
}