Working on some character creation templates using classes. The first one works ok, but the second class with the dictionary is giving me syntax errors and saying super(). has no argument, but I don’t know why my code is wrong?
```
import random
Player Info
class Player:
def init (self, name, race, subrace, age, subclass,hair, eyes, height, weight, strength, speed, intelligence, knowledge, attack, defense,**kwargs):
for key,value in kwargs.items():
setattr(self,key,value)
self.name = name
self.race = race
self.subrace = subrace
self.age = age
self.subclass = subclass
self.hair = hair
self.eyes = eyes
self.height = height
self.weight = weight
self.strength = random.randint(6,18)
self.speed = random.randint(6,18)
self.intelligence = random.randint(6,18)
self.knowledge = random.randint(6,18)
self.attack = random.randint(2,6)
self.defense = random.randint(2,6)
def __str__ (self):
return ("Name: {}, Race: {}, Subrace: {}, Age: {}, Subclass: {}, Hair: {}, Eyes: {}, Height: {}, Weight:{}, Strength: {}, Speed: {}, Intelligence: {}, Knowledge: {}, Attack: {}, Defense: {}").format(self.name,self.race,self.subrace,
self.age,self.subclass,self.hair,self.eyes,
self.height,self.weight,self.strength, self.speed,self.intelligence,self.knowledge,
self.attack,self.defense)
p1 = Player("Rob", "Vampire", "Midian", "125", "none", "Brown", "Green", "72in","185"," "," "," "," "," "," ")
print(p1)
Special Classes for Players
class Vampire(Player):
def init (self):
data = {
"strength": random.randint(14,18),
"speed": random.randint(14,18),
"intelligence": random.randint(14,18),
"knowledge": random.randint(14,18)
}
super().init(**data)
p2 = Vampire("Jon", "Vampire", "Archaea", "500", "none", "Black", "Red", "84in","225"," "," "," "," "," "," ")
print(p2)```