add hero
This commit is contained in:
parent
16675566db
commit
316f18a173
0
server/gameserver/hero.cc
Normal file
0
server/gameserver/hero.cc
Normal file
10
server/gameserver/hero.h
Normal file
10
server/gameserver/hero.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "entity.h"
|
||||||
|
|
||||||
|
class Hero : public Entity
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
CircleCollider* self_collider_ = nullptr;
|
||||||
|
|
||||||
|
};
|
@ -105,6 +105,48 @@ void Human::FillMFObjectFull(cs::MFObjectFull* full_data)
|
|||||||
state->set_left_time(std::min(0, MetaMgr::Instance()->jump_time * 1000 - passed_time));
|
state->set_left_time(std::min(0, MetaMgr::Instance()->jump_time * 1000 - passed_time));
|
||||||
state->set_lasting_time(MetaMgr::Instance()->jump_time * 1000);
|
state->set_lasting_time(MetaMgr::Instance()->jump_time * 1000);
|
||||||
}
|
}
|
||||||
|
if (a8::HasBitFlag(status, HS_Hide) && skill_meta) {
|
||||||
|
int passed_time = (room->frame_no - hide_frameno_) * FRAME_RATE_MS;
|
||||||
|
cs::MFBodyState* state = p->add_states();
|
||||||
|
state->set_state_type(HS_Hide);
|
||||||
|
state->set_left_time(std::min(0, skill_meta->i->last_time() * 1000 - passed_time));
|
||||||
|
state->set_lasting_time(skill_meta->i->last_time() * 1000);
|
||||||
|
}
|
||||||
|
if (a8::HasBitFlag(status, HS_Accelerate) && skill_meta) {
|
||||||
|
int passed_time = (room->frame_no - accelerate_frameno_) * FRAME_RATE_MS;
|
||||||
|
cs::MFBodyState* state = p->add_states();
|
||||||
|
state->set_state_type(HS_Accelerate);
|
||||||
|
state->set_left_time(std::min(0, skill_meta->i->last_time() * 1000 - passed_time));
|
||||||
|
state->set_lasting_time(skill_meta->i->last_time() * 1000);
|
||||||
|
}
|
||||||
|
if (a8::HasBitFlag(status, HS_DamageAdd) && skill_meta) {
|
||||||
|
int passed_time = (room->frame_no - damageadd_frameno_) * FRAME_RATE_MS;
|
||||||
|
cs::MFBodyState* state = p->add_states();
|
||||||
|
state->set_state_type(HS_DamageAdd);
|
||||||
|
state->set_left_time(std::min(0, skill_meta->i->last_time() * 1000 - passed_time));
|
||||||
|
state->set_lasting_time(skill_meta->i->last_time() * 1000);
|
||||||
|
}
|
||||||
|
if (a8::HasBitFlag(status, HS_DefAdd) && skill_meta) {
|
||||||
|
int passed_time = (room->frame_no - defadd_frameno_) * FRAME_RATE_MS;
|
||||||
|
cs::MFBodyState* state = p->add_states();
|
||||||
|
state->set_state_type(HS_DefAdd);
|
||||||
|
state->set_left_time(std::min(0, skill_meta->i->last_time() * 1000 - passed_time));
|
||||||
|
state->set_lasting_time(skill_meta->i->last_time() * 1000);
|
||||||
|
}
|
||||||
|
if (a8::HasBitFlag(status, HS_RecoverHP) && skill_meta) {
|
||||||
|
int passed_time = (room->frame_no - recover_hp_frameno_) * FRAME_RATE_MS;
|
||||||
|
cs::MFBodyState* state = p->add_states();
|
||||||
|
state->set_state_type(HS_RecoverHP);
|
||||||
|
state->set_left_time(std::min(0, skill_meta->i->last_time() * 1000 - passed_time));
|
||||||
|
state->set_lasting_time(skill_meta->i->last_time() * 1000);
|
||||||
|
}
|
||||||
|
if (a8::HasBitFlag(status, HS_ReflectDamage) && skill_meta) {
|
||||||
|
int passed_time = (room->frame_no - reflect_damage_frameno_) * FRAME_RATE_MS;
|
||||||
|
cs::MFBodyState* state = p->add_states();
|
||||||
|
state->set_state_type(HS_ReflectDamage);
|
||||||
|
state->set_left_time(std::min(0, skill_meta->i->last_time() * 1000 - passed_time));
|
||||||
|
state->set_lasting_time(skill_meta->i->last_time() * 1000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColliderComponent* Human::GetBoxBound()
|
ColliderComponent* Human::GetBoxBound()
|
||||||
|
@ -7,6 +7,8 @@ namespace MetaData
|
|||||||
{
|
{
|
||||||
struct Player;
|
struct Player;
|
||||||
struct Equip;
|
struct Equip;
|
||||||
|
struct Dress;
|
||||||
|
struct Skill;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum HumanStatus
|
enum HumanStatus
|
||||||
@ -35,6 +37,8 @@ class Human : public Entity
|
|||||||
MetaData::Player* meta = nullptr;
|
MetaData::Player* meta = nullptr;
|
||||||
MetaData::Equip* helmet_meta = nullptr;
|
MetaData::Equip* helmet_meta = nullptr;
|
||||||
MetaData::Equip* chest_meta = nullptr;
|
MetaData::Equip* chest_meta = nullptr;
|
||||||
|
MetaData::Dress* skin_meta = nullptr;
|
||||||
|
MetaData::Skill* skill_meta = nullptr;
|
||||||
|
|
||||||
Vector2D move_dir;
|
Vector2D move_dir;
|
||||||
Vector2D attack_dir;
|
Vector2D attack_dir;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user