//Green text. Function here. public Player(ContentManager sCont, gridCoordinate sGridCoord, ref List<string> msgBuffer, Chara_Class myClass, Character myChara, ref PaperDoll pd) { //Constructor stuff cont = sCont; my_grid_coord = new gridCoordinate(sGridCoord); my_Position = new Vector2(sGridCoord.x * 32, sGridCoord.y * 32); rGen = new Random(); message_buffer = msgBuffer; //!Constructor stuff my_gold = 0; base_smell_value = 10; base_sound_value = 10; //Player stuff my_class = myClass; my_character = myChara; base_hp = 3; if (my_character == Character.Belia) base_hp++; //Belia gets +60 HP to all of her body parts. switch (my_character) { case Character.Falsael: my_Texture = cont.Load<Texture2D>("Player/falsael_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/falsael_dead"); break; case Character.Petaer: my_Texture = cont.Load<Texture2D>("Player/petaer_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/petaer_dead"); break; case Character.Ziktofel: my_Texture = cont.Load<Texture2D>("Player/ziktofel_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/ziktofel_dead"); break; case Character.Halephon: my_Texture = cont.Load<Texture2D>("Player/halephon_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/halephon_dead"); break; case Character.Belia: my_Texture = cont.Load<Texture2D>("Player/belia_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/belia_sprite"); break; default: my_Texture = cont.Load<Texture2D>("Player/lmfaoplayer"); my_dead_texture = cont.Load<Texture2D>("Player/playercorpse"); break; } //Health stuff. Head = new Limb(ref rGen, "Head", "Head", base_hp - 2); Torso = new Limb(ref rGen, "Chest", "Chest", base_hp); R_Arm = new Limb(ref rGen, "Right Arm", "RArm", base_hp); L_Arm = new Limb(ref rGen, "Left Arm", "LArm", base_hp); R_Leg = new Limb(ref rGen, "Right Leg", "RLeg", base_hp); L_Leg = new Limb(ref rGen, "Left Leg", "LLeg", base_hp); calculate_dodge_chance(); //Inventory stuff inventory = new List<Item>(); reserved_potion_ids = new List<Tuple<int, int>>(); for(int i = 1; i <= 3; i++) reserved_potion_ids.Add(new Tuple<int,int>(i, new_random_ID_number())); add_starting_gear(); //Character stuff BuffDebuffTracker = new List<StatusEffect>(); pDoll = pd; normal_backing = Color.White; invis_backing = new Color(255, 255, 255, 75); }
public Player(ContentManager sCont, ref List<string> msgBuffer, ref PaperDoll pd, PlayerDC raw_player) { //Constructor stuff cont = sCont; my_grid_coord = new gridCoordinate(raw_player.Player_GC_X, raw_player.Player_GC_Y); my_Position = new Vector2(raw_player.Player_GC_X * 32, raw_player.Player_GC_Y * 32); rGen = new Random(); message_buffer = msgBuffer; //!Constructor stuff my_gold = raw_player.Player_Gold; lifetime_gold = raw_player.Player_Lifetime_Gold; base_smell_value = 10; base_sound_value = 10; //Player stuff my_class = ((Chara_Class)Enum.Parse(typeof(Chara_Class), raw_player.Chara_Class)); my_character = ((Character)Enum.Parse(typeof(Character), raw_player.Character)); switch (my_character) { case Character.Falsael: my_Texture = cont.Load<Texture2D>("Player/falsael_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/falsael_dead"); break; case Character.Petaer: my_Texture = cont.Load<Texture2D>("Player/petaer_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/petaer_dead"); break; case Character.Ziktofel: my_Texture = cont.Load<Texture2D>("Player/ziktofel_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/ziktofel_dead"); break; case Character.Halephon: my_Texture = cont.Load<Texture2D>("Player/halephon_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/halephon_dead"); break; case Character.Belia: my_Texture = cont.Load<Texture2D>("Player/belia_sprite"); my_dead_texture = cont.Load<Texture2D>("Player/belia_sprite"); break; default: my_Texture = cont.Load<Texture2D>("Player/lmfaoplayer"); my_dead_texture = cont.Load<Texture2D>("Player/playercorpse"); break; } //Health stuff. base_hp = raw_player.Base_Health; BuffDebuffTracker = new List<StatusEffect>(); Head = new Limb(raw_player.Limbs[0]); Torso = new Limb(raw_player.Limbs[1]); R_Arm = new Limb(raw_player.Limbs[2]); L_Arm = new Limb(raw_player.Limbs[3]); R_Leg = new Limb(raw_player.Limbs[4]); L_Leg = new Limb(raw_player.Limbs[5]); //Inventory stuff inventory = new List<Item>(); reserved_potion_ids = new List<Tuple<int, int>>(); //WILL NEED TO FIGURE THESE OUT. for (int i = 0; i < raw_player.Reserved_Potion_Code.Count; i++) reserved_potion_ids.Add(new Tuple<int, int>(raw_player.Reserved_Potion_Code[i], raw_player.Reserved_Potion_ID[i])); for (int i = 0; i < raw_player.Armors_In_Inv.Count; i++) inventory.Add(new Armor(raw_player.Armors_In_Inv[i])); for (int i = 0; i < raw_player.Potions_In_Inv.Count; i++) acquire_potion(new Potion(raw_player.Potions_In_Inv[i])); for (int i = 0; i < raw_player.Scrolls_In_Inv.Count; i++) inventory.Add(new Scroll(raw_player.Scrolls_In_Inv[i])); for (int i = 0; i < raw_player.Weapons_In_Inv.Count; i++) inventory.Add(new Weapon(raw_player.Weapons_In_Inv[i])); //Equipped Items Weapon next_mh = null; if (raw_player.Main_Hand != null) { next_mh = new Weapon(raw_player.Main_Hand); equip_main_hand(next_mh); } Weapon next_oh = null; if (raw_player.Off_Hand != null) { next_oh = new Weapon(raw_player.Off_Hand); equip_off_hand(next_oh); } Armor next_helmet = null; if (raw_player.Helmet != null) { next_helmet = new Armor(raw_player.Helmet); equip_armor(next_helmet); } Armor next_OA = null; if (raw_player.Over_Armor != null) { next_OA = new Armor(raw_player.Over_Armor); equip_armor(next_OA); } Armor next_UA = null; if (raw_player.Under_Armor != null) { next_UA = new Armor(raw_player.Under_Armor); equip_armor(next_UA); } //Character stuff base_smell_value = raw_player.Player_Base_Smell; base_sound_value = raw_player.Player_Base_Sound; c_energy = raw_player.Player_Current_Energy; max_energy = raw_player.Player_Max_Energy; calculate_dodge_chance(); pDoll = pd; normal_backing = Color.White; invis_backing = new Color(255, 255, 255, 75); }