mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-19 06:28:19 +00:00
tele-activator: make delay be able to specify a weapon
This commit is contained in:
parent
ddf2e6af36
commit
3d202883c9
|
@ -200,6 +200,15 @@ void CLaser::DoBounce()
|
|||
int TileFIndex = GameServer()->Collision()->GetFTileIndex(MapIndex);
|
||||
bool IsSwitchTeleGun = GameServer()->Collision()->IsSwitch(MapIndex) == TILE_ALLOW_TELE_GUN;
|
||||
|
||||
if(IsSwitchTeleGun) {
|
||||
// Delay specifies which weapon the tile should work for.
|
||||
// Delay = 0 means all.
|
||||
int delay = GameServer()->Collision()->GetSwitchDelay(MapIndex);
|
||||
|
||||
if((delay != 3 && delay != 0) && m_Type == WEAPON_RIFLE)
|
||||
IsSwitchTeleGun = false;
|
||||
}
|
||||
|
||||
// Teleport is canceled if the last bounce tile is not a TILE_ALLOW_TELE_GUN.
|
||||
// Teleport also works if laser didn't bounce.
|
||||
m_TeleportCancelled =
|
||||
|
|
|
@ -179,6 +179,19 @@ void CProjectile::Tick()
|
|||
int TileFIndex = GameServer()->Collision()->GetFTileIndex(MapIndex);
|
||||
bool IsSwitchTeleGun = GameServer()->Collision()->IsSwitch(MapIndex) == TILE_ALLOW_TELE_GUN;
|
||||
|
||||
if(IsSwitchTeleGun) {
|
||||
// Delay specifies which weapon the tile should work for.
|
||||
// Delay = 0 means all.
|
||||
int delay = GameServer()->Collision()->GetSwitchDelay(MapIndex);
|
||||
|
||||
if(delay == 1 && m_Type != WEAPON_GUN)
|
||||
IsSwitchTeleGun = false;
|
||||
if(delay == 2 && m_Type != WEAPON_GRENADE)
|
||||
IsSwitchTeleGun = false;
|
||||
if(delay == 3 && m_Type != WEAPON_RIFLE)
|
||||
IsSwitchTeleGun = false;
|
||||
}
|
||||
|
||||
if (TileIndex == TILE_ALLOW_TELE_GUN
|
||||
|| TileFIndex == TILE_ALLOW_TELE_GUN
|
||||
|| IsSwitchTeleGun
|
||||
|
|
Loading…
Reference in a new issue