Page 3 of 7

Posted: Wed May 09, 2007 3:27 am
by chaney
Can we assume from the high level of your characters, that this is not a starter dungeon?

Posted: Wed May 09, 2007 9:10 am
by dragonbait
The basement will not be a starter dungeon......however, you won't need high level characters like the last picture shows to defeat it either. (just used those characters to do a general sweep through the game)Trying to make it sort of an intermediate level dungeon, but there are some tough battles throughout the levels.

Posted: Wed May 09, 2007 2:45 pm
by Growler
What version of DW are ye using for yer mod?

Posted: Wed May 09, 2007 3:07 pm
by dragonbait
version 2.0

Posted: Fri May 11, 2007 5:27 pm
by dragonbait
I'm trying to have some continuous consecutive battles 2-3 in a row before you can stop and rest and am running into some problems with the script. Is there a script somewhere in the game that does the same thing?

Posted: Fri May 11, 2007 10:54 pm
by Growler
Continuous/consecutive as in 'can't even take a step or turn 1 time prior to next onslaughter'? :twisted:

It kinda seems like something like that happened in the Guard's Tower?? Mebe not.. it's been a long time since I've been there & done that.

Posted: Sat May 12, 2007 3:25 am
by chaney
Yes it does. In the last fight in the guard tower, you have two fights in a row.

Posted: Sun May 13, 2007 9:46 am
by dragonbait
looked through the guardplot event w/2 battles.

earlier yesterday I got a script to work correctly, then while making some minor corrections it all went haywire. Took back what I had corrected but still wouldn't work so i'm putting things together from the start again. Basically it's a script where you get to the final plot and you choose between fighting someone or refusing to fight. Depending on your decision, subsequent battles will ensue, different ones depending on which side you choose. As I'm placing the script back together I get up to the first battle (after you choose the "refuse to fight option") and the battle doesn't start....any suggestions? (I've taken the story lines out so to not ruin your fun of eventually plaing the mod when it's done. Here is the code......

Code: Select all

#bwfinal script
from eventAPI import *
from APIUtils import *
from SDLKeys import SDLK_f, SDLK_r
bwfinal = 0
def fireEvent(e):
    global bwfinal
    bwfinal = getTag(e, "bwfinal")
    if (bwfinal == 0):
        begin(e)
    elif (bwfinal == 1):
       	ratfight(e)
    elif (bwfinal == 2):
    	magefight(e)
    elif (bwfinal == 3):
    	vault(e)
    elif (bwfinal == 4):
    	end(e)
    elif (bwfinal == 5):
		fightgolems(e)     	
    else:
        return 1        
       
def begin(e):
    showPicture(e, "bw_cauldron")
    showMessage(e, ["....."])
    showMessage(e, ["....."])
    showMessage(e, ["....."])
    showPicture(e, "Abeholder")
    showMessage(e, ["....."])
    showMessage(e, ["....."])
    showPicture(e, "Ghost")
    showMessage(e, ["...."])
    showPicture(e, "Abeholder")
    showMessage(e, ["T...."])
    showMessage(e, ["A...."])
    showPicture(e, "Ghost")
    showMessage(e, ["...."])
    if (optionInput(e,
        ["","\"Won't you avenge my death?\""],
        ["(f)ight the beholder", "(r)efuse to fight"], [SDLK_f, SDLK_r]) == SDLK_f):
        setTag(e, "bwfinal", bwfinal)
        fightbeholder(e)
    else:
        refusetofight(e)
    return 1
    
 
def fightbeholder(e): 
   combatRet = combat(e, [("Beholder", 1, 0, 10)])
   if (combatRet == 1):
      wonbattle(e)
   elif (combatRet == 3):
      lostFight(e)
   else:  
      ranAwayFight(e)  

									      
def wonbattle(e):
	showMessage(e, ["....."])
	showMessage(e, ["....."])
	showPicture(e, "Summoner")
	showMessage(e, ["....."]) 
	showMessage(e, ["....."])
	showMessage(e, ["....."])
	showMessage(e, ["....."])
	showMessage(e, ["....."])		
	showPicture(e, "Senrat")
	showMessage(e, ["....."])
	showMessage(e, ["....."])
	bwfinal = 1
	setTag(e, "bwfinal", bwfinal)
	ratfight(e)
	
	
		
def ratfight(e): 
   combat2Ret = combat(e, [("Senrat", 1, 0, 10)])
   if (combat2Ret == 1):
      wonbattle2(e)
   elif (combat2Ret == 3):
      lostFight2(e)
   else:
      ranAwayFight2(e)
      		

def wonbattle2(e):
	clearPicture(e)
	showMessage(e, ["....."])
	showPicture(e, "bw_endwalk1")	
	showMessage(e, ["...."])
	showPicture(e, "bw_endwalk2")
	showMessage(e, ["....."])	
	showPicture(e, "bw_endwalk3")
	showMessage(e, ["....."])		
	showPicture(e, "bw_endwalk4")	
	showMessage(e, ["...."])
	bwfinal = 2
	setTag(e, "bwfinal", bwfinal)
	magefight(e)
	

	
		
def magefight(e): 
   combat3Ret = combat(e, [("Summoner", 1, 0, 10)])
   if (combat3Ret == 1):
      wonbattle3(e)
   elif (combat3Ret == 3):
      lostFight3(e)
   else:
      ranAwayFight3(e)
 

def wonbattle3(e):
	showMessage(e, ["...."])
   	bwfinal = 3
   	setTag(e, "bwfinal", bwfinal)
   	vault(e)
   	
def vault(e):
	showMessage(e, ["....."])
	giveItems(e, ["Perfect Long Sword"])
   	bwfinal = 4
   	setTag(e, "bwfinal", bwfinal)
	end(e)
	
def end(e):
	setExit(e, "maps/bwquadrant4.cfg", 26, 15, 0)
	bwfinal = 9
	setTag(e, "bwfinal", bwfinal)        

	
      
def refusetofight(e):
	showMessage(e, ["...."])      
	showMessage(e, ["...."])
	showPicture(e, "Abeholder")
	showMessage(e, ["....."])	
	showMessage(e, ["....."])
	showPicture(e, "Summoner")
	showMessage(e, ["...."])
	showPicture(e, "Stone_Golem")
	showMessage(e, ["....."])
	showPicture(e, "Iron_Golem")
	showMessage(e, ["...."])	
	showPicture(e, "Abeholder")
	showMessage(e, ["....."])	
	bwfinal = 5
	setTag(e, "bwbasementend", bwbasementend)
	fightgolems(e)
	
      
####################		
def fightgolems(e): 
   combatgRet = combat(e, [("Stone Golem", 1, 1, 10)])
   if (combatgRet == 1):
      wonbattleg(e)
   elif (combatgRet == 3):
      lostFightg(e)
   else:
      ranAwayFightg(e)
I put some ####'s there to show you where the script stops working. (If you choose the "fight option" at the beginning, the script will shoot through 3 battles in a row with no problems, but if you choose "refuse to fight" it will go through the whole refusetofight section but will stop at the fightgolems section + won't let you fight...........

Oh and the numbers of monsters listed in this code are for testing purposes only. Wouldn't be too tough fighting ONE Senrat :o :wink:

Posted: Sun May 13, 2007 10:19 am
by origen
Running it through IDLE, I found a few syntax errors, which could cause the script to crap out.

Change these lines:

Code: Select all

def wonbattle3(e): 
   showMessage(e, ["...."]) 
      bwfinal = 3 
      setTag(e, "bwfinal", bwfinal) 
      vault(e) 
       
def vault(e): 
   showMessage(e, ["....."]) 
   giveItems(e, ["Perfect Long Sword"]) 
      bwfinal = 4 
      setTag(e, "bwfinal", bwfinal) 
   end(e) 
to this:

Code: Select all

def wonbattle3(e): 
   showMessage(e, ["...."]) 
   bwfinal = 3 
   setTag(e, "bwfinal", bwfinal) 
   vault(e) 
       
def vault(e): 
   showMessage(e, ["....."]) 
   giveItems(e, ["Perfect Long Sword"]) 
   bwfinal = 4 
   setTag(e, "bwfinal", bwfinal) 
   end(e) 
Not sure if that is the only error, but that is the only errors, I received, and everything else looks good from a quick glance.

Posted: Sun May 13, 2007 11:18 am
by dragonbait
must have been just the way I copied+pasted to the forums cause I actually have it listed the way you've shown in the actual file. must be something else. Or maybe the order that I have things listed?

YES!!!!!!!!!!!!!!!!!!!!!!!!!!

Posted: Sun May 13, 2007 3:05 pm
by dragonbait
I got it back to where I had it yesterday!!!!!.........A working script as described as above. There are a few minor issues with pictures popping up at wrong times when you try to run from battles. (example) if you try to run from the beholder, a screen comes up that says "you can't escape" but has a picture of a ghost instead of the beholder, etc. but other than that it works like a charm!!!!

I will just leave it as is for now since it works. I'll be focusing on the other minor battles throughout the last quadrant. Anyway here is the "working" final script............(minus the story lines.

Code: Select all

#bwfinal script
from eventAPI import *
from APIUtils import *
from SDLKeys import SDLK_f, SDLK_r
bwfinal = 0
def fireEvent(e):
    global bwfinal
    bwfinal = getTag(e, "bwfinal")
    if (bwfinal == 0):
        begin(e)
    elif (bwfinal == 1):
       	ratfight(e)
    elif (bwfinal == 2):
    	magefight(e)
    elif (bwfinal == 3):
    	vault(e)
    elif (bwfinal == 4):
    	end(e)    	
    elif (bwfinal == 5):
    	altmfight(e)
    else:
        return 1        
       
def begin(e):
    showPicture(e, "bw_cauldron")
    showMessage(e, ["....."])
    showMessage(e, ["....."])
    showMessage(e, ["......"])
    showPicture(e, "Abeholder")
    showMessage(e, ["......."])
    showMessage(e, ["......."])
    showPicture(e, "Ghost")
    showMessage(e, ["......"])
    showPicture(e, "Abeholder")
    showMessage(e, ["....."])
    showMessage(e, ["...."])
    showPicture(e, "Ghost")
    showMessage(e, ["....."])
    if (optionInput(e,
        ["","\"Won't you avenge my death?\""],
        ["(f)ight the beholder", "(r)efuse to fight"], [SDLK_f, SDLK_r]) == SDLK_f):
        setTag(e, "bwfinal", bwfinal)
        fightbeholder(e)
    else:
        refusetofight(e)
    return 1
    
 
def fightbeholder(e): 
   combatRet = combat(e, [("Beholder", 1, 0, 10)])
   if (combatRet == 1):
      wonbattle(e)
   elif (combatRet == 3):
      lostFight(e)
   else:  
      ranAwayFight(e)  

									      
def wonbattle(e):
	showMessage(e, ["....."])
	showMessage(e, ["....."])
	showPicture(e, "Summoner")
	showMessage(e, ["....."]) 
	showMessage(e, ["T...."])
	showMessage(e, ["....."])
	showMessage(e, ["....."])
	showMessage(e, ["......"])		
	showPicture(e, "Senrat")
	showMessage(e, ["....."])
	showMessage(e, ["....."])
	bwfinal = 1
	setTag(e, "bwfinal", bwfinal)
	ratfight(e)
	
	
		
def ratfight(e): 
   combat2Ret = combat(e, [("Senrat", 1, 0, 10)])
   if (combat2Ret == 1):
      wonbattle2(e)
   elif (combat2Ret == 3):
      lostFight2(e)
   else:
      ranAwayFightrt(e)
      		

def wonbattle2(e):
	clearPicture(e)
	showMessage(e, ["....e."])
	showPicture(e, "bw_endwalk1")	
	showMessage(e, ["...."])
	showPicture(e, "bw_endwalk2")
	showMessage(e, ["....."])	
	showPicture(e, "bw_endwalk3")
	showMessage(e, ["....."])		
	showPicture(e, "bw_endwalk4")	
	showMessage(e, ["....!"])
	bwfinal = 2
	setTag(e, "bwfinal", bwfinal)
	magefight(e)
	

	
		
def magefight(e): 
   combat3Ret = combat(e, [("Summoner", 1, 0, 10)])
   if (combat3Ret == 1):
      wonbattle3(e)
   elif (combat3Ret == 3):
      lostFight3(e)
   else:
      ranAwayFightmg(e)
 

def wonbattle3(e):
	showMessage(e, ["....."])
   	bwfinal = 3
   	setTag(e, "bwfinal", bwfinal)
   	vault(e)
   	
def vault(e):
	showMessage(e, ["....."])
	giveItems(e, ["Perfect Long Sword"])
   	bwfinal = 4
   	setTag(e, "bwfinal", bwfinal)
	end(e)
	
      
def end(e):
	setExit(e, "maps/bwquadrant4.cfg", 26, 15, 0)
	bwfinal = 9
	setTag(e, "bwfinal", bwfinal)
	
def refusetofight(e):
	showMessage(e, ["Y....."])      
	showMessage(e, ["......"])
	showPicture(e, "Abeholder")
	showMessage(e, ["....."])	
	showMessage(e, ["...."])
	showPicture(e, "Summoner")
	showMessage(e, ["...."])
	showPicture(e, "Stone_Golem")
	showMessage(e, ["....."])
	showPicture(e, "Iron_Golem")
	showMessage(e, ["...."])	
	showPicture(e, "Abeholder")
	showMessage(e, ["....."])	
	bwbasementend = 4
	setTag(e, "bwfinal", bwfinal)
	sgfight(e)

		
def sgfight(e): 
   combat2Ret = combat(e, [("Stone Golem", 1, 0, 10)])
   if (combat2Ret == 1):
      wonbattle4(e)
   elif (combat2Ret == 3):
      lostFight2(e)
   else:
      ranAwayFightsg(e)
	
def wonbattle4(e):
	showMessage(e, ["........"])		
	showPicture(e, "Summoner")	
	showMessage(e, ["....."])	
	bwfinal = 5
	setTag(e, "bwfinal", bwfinal)
	altmfight(e)

		
def altmfight(e): 
   combat2Ret = combat(e, [("Summoner", 1, 0, 10)])
   if (combat2Ret == 1):
      wonbattle5(e)
   elif (combat2Ret == 3):
      lostFight2(e)
   else:
      ranAwayFightam(e)
 
      
def wonbattle5(e):
	showPicture(e, "Abeholder")	
	showMessage(e, ["....."])		
	showMessage(e, ["....."])
	showPicture(e, "bw_endwalk1")
	showMessage(e, ["walking...."])
	showPicture(e, "bw_endwalk2")
	showMessage(e, ["you push open the door"])
	showPicture(e, "bw_endwalk3")
	showMessage(e, ["walking....."])		
	showPicture(e, "bw_endwalk4")
	showMessage(e, ["walking....."])		
   	bwbasementend = 3
   	setTag(e, "bwfinal", bwfinal)
	vault(e)
	
	
def ranAwayFightam(e):
    showMessage(e, ["You can't escape."])
    altmfight(e)
    
def ranAwayFightsg(e):
    showMessage(e, ["You can't escape."])
    sgfight(e) 
    
def ranAwayFightmg(e):
    showMessage(e, ["You can't escape."])
    magefight(e)
    
def ranAwayFightrt(e):
    showMessage(e, ["You can't escape."])
    ratfight(e)    
    
def ranAwayFight(e):
    showMessage(e, ["You can't escape."])
    fightbeholder(e)     
 
kickfrigginAmutherFR!!!! yeehaaah!!!! Hopefully everything else goes down as smooth as this one is now. :D

Re: YES!!!!!!!!!!!!!!!!!!!!!!!!!!

Posted: Sun May 13, 2007 3:09 pm
by dragonbait
[quote="dragonbait"]

Code: Select all

def wonbattle3(e):
	showMessage(e, ["....."])
   	bwfinal = 3
   	setTag(e, "bwfinal", bwfinal)
   	vault(e)
   	
def vault(e):
	showMessage(e, ["....."])
	giveItems(e, ["Perfect Long Sword"])
   	bwfinal = 4
   	setTag(e, "bwfinal", bwfinal)
	end(e)
	
Oh hey Origen.........for the lines above, they are written the way you had written them in your post, but for some reason they don't show correctly in the Devilwhiskey forums when I post it. ????? maybe there are some ghosts in the machine. :wink: Other than these lines not showing up correctly on the forums, the rest of everything works!! :D

Posted: Mon May 14, 2007 11:31 am
by origen
That could be caused if you are using a combination of spaces and tabs for your indentation. If that is the case, you should try to stick with one or the other for consistency. For my mods, I always indented by 4 spaces, and did not use tab at all.

"The Basement" DW mod Download

Posted: Tue May 15, 2007 4:48 pm
by dragonbait
Well here it is....... hopefully I've copied all of the required files to run the mod. Let me know if you find any bugs or just to say if you liked it or didn't. It was allot of fun making this DW mod. A BIG THANKS TO ORIGEN, RICKSTAVERN, HGAMER, and all else who helped me through this whole process. THANKS SO MUCH!!!!!!!! :D
and as always be sure to read the readme file first. Thanks

-Bri (dragonbait)

http://www.icestorm9999.com/downloads/basement.zip

basement update

Posted: Wed May 16, 2007 1:48 am
by dragonbait
edited:
updated the final battle script to increase the # of monsters in the final battle. Anyone that has downloaded the mod after 5:45AM already has the updated file. Thanks.