Well, for this game, the player should be able to fight monsters as much as they want. So i don't think creating an object for EVERY monster they fight will work.

Also, i checked out that link you gave me. I think its what need. Thanks!

So basically im creating this python adventure text game. And so far its good. But i have this problem with class instances(Is that the right term?)

Say for example i have this class,

    class monster(object):
        def __init__(self,health,attack):
            self.damage = damage
            self.health = health

So then I create a class object(again, is that the right term?)

    goblin = monster(5,30)
    skeleton = monster(10,20)

so now, i have this piece of code for the fighting mechanic between the player and the monster. (I just copy past this so the indentation might be messed up)

    if char.location.war == True:
    while death == False:       
        #check where located for enemy localization
        if char.location == GoblinCmp:
            enemy = goblin
            boss = goblinChief
        elif char.location == Forest:
            enemy = skeleton
            boss = SkeletalKing

        #Randomly Chooses wave
        wavenum = random.randrange(1,4)
        currentwave = 0
        #Actual Fighting stage

        if currentwave > wavenum:
            enemy = boss

        if enemy.boss == False:
            print "Wave %s!\n" % currentwave
            print "A %s attacks you!" % enemy.name
        if enemy.boss == True:
            print "The miniboss %s appears! Get ready!" % enemy.name

        if currentwave <= wavenum:               
            while death == False:
                print fightstats % {'1':enemy.name,'2':enemy.health,'3':enemy.att,'b':char.health,'c':char.att}

                fightuser=raw_input('>')

                #User choices when fighting
                if fightuser == "attack":
                    outcome = random.choice(attackstat)
                    #Hit
                    if outcome == 'hit':
                        enemy.health = enemy.health - char.att
                        print ('You hit him! You dealt %(1)s damage to the %(a)s!\n') % {'1':char.att,'a':enemy.name}
                    #Miss
                    elif outcome == 'miss':
                        print ('You attacked, but missed!\n')
                    #Graze
                    elif outcome == 'graze':
                        currentatt = char.att / 2
                        enemy.health = enemy.health - currentatt
                        print ('You grazed it! You ...