-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Contains everything below, is the main object for a single battle.
Contains the player's party of characters, as well as the enemies. Player's party is on the left side and the enemies are on the right.
Contains the current list of runes the player can match. Players can swipe the runes to swap their places, creating chains of runes of the same type. The bigger the chain the bigger the effect.
There are 5 types of basic runes:
- Melee -attacks with warrior class characters
- Magic -attacks with mage class characters
- Healing -heals with cleric class characters
- Ranged -attacks with archer class characters
- Treasure -collects coins for loot
When the player matches 3 or more runes of the same type, the effect of the runes is triggered by either healing, attacking or collecting coins. Matching 4 or more runes grants an extra turn. After a match has been made, new replacement runes are dropped from the top and can cause combo matches, exponentially growing the effect of the new matches.
Example:
- Player creates a chain of Melee Runes
- Warrior characters attack with baseDamage * 1.0
- Replacement runes drop, creating another match of Melee Runes
- Warrior characters attack with baseDamage * 2.0
- etc.
Basic Attacking Enemies
- User is shown a board of different runes on a square grid
- User matches three (3) or more runes together
- Characters matching the runes' types will attack the enemies
- Matched runes are removed from the game board
- Board is re-filled
Character Classes
Classes affect attribute growth and the available abilities, passive and active.
Basic classes:
- Warrior (high stat growth, defensive oriented abilities)
- Archer (high stat growth, damage oriented abilities)
- Cleric (low stat growth, support abilities that heal and buff allies)
- Mage (low stat growth, powerful abilities)
Advanced classes:
- Manipulator (basic attack changes the gem board)
- Infiltrator (interrupts the battle cycle to ruin greedy enemy combo build)
Character Attributes
Strength:
- Determines how much physical attacks hit
Constitution:
- Determines how much damage the character can take before dying (base HP)
Intelligence:
- Determines how much magic attacks hit
- Determines how much damage taken from enemy magic (+x% EHP)
Dexterity
- Determines rate of success for a hit / critical chance?
- Determines how much damage taken from enemy physical attacks (+x% EHP)
- TBD: Success rate of evasion?
Special or Enhanced Runes
Character abilities or equipment can cause special and enhanced runes to occur, or just change the distribution of rune spawns
- Fusion runes (multiple classes)
- Combo runes (no class, but participates in existing combo)
TBD: Advanced Attacking Enemies
- Combos make characters attack at the same time for extra damage/buffs
- Big clears make characters use special attack?
- Special shape matches can trigger special attacks too?
- All of the above can happen at the same time!
- Look at Tower of Saviours for nice example of combo damage buffing
- Combo counter grows faster the more different gem patterns combine (classes, shapes)
TBD: Advanced Combat Mechanics
- Party members can be arranged for shielding ranged members?
- Enemies use same game board for attacking player?
- Including exploiting any special runes brought in by players/themselves that it can access and benefit from
- Special skills can be triggered manually on player's turn? Using mana ("special bar") stockpiled by combining runes over multiple turns
TBD: Itemization
Equipment and other loot can give benefits to characters and players. Equipment generally gives permanent benefits, other loot is consumed and time/battle limited, such as spell scrolls and potions.
Item generation:
-
Decide to generate a loot item
-
Decide which type of loot is being generated: permanent, scroll or potion.
-
Roll for rarity, as in the amount of affixes to pick. Each successive rarity is an order of magnitude (e.g. 10x) less likely than the one before. Loot rate improves rarity.
-
Roll affix budgets. The higher the rarity, the more lowest budgets are rerolled.
-
Start picking affixes. Affixes are weighted towards generic and useful stats.
-
Spend the affix budgets on the respective affix. The item is ready.
Budget
Affixes have a value which is used to generate somewhat balanced items at a budget that is rolled at loot generation. Permanent affixes are far more expensive than temporary ones, meaning the final numeric values are much less.
-
Boost XP/money/loot rate
-
Boost AFK grinding rates for above
-
Special bar factor
-
Passive special bar accumulation
-
Flat attribute bonuses (str, con, int, dex, HP, damage...) This is probably the most frequent type of affix!
-
+% attribute bonus (on top of base+flat bonus)
-
Recover HP
-
Invulnerability/chance to avoid damage
-
+% EHP (armour, magic resistance)
-
Special gem rate
-
Enhance another item (enchant, socket) with affixes. Sockets are reusable, enchantments are single-use.
-
Have socket, enchantable. Enchantable items can sometimes proc an extra enchantable slot when enchanted.
-
Attempt to make an item enchantable. The success rate drops heavily for every enchantable slot the item has.
-
Chance for extra turn on combo
Creating Character Instances
let leeroy = Character(
name: "Leeroy",
charClass: .WARRIOR,
attributes: [
CharacterAttribute(type: .STRENGTH, value: 6.0),
CharacterAttribute(type: .CONSTITUTION, value: 120.0)
]
)
leeroy.description