// File: /workspace/github_cpp_makefile_star2_O2/dnegovan[P]Intruder-On-Donnar-V/Space.cpp
// Function: Space::administerCompound(Player&)
bool Space::administerCompound(Player& markNelson)
{
    std::cout << NARRATOR_COLOR
              << "Telling " << occupant->getName() << " that it's just a routine "
              "vaccine for something the crew \nmight have been exposed to on the "
              "planet, you inject the \ncompound into the side of ";

    if (occupant->getName().compare("Holly") == 0 ||
        occupant->getName().compare("Penny") == 0)
    {
        std::cout << "her neck.\n";
    }
    else
    {
        std::cout << "his neck.\n";
    }

    wait(MED);
    std::cout << std::endl;
    wait(MED);
    std::cout << std::endl;

    markNelson.pack.removeItem(compound);
    std::cout << RED;
	if (markNelson.incubated && occupant->getInfected())
    {
    	std::cout << occupant->getName() << " is unaffected. The compound is "
                  "useless because the parasite has \nincubated.\nYou'll need to "
                  " kill " << occupant->getName() << " and any other hosts "
                  "to prevent the \nparasite spreading further." << std::endl;
    }
    if (occupant->getInfected() == false)
    {
		markNelson.injectedWrong = true;
		occupant->setAlive(false);
        std::cout << occupant->getName() << " is not infected, and therefore "
                  "dies quickly and horribly before \nyour eyes.  You've wasted "
                  "the compound and must now kill \nany remaining hosts to save "
                  "the rest of the crew." << std::endl;
    }
    std::cout << RESET;

    //base can't trigger game ending, always true
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x60, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x7044(%rip), %rdi      # 0x15fc8
leaq 0x110d(%rip), %rsi      # 0x10098
callq 0x31d0
leaq 0x2558(%rip), %rsi      # 0x114ef
movq %rax, %rdi
callq 0x31d0
movq %rax, %r15
movq 0x8(%rbx), %rsi
leaq -0x40(%rbp), %r12
movq %r12, %rdi
callq 0xa5b4
movq %r15, %rdi
movq %r12, %rsi
callq 0x31b0
leaq 0x2534(%rip), %rsi      # 0x114f8
movq %rax, %rdi
callq 0x31d0
leaq -0x40(%rbp), %rdi
callq 0x3368
movq 0x8(%rbx), %rsi
leaq -0x40(%rbp), %r15
movq %r15, %rdi
callq 0xa5b4
leaq 0x1268(%rip), %rsi      # 0x10254
movq %r15, %rdi
callq 0x3090
testl %eax, %eax
je 0xf043
movq 0x8(%rbx), %rsi
leaq -0x60(%rbp), %rdi
callq 0xa5b4
leaq 0x107a(%rip), %rsi      # 0x10086
leaq -0x60(%rbp), %r15
movq %r15, %rdi
callq 0x3090
movl %eax, %r12d
movq %r15, %rdi
callq 0x3368
leaq -0x40(%rbp), %rdi
callq 0x3368
testl %r12d, %r12d
leaq 0x2551(%rip), %rax      # 0x11587
leaq 0x2555(%rip), %rsi      # 0x11592
cmoveq %rax, %rsi
jmp 0xf053
leaq -0x40(%rbp), %rdi
callq 0x3368
leaq 0x2534(%rip), %rsi      # 0x11587
movq 0x6f6e(%rip), %r15      # 0x15fc8
movq %r15, %rdi
callq 0x31d0
movsd 0x1386(%rip), %xmm0     # 0x103f0
callq 0xbaf9
movq %r15, %rdi
callq 0x30f0
movsd 0x1371(%rip), %xmm0     # 0x103f0
callq 0xbaf9
movq %r15, %rdi
callq 0x30f0
leaq 0x8aa5(%rip), %rsi      # 0x17b38
leaq -0x80(%rbp), %r15
movq %r15, %rdi
callq 0x3250
movq %r14, %rdi
movq %r15, %rsi
callq 0x9730
leaq -0x80(%rbp), %rdi
callq 0x3368
movq 0x6f0e(%rip), %rdi      # 0x15fc8
leaq 0x18e2(%rip), %rsi      # 0x109a3
callq 0x31d0
cmpb $0x1, 0x28(%r14)
jne 0xf151
movq 0x8(%rbx), %rdi
callq 0xa5ee
testb %al, %al
je 0xf151
movq 0x8(%rbx), %rsi
leaq -0x40(%rbp), %r15
movq %r15, %rdi
callq 0xa5b4
movq 0x6ed3(%rip), %rdi      # 0x15fc8
movq %r15, %rsi
callq 0x31b0
leaq 0x2499(%rip), %rsi      # 0x1159d
movq %rax, %rdi
callq 0x31d0
movq %rax, %r15
movq 0x8(%rbx), %rsi
leaq -0x60(%rbp), %rdi
callq 0xa5b4
leaq -0x60(%rbp), %rsi
movq %r15, %rdi
callq 0x31b0
leaq 0x24d1(%rip), %rsi      # 0x11600
movq %rax, %rdi
callq 0x31d0
movq %rax, %rdi
callq 0x30f0
leaq -0x60(%rbp), %rdi
callq 0x3368
leaq -0x40(%rbp), %rdi
callq 0x3368
movq 0x8(%rbx), %rdi
callq 0xa5ee
testb %al, %al
jne 0xf1ad
movb $0x1, 0x18(%r14)
movq 0x8(%rbx), %rdi
xorl %esi, %esi
callq 0xa5d0
movq 0x8(%rbx), %rsi
leaq -0x40(%rbp), %rbx
movq %rbx, %rdi
callq 0xa5b4
movq 0x6e43(%rip), %rdi      # 0x15fc8
movq %rbx, %rsi
callq 0x31b0
leaq 0x24ad(%rip), %rsi      # 0x11641
movq %rax, %rdi
callq 0x31d0
movq %rax, %rdi
callq 0x30f0
leaq -0x40(%rbp), %rdi
callq 0x3368
movq 0x6e14(%rip), %rdi      # 0x15fc8
leaq 0xef8(%rip), %rsi       # 0x100b3
callq 0x31d0
movb $0x1, %al
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0xf1ee
jmp 0xf1ee
jmp 0xf1ee
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x3368
jmp 0xf1f1
movq %rax, %rbx
leaq -0x80(%rbp), %rdi
jmp 0xf1f5
jmp 0xf1ee
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x3368
movq %rbx, %rdi
callq 0x3300