18
Zimmer CSCI 330 Spring 2020 (202) Updated: 4/8/2020 1 Saving Syra Spring 2020 The GAME story The vast continent of Ukaria is home to many creatures both good and evil. The more civilized beings that inhabit this great land consist of Elves, Humans, and Orcs. Those more monstrous creatures consist of Trolls and Ogres. All of the creatures of Ukaria possess skills and have innate abilities, some carry weapons. The civilized beings work well together and often are forced to fight the monsters of the region to protect their way of life. Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and antisocial, Syra is nonetheless one of the most brilliant minds the elves had in the realm of alchemy. A hidden chamber was built for Syra to do her work. Here, in relative seclusion, Syra was able to perform research and develop her strange concoctions, undisturbed by the noise of the Elven city. Since her research and wares were very valuable to the Elves, she was given a garrison of soldiers to guard the chamber, although they had to abide by her rather strict rules of conduct. Recently, Syra worked on a remedy for a contagious illness called lycanthropy that had been plaguing her home, SilverHaven. Through the effects of her medicinal potions, the disease was contained and thought to be cured. The Elven healers were wrong, however; the disease was merely contained. It has now broken out again, and SilverHaven needs more medicine to distribute among the populace to put an end to this illness once and for all. Sadly, Syra’s fame has become widely known. A variety of merchants drop by her chamber from time to time to barter for her wares. They then transport these throughout the land. As Syra’s fame spread, the rumors of her wares and her cures for illness eventually reached the evil ears of a pack of Trolls afflicted with lycanthropy.

Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 1

Saving Syra Spring 2020

The GAME story

The vast continent of Ukaria is home to many creatures both good and evil. The more civilized beings that inhabit this great land consist of Elves, Humans, and Orcs. Those more monstrous creatures consist of Trolls and Ogres. All of the creatures of Ukaria possess skills and have innate abilities, some carry weapons. The civilized beings work well together and often are forced to fight the monsters of the region to protect their way of life.

Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and antisocial, Syra is nonetheless one of the most brilliant minds the elves had in the realm of alchemy.

A hidden chamber was built for Syra to do her work. Here, in relative seclusion, Syra was able to perform research and develop her strange concoctions, undisturbed by the noise of the Elven city. Since her research and wares were very valuable to the Elves, she was given a garrison of soldiers to guard the chamber, although they had to abide by her rather strict rules of conduct.

Recently, Syra worked on a remedy for a contagious illness called lycanthropy that had been plaguing her home, SilverHaven. Through the effects of her medicinal potions, the disease was contained and thought to be cured. The Elven healers were wrong, however; the disease was merely contained. It has now broken out again, and SilverHaven needs more medicine to distribute among the populace to put an end to this illness once and for all.

Sadly, Syra’s fame has become widely known. A variety of merchants drop by her chamber from time to time to barter for her wares. They then transport these throughout the land. As Syra’s fame spread, the rumors of her wares and her cures for illness eventually reached the evil ears of a pack of Trolls afflicted with lycanthropy.

Page 2: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 2

These Trolls -- as well as Ogres they "recruited" -- were infected with lycanthropy by a wererat deep in their tunnels. They came to Syra in the dead of night and assaulted the chamber. They slaughtered the guards, captured Syra, and demanded that the alchemist help them. They wanted her to find not a cure for their disease, but rather a way to control the side effects better. She refused, and was taken.

SilverHaven has hired a search party to find Syra. So as to incorporate the strengths of all the races the party is made up of a Human, an Elf, and an Orc.

This party is given a great send off by SilverHaven. The party leaves the security and comfort of the city and move south-east, toward the kidnappers’ tunnels. Along the way there are many things the searchers will encounter and must deal with.

THE DICE A Dice Class will be provided for this project. It will have accompanying files for input and require a specific syntax to use the interface. The UML will be provided. Dice Notation: D4 = four sided die D6 = six sided die D8 = eight sided die Die rolls are expressed in the format:

[#] die type [+/- modifiers] Example: 3D6+2 means: "Roll 3 six sided dice. Add the result of the three dice together. Add 2."

THE NAMESPACE GameSpace A namespace will be provided for this project that provides shared data types, data values, and top-level functions. Defaults for a variety of game related classes will be set in GameSpace namespace. The UML will be provided.

Page 3: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 3

THE BOARD The game board will be a grid of varying dimensions representing the land to be searched. The default size will be defined in the GameSpace but could be constructed to have any dimensions. Each of the row/column intersections will be called a cell. Each cell is uniquely identified by its coordinates (row and column). Each cell on the board contains an encounter index. This number indicates the encounter to be handled by the search party when they land on that cell. All board data is loaded from a BOARD_FILE (row major order starting with row 0) at the start of the game. Attributes of a cell: coordinates: this is the row and col that uniquely identify this cell. encounter: The “encounter” index will determine what happens when the search party lands on that cell.

The encounter data is loaded from the ENCOUNTER_FILE at the start of the game and is stored in a table separate from the board. This table is referred to as the encounter table. The encounter index in the cell maps to the position in the encounter table. Each encounter entry in the encounter table consists of the following

event - The event will be one of the following enumerated values

0-RESCUED – Syra is FOUND! Game over! 1-COMBAT – encounter with a monster 2-ST_FORT – need to do a saving throw Fortitude 3-ST_REFLEX – need to do a saving throw Reflex 4-ST_WILL – need to do a saving throw Will 5-FIND_WPN – find a weapon 6-LOSE_WPN – lose a weapon 7-ADD_SK – add a skill 8-AMNESIA – leader falls victim to amnesia 9- no encounter 10-INC_XP – increase experience points 11-MAGIC_CHEST – Chest filled with wpns to be added 12-MAGIC_WAND – boost in HP for team 13-MAGIC_TRAP – decrease in HP to be applied to team

dataStr – string associated with the event – the value’s meaning depends on the event

(monster name/wpn name/skill name)

description – text description of the event for output

dataVal – integer data associated with the event (saving throw/XP/SkillCK/monster type) (monster type – 4=TROLL, 5=OGRE)

Page 4: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 4

PLAYERS The players are one of five types: HUMAN, ELF, ORC, TROLL, OGRE. Each behaves either as a Humanoid or Monster. A Humanoid is created by an end-user and is initialized with the coordinates [-1,-1] until it is placed on the board. Monsters are created at the start of the game and loaded into the encounter table. Each Monster has the starting coordinates of [-1,-1] until the encounter is triggered and the monster is involved in a cell encounter. Attributes of a player

HUMANOID MONSTER Human (‘H’) Elf (‘E’) Orc (‘O’) Troll (‘T’) Ogre (‘G’)

name name name name name cell cell cell cell cell vocation vocation vocation level level level XP XP XP HP HP HP HP (hit die:6d8+36) HP (hit die: 4d8+8) Max HP Max HP Max HP Max HP Max HP 6 ability adj (0,0,0,0,0,0)

6 ability adj (+2,-2,0,0,0,0)

6 ability adj (0,0,-2,-2,+2,-1)

6 abilities (dice rolls)

6 abilities (dice rolls)

6 abilities (dice rolls)

6 abilities (14,23,6,6,23,9)

6 abilities (8,15,6,7,21,10)

weapon weapon weapon weapon weapon pack pack pack skills skills skills skills skills saving throws:

FORT +11, REF +4, WILL +3

saving throws: FORT +6, REF +0, WILL +1

base attack bonus: +9 melee +1 range weapon

base attack bonus: +8 melee weapon +1 range weapon

Page 5: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 5

Name: - (string with possible whitespace) player’s name.

Cell: (two ints) cell associated with the player’s position on the board.

Vocation: (enum) Vocation of the humanoid player

None: NNE those that have no vocation (Troll & Ogre) Barbarian: BBN Ferocious warrior Cleric: CLR Master of divine magic and capable warrior, healer Fighter: FTR Warrior with exceptional combat ability Rogue: ROG Skilled scout that wins by stealth not strength, thief Wizard: WIZ Schooled spell caster, magic blaster

Level: (int) Level starts at 1 for humanoid and increases based on earned XP. XP: (int) Experience points for humanoid initialized to 0 and increases with each achievement.

Increase XP could cause a humanoid to be promoted to the next level within their vocation. HP: (int) Hit points tell how much punishment a player can take before dropping. This is initialized

using a hit die and updated for humanoids with each level promotion. The hit die used for humanoids is determined by their vocation, monsters have a preset hit die rolled at the start of the game.

Max HP: (int) Hit points max for a player. This is established at the start of the game based on the initial HP value. The player’s HP can never exceed this value for HP.

Ability Adjustments: Integer array of adjustments each corresponding to one of the abilities. These are applied when the ability scores are initialized.

Ability Scores: Integer array of scores that are used during game play. These are initialized at the start

of the game: Dexterity (DEX) Constitution (CON) Intelligence (INT) Charisma (CHA) Strength (STR) Wisdom (WIS)

The Score of these Abilities ranges from 0 to infinity and initially established for humanoids by rolling a die (3d6) for each ability and applying the ability adjustments. A monster’s initial ability scores are constant. A player with a constitution of zero is dead. A zero in any other score means the player is helpless and cannot move. A player’s ability score can’t drop below zero.

Page 6: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 6

Calculated Ability Modifiers: Calculated from the ability score when needed

(ability/2) - 5 [round result down]

The modifier is the number to add or subtract from the die roll when a player tries to do something related to that ability. A positive modifier is called a bonus, and a negative modifier is called a penalty.

Weapon: (Weapon) Weapon being carried by the player and used for combat (initial equipment is

shown below.) Pack: Every humanoid has a pack for carrying weapons. Weapons are added and removed from the

pack over the course of the game. The pack is created and is empty at the start of the game. The initial weight a player can carry is based on their strength modifier:

25 + (AbilityMod(STR) * 5)

Skills: (container of skill data) Every player has an initial list of skills that can be modified during game

play. When the skill is needed a Skill Check is performed. Calculated Skill Check: Calculated based on the player’s skills. A skill check is done on a specific

skill when that skill is needed. If the player has the skill then a skill check value can be calculated (skill check is 0 if the player does not have the skill). The SKILLS_FILE contains the list of all skills and the associated ability for each skill.

The skill check is calculated by:

1d20+ability modifier associated with the skill being checked for example:

the skill “HEAL” is associated with the ability Wisdom, so the ability modifier for Wisdom would be used when performing a skill check on “HEAL”

Saving Throws: Generally, when a player is subject to an unusual or magical attack, he or she gets a

saving throw to avoid or reduce the effect. The monster’s saving throw values are constant. Base Attack Bonus: – A humanoid’s vocation and level determine base attack bonus, see the Vocation

Rules Tables. The monster’s base attack bonus is constant for each type of weapon.

Page 7: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 7

Starter packages: (initialization as players are created) Human

Voc Barbarian Cleric Fighter – default

Rogue Wizard

Weapon DAGGER CROSSBOW SWORD RAPIER CLUB Skills CLIMB,

LISTEN, SWIM

HEAL, USE MAGIC DEVICES

INTIMIDATE, SWIM

BLUFF, CLIMB, HIDE

CONCENTRATION, HIDE, USE MAGIC DEVICES

Elf

Voc Barbarian Cleric Fighter Rogue Wizard – Default

Weapon DAGGER LONG SWORD SWORD RAPIER SHORT BOW Skills CLIMB,

LISTEN, SWIM

HEAL, USE MAGIC DEVICES

INTIMIDATE, SWIM

BLUFF, CLIMB, HIDE

CONCENTRATION, HIDE, USE MAGIC DEVICES

Orc Voc Barbarian -

Default Cleric Fighter Rogue Wizard

Weapon DAGGER CROSSBOW SWORD SHORT BOW LIGHT CROSSBOW Skills CLIMB,

LISTEN, SWIM

HEAL, USE MAGIC DEVICES

INTIMIDATE, SWIM

BLUFF, CLIMB, HIDE

CONCENTRATION, HIDE, USE MAGIC DEVICES

Troll Weapon CLUB Skills LISTEN,

SPOT

Ogre Weapon SPEAR Skills INTIMIDATE,

LISTEN, SPOT

Page 8: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 8

GAME PLAY All players and weapons are created at the start of the game. During game play there will be a running commentary indicating the player’s turn data, the encounter and description. During the handling of the encounter any values returned or calculated should be output. Example of complete running commentary will be provided. Humanoid Arsenal of Weapons Initialization The arsenal of weapons for the game should be initialized with the ARSENAL_FILE. This arsenal represents the weapons available to the humanoids during the game. An inventory should be maintained of the humanoid’s arsenal. Search Party Initialization The search party should be initialized using the SEARCH_PARTY_FILE. The initial weapons are loaded from the arsenal based on the player’s initial weapon list. These are the humanoids that have volunteered for a risky assignment so they are promoted to level 10 (via the XP value increase of 76,000). The search party’s action is determined by the end-user, an interface will be provided. Each round begins with deployment for the mission that round. Before heading out on the mission, the leader’s current weapon can be swapped with a weapon in the arsenal. The leader chooses a weapon and if there is one or more of this weapon in the arsenal then the swap is done. After deployment the search party is moved based on a pair of values: move and direction. Move should be a value 1-6 indicating the number of positions the search party will move. Direction should be a char value: N-North (up), S-South (down), E-East (right), W-West (left). If that move and direction is impossible because the search party will be off the board, then the end-user will need to renter the pair of values. The search party is moved as a whole to a cell on the board. Once a cell location is established, the value in that location (initialized by the BOARD_FILE) indicates the encounter index for the encounter table (initialized by the ENCOUNTER_FILE). The table contains the specifics for that encounter. The encounter should be evaluated. The search party will rotate leaders with each move on the board. The initial order is established when the SEARCH_PARTY_FILE is read. They will move around the board as a group, but one is the leader each time. The leader will be the one to handle the encounter as a cell is chosen. The search party’s first move is to place them on the board. Monsters Initialization The monsters will be initialized based on the ENCOUNTER_FILE which is processed at the start of the game when the board is initialized. Monsters are identified by a unique name.

Page 9: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 9

PROCESSING AN ENCOUNTER RESCUED: The game is over. COMBAT: combat ensues between the search party leader and a monster (monster’s name is indicated

in the encounter). See the section on COMBAT for details. If the search party leader wins (monster is disabled) the increase in XP is determined by the status of the monster: • disabled (0 HP or lower) XP increase of 1000 • dying (0>HP>-10) XP increase of 3000 • dead (-10 HP or lower) XP increase of 5000

ST_FORT, ST_REFLEX, ST_WILL: Generally, when a player is subject to an unusual or magical

attack, he or she gets a saving throw to avoid or reduce the effect.

1. The DC (difficulty class) caused by the event is indicated in the encounter table. 2. The search party leader should return the appropriate saving throw value. 3. Compare the saving throw value against the DC. 4. If the saving throw is equal to or larger than the DC then special/magical attack was avoided. 5. If the DC is larger than the saving throw then a penalty of 5 should be applied to the leader’s HP.

A player’s saving throw is calculated by: 1d20 + saving throw bonus Saving Throw Bonus

Base save bonus + ability modifier

There are three different base save bonuses. The values are determined for humanoids by the vocation and level (see the Vocation Rules Table) and for monsters they are constant. The base save bonus determines the ability modifier. The three different kinds of base save bonuses are: Fortitude: These saves measure the player’s ability to stand up to massive physical punishment or attacks against his or her vitality and health such as poison and paralysis. Apply the player’s Constitution modifier to his or her Fortitude saving throws. Reflex: These saves test the player’s ability to dodge massive attacks such as explosions or car wrecks. (Often, when damage is inevitable, the player gets to make a Reflex save to take only half damage.) Apply the player’s Dexterity modifier to his or her Reflex saving throws. Will: These saves reflect the player’s resistance to mental influence and domination as well as to many magical effects. Apply the player’s Wisdom modifier to his or her Will saving throws.

Page 10: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 10

FIND_WPN: The leader finds a weapon and replaces the current weapon. LOSE_WPN: The leader loses the weapon being carried. ADD_SK: An opportunity to learn a new skill is encountered. The search party leader will always

take the opportunity to learn a new skill (the skill is indicated in the encounter table). AMNESIA: The leader falls victim to either a magic spell or fall that causes the loss of all the skill

knowledge for that player. INC_XP: The adventure so far has given you much experience. The search party leader will get an

increase in XP (the value increase is indicated in the encounter table). MAGIC_CHEST: The magic treasure chest of equipment can be opened if a member of the team has

“Open Lock” skill and the skill check is high enough to open the lock. (The required skillck is indicated in the encounter table). The skill check should be attempted on the leader first, then work through the search party starting with the next active player (ex: if the leader is the human… do a SkillCk on elf next). The chest contains a Spear. Once the chest is opened the leader can take the weapon.

MAGIC_WAND: A magic wand is found that will boost HP for the entire team if used effectively. An

HP boost of 20 if a member of the team has “Use Magic Devices” skill and the skill check is enough to make the wand useful. (The required skillck is indicated in the encounter table). The skill check should be attempted on the leader first, then work through the search party starting with the next active player (ex: if the leader is the human… do a SkillCk on elf next).

MAGIC_TRAP: The team leader has led the team into a magic trap that will cause a decrease in HP of

10 for all the team members. If a member of the team has “Disable Device” skill and the skill check is high enough to disable the trap then the decrease can be avoided. (The required skillck is indicated in the encounter table). The skill check should be attempted on the leader first, then work through the search party starting with the next active player (ex: if the leader is the human… do a SkillCk on elf next).

Page 11: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 11

AFTER THE ENCOUNTER The search party leader may be disabled or worse and needs healing. This can be done in one of

two ways (the SkillCheck will return the increase in HP to be applied): • Natural healing - if the leader has the skill “heal” and is not dead, then the player can heal

himself. • Healing from another active player - If an active player in the search party has the skill

“heal” then this can be used to heal the leader. Work through the search party starting with the next active player (ex: if the leader is the human… do a SkillCheck on elf next)

If the search party leader cannot be healed then the player is carried along with the search party but cannot contribute skills, equipment, or leadership in further encounters. The disabled player can benefit from encounters that increase HP only.

Page 12: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 12

COMBAT: Combat ensues between two players determined by the game master (GM):

1. Using the player’s relational operators the player that is “greater than” the other player rolls initiative first. Once both have rolled initiative, the player with the higher initiative is the attacker first and the opposing player is the target of the attack. If the initiative rolls are equal, both players re-roll initiative.

2. The attacker executes an attack roll. 3. The opposing player determines the defense value by executing a defense roll. 4. Compare the attack roll against the target’s defense roll. The higher value wins the combat. 5. If the attack was a hit (is higher than the defense) then that player rolls damages to be deducted

from the target’s hit points. 6. The target (if not disabled) becomes the attacker, the former attacker becomes the target and

combat continues (repeat step 2-6). 7. When one of the player becomes disabled (or worse) then combat is over.

Initiative Roll The combatants’ initiative check determines the attacker and defender: 1d20 + Dexterity modifier

Initiative Checks At the start of a battle, each combatant makes a single initiative check. An initiative check is a Dexterity check. Each player applies his or her Dexterity modifier to the roll, the higher initiative check is the attacker. On the following round the attacker becomes the defender. If two combatants have the same initiative check result, the initiative check is re-rolled.

Page 13: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 13

Attack Roll An attack roll represents a player’s attempts to strike an opponent on the player’s turn in a round. If the result equals or beats the target’s Defense, the player hits and deals damage. Attack roll cannot be less than zero. When a player makes an attack roll it is calculated as follows:

1d20 + attack bonus

Attack Bonus A player’s attack bonus with a range weapon is:

Base attack bonus + Dexterity modifier A player’s attack bonus otherwise is:

Base attack bonus + Strength modifier

Base attack bonus – A humanoid’s vocation and level determine base attack bonus, see the Vocation Rules Tables. The monsters base attack bonus is constant and depends on the type of weapon (hand to hand combat uses Base attack bonus of melee). Strength Modifier - Strength helps a player swing a weapon harder and faster, so a player’s Strength modifier applies to melee attack rolls. Dexterity Modifier - Dexterity measures coordination and steadiness, so a player’s Dexterity modifier applies when the player attacks with a ranged weapon.

Defense Roll A player’s Defense represents how hard it is for opponents to land a solid, damaging blow on the player. It’s the attack roll result that an opponent needs to achieve to hit the player. The average player has a Defense of 10. A player’s Defense is equal to:

10 + Dexterity modifier

Dexterity Modifier If a player’s Dexterity is high, he or she is particularly adept at dodging blows or gunfire. If a player’s Dexterity is low, he or she is particularly inept at it. Players apply their Dexterity modifier to Defense.

Page 14: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 14

Damage Roll When a player hits with a weapon, he or she deals damage according to the type of weapon. Damage is deducted from the target’s current hit points. Weapon damage (if melee weapon then + strength bonus) Weapon Damage The weapon determines the damage value. Determine the die roll the weapon held by the player. Roll this for the damage value. Strength Bonus When a player hits with a melee weapon, add his or her Strength modifier to the damage. If no weapon then the damage roll is the strength modifier only. Damage roll cannot be less than 0.

Page 15: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 4/8/2020 15

HIT POINTS (health – HP) A player’s hit points tell how much punishment he or she can take before dropping. Hit points are based on the player’s hit die, and the player’s modifier is applied. Humanoid’s hit die is determined by their vocation, see Vocation Rules tables (an encapsulated class will be provided). Humanoid’s use the Constitution modifier for hit point calculation. Each level promotion causes a modification to the hit points for a humanoid. A minimum of +1 is always added to the hit points when there is a level promotion even if the humanoid has a rotten constitution. Monsters have a preset hit die and modifier that should be used to initialize the hp. When a player’s hit point total drops to 0, he or she is disabled. When it drops to –1, he or she is dying. When it drops to –10, the player is dead. The humanoid increased hit points at the start of each level is calculated by (but never less than 1): Hit Die value+ Constitution modifier Hit Die – A player’s dice to roll for hp (use Vocation Rules Tables for humanoid)

Example: d4 (a roll of a 4 sided die)

PROMOTION from increase in Experience Points (XP) The update to the experience points are determined during game play. Each update to the experience points could cause a promotion in level for a humanoid. The PROMOTION_FILE contains the base XP values for each level. The VocRules processes the PROMOTION_FILE and provides an interface for the player to determine if a promotion can be applied each time the XP is updated.

Creature Level XP Creature Level XP 1st 0 11th 110,000 2nd 1,000 12th 160,000 3rd 3,000 13th 220,000 4th 6,000 14th 320,000 5th 10,000 15th 440,000 6th 16,000 16th 640,000 7th 24,000 17th 890,000 8th 36,000 18th 1,300,000 9th 52,000 19th 1,800,000 10th 76,000 20th 2,600,000

Page 16: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 1/13/2020 16

VOCATION RULES Tables– encapsulated class provided (This data is read from the VOCRULES_FILE) Table: The Barbarian Table: The Cleric Table: The Fighter Hit Die: d12 Hit Die: d8 Hit Die: d10 Base Saving Throws Base Saving Throws Base Saving Throws

Level Attack Bonus Fort Ref Will Level

Attack Bonus Fort Ref Will Level

Attack Bonus Fort Ref Will

1st 1 2 0 0 1st 0 2 0 2 1st 1 2 0 0 2nd 2 3 0 0 2nd 1 3 0 3 2nd 2 3 0 0 3rd 3 3 1 1 3rd 2 3 1 3 3rd 3 3 1 1 4th 4 4 1 1 4th 3 4 1 4 4th 4 4 1 1 5th 5 4 1 1 5th 3 4 1 4 5th 5 4 1 1 6th 6 5 2 2 6th 4 5 2 5 6th 6 5 2 2 7th 7 5 2 2 7th 5 5 2 5 7th 7 5 2 2 8th 8 6 2 2 8th 6 6 2 6 8th 8 6 2 2 9th 9 6 3 3 9th 6 6 3 6 9th 9 6 3 3

10th 10 7 3 3 10th 7 7 3 7 10th 10 7 3 3 11th 11 7 3 3 11th 8 7 3 7 11th 11 7 3 3 12th 12 8 4 4 12th 9 8 4 8 12th 12 8 4 4 13th 13 8 4 4 13th 9 8 4 8 13th 13 8 4 4 14th 14 9 4 4 14th 10 9 4 9 14th 14 9 4 4 15th 15 9 5 5 15th 11 9 5 9 15th 15 9 5 5 16th 16 10 5 5 16th 12 10 5 10 16th 16 10 5 5 17th 17 10 5 5 17th 12 10 5 10 17th 17 10 5 5 18th 18 11 6 6 18th 13 11 6 11 18th 18 11 6 6 19th 19 11 6 6 19th 14 11 6 11 19th 19 11 6 6 20th 20 12 6 6 20th 15 12 6 12 20th 20 12 6 6

Page 17: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 1/13/2020 17

Table: The Rogue Table: The Wizard Hit Die: d6 Hit Die: d4 Base Saving Throws Base Saving Throws

Level Attack Bonus Fort Ref Will Level

Attack Bonus Fort Ref Will

1st 0 0 2 0 1st 0 0 0 2 2nd 1 0 3 0 2nd 1 0 0 3 3rd 2 1 3 1 3rd 1 1 1 3 4th 3 1 4 1 4th 2 1 1 4 5th 3 1 4 1 5th 2 1 1 4 6th 4 2 5 2 6th 3 2 2 5 7th 5 2 5 2 7th 3 2 2 5 8th 6 2 6 2 8th 4 2 2 6 9th 6 3 6 3 9th 4 3 3 6

10th 7 3 7 3 10th 5 3 3 7 11th 8 3 7 3 11th 5 3 3 7 12th 9 4 8 4 12th 6 4 4 8 13th 9 4 8 4 13th 6 4 4 8 14th 10 4 9 4 14th 7 4 4 9 15th 11 5 9 5 15th 7 5 5 9 16th 12 5 10 5 16th 8 5 5 10 17th 12 5 10 5 17th 8 5 5 10 18th 13 6 11 6 18th 9 6 6 11 19th 14 6 11 6 19th 9 6 6 11 20th 15 6 12 6 20th 10 6 6 12

Page 18: Saving Syra Spring 2020zimmer.cs.edinboro.edu/csci330/game_v1.pdf · Syra is a renowned Elven alchemist who hailed from a nearby Elven stronghold, SilverHaven. Paranoid, surly, and

Zimmer CSCI 330 Spring 2020 (202)

Updated: 1/13/2020 18

FILE FORMATS

arsenal.in: name#quantity<lf> dice.in: name#roll_type#XdY#roll_value#[description of roll type]<lf> encounters.in: event#name#description#value grid.in: for each row: num<ws>num<ws>…<lf>

melee.in: name#cost#wt#critical#dam_num_die#dam_num_faces#size#tech_type<lf> promotion.in: for each level: base_XP<lf> range.in: name#cost#wt#critical#dam_num_die#dam_num_faces#size#tech_type<lf> searchparty.in name#race#voc<lf> skills.in: skill#ability_abbrev<lf> vocrules.in: for each vocation: HitDie<ws>Voc-table-entries sep by whitespace<lf>