Merentha
Come code with us
Come code with us
The adventure begins

Merentha Website
Overview
About LPC Coding
Header Files
The Problem Sets

Rooms
Normal Rooms
Monster Rooms
Search Rooms
Exit Rooms
Door Rooms

Monsters
Normal Monster
Random/Emote Monster
Patrol/Talking Monster
Skills/Interactive Monster

Armour
A Vest
A Ring
Cursed Armour

Weapons
Normal Staff
Two Handed Sword
Special Attack Weapon
Cursed Weapon
Talkin Weapon

Lights
A Match
A Torch
A Lantern

Bags
A Normal Bag
A Backpack (wearable)
An Expanding Bag

Misc Objects
A Leaf
A Sea Shell
A Key
A Snowball

// Petrarch #include <std.h> inherit STORAGE; int mytake(string str); int myput(string str); int move_all(); void init() { ::init(); add_action("myput", "put"); add_action("mytake", "take"); add_action("mytake", "get"); } void create() { ::create(); set_name("bag"); set_id( ({ "bag" }) ); set_adjectives( ({ "bag"}) ); set_short("a small bag made from a blowfish"); set_long("This small bag is made of a Blowfish, it will expand to fit your needs."); set_mass(3); set_value(100+random(75)); set_material(({"organic"})); set_max_encumbrance(650+random(150)+random(100)); set_prevent_put("You cannot put this in there!"); } int move_all() { int i, j; object *things; i = sizeof(things = all_inventory(this_object())); if (i==0) return notify_fail("The bag is empty.\n"); for(j=0;j<i;j++) mytake(things[j]->query_name()+" from bag"); return 1; } int myput(string str) { int i; string obj; object ob; if(!str) return 0; if(i=sscanf(str, "%s in bag", obj) != 1) return notify_fail("Hummmm... try put [object] in bag.\n"); if(!(ob = present(obj, this_player()))) return notify_fail("You don't have that.\n"); if(ob->query_mass() + query_encumbrance() > query_max_encumbrance()) return notify_fail("It won't fit.\n"); if(ob->query_prevent_put()) return notify_fail(ob->query_prevent_put()); write("You put "+ob->query_name()+" in the bag."); say((string)this_player()->query_cap_name()+" puts "+ob->query_name()+" in the bag."); ob->move(this_object()); set_mass(3+(int)query_encumbrance()/10); this_player()->add_encumbrance(ob->query_mass()/10); return 1; } int mytake(string str) { int i; string obj; object ob; if(!str) return 0; if(i=sscanf(str, "%s from bag", obj) != 1) return notify_fail("Hummmm... try get [object] from bag.\n"); if(obj=="all") { move_all(); return 1; } if(!(ob = present(obj, this_object()))) return notify_fail("That is not in the bag.\n"); if(ob->query_mass()/9 + this_player()->query_encumbrance() > this_player()->query_max_encumbrance()) return notify_fail("You can't carry that much.\n"); write("You take "+ob->query_name()+" from the bag."); say((string)this_player()->query_cap_name()+" gets "+ob->query_name()+" from the bag."); ob->move(this_player()); set_mass(3+(int)query_encumbrance()/10); this_player()->add_encumbrance(-(ob->query_mass()/10)); return 1; }


Merentha
It's your creation
Merentha Entertainment
© Copyright 1998-2002
Merentha Entertainment
All rights reserved.