Horizon Official Technical Documentation
Pet.hpp
Go to the documentation of this file.
1/***************************************************
2 * _ _ _ *
3 * | | | | (_) *
4 * | |_| | ___ _ __ _ _______ _ __ *
5 * | _ |/ _ \| '__| |_ / _ \| '_ \ *
6 * | | | | (_) | | | |/ / (_) | | | | *
7 * \_| |_/\___/|_| |_/___\___/|_| |_| *
8 ***************************************************
9 * This file is part of Horizon (c).
10 *
11 * Copyright (c) 2019 Sagun K. (sagunxp@gmail.com).
12 * Copyright (c) 2019 Horizon Dev Team.
13 *
14 * Base Author - Sagun K. (sagunxp@gmail.com)
15 *
16 * This library is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation, either version 3 of the License, or
19 * (at your option) any later version.
20 *
21 * This library is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with this library. If not, see <http://www.gnu.org/licenses/>.
28 **************************************************/
29
30#ifndef HORIZON_ZONE_GAME_ENTITIES_PET_HPP
31#define HORIZON_ZONE_GAME_ENTITIES_PET_HPP
32
35
36
37namespace Horizon
38{
39namespace Zone
40{
41class Map;
42namespace Units
43{
44class Pet : public Mob, public GridObject<Pet>
45{
46public:
47 Pet(uint64_t uuid);
48 Pet(uint64_t uuid, std::shared_ptr<Map> map, MapCoords mcoords);
49 ~Pet();
50
51 void stop_movement() override;
52 void on_pathfinding_failure() override;
53 void on_movement_begin(int32_t time) override;
54 void on_movement_step() override;
55 void on_movement_end() override;
56
57 void on_status_effect_start(std::shared_ptr<status_change_entry> sce) override;
58 void on_status_effect_end(std::shared_ptr<status_change_entry> sce) override;
59 void on_status_effect_change(std::shared_ptr<status_change_entry> sce) override;
60
61private:
62};
63}
64}
65}
66
67#endif /* HORIZON_ZONE_GAME_ENTITIES_PET_HPP */
Definition: GridObject.hpp:42
std::shared_ptr< Map > map()
Map & Map Container.
Definition: Unit.hpp:165
uint64_t uuid() const
Unit Data.
Definition: Unit.hpp:140
Definition: Mob.hpp:45
Definition: Pet.hpp:45
void on_movement_end() override
Definition: Pet.cpp:50
void stop_movement() override
Definition: Pet.cpp:46
void on_status_effect_change(std::shared_ptr< status_change_entry > sce) override
Definition: Pet.cpp:54
void on_status_effect_start(std::shared_ptr< status_change_entry > sce) override
Definition: Pet.cpp:52
void on_movement_step() override
Definition: Pet.cpp:49
void on_pathfinding_failure() override
Definition: Pet.cpp:47
void on_movement_begin(int32_t time) override
Definition: Pet.cpp:48
~Pet()
Definition: Pet.cpp:41
void on_status_effect_end(std::shared_ptr< status_change_entry > sce) override
Definition: Pet.cpp:53
Definition: Element.hpp:7