001 000011 003 0 004 Habitación Oeste 010 0&0& Te encuentras en una habitación en la que, además del polvo y las telarañas ya habituales, hay una serie de trastos, casi todos en muy mal estado. La estancia está levemente iluminada por la luz natural que entra por la ventana y te permite ver los objetos que hay dispersos por el cuarto. El suelo es de madera, podrida en muchos puntos, y en el centro de la habitación hay un agujero que da a lo que quiera que haya debajo. La puerta de salida está al norte. 011 0007$0&256&Esquivando los escombros, sales trabajosamente al pasillo.&256&256&La puerta está cerrada. Parece que estás demasiado nervioso.$30$0$item5$0@S@W@E@0@0@0@0@U@0005$0&0&No ves ninguna forma fácil de bajar por el agujero. La única posibilidad sería arriesgarse a saltar.$30$0$256$0 012 0007$0&256&Esquivando los escombros, sales trabajosamente al pasillo.&256&256&La puerta está cerrada. Parece que estás demasiado nervioso.$30$puerta&entrar&dentro$0$item5$0@0@0@0@0@0@0@0@0@0 020 000005$000010$000011$000013$000017 030 polvo$El polvo es una plaga, está por todas partes.@telarañas$Aquí, como en todas partes en esta maldita casa, también está presente por doquier el tacto húmedo de las telarañas.@suelo$El suelo de madera está en muy mal estado, en el centro de la habitación la madera se ha descompuesto totalmente y hay un gran agujero.@agujero$hueco$hoyo$Por el agujero sólo puedes ver oscuridad. No ves un modo fácil de bajar, la única posibilidad sería saltar y seguramente no sea muy recomendable.@ventana$Los cristales están sucios, y algunos de ellos están rotos. Por la ventana se puede ver el paisaje.@paisaje$El sol se está poniendo tras las montañas. 080 .CODE command_saltar: nop loadi $a0, Mueres. function escribir function newline end event_enterroom: nop load $Obj, player ;el jugador load $a0, this ;esta habitacion function getRelationshipState loadi $r0, 0 beq $v0, $r0, primeravez ;¿relación 0? primera vez que entras, setear a 1 segundavez: loadi $a1, 2 j update_state primeravez: loadi $a1, 1 update_state: nop ;setear el estado a lo que hemos decidido function setRelationshipState end 081 (end eva code) 084 void parseCommand ( Player p , String verb , String args ) { if ( verb.equalsIgnoreCase("saltar") || verb.equalsIgnoreCase("tirarse") || verb.equalsIgnoreCase("tirarme") || verb.equalsIgnoreCase("tirarte") ) { habitacionDeAbajo = world.getObject ( 10000005 ); colchon = world.getObject ( 30000017 ); puertaHabitacionAbajo = world.getObject ( 30000033 ); if ( habitacionDeAbajo.hasItem ( colchon ) ) { if ( puertaHabitacionAbajo.getState() != 768 ) { //ya lo has hecho p.escribir("\n¡Ah, no... otra vez no! Tu brazo sigue sangrando...\n"); end(); } else { p.escribirAccion("\nConfiando en que el colchón amortigüe tu caída, saltas al agujero como un valiente...\n\n"); p.waitKeyPress(); p.escribirAccion("En el salto, rozas con el brazo una tabla del suelo y te haces daño. Caes tres metros; pero... ¡el colchón amortigua tu caída!\n"); p.escribirAccion("Ha sido una gran experiencia; pero de las que es mejor vivir sólo una vez. ¡Tu brazo está sangrando!\n"); //dar herida al jugador p.addItem ( world.getObject(30000037) ); //obj.removeItem ( colchon ); //habitacionDeAbajo.addItem ( colchon ); p.setRoom ( habitacionDeAbajo ); p.show_room( world ); end(); } } else { p.escribirAccion("\n\nSaltas al agujero como un valiente. Pero en pocas décimas de segundo te das cuenta de que has hecho mal. ¡La caída es...!\n\n"); p.waitKeyPress(); p.escribir("\n\nMueres.\n\n"); p.setRoom( world.getObject(10000015) ); end(); } } if ( verb.equalsIgnoreCase("tirar") || verb.equalsIgnoreCase("empujar") || verb.equalsIgnoreCase("arrojar") || verb.equalsIgnoreCase("arrastrar") || verb.equalsIgnoreCase("llevar") ) { colchon = world.getObject( 30000017 ); habitacionDeAbajo = world.getObject ( 10000005 ); if ( ParserMethods.refersToEntity ( args , colchon , false ) || ParserMethods.refersToEntities ( args , colchon , null , false , false ) ) { if ( args.indexOf("agujero")>1 || args.indexOf("hueco")>1 || args.indexOf("hoyo")>1 || args.indexOf("abajo")>1 ) { if ( obj.hasItem ( colchon ) ) { obj.removeItem ( colchon ); habitacionDeAbajo.addItem ( colchon ); p.escribir("\nEmpujas trabajosamente el viejo colchón hasta el gran agujero y lo tiras por él.\n"); //source("end.bsh"); end(); } else { p.escribir("\nEl colchón ya no está...\n"); //source("end.bsh"); end(); } } else { p.escribir("\n¿Hacia dónde quieres llevar el viejo colchón?\n"); end(); } } else { ; } } } /* Cambiar la relación jugador-habitación de tal modo que la descripción de la primera vez sea diferente. */ void onEnterRoom ( Mobile m ) { relState = m.getRelationshipState(obj); if ( relState == 0 ) { m.setRelationshipState(obj,1); } } void onShowRoom ( Mobile m ) { relState = m.getRelationshipState(obj); if ( relState == 0 ) m.setRelationshipState(obj,2); //was 1 else m.setRelationshipState(obj,2); } 085