def before_try_to_get(entity, target, location, behavioured): manciata_torba = Item("karpuram_item_torba-manciata") laminetta_oro = Item("karpuram_item_laminetta-oro") if random.randint(1, 10) == 1: laminetta_oro.inject(location) entity.act( "Metti la $hand in $N ed un luccicore ti distrae dal tuo proponimento!", TO.ENTITY, target) entity.act( "tu che sei $N ti senti un po' deprezzato ogni volta $n ti indaga!", TO.TARGET, target) entity.act("$n affonda una mano in $N e si ferma sorpres$o.", TO.OTHERS, target) execution_result = command_get( entity, laminetta_oro.get_numbered_keyword(looker=entity)) else: manciata_torba.inject(location) execution_result = command_get( entity, manciata_torba.get_numbered_keyword(looker=entity)) # Se execution_result a True significa che è stato raccolta con successo # una manciata di torba e quindi ferma l'esecuzione del resto del comando get; # altrimenti è False e tornando False viene continuato il get del mucchio # di torba, che in futuro fallirà per motivi di peso return execution_result
def before_try_to_get(entity, target, location, behavioured): # Crea e inserisce il pizzico di polverina nella locazione da cui prenderlo pizzico = Item("carrozzone-zingaro_item_polverina-pizzico") pizzico.inject(location) entity.act("Infili le dita dentro $N.", TO.ENTITY, target) entity.act("$n allunga due dita dentro $N.", TO.OTHERS, target) entity.act("Ti senti un po' deprezzata ogni volta che $n ti indaga!", TO.TARGET, target) # Bisogna utilizzare la get_numbered_keyword perché non si sa se entity in quel # momento stia guardando la short diurna, notturna o il nome first_keyword = pizzico.get_numbered_keyword(looker=entity) if location.IS_ROOM: argument = first_keyword else: argument = "%s %s " % (first_keyword, location.get_numbered_keyword(looker=entity)) execution_result = command_get(entity, argument) # Questo è meglio farlo solo se il get è andato a buon fine, cioè quando # execution_result ha valore di verità positiva if execution_result: if target.weight < pizzico.weight: target.act("Quello era l'ultimo, ora sei vuot$o.", TO.ENTITY) target.act("Una volta c'era $n, ma ora è vuot$o.", TO.OTHERS) target.extract(1) else: target.weight = target.weight - pizzico.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): # Crea e inserisce il pezzetto di polverina nella locazione da cui prenderlo pezzetto = Item("carrozzone-zingaro_item_allume-pezzi-01") pezzetto.inject(location) entity.act("Rovesci parte del contenuto di $N sulla $hand2.", TO.ENTITY, target) entity.act("$n rovescia parte del contenuto di $N sulla sua $hand2.", TO.OTHERS, target) entity.act("Ti senti un po' deprezzata ogni volta che $n ti indaga!", TO.TARGET, target) # Bisogna utilizzare la get_keywords_attr perché non si sa se entity in quel # momento stia guardando la short diurna, notturna o il nome first_keyword = pezzetto.get_numbered_keyword(looker=entity) if location.IS_ROOM: argument = first_keyword else: argument = "%s %s " % (first_keyword, location.get_numbered_keyword(looker=entity)) execution_result = command_get(entity, argument) # Questo è meglio farlo solo se il get è andato a buon fine, cioè quando # execution_result ha valore di verità positiva if execution_result: # faccio fluttuare il valore di peso del pezzo di allume di +o- 10 pezzetto.weight = pezzetto.weight + random.randint(-10, 10) if target.weight < pezzetto.weight: target.act("È stato estratto da te l'ultimo pezzo.", TO.ENTITY) target.act("Una volta c'era $n ma ora è vuot$o.", TO.OTHERS) target.extract(1) else: target.weight = target.weight - pezzetto.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): if (random.randint(0, 1) == 0): entity.act("Infili una $hand tra i fili ma qualcosa ti punge e la ritiri subito di scatto.", TO.ENTITY, target) entity.act("Non appena $n infila una $hand tra i fili la ritira di scatto.", TO.OTHERS, target) return True oggetto = Item(random.choice(PROTO_CIANFUSAGLIE_CODES)) oggetto.inject(location) entity.act("Infili la $hand tra $N per prendere qualcosa.", TO.ENTITY, target) entity.act("Ti senti un po' deprezzat$O ogni volta $n t'indaga!", TO.TARGET, target) entity.act("$n infila la $hand tra $N per prendere qualcosa.", TO.OTHERS, target) numbered_keyword = oggetto.get_numbered_keyword(looker=entity) execution_result = command_get(entity, numbered_keyword) # Il peso dei fili viene diminuito man mano che se ne preleva. # Prima di farlo verifica che sia uscita una keyword quando ne resta # troppo poco viene eliminato if execution_result: if target.weight < oggetto.weight: target.act("Ed ora non ne trovi neanche uno, o così sembra.", TO.OTHERS, target) target.act("Ed ora non ne è rimasto neanche uno, o così sembra.", TO.ENTITY, target) target.extract(1) else: target.weight = target.weight - oggetto.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): frutta_semi_db = ["flora_item_mirtillo-rosso-01-frutto", "flora_item_leccio-01-ghianda-viva", "flora_item_leccio-02-ghianda-morta", "flora_item_mirtillo-nero-01-frutto", "flora_item_mirtillo-rosso-00-frutto-marcio", "flora_item_mirtillo-rosso-00-frutto-sterile", "flora_item_farnia-01-ghianda-viva", "flora_item_farnia-02-ghianda-morta"] num_rand = random.randint(1, 100) if num_rand < 8: frutto_seme_code = frutta_semi_db[0] elif num_rand < 18: frutto_seme_code = frutta_semi_db[1] elif num_rand < 22: frutto_seme_code = frutta_semi_db[2] elif num_rand < 32: frutto_seme_code = frutta_semi_db[3] elif num_rand < 35: frutto_seme_code = frutta_semi_db[4] elif num_rand < 40: frutto_seme_code = frutta_semi_db[5] elif num_rand < 76: frutto_seme_code = frutta_semi_db[6] else: frutto_seme_code = frutta_semi_db[7] # Crea e inserisce il seme scelto nella locazione da cui prenderlo poi seed_founded = Item(frutto_seme_code) seed_founded.inject(location) # Attenzione che il get invierà i propri messaggi oltre a questi qui entity.act("Infili la $hand verso $N.", TO.ENTITY, target) entity.act("$n allunga una mano verso $N.", TO.OTHERS, target) entity.act("Ti senti un po' deprezzato ogni volta che $n ti indaga!", TO.TARGET, target) # Bisogna utilizzare la get_numbered_keyword perché non si sa se entity # in quel momento possa visualizzare la short diurna, notturna o il nome argument = seed_founded.get_numbered_keyword(looker=entity) if not location.IS_ROOM: argument += " %s " % location.get_numbered_keyword(looker=entity) execution_result = command_get(entity, argument) # La diminuzione del peso deve essere eseguita quando effettivamente sia # stato eseguito il comando di get, ovvero execution_result ha valore # di verità positiva if execution_result: if target.weight < seed_founded.weight: target.act("Dei $n che c'erano ora non resta nulla.", TO.ENTITY) target.act("Di te ormai ora non resta nulla.", TO.OTHERS) target.extract(1) else: target.weight = target.weight - seed_founded.weight return True
def before_try_to_get(entity, target, location, behavioured): manciata_torba = Item("karpuram_item_torba-manciata") laminetta_oro = Item("karpuram_item_laminetta-oro") if random.randint(1, 10) == 1: laminetta_oro.inject(location) entity.act("Metti la $hand in $N ed un luccicore ti distrae dal tuo proponimento!", TO.ENTITY, target) entity.act("tu che sei $N ti senti un po' deprezzato ogni volta $n ti indaga!", TO.TARGET, target) entity.act("$n affonda una mano in $N e si ferma sorpres$o.", TO.OTHERS, target) execution_result = command_get(entity, laminetta_oro.get_numbered_keyword(looker=entity)) else: manciata_torba.inject(location) execution_result = command_get(entity, manciata_torba.get_numbered_keyword(looker=entity)) # Se execution_result a True significa che è stato raccolta con successo # una manciata di torba e quindi ferma l'esecuzione del resto del comando get; # altrimenti è False e tornando False viene continuato il get del mucchio # di torba, che in futuro fallirà per motivi di peso return execution_result
def before_try_to_get(entity, target, location, behavioured): funghi_db = { 1: "villaggio-zingaro_item_fungo-01", 2: "villaggio-zingaro_item_fungo-02", 3: "villaggio-zingaro_item_fungo-03" } num_rand = random.randint(1, 100) if num_rand < 14: fungo_label = funghi_db[3] elif num_rand < 32: fungo_label = funghi_db[2] elif num_rand < 49: fungo_label = funghi_db[1] # in tutti gli altri casi esce dallo script con il return True # che esce dal flusso del get senza raccattare nulla else: entity.act( "Fai come per afferrarne uno ma questo ti sguscia tra le mani e si ritrae sotto terra.", TO.ENTITY, target) entity.act( "$n fa come per afferrare un fungo ma questo $gli sguscia tra le mani e si ritrae sotto terra.", TO.OTHERS, target) return True fungo = Item(fungo_label) fungo.inject(location) entity.act("Allunghi la $hand verso $N per raccoglierne uno.", TO.ENTITY, target) entity.act("$n allunga una $hand verso $N per raccoglierne uno.", TO.OTHERS, target) entity.act("Ti senti un po' deprezzat$O ogni volta $n ti indaga!", TO.TARGET, target) numbered_keyword = fungo.get_numbered_keyword(looker=entity) execution_result = command_get(entity, numbered_keyword) # Il peso del cerchio viene diminuito man mano che se ne preleva # prima di farlo verifica che sia uscita una keyword quando ne # resta troppo poco viene eliminato if execution_result: if target.weight < fungo.weight: target.act("Ed ora non ne trovi neanche uno, o così sembra.", TO.ENTITY, target) target.act("Ed ora non ne è rimasto neanche uno, o così sembra.", TO.OTHERS, target) target.extract(1) else: target.weight = target.weight - fungo.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): matasse_db = { 1: "carrozzone-zingaro_item_canovaccio-01-macchiato", 2: "carrozzone-zingaro_item_canovaccio-01-pulito", 3: "carrozzone-zingaro_item_canovaccio-01-usurato", 4: "carrozzone-zingaro_item_canovaccio-02-macchiato", 5: "carrozzone-zingaro_item_canovaccio-02-pulito", 6: "carrozzone-zingaro_item_canovaccio-02-usurato" } num_rand = random.randint(1, 100) if num_rand < 17: matassa_label = matasse_db[1] elif num_rand < 34: matassa_label = matasse_db[2] elif num_rand < 50: matassa_label = matasse_db[3] elif num_rand < 67: matassa_label = matasse_db[4] elif num_rand < 84: matassa_label = matasse_db[5] else: matassa_label = matasse_db[6] matassa = Item(matassa_label) matassa.inject(location) entity.act("Affondi la $hand verso $N incurante.", TO.ENTITY, target) entity.act("Ti senti un po' deprezzato ogni volta $n ti indaga!", TO.TARGET, target) entity.act("Incurante $n allunga una $hand verso $N.", TO.OTHERS, target) execution_result = command_get(entity, "canovaccio") # Il peso del filo viene diminuito man mano che se ne preleva quando # ne resta troppo poco viene eliminato if target.weight < matassa.weight: target.act("E questo era il tuo ultimo pezzo di stoffa...", TO.ENTITY) target.act("E questo era l'ultimo pezzo di stoffa...", TO.OTHERS) target.extract(1) else: target.weight = target.weight - matassa.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): funghi_db = {1: "villaggio-zingaro_item_fungo-01", 2: "villaggio-zingaro_item_fungo-02", 3: "villaggio-zingaro_item_fungo-03"} num_rand = random.randint(1, 100) if num_rand < 14: fungo_label = funghi_db[3] elif num_rand < 32: fungo_label = funghi_db[2] elif num_rand < 49: fungo_label = funghi_db[1] # in tutti gli altri casi esce dallo script con il return True # che esce dal flusso del get senza raccattare nulla else : entity.act("Fai come per afferrarne uno ma questo ti sguscia tra le mani e si ritrae sotto terra.", TO.ENTITY, target) entity.act("$n fa come per afferrare un fungo ma questo $gli sguscia tra le mani e si ritrae sotto terra.", TO.OTHERS, target) return True fungo = Item(fungo_label) fungo.inject(location) entity.act("Allunghi la $hand verso $N per raccoglierne uno.", TO.ENTITY, target) entity.act("$n allunga una $hand verso $N per raccoglierne uno.", TO.OTHERS, target) entity.act("Ti senti un po' deprezzat$O ogni volta $n ti indaga!", TO.TARGET, target) numbered_keyword = fungo.get_numbered_keyword(looker=entity) execution_result = command_get(entity, numbered_keyword) # Il peso del cerchio viene diminuito man mano che se ne preleva # prima di farlo verifica che sia uscita una keyword quando ne # resta troppo poco viene eliminato if execution_result: if target.weight < fungo.weight: target.act("Ed ora non ne trovi neanche uno, o così sembra.", TO.ENTITY, target) target.act("Ed ora non ne è rimasto neanche uno, o così sembra.", TO.OTHERS, target) target.extract(1) else: target.weight = target.weight - fungo.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): matasse_db = {1: "carrozzone-zingaro_item_canovaccio-01-macchiato", 2: "carrozzone-zingaro_item_canovaccio-01-pulito", 3: "carrozzone-zingaro_item_canovaccio-01-usurato", 4: "carrozzone-zingaro_item_canovaccio-02-macchiato", 5: "carrozzone-zingaro_item_canovaccio-02-pulito", 6: "carrozzone-zingaro_item_canovaccio-02-usurato"} num_rand = random.randint(1,100) if num_rand < 17: matassa_label = matasse_db[1] elif num_rand < 34: matassa_label = matasse_db[2] elif num_rand < 50: matassa_label = matasse_db[3] elif num_rand < 67: matassa_label = matasse_db[4] elif num_rand < 84: matassa_label = matasse_db[5] else: matassa_label = matasse_db[6] matassa = Item(matassa_label) matassa.inject(location) entity.act("Affondi la $hand verso $N incurante.", TO.ENTITY, target) entity.act("Ti senti un po' deprezzato ogni volta $n ti indaga!", TO.TARGET, target) entity.act("Incurante $n allunga una $hand verso $N.", TO.OTHERS, target) execution_result = command_get(entity, "canovaccio") # Il peso del filo viene diminuito man mano che se ne preleva quando # ne resta troppo poco viene eliminato if target.weight < matassa.weight: target.act("E questo era il tuo ultimo pezzo di stoffa...", TO.ENTITY) target.act("E questo era l'ultimo pezzo di stoffa...", TO.OTHERS) target.extract(1) else: target.weight = target.weight - matassa.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): matasse_db = { 1: "carrozzone-zingaro_item_matassa-arruffata-rossa", 2: "carrozzone-zingaro_item_matassa-arruffata-indaco", 3: "carrozzone-zingaro_item_matassa-arruffata-gialla" } num_rand = random.randint(1, 100) if num_rand < 21: matassa_label = matasse_db[2] elif num_rand < 61: matassa_label = matasse_db[1] else: matassa_label = matasse_db[3] matassa = Item(matassa_label) matassa.inject(location) entity.act("Allunghi la $hand verso $N per prelevarne un po'.", TO.ENTITY, target) entity.act("Ti senti un po' deprezzato ogni volta $n ti indaga!", TO.TARGET, target) entity.act("$n allunga una mano in alto verso $N.", TO.OTHERS, target) execution_result = command_get(entity, "matassa") # Il peso del filo viene diminuito man mano che se ne preleva quando # ne resta troppo poco viene eliminato if target.weight < matassa.weight: target.act("Una volta pendevi dal soffitto ma ora sei terminato...", TO.ENTITY) target.act("Del $n che pendeva dal soffitto ora non ne resta più.", TO.OTHERS) target.extract(1) else: target.weight = target.weight - matassa.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): if (random.randint(0, 1) == 0): entity.act( "Infili una $hand tra i fili ma qualcosa ti punge e la ritiri subito di scatto.", TO.ENTITY, target) entity.act( "Non appena $n infila una $hand tra i fili la ritira di scatto.", TO.OTHERS, target) return True oggetto = Item(random.choice(PROTO_CIANFUSAGLIE_CODES)) oggetto.inject(location) entity.act("Infili la $hand tra $N per prendere qualcosa.", TO.ENTITY, target) entity.act("Ti senti un po' deprezzat$O ogni volta $n t'indaga!", TO.TARGET, target) entity.act("$n infila la $hand tra $N per prendere qualcosa.", TO.OTHERS, target) numbered_keyword = oggetto.get_numbered_keyword(looker=entity) execution_result = command_get(entity, numbered_keyword) # Il peso dei fili viene diminuito man mano che se ne preleva. # Prima di farlo verifica che sia uscita una keyword quando ne resta # troppo poco viene eliminato if execution_result: if target.weight < oggetto.weight: target.act("Ed ora non ne trovi neanche uno, o così sembra.", TO.OTHERS, target) target.act("Ed ora non ne è rimasto neanche uno, o così sembra.", TO.ENTITY, target) target.extract(1) else: target.weight = target.weight - oggetto.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): panzerotti_db = [ "krablath_item_food-panzerotto-01", "krablath_item_food-panzerotto-02", "krablath_item_food-panzerotto-03" ] num_rand = random.randint(1, 100) if num_rand < 33: panzerotto_code = panzerotti_db[0] elif num_rand < 66: panzerotto_code = panzerotti_db[1] else: panzerotto_code = panzerotti_db[2] # Alternativamente una soluzione che potrebbe essere considerata più # elegante del codice sopra potrebbe essere questa sotto. # Non hai la granularità del 100 ma chi se ne fre'.. e poi è più facilmente # percepibile anche solo ad occhio quali panzerotti verranno caricati di più # e quali meno #Se vuoi tenerla deve decommentare anche l'import del random in alto ed #eventualmente commentare quello del random.randint #panzerotti_db = ["karpuram_item_mirtillo-rosso-01-frutto", # "karpuram_item_mirtillo-rosso-01-frutto", # "karpuram_item_leccio-01-ghianda-viva", # "karpuram_item_leccio-01-ghianda-viva", # "karpuram_item_leccio-01-ghianda-viva", # "karpuram_item_leccio-02-ghianda-morta", # "karpuram_item_mirtillo-nero-01-frutto", # "karpuram_item_mirtillo-nero-01-frutto", # "karpuram_item_mirtillo-nero-01-frutto", # "karpuram_item_mirtillo-rosso-00-frutto-marcio", # "karpuram_item_mirtillo-rosso-00-frutto-marcio", # "karpuram_item_mirtillo-rosso-00-frutto-sterile", # "karpuram_item_mirtillo-rosso-00-frutto-sterile", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-02-ghianda-morta", # "karpuram_item_farnia-02-ghianda-morta", # "karpuram_item_farnia-02-ghianda-morta", # "karpuram_item_farnia-02-ghianda-morta"] #panzerotto_code = random.choice(panzerotti_db) # Crea e inserisce il panzerotto scelto nella locazione da cui prenderlo poi panzerotto_founded = Item(panzerotto_code) panzerotto_founded.inject(location) if random.randint(0, 1) == 1: panzerotto_founded.flags += FLAG.NO_LOOK_LIST # Attenzione che il get invierà i propri messaggi oltre a questi qua. entity.act("Infili la $hand verso $N.", TO.ENTITY, target) entity.act("$n allunga una mano verso $N.", TO.OTHERS, target) entity.act("Ti senti un po' deprezzato ogni volta che $n ti indaga!", TO.TARGET, target) # Bisogna utilizzare la get_numbered_keyword perché non si sa se entity # in quel momento stia guardando la short diurna, notturna o il nome numbered_keyword = panzerotto_founded.get_numbered_keyword(looker=entity) if location.IS_ROOM: argument = numbered_keyword else: argument = "%s %s " % (numbered_keyword, location.get_numbered_keyword(looker=entity)) execution_result = command_get(entity, argument) # Questo è meglio farlo solo se il get è andato a buon fine, cioè quando # execution_result ha valore di verità positiva if execution_result: if target.weight < panzerotto_founded.weight: target.act("Dei $n che c'erano ora non resta nulla.", TO.OTHERS) target.act("Non resta più molto di te.", TO.ENTITY) target.extract(1) else: target.weight = target.weight - panzerotto_founded.weight return execution_result
def before_try_to_get(entity, target, location, behavioured): panzerotti_db = ["krablath_item_food-panzerotto-01", "krablath_item_food-panzerotto-02", "krablath_item_food-panzerotto-03"] num_rand = random.randint(1, 100) if num_rand < 33: panzerotto_code = panzerotti_db[0] elif num_rand < 66: panzerotto_code = panzerotti_db[1] else: panzerotto_code = panzerotti_db[2] # Alternativamente una soluzione che potrebbe essere considerata più # elegante del codice sopra potrebbe essere questa sotto. # Non hai la granularità del 100 ma chi se ne fre'.. e poi è più facilmente # percepibile anche solo ad occhio quali panzerotti verranno caricati di più # e quali meno #Se vuoi tenerla deve decommentare anche l'import del random in alto ed #eventualmente commentare quello del random.randint #panzerotti_db = ["karpuram_item_mirtillo-rosso-01-frutto", # "karpuram_item_mirtillo-rosso-01-frutto", # "karpuram_item_leccio-01-ghianda-viva", # "karpuram_item_leccio-01-ghianda-viva", # "karpuram_item_leccio-01-ghianda-viva", # "karpuram_item_leccio-02-ghianda-morta", # "karpuram_item_mirtillo-nero-01-frutto", # "karpuram_item_mirtillo-nero-01-frutto", # "karpuram_item_mirtillo-nero-01-frutto", # "karpuram_item_mirtillo-rosso-00-frutto-marcio", # "karpuram_item_mirtillo-rosso-00-frutto-marcio", # "karpuram_item_mirtillo-rosso-00-frutto-sterile", # "karpuram_item_mirtillo-rosso-00-frutto-sterile", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-01-ghianda-viva", # "karpuram_item_farnia-02-ghianda-morta", # "karpuram_item_farnia-02-ghianda-morta", # "karpuram_item_farnia-02-ghianda-morta", # "karpuram_item_farnia-02-ghianda-morta"] #panzerotto_code = random.choice(panzerotti_db) # Crea e inserisce il panzerotto scelto nella locazione da cui prenderlo poi panzerotto_founded = Item(panzerotto_code) panzerotto_founded.inject(location) if random.randint(0, 1) == 1: panzerotto_founded.flags += FLAG.NO_LOOK_LIST # Attenzione che il get invierà i propri messaggi oltre a questi qua. entity.act("Infili la $hand verso $N.", TO.ENTITY, target) entity.act("$n allunga una mano verso $N.", TO.OTHERS, target) entity.act("Ti senti un po' deprezzato ogni volta che $n ti indaga!", TO.TARGET, target) # Bisogna utilizzare la get_numbered_keyword perché non si sa se entity # in quel momento stia guardando la short diurna, notturna o il nome numbered_keyword = panzerotto_founded.get_numbered_keyword(looker=entity) if location.IS_ROOM: argument = numbered_keyword else: argument = "%s %s " % (numbered_keyword, location.get_numbered_keyword(looker=entity)) execution_result = command_get(entity, argument) # Questo è meglio farlo solo se il get è andato a buon fine, cioè quando # execution_result ha valore di verità positiva if execution_result: if target.weight < panzerotto_founded.weight: target.act("Dei $n che c'erano ora non resta nulla.", TO.OTHERS) target.act("Non resta più molto di te.", TO.ENTITY) target.extract(1) else: target.weight = target.weight - panzerotto_founded.weight return execution_result