#include #include #include #include "character.h" Character character; void setCharacterHealthPoints (Character *character, int newHealthPoints){ character->healthPoints = newHealthPoints; } int getCharacterHealthPoints (Character *character) { return character->healthPoints; } void setCharacterStrength (Character *character, int newStrength) { character->strength = newStrength; } int getCharacterStrength (Character *character) { return character->strength; } void setCharacterDexterity (Character *character, int newDexterity) { character->dexterity = newDexterity; } int getCharacterDexterity (Character *character) { return character->dexterity; } void setCharacterIntelligence (Character *character, int newIntelligence) { character->intelligence = newIntelligence; } int getCharacterIntelligence (Character *character) { return character->intelligence; } void setCharacterLevel (Character *character, int newLevel) { character->level = newLevel; } int getCharacterLevel (Character *character) { return character->level; } void setCharacterExp (Character *character, int newExp) { character->exp = newExp; } int getCharacterExp (Character *character) { return character->exp; } void setCharacterMaxExp (Character *character, int newMaxExp) { character->maxExp = newMaxExp; } int getCharacterMaxExp (Character *character) { return character->maxExp; } int calculateStatIncrease (Character *character, int amount) { return character->level*amount; } void setCharacterMaxHealthPoints (Character *character, int newMaxHealthPoints){ character->maxHealthPoints = newMaxHealthPoints; } int getCharacterMaxHealthPoints (Character *character){ return character->maxHealthPoints; } void setCharacterAttack (Character *character, int newAttack){ character->attack = newAttack; } int getCharacterAttack (Character *character){ return character->attack; } void setCharacterArmor (Character *character, int newArmor){ character->armor = newArmor; } int getCharacterArmor (Character *character){ return character->armor; } void setCharacterGold (Character *character, int newGold){ character->gold = newGold; } int getCharacterGold (Character *character){ return character->gold; } void setCharacterName (Character *character, char *newName) { strcpy(character->name,newName); } char* getCharacterName (Character *character) { return character->name; } int getWeaponAttack (Weapon *weapon) { return weapon->attack; } void setWeaponAttack (Weapon *weapon, int newAttack) { weapon->attack = newAttack; } int getWeaponDurability (Weapon *weapon) { return weapon->durability; } int setWeaponDurability (Weapon *weapon, int newDurability) { weapon->durability = newDurability; } void setCharacterWeaponClass (Character* character, int weaponClass) { character->weaponClass = weaponClass; } int getCharacterWeaponClass (Character* character) { return character->weaponClass; } void increaseStat (Character *character, int stat, int amount) { switch (stat) { case 1: character->strength += amount;break; case 2: character->dexterity += amount;break; case 3: character->intelligence += amount;break; case 4: character->healthPoints += amount;break; case 5: character->manaPoints += amount;break; case 6: character->level += amount;break; case 7: character->exp += amount;break; case 8: character->maxExp += amount;break; default: break; } } void levelUp (Character *character) { if (getCharacterExp(character) > getCharacterMaxExp(character)) { increaseStat(character,LEVEL,1); setCharacterExp(character,getCharacterExp(character)-getCharacterMaxExp(character)); } } int calculateDamage (Character *character,Weapon *weapon) { switch (character->weaponClass) { case 1: return character->strength*weapon->attack; case 2: return character->dexterity*weapon->attack; case 3: return character->intelligence*weapon->attack; default: return 1; } } void setCharacterStatPoints (Character* character, int newStatPoints) { character->statPoints = newStatPoints; } int getCharacterStatPoints (Character* character) { return character->statPoints; } void initializeCharacter (Character *character,int weaponClass) { setCharacterHealthPoints(character,100); setCharacterStrength(character,10); setCharacterDexterity(character,10); setCharacterIntelligence(character,10); setCharacterLevel(character,1); setCharacterExp(character,0); setCharacterMaxExp(character,100); setCharacterMaxHealthPoints(character,100); setCharacterAttack(character,10); setCharacterArmor(character,0); setCharacterGold(character,0); setCharacterName(character,"Player"); setCharacterWeaponClass(character,weaponClass); setCharacterStatPoints(character,0); } void setItemID (Item *item, int newID) { item->id = newID; } int getItemID (Item *item) { return item->id; } void setItemAmount (Item *item, int newAmount) { item->amount = newAmount; } int getItemAmount (Item *item) { return item->amount; } void setItemDamage (Item *item, int newDamage) { item->damage = newDamage; } int getItemDamage (Item *item) { return item->damage; } void setItemHealing (Item *item, int newHealing) { item->healing = newHealing; } int getItemHealing (Item *item) { return item->healing; } void setItemMana (Item *item, int newMana) { item->mana = newMana; } int getItemMana (Item *item) { return item->mana; } void setItemName (Item *item, char newName[]) { strcpy(item->name,newName); } char* getItemName (Item *item) { return item->name; } void setCharacterStatus (Character *character, int newStatus) { character->status = newStatus; } int getCharacterStatus (Character *character) { return character->status; } void setCharacterStatusDuration (Character *character, int newStatusDuration) { character->statusDuration = newStatusDuration; } int getCharacterStatusDuration (Character *character) { return character->statusDuration; } void initializeInventory (Character *character) { for (int i = 0; i < 10; i++) { character->inventory[i] = NULL; } } void putItemInInventory (Character *character, Item *item,int inventorySlot) { if(inventorySlot > 9) { printf("Inventory slot is out of range (0-9)\n"); } else if (inventorySlot < 0) { printf("Inventory slot is out of range (0-9)\n"); } else if (character->inventory[inventorySlot] == NULL) { printf("Inventory slot is already occupied\n"); } else { character->inventory[inventorySlot] = item; } } Item * getItemInInventory (Character *character, int inventorySlot) { if(inventorySlot > 9) { printf("Inventory slot is out of range (0-9)\n"); return NULL; } else if (inventorySlot < 0) { printf("Inventory slot is out of range (0-9)\n"); return NULL; } else if (character->inventory[inventorySlot] == NULL) { printf("Inventory slot is empty\n"); return NULL; } else { return character->inventory[inventorySlot]; } }