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.
(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);
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)
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.
(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);
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)






