Skip to content

Commit 93ea3d6

Browse files
committed
improve melee combat
1 parent c30f36a commit 93ea3d6

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

game/game/fightalgo.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -232,17 +232,19 @@ float FightAlgo::baseDistance(const Npc& npc, const Npc& tg, GameScript &owner)
232232
return baseTg + baseNpc;
233233
}
234234

235-
float FightAlgo::prefferedAtackDistance(const Npc& npc, const Npc& /*tg*/, GameScript &owner) const {
235+
float FightAlgo::prefferedAtackDistance(const Npc& npc, const Npc& tg, GameScript &owner) const {
236236
auto& gv = owner.guildVal();
237-
float baseTg = 0;//float(gv.fight_range_base[tg .guild()]);
237+
float baseTg = float(gv.fight_range_base[tg .guild()]);
238238
float baseNpc = float(gv.fight_range_base[npc.guild()]);
239239
return baseTg + baseNpc + weaponRange(owner,npc);
240240
}
241241

242-
float FightAlgo::prefferedGDistance(const Npc& npc, const Npc& /*tg*/, GameScript &owner) const {
243-
auto gl = npc.guild();
244-
auto& gv = owner.guildVal();
245-
return float(gv.fight_range_base[gl] + gv.fight_range_g[gl]) + weaponRange(owner,npc);
242+
float FightAlgo::prefferedGDistance(const Npc& npc, const Npc& tg, GameScript &owner) const {
243+
auto gl = npc.guild();
244+
auto& gv = owner.guildVal();
245+
float baseTg = float(gv.fight_range_base[tg .guild()]);
246+
float baseNpc = float(gv.fight_range_base[npc.guild()]);
247+
return float(baseTg + baseNpc + float(gv.fight_range_g[gl])) + weaponRange(owner,npc);
246248
}
247249

248250
bool FightAlgo::isInAtackRange(const Npc &npc,const Npc &tg, GameScript &owner) const {

game/game/movealgo.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,9 @@ void MoveAlgo::onMoveFailed(const Tempest::Vec3& dp, const DynamicWorld::Collisi
847847
if(!forward)
848848
return;
849849

850+
if(!info.preFall && npc.isAtackAnim())
851+
return;
852+
850853
npc.setAnimRotate(0);
851854
if(val<-threshold) {
852855
npc.setDirection(npc.rotation()-stp);

0 commit comments

Comments
 (0)