setup monorepo
This commit is contained in:
commit
9ca7d28cca
30
LICENSE
Normal file
30
LICENSE
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
|
||||
Copyright (c) 2025 Matt Arnold. All Rights Reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modificatio
|
||||
n, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistribution of source code must retain the above copyright notice, t
|
||||
his list of conditions and the following disclaimer.
|
||||
2. Redistribution in binary form must reproduce the above copyright notice
|
||||
, this list of conditions and the following disclaimer in the documentation an
|
||||
d/or other materials provided with the distribution.
|
||||
3. Neither the name of the copyright holder nor the names of its contribut
|
||||
ors may be used to endorse or promote products derived from this software with
|
||||
out specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AN
|
||||
D ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIE
|
||||
D WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCL
|
||||
AIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR AN
|
||||
Y DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (
|
||||
INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LO
|
||||
SS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON A
|
||||
NY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUD
|
||||
ING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWAR
|
||||
E, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
YOU ACKNOWLEDGE THAT THIS SOFTWARE IS NOT DESIGNED, LICENSED OR INTENDED FOR U
|
||||
SE IN THE DESIGN, CONSTRUCTION, OPERATION OR MAINTENANCE OF ANY MILITARY FACIL
|
||||
ITY.
|
74
mythic.py
Normal file
74
mythic.py
Normal file
@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Code mostly written using llms no copyright is claimed
|
||||
# but in case there is copyrightable matter here
|
||||
# To the extent possible under law, Matt Arnold
|
||||
# has waived all copyright and related or neighboring rights
|
||||
# to Mythic Pie. This work is published from: United States.
|
||||
|
||||
|
||||
import random
|
||||
|
||||
# Define the Fate table from Mythic Game Master Emulator
|
||||
fate_table = [
|
||||
"Exceptional Yes",
|
||||
"Yes",
|
||||
"Yes, but...",
|
||||
"No, but...",
|
||||
"No",
|
||||
"Exceptional No"
|
||||
]
|
||||
|
||||
# Define the Chaos Factor table from Mythic Game Master Emulator
|
||||
chaos_factor_table = {
|
||||
1: "Stable",
|
||||
2: "Low",
|
||||
3: "Moderate",
|
||||
4: "Elevated",
|
||||
5: "High",
|
||||
6: "Very High",
|
||||
7: "Extreme",
|
||||
8: "Absolute Chaos",
|
||||
9: "Total Chaos",
|
||||
10: "Impossible Chaos"
|
||||
}
|
||||
|
||||
# Define the Chaos Factor adjustments table from Mythic Game Master Emulator
|
||||
chaos_factor_adjustments_table = {
|
||||
"Stable": 0,
|
||||
"Low": 1,
|
||||
"Moderate": 2,
|
||||
"Elevated": 3,
|
||||
"High": 4,
|
||||
"Very High": 5,
|
||||
"Extreme": 6,
|
||||
"Absolute Chaos": 7,
|
||||
"Total Chaos": 8,
|
||||
"Impossible Chaos": 9
|
||||
}
|
||||
|
||||
# Function to roll Fate
|
||||
def roll_fate(chaos_factor):
|
||||
# Roll 2d10, one die for the Fate chart, one die for the Fate Modifier
|
||||
fate_roll = random.randint(1, 10)
|
||||
modifier_roll = random.randint(1, 10)
|
||||
|
||||
# Calculate the final Fate roll
|
||||
final_roll = fate_roll + modifier_roll + chaos_factor_adjustments_table[chaos_factor] - 6
|
||||
|
||||
# If the final roll is less than 1, set it to 1
|
||||
if final_roll < 1:
|
||||
final_roll = 1
|
||||
|
||||
# If the final roll is greater than 6, set it to 6
|
||||
if final_roll > 6:
|
||||
final_roll = 6
|
||||
|
||||
# Return the result
|
||||
return fate_table[final_roll - 1]
|
||||
|
||||
# Test the function with a Chaos Factor of "Moderate"
|
||||
chaos_factor = "Moderate"
|
||||
new_chaos_factor = random.randint(1, 10) + chaos_factor_adjustments_table[chaos_factor]
|
||||
print("Chaos Factor:", chaos_factor_table[new_chaos_factor])
|
||||
print("Fate Roll:", roll_fate(chaos_factor))
|
Loading…
x
Reference in New Issue
Block a user