Freak is one the original backgrounds we've been wanting to add to Wayfar for a long time. We've finally started completing some of the pieces. As a freak, the player is wanted by law enforcement, and his or her goal is to locate and enter a heavily guarded lab in order to remove their warp powers - before they end up an experiment in the same lab, forever.
Freak powers:
* Warpstorm - 100%
Unleash your psychic powers in an area around your target. 2 minute cooldown.
* Teleport - 25%
Zap yourself to another tile on the same planet. 5 minute cooldown.
* Mind Ray - 0%
Focus your mind on a single target to deal energy damage. 2 minute cooldown.
Freak objective:
Corporate lab - 10%
* map complete
Wayfar 1444 is a text based online multiplayer game. You are a colonist, sent to the surface of an alien world with a few basic supplies. Join up with other colonists, or plot against them, while surviving and building a self sufficient colony.
Showing posts with label mushclient. Show all posts
Showing posts with label mushclient. Show all posts
Tuesday, April 1, 2014
Tuesday, May 8, 2012
Changelog 5/8/12
* filled out several blank descriptions
* all crafting tools, with the exception of stationary workstations, now use the menu interface for selecting materials:
* implemented the perlin in biome population for planets (thanks broseidon for implementing this in the server originally, and thanks to eazy and jed for explaining it like 50 times):
Monday, May 7, 2012
Updates 5/7/12
* CONCEAL added for all children of $thing, allowing players to hide their buildings and directly controlled items.
* warp gate modules
* new weapons and items
* asteroid mining is now live
* new biomes, creatures, hackables, and modules
* new server provisioned at nfoservers
* NPC traders fully implemented at last:
* $actions.loot will now behave appropriately if an item to be looted is physically on the corpse (instead of spawning a new copy)
* added generic content dropping corpse(#27045)
- can be used for any creature's .corpse_type and will attempt to drop a creature's contents by rolling 100 vs the creature's non zero :inventory_drop_chance()
* trader: http://i.imgur.com/C0OlD.png
* added $actions.buy (args[2] = {item, source}). It sanity checks item location and available credits.
* made tweaks to $product:die and $thing:die for SAFETY
* added $worldgen:random_human_name - pass it a gender as an optional first argument
* warp gate modules
* new weapons and items
* asteroid mining is now live
* new biomes, creatures, hackables, and modules
* new server provisioned at nfoservers
* NPC traders fully implemented at last:
* $actions.loot will now behave appropriately if an item to be looted is physically on the corpse (instead of spawning a new copy)
* added generic content dropping corpse(#27045)
- can be used for any creature's .corpse_type and will attempt to drop a creature's contents by rolling 100 vs the creature's non zero :inventory_drop_chance()
* trader: http://i.imgur.com/C0OlD.png
* added $actions.buy (args[2] = {item, source}). It sanity checks item location and available credits.
* made tweaks to $product:die and $thing:die for SAFETY
* added $worldgen:random_human_name - pass it a gender as an optional first argument
Monday, March 26, 2012
Updates 3/26/12
* Check out this new webgame by ratjoy.com: Economies of Scale. A fun tick based browser game based on manufacturing and selling goods.
* Added bounty terminals:
* Fixed a long standing bug with wildlife aging that was preventing mutation into more advanced wildlife types
* Fixed minor website bug (forum link pointing to old page)
* Another long standing bug with comments on ingame mailing lists and the dev @mine command
* Added venue stage and cantina interior for future music system purposes
* Added diagnostic cloud to clinic interior
* Preform vs Perform spelling changes throughout :facepalm:
* Another bug fix for wildlife spawning
* Added gravedigging back in
* Added bounty terminals:
* Fixed a long standing bug with wildlife aging that was preventing mutation into more advanced wildlife types
* Fixed minor website bug (forum link pointing to old page)
* Another long standing bug with comments on ingame mailing lists and the dev @mine command
* Added venue stage and cantina interior for future music system purposes
* Added diagnostic cloud to clinic interior
* Preform vs Perform spelling changes throughout :facepalm:
* Another bug fix for wildlife spawning
* Added gravedigging back in
Thursday, March 22, 2012
Updates 3/22/12
![]() |
| Readout/building tool for underground caverns |
- Added the first race of aliens after killing an old wolf spider that came out in the light to die. They are spider aliens and will start by occupying a moon dungeon.
- Updated
recall help fileall empty help files. - Explore now notifies player of newly revealed items.
- Fixed a nest loot bug.
- Added a new building tool for underground caverns
Labels:
moocode,
mushclient,
procedural generation,
sci fi mud,
space colony moo,
space moo,
text game,
wayfar,
wayfar 1444,
wayfar moo,
wayfar1444
Location:
Austin, TX, USA
Thursday, February 16, 2012
MOO/MUD - Resources for designing a custom graphical client using MushClient
Step 1: Get data to MushClient
I did this by send "var" MXP tags when the player views his status, for instance. And all rooms update mushclient's room data with the appropriate MXP tags.
Then write a Mushclient plugin. As I go through this process I find myself referring often to the following articles:
Step 1: Get data to MushClient
I did this by send "var" MXP tags when the player views his status, for instance. And all rooms update mushclient's room data with the appropriate MXP tags.
Then write a Mushclient plugin. As I go through this process I find myself referring often to the following articles:
- Miniwindows - this is the basis of a GUI, the MiniWindow object
- Example mapper updating plugin
- Nick Gammon's mapper module source code
- InfoBar/Updating HP bar example
- Show exits in MiniWindow example
- Improved action bar example
- Materia Magica Automapper source code
I'll post screenshots of the wayfar plugin as progress is made.
Saturday, February 4, 2012
Updates 2/4/12
-Added lab tech background (starts with basic tech operation and science skills, requires 25 successful researches to complete).
-Added some basic biome changing mechanics to allow players to convert plague biomes to destroyed biomes, unstable biomes to flatlands, and destroyed biomes to various other biomes.
-Added several new biomes and updated others, as well as increasing the chance of an extreme biome being populated.
-Made NPCs react to combat much faster
-Added a civilian wildlife with randomized personality, favorite items, clothing, etc, to serve as the basis for more specific civilian types.
-Added some basic biome changing mechanics to allow players to convert plague biomes to destroyed biomes, unstable biomes to flatlands, and destroyed biomes to various other biomes.
-Added several new biomes and updated others, as well as increasing the chance of an extreme biome being populated.
-Made NPCs react to combat much faster
-Added a civilian wildlife with randomized personality, favorite items, clothing, etc, to serve as the basis for more specific civilian types.
Monday, January 30, 2012
Updates 1/30/12
Mushclient and mxp mouse support added pretty much everywhere.
We want to see our biomes and can right click to set them up:
A sample screen showing some data, that we can click to change (using the PROMPT directive this sends text to the command line, but not the MOO, so we can enter a value):
snapshot of two @setup panes:
And lastly buttonz:
We want to see our biomes and can right click to set them up:
A sample screen showing some data, that we can click to change (using the PROMPT directive this sends text to the command line, but not the MOO, so we can enter a value):
snapshot of two @setup panes:
And lastly buttonz:
A short guide to implementing MXP on hellcore and notes concerning overall implementation
Note! I have posted the hellcore (with some tweaks and additions) $mxp utility here: modular moo-code respository.
$mxp:activate should look like this:
$mxp:define_elements should look like this:
<!ELEMENT roomexit FLAG=RoomExit>
<!ELEMENT roomnum FLAG=RoomNum>
See the MXP spec for details on defining elements, attribute lists, etc. $mxp.elements is where you will store them so they are defined to the user when MXP is turned on.
Then you'll want to define the MXP to be sent for various things. I did this by adding props to $thing for instance:
.mxp_look_place_string - the MXP string to be sent when the item is seen in a room.
.mxp_inventory_string - the MXP string to be sent when in inventory
And on $creature:
.mxp_tactical_string - the MXP string to be sent when the creature is listed in the tactical display.
The main use of MXP is to add links or right click menus to in game content.
Example $exit.mxp_look_place_string:
When clicked, the east link will send the text between and , which in this case is "east".
Or, an example weapon mxp_inventory_string:
In this example we use a pre defined element to setup the link color, underlining, bolding etc, and then use the item's .mxp_inventory_string to define the right click menu.
Examples of some of the changes I made to common functions:
Fixing $mxp on Hellcore
Hellcore has a utility called $mxp. $mxp:activate is called on a player when that player changes his MXP pref to 1 (@prefs mxp is 1). In $mxp:activate, telnet negotiation codes are sent to the client indicating the server can send MXP. The $mxp implementation doesn't handle this correctly for Mushclient. In fact it doesn't really handle it correctly, at all, but we can fake it.$mxp:activate should look like this:
who = args[1];
this:tell(who, encode_binary(this.code_IAC, this.code_WILL, "[", 0));
this:tell(who, encode_binary(this.code_IAC, this.code_SB, "[", this.code_IAC,
this.code_SE, 0));
this:tell(who, this.tag_lock_locked_mode);
this:define_elements(who);
who:tell("MXP mode activated!");
The change to regular hellcore is the second tell, sending DO MXP or something. I also made modification to define_elements.
First:
@prop $mxp.elements {}
$mxp:define_elements should look like this:
who = args[1];
this:tell_secure_line(who, $su:from_list(this.elements, ""));
This allows you to define elements on $mxp.elements. Here are some example elements formerly hardcoded into $mxp:define_elements:<!ELEMENT roomexit FLAG=RoomExit>
<!ELEMENT roomnum FLAG=RoomNum>
See the MXP spec for details on defining elements, attribute lists, etc. $mxp.elements is where you will store them so they are defined to the user when MXP is turned on.
Notes on implementing MXP in game
You must use $mxp:tell_secure_line (or $mxp:tell_lines_secure_line for multiple lines) to send text with MXP tags included. This means you need to detect when MXP is on, figure out when you're going to be sending MXP, and then tell_secure_line instead of tell in appropriate places.Then you'll want to define the MXP to be sent for various things. I did this by adding props to $thing for instance:
.mxp_look_place_string - the MXP string to be sent when the item is seen in a room.
.mxp_inventory_string - the MXP string to be sent when in inventory
And on $creature:
.mxp_tactical_string - the MXP string to be sent when the creature is listed in the tactical display.
The main use of MXP is to add links or right click menus to in game content.
Example $exit.mxp_look_place_string:
"<send>east</send>"When clicked, the east link will send the text between
Or, an example weapon mxp_inventory_string:
"<weapon><send href=\"x &text;|wield &text;|remove &text\">colonial rifle</send></weapon>"In this example we use a pre defined element to setup the link color, underlining, bolding etc, and then use the item's .mxp_inventory_string to define the right click menu.
Examples of some of the changes I made to common functions:
- #1:do_examine - if mxp is on print .mxp_examine_menu if it is present and valid
- $room:list_obvious - 1) print an mxp_look_self_menu string if it exists and mxp is on, 2) if mxp is on, use secure lines to tell the description and objects to player, 3) if mxp is on and an mxp_hint_msg exists, print that string
- $room:mxp_list_exits (called from $room:list_exits) - to display mxp formatted exits
- $creature:tell - to send all text in "locked" mode, ignoring mxp tags - when mxp is displayed it must be sent via $mxp:tell_secure_line or $mxp:tell_lines_secure_line
- $thing:look_place_msg - I overrode this, adding an mxp_look_place_string property. If mxp is on and the string is valid, it returns the string, otherwise passing the results of #1:look_place_msg
Labels:
guide,
hellcore,
lambdamoo,
mushclient,
mxp,
mxp protocol,
tutorial
Tuesday, January 24, 2012
Updates 1/24/12 - Iron man MSPAINT challenge
Set myself an MSPAINT challenge, to turn this into the new robot control terminal:
- added rough MXP support to Wayfar. MXP allows HTML style markup on certain clients. I implemented MXP to work with MUSHclient only at this stage. In addition to web page style clicking features, mushclient also allows the player to move around with the keypad.
Subscribe to:
Posts (Atom)
















