Monday, June 17, 2013

new $economy object testing 6/17/13

Currently Wayfar uses an $economy object to track transactions on each planet.  This is handy for calculating NPC buy orders or adjusting the (totally unfair) pricing on NPC provided items.  As it is, these economies actually hold and track real item objects.  I've written new methods to abstract this in order to save memory.  Testing continues!

* Wayfar server RAM has been upgraded to 2GB in order to host more systems and the upcoming graphical client

Sunday, May 26, 2013

Updates 5/26/13

TV 'n' fish, good times have been had in the last couple of weeks.

- There are now over 20 species of fish to be found in various biomes, a job now exists for fishing up loads of weird alien fish and also there's now four types of fishtank to keep your fish in.
- There's now four more TV channels and existing channels have had their awful daytime tv programming extended to rot your mind even more.
- Various changes to interfaces, with the gear readout having some figures and calculation changed, dice usage now shows the exact number of dice used and your current/max dice for that pool.
- Robots can now be given a line of direct input using the 'direct' command on the robot's control handpad.
- Weapon modules, hurray.
- A bunch of new trophies have been made for various jobs, making competence cabinets at least a little bit useful.
- A TV channel that's full of star trek cast markov bots.

Wednesday, May 15, 2013

Updates 5/15/13

- New citizen type added to sector centers (Maintenance  technician, this and the engineer citizen type will repair buildings and vehicles in the nearby future)
- Crew commands! You can now hire up to three civilians (this may be increased in future by skills or reroll bonuses) and use 'crewhire' and 'crewfire' to manage which civilians you have in your crew. You can give orders to your crew such as converging on your position, holding ground/guarding, looting corpses and attacking. They also respond to standard civilian commands such as 'guard' and 'follow'.
- Cargo droids now have three more commands: 'pickup', 'dump' and 'inventory'. The function of these is fairly straightforward.
- Biome web interface has been neatened up, resource spawn rates are now quoted as verbal figures rather than numerical, all current weather types are now described.
- Creature web interfaces have been neatened with blank lists being replaced by 'does not drop any items' or 'does not spawn with equipment' and drop lists have been added with links to the objects.
- Charge rods have been buffed again.
- Requirements on some items have been fixed or modified.
- Some items and creatures have been given descriptions.
- Many locked treasure containers have now been given descriptions.
- Some new helpfile entries have been made.

So far, not bad considering I only got awakened from my text slumber three days ago.

Monday, May 13, 2013

Updates 5/13/13


* New command for refinery processors called 'mass-add' which also responds to 'massadd' and 'madd'
* Four new creatures in forest and desert biomes
* New citizen type added to sector centers (game hunter)
* Planetary surface exploration rate doubled
* Charge rods now recharge more weapon power per tick
* Various descriptions and bug fixes
* New skill command for Situational Awareness that trades stamina for clarity and aggression

Screenshots:


Monday, April 1, 2013

Using cooldown_check tutorial for Hellcore

Hellcore provides an easy way to implement cooldowns for whatever use you desire, using the verb 'cooldown_check'.  The verb is located on $creature and can be used by $player as well.

The verb itself:

:cooldown_check(ANY action, INT seconds-of-cooldown[, INT silent, INT dont-start, INT force-new)

The arguments:

action - this can be any type, either an object representing an action, or a string, or whatever.
seconds-of-cooldown - self explanatory, this is the actual cooldown itself.  Best stored on a property relevant to your use.
silent - if true, no cooldown message will be printed to the player.
dont-start - if true, no cooldown countdown will be started.
force-new - if true, a new cooldown coutndown will be forcibly started regardless of cooldown remaining.

Usage example:

For the example consider an action, let's call it "pray" since that's what I worked on last.  Your _finish verb might look something like this:

pray:_finish
who = args[1];
target = args[2][1];
if ( ! who:cooldown_check( this, this.cooldown_period) )
  return E_NONE;
endif

This would do a check on the cooldown for the pray $action object.  If the cooldown hasn't elapsed, a message is printed to 'who' by cooldown_check, and we abort our action by returning E_NONE.  It is ideal to preform the cooldown check in _finish, since if the check passes in _start but the player aborts the action they will be on cooldown without actually having preformed the action.