1/* * module * 
    2% This file contains the definitions for the objects in a household
    3% To create a new world, simply change the object definitions as
    4% described below (or in manual)
    5%
    6% *******Object definitions*******
    7%.
    8% Use the label_type_props(label,colcode,[property1,property2,etc.]]).
    9% label is whats used to refer to the object in the running world
   10% colcode is whats used to refer to the object for initialization (see world.pl)
   11%
   12%
   13*/
   14
   15
   16((vtActionTemplate(AT)/get_functor(AT,F)==>vtVerb(F))).
   17%(vtVerb(F)/name_text_now(F,Txt)==>mudKeyword(F,Txt)).
   18%(tCol(F)/name_text_now(F,Txt)==>mudKeyword(F,Txt)).
   19
   20
   21
   22
   23mudLabelTypeProps("tr",tTree,[mudHeight(3),mudWeight(4)]).
   24mudLabelTypeProps("rk",tRock,[mudHeight(2),mudWeight(4)]).
   25mudLabelTypeProps("pt",tPit,[mudHeight(-1),mudWeight(4)]).
   26 mudLabelTypeProps("ot",tPowerOutlet,[mudHeight(1),mudWeight(1),mudPermanence(actTake,vTakenStays),mudActAffect(actTake,mudEnergy(+50))]).
   27 mudLabelTypeProps("nt",tNut,[mudHeight(1),mudWeight(1),mudPermanence(actTake,vTakenMoves),mudActAffect(actEat,mudEnergy(+40)),spawn_rate(10)]).
   28mudLabelTypeProps("lw",tLowWall,[mudHeight(2),mudWeight(4)]).
   29:- do_gc.   30
   31mudLabelTypeProps("lg",tLedge,[mudHeight(2),mudWeight(4)]).
   32mudLabelTypeProps("lb",tLowBox,[mudHeight(2),mudWeight(2)]).
   33:- do_gc.   34
   35mudLabelTypeProps("hw",tHighWall,[mudHeight(3),mudWeight(4)]).
   36mudLabelTypeProps("hb",tHighBox,[mudHeight(3),mudWeight(3)]).
   37mudLabelTypeProps("gd",tGold,[mudHeight(1),mudWeight(1),mudPermanence(actTake,vTakenDeletes),mudActAffect(actTake,mudScore(+10))]).
   38:- do_gc.   39
   40mudLabelTypeProps("fd",tFood,[mudHeight(0),mudWeight(1),mudPermanence(actTake,vTakenMoves),mudActAffect(actEat,mudEnergy(+80))]).
   41mudLabelTypeProps("el",tElixer,[mudHeight(1),mudWeight(1),mudPermanence(actTake,vTakenMoves),mudActAffect(actEat,mudHealth(+80))]).
   42mudLabelTypeProps("ed",tEdgeOfWorld,[mudHeight(10),mudWeight(4)]).
   43:-garbage_collect_atoms.   44 mudLabelTypeProps("dt",tDirt,[mudHeight(1),mudWeight(1),mudPermanence(actTake,vTakenDeletes),mudActAffect(actTake,mudScore(+1)),spawn_rate(5)]).
   45:-garbage_collect_atoms.   46mudLabelTypeProps("dr",tDoor,[mudHeight(3),mudWeight(2)]).
   47:-garbage_collect_atoms.   48
   49% What an agent turns into upon death.
   50% Must be named iCorpseFn (or edit agent_to_corpse/1 in lib.pl.
   51 mudLabelTypeProps("cp",tCorpsea,[mudHeight(1),mudWeight(1),mudPermanence(actTake,vTakenMoves),mudActAffect(actEat,mudEnergy(+80)),mudActAffect(actTake,mudScore(+10))]).
   52 mudLabelTypeProps("cp",tCorpseb,[mudHeight(1),mudWeight(1),mudPermanence(actTake,vTakenMoves),mudActAffect(actEat,mudEnergy(+120))]).
   53mudLabelTypeProps("da",tCorpsec,[mudHeight(2),mudWeight(2)]).
   54% This is used to make the monster roaming the maze a bit tougher
   55% It doesn't require any of the usual traits since the monster will never 
   56% leave the monster's possession.
   57mudLabelTypeProps("nk",tNastyKnife,[mudActAffect(actWield,mudAttack(2))]).
   58mudLabelTypeProps("th",tToughHide,[mudActAffect(actWear,mudArmor(2))]).
   59
   60
   61
   62% Define the maximum charge and maximum damage an agent can have
   63
   64
   65% :- include(prologmud(mud_footer)).