Noncombat Data File

Rinn

Developer
I'd like to go through the wiki and make data files for noncombat and noncombat choiceadventures. So first off I need some assistance figuring out the best format for these data files that would completely remove the need to have all the strings hardcoded in ChoiceManager.java, and additionally make it so nothing would need to be handled manually.

Some special cases I can think of offhand for choices:

  • Completing an outfit
  • Choice adventures that lead to different noncombats depending on your class\items on hand\meat on hand\etc
  • Dynamic areas (violet fog, louvre, wumpus)
  • ???
Information I'd like to add:

  • Choiceadv number\some unique id for noncombats
  • Title
  • Item drops
  • Meat Drops
  • Stat Gains
  • Effects
  • Bad Moon adventures
  • Clover Adventures
  • Superlikely chance
  • Delayed noncombats
  • Banished noncombats (skipping blackberry cobbler for example)
  • Requirements
  • Source zone\item
  • If it uses an adventure
  • Semirares
  • Leads to a combat
  • ???
The point of this is when it's done and integrated into mafia with approiate proxy records it will be completely trivial to figure out how to acquire an item or effect through adventuring, and to build an entire tree of choice adventure options for use in script. Basically I want to be able to write a function that can figure out how to acquire an item given no additional information.

This is a pretty massive undertaking, so if some people want to volunteer to help out that would speed things up a bit. This could also probably lead into adding similar extended data for monsters as well where appropriate.

Thoughts?
 
Last edited:

Rinn

Developer
Google Docs Spreadsheets, I've started the two spreadsheets with some entries already: https://docs.google.com/leaf?id=0By...NzFlMi00ZDE3LWE3OTYtMDdhZjY0ZWYxMjk4&hl=en_US

http://kol.coldfront.net/thekolwiki/index.php/Choice_adventures_by_number
http://kol.coldfront.net/thekolwiki/index.php/Category:Non-combat_Adventures

Currently I'm using semi-colons as delimiters since a lot of names have commas in them. I'm also using this kind of format:
Code:
item:itemname(num gained\lost if not 1)
outfit:outfitname
effect:effectname(turns gained\lost)
mox:level()*(10-20)
meat:200
meat:-200--100
pref:prefname=value (setting)
pref:prefname==value (conditional)
integer (the choice adventure a choice leads to)
adv:-1 (if the choice removes extra unexpected adventures)
unequip:slot (are there any cases for this besides those 3 halloween adventures?)
A lot of it can be cleaned up in a second pass but it will help if we're consistent. Might need to change the format for ranges. There's also a lot of non-combats that could set a useful pref where one currently doesn't exist, maybe those should be denoted as such.
 
Last edited:

matt.chugg

Moderator
hmm, this fits in with an idea I had for general data in a 'proper' database which I was then going to make queryable through a php front, so chunks of any in game data could be exported as various file formats, xml, csv, plain text, html based on various types of query, like item ranges, types, effects etc

It turns out it was a LOT of work, so I never go round to starting it, I'd say keep going with a spreadsheet, and if I get chance to to what I planned, i'll import your data, and credit you! :)
 
Top