the basement

Discussion forum for Devil Whiskey 3rd Party MODS.

Moderator: Admin

User avatar
chaney
Stalker
Posts: 683
Joined: Tue Nov 08, 2005 9:51 am
Location: San Diego

Post by chaney »

Can we assume from the high level of your characters, that this is not a starter dungeon?
Bring on the Dancing Horses!
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

Post 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.
User avatar
Growler
Necrolord
Posts: 1740
Joined: Mon Feb 14, 2005 10:37 pm
Location: Sputnik
Contact:

Post by Growler »

What version of DW are ye using for yer mod?
No Contraries : No Progression.
Opposition is true friendship, unless one is opposed to true friendship or (try) Resisting here http://www.cafepress.com/notheresistor
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

Post by dragonbait »

version 2.0
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

Post 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?
User avatar
Growler
Necrolord
Posts: 1740
Joined: Mon Feb 14, 2005 10:37 pm
Location: Sputnik
Contact:

Post 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.
No Contraries : No Progression.
Opposition is true friendship, unless one is opposed to true friendship or (try) Resisting here http://www.cafepress.com/notheresistor
User avatar
chaney
Stalker
Posts: 683
Joined: Tue Nov 08, 2005 9:51 am
Location: San Diego

Post by chaney »

Yes it does. In the last fight in the guard tower, you have two fights in a row.
Bring on the Dancing Horses!
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

Post 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:
User avatar
origen
Dark Sidhe Lord
Posts: 903
Joined: Thu Feb 10, 2005 5:54 pm
Location: Secret League of Nirulat Headquarters
Contact:

Post 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.
I reject your reality, and substitute my own.
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

Post 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?
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

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

Post 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
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

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

Post 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
User avatar
origen
Dark Sidhe Lord
Posts: 903
Joined: Thu Feb 10, 2005 5:54 pm
Location: Secret League of Nirulat Headquarters
Contact:

Post 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.
I reject your reality, and substitute my own.
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

"The Basement" DW mod Download

Post 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
User avatar
dragonbait
Stalker
Posts: 775
Joined: Mon Apr 10, 2006 3:07 pm

basement update

Post 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.
Last edited by dragonbait on Fri Aug 03, 2007 1:02 pm, edited 1 time in total.
Post Reply