Compare commits
5 Commits
639c1857c8
...
90912c0b90
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90912c0b90 | ||
|
|
b74417debd | ||
|
|
c44695e580 | ||
|
|
759a256988 | ||
|
|
622105656b |
@ -79,20 +79,20 @@ void game::NpcCharacter::SpawnLoot()
|
|||||||
void game::NpcCharacter::MakeEnemy(net::EntNum enemy_num)
|
void game::NpcCharacter::MakeEnemy(net::EntNum enemy_num)
|
||||||
{
|
{
|
||||||
// it must have been a mistake
|
// it must have been a mistake
|
||||||
if (Chance(0.1f))
|
if (Chance(0.05f))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// cant switch enemies that fast
|
// cant switch enemies that fast
|
||||||
auto time = GetWorld().GetTime();
|
auto time = GetWorld().GetTime();
|
||||||
if (enemy_num != enemy_num_ && time - enemy_time_ < 5000)
|
if (enemy_num_ > 0 && enemy_num != enemy_num_ && time - enemy_time_ < 5000)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// increase anger
|
// increase anger
|
||||||
if (Chance(0.7f))
|
if (Chance(0.85f))
|
||||||
{
|
{
|
||||||
follow_enemy_ = true;
|
follow_enemy_ = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -84,9 +84,10 @@ game::OpenWorld::OpenWorld(Game& game) : EnterableWorld("openworld"), game_(game
|
|||||||
CreateTuningGarage(loc.transform.position, glm::eulerAngles(loc.transform.rotation).x);
|
CreateTuningGarage(loc.transform.position, glm::eulerAngles(loc.transform.rotation).x);
|
||||||
}
|
}
|
||||||
|
|
||||||
CreatePermaItemPickups("pickup_uzi", "uzi");
|
CreatePermaItemPickups("airrifle");
|
||||||
CreatePermaItemPickups("pickup_ak47", "ak47");
|
CreatePermaItemPickups("airsniper");
|
||||||
CreatePermaItemPickups("pickup_airsniper", "airsniper");
|
CreatePermaItemPickups("ak47");
|
||||||
|
CreatePermaItemPickups("uzi");
|
||||||
|
|
||||||
SpawnNpcs();
|
SpawnNpcs();
|
||||||
|
|
||||||
@ -353,12 +354,19 @@ void game::OpenWorld::CreateTuningGarage(const glm::vec3& position, float yaw)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void game::OpenWorld::CreatePermaItemPickups(const std::string& loc_name, const std::string& item_name)
|
void game::OpenWorld::CreatePermaItemPickups(const std::string& item_name)
|
||||||
{
|
{
|
||||||
for (auto locs = GetMap().GetLocations(loc_name); const auto& loc : locs)
|
for (auto locs = GetMap().GetLocations("pickup_" + item_name); const auto& loc : locs)
|
||||||
{
|
{
|
||||||
CreatePermaItemPickup(loc.transform.position, item_name);
|
CreatePermaItemPickup(loc.transform.position, item_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
for (auto locs = GetMap().GetLocations("pickup_" + item_name + "_debug"); const auto& loc : locs)
|
||||||
|
{
|
||||||
|
CreatePermaItemPickup(loc.transform.position, item_name);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void game::OpenWorld::CreatePermaItemPickup(const glm::vec3& position, const std::string& item_name)
|
void game::OpenWorld::CreatePermaItemPickup(const glm::vec3& position, const std::string& item_name)
|
||||||
|
|||||||
@ -25,7 +25,7 @@ private:
|
|||||||
void SpawnNpcVehicleWithPassengers();
|
void SpawnNpcVehicleWithPassengers();
|
||||||
|
|
||||||
void CreateTuningGarage(const glm::vec3& position, float yaw);
|
void CreateTuningGarage(const glm::vec3& position, float yaw);
|
||||||
void CreatePermaItemPickups(const std::string& loc_name, const std::string& item_name);
|
void CreatePermaItemPickups(const std::string& item_name);
|
||||||
void CreatePermaItemPickup(const glm::vec3& position, const std::string& item);
|
void CreatePermaItemPickup(const glm::vec3& position, const std::string& item);
|
||||||
|
|
||||||
void RecoverPlayer(Player& player);
|
void RecoverPlayer(Player& player);
|
||||||
|
|||||||
@ -12,8 +12,8 @@ game::PlayerCharacter::PlayerCharacter(World& world, Player& player, const Human
|
|||||||
SendUseTargetInfo();
|
SendUseTargetInfo();
|
||||||
|
|
||||||
// give some shit
|
// give some shit
|
||||||
GiveItem(std::make_shared<ItemInstance>("airsniper"), false);
|
// GiveItem(std::make_shared<ItemInstance>("airsniper"), false);
|
||||||
GiveAmmo("pellet", 50);
|
// GiveAmmo("pellet", 50);
|
||||||
// GiveItem(std::make_shared<ItemInstance>("ak47"), false);
|
// GiveItem(std::make_shared<ItemInstance>("ak47"), false);
|
||||||
// GiveItem(std::make_shared<ItemInstance>("uzi"), false);
|
// GiveItem(std::make_shared<ItemInstance>("uzi"), false);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -416,6 +416,7 @@ void game::Vehicle::UpdateWheels()
|
|||||||
{
|
{
|
||||||
auto& bt_wheel = vehicle.getWheelInfo(i);
|
auto& bt_wheel = vehicle.getWheelInfo(i);
|
||||||
wheels_[i].speed = -(bt_wheel.m_rotation - wheels_[i].rotation) * 25.0f;
|
wheels_[i].speed = -(bt_wheel.m_rotation - wheels_[i].rotation) * 25.0f;
|
||||||
|
bt_wheel.m_rotation = glm::mod(bt_wheel.m_rotation, glm::two_pi<float>()); // prevent going too crazy
|
||||||
wheels_[i].rotation = bt_wheel.m_rotation;
|
wheels_[i].rotation = bt_wheel.m_rotation;
|
||||||
wheels_[i].z_offset = tuning_ctx_.wheels[i].z_offset - bt_wheel.m_raycastInfo.m_suspensionLength;
|
wheels_[i].z_offset = tuning_ctx_.wheels[i].z_offset - bt_wheel.m_raycastInfo.m_suspensionLength;
|
||||||
|
|
||||||
|
|||||||
@ -33,14 +33,52 @@ game::view::WorldView::WorldView(ClientSession& session, net::InMessage& msg) :
|
|||||||
map_->EnableObj(objnum, false);
|
map_->EnableObj(objnum, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// cache common snds and stuff
|
// break sounds
|
||||||
Cache(assets::CacheManager::GetSound("data/breaksign.snd"));
|
|
||||||
Cache(assets::CacheManager::GetSound("data/breakpatnik.snd"));
|
Cache(assets::CacheManager::GetSound("data/breakpatnik.snd"));
|
||||||
|
Cache(assets::CacheManager::GetSound("data/breaksign.snd"));
|
||||||
Cache(assets::CacheManager::GetSound("data/breakwindow.snd"));
|
Cache(assets::CacheManager::GetSound("data/breakwindow.snd"));
|
||||||
Cache(assets::CacheManager::GetSound("data/breakwood.snd"));
|
Cache(assets::CacheManager::GetSound("data/breakwood.snd"));
|
||||||
Cache(assets::CacheManager::GetSound("data/cardoor.snd"));
|
Cache(assets::CacheManager::GetSound("data/cardoor.snd"));
|
||||||
Cache(assets::CacheManager::GetSound("data/crash.snd"));
|
Cache(assets::CacheManager::GetSound("data/crash.snd"));
|
||||||
|
|
||||||
|
// vehicles
|
||||||
|
Cache(assets::CacheManager::GetVehicleModel("data/avia.veh"));
|
||||||
|
Cache(assets::CacheManager::GetVehicleModel("data/passat.veh"));
|
||||||
|
Cache(assets::CacheManager::GetVehicleModel("data/pickup_hd.veh"));
|
||||||
|
Cache(assets::CacheManager::GetVehicleModel("data/polskifiat.veh"));
|
||||||
|
Cache(assets::CacheManager::GetVehicleModel("data/twingo.veh"));
|
||||||
|
|
||||||
|
// models
|
||||||
|
Cache(assets::CacheManager::GetModel("data/marker_base.mdl"));
|
||||||
|
Cache(assets::CacheManager::GetModel("data/marker_tuning.mdl"));
|
||||||
|
|
||||||
|
// items
|
||||||
|
Cache(assets::CacheManager::GetItem("data/airrifle.item"));
|
||||||
|
Cache(assets::CacheManager::GetItem("data/airsniper.item"));
|
||||||
|
Cache(assets::CacheManager::GetItem("data/ak47.item"));
|
||||||
|
Cache(assets::CacheManager::GetItem("data/uzi.item"));
|
||||||
|
|
||||||
|
// fire sounds
|
||||||
|
Cache(assets::CacheManager::GetSound("data/airrifle_fire.snd"));
|
||||||
|
Cache(assets::CacheManager::GetSound("data/ak_fire.snd"));
|
||||||
|
Cache(assets::CacheManager::GetSound("data/uzi_fire.snd"));
|
||||||
|
|
||||||
|
// other sounds
|
||||||
|
Cache(assets::CacheManager::GetSound("data/pickup_ammo.snd"));
|
||||||
|
Cache(assets::CacheManager::GetSound("data/cow-01.snd"));
|
||||||
|
Cache(assets::CacheManager::GetSound("data/cow-02.snd"));
|
||||||
|
Cache(assets::CacheManager::GetSound("data/cow-04.snd"));
|
||||||
|
Cache(assets::CacheManager::GetSound("data/cow-05.snd"));
|
||||||
|
|
||||||
|
// fx
|
||||||
|
Cache(assets::CacheManager::GetEffect("data/firefx.fx"));
|
||||||
|
Cache(assets::CacheManager::GetEffect("data/impact_dirt.fx"));
|
||||||
|
Cache(assets::CacheManager::GetEffect("data/impact_flesh.fx"));
|
||||||
|
Cache(assets::CacheManager::GetEffect("data/impact_grass.fx"));
|
||||||
|
Cache(assets::CacheManager::GetEffect("data/impact_metal.fx"));
|
||||||
|
Cache(assets::CacheManager::GetEffect("data/impact_stone.fx"));
|
||||||
|
Cache(assets::CacheManager::GetEffect("data/impact_wood.fx"));
|
||||||
|
|
||||||
env_ = std::make_unique<WorldEnv>();
|
env_ = std::make_unique<WorldEnv>();
|
||||||
env_->SetDayTime(12.0f);
|
env_->SetDayTime(12.0f);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user