• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Vanilla Game: How to get Silverleaf (Danielle Sword)

CasanovaIV

Landlubber
Hello PiratesAhoy!,
I wanted to show a quick fix that I found out by myself how to obtain this Blade in the vanilla Game with only one small edit in the code.

latest

(Danielle Green carries this Blade at the later stages of the game)


Go to File /PROGRAM/QUESTS/quest_reaction.c
open with notepad or text editor.

replace
irand = rand(2); with
irand = rand(3);

Silverleaf.jpg


now there is a chance that silverleaf (Blade9) will be for sale at random stores or merchants just like schiavona or yatagan.

the reason the silverleaf blade didnt appear was because the random number calculated was only either 1 or 2. so Option 3 wich was Silverleaf was never choosen.

At this opportunity you can also add the other missing blades that are never for sale in the Game.

These are Blade8 (Maltese Knight Sword), Blade11 (Highlander), Blade12 (Dragons Tongue), Blade14 (Conquistador), Blade18 (Nicolas Sharps Saber), Blade20 (Squall), Blade21 (Falchion), Blade22 (Corsairs Pride) , Blade23 (Windmill Slayer / Don Quichotte Sword).

If you want all of them swords to appear in merchants inventorys the code would look something like this:

//
void GiveItemToTrader(aref ch)
{
int irand;
ref PChar;
PChar = GetMainCharacter();

DeleteAttribute(ch, "items");

TakeNItems(ch,"blade1", Rand(4)+1);
TakeNItems(ch,"blade2", Rand(4)+1);
TakeNItems(ch,"blade3", Rand(4)+1);
TakeNItems(ch,"blade4", Rand(10)+1);
TakeNItems(ch,"blade5", Rand(4)+1);

irand = rand(3);
if (irand == 1) { TakeNItems(ch,"blade6", Rand(1)+1);}
if (irand == 2) { TakeNItems(ch,"blade7", Rand(1)+1);}
if (irand == 3) { TakeNItems(ch,"blade9", Rand(1)+1);}

if (makeint(pchar.rank) >=8)
{
irand = rand(3);
if (irand == 1) { TakeNItems(ch,"blade10", Rand(1)+1);}
if (irand == 2) { TakeNItems(ch,"blade13", Rand(1)+1);}
if (irand == 3) { TakeNItems(ch,"blade8", Rand(1)+1);}

}
if (makeint(pchar.rank) >=12)
{
irand = rand(5);
if (irand == 1) { TakeNItems(ch,"blade15", Rand(1)+1);}
if (irand == 2) { TakeNItems(ch,"blade16", Rand(1)+1);}
if (irand == 3) { TakeNItems(ch,"blade11", Rand(1)+1);}
if (irand == 4) { TakeNItems(ch,"blade12", Rand(1)+1);}
if (irand == 5) { TakeNItems(ch,"blade14", Rand(1)+1);}
}
if (makeint(pchar.rank) >= 16)
{
irand = rand(5);
if (irand == 1) { TakeNItems(ch,"blade17", Rand(1)+1);}
if (irand == 2) { TakeNItems(ch,"blade19", Rand(1)+1);}
if (irand == 3) { TakeNItems(ch,"blade18", Rand(1)+1);}
if (irand == 4) { TakeNItems(ch,"blade20", Rand(1)+1);}
if (irand == 5) { TakeNItems(ch,"blade21", Rand(1)+1);}
}
if (makeint(pchar.rank) >= 20)
{
irand = rand(2);
if (irand == 1) { TakeNItems(ch,"blade22", Rand(1)+1);}
if (irand == 2) { TakeNItems(ch,"blade23", Rand(1)+1);}
}

//

You can either copy this cody by yourself into your quests_reactions.c or I will upload the edited file of quests_reactions.c here also. you only have to replace your original version of quests_reactions.c but first make a backup copy of the original file (as always)
 

Attachments

  • quests_reaction.c
    548.5 KB · Views: 1
Back
Top