1
This commit is contained in:
parent
649cd01f31
commit
bbfe9c0376
@ -13,6 +13,7 @@
|
|||||||
#include "incubator.h"
|
#include "incubator.h"
|
||||||
#include "mapinstance.h"
|
#include "mapinstance.h"
|
||||||
#include "team.h"
|
#include "team.h"
|
||||||
|
#include "loot.h"
|
||||||
|
|
||||||
#include "cs_proto.pb.h"
|
#include "cs_proto.pb.h"
|
||||||
|
|
||||||
@ -410,6 +411,40 @@ void Player::_CMExecCommand(f8::MsgHdr* hdr, const cs::CMExecCommand& msg)
|
|||||||
&xtimer_attacher);
|
&xtimer_attacher);
|
||||||
} else if (cmd == "fast_forward") {
|
} else if (cmd == "fast_forward") {
|
||||||
room->GMFastForward();
|
room->GMFastForward();
|
||||||
|
} else if (cmd == "last_pickup") {
|
||||||
|
SendDebugMsg(a8::Format("拾取道具: 距离当前时间(毫秒):%d 数量:%d",
|
||||||
|
{
|
||||||
|
(room->GetFrameNo() - last_interaction_frameno_) * FRAME_RATE_MS,
|
||||||
|
last_interaction_objids_.size()
|
||||||
|
}));
|
||||||
|
SendDebugMsg("道具拾取: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
||||||
|
for (int obj_uniid : last_interaction_objids_) {
|
||||||
|
std::string obj_type = "?";
|
||||||
|
std::string obj_name = "?";
|
||||||
|
int item_id = 0;
|
||||||
|
int entity_type = 0;
|
||||||
|
Entity* entity = room->GetEntityByUniId(obj_uniid);
|
||||||
|
if (entity) {
|
||||||
|
entity_type = entity->GetEntityType();
|
||||||
|
switch (entity->GetEntityType()) {
|
||||||
|
case ET_Loot:
|
||||||
|
{
|
||||||
|
item_id = ((Loot*)entity)->item_id;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SendDebugMsg(a8::Format("拾取道具: obj_uniid:%d item_id:%s",
|
||||||
|
{
|
||||||
|
obj_uniid,
|
||||||
|
item_id,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
SendDebugMsg("道具拾取: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
|
||||||
} else if (cmd == "winexp" && cmds.size() >= 1) {
|
} else if (cmd == "winexp" && cmds.size() >= 1) {
|
||||||
float exp = a8::XValue(cmds[1]).GetDouble();
|
float exp = a8::XValue(cmds[1]).GetDouble();
|
||||||
if (exp > 0) {
|
if (exp > 0) {
|
||||||
|
@ -1716,8 +1716,23 @@ void Creature::CheckSpecObject(int new_poly_flags)
|
|||||||
RemoveBuffById(8058);
|
RemoveBuffById(8058);
|
||||||
RemoveBuffById(kInGrassBuffId);
|
RemoveBuffById(kInGrassBuffId);
|
||||||
} else {
|
} else {
|
||||||
TryAddBuffAndSetTime(this, 8058, 9999999);
|
|
||||||
TryAddBuffAndSetTime(this, kInGrassBuffId, 9999999);
|
TryAddBuffAndSetTime(this, kInGrassBuffId, 9999999);
|
||||||
|
if ((room->GetFrameNo() - last_battling_frameno) * FRAME_RATE_MS <
|
||||||
|
mt::Param::s().battling_grass_hide_delay_time) {
|
||||||
|
#if 0
|
||||||
|
battling_grass_hide_delay_timer = room->xtimer.SetTimeoutWpEx
|
||||||
|
(
|
||||||
|
dur_time * SERVER_FRAME_RATE,
|
||||||
|
[] (int event, const a8::Args* args)
|
||||||
|
{
|
||||||
|
if (a8::TIMER_EXEC_EVENT == event) {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
&xtimer_attacher);
|
||||||
|
#endif
|
||||||
|
} else {
|
||||||
|
TryAddBuffAndSetTime(this, 8058, 9999999);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -134,6 +134,9 @@ class Creature : public MoveableEntity
|
|||||||
int point_idx = 0;
|
int point_idx = 0;
|
||||||
int path_dir = 0;
|
int path_dir = 0;
|
||||||
|
|
||||||
|
long long last_battling_frameno = 0;
|
||||||
|
a8::XTimerWp battling_grass_hide_delay_timer;
|
||||||
|
|
||||||
Creature();
|
Creature();
|
||||||
virtual ~Creature() override;
|
virtual ~Creature() override;
|
||||||
virtual void Initialize() override;
|
virtual void Initialize() override;
|
||||||
|
@ -142,6 +142,9 @@ namespace mt
|
|||||||
int battle_auto_ready_min_time = 0;
|
int battle_auto_ready_min_time = 0;
|
||||||
int battle_auto_ready_max_time = 0;
|
int battle_auto_ready_max_time = 0;
|
||||||
|
|
||||||
|
int battling_detection_range = 0;
|
||||||
|
int battling_grass_hide_delay_time = 0;
|
||||||
|
|
||||||
std::vector<float> block_effect_range;
|
std::vector<float> block_effect_range;
|
||||||
std::vector<float> crit_effect_range;
|
std::vector<float> crit_effect_range;
|
||||||
|
|
||||||
|
@ -832,6 +832,8 @@ void Player::ProcInteraction()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
last_interaction_objids_ = std::move(interaction_objids);
|
||||||
|
last_interaction_frameno_ = room->GetFrameNo();
|
||||||
interaction_objids.clear();
|
interaction_objids.clear();
|
||||||
if (notify_msg.items().size() > 0) {
|
if (notify_msg.items().size() > 0) {
|
||||||
SendNotifyMsg(notify_msg);
|
SendNotifyMsg(notify_msg);
|
||||||
|
@ -166,6 +166,11 @@ private:
|
|||||||
long long last_cmmove_frameno_ = 0;
|
long long last_cmmove_frameno_ = 0;
|
||||||
a8::XTimerWp watch_war_req_timer_;
|
a8::XTimerWp watch_war_req_timer_;
|
||||||
|
|
||||||
|
#ifdef MYDEBUG
|
||||||
|
std::vector<int> last_interaction_objids_;
|
||||||
|
long long last_interaction_frameno_ = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
friend class EntityFactory;
|
friend class EntityFactory;
|
||||||
friend class PBUtils;
|
friend class PBUtils;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user