It is currently 26 Apr 2024, 15:29
   
Text Size

How to only use certain sets in Shandalar

MicroProse's Shandalar Campaign Game, now with new cards & a new look!

Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins

How to only use certain sets in Shandalar

Postby Sefestis » 05 Jul 2015, 01:28

Hi,
I hope this hasn't be said before, but, I was wondering if someone would be willing to make a Mod/Version where the only cards in the game are from sets Alpha threw Onslaught Block/8th Edition (Pre-Modern).
I only want to play with the older cards and not the newer ones, and more than the cards in the base game.
Or if someone can tell me how to alter the game files to delete the Sets I dont want to use in game, that would also be fine as well. (I have no Programming/Code skills if that helps your answer choice).

Any English Version of Shandalar will do.
Thanks,
Matt
Last edited by Sefestis on 05 Jul 2015, 03:04, edited 1 time in total.
Sefestis
 
Posts: 2
Joined: 05 Jul 2015, 01:16
Has thanked: 0 time
Been thanked: 0 time

Re: How to only use certain sets in Shandalar

Postby Korath » 05 Jul 2015, 01:47

You can do this, with some amount of effort, by editing Shandalar.ini. There's a section that lets you disable individual cards.

Adding a feature to filter out whole sets is feasible, though not exactly a high priority. If you file a feature request in the bugtracker at the top of the screen I'll get around to it eventually.
User avatar
Korath
DEVELOPER
 
Posts: 3707
Joined: 02 Jun 2013, 05:57
Has thanked: 496 times
Been thanked: 1106 times

Re: How to only use certain sets in Shandalar

Postby Sefestis » 05 Jul 2015, 03:17

I have no idea what Im looking for or how to do this, So I will leave this up to you. :mrgreen:
Sefestis
 
Posts: 2
Joined: 05 Jul 2015, 01:16
Has thanked: 0 time
Been thanked: 0 time

Re: How to only use certain sets in Shandalar

Postby CirothUngol » 05 Jul 2015, 21:11

The CardIDs are still the same for all of the original cards in Shandalar (ie #952=Rubinia Soulsinger), so it's simply a matter of listing the Names or Numbers of every card above that ID# listed as 'coded' (I use the file 'prices.csv'). Paste the following code into a text file and save as 'shanExclude.cmd', then place it near your Shandalar install and run it:
Code: Select all
@ECHO OFF
SETLOCAL EnableExtensions DisableDelayedExpansion
:: shanExclude.cmd
:: outMode=0 for CardID, 1 for CardName
SET outMode=0
SET outFile=shanExclude.txt
SET lastCardID=952

SET cnt=0
SET shanPath=
FOR /R %%A IN (Shandalar.*exe) DO SET "shanPath=%%~dpsA"
IF NOT EXIST "%shanPath%Shandalar.exe" (
   ECHO Cannot find '%shanPath%Shandalar.exe'
   ECHO Please relocate %~nx0 and try again.
   GOTO :stop
)
IF NOT EXIST "%shanPath%prices.csv" (
   ECHO Attempting to create the file 'prices.csv'.
   ECHO Please verify it exists and try again.
   PUSHD "%shanPath%"
   Shandalar.exe --show-prices
   POPD
   GOTO :stop
)
REM.>"%outFile%"
FOR /F "usebackq skip=1 tokens=1-5 delims=," %%A IN ("%shanPath%prices.csv") DO (
   IF %%A GTR %lastCardID% (
      SET flag=
      IF /I "%%E" EQU "shandalar" SET flag=1
      IF /I "%%D" EQU "shandalar" SET flag=1
      IF DEFINED flag (
         TITLE %~n0: %%A %%B
         IF %outMode% EQU 0 ECHO %%A>>"%outFile%"
         IF %outMode% EQU 1 ECHO %%~B>>"%outFile%"
         SET /A cnt+=1
      )
   )
)
:stop
TITLE %~n0: Finished %cnt% cards added
ECHO Press any key to exit...
PAUSE >NUL
ENDLOCAL
EXIT /B 0
Just copy/paste the generated list 'shanExclude.txt' into 'Shandalar.ini'.
Change the variable 'outMode' to '0' for CardID, or '1' for CardName.
"I thought the day had brought enough horrors for our ragged band, but the night was far worse."
-Lucilde Fiksdotter


Shandalar 2012 Revisited
Magic: The Gathering Abandonware
User avatar
CirothUngol
Programmer
 
Posts: 431
Joined: 13 May 2009, 21:34
Location: Gulf Coast, Texas, USA
Has thanked: 106 times
Been thanked: 107 times

Re: How to only use certain sets in Shandalar

Postby Korath » 05 Jul 2015, 21:33

It'll take a fair bit more effort than that; the next thousand or so ids aren't sorted by set. I suspect they were whichever cards happened to be enabled when the Manalink 2000-card limit was worked around.

Which card is in which set can either be extracted from rarity.dat (see read_rarities() in drawcardlib/config.c), or - probably more easily - from parsing magic_updater/Manalink.csv.
User avatar
Korath
DEVELOPER
 
Posts: 3707
Joined: 02 Jun 2013, 05:57
Has thanked: 496 times
Been thanked: 1106 times

Re: How to only use certain sets in Shandalar

Postby CirothUngol » 09 Jul 2015, 03:03

Damn, I misunderstood the OP. I thought he wanted only the cards from the original Microprose game (the batch file lists all cards above #952). Sorry, guys.

You could probably use PDAnalyser to produce PlayDecks of all the Expansions from the file Manalink.csv (available in the \magic_updater\ folder of the latest patch) and get the desired list that way.

Just start PDAnalyser, select Manalink.csv, and choose the menu option Export\CSV to Expansion.
"I thought the day had brought enough horrors for our ragged band, but the night was far worse."
-Lucilde Fiksdotter


Shandalar 2012 Revisited
Magic: The Gathering Abandonware
User avatar
CirothUngol
Programmer
 
Posts: 431
Joined: 13 May 2009, 21:34
Location: Gulf Coast, Texas, USA
Has thanked: 106 times
Been thanked: 107 times

Re: How to only use certain sets in Shandalar

Postby gmzombie » 09 Jul 2015, 03:24

I actually thought of this as well and I think it would be cool someday when we have more cards in different sets. What korath has done here is nothing short of amazing and I can't wait to see what's next.
can I maze of ith your snowstorm?

http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
gmzombie
 
Posts: 857
Joined: 26 Feb 2009, 01:05
Location: Wyoming, Mi
Has thanked: 200 times
Been thanked: 51 times


Return to Shandalar

Who is online

Users browsing this forum: No registered users and 33 guests


Who is online

In total there are 33 users online :: 0 registered, 0 hidden and 33 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 33 guests

Login Form