Forgotten Realms Unlimited Adventures Forum
Welcome, Guest. Please login or register.
September 09, 2010, 01:18:20 PM

Login with username, password and session length
Search:     Advanced search
Be respectful of others when posting.  Keep your posts on topic.  And, most importantly, have fun.
11971 Posts in 1119 Topics by 147 Members
Latest Member: Erich Schnecko
* Home Help Search Login Register
+  Forgotten Realms Unlimited Adventures Forum
|-+  Dungeon Craft
| |-+  Dungeon Craft Development
| | |-+  End of July Updates
« previous next »
Pages: [1] 2 3 ... 6 Go Down Print
Author Topic: End of July Updates  (Read 675 times)
manikus
UANL Staff
Hero Member
*
Offline Offline

Posts: 1526


« on: July 26, 2010, 07:30:51 PM »

Well, it's not quite the end of July, but it's not the middle of the month anymore either...so end it is. ;)

Since the last update, or maybe not mentioned in the last update ('cause they're still on my list of things to write about) are the following accomplishments, big small and in-between.

->exporting baseclass database to a text file
->"wait" feature - spacebar can now be used to have the party 'wait' in current spot during 3D mode, which causes one minute to pass and step events to fire if applicable
->$SET_CHAR_xxxLVL() where xxx is the name of one of the classes
->$DAT_Baseclass_Experience(), $DAT_Baseclass_Level() - now you can input the XP and get the level and vice versa

->monster database: green sliime, umber hulk, purple worm, medusa, basilisk, wight, wraithm vampire
->spell database: restoration, gaze attacks
->special ability database: troll regenerate, troll get-up, drain (still in progress to incorporate Training Hall activity)

I don't believe any art stuff got done...

So, yeah. There you go. :D

Thanks Paul, for all of your hardwork on Dungeon Craft. It is greatly appreciated.
Logged

nologgie
Non-resident Non-expert
Hero Member
*****
Offline Offline

Posts: 972


« Reply #1 on: July 27, 2010, 02:00:08 AM »

Great stuff! Thank you Paul, and thank you Manikus!
Logged

Some days it just doesn't pay to gnaw through the straps.
Dinonykos
Sr. Member
****
Offline Offline

Posts: 265


WWW
« Reply #2 on: July 27, 2010, 10:52:42 AM »

Great stuff! Thank you Paul, and thank you Manikus!
Yes, thanks! As posted at the other forum, the "wait" option is very much appreciated.
Logged

Link to Friedrich's Quest on: http://dhost.info/dinonykos/pagefrdr.html
manikus
UANL Staff
Hero Member
*
Offline Offline

Posts: 1526


« Reply #3 on: July 27, 2010, 04:20:36 PM »

Glad to do it. :D It keeps me out of trouble and from getting any work done. ;)
Logged

manikus
UANL Staff
Hero Member
*
Offline Offline

Posts: 1526


« Reply #4 on: July 29, 2010, 05:45:28 PM »

After a lot of work on Paul's end and a lot mine too, Drain is now working the way it should be and the spells/Training Hall relation to it (the hang-up) is now working as well. :) Pheww!
Logged

nologgie
Non-resident Non-expert
Hero Member
*****
Offline Offline

Posts: 972


« Reply #5 on: July 29, 2010, 07:05:53 PM »

WOO-HOO!!! I'm no programmer, but that one seemed pretty complex compared to most.
Logged

Some days it just doesn't pay to gnaw through the straps.
manikus
UANL Staff
Hero Member
*
Offline Offline

Posts: 1526


« Reply #6 on: July 29, 2010, 07:21:55 PM »

Well I don't know if this is the best barometer, but it is a telling one on the difficulty - our email thread for this one special ability is 65 messages. I think they typically run in the 20 to 30 range for the more complex. :)
Logged

SilentThief
Jr. Member
**
Offline Offline

Posts: 83

« Reply #7 on: July 29, 2010, 07:44:17 PM »

Kinda put the "drain" on ya?

ST
Logged
manikus
UANL Staff
Hero Member
*
Offline Offline

Posts: 1526


« Reply #8 on: July 29, 2010, 07:58:40 PM »

Kinda put the "drain" on ya?

ST

You have no idea. ;)

This script is monster - more than 300 lines. So many places to screw it up. :D
Logged

nologgie
Non-resident Non-expert
Hero Member
*****
Offline Offline

Posts: 972


« Reply #9 on: July 29, 2010, 08:56:30 PM »

This script is monster - more than 300 lines. So many places to screw it up. :D

Yep. And we've all seen your typing.  :P

Yet you manage to get it done anyway! That's why you're my hero.  :D
Logged

Some days it just doesn't pay to gnaw through the straps.
manikus
UANL Staff
Hero Member
*
Offline Offline

Posts: 1526


« Reply #10 on: July 30, 2010, 04:03:49 PM »

This script is monster - more than 300 lines. So many places to screw it up. :D

Yep. And we've all seen your typing.  :P

Yet you manage to get it done anyway! That's why you're my hero.  :D

I know - 300 lines for me is like 400 for an accurate typist. :) It almost always comes down to a missing closing parenthesis (so yes, that is the ifrst thing I look for now).

The script editor is a great boon for all my kind of errors, well except the brain ones. ;)  Then I need a human to help me.
Logged

Paul R. Stevens
Jr. Member
**
Offline Offline

Posts: 81

« Reply #11 on: July 30, 2010, 07:35:34 PM »

300 lines seems a bit excessive.  Want to post the
most verbose stuff here and see if we can reduce it
and provide a bit of 'How We Do It' tutorial at the same
time?
Logged
manikus
UANL Staff
Hero Member
*
Offline Offline

Posts: 1526


« Reply #12 on: July 31, 2010, 04:33:16 PM »

We put up the script in the June updates thread, and thanks to folks efforts (mostly yours, Paul) the script was fixed and became workable. But, it didn't get any smaller. :)

Here is the most current version I have on my flash drive (which may not be the most current version, and in fact likely is not, but should be close).

Code: [Select]
$VAR target;
$VAR char;
$VAR charClass;
$VAR charXP;
$VAR charHP;
$VAR fighter;
$VAR cleric;
$VAR ranger;
$VAR mage;
$VAR thief;
$VAR druid;

target = $TargetIndex();
charClass = $GET_CHAR_CLASS(target);
char = $GET_CHAR_Lvl(target,charClass);
charXP = $GET_CHAR_Exp(target,charClass);
charHP = $GET_CHAR_HITPOINTS(target);
fighter = $GET_CHAR_Lvl(target,"fighter");
cleric = $GET_CHAR_Lvl(target,"cleric");
ranger = $GET_CHAR_Lvl(target,"ranger");
mage = $GET_CHAR_Lvl(target,"magicUser");
thief = $GET_CHAR_Lvl(target,"thief");
druid = $GET_CHAR_Lvl(target,"druid");

$FUNC Drain(class, hpReduction)
{
  $SET_CHAR_Lvl(target,class,(char -# 1));
  $SET_CHAR_Exp(target,class, $DAT_Baseclass_Experience(class, char) -# 1);
  $SET_CHAR_HITPOINTS(target, charHP -# ($RANDOM(hpReduction) +# 1));
} Drain;

$SET_CHAR_ASL(target,"charLevel",char);
$SET_CHAR_ASL(target,"charExp",charXP);
$SET_CHAR_ASL(target,"charHit",charHP);

$IF (charClass ==# 0) {Drain("fighter",10);};
$IF (charClass ==# 1) {Drain("cleric",8);};
$IF (charClass ==# 2) {Drain("ranger",8);};
$IF (charClass ==# 3) {Drain("paladin",10);};
$IF (charClass ==# 4) {Drain("mage",4);};
$IF (charClass ==# 5) {Drain("thief",6);};
$IF (charClass ==# 6) {Drain("druid",8);};
$IF (charClass ==# 7)
{
  $IF (cleric ># fighter)  {Drain("cleric",8);}
  $ELSE {Drain("fighter",10);};
};
$IF (charClass ==# 8)
{
  $IF (cleric ># fighter && cleric ># mage) {Drain("cleric",8);$RETURN;};
  $IF (fighter ># cleric && fighter ># mage) {Drain("fighter",10);$RETURN;}
  $ELSE {Drain("mage",4);};
};
$IF (charClass ==# 9)
{
  $IF (cleric ># ranger) {Drain("cleric",8);}
  $ELSE {Drain("ranger",8);};
};
$IF (charClass ==# 10)
{
  $IF (cleric ># mage){Drain("cleric",8);}
  $ELSE {Drain("mage",4);};
};
$IF (charClass ==# 11)
{
  $IF (cleric ># thief) {Drain("cleric",8);}
  $ELSE {Drain("thief",6);};
};
$IF (charClass ==# 12)
{
  $IF (fighter ># mage) {Drain("fighter",10);}
  $ELSE {Drain("mage",4);};
};
$IF (charClass ==# 13)
{
  $IF (thief ># fighter) {Drain("thief",6);}
  $ELSE {Drain("fighter",10);};
};
$IF (charClass ==# 14)
{
  $IF (thief ># fighter && thief ># mage) {Drain("thief",6);$RETURN;};
  $IF (fighter ># thief && fighter ># mage) {Drain("fighter",10);$RETURN;}
  $ELSE {Drain("mage",4);};
};
$IF (charClass ==# 15)
{
  $IF (thief ># mage) {Drain("thief",6);}
  $ELSE {Drain("mage",4);};
};
$IF (charClass ==# 16)
{
  $IF (fighter ># druid) {Drain("fighter",10);}
  $ELSE {Drain("druid",8);};
};
$IF (charClass ==# 17)
{
  $IF (druid ># mage) {DDrain("druid",8);}
  $ELSE {Drain("mage",4);};
};
$IF (charClass ==# 18)
{
  $IF (fighter ># druid && fighter ># mage) {Drain("fighter",10);$RETURN;};
  $IF (druid ># fighter && druid ># mage) {Drain("druid",8);$RETURN;}
  $ELSE {Drain("mage",4);};
};
« Last Edit: August 14, 2010, 06:40:01 PM by manikus » Logged

SilentThief
Jr. Member
**
Offline Offline

Posts: 83

« Reply #13 on: July 31, 2010, 09:19:11 PM »

Does this work with the "billiard player" option for special characters or would you have to modify it?

I am just curious...

Curious ST :D
Logged
Paul R. Stevens
Jr. Member
**
Offline Offline

Posts: 81

« Reply #14 on: August 01, 2010, 11:59:17 AM »

We are starting with 324 lines of code.

First we need to make it error-free so we can
compile it.

All occurrences of MAGUSER  need to be changed
to MAGICUSER.

Line 108 has extra trailing semi-colon.
Line 132 has extra trailing semi-colon.
Line 149 has extra trailing semi-colon.
Line 166 has extra trailing semi-colon.
Line 183 has extra trailing semi-colon.
Line 200 has extra trailing semi-colon.
Line 217 has extra trailing semi-colon.
Line 241 has extra trailing semi-colon.
Line 258 has extra trailing semi-colon.
Line 275 has extra trailing semi-colon.
Line 292 has extra trailing semi-colon.
Line 316 has extra trailing semi-colon.

Is it possible to edit the code in your post?
Then we can get on with optimizing the code.
Logged
Pages: [1] 2 3 ... 6 Go Up Print 
« previous next »
 

Powered by MySQL Powered by PHP Powered by SMF 2.0 RC1.2 | SMF © 2006–2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!