1
This commit is contained in:
parent
d28ebf1009
commit
2cbc78c1d1
@ -286,6 +286,7 @@ void App::AddSocketMsg(SocketFrom_e sockfrom,
|
|||||||
const char *msgbody,
|
const char *msgbody,
|
||||||
int bodylen)
|
int bodylen)
|
||||||
{
|
{
|
||||||
|
std::shared_ptr<int[]> sp1(new int[10]());
|
||||||
MsgNode *p = (MsgNode*) malloc(sizeof(MsgNode));
|
MsgNode *p = (MsgNode*) malloc(sizeof(MsgNode));
|
||||||
memset(p, 0, sizeof(MsgNode));
|
memset(p, 0, sizeof(MsgNode));
|
||||||
p->sockfrom = sockfrom;
|
p->sockfrom = sockfrom;
|
||||||
|
@ -436,6 +436,7 @@ void CallFuncBuff::ProcFlashMoveToPos()
|
|||||||
|
|
||||||
void CallFuncBuff::ProcLightCircle()
|
void CallFuncBuff::ProcLightCircle()
|
||||||
{
|
{
|
||||||
|
return;
|
||||||
if (!skill_meta) {
|
if (!skill_meta) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -267,7 +267,8 @@ void Bullet::ProcBomb()
|
|||||||
room->frame_event.AddExplosionEx(sender,
|
room->frame_event.AddExplosionEx(sender,
|
||||||
meta->id(),
|
meta->id(),
|
||||||
bomb_pos,
|
bomb_pos,
|
||||||
gun_meta->explosion_effect());
|
gun_meta->explosion_effect(),
|
||||||
|
GetUniId());
|
||||||
OnHit(objects);
|
OnHit(objects);
|
||||||
AddGunBuff();
|
AddGunBuff();
|
||||||
}
|
}
|
||||||
|
@ -169,7 +169,8 @@ void Explosion::InternalAttack()
|
|||||||
(sender_,
|
(sender_,
|
||||||
0,
|
0,
|
||||||
center_,
|
center_,
|
||||||
explosion_effect_);
|
explosion_effect_,
|
||||||
|
bullet_uniid);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (explosion_damage_delay_ <= 0) {
|
if (explosion_damage_delay_ <= 0) {
|
||||||
|
@ -9,6 +9,7 @@ class Explosion : public std::enable_shared_from_this<Explosion>
|
|||||||
public:
|
public:
|
||||||
~Explosion();
|
~Explosion();
|
||||||
int exclude_uniid = 0;
|
int exclude_uniid = 0;
|
||||||
|
int bullet_uniid = 0;
|
||||||
|
|
||||||
Room* GetRoom() { return room_; };
|
Room* GetRoom() { return room_; };
|
||||||
CreatureWeakPtr GetSender() { return sender_; };
|
CreatureWeakPtr GetSender() { return sender_; };
|
||||||
|
@ -23,6 +23,7 @@ void FragMiTask::Done()
|
|||||||
if (force_target.Get()) {
|
if (force_target.Get()) {
|
||||||
explosion->AddForceTarget(force_target);
|
explosion->AddForceTarget(force_target);
|
||||||
}
|
}
|
||||||
|
explosion->bullet_uniid = bullet_uniid;
|
||||||
explosion->EnemyAndObstacleAttack(sender,
|
explosion->EnemyAndObstacleAttack(sender,
|
||||||
center,
|
center,
|
||||||
explosion_range,
|
explosion_range,
|
||||||
|
@ -15,6 +15,7 @@ class FragMiTask : public MicroTask
|
|||||||
const mt::Equip* meta = nullptr;
|
const mt::Equip* meta = nullptr;
|
||||||
float explosion_range = 1;
|
float explosion_range = 1;
|
||||||
float atk = 0;
|
float atk = 0;
|
||||||
|
int bullet_uniid = 0;
|
||||||
|
|
||||||
void Done();
|
void Done();
|
||||||
float GetAtk() { return atk; }
|
float GetAtk() { return atk; }
|
||||||
|
@ -160,10 +160,10 @@ void FrameEvent::RemoveBullet(glm::vec3 pos, int bullet_uniid)
|
|||||||
|
|
||||||
void FrameEvent::AddExplosion(Bullet* bullet, int item_id, Position bomb_pos)
|
void FrameEvent::AddExplosion(Bullet* bullet, int item_id, Position bomb_pos)
|
||||||
{
|
{
|
||||||
AddExplosionEx(bullet->sender, item_id, bomb_pos, 0);
|
AddExplosionEx(bullet->sender, item_id, bomb_pos, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FrameEvent::AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect)
|
void FrameEvent::AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect, int bullet_uniid)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
if (!sender.Get()) {
|
if (!sender.Get()) {
|
||||||
@ -183,6 +183,7 @@ void FrameEvent::AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position b
|
|||||||
p.set_player_id(sender.Get()->GetUniId());
|
p.set_player_id(sender.Get()->GetUniId());
|
||||||
#endif
|
#endif
|
||||||
p.set_effect(effect);
|
p.set_effect(effect);
|
||||||
|
p.set_effect(bullet_uniid);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
std::set<GridCell*> grid_list;
|
std::set<GridCell*> grid_list;
|
||||||
|
@ -30,7 +30,7 @@ public:
|
|||||||
void RemoveBullet(glm::vec3 pos, int bullet_uniid);
|
void RemoveBullet(glm::vec3 pos, int bullet_uniid);
|
||||||
void AddExplosion(Bullet* bullet, int item_id, Position bomb_pos);
|
void AddExplosion(Bullet* bullet, int item_id, Position bomb_pos);
|
||||||
void AddPlaySkill(CreatureWeakPtr& sender, int skill_id);
|
void AddPlaySkill(CreatureWeakPtr& sender, int skill_id);
|
||||||
void AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect);
|
void AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect, int bullet_uniid);
|
||||||
void AddBulletNumChg(CreatureWeakPtr& sender);
|
void AddBulletNumChg(CreatureWeakPtr& sender);
|
||||||
void AddHpChg(CreatureWeakPtr& sender);
|
void AddHpChg(CreatureWeakPtr& sender);
|
||||||
void AddWeaponAmmoChg(CreatureWeakPtr& sender);
|
void AddWeaponAmmoChg(CreatureWeakPtr& sender);
|
||||||
|
@ -1299,6 +1299,7 @@ void Human::ProcThrowDmg(int throw_uniid)
|
|||||||
task->gun_meta = equip_meta;
|
task->gun_meta = equip_meta;
|
||||||
task->meta = equip_meta;
|
task->meta = equip_meta;
|
||||||
task->atk = equip_meta->_atk;
|
task->atk = equip_meta->_atk;
|
||||||
|
task->bullet_uniid = context->throw_uniid();
|
||||||
task->explosion_range = equip_meta->explosion_range();
|
task->explosion_range = equip_meta->explosion_range();
|
||||||
task->Initialize();
|
task->Initialize();
|
||||||
int delay_time = equip_meta->missiles_time();;
|
int delay_time = equip_meta->missiles_time();;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user