summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-11-09 22:06:14 -0300
committerJesusaves <cpntb1@ymail.com>2022-11-09 22:06:14 -0300
commit1b097707c019a1c9a121998be942a7237a7f3592 (patch)
treea77a38fbb1982d85ada3a1285d5dee24b6765996
parente886d580bbfecb281f97c867b8fe0532985449f7 (diff)
downloadtmwa-1b097707c019a1c9a121998be942a7237a7f3592.tar.gz
tmwa-1b097707c019a1c9a121998be942a7237a7f3592.tar.bz2
tmwa-1b097707c019a1c9a121998be942a7237a7f3592.tar.xz
tmwa-1b097707c019a1c9a121998be942a7237a7f3592.zip
This is the patch for tomorrow. Have fun :3
- Fix the lighting machine gun bug - Fix upmarmu workings - Reduce nerf factor from 11 to 15
-rw-r--r--src/map/pc.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/map/pc.cpp b/src/map/pc.cpp
index 32d6769..d427ab9 100644
--- a/src/map/pc.cpp
+++ b/src/map/pc.cpp
@@ -792,7 +792,7 @@ void pc_set_attack_info(dumb_ptr<map_session_data> sd, interval_t speed, int ran
}
else
{
- sd->aspd = speed; //pc_calcstatus(sd, 1);
+ pc_calcstatus(sd, 9);
clif_updatestatus(sd, SP::ASPD);
clif_updatestatus(sd, SP::ATTACKRANGE);
}
@@ -1085,6 +1085,12 @@ 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)
@@ -1519,7 +1525,7 @@ int pc_calcstatus(dumb_ptr<map_session_data> sd, int first)
sd->speed = std::max(sd->speed, 1_ms);
/* Magic speed */
- if (sd->attack_spell_override)
+ if (sd->attack_spell_override || first & 8)
sd->aspd = sd->attack_spell_delay;
if (aspd_rate != 100)
@@ -1527,7 +1533,7 @@ int pc_calcstatus(dumb_ptr<map_session_data> sd, int first)
/* Red Threshold Calculation */
if (sd->aspd < 300_ms) {
- sd->aspd = 300_ms + ((sd->aspd - 300_ms) * 11 / 20);
+ sd->aspd = 300_ms + ((sd->aspd - 300_ms) * 15 / 20);
}
sd->aspd = std::max(sd->aspd, battle_config.max_aspd);
@@ -2871,7 +2877,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->attack_spell_delay;
+ sd->attackabletime = tick + sd->aspd; // sd->attack_spell_delay
sd->attack_spell_charges--;
if (!sd->attack_spell_charges)
{