13:-swi_module(mobMonster,[]). 14
18
19:- include(prologmud(mud_header)). 22
23tCol(mobMonster).
24
25world_agent_plan(_World,Agent,Act):-
26 isa(Agent,mobMonster),
27 monster_idea(Agent,Act).
28
29monster_idea(Agent,actEat(Food)) :-
30 mudEnergy(Agent,Charge),
31 Charge < 100,
32 mudPossess(Agent, Food),
33 isa_any(Food,[tFood,tCorpse]).
34monster_idea(Agent,actTake(Food)) :-
35 mudNearBody(Agent,What),
36 isa_any(Food,[tFood,tCorpse]),
37 obj_memb(Food,What).
38monster_idea(Agent,actMove(1,Dir)) :-
39 mudGetPrecepts(Agent,List),
40 isa_any(Food,[tFood,tCorpse]),
41 list_object_dir_sensed(_,List,Food,Dir).
42monster_idea(Agent,actAttack(Dir)) :-
43 mudNearReach(Agent,List),
44 list_agents(Agents),
45 isa_any(NearAgt,Agents),
46 list_object_dir_near(List,NearAgt,Dir).
47monster_idea(Agent,actMove(1,Dir)) :-
48 mudGetPrecepts(Agent,List),
49 list_agents(Agents),
50 isa_any(NearAgt,Agents),
51 list_object_dir_sensed(_,List,NearAgt,Dir).
52
53monster_idea(Agent,Act) :- move_or_sit_memory_idea(Agent,Act,[tCorpse]).
54
55tCol(tClothing).
56prologHybrid(wearsClothing/2).
57
61:-ain(meta_argtypes(wearsClothing(tObj,tClothing))). 64
70
71
72:- include(prologmud(mud_footer)).