This commit is contained in:
aozhiwei 2022-10-10 21:18:08 +08:00
parent fd2a5b8640
commit 1c205a6982
3 changed files with 14 additions and 5 deletions

View File

@ -1007,21 +1007,21 @@ void Buff::ProcMachineGun()
{ {
owner->room->xtimer.ModifyTimer owner->room->xtimer.ModifyTimer
(remover_timer, (remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS); skill_meta->number_meta->float_time * 1000 / FRAME_RATE_MS);
} }
break; break;
case MAGIC_HJHX: case MAGIC_HJHX:
{ {
owner->room->xtimer.ModifyTimer owner->room->xtimer.ModifyTimer
(remover_timer, (remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS); skill_meta->number_meta->float_time * 1000 / FRAME_RATE_MS);
} }
break; break;
case MAGIC_FG: case MAGIC_FG:
{ {
owner->room->xtimer.ModifyTimer owner->room->xtimer.ModifyTimer
(remover_timer, (remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS); skill_meta->number_meta->float_time * 1000 / FRAME_RATE_MS);
} }
break; break;
default: default:

View File

@ -81,8 +81,9 @@ void Bullet::OnHit(std::set<Entity*>& objects)
if (IsFlyHook()) { if (IsFlyHook()) {
if (sender.Get() && !sender.Get()->dead) { if (sender.Get() && !sender.Get()->dead) {
for (auto& target : objects) { for (auto& target : objects) {
if (target->IsCreature(room) && if (
!((Creature*)target)->IsCar()) { !(target->IsCreature(room) &&
((Creature*)target)->IsCar())) {
ProcFlyHook(target); ProcFlyHook(target);
} }
break; break;

View File

@ -1755,6 +1755,14 @@ namespace MetaData
float_probability = a8::XValue(tmp_str).GetDouble() / 100; float_probability = a8::XValue(tmp_str).GetDouble() / 100;
} }
int_time = a8::XValue(pb->time());
float_time = a8::XValue(pb->time()).GetDouble();
if (pb->time().find('%') != std::string::npos) {
std::string tmp_str = pb->time();
a8::ReplaceString(tmp_str, "%", "");
float_time = a8::XValue(tmp_str).GetDouble() / 100;
}
int_cd = a8::XValue(pb->cd()); int_cd = a8::XValue(pb->cd());
float_cd = a8::XValue(pb->cd()).GetDouble(); float_cd = a8::XValue(pb->cd()).GetDouble();
if (pb->cd().find('%') != std::string::npos) { if (pb->cd().find('%') != std::string::npos) {