save the old version
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
__pycache__
|
||||
saves/**
|
||||
BIN
FSEX300.ttf
Normal file
BIN
Shadow.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
TTSBG1.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
36
chara.py
Normal file
@@ -0,0 +1,36 @@
|
||||
import pygame as pg
|
||||
class playable:
|
||||
class ulo:
|
||||
def __init__(self,player):
|
||||
self.hb = [pg.Rect(player["pos"][0] + 5, player["pos"][-1] + 100 ,50, 25)]
|
||||
UPP = pg.image.load("./img/ulo/uloUPP.png")
|
||||
UP1 = pg.image.load("./img/ulo/uloUP1.png")
|
||||
UP2 = pg.image.load("./img/ulo/uloUP2.png")
|
||||
RIGHTP = pg.image.load("./img/ulo/uloRIGHTP.png")
|
||||
RIGHT1 = pg.image.load("./img/ulo/uloRIGHT1.png")
|
||||
RIGHT2 = pg.image.load("./img/ulo/uloRIGHT2.png")
|
||||
LEFTP = pg.image.load("./img/ulo/uloLEFTP.png")
|
||||
LEFT1 = pg.image.load("./img/ulo/uloLEFT1.png")
|
||||
LEFT2 = pg.image.load("./img/ulo/uloLEFT2.png")
|
||||
DOWNP = pg.image.load("./img/ulo/uloDOWNP.png")
|
||||
DOWN1 = pg.image.load("./img/ulo/uloDOWN1.png")
|
||||
DOWN2 = pg.image.load("./img/ulo/uloDOWN2.png")
|
||||
def npcmv(pos,lap,hb,idn):
|
||||
return "coll1("+str(pos)+","+str(lap)+",'["+str(["pg.R"+str(x)[2:-1] for x in hb])[2:-2]+"]',eval(\'maps.\'+player[\'maap\']+\'.hbmp\'),obon[0]+[x[0] for x in obon[3] if x[1] != \'"+idn[0]+"\']+chara.playable.ulo(player).hb)"
|
||||
class npc:
|
||||
class test:
|
||||
name = "test"
|
||||
def __init__(self,x,y,idn=None,look=None):
|
||||
self.hb = [pg.Rect(x +5 , y + 100 , 50 , 25)]
|
||||
if idn != None:
|
||||
self.ib = [([pg.Rect(x , y + 95 , 60 , 35)],["UP","DOWN","LEFT","RIGHT"],self.action(idn))]
|
||||
actmx = 2
|
||||
def skn(look="DOWN",timer=0,stop=0):
|
||||
if stop:
|
||||
return pg.image.load("./img/ulo/ulo"+str(look)+"P.png")
|
||||
return pg.image.load("./img/ulo/ulo"+str(look)+["1","2"][int(timer%1//0.5)]+".png")
|
||||
|
||||
def action(self,idn):
|
||||
return ["textbox(['test'])\ndidn('"+idn[0]+"',1)","textbox(['test1'])\ndidn('"+idn[0]+"',2)","textbox(['test2'])"][int(idn[1])]
|
||||
def mv(self,lap,pos,look,idn):
|
||||
return npcmv(pos,lap,self.hb,idn)
|
||||
52
gtxt.py
Normal file
@@ -0,0 +1,52 @@
|
||||
#syntax(txtbox text): \n to skip line or use """ ( not nessesary as lineskips are automatic )
|
||||
# for colored text use \bCOLOR\bCOLOREDTEXT\b
|
||||
# to move text to next textbox make another string in the list
|
||||
# for multiple choices use a list of the choices instead of strigs
|
||||
# first choice will result in ch0 second in chx (x being #of choices) third chx-1...
|
||||
class en:
|
||||
items = { "i000": ["snails","hailed as \"holy food\" by the cavemen"], #id : [name,description]
|
||||
"i001": ["",""] }
|
||||
def itmget(self,iid,No):
|
||||
return ["You found \b(255,0,0)\b"+str(No)+" "+self.items[iid][0]+"\b"]
|
||||
class intro:
|
||||
txt = ["""\b(90,170,195)\bGAMBAS TOWN\b,
|
||||
in the middle of nowhere, out in the sea,
|
||||
in the very near future.""",
|
||||
"""A little Sea Slug falls in love with a rock.
|
||||
He's always been in love with this little stone.
|
||||
Everyday, he goes in this small abyssal plain
|
||||
and wastes all his time with this mineral.""",
|
||||
"You are this Slug.",
|
||||
"Would you like to continue ?"]
|
||||
chx = [["yup","nop","maybe"]]
|
||||
ch0 = ["good boy"]
|
||||
ch1 = ["eh"]
|
||||
ch2 = ["k"]
|
||||
observations = { "anemone0": ["An anemone\nthis type is a pretty rare one\nit was passed down from your father"
|
||||
,"you find it rather cute"],
|
||||
"chair0" : ["A simple, sturdy chair"],
|
||||
"nontendo": ["This the Newest and Greatest from\nthe video game company \b(255,0,0)\bNontendo®","the \b(255,0,0)\bSUPER NONTENDO\b","Do you want to play ?",["No","No零","No零零"]] }
|
||||
class fr:
|
||||
items = { "i000": ["Escargots","Vénéré comme \"nourriture sacré\" par l'homme des carvernes"], #id : [name,description]
|
||||
"i001": ["",""] }
|
||||
def itmget(self,iid,No):
|
||||
return ["Vous trouvez \b(255,0,0)\b"+str(No)+" "+self.items[iid][0]+"\b"]
|
||||
class intro:
|
||||
txt = ["""\b(90,170,195)\bGAMBAS TOWN\b,
|
||||
Au milieu de nullle part, au fond l'océan,
|
||||
dans un futur très proche.""",
|
||||
"""Une petite limace de mer tomba amoureuse d'un rocher.
|
||||
Elle avait toujours été amoureuse de cette petite pierre.
|
||||
Tout les jours, elle allait dans cette petite plaine abyssale,
|
||||
pour passer tout son temps avec ce caillou.""",
|
||||
"Vous êtes cette limace.",
|
||||
"Voulez-vous continuer ?"]
|
||||
chx = [["Ouep","nope","Peut-être"]]
|
||||
ch0 = ["Bon garçon"]
|
||||
ch1 = ["euh"]
|
||||
ch2 = ["k"]
|
||||
observations = { "anemone0": ["Une anémone\ncette espèce est plutôt rare \nvous l'avez hérité de votre père"
|
||||
,"vous la trouvez plutôt mignonne"],
|
||||
"chair0" : ["Une chaise, simple et solide"],
|
||||
"nontendo": ["C'est la nouveauté incroyable de \nla compagnie de jeu vidéo \b(255,0,0)\bNontendo®","la \b(255,0,0)\bSUPER NONTENDO\b","Voulez-vous jouer ?",["Non","Non零","Non零零"]] }
|
||||
|
||||
0
img/.gitkeep
Normal file
BIN
img/Untitled.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
0
img/items/.gitkeep
Normal file
BIN
img/items/Coquillage_40.png
Normal file
|
After Width: | Height: | Size: 285 B |
0
img/maps/.gitkeep
Normal file
BIN
img/maps/chambre.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
img/maps/mur_chambre_Ulo_bas.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
img/non.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
img/obj/TV.png
Normal file
|
After Width: | Height: | Size: 439 B |
BIN
img/obj/TV_stand_and_nontendo.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
img/obj/anemone.png
Normal file
|
After Width: | Height: | Size: 878 B |
BIN
img/obj/bed.png
Normal file
|
After Width: | Height: | Size: 866 B |
BIN
img/obj/chair.png
Normal file
|
After Width: | Height: | Size: 511 B |
BIN
img/obj/chair_and_table.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
img/obj/furniture.png
Normal file
|
After Width: | Height: | Size: 717 B |
BIN
img/obj/locker.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
img/obj/nontendo.png
Normal file
|
After Width: | Height: | Size: 482 B |
BIN
img/obj/poster.png
Normal file
|
After Width: | Height: | Size: 332 B |
BIN
img/obj/table.png
Normal file
|
After Width: | Height: | Size: 667 B |
BIN
img/obj/table_and_chaire.png
Normal file
|
After Width: | Height: | Size: 719 B |
BIN
img/sprites/test.png
Normal file
|
After Width: | Height: | Size: 750 B |
0
img/ulo/.gitkeep
Normal file
BIN
img/ulo/uloDOWN1.png
Normal file
|
After Width: | Height: | Size: 660 B |
BIN
img/ulo/uloDOWN2.png
Normal file
|
After Width: | Height: | Size: 672 B |
BIN
img/ulo/uloDOWNP.png
Normal file
|
After Width: | Height: | Size: 602 B |
BIN
img/ulo/uloLEFT1.png
Normal file
|
After Width: | Height: | Size: 518 B |
BIN
img/ulo/uloLEFT2.png
Normal file
|
After Width: | Height: | Size: 528 B |
BIN
img/ulo/uloLEFTP.png
Normal file
|
After Width: | Height: | Size: 474 B |
BIN
img/ulo/uloRIGHT1.png
Normal file
|
After Width: | Height: | Size: 540 B |
BIN
img/ulo/uloRIGHT2.png
Normal file
|
After Width: | Height: | Size: 550 B |
BIN
img/ulo/uloRIGHTP.png
Normal file
|
After Width: | Height: | Size: 497 B |
BIN
img/ulo/uloUP1.png
Normal file
|
After Width: | Height: | Size: 611 B |
BIN
img/ulo/uloUP2.png
Normal file
|
After Width: | Height: | Size: 610 B |
BIN
img/ulo/uloUPP.png
Normal file
|
After Width: | Height: | Size: 594 B |
16
itms.py
Normal file
@@ -0,0 +1,16 @@
|
||||
#class item id: #english name
|
||||
# type = usable/equipement/...
|
||||
# subtype = combatusable/weapon... (optional)
|
||||
# effect = ["stat/statuseffect",
|
||||
# option(if stat:modifier if status effect immunity/removal=0 apply=1),
|
||||
# length of the effect(0 for one time effects i.e. health potions etc)] ( optional )
|
||||
# worth = price when sold ( optional )
|
||||
# def __init__(self,options/targetstat...): if some effect is stat dependent i.e. restores half health...
|
||||
# self.effect += ... (item will have to be referenced with () at the end) ( optional )
|
||||
class i000: #snail
|
||||
type = "usable"
|
||||
subtype = "combatusable"
|
||||
effect = [["hp",5,0]]
|
||||
img = "./img/non.png"
|
||||
worth = 100
|
||||
stack = True
|
||||
13
maps.py
Normal file
@@ -0,0 +1,13 @@
|
||||
import pygame as pg
|
||||
class home:
|
||||
mapp = pg.image.load('./img/maps/chambre.png')
|
||||
hb1 = pg.Rect(0,0,295,587)
|
||||
hb2 = pg.Rect(0,0,743,249)
|
||||
hb3 = pg.Rect(920,0,30,1000)
|
||||
hbmp = [hb1,hb2,hb3]
|
||||
obj = [["table_basse_rose",536,136,3,1,1],["armoire_verte",744,64,3,1],["lit_orange",292,244,3,1],["mur_de_ulo",0,0,4,1],["table_avec_chaise",560,408,3,0]]
|
||||
npc = [["test00",400,400,3,1,0,"randomv(fps,2,3,60,i)","DOWN",0,0,0]]
|
||||
music = './music/Gambas_town.mp3'
|
||||
fx = False
|
||||
ldz = [([pg.Rect(0,0,-1,1000)],None,"mapsw(maps.home,[500,300])")]
|
||||
|
||||
0
music/.gitkeep
Normal file
BIN
music/19-_the_Credits.mp3
Normal file
BIN
music/2-_Gambas_Town_theme.mp3
Normal file
BIN
music/3-_Title_song.mp3
Normal file
BIN
music/Gambas_town.mp3
Normal file
BIN
music/Itemfound.wav
Normal file
BIN
music/NG.mp3
Normal file
BIN
music/chambre Ulo.mp3
Normal file
34
obj.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import pygame as pg
|
||||
|
||||
class table_basse_rose :
|
||||
skn = pg.image.load('./img/obj/TV_stand_and_nontendo.png')
|
||||
def __init__(self,x,y):
|
||||
self.hb = [pg.Rect(x,y+55,167,95)]
|
||||
self.ib = [([pg.Rect(x+78,y+119,52,92)],["UP"],'textbox(settings["text"].observations["nontendo"])')]
|
||||
|
||||
class armoire_verte :
|
||||
skn = pg.image.load('./img/obj/locker.png')
|
||||
def __init__(self,x,y):
|
||||
self.hb = [pg.Rect(x,y,175,251)]
|
||||
self.ib = [([pg.Rect(x+48,y+218,80,80)],["UP"],'item_get("i000",5)')]
|
||||
|
||||
class lit_orange :
|
||||
skn = pg.image.load('./img/obj/bed.png')
|
||||
def __init__(self,x,y):
|
||||
self.hb = [pg.Rect(x,y,198,142)]
|
||||
self.ib = [([pg.Rect(x+19,y+111,160,64)],["UP"],"")]
|
||||
|
||||
class mur_de_ulo:
|
||||
skn = pg.image.load('./img/maps/mur_chambre_Ulo_bas.png')
|
||||
def __init__(self,x,y):
|
||||
self.hb = [pg.Rect(x,y+790,930,48)]
|
||||
self.ib = []
|
||||
|
||||
class table_avec_chaise:
|
||||
skn = pg.image.load('./img/obj/chair_and_table.png')
|
||||
def __init__(self,x,y):
|
||||
self.hb = [pg.Rect(x,y+40,187,115),pg.Rect(x+64,y+72,71,119+5)]
|
||||
self.ib = [([pg.Rect(x+64,y+8,64,64)],["DOWN"],'textbox(settings["text"].observations["anemone0"])')
|
||||
,([pg.Rect(x+136,y+148,24,56)],["LEFT"],'textbox(settings["text"].observations["chair0"])')
|
||||
,([pg.Rect(x+64,y+204,72,20)],["UP"],'textbox(settings["text"].observations["chair0"])')
|
||||
,([pg.Rect(x+40,y+148,24,56)],["RIGHT"],'textbox(settings["text"].observations["chair0"])')]
|
||||