Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ######################
- // ### (E) e_mascota ###
- // ######################
- // Evento que tienen todas las monturas o npcs domados.
- // Se quita en el PETDESERT y en el RELEASE.
- // Al resucitar o si se crea un item modificador de color para monturas, debe setear el oskin y el color, ambos.
- [EVENTS e_mascota]
- ON=@Click
- IF (<BONDED> == 1)
- IF ((<TAG0.LEAL_MUERTA> == 1) && (<FLAGS>&statf_dead))
- MESSAGE (Leal) (Muerto)
- ELSE
- MESSAGE @041 (Leal)
- ENDIF
- ENDIF
- RETURN 0
- ON=@DClick
- IF (<IsMyPet>)
- TAG.AMO=<SRC>
- ENDIF
- RETURN 0
- ON=@GetHit
- IF (<TAG0.LEAL_MUERTA> == 1)
- SRC.ACTION=-1
- RETURN 1
- ENDIF
- IF (<BONDED> == 1)
- IF (<IsMyPet>)
- HITS=<EVAL <HITS>+-<ARGN1>>
- RETURN 1
- ENDIF
- ENDIF
- RETURN 0
- ON=@Hit
- IF (<TAG0.LEAL_MUERTA> == 1)
- RETURN 1
- ENDIF
- RETURN 0
- ON=@SpellEffect
- IF (<TAG0.LEAL_MUERTA> == 1)
- IF ((<argn> == 59) && (<SRC.ISGM>))
- RETURN 0
- ENDIF
- ACTION=-1
- RETURN 1
- ENDIF
- IF (<BONDED> == 1)
- IF (<IsMyPet>)
- IF ((<argn> == 1) || (<argn> == 3) || (<argn> == 5) || (<argn> == 8) || (<argn> == 12) || (<argn> == 18) || (<argn> == 20) || (<argn> == 27) || (<argn> == 30) || (<argn> == 31) || (<argn> == 37) || (<argn> == 38) || (<argn> == 42) || (<argn> == 43) || (<argn> == 49) || (<argn> == 53) || (<argn> == 51) || (<argn> == 55) || (<argn> == 57) || (<argn> == 39) || (<argn> == 47))
- HITS=<EVAL <HITS>+-<ARGN1>>
- RETURN 1
- ENDIF
- ENDIF
- ENDIF
- RETURN 0
- ON=@EnvironChange
- IF (<SRC.BONDED> == 1)
- SRC.FOOD=<SRC.MAXFOOD>
- ENDIF
- RETURN 0
- ON=@PersonalSpace
- // Puede ser pisado siempre si la mascota es de un novato.
- IF (<MEMORYFINDTYPE.memory_ipet.LINK.ISEVENT.e_novato>)
- ARGN1=0
- ENDIF
- RETURN 0
- ON=@ReceiveItem
- IF (<TAG0.LEAL_MUERTA> == 1)
- SRC.MESSAGE La mascota esta muerta.
- RETURN 1
- ENDIF
- RETURN 0
- ON=@NPCActFight
- // Evita que los npcs mascotas de jugadores o invocados dañen a los novatos.
- IF ((<MEMORYFINDTYPE.memory_ipet.LINK.ISPLAYER>) || (<FINDID.i_rune_summon_creature>) || (<FLAGS>&statf_conjured))
- IF ((<SRC.ISPLAYER>) && (<SRC.ISEVENT.e_novato>))
- IF !(<SRC.ISEVENT.e_entrenamiento>)
- Attacker.<attacker.id <src>>.delete
- ACTION = 065
- FLAGS = <FLAGS> & ~statf_war
- RETURN 1
- ENDIF
- ENDIF
- ENDIF
- RETURN 0
- ON=@HitTry
- // Evita que los npcs mascotas de jugadores o invocados dañen a los novatos.
- IF ((<MEMORYFINDTYPE.memory_ipet.LINK.ISPLAYER>) || (<FINDID.i_rune_summon_creature>) || (<FLAGS>&statf_conjured))
- IF ((<SRC.ISPLAYER>) && (<SRC.ISEVENT.e_novato>))
- IF !(<SRC.ISEVENT.e_entrenamiento>)
- Attacker.<attacker.id <src>>.delete
- ACTION = 065
- FLAGS = <FLAGS> & ~statf_war
- RETURN 1
- ENDIF
- ENDIF
- ENDIF
- RETURN 0
- ON=@Resurrect
- // argn1 is the hitpoints value the char will have when resurrected (RW).
- // argo is the corpse (if any near) (R).
- // src is the resurrector.
- TAG.LEAL_MUERTA=
- CAN=<CAN>&~mt_ghost
- TIMERF 1,HOME
- HOMEDIST=12
- FLAGS=<FLAGS>&~statf_war
- FLAGS=<FLAGS>&~statf_poisoned
- SPELLEFFECT s_cure,1000
- KARMA=<TAG0.KARMA_MUERTE>
- TAG.KARMA_MUERTE=
- COLOR=<oskin>
- // IF (<TAG0.AMO.ISONLINE>
- // TRYSRC <owner> HEAR FOLLOW ME
- // ENDIF
- FINDID.i_memoria_borra_espiritu.REMOVE
- RETURN 0
- ON=@Death
- IF (<BONDED>==1)
- TAG.LEAL_MUERTA=1
- COLOR=03c1 // Color de npc muerto.
- // Eliminamos memorias de combate.
- MEMORYFINDTYPE.04.LINK=
- MEMORYFINDTYPE.08.LINK=
- MEMORYFINDTYPE.010.LINK=
- MEMORYFINDTYPE.020.LINK=
- MEMORYFINDTYPE.02000.LINK=
- ACTION=-1
- SRC.ACTION=-1
- FLAGS = <FLAGS> & ~statf_war
- FLAGS = <FLAGS> &~ statf_poisoned
- SPELLEFFECT s_cure,1000
- // Le seteamos la memoria de mascota y su amo.
- SERV.NEWITEM=i_memory
- NEW.ATTR=attr_newbie
- NEW.MORE1=04
- NEW.MORE2=<SERV.TIME>
- NEW.MOREP=<SRC.P>
- NEW.COLOR=memory_ipet
- NEW.TIMER=-1
- NEW.LINK=<TAG.AMO>
- NEW.LAYER=layer_special
- NEW.CONT=<UID>
- // IF (<TAG0.AMO.ISONLINE>
- // TRYSRC <owner> HEAR DROP
- // ENDIF
- // Puede atravesar puertas.
- CAN |= mt_ghost
- // Guardamos el KARMA y la hacemos pitu.
- TAG.KARMA_MUERTE=<KARMA>
- KARMA=0
- // Hasta 12 casillas de donde muere.
- TIMERF 1,HOME
- HOMEDIST=12
- // Metemos timer de borrado de 2 dias.
- SERV.NEWITEM=i_memoria_borra_espiritu
- NEW.EQUIP
- // A seguir al amo.
- TIMERF 3,ACTION=064
- ENDIF
- RETURN 0
- ON=@DeathCorpse
- IF (<SRC.BONDED>==1)
- ARGO.REMOVE
- ENDIF
- [ITEMDEF i_memoria_borra_espiritu]
- ID=i_rune_paralyze
- NAME=[Borrado Leal DEAD]
- TYPE=t_eq_script
- LAYER=layer_special
- ON=@CREATE
- COLOR=33
- TIMER=172800 // Para que borre el npc a los 2 dias.
- ON=@TIMER
- CONT.BONDED=0
- REMOVE
- RETURN 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement