Hey guys,
I recently distributed some ship perks into Light repair and quick repair, but have found both to be quite useless, totally in fact!
Despite the misleading Perk descriptions, i find both repair methods to be disfunctional at the best of times, they only show up when they want to, for instance my companion ship has lost the same hp and sails as my ship yet only he has a repair option, where i have to bank myself into a reef until my sails and HP are below 60% just for Quick repair to show up .... when i do this all that happens is my sails get maybe 10% repaired, the hull doesen't repair at all despite having excessive amounts of cloth and Planks.
Also i tested this rigorously with a competent carpenter, executing Quick repair at approximately 60% or less HP-Sails only repairs either the sails or the hull (not both) and only 10%, while doing so it only uses 20 units of material out of a much larger supply.
Adding to this problem is the issue with Light repair, since i unlocked Quick repair, the option for Light repair never shows anymore, regardless of the ships integrity.
I am playing version 1.3 with no mods or anything installed, but i have located the source files that govern the repairs, which i guess are Utils.txt in which i find the following:
So can anyone help me with adjusting those values so i can use Quick/Light repair regardless of my ships condition, that would be great.
I recently distributed some ship perks into Light repair and quick repair, but have found both to be quite useless, totally in fact!
Despite the misleading Perk descriptions, i find both repair methods to be disfunctional at the best of times, they only show up when they want to, for instance my companion ship has lost the same hp and sails as my ship yet only he has a repair option, where i have to bank myself into a reef until my sails and HP are below 60% just for Quick repair to show up .... when i do this all that happens is my sails get maybe 10% repaired, the hull doesen't repair at all despite having excessive amounts of cloth and Planks.
Also i tested this rigorously with a competent carpenter, executing Quick repair at approximately 60% or less HP-Sails only repairs either the sails or the hull (not both) and only 10%, while doing so it only uses 20 units of material out of a much larger supply.
Adding to this problem is the issue with Light repair, since i unlocked Quick repair, the option for Light repair never shows anymore, regardless of the ships integrity.
I am playing version 1.3 with no mods or anything installed, but i have located the source files that govern the repairs, which i guess are Utils.txt in which i find the following:
//======================================================
// Fast repair
//======================================================
{
float ftmp1,ftmp2;
int nMaterialH = GetCargoGoods(chref,GOOD_PLANKS);
int nMaterialS = GetCargoGoods(chref,GOOD_SAILCLOTH);
int nMatDeltaH = 0;
int nMatDeltaS = 0;
string goodsName;
if(hpp < InstantRepairRATE && nMaterialH>0) // boal 23.01.2004
{
fRepairH = InstantRepairRATE - hpp; // boal 23.01.2004
if(fRepairH>BI_FAST_REPAIR_PERCENT) {fRepairH=BI_FAST_REPAIR_PERCENT;}
ftmp1 = GetHullPPP(chref);
ftmp2 = fMaterialH + ftmp1*fRepairH;
if(ftmp2>nMaterialH)
{
fRepairH = (nMaterialH-fMaterialH)/ftmp1;
nMatDeltaH = nMaterialH;
fMaterialH = 0.0;
}
else
{
if(ftmp2>1.0)
{
nMatDeltaH = makeint(ftmp2);
fMaterialH = ftmp2 - nMatDeltaH;
}
}
hpp += ProcessHullRepair(chref,fRepairH);
}
if(spp < InstantRepairRATE && nMaterialS>0) // boal 23.01.2004
{
fRepairS = InstantRepairRATE -spp; // boal 23.01.2004
if(fRepairS>BI_FAST_REPAIR_PERCENT) {fRepairS=BI_FAST_REPAIR_PERCENT;}
ftmp1 = GetSailSPP(chref);
ftmp2 = fMaterialS + ftmp1*fRepairS;
if(ftmp2>nMaterialS) { fRepairS = (nMaterialS-fMaterialS)/ftmp1; }
fRepairS = ProcessSailRepair(chref,fRepairS);
if(fRepairS<=0.0)
{
nMatDeltaS = 0;
fMaterialS = 0.0;
nMaterialS = 0;
}
else
{
ftmp2 = fMaterialS + ftmp1*fRepairS;
if(ftmp2>1.0)
{
nMatDeltaS = makeint(ftmp2);
fMaterialS = ftmp2 - nMatDeltaS;
}
}
}
if(nMatDeltaH>0)
{
nMaterialH -= nMatDeltaH;
goodsName = Goods[GOOD_PLANKS].Name;
chref.Ship.Cargo.Goods.(goodsName) = nMaterialH;
chref.Ship.Cargo.Load = sti(chref.Ship.Cargo.Load) - sti(Goods[GOOD_PLANKS].Weight)*nMatDeltaH;
}
if(nMatDeltaS>0)
{
nMaterialS -= nMatDeltaS;
goodsName = Goods[GOOD_SAILCLOTH].Name;
chref.Ship.Cargo.Goods.(goodsName) = nMaterialS;
chref.Ship.Cargo.Load = sti(chref.Ship.Cargo.Load) - sti(Goods[GOOD_SAILCLOTH].Weight)*nMatDeltaS;
}
if(hpp < InstantRepairRATE && nMaterialH>0) // boal 23.01.2004
{ PostEvent("evntActionRepair",BI_FAST_REPAIR_PERIOD,"llff",chrIdx,1, fMaterialH,fMaterialS);
}
else
{ if(spp < InstantRepairRATE && nMaterialS>0) // boal 23.01.2004
{ PostEvent("evntActionRepair",BI_FAST_REPAIR_PERIOD,"llff",chrIdx,1, fMaterialH,fMaterialS);
}
else
{
// Fast repair
//======================================================
{
float ftmp1,ftmp2;
int nMaterialH = GetCargoGoods(chref,GOOD_PLANKS);
int nMaterialS = GetCargoGoods(chref,GOOD_SAILCLOTH);
int nMatDeltaH = 0;
int nMatDeltaS = 0;
string goodsName;
if(hpp < InstantRepairRATE && nMaterialH>0) // boal 23.01.2004
{
fRepairH = InstantRepairRATE - hpp; // boal 23.01.2004
if(fRepairH>BI_FAST_REPAIR_PERCENT) {fRepairH=BI_FAST_REPAIR_PERCENT;}
ftmp1 = GetHullPPP(chref);
ftmp2 = fMaterialH + ftmp1*fRepairH;
if(ftmp2>nMaterialH)
{
fRepairH = (nMaterialH-fMaterialH)/ftmp1;
nMatDeltaH = nMaterialH;
fMaterialH = 0.0;
}
else
{
if(ftmp2>1.0)
{
nMatDeltaH = makeint(ftmp2);
fMaterialH = ftmp2 - nMatDeltaH;
}
}
hpp += ProcessHullRepair(chref,fRepairH);
}
if(spp < InstantRepairRATE && nMaterialS>0) // boal 23.01.2004
{
fRepairS = InstantRepairRATE -spp; // boal 23.01.2004
if(fRepairS>BI_FAST_REPAIR_PERCENT) {fRepairS=BI_FAST_REPAIR_PERCENT;}
ftmp1 = GetSailSPP(chref);
ftmp2 = fMaterialS + ftmp1*fRepairS;
if(ftmp2>nMaterialS) { fRepairS = (nMaterialS-fMaterialS)/ftmp1; }
fRepairS = ProcessSailRepair(chref,fRepairS);
if(fRepairS<=0.0)
{
nMatDeltaS = 0;
fMaterialS = 0.0;
nMaterialS = 0;
}
else
{
ftmp2 = fMaterialS + ftmp1*fRepairS;
if(ftmp2>1.0)
{
nMatDeltaS = makeint(ftmp2);
fMaterialS = ftmp2 - nMatDeltaS;
}
}
}
if(nMatDeltaH>0)
{
nMaterialH -= nMatDeltaH;
goodsName = Goods[GOOD_PLANKS].Name;
chref.Ship.Cargo.Goods.(goodsName) = nMaterialH;
chref.Ship.Cargo.Load = sti(chref.Ship.Cargo.Load) - sti(Goods[GOOD_PLANKS].Weight)*nMatDeltaH;
}
if(nMatDeltaS>0)
{
nMaterialS -= nMatDeltaS;
goodsName = Goods[GOOD_SAILCLOTH].Name;
chref.Ship.Cargo.Goods.(goodsName) = nMaterialS;
chref.Ship.Cargo.Load = sti(chref.Ship.Cargo.Load) - sti(Goods[GOOD_SAILCLOTH].Weight)*nMatDeltaS;
}
if(hpp < InstantRepairRATE && nMaterialH>0) // boal 23.01.2004
{ PostEvent("evntActionRepair",BI_FAST_REPAIR_PERIOD,"llff",chrIdx,1, fMaterialH,fMaterialS);
}
else
{ if(spp < InstantRepairRATE && nMaterialS>0) // boal 23.01.2004
{ PostEvent("evntActionRepair",BI_FAST_REPAIR_PERIOD,"llff",chrIdx,1, fMaterialH,fMaterialS);
}
else
{
So can anyone help me with adjusting those values so i can use Quick/Light repair regardless of my ships condition, that would be great.