mirror of
https://gitlab.com/drummyfish/anarch.git
synced 2025-01-30 14:50:13 -05:00
Update map
This commit is contained in:
parent
951dc585e6
commit
f842560d61
Binary file not shown.
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
@ -477,10 +477,10 @@ uint16_t SFG_monsterAttributeTable[SFG_MONSTERS_TOTAL] =
|
||||
SFG_PROGRAM_MEMORY uint8_t SFG_weaponAttributeTable[SFG_WEAPONS_TOTAL] =
|
||||
{
|
||||
/* knife */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_MELEE,1,650),
|
||||
/* shotgun */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_BULLET,2,1200),
|
||||
/* shotgun */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_BULLET,2,1400),
|
||||
/* m. gun */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_BULLET,1,700),
|
||||
/* r. laun. */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_FIREBALL,1,900),
|
||||
/* plasma */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_PLASMA,1,550),
|
||||
/* r. laun. */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_FIREBALL,1,850),
|
||||
/* plasma */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_PLASMA,1,600),
|
||||
/* solution */ SFG_WEAPON_ATTRIBUTE(SFG_WEAPON_FIRE_TYPE_PLASMA,4,1050)
|
||||
};
|
||||
|
||||
@ -488,7 +488,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_attackDamageTable[SFG_WEAPON_FIRE_TYPES_TOTAL] =
|
||||
{
|
||||
/* melee */ 7,
|
||||
/* bullet */ 10,
|
||||
/* explostion (fireball) */ 13,
|
||||
/* explostion (fireball) */ 17,
|
||||
/* plasma */ 17
|
||||
};
|
||||
|
||||
|
22
game.h
22
game.h
@ -1707,6 +1707,17 @@ void SFG_playerChangeHealth(int8_t healthAdd)
|
||||
SFG_player.lastHurtFrame = SFG_game.frame;
|
||||
}
|
||||
|
||||
void SFG_playerChangeHealthWithMiltiplier(int8_t healthAdd)
|
||||
{
|
||||
if (healthAdd < 0)
|
||||
healthAdd =
|
||||
RCL_min(-1,
|
||||
(((RCL_Unit) healthAdd) * SFG_PLAYER_DAMAGE_MULTIPLIER) /
|
||||
RCL_UNITS_PER_SQUARE);
|
||||
|
||||
SFG_playerChangeHealth(healthAdd);
|
||||
}
|
||||
|
||||
uint8_t SFG_distantSoundVolume(RCL_Unit x, RCL_Unit y, RCL_Unit z)
|
||||
{
|
||||
RCL_Unit distance = SFG_taxicabDistance(x,y,z,
|
||||
@ -1819,7 +1830,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_PUSH_AWAY_DISTANCE))
|
||||
SFG_playerChangeHealth(-1 * damage);
|
||||
SFG_playerChangeHealthWithMiltiplier(-1 * damage);
|
||||
|
||||
for (uint16_t i = 0; i < SFG_currentLevel.monsterRecordCount; ++i)
|
||||
{
|
||||
@ -2067,7 +2078,7 @@ void SFG_monsterPerformAI(SFG_MonsterRecord *monster)
|
||||
|
||||
state = SFG_MONSTER_STATE_ATTACKING;
|
||||
|
||||
SFG_playerChangeHealth(
|
||||
SFG_playerChangeHealthWithMiltiplier(
|
||||
-1 * SFG_getDamageValue(SFG_WEAPON_FIRE_TYPE_MELEE));
|
||||
|
||||
SFG_playGameSound(3,255);
|
||||
@ -2081,10 +2092,7 @@ void SFG_monsterPerformAI(SFG_MonsterRecord *monster)
|
||||
SFG_TileDefinition tile =
|
||||
SFG_getMapTile(SFG_currentLevel.levelPointer,mX,mY,&properties);
|
||||
|
||||
SFG_createExplosion(mX * RCL_UNITS_PER_SQUARE,
|
||||
mY * RCL_UNITS_PER_SQUARE,
|
||||
SFG_TILE_FLOOR_HEIGHT(tile) * SFG_WALL_HEIGHT_STEP +
|
||||
SFG_WALL_HEIGHT_STEP);
|
||||
SFG_createExplosion(pX,pY,pZ);
|
||||
|
||||
monster->health = 0;
|
||||
}
|
||||
@ -2294,7 +2302,7 @@ void SFG_updateLevel()
|
||||
SFG_player.camera.height))
|
||||
{
|
||||
eliminate = 1;
|
||||
SFG_playerChangeHealth(-1 * SFG_getDamageValue(attackType));
|
||||
SFG_playerChangeHealthWithMiltiplier(-1 * SFG_getDamageValue(attackType));
|
||||
}
|
||||
|
||||
/* check collision with the map (we don't use SFG_floorCollisionHeightAt
|
||||
|
20
settings.h
20
settings.h
@ -26,7 +26,9 @@
|
||||
integers and rounding errors can occur soon, so don't set this to extreme
|
||||
values (try to keep from 20 to 100).
|
||||
*/
|
||||
#define SFG_FPS 60
|
||||
#ifndef SFG_FPS
|
||||
#define SFG_FPS 60
|
||||
#endif
|
||||
|
||||
/**
|
||||
On platforms with mouse this sets its horizontal sensitivity. 128 means 1
|
||||
@ -81,6 +83,14 @@
|
||||
#define SFG_RESOLUTION_SCALEDOWN 1
|
||||
#endif
|
||||
|
||||
/**
|
||||
Multiplier, in RCL_Units (1024 == 1.0), of the damager player takes. This can
|
||||
be used to balance difficulty.
|
||||
*/
|
||||
#ifndef SFG_PLAYER_DAMAGE_MULTIPLIER
|
||||
#define SFG_PLAYER_DAMAGE_MULTIPLIER 512
|
||||
#endif
|
||||
|
||||
/**
|
||||
Hint as to whether run in fullscreen, if the platform allows it.
|
||||
*/
|
||||
@ -301,14 +311,14 @@
|
||||
Developer cheat for having infinite ammo in all weapons.
|
||||
*/
|
||||
#ifndef SFG_INFINITE_AMMO
|
||||
#define SFG_INFINITE_AMMO 1
|
||||
#define SFG_INFINITE_AMMO 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
Developer cheat for immortality.
|
||||
*/
|
||||
#ifndef SFG_IMMORTAL
|
||||
#define SFG_IMMORTAL 1
|
||||
#define SFG_IMMORTAL 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -330,14 +340,14 @@
|
||||
options is ignored, 1 means load level 1 etc.
|
||||
*/
|
||||
#ifndef SFG_START_LEVEL
|
||||
#define SFG_START_LEVEL 6
|
||||
#define SFG_START_LEVEL 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
Reveals whole level map from start.
|
||||
*/
|
||||
#ifndef SFG_REVEAL_MAP
|
||||
#define SFG_REVEAL_MAP 1
|
||||
#define SFG_REVEAL_MAP 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user