예제 #1
0
 private void HealInjuries(NpcStats crewMember)
 {
     if (crewMember.GetSickLevel() < 10 && crewMember.GetNpcCurrentHealth() < crewMember.GetNpcMaximunHealth())
     {
         crewMember.Recover();
     }
 }
예제 #2
0
    private void Sickness(NpcStats crewMember)
    {
        //TODO: If sickLevel of npc > 10, health is lost.
        //TODO: If sickLevel of npc > 20, attributes and health are lost.
        //TODO: If sickLevel of npc > 30 or health = 0, RIP, all npcs loses 10 of loyalty
        int sickLevel = crewMember.GetSickLevel();

        if (sickLevel >= 10)
        {
            crewMember.OnDamageReceived(2);
        }
        if (sickLevel >= 20)
        {
            crewMember.OnDamageReceived(4);
            crewMember.DecreaseStats();
        }
        if (sickLevel >= 30)
        {
            crewMember.OnDamageReceived(100);
        }
        if (crewMember.GetNpcCurrentHealth() <= 0)
        {
            playerCrew.Remove(crewMember);
        }
    }
예제 #3
0
    private void HealSickness(NpcStats crewMember)
    {
        //TODO: If medic in crew AND it has medicines, sick level of all decreasesx2. If not decreases.
        //If medic is sick, shit happens
        NpcStats medic = CheckForMedic();

        if (medic != null && medic.GetSickLevel() < 10 && pDController.PlayerData.CurrentMedicine > 0)
        {
            pDController.PlayerData.CurrentMedicine -= 1;
            crewMember.DecreaseSicknessLevel(2);
        }
    }