コード例 #1
0
def enemygenerator():
    import random
    import charsheet
    import namegen
    namegen.namegen()
    enemyname = namegen.enemyname
    if charsheet.level == 1:
        enemylevel = random.randrange(1, 4)
    else:
        enemylevel = random.randrange(charsheet.level - 1, charsheet.level + 3)
    enemygold = random.randint(enemylevel * 3, enemylevel * 5)
    enemystr = random.randint(enemylevel * 3, enemylevel * 6)
    enemydex = random.randint(enemylevel * 3, enemylevel * 6)
    enemyint = random.randint(enemylevel * 3, enemylevel * 6)
    enemyhp = 100 + (random.randint(enemylevel * 2, enemylevel * 5))
    enemymaxhp = enemyhp
    import currentenemy
    currentenemy.name = enemyname
    currentenemy.level = enemylevel
    currentenemy.gold = enemygold
    currentenemy.str = enemystr
    currentenemy.dex = enemydex
    currentenemy.int = enemyint
    currentenemy.hp = enemyhp
    currentenemy.maxhp = enemymaxhp
コード例 #2
0
ファイル: getpkm.py プロジェクト: JamieJQuinn/IR-GTS
def getpkm():
    token = 'c9KcX1Cry3QKS2Ai7yxL6QiQGeBGeQKR'
    sent = False
    print 'Ready to receive from NDS'
    while not sent:
        sock, req = getReq()
        a = req.action

        if len(req.getvars) == 1: sendResp(sock, token)
        elif a == 'info':
            sendResp(sock, '\x01\x00')
            print 'Connection Established.'
        elif a == 'setProfile': sendResp(sock, '\x00' * 8)
        elif a == 'result': sendResp(sock, '\x05\x00')
        elif a == 'delete': sendResp(sock, '\x01\x00')
        elif a == 'search': sendResp(sock, '')
        elif a == 'post':
            sendResp(sock, '\x0c\x00')
            print 'Receiving Pokemon...'
            data = req.getvars['data']
            bytes = b64decode(data.replace('-', '+').replace('_', '/'))
            decrypt = makepkm(bytes)
            filename = namegen(decrypt[0x48:0x5e])
            filename += '.pkm'
            save(filename, decrypt)
            statread(decrypt)
            sent = True
コード例 #3
0
ファイル: getpkm.py プロジェクト: JoelWAnna/ir-gts
def getpkm():
    token = 'c9KcX1Cry3QKS2Ai7yxL6QiQGeBGeQKR'
    sent = False
    print 'Ready to receive from NDS'
    while not sent:
        sock, req = getReq()
        a = req.action

        if len(req.getvars) == 1: sendResp(sock, token)
        elif a == 'info':
            sendResp(sock, '\x01\x00')
            print 'Connection Established.'
        elif a == 'setProfile': sendResp(sock, '\x00' * 8)
        elif a == 'result': sendResp(sock, '\x05\x00')
        elif a == 'delete': sendResp(sock, '\x01\x00')
        elif a == 'search': sendResp(sock, '')
        elif a == 'post':
            sendResp(sock, '\x0c\x00')
            print 'Receiving Pokemon...'
            data = req.getvars['data']
            bytes = b64decode(data.replace('-', '+').replace('_', '/'))
            decrypt = makepkm(bytes)
            filename = namegen(decrypt[0x48:0x5e])
            filename += '.pkm'
            save(filename, decrypt)
            statread(decrypt)
            sent = True
コード例 #4
0
ファイル: stats.py プロジェクト: vgmoose/vgm
def statread(pkm):
    p = array('B')
    p.fromstring(pkm)

    pid = p[0x00] + (p[0x01] << 8) + (p[0x02] << 16) + (p[0x03] << 24)
    nickname = namegen(pkm[0x48:0x5e])
    lv = p[0x8c]
    nat = nature.get(pid % 25)
    spec = species.get((p[0x09] << 8) + p[0x08])
    abil = ability.get(p[0x15])
    if p[0x40] & 4:
        gender = '(Genderless)'
    elif p[0x40] & 2:
        gender = '(Female)'
    else: gender = '(Male)'
    otname = namegen(pkm[0x68:0x78])
    otid = (p[0x0d] << 8) + p[0x0c]
    secid = (p[0x0f] << 8) + p[0x0e]
    held = items.get((p[0x0b] << 8) + p[0x0a])
    ivs = ivcheck(p[0x38:0x3c])
    evs = evcheck(p[0x18:0x1e])
    atk = attackcheck(p[0x28:0x30])
    hidden = hiddenpower(ivs)
    happy = p[0x14]
    shiny = shinycheck(pid, otid, secid)
    if shiny: shiny = ' Shiny!'
    else: shiny = ''

    s = '%s:%s\n    ' % (nickname, shiny)
    s += 'Lv %d %s %s with %s %s\n\n    ' % (lv, nat, spec, abil, gender)
    s += 'OT: %s,  ID: %05d,  Secret ID: %05d\n    ' % (otname, otid, secid)
    s += 'Holding: %s,  Happiness: %d\n    ' % (held, happy)
    s += 'Hidden Power: %s-type, %d Base Power\n\n    ' % hidden
    s += 'Attacks: %-12s %-12s\n             %-12s %-12s\n\n    ' % atk
    s += 'IVs: HP %3d, Atk %3d, Def %3d, Spe %3d, SpA %3d, SpD %3d\n    ' % ivs
    s += 'EVs: HP %3d, Atk %3d, Def %3d, Spe %3d, SpA %3d, SpD %3d, \
Total %d\n\n' % evs
    s += '=' * 80 + '\n\n'

    with open('statlog.txt', 'a') as f:
        f.write(s)
コード例 #5
0
def gen_php_tpl(root, name):
    n = namegen(name)
    s = Template(template.tpl)
    d = {}

    target_path = os.path.join(root,'smarty/templates',n.tpl_name()+'.tpl')
    print 'Start generating tpl'
    print "\twriting: "+target_path
    f = open(target_path, 'w')
    f.write(s.substitute(d))
    f.close()
    
    return s.substitute(d)
コード例 #6
0
def gen_php_model(root, name):
    n = namegen(name)
    s = Template(template.model)
    d = {}
    d['model_name'] = n.model_name()

    target_path = os.path.join(root,'models',n.model_name()+'.php')
    print 'Start generating model'
    print "\twriting: "+target_path
    f = open(target_path, 'w')
    f.write(s.substitute(d))
    f.close()
    
    return s.substitute(d)
コード例 #7
0
def gen_php_controller(root, name):
    n = namegen(name)
    s = Template(template.controller)
    d = {}
    d['controller_name'] = n.controller_name()
    d['model_name'] = n.model_name()
    d['view_name'] = 'WanhuiFrameSimpleHtmlView'
    d['tpl_name'] = n.tpl_name()

    target_path = os.path.join(root,'controllers',n.controller_name()+'.php')
    print 'Start generating controller'
    print "\twriting: "+target_path
    f = open(target_path, 'w')
    f.write(s.substitute(d))
    f.close()
    
    return s.substitute(d)
コード例 #8
0
ファイル: gbatonds.py プロジェクト: JoelWAnna/ir-gts
def makends(gba):
    # Deconstructing GBA .3gpkm file
    pid = gba[0:4]
    otid = gba[4:8]
    nickname = convertname(gba[8:18])
    nickname = extendname(nickname, False)

    lang = gba[18]

    otname = convertname(gba[20:27])

    species = ord(gba[32]) + (ord(gba[33]) << 8)
    species = pokemonindex.get(species)

    gend = genderbyte(species, pid)
    forme = form(species, gend, pid)
    nicknamed = namegen.namegen(nickname) != stats.species.get(species).upper()
    ability = abilities.get(species)

    species = chr(species & 0xff) + chr((species >> 8) & 0xff)

    item = gba[34:36]

    exp = gba[36:40]

    ppup = ord(gba[40])
    ppupa = chr(ppup & 3)
    ppupb = chr((ppup >> 2) & 3)
    ppupc = chr((ppup >> 4) & 3)
    ppupd = chr((ppup >> 6) & 3)

    happy = gba[41]

    atk1 = gba[44:46]
    atk2 = gba[46:48]
    atk3 = gba[48:50]
    atk4 = gba[50:52]
    pp1 = gba[52]
    pp2 = gba[53]
    pp3 = gba[54]
    pp4 = gba[55]

    hpev = gba[56]
    atkev = gba[57]
    defev = gba[58]
    speev = gba[59]
    spaev = gba[60]
    spdev = gba[61]

    pkrs = gba[68]
    lvmet = ord(gba[70]) & 0x7f
    fmlot = ord(gba[71]) & 0x80
    ivs = gba[72:76]
    ribbons = gba[76:80]

    # Generating NDS .pkm file
    pkm = species + item + otid + exp + happy
    pkm += ability[ord(pid[0]) % 2]
    pkm += '\x00'      # Markings
    pkm += lang + hpev + atkev + defev + speev + spaev + spdev
    pkm += '\x00' * 10 # Contest values, Sinnoh ribbons
    pkm += atk1 + atk2 + atk3 + atk4 + pp1 + pp2 + pp3 + pp4
    pkm += ppupa + ppupb + ppupc + ppupd
    pkm += ivbytes(ivs, nicknamed)
    pkm += ribbons     # Hoenn ribbons
    pkm += chr(forme)
    pkm += '\x00' * 5 + '\x37\x00' # Shiny leaves, padding, egg from, met at
    pkm += nickname
    pkm += '\x00\x03' # Padding, hometown (Hoenn, Emerald)
    pkm += '\x00' * 8 # Sinnoh Ribbons, Padding
    pkm += extendname(otname, True, pkm[0x40:0x50])
    pkm += '\x00' * 3 # Date egg received
    pkm += datemet()
    pkm += '\x00' * 2 # Egg location
    pkm += '\x37\x00' # Location met (Migrated from Emerald)
    pkm += pkrs
    pkm += '\x04'     # Poke ball
    pkm += chr(lvmet | fmlot)
    pkm += '\x00'     # Encounter type
    pkm += '\x04'     # Poke ball
    pkm += '\x00'     # Padding

    chksm = getsum(pkm)
    pkm = pid + '\x00\x00' + chksm + pkm
    return makeparty(pkm)
コード例 #9
0
ファイル: gbatonds.py プロジェクト: goofwear/IR-GTS-BW-new
def makends(gba):
    # Deconstructing GBA .3gpkm file
    pid = gba[0:4]
    otid = gba[4:8]
    nickname = convertname(gba[8:18])
    nickname = extendname(nickname, False)

    lang = gba[18]

    otname = convertname(gba[20:27])

    species = ord(gba[32]) + (ord(gba[33]) << 8)
    species = pokemonindex.get(species)

    gend = genderbyte(species, pid)
    forme = form(species, gend, pid)
    nicknamed = namegen.namegen(nickname) != stats.species.get(species).upper()
    ability = abilities.get(species)

    species = chr(species & 0xff) + chr((species >> 8) & 0xff)

    item = gba[34:36]

    exp = gba[36:40]

    ppup = ord(gba[40])
    ppupa = chr(ppup & 3)
    ppupb = chr((ppup >> 2) & 3)
    ppupc = chr((ppup >> 4) & 3)
    ppupd = chr((ppup >> 6) & 3)

    happy = gba[41]

    atk1 = gba[44:46]
    atk2 = gba[46:48]
    atk3 = gba[48:50]
    atk4 = gba[50:52]
    pp1 = gba[52]
    pp2 = gba[53]
    pp3 = gba[54]
    pp4 = gba[55]

    hpev = gba[56]
    atkev = gba[57]
    defev = gba[58]
    speev = gba[59]
    spaev = gba[60]
    spdev = gba[61]

    pkrs = gba[68]
    lvmet = ord(gba[70]) & 0x7f
    fmlot = ord(gba[71]) & 0x80
    ivs = gba[72:76]
    ribbons = gba[76:80]

    # Generating NDS .pkm file
    pkm = species + item + otid + exp + happy
    pkm += ability[ord(pid[0]) % 2]
    pkm += '\x00'      # Markings
    pkm += lang + hpev + atkev + defev + speev + spaev + spdev
    pkm += '\x00' * 10 # Contest values, Sinnoh ribbons
    pkm += atk1 + atk2 + atk3 + atk4 + pp1 + pp2 + pp3 + pp4
    pkm += ppupa + ppupb + ppupc + ppupd
    pkm += ivbytes(ivs, nicknamed)
    pkm += ribbons     # Hoenn ribbons
    pkm += chr(forme)
    pkm += '\x00' * 5 + '\x37\x00' # Shiny leaves, padding, egg from, met at
    pkm += nickname
    pkm += '\x00\x03' # Padding, hometown (Hoenn, Emerald)
    pkm += '\x00' * 8 # Sinnoh Ribbons, Padding
    pkm += extendname(otname, True, pkm[0x40:0x50])
    pkm += '\x00' * 3 # Date egg received
    pkm += datemet()
    pkm += '\x00' * 2 # Egg location
    pkm += '\x37\x00' # Location met (Migrated from Emerald)
    pkm += pkrs
    pkm += '\x04'     # Poke ball
    pkm += chr(lvmet | fmlot)
    pkm += '\x00'     # Encounter type
    pkm += '\x04'     # Poke ball
    pkm += '\x00'     # Padding

    chksm = getsum(pkm)
    pkm = pid + '\x00\x00' + chksm + pkm
    return makeparty(pkm)
コード例 #10
0
ファイル: __init__.py プロジェクト: pandaoknight/codegen
def gen_php_router(name):
    n = namegen(name)
    return "'/%s' => '%s'," % (name, n.controller_name())