Started implementation of information about item used screen
This commit is contained in:
@@ -88,12 +88,12 @@ public class EffectService
|
||||
SfxDatabase.Instance.Play(SoundEffect.HealHP);
|
||||
}
|
||||
|
||||
public void AbsorbHPFromAllEnemiesInRoom()
|
||||
public int AbsorbHPFromAllEnemiesInRoom()
|
||||
{
|
||||
var currentRoom = _map.GetPlayersCurrentRoom();
|
||||
|
||||
if (currentRoom is not MonsterRoom)
|
||||
return;
|
||||
return 0;
|
||||
|
||||
var currentEnemies = currentRoom.EnemiesInRoom;
|
||||
var hpToAbsorb = 0.0;
|
||||
@@ -104,9 +104,7 @@ public class EffectService
|
||||
hpToAbsorb += absorbAmount;
|
||||
enemy.OnAbsorb();
|
||||
}
|
||||
_player.HealthComponent.Heal((int)hpToAbsorb);
|
||||
_player.PlaySpellFX(SpellFXEnum.Kyuuketsuki);
|
||||
GD.Print("HP to absorb: " + hpToAbsorb);
|
||||
return (int)hpToAbsorb;
|
||||
}
|
||||
|
||||
public void DealElementalDamageToAllEnemiesInRoom(ElementType elementType)
|
||||
@@ -306,7 +304,7 @@ public class EffectService
|
||||
SfxDatabase.Instance.Play(SoundEffect.TeleportToRandomRoom);
|
||||
}
|
||||
|
||||
public void WarpToExit()
|
||||
public bool WarpToExit()
|
||||
{
|
||||
var exitRoom = _game.CurrentFloor.Rooms.OfType<ExitRoom>().Single();
|
||||
if (exitRoom.PlayerDiscoveredRoom)
|
||||
@@ -314,7 +312,9 @@ public class EffectService
|
||||
SfxDatabase.Instance.Play(SoundEffect.TeleportToExit);
|
||||
var exitPoint = exitRoom.PlayerSpawn.GlobalPosition;
|
||||
_player.TeleportPlayer((exitRoom.PlayerSpawn.Rotation, new Vector3(exitPoint.X, _player.GlobalPosition.Y, exitPoint.Z)));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void DamagesPlayer(int damage)
|
||||
@@ -341,11 +341,11 @@ public class EffectService
|
||||
_game.UseItem(item);
|
||||
}
|
||||
|
||||
public void DropTo1HPAndGainRareItem<T>()
|
||||
public T DropTo1HPAndGainRareItem<T>()
|
||||
where T : IBaseInventoryItem
|
||||
{
|
||||
_player.HealthComponent.SetCurrentHealth(1);
|
||||
_player.Inventory.TryAdd(ItemDatabase.Instance.PickRareItem<T>());
|
||||
return ItemDatabase.Instance.PickRareItem<T>();
|
||||
}
|
||||
|
||||
public void TradeRandomItem<T>(BoxItem box)
|
||||
@@ -373,7 +373,7 @@ public class EffectService
|
||||
return newInventory;
|
||||
}
|
||||
|
||||
public void GetUnobtainedItem()
|
||||
public IBaseInventoryItem GetUnobtainedItem()
|
||||
{
|
||||
var pickableItems = ItemDatabase.Instance.Items.Except(_player.Inventory.Items).ToList();
|
||||
var rng = new RandomNumberGenerator();
|
||||
@@ -384,12 +384,12 @@ public class EffectService
|
||||
if (selectedItem is ThrowableItem throwableItem)
|
||||
throwableItem.SetCount(rng.RandiRange(throwableItem.Stats.MinimumCount, throwableItem.Stats.MaximumCount));
|
||||
|
||||
_player.Inventory.TryAdd(selectedItem);
|
||||
return selectedItem;
|
||||
}
|
||||
|
||||
public void GetBasicItem<T>()
|
||||
public T GetBasicItem<T>()
|
||||
where T : IBaseInventoryItem
|
||||
{
|
||||
_player.Inventory.TryAdd(ItemDatabase.Instance.PickBasicItem<T>());
|
||||
return ItemDatabase.Instance.PickBasicItem<T>();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user