aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-09-30 18:16:18 +0200
committernsensfel <SpamShield0@noot-noot.org>2019-09-30 18:16:18 +0200
commitaf3ccc4ddcb9e13973b8d06283e6bf088f1d8f6a (patch)
tree1ba6887410f2f48634ecf06705aebfa429877ead
parent3db4177ebf2d3c8cca27e352644c1efa1a1a3580 (diff)
downloadtacticians-server-af3ccc4ddcb9e13973b8d06283e6bf088f1d8f6a.zip
tacticians-server-af3ccc4ddcb9e13973b8d06283e6bf088f1d8f6a.tar.bz2
Moves 'other' folder to tacticians-design/miscHEADmaster
-rw-r--r--other/attrib_stats.txt155
-rw-r--r--other/db_bounty.txt18
-rw-r--r--other/erl_module_template.erl17
-rw-r--r--other/luck.txt97
-rw-r--r--other/magic.txt75
-rw-r--r--other/skills.txt92
6 files changed, 0 insertions, 454 deletions
diff --git a/other/attrib_stats.txt b/other/attrib_stats.txt
deleted file mode 100644
index cc06824..0000000
--- a/other/attrib_stats.txt
+++ /dev/null
@@ -1,155 +0,0 @@
-{Attributes
- Constitution
- Dexterity
- Intelligence
- Mind
- Speed
- Strength
-}
-{Stats
- {Movement Points
- Controlled by: Speed
- ((Speed)^1.8)/20
- }
- {Health
- Controlled by: Constitution
- ((Constitution)^1.8)/20
- }
- {Dodges
- Controlled by: average(Dexterity, Mind, Speed)
- Max: 75%
- Min: 5%
- min(75,max(5,(4^(x/25))))
- ((average(Dexterity, Mind, Speed))^1.8)/40
- }
- {Parries
- Controlled by: average(Dexterity, Speed, Strength)
- Melee only
- Max: 75%
- Min: 0%
- min(75,(4^(x/25)))
- }
- {Physical Weapons
- {Damage
- Controlled by: Strength
- limits + (((Strength - 50)/75) limits)
- }
- {Accuracy
- Controlled by: Dexterity
- Max: 100%
- Min: 0%
- (30 * (log((x + 5)/4))) // Might be too generous
- Note: failing that roll halves the damages.
- }
- {Double Hits
- Controlled by: Speed
- Max: 100%
- Min: 0%
- (x^2.5)/1000
- }
- {Critical Hits
- Controlled by: Intelligence
- Max: 100%
- Min: 0%
- (x^2.5)/1000
- }
- }
- {Magical Weapons
- {Damage
- Controlled by: Intelligence
- limits + (((Strength - 50)/75) limits)
- }
- {Accuracy
- Controlled by: Mind
- Max: 100%
- Min: 0%
- (30 * (log((x + 5)/4))) // Might be too generous
- Note: failing that roll halves the damages.
- }
- {Double Hits
- Controlled by: Speed
- Max: 100%
- Min: 0%
- (x^2.5)/1000
- }
- {Critical Hits
- Controlled by: Dexterity
- Max: 100%
- Min: 0%
- (x^2.5)/1000
- }
- }
-}
-{Physical Attack
- {Damage Type
- Bludgeoning
- Piercing
- Slashing
- }
- {Ranged
- {Short Bow
- Minimal Range: 2
- Maximal Range: 4
- Damage Type: Arrow dependent
- }
- {Long Bow
- Minimal Range: 2
- Maximal Range: 6
- Damage Type: Arrow dependent
- Attribute Penalty: Speed
- }
- {Crossbow
- Minimal Range: 2
- Maximal Range: 4
- Damage Type: Bolt dependent
- Attribute Penalty: Dexterity
- Misc: High damage
- }
- {Arbalest
- Minimal Range: 2
- Maximal Range: 6
- Damage Type: Bolt dependent
- Attribute Penalty: Dexterity, Speed
- Misc: High damage
- }
- }
- {Melee
- {Sword
- Minimal Range: 1
- Maximal Range: 1
- Damage Type: Slashing
- }
- {Claymore
- Minimal Range: 1
- Maximal Range: 2
- Damage Type: Slashing
- Attribute Penalty: Speed
- }
- {Mace
- Minimal Range: 1
- Maximal Range: 1
- Damage Type: Bludgeoning
- }
- {War Hammer
- Minimal Range: 1
- Maximal Range: 2
- Damage Type: Bludgeoning
- Attribute Penalty: Speed
- }
- {Dagger
- Minimal Range: 1
- Maximal Range: 1
- Damage Type: Piercing
- }
- {Spear
- Minimal Range: 1
- Maximal Range: 2
- Damage Type: Piercing
- Attribute Penalty: Speed
- }
- }
-}
-{Base Accuracy
- Melee: Base Accuracy bonus.
- Ranged: No Base Accuracy bonus.
-}
diff --git a/other/db_bounty.txt b/other/db_bounty.txt
deleted file mode 100644
index d31226a..0000000
--- a/other/db_bounty.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Designing with a "it can crash at any point" mentality
-+ can't combine DB queries in an atomic manner
-= Potential for partially completed tasks, "corrupting" the global DB.
-
-A solution could be having "bounty" entries, which work as follows:
-A process P0 needs to do tasks T0, then T1, then T2.
-P0 creates a bounty B0:
-{
- not_before: 60s.
- task: T0_T1_T2.
- params: [{T0.id, T1.id, 20]
-}
-P0 adds B0 to the Bounty DB.
-P0 attempts T0, T1, and T2.
-P0 removes B0 from the Bounty DB.
-
-There are other processes trying to access available bounties (i.e. bounties
-for which the "not_before" has expired) to complete them.
diff --git a/other/erl_module_template.erl b/other/erl_module_template.erl
deleted file mode 100644
index 01c79bd..0000000
--- a/other/erl_module_template.erl
+++ /dev/null
@@ -1,17 +0,0 @@
--module(name).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/other/luck.txt b/other/luck.txt
deleted file mode 100644
index 33d7fc2..0000000
--- a/other/luck.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-Hitting your target, parrying, critical hits, double hits, and elemental status
-are controlled by random chance. On the one hand, this adds depth through
-management of risks and rewards, and it forces unexpected events on the players.
-On the other hand, it can quickly make combats feel unfair (e.g. good tactics
-failing due to bad luck) or infuriate players (e.g. missing a 95% chance shot in
-XCOM).
-
-To mitigate the drawbacks, TO should balance the impact of luck.
-
-During a battle, each players has a Luck meter. Luck in between -200 and 200. It
-starts at 0.
-
-When a player makes a roll with X% chance, the result is as follows:
-Roll = rand(100);
-IsSuccess = ((X + Luck) >= Roll);
-if (IsSuccess)
-{
- if (X > 50)
- {
- // It was likely to succeed, pay just what you used.
- MissingPoints = max(0, (Roll - X))
- Luck' = (Luck - MissingPoints)
- }
- else if (X =< 50)
- {
- // It was unlikely to succeed, pay a lot.
- Cost = (55 - X) // How far was it from being reasonable?
- Luck' = (Luck - Cost)
- }
-}
-else
-{
- // Failure due to bad roll.
- if (X >= 50)
- {
- // It was likely to succeed, you're owed a lot.
- OwedPoints = (X - 45)
- Luck' = (Luck + OwedPoints)
- }
-}
-
-For example:
-
-A/ The character of a player with 15 Luck attempts a 10% chance parry:
-if (Roll <= 25)
-{
- // Unlikely Success.
- Cost = (55 - 10) = 45
- Luck' = 15 - 45 = -30
-}
-else if (Roll > 25)
-{
- // Expected Failure.
-}
-
-B/ The character of a player with 20 Luck attempts a 45% chance parry:
-if (Roll <= 60)
-{
- // Unlikely Success.
- Cost = (55 - 45) = 10
- Luck' = 20 - 10 = 10
-}
-else if (Roll > 60)
-{
- // Expected Failure.
-}
-
-D/ The character of a player with 20 Luck attempts a 55% chance parry:
-if (Roll <= 70)
-{
- // Likely Success.
- UsedUpLuck = max(0, (55 - Roll)) = [0, 20]
- Luck' = 20 - UsedUpLuck = [0, 20]
-}
-else if (Roll > 70)
-{
- // Unlucky dice roll.
- OwedPoints = (55 - 45) = 10
- Luck' = 20 + 10 = 30
-}
-
-D/ The character of a player with -35 Luck attempts a 15% chance parry:
-No roll required. This fails. No luck update.
-
-E/ The character of a player with -35 Luck attempts a 75% chance parry:
-if (Roll <= 40)
-{
- // Without the negative luck, it was likely to succeed
- // Luck clearly didn't help, so none is to be payed.
-}
-else if (Roll > 40)
-{
- // If not for that negative luck, you were likely to make it.
- // You're owed some luck back.
- OwedPoints = (75 - 45) = 30
- Luck' = -35 + 30 = -5
-}
diff --git a/other/magic.txt b/other/magic.txt
deleted file mode 100644
index d414d65..0000000
--- a/other/magic.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-Elements:
-
- Wind
- Lightning Snow
-Fire Water
- Magma Plant
- Earth
-
-Omnimods for each element:
-- Damage (>0)
-- Defense (any)
-- Status Chance (0-100)
-- Status Def (any)
-
-Chance to inflict status calculated similarly to evasion:
- min(100, max(0, {attacker status chance} - {defender status def}))
-
-Status Def > 100 -> ({defender status def} - 100)% of {attacker damage} are
- actually healing defender.
-
-Omnimods are manually set so that gaining X in an element leads to:
-* X/2 in the elements next to it.
-* -X in the opposite element
-* -(X/2) in the elements next to its opposite element
-
-Having this done manually allows for exception.
-
-The element chosen for the status that can be triggered is chosen randomly among
-the ones the character, with weights depending on the percentage of the damage
-caused by that element. For each element, there are two variants: Alpha, which
-inflicts a status on the character getting hit, and Beta, which grants one for
-the character doing the hitting. Status are taken into consideration only after
-the attack that generated them. Characters may have multiple elemental status in
-effect.
-
-Characters affected by the status of element, be it antagonistic or not, gain
-affinity in that element (i.e. omnimods for that element, and all the associated
-{X/2,-X,-(X/2)} stuff).
-
-* Wind:
- Alpha: Reduces max movement points.
- Beta: Increases max movement points.
-
-* Lightning:
- Alpha: Character is disabled for a turn.
- Beta:
- Attacking this character, regardless of range, will result in taking
- lightning damage.
-
-* Fire:
- Alpha:
- Character suffer fire damage over time (don't forget to make it worth it
- despite the affinity gain).
- Beta:
- Character deals more damage.
-
-* Magma:
- Alpha: TBD
- Beta: TBD + Inflict magma damage when attacked by melee.
-
-* Earth:
- Alpha: Lowers the character's defense
- Beta: Increases the character's defense.
-
-* Plant:
- Alpha: Character cannot be healed, nor gain SPs (not even with skill).
- Beta: Character gains life-steal.
-
-* Water:
- Alpha: Halves the character's HP.
- Beta: The character receives some healing.
-
-* Snow:
- Alpha: Character loses all evasion.
- Beta: Character gets max evasion.
diff --git a/other/skills.txt b/other/skills.txt
deleted file mode 100644
index 9794967..0000000
--- a/other/skills.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-Characters have an SP gauge. It starts empty.
-To be decided: is the capacity of the gauge linked to a (new) stat, or is it
- simply a way to measure how much SP is required before the skill can be cast
- (i.e. it has exactly enough for one cast).
-
-SPs are gained from participation in an attack. The attacker gets 1 point per
-attack (which should make being able to do two attacks per turn worthwhile),
-1 point for a parry, and, possibly (to be decided), 1 point when defending
-(maybe % chance? This reduces the importance of double hits).
-
-Each character has exactly one skill, which is chosen like any other part of
-their equipment. Skills have infinite range, and are casted on a single target
-(faction is not taken into account), which is either a character or a tile
-(that may actually place the skill on a pattern around itself).
-The use of a skill counts as an action (i.e. it replaces either switching
-weapons or attacking).
-
-Multiple variants of the same skill allow players to select a more costly skill
-for an increase in either power (Alpha variant), duration (Beta variant), or
-both (Gamma variant). The increase should not be linear (e.g. 2 times the power
-costs 175% of the default version). The X Gamma variant combines the advantages
-of the Beta and the Alpha versions. It obviously costs way more than either of
-them. Another variation could be to have the skill triggered later, by
-targeting a tile. Depending on the variant, a character (ally, enemy, or
-either) would trigger the effect upon walking on the tile. This could for
-example be used for a self-resurrection skill.
-
-Ideas for some skills:
-* Attack Anywhere:
- The caster performs an attack on the target with their current weapon,
- regardless of where that target is.
-
-* Shields Up {D, A0, A1, B0, B1, G0, G1}:
- Target benefits from {D: 25, A0: 50, A1: 75}% damage reduction for
- {D: 1, B0: 2, B1: 3} turns.
-
-* Static Heal {D, A0, A1, A2, A3}:
- Target heals for {D: 20, A0: 40, A1: 60, A2: 80, A3: 100} HPs, if nothing
- prevents it.
-
-* Percentage Heal {D, A0, A1, A2, A3}:
- Target heals for {D: 15, A0: 25, A1: 35, A2: 50, A3: 65} percent of their
- maximum HPs, if nothing prevents it.
-
-* Healing Over Time {D, A0, A1, A2, A3, B0, B1, B2, B3, G0, G1, G2, G3}:
- Target gains a {D: 4, B0: 6, B2: 8, B3: 10} turns duration status that heals
- them for {D: 6, A0: 12, A1: 18, A2: 24, A3: 30} HPs.
-
-* Dispel {D, A0}:
- Target loses {D: a random, A0: all} active status(es).
-
-* Redirection:
- Target and caster swaps all their active status.
-
-* Overload {D, A0, A1, B0, B1, G0, G1}:
- Target gains a {D: 1, B0: 2, B1: 3} status providing a {D: 5, A0: 10, A1:
- 20}% damage increase per active status (including this one) when attacking.
- The count is done during the attack, not during the cast.
-
-* Trickster {D, A0, A1}:
- Target and caster swaps {D: secondary, A0: active, A1: all} weapon(s).
-
-* Confusion:
- The target equips their secondary weapon.
-
-* Vampire {D, A0, A1, A2, B0, B1, B2, G0, G1, G2}:
- Caster gains the "Vampire" active status. The Vampire status lasts
- {D: 3, B0: 6, B1: 9, B2: 12} turns and, for melee attacks: grants
- {D: 10, A0: 15, A1: 20, A2: 25}% life-steal, and adds the Vampire status
- to the defender (with a reset duration).
-
-* Teleportation:
- The caster is teleported to the target tile, if applicable.
-
-* Switch:
- Caster and target swap locations.
-
-* Mark Target {D, A0, A1, A2, B0, B1, B2, G0, G1, G2}:
- The target gains an active status, "Target", that increases the critical
- chance and precision of attacks it receives. The status lasts {D: 1, B0: 2,
- B1: 3, B2: 4} turns, and increases chances by {D: 15, A0: 25, A1: 35, A2: 45}
- points.
-
-* Petrify {D, B0, B1}:
- The target becomes inactive and invulnerable for {D: 1, B0: 2, B1: 3} turns.
-
-* Sacrifice {D, A0, A1, A2, A3}:
- Target gains <cost of the skill> SP points.
-
-* Denial {D, B0, B1, B2}:
- Target is unable to gain SP points from attacks, parries, or defenses for
- {D: 2, B0: 4, B1: 6} turns.