KOE Acupuntura

 

🇫🇷 Français

Système d’acupuncture utilisé comme mécanique de soin dans le jeu vidéo KoeRo.
Développé en Lua, il combine précision technique et esthétique orientale.


🇬🇧 English

Acupuncture-based healing mechanic in the video game KoeRo.
Developed in Lua, blending technical precision with an Eastern aesthetic.


🇪🇸 Español

Mecánica de curación basada en acupuntura para el videojuego KoeRo.
Desarrollado en Lua, combina precisión técnica y estética oriental.

gremios\templo_acupuntura.txt

///SISTEMA ACUPUNTURA MUSHI

ama_in03.gat,29,178,4    script    Monje Masajista::TempAcun01    834,{

   callfunc "F_HayAlguien";
   if(Vampiro==2) {npctalk "¡Socorro! ¡¡Un vampiro!!"; end;}
   if(islobo(getcharid(0))) {npctalk "¡Socorro! ¡¡Un Lobo!!"; end;}
   if(getcharid(2) != 10024) goto NOTEMPLO;
   
   if (Raza == RZ_ELF) goto SIGUIENTE;
if(Iglesia == 10015) {
      mes "[Sacerdotisa del Templo]";
      mes "Imposible...";
      mes "Tu Ki es inestable, te impide realizar esta acción.";
      close2;
      cutin "",255;
      end;
   }
if(Iglesia==10000) {
      mes "[Sacerdotisa del Templo]";
      mes "Imposible...";
      mes "Tu Ki es inestable, te impide realizar esta acción.";
      close2;
      cutin "",255;
      end;
      }
if(Iglesia==10001) {
      mes "[Sacerdotisa del Templo]";
      mes "Imposible...";
      mes "Tu Ki es inestable, te impide realizar esta acción.";
      close2;
      cutin "",255;
      end;
      }
SIGUIENTE:      
mes "[Monje]";
mes "Saludos compañero, soy el monje encargado de ayudar en la acupuntura.";
mes "Debeis traer agujas con vos, para poder empezar con la sesión.";
mes "Supongo que venis a curar la dolencia de alguien.";
next;
menu "Si",-,"Ahora no",SALIR;

mes "[Monje]";
mes "Bien, decidme primero, ¿sobre quien vamos a proceder con la acupuntura?";
//Primero targeteamos al personaje 
set @o,gettarget(); 
if(!@o) { 
mes "Selecciona objetivo."; 
close2; 
taketarget; 
end; 
}
//Y sacamos su id 
set $mushi_charid,id2charid(@o); 

mes "[Monje]";
mes "colocad incienso para poder empezar la sesión";
next;
menu "Encender incienso",-,"Salir",SALIR;
if(countitem(7555) < 2) goto NOINCIENSO;
delitem 7555,1;
mes "Delicadamente, enciendes un poco de incienso y comienzas la ceremonia.";
pctalk "Enciendo este incienso para purificar el templo";
next;
mes "[Monje]";
mes "Bien, ahora procedamos a ponerle las agujas, con cuidado...";
mes "El mushi reaccionará cuando toques los puntos clave.";
next;
menu "Colocar aguja",-,"Salir",SALIR;
if(countitem(7215) < 7) goto NOAGUJA;
mes "Masajeas las piernas y preparas la zona...";
pctalk "Masajeo las piernas liberando tensiones.";
next;
mes "Comienzas a colocar agujas en los puntos acupunturales.";
pctalk "Coloco agujas en el chakra raíz, Muladhara";
delitem  7215,1;
next;
menu "Colocar aguja",-,"Salir",SALIR;
mes "Masajeas los pies y preparas la zona...";
pctalk "Masajeo el abdomen liberando tu conciencia.";
next;
mes "continuas colocando agujas en los puntos acupunturales.";
pctalk "Coloco agujas en el chakra del abdomen, Svadhistana";
delitem  7215,1;
next;
menu "Colocar aguja",-,"Salir",SALIR;
mes "Masajeas la cintura y preparas la zona...";
pctalk "Masajeo el plexo solar liberando tensiones mentales.";
next;
mes "continuas colocando agujas en los puntos acupunturales.";
pctalk "Coloco agujas en el chakra del plexo solar, Manipura";
delitem  7215,1;
next;
menu "Colocar aguja",-,"Salir",SALIR;
mes "Masajeas el pecho y preparas la zona...";
pctalk "Masajeas el pecho liberando presiones.";
next;
mes "continuas colocando agujas en los puntos acupunturales.";
pctalk "Coloco agujas en el chakra del corazón, Anahata";
delitem  7215,1;
next;
menu "Colocar aguja",-,"Salir",SALIR;
mes "Masajeas las piernas y preparas la zona...";
pctalk "Masajeo el cuello liberando la intuición.";
next;
mes "continuas colocando agujas en los puntos acupunturales.";
pctalk "Coloco agujas en el chakra de la garganta, Visuddha";
delitem  7215,1;

next;
menu "Colocar aguja",-,"Salir",SALIR;
mes "Masajeas la cara y preparas la zona...";
pctalk "Masajeo la cara y la frente liberando el sonido interior.";
next;
mes "continuas colocando agujas en los puntos acupunturales.";
pctalk "Coloco agujas en el chakra de la frente, Ajna del tercer ojo";
delitem  7215,1;

next;
menu "Colocar aguja",-,"Salir",SALIR;
mes "Masajeas el craneo y preparas la zona...";
pctalk "Masajeo la cabeza liberando los recuerdos.";
next;
mes "continuas colocando agujas en los puntos acupunturales.";
pctalk "Coloco agujas en el chakra de la Corona, Sahasrara ";
delitem  7215,1;
next;
//Con esto sacamos la ID del mushi 
set $mushi_id,getmushi($mushi_charid); 
if(!$mushi_id) { mes "No tiene mushi."; pctalk "No teneis mushi alguno"; close;}

//Con esto, el nombre 
set @name$,getpatogenname($mushi_id); 
mes "Tiene el mushi "+@name$+"."; 
pctalk "Teneis el mushi "+@name$+" en vuestro interior."; 
next;
menu "Usar incienso",-,"Terminar",SALIR;
delitem 7555,1;
mes "Presionas el alma del sujeto y lo liberas del ancestro";
pctalk "Ancestro, os rogamos que salgas";
//Con esto, sacamos el mob al sitio donde está el personaje 
set @mob,getpatogendata($mushi_id,"mushi"); 
monster mapid2name(getposid(@o,0)),getposid(@o,1),getposid(@o,2),@name$,@mob,1,"TempAcun01::OnMyMobDead";
next;
mes "Ahora solo queda derrotar al mushi para que termine su cautiverio.";
close;

NOTEMPLO:
mes "[Monje]";
mes "Saludos, soy el monje encargado de ayudar en la acupuntura.";
mes "Si teneis alguna dolencia, avisad al venerable que os ayude.";
mes "no puedo hacer más por vos.";
close;

NOINCIENSO:
mes "[Monje]";
mes "Vaya, parece que no teneis incienso suficiente, traed 2 ramitas.";
close;

NOAGUJA:
mes "[Monje]";
mes "Vaya, parece que no teneis agujas suficientes, traed al menos 7.";
close;

SALIR:
mes "[Monje]";
mes "Volved cuando requirais de mis servicios.";
close;

OnMyMobDead: 
removemushi $mushi_charid,$mushi_id; 
set $mushi_charid,0; 
set $mushi_id,0;
pctalk "Descanse en paz, ancestro...";
if(getcharid(2) == 10024){
    if(Raza==RZ_ORC) {if(Razon + 2 < 200) set Razon,Razon + 2; else set Razon,200;} 
    else {if(Razon - 2 > -200) set Razon,Razon - 2; else set Razon,-200;}
  callfunc "PuntosMaxKi";
    set @tiempominimo2,3600;
    if((gettimetick(2)-ritodeki)<@tiempominimo2) {
        set @tiempoquequeda2,@tiempominimo2-(gettimetick(2)-ritodeki);
        if(@tiempoquequeda2>3600) 
             message strcharinfo(0),"No puedes ganar puntos de ki. Aún te quedan "+@tiempoquequeda2/3600+" horas para poder ganar puntos de ki. El tiempo que debe pasar entre ganancias de puntos es de "+(@tiempominimo2/60)+" minutos.";
       else if(@tiempoquequeda2>60) 
            message strcharinfo(0),"No puedes ganar puntos de ki. Aún te quedan "+@tiempoquequeda2/60+" minutos para poder ganar puntos de ki. El tiempo que debe pasar entre ganancias de puntos es de "+(@tiempominimo2/60)+" minutos.";
       else 
        message strcharinfo(0),"No puedes ganar puntos de ki. Aún te quedan "+@tiempoquequeda2+" segundos para poder ganar puntos de ki. El tiempo que debe pasar entre ganancias de puntos es de "+@tiempominimo2/60+" minutos."; end;}
    set ritodeki,gettimetick(2);
        callfunc "PuntosMaxKi";
        set .@gasto,maximoKi/10;
        if(puntosKi+.@gasto>maximoKi) set puntosKi,maximoKi;
        else set puntosKi,puntosKi+.@gasto;
    message strcharinfo(0),"Ganas 10% de ki, obtienes "+.@gasto+" puntos de Ki.";
    set .@maxfraccion,30;
    if(fraccionKi+1>.@maxfraccion) { set extraKi,extraKi+1; set fraccionKi,0; callfunc "PuntosMaxKi"; message strcharinfo(0),"Tu Honor ha aumentado en un punto. Tu ki máximo es ahora de: "+maximoKi+" puntos de Ki."; }
    else set fraccionKi, fraccionKi+1;}
     if(getskilllv(598) <5) set SK_FILOSOFIA,SK_FILOSOFIA+10;
     if(getskilllv(566) < 5) set SK_OCULTISMO,SK_OCULTISMO+10;
    end;
}

Commentaires

Posts les plus consultés de ce blog

Caminos de Luna Ajena

OZ