Lamthai/game/player.cpp

78 lines
2.5 KiB
C++

#include <iostream>
#include <vector>
#include <string>
#include "structs.h"
#include "utilities.h"
#include "player.h"
#include "spells.h"
const int MAGE = 0;
const int ALCHIMIST = 1;
const int WARRIOR = 2;
const int ENGINEER = 3;
const int ARCHER = 4;
const int TAMER = 5;
void init_default_mage(Player& player_arg) {
player_arg.name = "Liam le dieu";
player_arg.job = MAGE;
player_arg.xp = 0;
player_arg.max_health = 50;
player_arg.max_shield = 20;
player_arg.max_speed = 10;
player_arg.max_mana = 50;
player_arg.max_energy = 0;
init_stats(player_arg);
init_spells(player_arg.spell_book);
player_arg.escape = 1.0;
player_arg.menace = 0.7;
}
void init_speed(Player& player_arg) {
player_arg.speed = player_arg.max_speed;
}
void init_stats(Player& player_arg) {
player_arg.health = player_arg.max_health;
player_arg.shield = player_arg.max_shield;
player_arg.speed = player_arg.max_speed;
player_arg.mana = player_arg.max_mana;
player_arg.energy = player_arg.max_energy;
}
void inc_health(Player& player_arg, int value_arg){
player_arg.health += value_arg;
}
void inc_shield(Player& player_arg, int value_arg){
player_arg.shield += value_arg;
}
void inc_speed(Player& player_arg, int value_arg){
player_arg.speed += value_arg;
}
void inc_mana(Player& player_arg, int value_arg){
player_arg.mana += value_arg;
}
void inc_energy(Player& player_arg, int value_arg){
player_arg.energy += value_arg;
}
void level_up(Player& player_arg, int xp_arg){
player_arg.xp += xp_arg;
}
void print_player(const Player& player_arg) {
std::vector<std::string> jobs = {"Mage", "Alchimist", "Warrior", "Engineer", "Archer", "Tamer"};
std::cout << player_arg.name << std::endl;
std::cout << jobs[player_arg.job] << std::endl;
std::cout << "Xp: " << player_arg.xp << std::endl;
std::cout << "Health: " << player_arg.health << "/"<< player_arg.max_health << std::endl;
std::cout << "Shield: " << player_arg.shield << "/"<< player_arg.max_shield << std::endl;
std::cout << "Mana: " << player_arg.mana << "/"<< player_arg.max_mana << std::endl;
std::cout << "Energy: " << player_arg.energy << "/"<< player_arg.max_energy << std::endl;
std::cout << "Speed: " << player_arg.speed << "/"<< player_arg.max_speed << std::endl;
std::cout << "Escape: " << player_arg.escape * 100 << "%"<< std::endl;
std::cout << "Menace: " << player_arg.menace * 100 << "%"<< std::endl;
std::cout << std::endl;
}