Mprog Compendium/Examples: Difference between revisions

From Cleft of Dimensions Wiki
Jump to navigation Jump to search
m (1 revision: old wiki from eddithis.info)
 
m (1 revision: from wikkii)
(No difference)

Revision as of 09:32, 27 October 2013

Chibi-Devil

Mob Info

Short descr

a Chibi-Devil

Long descr:

A miniature devil flaps around here on tiny bat wings.

Description:

This little demon is almost cute. It is exactly like a devil but very small. It has small bat wings to flap around with, little nubby red horns, and even a miniature pitchfork. Chibi-devils love causing mischief for adventurers, and are not above swiping from their bags.
MOBPrograms for [ 9153]:
 Number Vnum Trigger Phrase
 ------ ---- ------- ------
[    0] 9154   GREET 30
[    1] 9161  RANDOM 5
[    2] 9155   SPAWN 100

Mobprogs

MPROG 9154 [GREET 30]

if align $n > 500
mob skill backstab $n
endif

This program executes 30 percent of the time whenever the chibi-devil sees someone enter the room. The $n variable is a shortcut for 'the person that triggered the program'. Basically, if the person's alignment is greater than 500, we backstab the poor sucker. This program is simple, but effective.

MPROG 9161 [RANDOM 5]

say Uee-hee-hee!

There is a 5% chance, every tick that the mob's not fighting, of this mob giggling out loud. (Random progs do not execute during fights)

MPROG 9155 [SPAWN 100]

mob oload 9165 1 W

This program executes every time the mob loads. It makes the mob load and wield a specific item (in this case, a pitchfork; a short piercing weapon so the mob can use backstab). This could also be accomplished with resets, but you can put random chances on a spawn prog.

Guardia Soldier

Conversely, this is about the most complicated single mprog I can think of:

if level $n < 40
if rand 33
say Give it a rest, kid.
else
if rand 50
say Simmer down there, sparky.
else
say Whoa, calm down!
endif
endif
mob peace
mob goto self
endif
if counter $i == 1
remove double
wield _+grdwep
mob skill dual tonfa
mob count zero
break
endif
if carries $i double
if affected $i haste
else
if rand 33
mob count 1
remove _+grdwep
hold double
zap self
break
endif
endif
endif
if hpcnt $i < 25
and rand 50
if carries $i potion
quaff potion
break
endif
if clones > 1
mob skill fallback 2.guardiasoldier
else
if rand 33
if rand 33
say I don't wanna die!
else
if rand 50
say Where's my backup!?
else
shriek
endif
endif
mob flee
endif
endif
endif
if wears $i +projectile
if rand 33
mob at 9849 remove +projectile
if rand 50
emote loads and fires incendiary ammunition!
mob oload 9807 0 W
else
emote loads and fires envenomed ammunition!
mob oload 9808 0 W
endif
mob goto self
mob kill $n
mob junk fakecrossbow
mob at 9849 wield +projectile
endif
break
endif
if rand 33
if rand 50
mob skill bash
else
mob skill trip
endif
endif

Feel free to try to decipher this! These mobs:

  • Have different special attacks depending on which weapon they spawned with.
    • Loading a special weapon with an odd damage type, going to a different room to wield it, then doing an extra attack, then (silently) switching back to the first weapon, emulates having a true special attack.
  • Emulate a player having to remove a weapon to zap themselves with a haste materia.
  • Fallback behind an ally when low on HP, or chug a potion, or flee.
  • Say different things randomly when running away or not killing a <l40 player