projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reverted bigger parts of tuxdev patch:
[supertux.git]
/
src
/
badguy
/
yeti.hpp
diff --git
a/src/badguy/yeti.hpp
b/src/badguy/yeti.hpp
index
a664347
..
d7e16ce
100644
(file)
--- a/
src/badguy/yeti.hpp
+++ b/
src/badguy/yeti.hpp
@@
-1,7
+1,8
@@
// $Id$
// $Id$
-//
-// SuperTux
+//
+// SuperTux
- Boss "Yeti"
// Copyright (C) 2005 Matthias Braun <matze@braunis.de>
// Copyright (C) 2005 Matthias Braun <matze@braunis.de>
+// Copyright (C) 2006 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
@@
-12,11
+13,11
@@
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
-//
+//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-// 02111-1307, USA.
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
+
#ifndef __YETI_H__
#define __YETI_H__
#ifndef __YETI_H__
#define __YETI_H__
@@
-30,33
+31,38
@@
public:
void draw(DrawingContext& context);
void write(lisp::Writer& writer);
void draw(DrawingContext& context);
void write(lisp::Writer& writer);
+ void activate();
void active_update(float elapsed_time);
void active_update(float elapsed_time);
-
HitResponse collision_solid(GameObject& object,
const CollisionHit& hit);
+
void collision_solid(
const CollisionHit& hit);
bool collision_squished(Player& player);
bool collision_squished(Player& player);
+ void kill_squished(Player& player);
void kill_fall();
void kill_fall();
+ virtual Yeti* clone() const { return new Yeti(*this); }
+
private:
private:
- void
go_right
();
- void
go_left
();
- void
angry_jumping
();
+ void
run
();
+ void
jump_up
();
+ void
be_angry
();
void drop_stalactite();
void summon_snowball();
void drop_stalactite();
void summon_snowball();
-
+ void jump_down();
+
+ void take_hit(Player& player);
+
enum YetiState {
enum YetiState {
-
INIT
,
-
ANGRY_JUMPING
,
-
THROW_SNOWBALL
,
-
GO_RIGHT
,
- GO_LEFT
+
JUMP_DOWN
,
+
RUN
,
+
JUMP_UP
,
+
BE_ANGRY
,
+ SQUISHED
};
};
- Direction side;
YetiState state;
YetiState state;
- Timer timer;
+ Timer
state_
timer;
Timer safe_timer;
Timer safe_timer;
- int
jump
count;
+ int
stomp_
count;
int hit_points;
std::string dead_script;
};
#endif
int hit_points;
std::string dead_script;
};
#endif
-