Exemplo n.º 1
0
 def Inaugurate(self, character):
     skill = character.Cylax_Tech[self.Name]
     Cost = eg.Cylax_Cost(self.Value)
     Checker = eg.Cylax_Able(character, self.Value)
     Checker.Check()
     if (Checker.Final is True):
         character.Damage[3] = character.Damage[3] + Cost.Result
         character.Cylax_Value = self.Value
         if skill == 1:
             Cal_i = eg.Minner(0, character.Cylaxian[0], 30)
             Check = rd.randint(Cal_i, 3)
             if Check < 2:
                 print("You fail to inaugurate", self.Name)
             else:
                 skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                     self.Name]
                 print("You inaugurate", self.Name)
                 print(
                     "You get", skill_ii / 2, "additional DR for",
                     1 + character.Cylax_Tech[self.Name],
                     "seconds. You can't make an action until the beginning of your next turn."
                 )
         if skill == 2:
             Cal_i = eg.Minner(0, character.Cylaxian[0], 20)
             Check = rd.randint(Cal_i, 2)
             if Check < 1:
                 print("You fail to inaugurate", self.Name)
             else:
                 skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                     self.Name]
                 print("You inaugurate", self.Name)
                 print(
                     "You get", skill_ii / 2, "additional DR for",
                     1 + character.Cylax_Tech[self.Name],
                     "seconds. You can't make an action until the beginning of your next turn."
                 )
         if skill == 3:
             skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                 self.Name]
             print("You inaugurate", self.Name)
             print(
                 "You get", skill_ii / 2, "additional DR for",
                 1 + character.Cylax_Tech[self.Name],
                 "seconds. You can't make an action until the beginning of your next turn."
             )
         else:
             print(
                 "Error: Not a valued skill level. Needs to match the character's skill on their character sheet at self.Cylax_Tech,"
             )
             print("ranging from 1 to 3.")
     else:
         print("Unable to inaugurate as your bit state is",
               character.Cylax_Value, "and", self.Name, "is", self.Value,
               ".")
Exemplo n.º 2
0
 def Inaugurate(self, character):
     skill = character.Cylax_Tech[self.Name]
     Cost = eg.Cylax_Cost(self.Value)
     Checker = eg.Cylax_Able(character, self.Value)
     Checker.Check()
     if (Checker.Final is True):
         character.Damage[3] = character.Damage[
             3] + Cost.Result  ### equal to the number of 1s in the binary.
         character.Cylax_Value = self.Value
         if skill == 1:
             Cal_i = eg.Minner(0, character.Cylaxian[0], 30)
             Check = rd.randint(Cal_i, 3)
             if Check < 2:
                 print("You fail to inaugurate", self.Name)
             else:
                 skill_ii = character.Cylaxian[0] + character.Cylax_Tech[
                     self.Name]
                 print("You inaugurate", self.Name)
                 print(
                     "You get", skill_ii,
                     "ST for 1 second and you can only make one action before the beginning of your next turn."
                 )
         if skill == 2:
             Cal_i = eg.Minner(0, character.Cylaxian[0], 20)
             Check = rd.randint(Cal_i, 2)
             if Check < 1:
                 print("You fail to inaugurate", self.Name)
             else:
                 skill_ii = character.Cylaxian[0] + character.Cylax_Tech[
                     self.Name]
                 print("You inaugurate", self.Name)
                 print(
                     "You get", skill_ii,
                     "ST for 1 second and you can only make one action before the beginning of your next turn."
                 )
         if skill == 3:
             skill_ii = character.Cylaxian[0] + character.Cylax_Tech[
                 self.Name]
             print("You inaugurate", self.Name)
             print(
                 "You get", skill_ii,
                 "ST for 1 second and you can only make one action before the beginning of your next turn."
             )
         else:
             print(
                 "Error: Not a valued skill level. Needs to match the character's skill on their character sheet at self.Cylax_Tech,"
             )
             print("ranging from 1 to 3.")
     else:
         print("Unable to inaugurate as your bit state is",
               character.Cylax_Value, "and", self.Name, "is", self.Value,
               ".")
Exemplo n.º 3
0
 def Inaugurate(self, character):
     skill = character.Cylax_Tech[self.Name]
     Cost = eg.Cylax_Cost(self.Value)
     Checker = eg.Cylax_Able(character, self.Value)
     Checker.Check()
     if (Checker.Final is True):
         character.Damage[3] = character.Damage[
             3] + Cost.Result  ### equal to the number of 1s in the binary.
         character.Cylax_Value = self.Value
         if skill == 1:
             Cal_i = eg.Minner(0, character.Cylaxian[0], 30)
             Check = rd.randint(Cal_i, 3)
             if Check < 2:
                 print("You fail to inaugurate", self.Name)
             else:
                 skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                     self.Name]
                 print("You inaugurate", self.Name)
                 print("Create a stream of fire at an area of up to",
                       skill_ii / 45, "meters^2, at up to",
                       (skill_ii / 2) + 590, "temperture.")
         if skill == 2:
             Cal_i = eg.Minner(0, character.Cylaxian[0], 20)
             Check = rd.randint(Cal_i, 2)
             if Check < 1:
                 print("You fail to inaugurate", self.Name)
             else:
                 skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                     self.Name]
                 print("You inaugurate", self.Name)
                 print("Create a stream of fire at an area of up to",
                       skill_ii / 30, "meters^2, at up to",
                       (skill_ii / 2) + 590, "temperture.")
         if skill == 3:
             skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                 self.Name]
             print("You inaugurate", self.Name)
             print("Create a stream of fire at an area of up to",
                   skill_ii / 15, "meters^2, at up to",
                   (skill_ii / 2) + 590, "temperture.")
         else:
             print(
                 "Error: Not a valued skill level. Needs to match the character's skill on their character sheet at self.Cylax_Tech,"
             )
             print("ranging from 1 to 3.")
     else:
         print("Unable to inaugurate as your bit state is",
               character.Cylax_Value, "and", self.Name, "is", self.Value,
               ".")
Exemplo n.º 4
0
 def Inaugurate(self, character, target):
     skill = character.Cylax_Tech[self.Name]
     Cost = eg.Cylax_Cost(self.Value)
     Checker = eg.Cylax_Able(character, self.Value)
     Checker.Check()
     if (Checker.Final is True):
         character.Damage[3] = character.Damage[
             3] + Cost.Result  ### equal to the number of 1s in the binary.
         character.Cylax_Value = self.Value
         if skill == 1:
             Cal_i = eg.Minner(0, character.Cylaxian[0], 30)
             Check = rd.randint(Cal_i, 3)
             if Check < 2:
                 print("You fail to inaugurate", self.Name)
             else:
                 skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                     self.Name]
                 print("You inaugurate", self.Name)
                 print("You heal the target for", skill_ii / 3, "HP.")
                 target.Damage[0] = target.Damage[0] - skill_ii / 3
         if skill == 2:
             Cal_i = eg.Minner(0, character.Cylaxian[0], 20)
             Check = rd.randint(Cal_i, 2)
             if Check < 1:
                 print("You fail to inaugurate", self.Name)
             else:
                 skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                     self.Name]
                 print("You inaugurate", self.Name)
                 print("You heal the target for", skill_ii / 2, "HP.")
                 target.Damage[0] = target.Damage[0] - skill_ii / 2
         if skill == 3:
             skill_ii = character.Cylaxian[0] * character.Cylax_Tech[
                 self.Name]
             print("You heal the target for", skill_ii, "HP.")
             target.Damage[0] = target.Damage[0] - skill_ii
         else:
             print(
                 "Error: Not a valued skill level. Needs to match the character's skill on their character sheet at self.Cylax_Tech,"
             )
             print("ranging from 1 to 3.")
     else:
         print("Unable to inaugurate as your bit state is",
               character.Cylax_Value, "and", self.Name, "is", self.Value,
               ".")
Exemplo n.º 5
0
    def __init__(self, weapon, user):

        Character = user
        Weapon = weapon ### Insert Weapon here
        Cal_i = eg.Minner((Character.Melee_Weapon[0]/100) + 0.65, 0.65, 1.25)
        Cal_ii = eg.Minner(Weapon.Weight, 1, Weapon.Weight)

        self.Name = "Stab"

        ### Stats

        self.Harm = ((Character.ST/Cal_ii.result + (Character.DX/1.5))/2) * 2 * Weapon.Harm_Mod
        self.HarmType = ""
        self.Inflict = 0 ### 0 = HP, 1 = FP, 2 = MP, 3 = CP, 4 = Sanity, 5 = Lust, 6 = Fear
        self.Random = [0.65,1.25]
        self.Knockback = 0

        ### Traits

        self.ELECTRICAL = False
        self.FLAMMABLE = False
        self.POISONOUS = [False, []] ### Apply to what
        self.MOIST = False
Exemplo n.º 6
0
def Generic_Skill(character = char.Char(), personal = 0, familiarity = 0, technology = 0, extra_against = 0, extra_for = 0, accuracy = 0,
    difficulty = 0, skill = "Cylaxian"):


    Skill_User = character

    dict_i = {"Acrobatics":0, "Aerobatics":1, "Aiding":2, "Aquabatics":3, "Arm_Combat":4, "Art":5, "Attack":6, "Chemistry":7,
                "Climbing":8, "Cooking":9, "Cylaxian":10, "Diplomacy":11, "Disguise":12, "Electrician":13,
                "Electronic_Operation":14, "Engineering":15, "Fast_Draw":16, "Games":17, "Guns":18, "Hobby":19, "Math":20,
                "Melee_Weapon":21, "Navigation":22, "Naturalist":23, "Physics":24, "Repair":25, "Science":26, "Stealth":27,
                "Strategy":28, "Suit":29, "Tactics":30, "Vehicle":31, "Writing":32}

    list_i = [character.Acrobatics[0], character.Aerobatics[0], character.Aiding[0], character.Aquabatics[0],
                character.Arm_Combat[0], character.Art[0], character.Attack[0], character.Chemistry[0], character.Climbing[0],
                character.Cooking[0], character.Cylaxian[0], character.Diplomacy[0], character.Disguise[0],
                character.Electrician[0], character.Electronic_Operation[0], character.Engineering[0], character.Fast_Draw[0],
                character.Games[0], character.Guns[0], character.Hobby[0], character.Math[0], character.Melee_Weapon[0],
                character.Navigation[0], character.Naturalist[0], character.Physics[0], character.Repair[0], character.Science[0],
                character.Stealth[0], character.Strategy[0], character.Suit[0], character.Tactics[0], character.Vehicle[0],
                character.Writing[0]]

    Rating = list_i[dict_i[skill]]

    Personal = personal
    Familiarity = familiarity
    Technology = technology
    Extra_Against = extra_against
    Extra_For = extra_for
    Accuracy = accuracy

    Difficulty = difficulty

    Cal_i = eg.Minner((Accuracy/20) + 0.80, 0.80, 1.20)

    S = round((Rating + Personal + Accuracy) * round(rd.uniform(0.80, 1.20), 2) -
    (Difficulty * ((1 + Extra_Against) / (1 + Familiarity + Technology + Extra_For))), 2)

    print(S)

    if S > 0:
        print(Skill_User.Name, "succeed the challenge.")

    elif S <= 0:
        print(Skill_User.Name, "failed the challenge.")

    else:
        print("Something have went wrong. Most likely due to S not being a float.")
Exemplo n.º 7
0
    def __init__(self, user):

        Character = user
        Cal_i = eg.Minner((ce.Arm_Combat / 100) + 0.70, 0.70, 1.20)

        self.Name = "Low Kick"

        ### Stats

        self.Harm = (Character.ST * 0.66) + (Character.DX / 2)
        self.HarmType = "Blunt"
        self.Inflict = 0  ### 0 = HP, 1 = FP, 2 = MP, 3 = CP, 4 = Sanity, 5 = Lust, 6 = Fear
        self.Random = [Cal_i, 1.20]
        self.Knockback = Character.ST / 60

        ### Traits

        self.ELECTRICAL = False
        self.FLAMMABLE = False
        self.POISONOUS = [False, []]  ### Apply to what
        self.MOIST = False
Exemplo n.º 8
0
 def Effect(self, Attacker, Defender, Attack, Protection, Additional_DR,
            External_Effect):
     Attacker = Attacker
     Defender = Defender
     Attack = Attack
     Protection = Protection
     Additional_DR = Additional_DR
     External_Effect = External_Effect
     Check = eg.DamageNameChecker(Attack.Inflict)
     Total = round(
         ((Attack.Harm * (rd.uniform(Attack.Random[0], Attack.Random[1]))) -
          (Protection.DR + Additional_DR)), 2)
     Defender.Damage[
         Attack.Inflict] = Defender.Damage[Attack.Inflict] + Total
     print("You kicked the target. They are dealt", Total, Attack.HarmType,
           "damage.")
     debuff = eg.Minner((6 - Character.DX / 3), 0, 6)
     print("You get", debuff,
           "to your movement defenses until your next turn.")
     print("They now have", Defender.Damage[Attack.Inflict], Check.Result)
     ph.Knockback(Attack, Defender)
     External_Effect.Attack_Effect()
Exemplo n.º 9
0
    def __init__(self, user):

        Character = user
        Cal_i = eg.Minner((ce.Arm_Combat / 100) + 0.70, 0.70, 1.20)

        self.Name = "Strong Claw"

        ### Stats

        self.Harm = ((Character.ST / 2) + (Character.DX / 1.5) * 1.5) + (
            (Character.ST) / mt.sqrt(3))
        self.HarmType = "Cut"
        self.Inflict = 0  ### 0 = HP, 1 = FP, 2 = MP, 3 = CP, 4 = Sanity, 5 = Lust, 6 = Fear
        self.Random = [Cal_i, 1.20]
        self.Knockback = 0

        ### Traits

        self.ELECTRICAL = False
        self.FLAMMABLE = False
        self.POISONOUS = [False, []]  ### Apply to what
        self.MOIST = False
Exemplo n.º 10
0
    def __init__(self, user):

        Character = user
        Cal_i = eg.Minner((ce.Arm_Combat / 100) + 0.70, 0.70, 1.20)

        self.Name = "Bite"

        varible_damage = ph.Teeth_Change(Character)

        ### Stats

        self.Harm = Character.ST + (Character.DX / 3) * 1.25
        self.HarmType = "Pierce"
        self.Inflict = 0  ### 0 = HP, 1 = FP, 2 = MP, 3 = CP, 4 = Sanity, 5 = Lust, 6 = Fear
        self.Random = [Cal_i, 1.20]
        self.Knockback = 0

        ### Traits

        self.ELECTRICAL = False
        self.FLAMMABLE = False
        self.POISONOUS = [False, []]  ### Apply to what
        self.MOIST = False
Exemplo n.º 11
0
    def __init__(self, user):

        Character = user
        Cal_i = eg.Minner(
            (ce.Arm_Combat / 100) + 0.90, 0.90,
            1.20) + (-0.30 + Character.Familiarities["Tunnel Traveller"])

        self.Name = "Tunnel Traveller"

        ### Stats

        self.Harm = 0
        self.HarmType = "Blunt"
        self.Inflict = 0  ### 0 = HP, 1 = FP, 2 = MP, 3 = CP, 4 = Sanity, 5 = Lust, 6 = Fear
        self.Random = [0.99, 1.01]
        self.Knockback = 0

        ### Traits

        self.ELECTRICAL = False
        self.FLAMMABLE = False
        self.POISONOUS = [False, []]  ### Apply to what
        self.MOIST = False
Exemplo n.º 12
0
Limb (2)
Neck (5)
Skull (7)
Tail (2)
Torso (0)

Add bonuses and penalities if they are abnormally larger or shorter than the body.
'''

Damage = ((Attacker.Damage[0]/((Attacker.Height/33) + (Attacker.Width/33) + (Attacker.Length/33) + ((Attacker.CO)*10)))) + ((Attacker.Damage[1]/10) * (Attacker.Weight/100)
 / ((Attacker.HT)*10)) + (Attacker.Damage[2]/(Attacker.WIL*10)) + (Attacker.Damage[3]/(Attacker.WIL*10)) + (Attacker.Damage[4]/(Attacker.WIL*10)) + (Attacker.Damage[5]/
 (Attacker.WIL*10)) ### Damage on the attacker(m)

Familiarity = 3
Technology = 3 ### Quality of the Technology (t)

Cal_i = eg.Minner((Accuracy/100) + 0.60, 0.60, 1.20)
Cal_ii = eg.Minner((Preperation/100) + 0.60, 0.60, 1.20)

S = round((((Rating + Personal + Accuracy) * round(rd.uniform(Cal_i.result, 1.20), 2) -
(Difficulty * (1 + ( Cover + Damage + Vision + Range + Extra_Against ) / (Familiarity + Technology + Extra_For))
* round(rd.uniform(Cal_ii.result, 1.20), 2)))), 2)

print(S)

if S > 0:
    Attack.Effect(Attacker, Defender, Attack, Protection)

else:
    print("You miss the target.")
Exemplo n.º 13
0
import config as cf

sys.path.insert(1, 'C:/Users/Frank/Desktop/Cylax/PySystem')

import character_sheet as char

Skill_User = char.Char()

Rating = char.{}[0]

Familiarity =
Technology =
Extra_Against =
Extra_For =

Cal_i = eg.Minner(var = , min = , max = )

S = round((Rating + Personal + Accuracy) * round(rd.uniform(0.80, 1.20), 2) -
(Difficulty * ((1 + Extra_Against) / (1 + Familiarity + Technology + Extra_For))), 2)

print(S)

if S > 0:
    print(Skill_User.Name, "succeed the challenge.")

elif S <= 0:
    print(Skill_User.Name, "failed the challenge.")

else:
    print("Something have went wrong. Most likely due to S not being a float.")
Exemplo n.º 14
0
def Burning_Damage(character,
                   fire=0,
                   area=1,
                   temp_o=600,
                   temp_c=310.15,
                   freq=0,
                   rad=0,
                   rng=1,
                   material="animal"):
    ### Fire = 0, Plasma = 1, Hot = 2, Microwave = 3, Ionizing = 4
    ### Area is in metrics^2
    ### num_i = Damage, num_ii = Radiation
    if fire == 0:
        Cal_i = eg.Minner((area * (temp_o - temp_c) / 10), 1,
                          character.Volume / 60)
        num_i = Cal_i.result
        check_i = False
        index = 0
    elif fire == 1:
        Cal_i = eg.Minner((area * (temp_o - temp_c) / 7.5), 1,
                          character.Volume / 60)
        num_i = Cal_i.result
        check_i = False
        index = 1
    elif fire == 2:
        Cal_i = eg.Minner((area * (temp_o - temp_c) / 10), 1,
                          character.Volume / 60)
        num_i = Cal_i.result
        check_i = False
        index = 2
    elif fire == 3:
        Cal_i = eg.Minner((area * freq) - rng / 10, 1, character.Volume / 60)
        num_i = Cal_i.result
        check_i = True
        index = 3
    elif fire == 4:
        Cal_i = eg.Minner(((area * rad) / rng) / 10, 1, character.Volume / 60)
        num_i = Cal_i.result
        check_i = True
        index = 4
    else:
        print(
            "Not a vaild fire type. Fire = 0, Plasma = 1, Hot = 2, Microwave = 3, Ionizing = 4"
        )
    '''
    list_i = ["Causes objects to ignite in flames", "Causes Normal Damage.", "Causes Normal Damage.", "Causes Normal Damage.", "Causes Normal Damage."]
    list_ii = ["water", "metal", "plant", "animal", "fabric", "oil"]
    '''

    dict_i = {
        "water": 0,
        "matel": 0.2,
        "plant": 2,
        "animal": 1,
        "fabric": 4,
        "oil": 8
    }
    list_i = [0, 0.2, 2, 1, 4, 8]

    Damage = round(num_i * dict_i[material], 2)
    Radiation = check_i

    Burning_Effect = list_i[index]

    character.Damage[0] = round(character.Damage[0] + Damage, 2)
    print(character.Name, "take", Damage, "burning damage. Now they have",
          character.Damage[0], "HP damage.")
    if fire == 0:
        print("All hit objects are in flames if able.")
        Continuous_Flames(character, temp_o, area, material)
Exemplo n.º 15
0
Builder = char.Char()

Rating = char.{}[0]

Familiarity =
Technology =
Tools = tf.BuildingTools(self, tools = False, pullers = False, vehicles = False, additive = False,
                        interlock = False, magnetism = False, cylax = False)
Extra_Against =
Extra_For =
Building_Progress = ### In Precentage
Time_Spent = 0 ### In Minutes
Structure_Volume = ### In Metrics Cubic

Cal_i = eg.Minner(var = Building_Progress, min = 0, max = 100)

S = round((Rating + Personal + Accuracy) * round(rd.uniform(0.80, 1.20), 2) -
(Difficulty * ((1 + Extra_Against) / (1 + Familiarity + Technology + Extra_For))), 2)

New_Progress = (S * (1 + Technology / 2) * Tools.result) * (Time_Spent / 60) / Structure_Volume
Building_Progress = Building_Progress + New_Progress
Building_Progress = Cal_i.result

print(S)

if S > 0:
    print(Builder.Name, "have made progress.")
    print("After", Time_Spent,",", Builder.Name, "made", New_Progress, "change, now it's at", Building_Progress, "progress.")
    print("The object is now", Building_Progress, "% complete.")
    if Building_Progress == 100:
Exemplo n.º 16
0
Personal = ### Enter Personality and Emotional Factors (p)
Extra_Against = ### Any Additional Factors (e_n)
Extra_For = ### Any Additional Factors (e_d)

Viewers = [] ### From 1 to 10, how much do they like art the artist is creating. Put a number for each group of viewers
Cultures =  ### How many cultures are there amoung the viewers
Group = sum(Viewers)/Cultures ### Add the cultural difference of the artist and the viewers. x_! is each viewers and y is the number of cultures.

Time = ### How many time spend in 1 every 24 hours on the piece of work?
Assistance = ### How many people are working at the project.
Budget = ### Amount of money in the project
Size = ### How big is the project? How much have to be spent to start this project of this quality Example: AAA is $100,000,000

Difficulty = 4 + Cultures
Cal_i = eg.Minner(Budget/Size, 0, 2)
Cal_ii = eg.Minner(Time/(3650/Assistance), -400, 3)

S = ((Rating + Personal) * round(rd.uniform(0.90, 1.10))) - (Difficulty * ((1 + Extra_Against + Group)/(1 + Extra_For + Familiarity + Technology + Cal_i + Cal_ii)))

print(S)

if S < -19:
    print(Artist.Name, Skill, "was one of the worst works of art of all times. It will be remembered as an abomination of the arts. It's a 1/10")

elif S >= -19 and S < -13:
    print(Artist.Name, Skill, "is a terrible work of art. It will get an infamous status among the arts. It's a 2/10")

elif S >= -13 and S < -8:
    print(Artist.Name, Skill, "is isn't a great piece of work, could have been much more. It's a 3/10")
Exemplo n.º 17
0
def Attacking(char_att = char.Char(), char_def = char.Char(), external_effect = eg.Empty(),
    attack = ba.Attack(None), protect = char.Char(), additional_dr = 0, familiarity = 0, technology = 0, personal = 0, accuracy = 0,
    extra_against = 0, extra_for = 0, cover = 0, vision = 0, range = 0, hit_zone = 0, inability = 0, preperation = 0,
    skill_att = "Arm_Combat", difficulty = "Arm_Combat"):


    dict_i = {"Acrobatics":0, "Aerobatics":1, "Aiding":2, "Aquabatics":3, "Arm_Combat":4, "Art":5, "Attack":6, "Chemistry":7,
                "Climbing":8, "Cooking":9, "Cylaxian":10, "Diplomacy":11, "Disguise":12, "Electrician":13,
                "Electronic_Operation":14, "Engineering":15, "Fast_Draw":16, "Games":17, "Guns":18, "Hobby":19, "Math":20,
                "Melee_Weapon":21, "Navigation":22, "Naturalist":23, "Physics":24, "Repair":25, "Science":26, "Stealth":27,
                "Strategy":28, "Suit":29, "Tactics":30, "Vehicle":31, "Writing":32}
    dict_ii = {"Acrobatics":0, "Aerobatics":1, "Aiding":2, "Aquabatics":3, "Arm_Combat":4, "Art":5, "Attack":6, "Chemistry":7,
                "Climbing":8, "Cooking":9, "Cylaxian":10, "Diplomacy":11, "Disguise":12, "Electrician":13,
                "Electronic_Operation":14, "Engineering":15, "Fast_Draw":16, "Games":17, "Guns":18, "Hobby":19, "Math":20,
                "Melee_Weapon":21, "Navigation":22, "Naturalist":23, "Physics":24, "Repair":25, "Science":26, "Stealth":27,
                "Strategy":28, "Suit":29, "Tactics":30, "Vehicle":31, "Writing":32}

    list_i = [character.Acrobatics[0], character.Aerobatics[0], character.Aiding[0], character.Aquabatics[0],
                character.Arm_Combat[0], character.Art[0], character.Attack[0], character.Chemistry[0], character.Climbing[0],
                character.Cooking[0], character.Cylaxian[0], character.Diplomacy[0], character.Disguise[0],
                character.Electrician[0], character.Electronic_Operation[0], character.Engineering[0], character.Fast_Draw[0],
                character.Games[0], character.Guns[0], character.Hobby[0], character.Math[0], character.Melee_Weapon[0],
                character.Navigation[0], character.Naturalist[0], character.Physics[0], character.Repair[0], character.Science[0],
                character.Stealth[0], character.Strategy[0], character.Suit[0], character.Tactics[0], character.Vehicle[0],
                character.Writing[0]]
    list_ii = [character.Acrobatics[0], character.Aerobatics[0], character.Aiding[0], character.Aquabatics[0],
                character.Arm_Combat[0], character.Art[0], character.Attack[0], character.Chemistry[0], character.Climbing[0],
                character.Cooking[0], character.Cylaxian[0], character.Diplomacy[0], character.Disguise[0],
                character.Electrician[0], character.Electronic_Operation[0], character.Engineering[0], character.Fast_Draw[0],
                character.Games[0], character.Guns[0], character.Hobby[0], character.Math[0], character.Melee_Weapon[0],
                character.Navigation[0], character.Naturalist[0], character.Physics[0], character.Repair[0], character.Science[0],
                character.Stealth[0], character.Strategy[0], character.Suit[0], character.Tactics[0], character.Vehicle[0],
                character.Writing[0]]

    Attacker = char_att
    Defender = char_def
    Attack = attack ### Weapons need to be called
    Protection = protect

    Additional_DR = additional_dr

    External_Effect = eg.Empty()

    Familiarity = familiarity
    Technology = technology

    Rating = list_i[dict_i[skill_att]]
    Personal = personal
    Accuracy = accuracy
    Extra_Against = extra_against
    Extra_For = extra_for
    Cover = cover
    Vision = vision
    Range = range

    Hit_Zone = hit_zone
    Inability = inability
    Difficulty = abs(5 + list_ii[dict_ii[skill_def]] + Hit_Zone - Inability)
    Preperation = preperation

    '''
    Hit Zones

    Arm (2)
    Eye (9)
    Face (5)
    Foot (4)
    Groin (3)
    Hand (4)
    Leg (2)
    Limb (2)
    Neck (5)
    Skull (7)
    Tail (2)
    Torso (0)

    Add bonuses and penalities if they are abnormally larger or shorter than the body.
    '''

    Damage = ((Attacker.Damage[0]/((Attacker.Height/33) + (Attacker.Width/33) + (Attacker.Length/33) + ((Attacker.CO)*10)))) + ((Attacker.Damage[1]/10) * (Attacker.Weight/100)
     / ((Attacker.HT)*10)) + (Attacker.Damage[2]/(Attacker.WIL*10)) + (Attacker.Damage[3]/(Attacker.WIL*10)) + (Attacker.Damage[4]/(Attacker.WIL*10)) + (Attacker.Damage[5]/
     (Attacker.WIL*10)) ### Damage on the attacker(m)

    Cal_i = eg.Minner((Accuracy/20) + 0.80, 0.80, 1.20)
    Cal_ii = eg.Minner((Preperation/20) + 0.80, 0.80, 1.20)

    S = round((((Rating + Personal + Accuracy) * round(rd.uniform(Cal_i.result, 1.20), 2) -
    (Difficulty * ((1 + Cover + Damage + Vision + Range + Extra_Against ) / (1 + Familiarity + Technology + Extra_For))
    * round(rd.uniform(Cal_ii.result, 1.20), 2)))), 2)

    print(S)

    if S > 0:
        Attack.Effect(Attacker, Defender, Attack, Protection, Additional_DR, External_Effect)

    else:
        print("You miss the target.")
Exemplo n.º 18
0
def Artist(character = char.Char(), personal = 0, familiarity = 0, technology = 0, extra_against = 0,
    extra_for = 0, difficulty = 0, cultures_amount = 1, time = 1, assistance = 0, budget = 1,
    budget_requirement = 100, viewers = [5], skill = "Repair"):

    dict_i = {"Acrobatics":0, "Aerobatics":1, "Aiding":2, "Aquabatics":3, "Arm_Combat":4, "Art":5, "Attack":6, "Chemistry":7,
                "Climbing":8, "Cooking":9, "Cylaxian":10, "Diplomacy":11, "Disguise":12, "Electrician":13,
                "Electronic_Operation":14, "Engineering":15, "Fast_Draw":16, "Games":17, "Guns":18, "Hobby":19, "Math":20,
                "Melee_Weapon":21, "Navigation":22, "Naturalist":23, "Physics":24, "Repair":25, "Science":26, "Stealth":27,
                "Strategy":28, "Suit":29, "Tactics":30, "Vehicle":31, "Writing":32}

    list_i = [character.Acrobatics[0], character.Aerobatics[0], character.Aiding[0], character.Aquabatics[0],
                character.Arm_Combat[0], character.Art[0], character.Attack[0], character.Chemistry[0], character.Climbing[0],
                character.Cooking[0], character.Cylaxian[0], character.Diplomacy[0], character.Disguise[0],
                character.Electrician[0], character.Electronic_Operation[0], character.Engineering[0], character.Fast_Draw[0],
                character.Games[0], character.Guns[0], character.Hobby[0], character.Math[0], character.Melee_Weapon[0],
                character.Navigation[0], character.Naturalist[0], character.Physics[0], character.Repair[0], character.Science[0],
                character.Stealth[0], character.Strategy[0], character.Suit[0], character.Tactics[0], character.Vehicle[0],
                character.Writing[0]]

    Artist = character

    Rating = list_i[dict_i[skill]]


    Personal = personal ### Enter Personality and Emotional Factors (p)
    Familiarity = familiarity
    Technology = technology
    Extra_Against = extra_against ### Any Additional Factors (e_n)
    Extra_For = extra_for ### Any Additional Factors (e_d)

    Viewers = viewers ### From 1 to 10, how much do they like art the artist is creating. Put a number for each group of viewers
    Cultures = cultures_amount ### How many cultures are there amoung the viewers
    Group = sum(Viewers)/Cultures ### Add the cultural difference of the artist and the viewers. x_! is each viewers and y is the number of cultures.

    Time = time ### How many time spend in 1 every 24 hours on the piece of work?
    Assistance = assistance ### How many people are working at the project.
    Budget = budget ### Amount of money in the project
    Size = budget_requirement ### How big is the project? How much have to be spent to start this project of this quality Example: AAA is $100,000,000

    Difficulty = 4 + Cultures
    Cal_i = eg.Minner(Budget/Size, 0, 2)
    Cal_ii = eg.Minner(Time/(3650/Assistance), -400, 3)

    S = ((Rating + Personal) * round(rd.uniform(0.90, 1.10))) - (Difficulty * ((1 + Extra_Against + Group)/(1 + Extra_For +
    Familiarity + Technology + Cal_i + Cal_ii)))

    print(S)

    if S < -19:
        print(Artist.Name, Skill, "was one of the worst works of art of all times. It will be remembered as an abomination of the arts. It's a 1/10")

    elif S >= -19 and S < -13:
        print(Artist.Name, Skill, "is a terrible work of art. It will get an infamous status among the arts. It's a 2/10")

    elif S >= -13 and S < -8:
        print(Artist.Name, Skill, "is isn't a great piece of work, could have been much more. It's a 3/10")

    elif S >= -8 and S < -4:
        print(Artist.Name, Skill, "is a bleak piece of work. It's a 4/10")

    elif S >= -4 and S < 0:
        print(Artist.Name, Skill, "is medicore. Forgettable. It's a 5/10")

    elif S >= 0 and S < 5:
        print(Artist.Name, Skill, "is okay, passible. It's a 6/10")

    elif S >= 5 and S < 11:
        print(Artist.Name, Skill, "is a good piece of work, something people will comeback too. It's a 7/10")

    elif S >= 11 and S < 15:
        print(Artist.Name, Skill, "is a great piece of work, it will be known in as a mark in the history of the arts. It's a 8/10")

    elif S >= 15 and S < 20:
        print(Artist.Name, Skill, "is an outstanding work of art, a milestone in the development of the arts. It's a 9/10")

    elif S >= 20:
        print(Artist.Name, Skill, "is one of the greatest works of art of all time, it has revoultionized the entire artscape of its field, created a cultural shift. It's a 10/10")
Exemplo n.º 19
0
def Attacking(char_att=char.Char(),
              char_def=defender.Char(),
              attack=ba.Attack(),
              protect=defender.Char(),
              additional_dr=0,
              external_effect=eg.Empty(),
              familiarity=0,
              technology=0,
              rating=skill_att[0] + 6,
              personal=0,
              accuracy=0,
              extra_against=0,
              extra_for=0,
              cover=0,
              vision=0,
              range=0,
              hit_zone=0,
              inability=0,
              difficulty=abs(5 + skill_def[0] + Hit_Zone - Inability),
              preperation=0):

    Attacker = char_att
    Defender = char_def
    Attack = attack  ### Weapons need to be called
    Protection = protect

    Additional_DR = additional_dr

    External_Effect = eg.Empty()

    Familiarity = familiarity
    Technology = technology

    Rating = rating
    Personal = personal
    Accuracy = accuracy
    Extra_Against = extra_against
    Extra_For = extra_for
    Cover = cover
    Vision = vision
    Range = range

    Hit_Zone = hit_zone
    Inability = inability
    Difficulty = difficulty
    Preperation = preperation
    '''
    Hit Zones

    Arm (2)
    Eye (9)
    Face (5)
    Foot (4)
    Groin (3)
    Hand (4)
    Leg (2)
    Limb (2)
    Neck (5)
    Skull (7)
    Tail (2)
    Torso (0)

    Add bonuses and penalities if they are abnormally larger or shorter than the body.
    '''

    Damage = (
        (Attacker.Damage[0] / ((Attacker.Height / 33) + (Attacker.Width / 33) +
                               (Attacker.Length / 33) + ((Attacker.CO) * 10)))
    ) + ((Attacker.Damage[1] / 10) * (Attacker.Weight / 100) /
         ((Attacker.HT) * 10)) + (Attacker.Damage[2] / (Attacker.WIL * 10)) + (
             Attacker.Damage[3] /
             (Attacker.WIL * 10)) + (Attacker.Damage[4] /
                                     (Attacker.WIL * 10)) + (
                                         Attacker.Damage[5] /
                                         (Attacker.WIL * 10)
                                     )  ### Damage on the attacker(m)

    Cal_i = eg.Minner((Accuracy / 20) + 0.60, 0.60, 1.20)
    Cal_ii = eg.Minner((Preperation / 20) + 0.60, 0.60, 1.20)

    S = round((((Rating + Personal + Accuracy) *
                round(rd.uniform(Cal_i.result, 1.20), 2) -
                (Difficulty *
                 ((1 + Cover + Damage + Vision + Range + Extra_Against) /
                  (1 + Familiarity + Technology + Extra_For)) *
                 round(rd.uniform(Cal_ii.result, 1.20), 2)))), 2)

    print(S)

    if S > 0:
        Attack.Effect(Attacker, Defender, Attack, Protection, Additional_DR,
                      External_Effect)

    else:
        print("You miss the target.")
Exemplo n.º 20
0
Direction = 90  ### 0 North, 90 East, 180 South, 270 West
Speed = 5

Familiarity = 1
Technology = 2
Extra_Against = 1
Extra_For = 1
Accuracy = 3

Rating = Navigator.Navigation[0]
Personal = 1

Difficulty = 1
Vision = 0

Cal_i = eg.Minner((Accuracy / 20) + 0.80, 0.80, 1.10)

S = ((
    (Rating + Personal + Accuracy) * round(rd.uniform(Cal_i.result, 1.10), 2) -
    (Difficulty * ((1 + Vision + Extra_Against) /
                   (1 + Familiarity + Technology + Extra_For)))))

if S > 0:
    if S >= 12 - Technology:
        print("You know where you are going. You move as desired.")
    elif S < 12 - Technology:
        miss_meters = round(Speed * rd.uniform(0.85, 1.00), 2)
        misdirection = eg.Random_Direction(int(Direction - (S * 5)),
                                           int(Direction + (S * 5)))
        print("You are heading the right direction, but you move", miss_meters,
              "towards", misdirection.Final_Direction)