Advertisement
Notrew3

Human.php

May 25th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 14.53 KB | None | 0 0
  1. <?php
  2.  
  3. /*
  4.  * To change this license header, choose License Headers in Project Properties.
  5.  * To change this template file, choose Tools | Templates
  6.  * and open the template in the editor.
  7.  */
  8.  
  9. /**
  10.  * Description of Human
  11.  *
  12.  * @author Positivo
  13.  */
  14. include_once 'Knight.php';
  15. include_once 'Heads.php';
  16. include_once 'Swords.php';
  17. include_once 'Shields.php';
  18. include_once 'Necks.php';
  19. include_once 'Chests.php';
  20. include_once 'Fingers.php';
  21. include_once 'Legs.php';
  22. include_once 'Foots.php';
  23. include_once 'Fight.php';
  24.  
  25. class Human {
  26.  
  27.     private $nickname;
  28.     private $role;
  29.     private $level;
  30.     //Equipments
  31.     private $head;
  32.     private $neck;
  33.     private $chest;
  34.     private $left_hand;
  35.     private $right_hand;
  36.     private $left_finger;
  37.     private $right_finger;
  38.     private $legs;
  39.     private $foot;
  40.     //Stats
  41.     private $health_poits;
  42.     private $base_damage;
  43.     private $base_defense;
  44.     private $base_dodge_chance;
  45.     private $base_counter_chance;
  46.     private $base_hit_chance;
  47.     private $base_critical_damage_multiplier;
  48.     private $base_critical_chance;
  49.  
  50.     public function __construct($nickname, $role) {
  51.         echo "<h2>Ficha do Jogador</h2>";
  52.         echo "<hr>";
  53.         $this->nickname = $nickname;
  54.         $this->role = $role;
  55.         $this->level = 0;
  56.         $this->head = "empty";
  57.         $this->neck = "empty";
  58.         $this->chest = "empty";
  59.         $this->left_hand = "empty";
  60.         $this->right_hand = "empty";
  61.         $this->left_finger = "empty";
  62.         $this->right_finger = "empty";
  63.         $this->legs = "empty";
  64.         $this->foot = "empty";
  65.         switch ($role) {
  66.             case "Knight":
  67.                 $this->health_poits = Knight::HP;
  68.                 $this->base_damage = Knight::B_DMG;
  69.                 $this->base_defense = Knight::B_DEF;
  70.                 $this->base_dodge_chance = Knight::B_DGE_CHC;
  71.                 $this->base_counter_chance = Knight::B_CTR_CHC;
  72.                 $this->base_hit_chance = Knight::B_HIT_CHC;
  73.                 $this->base_critical_damage_multiplier = Knight::B_CRIT_DMG_MULT;
  74.                 $this->base_critical_chance = Knight::B_CRIT_CHC;
  75.                 break;
  76.             default: echo "Padrão";
  77.         }
  78.     }
  79.  
  80.     function atack($atack_player, $defense_player) {
  81.         $fight = new Fight($atack_player, $defense_player);
  82.         echo "<br>" . $atack_player->getNickname() . " Is <big>Atacking</big>...";
  83.         echo "<hr>";
  84.         $damage = $fight->calculate();
  85.         $counter = $damage / 2;
  86.         $damage = $defense_player->getHealth_poits() - $damage;
  87.         $defense_player->health_poits = $damage;
  88.         if (rand(0, 100) <= $defense_player->getBase_counter_chance() && $defense_player->getHealth_poits() > 0) {
  89.             echo "<h2>Counter Atack!!!</h2>";
  90.             echo "<br>" . $defense_player->getNickname() . " Counter atack's dealing Half of damage!";
  91.  
  92.             $counter = $atack_player->getHealth_poits() - $counter;
  93.             $atack_player->health_poits = $counter;
  94.         }
  95.         return $damage;
  96.     }
  97.  
  98.     function levelUp($level) {
  99.         $this->level = $this->level + $level;
  100.         $this->health_poits = $this->health_poits + (15 * $this->level);
  101.         $this->base_damage = $this->base_damage + (2 * $this->level);
  102.         $this->base_defense = $this->base_defense + (0.5 * $this->level);
  103.         $this->base_dodge_chance = $this->base_dodge_chance + (0.03 * $this->level);
  104.         $this->base_counter_chance = $this->base_counter_chance + (0.04 * $this->level);
  105.         $this->base_hit_chance = $this->base_hit_chance + (0.006 * $this->level);
  106.         $this->base_critical_damage_multiplier = $this->base_critical_damage_multiplier + (0.014 * $this->level);
  107.         $this->base_critical_chance = $this->base_critical_chance + (0.005 * $this->level);
  108.     }
  109.  
  110.     function showPlayerInfo($player) {
  111.         echo "<br>";
  112.         echo "<h2>" . $player->getNickname();
  113.         echo "<h3>Level: <big>" . $player->getLevel() . "</big>";
  114.         echo "<h4>Stats</h4>";
  115.         echo "<br><h5>Health Points: " . $player->getHealth_poits() . "</h5>";
  116.         echo "<br><h5>Base Damage: " . $player->getBase_damage() . "</h5>";
  117.         echo "<br><h5>Base Defense: " . $player->getBase_defense() . "</h5>";
  118.         echo "<br><h5>Base Hit Chance: " . $player->getBase_hit_chance() . "</h5>";
  119.         echo "<br><h5>Base Dodge Chance: " . $player->getBase_dodge_chance() . "</h5>";
  120.         echo "<br><h5>Base Counter Chance: " . $player->getBase_counter_chance() . "</h5>";
  121.         echo "<br><h5>Base Critical Chance: " . $player->getBase_critical_chance() . "</h5>";
  122.         echo "<br><h5>Base Critical Multiplier: " . $player->getBase_critical_damage_multiplier() . "</h5>";
  123.         echo "<div class='itens'>";
  124.         echo "<br><h5>Head: " . $player->getHead() . "</h5>";
  125.         echo "<br><h5>Neck: " . $player->getNeck() . "</h5>";
  126.         echo "<br><h5>Chest: " . $player->getChest() . "</h5>";
  127.         echo "<br><h5>Left Hand: " . $player->getLeft_hand() . "</h5>";
  128.         echo "<br><h5>Right Hand: " . $player->getRight_hand() . "</h5>";
  129.         echo "<br><h5>Left Finger: " . $player->getLeft_finger() . "</h5>";
  130.         echo "<br><h5>Right Fringer: " . $player->getRight_finger() . "</h5>";
  131.         echo "<br><h5>Legs: " . $player->getLegs() . "</h5>";
  132.         echo "<br><h5>Feet: " . $player->getFoot() . "</h5>";
  133.         echo "</div>";
  134.     }
  135.  
  136.     //Getters and Setters
  137.     //GETTERS
  138.     function getNickname() {
  139.         return $this->nickname;
  140.     }
  141.  
  142.     function getRole() {
  143.         return $this->role;
  144.     }
  145.  
  146.     function getLevel() {
  147.         return $this->level;
  148.     }
  149.  
  150.     function getHead() {
  151.         return $this->head;
  152.     }
  153.  
  154.     function getNeck() {
  155.         return $this->neck;
  156.     }
  157.  
  158.     function getChest() {
  159.         return $this->chest;
  160.     }
  161.  
  162.     function getLeft_hand() {
  163.         return $this->left_hand;
  164.     }
  165.  
  166.     function getRight_hand() {
  167.         return $this->right_hand;
  168.     }
  169.  
  170.     function getLeft_finger() {
  171.         return $this->left_finger;
  172.     }
  173.  
  174.     function getRight_finger() {
  175.         return $this->right_finger;
  176.     }
  177.  
  178.     function getLegs() {
  179.         return $this->legs;
  180.     }
  181.  
  182.     function getFoot() {
  183.         return $this->foot;
  184.     }
  185.  
  186.     function getHealth_poits() {
  187.         return $this->health_poits;
  188.     }
  189.  
  190.     function getBase_damage() {
  191.         return $this->base_damage;
  192.     }
  193.  
  194.     function getBase_defense() {
  195.         return $this->base_defense;
  196.     }
  197.  
  198.     function getBase_dodge_chance() {
  199.         return $this->base_dodge_chance;
  200.     }
  201.  
  202.     function getBase_counter_chance() {
  203.         return $this->base_counter_chance;
  204.     }
  205.  
  206.     function getBase_hit_chance() {
  207.         return $this->base_hit_chance;
  208.     }
  209.  
  210.     function getBase_critical_damage_multiplier() {
  211.         return $this->base_critical_damage_multiplier;
  212.     }
  213.  
  214.     function getBase_critical_chance() {
  215.         return $this->base_critical_chance;
  216.     }
  217.  
  218.     //SETTERS
  219.     function setNickname($nickname) {
  220.         $this->nickname = $nickname;
  221.     }
  222.  
  223.     function setRole($role) {
  224.         $this->role = $role;
  225.     }
  226.  
  227.     function setLevel($level) {
  228.         $this->level = $level;
  229.     }
  230.  
  231.     function setHead($head) {
  232.  
  233.         $this->head = $head->getHead_item_name();
  234.         $this->health_poits += $head->getHead_item_health_poits();
  235.         $this->base_damage += $head->getHead_item_damage();
  236.         $this->base_defense += $head->getHead_item_defense();
  237.         $this->base_dodge_chance += $head->getHead_item_dodge_chance();
  238.         $this->base_counter_chance += $head->getHead_item_counter_chance();
  239.         $this->base_hit_chance += $head->getHead_item_hit_chance();
  240.         $this->base_critical_damage_multiplier += $head->getHead_item_critical_damage_multiplier();
  241.         $this->base_critical_chance += $head->getHead_item_critical_chance();
  242.     }
  243.  
  244.     function setNeck($neck) {
  245.         $this->neck = $neck->getNeck_item_name();
  246.         $this->health_poits += $neck->getNeck_item_health_poits();
  247.         $this->base_damage += $neck->getNeck_item_damage();
  248.         $this->base_defense += $neck->getNeck_item_defense();
  249.         $this->base_dodge_chance += $neck->getNeck_item_dodge_chance();
  250.         $this->base_counter_chance += $neck->getNeck_item_counter_chance();
  251.         $this->base_hit_chance += $neck->getNeck_item_hit_chance();
  252.         $this->base_critical_damage_multiplier += $neck->getNeck_item_critical_damage_multiplier();
  253.         $this->base_critical_chance += $neck->getNeck_item_critical_chance();
  254.     }
  255.  
  256.     function setChest($chest) {
  257.         $this->chest = $chest->getChest_item_name();
  258.         $this->health_poits += $chest->getChest_item_health_poits();
  259.         $this->base_damage += $chest->getChest_item_damage();
  260.         $this->base_defense += $chest->getChest_item_defense();
  261.         $this->base_dodge_chance += $chest->getChest_item_dodge_chance();
  262.         $this->base_counter_chance += $chest->getChest_item_counter_chance();
  263.         $this->base_hit_chance += $chest->getChest_item_hit_chance();
  264.         $this->base_critical_damage_multiplier += $chest->getChest_item_critical_damage_multiplier();
  265.         $this->base_critical_chance += $chest->getChest_item_critical_chance();
  266.     }
  267.  
  268.     function setLeft_hand($left_hand) {
  269.  
  270.         $this->left_hand = $left_hand->getWeapon_item_name();
  271.         $this->health_poits += $left_hand->getWeapon_item_health_poits();
  272.         $this->base_damage += $left_hand->getWeapon_item_damage();
  273.         $this->base_defense += $left_hand->getWeapon_item_defense();
  274.         $this->base_dodge_chance += $left_hand->getWeapon_item_dodge_chance();
  275.         $this->base_counter_chance += $left_hand->getWeapon_item_counter_chance();
  276.         $this->base_hit_chance += $left_hand->getWeapon_item_hit_chance();
  277.         $this->base_critical_damage_multiplier += $left_hand->getWeapon_item_critical_damage_multiplier();
  278.         $this->base_critical_chance += $left_hand->getWeapon_item_critical_chance();
  279.     }
  280.  
  281.     function setRight_hand($right_hand) {
  282.  
  283.         $this->right_hand = $right_hand->getShield_item_name();
  284.         $this->health_poits += $right_hand->getShield_item_health_poits();
  285.         $this->base_damage += $right_hand->getShield_item_damage();
  286.         $this->base_defense += $right_hand->getShield_item_defense();
  287.         $this->base_dodge_chance += $right_hand->getShield_item_dodge_chance();
  288.         $this->base_counter_chance += $right_hand->getShield_item_counter_chance();
  289.         $this->base_hit_chance += $right_hand->getShield_item_hit_chance();
  290.         $this->base_critical_damage_multiplier += $right_hand->getShield_item_critical_damage_multiplier();
  291.         $this->base_critical_chance += $right_hand->getShield_item_critical_chance();
  292.     }
  293.  
  294.     function setLeft_finger($left_finger) {
  295.         $this->left_finger = $left_finger->getFinger_item_name();
  296.         $this->health_poits += $left_finger->getFinger_item_health_poits();
  297.         $this->base_damage += $left_finger->getFinger_item_damage();
  298.         $this->base_defense += $left_finger->getFinger_item_defense();
  299.         $this->base_dodge_chance += $left_finger->getFinger_item_dodge_chance();
  300.         $this->base_counter_chance += $left_finger->getFinger_item_counter_chance();
  301.         $this->base_hit_chance += $left_finger->getFinger_item_hit_chance();
  302.         $this->base_critical_damage_multiplier += $left_finger->getFinger_item_critical_damage_multiplier();
  303.         $this->base_critical_chance += $left_finger->getFinger_item_critical_chance();
  304.     }
  305.  
  306.     function setRight_finger($right_finger) {
  307.         $this->right_finger = $right_finger->getFinger_item_name();
  308.         $this->health_poits += $right_finger->getFinger_item_health_poits();
  309.         $this->base_damage += $right_finger->getFinger_item_damage();
  310.         $this->base_defense += $right_finger->getFinger_item_defense();
  311.         $this->base_dodge_chance += $right_finger->getFinger_item_dodge_chance();
  312.         $this->base_counter_chance += $right_finger->getFinger_item_counter_chance();
  313.         $this->base_hit_chance += $right_finger->getFinger_item_hit_chance();
  314.         $this->base_critical_damage_multiplier += $right_finger->getFinger_item_critical_damage_multiplier();
  315.         $this->base_critical_chance += $right_finger->getFinger_item_critical_chance();
  316.     }
  317.  
  318.     function setLegs($legs) {
  319.         $this->legs = $legs->getLeg_item_name();
  320.         $this->health_poits += $legs->getLeg_item_health_poits();
  321.         $this->base_damage += $legs->getLeg_item_damage();
  322.         $this->base_defense += $legs->getLeg_item_defense();
  323.         $this->base_dodge_chance += $legs->getLeg_item_dodge_chance();
  324.         $this->base_counter_chance += $legs->getLeg_item_counter_chance();
  325.         $this->base_hit_chance += $legs->getLeg_item_hit_chance();
  326.         $this->base_critical_damage_multiplier += $legs->getLeg_item_critical_damage_multiplier();
  327.         $this->base_critical_chance += $legs->getLeg_item_critical_chance();
  328.     }
  329.  
  330.     function setFoot($foot) {
  331.         $this->foot = $foot->getFoot_item_name();
  332.         $this->health_poits += $foot->getFoot_item_health_poits();
  333.         $this->base_damage += $foot->getFoot_item_damage();
  334.         $this->base_defense += $foot->getFoot_item_defense();
  335.         $this->base_dodge_chance += $foot->getFoot_item_dodge_chance();
  336.         $this->base_counter_chance += $foot->getFoot_item_counter_chance();
  337.         $this->base_hit_chance += $foot->getFoot_item_hit_chance();
  338.         $this->base_critical_damage_multiplier += $foot->getFoot_item_critical_damage_multiplier();
  339.         $this->base_critical_chance += $foot->getFoot_item_critical_chance();
  340.     }
  341.  
  342.     function setHealth_poits($health_poits) {
  343.         $this->health_poits = $health_poits;
  344.     }
  345.  
  346.     function setBase_damage($base_damage) {
  347.         $this->base_damage = $base_damage;
  348.     }
  349.  
  350.     function setBase_defense($base_defense) {
  351.         $this->base_defense = $base_defense;
  352.     }
  353.  
  354.     function setBase_dodge_chance($base_dodge_chance) {
  355.         $this->base_dodge_chance = $base_dodge_chance;
  356.     }
  357.  
  358.     function setBase_counter_chance($base_counter_chance) {
  359.         $this->base_counter_chance = $base_counter_chance;
  360.     }
  361.  
  362.     function setBase_hit_chance($base_hit_chance) {
  363.         $this->base_hit_chance = $base_hit_chance;
  364.     }
  365.  
  366.     function setBase_critical_damage_multiplier($base_critical_damage_multiplier) {
  367.         $this->base_critical_damage_multiplier = $base_critical_damage_multiplier;
  368.     }
  369.  
  370.     function setBase_critical_chance($base_critical_chance) {
  371.         $this->base_critical_chance = $base_critical_chance;
  372.     }
  373.  
  374. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement