From 01549e7cabf36e3e0d0a53fd5d318d7a69cbf1b5 Mon Sep 17 00:00:00 2001 From: Stephen Groundwater Date: Fri, 3 Mar 2006 12:21:35 +0000 Subject: [PATCH] adding Christoph's badguy code for Grumbel's AngryStone SVN-Revision: 3064 --- data/images/creatures/angrystone/attacking-0.png | Bin 0 -> 19038 bytes data/images/creatures/angrystone/charging-0.png | Bin 0 -> 19031 bytes data/images/creatures/angrystone/idle-0.png | Bin 0 -> 19032 bytes data/images/sprites.strf | 12 ++ data/levels/world2/castledoor.stl | 50 +++---- src/badguy/angrystone.cpp | 172 +++++++++++++++++++++++ src/badguy/angrystone.hpp | 53 +++++++ 7 files changed, 259 insertions(+), 28 deletions(-) create mode 100644 data/images/creatures/angrystone/attacking-0.png create mode 100644 data/images/creatures/angrystone/charging-0.png create mode 100644 data/images/creatures/angrystone/idle-0.png create mode 100644 src/badguy/angrystone.cpp create mode 100644 src/badguy/angrystone.hpp diff --git a/data/images/creatures/angrystone/attacking-0.png b/data/images/creatures/angrystone/attacking-0.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b89ae74c13ca6abe1f0515b332a5eed6482ca3 GIT binary patch literal 19038 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

M@R%0U$S8gqyL(31-85j9|{ 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 V{3BVCQxpII002ovPDHLkV1lZT7V!W8 literal 0 HcmV?d00001 diff --git a/data/images/creatures/angrystone/charging-0.png b/data/images/creatures/angrystone/charging-0.png new file mode 100644 index 0000000000000000000000000000000000000000..7f396d9f3c517ae1d920e3fa6d97176f5305950c GIT binary patch literal 19031 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%0AclcTH{|1%~ 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 literal 0 HcmV?d00001 diff --git a/data/images/sprites.strf b/data/images/sprites.strf index b88225231..144e63812 100644 --- a/data/images/sprites.strf +++ b/data/images/sprites.strf @@ -932,6 +932,18 @@ (y-offset -19) (mirror-action "squished-left"))) +; Angry Stone + (sprite (name "angrystone") + (action + (name "idle") + (images "creatures/angrystone/idle-0.png")) + (action + (name "charging") + (images "creatures/angrystone/charging-0.png")) + (action + (name "attacking") + (images "creatures/angrystone/attacking-0.png"))) + ;; Game elements follow (sprite (name "egg") diff --git a/data/levels/world2/castledoor.stl b/data/levels/world2/castledoor.stl index 713d5b026..5500b54f3 100644 --- a/data/levels/world2/castledoor.stl +++ b/data/levels/world2/castledoor.stl @@ -56,13 +56,13 @@ 0 0 0 0 0 0 0 0 0 0 0 0 0 1072 1072 1072 1072 1072 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 1348 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1002 0 1349 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1002 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1002 1002 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1353 1353 0 1353 1353 1353 1353 1353 1353 1353 1353 1353 0 0 0 0 0 0 0 1353 0 0 0 0 0 0 0 1353 0 0 0 1353 1353 1353 1353 1353 0 0 0 0 0 0 0 0 0 0 0 0 0 )) (tilemap @@ -112,15 +112,15 @@ 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 0 0 0 0 0 0 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 27 29 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 132 0 0 0 0 0 0 133 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 0 0 0 0 0 0 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 0 0 0 0 0 0 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 0 0 0 0 0 0 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 1061 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 0 0 132 0 0 0 0 0 0 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 1065 1066 1052 0 0 0 0 0 0 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 0 0 0 132 0 0 0 0 0 0 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 1014 1070 1048 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 132 1002 1002 1002 1001 1001 1001 133 1002 1002 1001 1001 1001 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 0 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 0 1002 1002 1002 1002 1002 1002 1002 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 133 0 0 0 + 0 0 0 0 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 133 0 0 0 + 0 0 0 0 0 0 0 0 0 0 27 29 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 133 133 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 133 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 133 133 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 133 133 0 0 + 1061 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 133 0 0 + 1065 1066 1052 0 0 0 0 0 0 0 0 0 0 0 27 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 133 0 0 + 1014 1070 1048 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1001 1001 1001 1002 1002 1002 1001 1001 1001 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 1002 132 133 1002 1002 1010 1013 1014 1006 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1005 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 1006 )) (tilemap @@ -225,23 +225,17 @@ (physic-enabled #f) (solid #f) ) - (infoblock (x 128) (y 1408) - (message (_ "!images/objects/voicemail/voicemail.png -#Hey Tux, -#Some friends have -#left you voicemail -#messages with advice -#to find Penny. So -#don't forget to check -#your voicemail and -#good luck! -#The SuperTux Team")) - ) (secretarea (x 632.0) (y 807.0) (width 124.0) (height 77.0) (message "check voicemail")) + (angrystone (x 758) (y 254)) + (angrystone (x 22) (y 689)) + (angrystone (x 777) (y 624)) + (angrystone (x 1048) (y 1310)) + (angrystone (x 1761) (y 1265)) + (angrystone (x 2440) (y 1295)) ) ) diff --git a/src/badguy/angrystone.cpp b/src/badguy/angrystone.cpp new file mode 100644 index 000000000..ee4d26cbe --- /dev/null +++ b/src/badguy/angrystone.cpp @@ -0,0 +1,172 @@ +// $Id: angrystone.cpp 2979 2006-01-10 00:00:04Z matzebraun $ +// +// SuperTux +// Copyright (C) 2005 Matthias Braun +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// 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 +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. + +#include + +#include "angrystone.hpp" + +static const float SPEED = 240; + +static const float CHARGE_TIME = .5; +static const float ATTACK_TIME = 1; +static const float RECOVER_TIME = .5; + +AngryStone::AngryStone(const lisp::Lisp& reader) +{ + reader.get("x", start_position.x); + reader.get("y", start_position.y); + bbox.set_size(87.8, 87.8); // sprite is (88px, 88px) + sprite = sprite_manager->create("angrystone"); + state = IDLE; +} + +void +AngryStone::write(lisp::Writer& writer) +{ + writer.start_list("angrystone"); + + writer.write_float("x", start_position.x); + writer.write_float("y", start_position.y); + + writer.end_list("angrystone"); +} + +void +AngryStone::activate() +{ + physic.set_velocity_x(0); + physic.set_velocity_y(0); + physic.enable_gravity(true); + sprite->set_action("idle"); +} + +HitResponse +AngryStone::collision_solid(GameObject& , const CollisionHit& hit) +{ + if ((state == ATTACKING) && (hit.normal.x == -attackDirection.x) && (hit.normal.y == attackDirection.y)) { + state = IDLE; + sprite->set_action("idle"); + physic.set_velocity_x(0); + physic.set_velocity_y(0); + physic.enable_gravity(true); + oldWallDirection.x = attackDirection.x; + oldWallDirection.y = attackDirection.y; + } + + return CONTINUE; +} + +HitResponse +AngryStone::collision_badguy(BadGuy& badguy, const CollisionHit& hit) +{ + if (state == ATTACKING) { + badguy.kill_fall(); + return FORCE_MOVE; + } + + return FORCE_MOVE; +} + +void +AngryStone::active_update(float elapsed_time) { + BadGuy::active_update(elapsed_time); + + if (state == IDLE) { + MovingObject* player = Sector::current()->player; + MovingObject* badguy = this; + const Vector playerPos = player->get_pos(); + const Vector badguyPos = badguy->get_pos(); + float dx = (playerPos.x - badguyPos.x); + float dy = (playerPos.y - badguyPos.y); + + float playerHeight = player->get_bbox().p2.y - player->get_bbox().p1.y; + float badguyHeight = badguy->get_bbox().p2.y - badguy->get_bbox().p1.y; + + float playerWidth = player->get_bbox().p2.x - player->get_bbox().p1.x; + float badguyWidth = badguy->get_bbox().p2.x - badguy->get_bbox().p1.x; + + if ((dx > -playerWidth) && (dx < badguyWidth)) { + if (dy > 0) { + attackDirection.x = 0; + attackDirection.y = -1; + } else { + attackDirection.x = 0; + attackDirection.y = 1; + } + if ((attackDirection.x != oldWallDirection.x) || (attackDirection.y != oldWallDirection.y)) { + sprite->set_action("charging"); + timer.start(CHARGE_TIME); + state = CHARGING; + } + } else + if ((dy > -playerHeight) && (dy < badguyHeight)) { + if (dx > 0) { + attackDirection.x = 1; + attackDirection.y = 0; + } else { + attackDirection.x = -1; + attackDirection.y = 0; + } + if ((attackDirection.x != oldWallDirection.x) || (attackDirection.y != oldWallDirection.y)) { + sprite->set_action("charging"); + timer.start(CHARGE_TIME); + state = CHARGING; + } + } + + } + + if (state == CHARGING) { + if (timer.check()) { + sprite->set_action("attacking"); + timer.start(ATTACK_TIME); + state = ATTACKING; + physic.enable_gravity(false); + physic.set_velocity_x(SPEED * attackDirection.x); + physic.set_velocity_y(SPEED * attackDirection.y); + oldWallDirection.x = 0; + oldWallDirection.y = 0; + } + } + + if (state == ATTACKING) { + if (timer.check()) { + timer.start(RECOVER_TIME); + state = RECOVERING; + sprite->set_action("idle"); + physic.enable_gravity(true); + physic.set_velocity_x(0); + physic.set_velocity_y(0); + } + } + + if (state == RECOVERING) { + if (timer.check()) { + state = IDLE; + sprite->set_action("idle"); + physic.enable_gravity(true); + physic.set_velocity_x(0); + physic.set_velocity_y(0); + } + } + +} + +IMPLEMENT_FACTORY(AngryStone, "angrystone") diff --git a/src/badguy/angrystone.hpp b/src/badguy/angrystone.hpp new file mode 100644 index 000000000..106accc9a --- /dev/null +++ b/src/badguy/angrystone.hpp @@ -0,0 +1,53 @@ +// $Id: angrystone.hpp 2642 2005-06-26 13:38:53Z matzebraun $ +// +// SuperTux +// Copyright (C) 2005 Matthias Braun +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// 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 +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. + +#ifndef __ANGRYSTONE_H__ +#define __ANGRYSTONE_H__ + +#include "badguy.hpp" + +class AngryStone : public BadGuy +{ +public: + AngryStone(const lisp::Lisp& reader); + + void activate(); + void write(lisp::Writer& writer); + HitResponse collision_solid(GameObject& other, const CollisionHit& hit); + HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit); + void active_update(float elapsed_time); + +protected: + Vector attackDirection; /**< 1-normalized vector of current attack direction */ + Vector oldWallDirection; /**< if wall was hit during last attack: 1-normalized vector of last attack direction, (0,0) otherwise */ + + Timer timer; + + enum AngryStoneState { + IDLE, + CHARGING, + ATTACKING, + RECOVERING + }; + AngryStoneState state; + +}; + +#endif -- 2.11.0