// File: hobbitsyfeet[P]Turn/unit.cc
// Function: Unit::Unit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int, int, int, int, int, int, int, int, int, int, int, int, bool, bool, bool, bool, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Unit::Unit(string Name,int Level, int Health,int MaxHealth,int Attack,int Range,int Defence,
	int Exp, int MaxExp, int Gold, int Stam, int Dice, int xpos, int ypos,
bool lEquip, bool rEquip, bool hEquip,bool tEquip, bool legEquip, bool ftEquip,
 string cWorld){
  name=Name;
  level = Level;

  health=Health;
  maxHealth=MaxHealth;

  attack=Attack;
  range=Range;
  defence=Defence;

  gold=Gold;

  experience=Exp;
  maxExperience = MaxExp;
  stamina = Stam;
  dice = Dice;

  posX = xpos;
  posY = ypos;


//need to pass in or else will always spawn with empty items, thus will enable equiping multiple items.
	leftHandEquipped = lEquip;
	rightHandEquipped =rEquip;
  torsoEquipped = tEquip;
	headEquipped =hEquip;
	legsEquipped =legEquip;
	feetEquipped =ftEquip;

  currentWorld = cWorld;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x70, %rsp
movl %r8d, %r10d
movl %ecx, %r11d
movl %edx, %ebx
movq %rsi, %r14
movq %r14, -0x60(%rbp)
movq %rdi, %r15
movq 0x88(%rbp), %rax
movq %rax, -0x88(%rbp)
movb 0x80(%rbp), %al
movb 0x78(%rbp), %cl
movb 0x70(%rbp), %dl
movb 0x68(%rbp), %sil
movb 0x60(%rbp), %dil
movb 0x58(%rbp), %r8b
movl 0x50(%rbp), %r12d
movl 0x48(%rbp), %r12d
movl 0x40(%rbp), %r12d
movl 0x38(%rbp), %r12d
movl 0x30(%rbp), %r12d
movl 0x28(%rbp), %r12d
movl 0x20(%rbp), %r12d
movl 0x18(%rbp), %r12d
movl 0x10(%rbp), %r12d
movq %r15, -0x28(%rbp)
movq %r14, -0x30(%rbp)
movl %ebx, -0x34(%rbp)
movl %r11d, -0x38(%rbp)
movl %r10d, -0x3c(%rbp)
movl %r9d, -0x40(%rbp)
andb $0x1, %r8b
movb %r8b, -0x41(%rbp)
andb $0x1, %dil
movb %dil, -0x42(%rbp)
andb $0x1, %sil
movb %sil, -0x43(%rbp)
andb $0x1, %dl
movb %dl, -0x44(%rbp)
andb $0x1, %cl
movb %cl, -0x45(%rbp)
andb $0x1, %al
movb %al, -0x46(%rbp)
movq -0x28(%rbp), %rdi
movq %rdi, -0x68(%rbp)
movq %rdi, %rax
movq %rax, -0x80(%rbp)
callq 0x3390
movq -0x68(%rbp), %rdi
addq $0x58, %rdi
movq %rdi, -0x78(%rbp)
callq 0x3390
movq -0x68(%rbp), %rdi
subq $-0x80, %rdi
movq %rdi, -0x70(%rbp)
callq 0x7a10
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x3060
jmp 0x4fa0
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdi
movl -0x34(%rbp), %eax
movl %eax, 0x44(%rdi)
movl -0x38(%rbp), %eax
movl %eax, 0x20(%rdi)
movl -0x3c(%rbp), %eax
movl %eax, 0x24(%rdi)
movl -0x40(%rbp), %eax
movl %eax, 0x2c(%rdi)
movl 0x10(%rbp), %eax
movl %eax, 0x30(%rdi)
movl 0x18(%rbp), %eax
movl %eax, 0x34(%rdi)
movl 0x30(%rbp), %eax
movl %eax, 0x38(%rdi)
movl 0x20(%rbp), %eax
movl %eax, 0x40(%rdi)
movl 0x28(%rbp), %eax
movl %eax, 0x3c(%rdi)
movl 0x38(%rbp), %eax
movl %eax, 0x28(%rdi)
movl 0x40(%rbp), %eax
movl %eax, 0x48(%rdi)
movl 0x48(%rbp), %eax
movl %eax, 0x78(%rdi)
movl 0x50(%rbp), %eax
movl %eax, 0x7c(%rdi)
movb -0x41(%rbp), %al
andb $0x1, %al
movb %al, 0x98(%rdi)
movb -0x42(%rbp), %al
andb $0x1, %al
movb %al, 0x99(%rdi)
movb -0x44(%rbp), %al
andb $0x1, %al
movb %al, 0x9b(%rdi)
movb -0x43(%rbp), %al
andb $0x1, %al
movb %al, 0x9a(%rdi)
movb -0x45(%rbp), %al
andb $0x1, %al
movb %al, 0x9c(%rdi)
movb -0x46(%rbp), %al
andb $0x1, %al
movb %al, 0x9d(%rdi)
addq $0x58, %rdi
callq 0x3060
jmp 0x5046
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq -0x70(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
callq 0x4950
movq -0x78(%rbp), %rdi
callq 0x31c0
movq -0x68(%rbp), %rdi
callq 0x31c0
movq -0x50(%rbp), %rdi
callq 0x3440
nopw %cs:(%rax,%rax)