Continue level

This commit is contained in:
Miloslav Číž 2020-03-08 15:04:02 +01:00
parent 028311984c
commit ea6efb8b20
5 changed files with 33 additions and 3 deletions

View File

@ -40,6 +40,31 @@ general:
level ideas:
- outline:
1. City, player sees the big Macrochip building (a smaller one) in the
distance and has to get to its entrance. Beginning of the level is linear
and serves as a tutorial, things like exploding barrels or acess cards are
explained.
2. Inside Macrochip smaller building. End leads to an elevator that goes
under the ground.
3. Warehouse:
4. Factory:
5. Small boss level:
6. City, player is on the other side of the smaller Macrochip building, the
level partially overlaps with level 1, but the player can now go further.
Big Macrochip HQ (skyscraper) is seen in the distance, player has to get
to its entrance.
7. Inside skyscraper, 1st floor.
8. Inside skyscraper, higher floor.
9.
10. Final boss level: on top of the skyscraper, player climbs up in a spiral
towards the roof. There is a boss (or two) on the top with a few smaller
ones, the exit is blocked by a lot of trapped warriors which the player
has to slowly kill, which means he has to first get rid of the other
monsters.
- boss level: skyscraper top, player goes upwards in a spiral along the OUTSIDE
side of the skyscraper
- two levels could partially overlap, e.g. level one, a city, could overlap
with a later city level, the player could recognize he's e.g. on the other
side of a channel or a wall that he was before

View File

@ -67,8 +67,8 @@ def loadTileDict(x,y):
for i in range(64):
texture = getPixel(x + i,y + 31)
if texture > 6:
raise(Exception("Texture index can't be higher than 6."))
if texture > 7:
raise(Exception("Texture index can't be higher than 7."))
height = 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -100,6 +100,11 @@
*/
#define SFG_EXPLOSION_RADIUS 2048
/**
Distance in RCL_Units which the player is pushed away by an explosion.
*/
#define SFG_EXPLOSION_PUSH_AWAY_DISTANCE 1200
/**
How much damage triggers a barrel explosion.
*/

2
main.c
View File

@ -1659,7 +1659,7 @@ void SFG_createExplosion(RCL_Unit x, RCL_Unit y, RCL_Unit z)
uint8_t damage = SFG_getDamageValue(SFG_WEAPON_FIRE_TYPE_FIREBALL);
if (SFG_pushPlayerAway(x,y,SFG_EXPLOSION_RADIUS))
if (SFG_pushPlayerAway(x,y,SFG_EXPLOSION_PUSH_AWAY_DISTANCE))
SFG_playerChangeHealth(-1 * damage);
for (uint16_t i = 0; i < SFG_currentLevel.monsterRecordCount; ++i)