add other object
This commit is contained in:
parent
02e39e1cc0
commit
7b8ecf7e39
@ -98,7 +98,8 @@ void AndroidAI::DoAttack()
|
|||||||
if (owner->updated_times % 2 == 0) {
|
if (owner->updated_times % 2 == 0) {
|
||||||
Human* enemy = owner->room->SearchEnemy((Human*)owner);
|
Human* enemy = owner->room->SearchEnemy((Human*)owner);
|
||||||
if (enemy) {
|
if (enemy) {
|
||||||
|
Human* sender = (Human*)owner;
|
||||||
|
sender->Shot(enemy->pos, 10.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
0
server/gameserver/building.cc
Normal file
0
server/gameserver/building.cc
Normal file
0
server/gameserver/building.h
Normal file
0
server/gameserver/building.h
Normal file
0
server/gameserver/deadbody.cc
Normal file
0
server/gameserver/deadbody.cc
Normal file
0
server/gameserver/deadbody.h
Normal file
0
server/gameserver/deadbody.h
Normal file
0
server/gameserver/decal.cc
Normal file
0
server/gameserver/decal.cc
Normal file
0
server/gameserver/decal.h
Normal file
0
server/gameserver/decal.h
Normal file
@ -54,3 +54,22 @@ void Human::FillMFObjectFull(cs::MFObjectFull* full_data)
|
|||||||
p->set_vip(vip);
|
p->set_vip(vip);
|
||||||
p->set_sdmg(sdmg);
|
p->set_sdmg(sdmg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Human::Shot(Vector2D& target_point, float speed)
|
||||||
|
{
|
||||||
|
{
|
||||||
|
cs::MFShot* shot = frame_data.shots.Add();
|
||||||
|
shot->set_player_id(entity_uniid);
|
||||||
|
shot->set_weapon_id(10001);
|
||||||
|
shot->set_offhand(true);
|
||||||
|
shot->set_bullskin(10001);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
cs::MFBullet* bullet = frame_data.bullets.Add();
|
||||||
|
bullet->set_player_id(entity_uniid);
|
||||||
|
bullet->set_bullet_id(10001);
|
||||||
|
target_point.ToPB(bullet->mutable_pos());
|
||||||
|
(pos - target_point).Normalize().ToPB(bullet->mutable_dir());
|
||||||
|
bullet->set_bulletskin(10001);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -51,5 +51,6 @@ class Human : public Entity
|
|||||||
virtual float GetSpeed() override;
|
virtual float GetSpeed() override;
|
||||||
virtual void FillMFObjectPart(cs::MFObjectPart* part_data) override;
|
virtual void FillMFObjectPart(cs::MFObjectPart* part_data) override;
|
||||||
virtual void FillMFObjectFull(cs::MFObjectFull* full_data) override;
|
virtual void FillMFObjectFull(cs::MFObjectFull* full_data) override;
|
||||||
|
void Shot(Vector2D& target_point, float speed);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
0
server/gameserver/loot.cc
Normal file
0
server/gameserver/loot.cc
Normal file
0
server/gameserver/loot.h
Normal file
0
server/gameserver/loot.h
Normal file
0
server/gameserver/lootspawner.cc
Normal file
0
server/gameserver/lootspawner.cc
Normal file
0
server/gameserver/lootspawner.h
Normal file
0
server/gameserver/lootspawner.h
Normal file
0
server/gameserver/obstacle.cc
Normal file
0
server/gameserver/obstacle.cc
Normal file
0
server/gameserver/obstacle.h
Normal file
0
server/gameserver/obstacle.h
Normal file
0
server/gameserver/projectile.cc
Normal file
0
server/gameserver/projectile.cc
Normal file
0
server/gameserver/projectile.h
Normal file
0
server/gameserver/projectile.h
Normal file
0
server/gameserver/smoke.cc
Normal file
0
server/gameserver/smoke.cc
Normal file
0
server/gameserver/smoke.h
Normal file
0
server/gameserver/smoke.h
Normal file
@ -11,12 +11,13 @@ void Vector2D::ToPB(cs::MFVector2D* pb_obj)
|
|||||||
pb_obj->set_y(y);
|
pb_obj->set_y(y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Vector2D::Normalize()
|
Vector2D& Vector2D::Normalize()
|
||||||
{
|
{
|
||||||
Eigen::Vector2f v(x, y);
|
Eigen::Vector2f v(x, y);
|
||||||
v.normalize();
|
v.normalize();
|
||||||
x = v[0];
|
x = v[0];
|
||||||
y = v[1];
|
y = v[1];
|
||||||
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Vector2D::operator == (const Vector2D& b)
|
bool Vector2D::operator == (const Vector2D& b)
|
||||||
|
@ -22,7 +22,7 @@ struct Vector2D
|
|||||||
Vector2D(float _x = 0.0f, float _y = 0.0f):x(_x), y(_y) {};
|
Vector2D(float _x = 0.0f, float _y = 0.0f):x(_x), y(_y) {};
|
||||||
|
|
||||||
void ToPB(cs::MFVector2D* pb_obj);
|
void ToPB(cs::MFVector2D* pb_obj);
|
||||||
void Normalize();
|
Vector2D& Normalize();
|
||||||
|
|
||||||
bool operator == (const Vector2D& b);
|
bool operator == (const Vector2D& b);
|
||||||
Vector2D operator + (const Vector2D& b);
|
Vector2D operator + (const Vector2D& b);
|
||||||
|
@ -392,7 +392,7 @@ message MFBullet
|
|||||||
optional MFVector2D pos = 3;
|
optional MFVector2D pos = 3;
|
||||||
optional MFVector2D dir = 4;
|
optional MFVector2D dir = 4;
|
||||||
optional float variance_t = 5;
|
optional float variance_t = 5;
|
||||||
optional int32 bullskin = 6;
|
optional int32 bulletskin = 6;
|
||||||
optional bool crit = 7;
|
optional bool crit = 7;
|
||||||
optional int32 reflect_count = 8;
|
optional int32 reflect_count = 8;
|
||||||
optional int32 reflect_objid = 9;
|
optional int32 reflect_objid = 9;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user