// ktxinc_tresor.nss
// par KorTeX
// version du 01/05/2007
/*
mettre la variable "TRESOR" / sVarTresor de la creature / du coffre
par defaut le coffre aura pour variable TRESOR_LOW et la créature
un trésor selon son niveau (voir tableau plus bas)
*/
// afin de passer outre ce système, on peut créer des variables
const int TRESOR_BOSS = 3;
const int TRESOR_HIGH = 2;
const int TRESOR_MED = 1;
const int TRESOR_LOW = 0;
// variable à enregistrer sur les éléments
const string sVarTresor = "TRESOR";
// ces variables servent à définir le type d'objets de la creature ou du contenant
// la création sera toujours aléatoire mais cantonnée à quelques types d'objets
// mettre une variable de type integer nommée "TRESOR_TYPE" / sVarTresorType
const int TRESOR_TYPE_MAGE = 1;
const int TRESOR_TYPE_BIJOU = 2;
const int TRESOR_TYPE_LIVRE = 3;
const string sVarTresorType = "TRESOR_TYPE";
// fonctions principales
// créer un tresors sur l'objet oCreature
/*
Tableau de pourcentage de chance d'avoir un objet selon les niveaux
___________________________
||niveau || pourcentage ||
||--------||--------------||
|| 1-3 || 50 % ||
|| 4-6 || 55 % ||
|| 7-8 || 60% ||
|| 9-10 || 70% ||
|| 11-12 || 75% ||
|| 13-14 || 85 % ||
|| 15-16 || 95 % ||
|| 17-20+ || 100 % ||
||------------------------||
Tableau de pourcentage de chance de valeur de trésor selon les niveaux
____________________________________________________________________
||Niveaux || 1 4 8 12 16 20 ++ ||
||------------||----------------------------------------------------||
||LOW || 90 80 70 60 45 15 ||
||MED || 10 19 29 35 40 40 ||
||HIGH || 00 01 01 05 10 35 ||
||BOSS || 00 00 00 00 05 10 ||
---------------------------------------------------------------------
*/
void KTXCreateTresorsOnPNJ (object oCreature);
void KTXCreateTresorsOnPlaceable (object oPlaceable);
void KTXCreateBossTresors(object oObjectTr);
void KTXCreateHighTresors(object oObjectTr);
void KTXCreateMedTresors(object oObjectTr);
void KTXCreateLowTresors(object oObjectTr);
void KTXCreateTresorItem (object ObjectTr, string sresref, int iStack = 1);
void KTXCreateLivreTresor(object oObjectTr, int itresor);
void KTXCreateMageTresor (object oObjectTr, int itresor);
// Fonctions secondaires
void KTXCreatePotion (object oObjectTr, int iTresor);
void KTXCreateParcho (object oObjectTr);
void KTXCreateMagique (object oObjectTr, int iTresor);
void KTXCreateBook (object oObjectTr, int iTresor);
void KTXCreateMiscItem (object oObjectTr, int iTresor);
void KTXCreateArme (object oObjectTr, int iTresor);
void KTXCreateArmor (object oObjectTr, int iTresor);
void KTXCreateKit (object oObjectTr, int iTresor);
void KTXCreateBijou (object oObjectTr, int iTresor);
// sous fonctions
void KTXCreateGrenade (object oObjectTr, int iTresor);
void KTXCreateArmeStack (object oObjectTr, int iTresor); // modifier les stacksize
void KTXCreateWeapon(object oObjectTr, int iTresor);
void KTXCreateLowArmor(object oObjectTr);
void KTXCreateMedArmor(object oObjectTr);
void KTXCreateHighArmor(object oObjectTr);
void KTXCreateBossArmor(object oObjectTr);
void KTXCreateLowKit (object oObjectTr);
void KTXCreateHighKit (object oObjectTr);
void KTXCreateLowBijou (object oObjectTr);
void KTXCreateMedBijou (object oObjectTr);
void KTXCreateHighBijou (object oObjectTr);
void KTXCreateBossBijou (object oObjectTr);
string ConvertInt(int iVal);
int GetTresorType (object oObjectControl);
int GetIsCoffreCanRespawn (object oCoffre);
/********************************************************************\
/********************LISTES FONCTIONS********************************\
\********************************************************************/
void KTXCreateTresorsOnPNJ(object oCreature)
{
// on vérifie la variable sur le PNJ
int iTresors;
int iVariable = GetLocalInt (oCreature, sVarTresor);
if (iVariable == 3) iTresors = 17;
else if (iVariable == 2) iTresors = 12 ;
else if (iVariable == 1) iTresors = 7;
else if (iVariable == 0) iTresors = GetHitDice (oCreature);
int iDes = Random(100)+1;
int iContinue = TRUE;
// test du pourcentage de chance d'avoir un tresor
if (iTresors < 4) if (iDes <= 50) iContinue = FALSE;
else if (iTresors < 7) if (iDes <= 45) iContinue = FALSE;
else if (iTresors < 9) if (iDes <= 40) iContinue = FALSE;
else if (iTresors < 11) if (iDes <= 30) iContinue = FALSE;
else if (iTresors < 13) if (iDes <= 25) iContinue = FALSE;
else if (iTresors < 15) if (iDes <= 15) iContinue = FALSE;
else if (iTresors < 17) if (iDes <= 5) iContinue = FALSE;
// si niveau de 17 ou plus 100 % de chance donc pas de test
int ValueTresor = GetLocalInt (oCreature, "GoldTresor");
if ((iTresors < 7)&&(ValueTresor > 6)) iContinue = FALSE;
else if ((iTresors < 12)&&(ValueTresor > 60)) iContinue = FALSE;
else if ((iTresors < 17)&&(ValueTresor > 650)) iContinue = FALSE;
else if (ValueTresor > 1300) iContinue = FALSE;
if (iContinue == FALSE) return;
// ici on regarde quel qualité de trésor sera tiré
iDes = Random(100)+1;
if (iTresors < 5)
{
if (iDes < 91) KTXCreateLowTresors (oCreature);
else KTXCreateMedTresors (oCreature);
}
else if (iTresors < 9)
{
if (iDes < 81) KTXCreateLowTresors (oCreature);
else if (iDes < 100) KTXCreateMedTresors (oCreature);
else if (iDes == 100) KTXCreateHighTresors (oCreature);
}
else if (iTresors < 13)
{
if (iDes < 71) KTXCreateLowTresors (oCreature);
else if (iDes < 100) KTXCreateMedTresors (oCreature);
else if (iDes == 100) KTXCreateHighTresors (oCreature);
}
else if (iTresors < 17)
{
if (iDes < 61) KTXCreateLowTresors (oCreature);
else if (iDes < 96) KTXCreateMedTresors (oCreature);
else if (iDes >= 96) KTXCreateHighTresors (oCreature);
}
else if (iTresors < 21)
{
if (iDes < 46) KTXCreateLowTresors (oCreature);
else if (iDes < 86) KTXCreateMedTresors (oCreature);
else if (iDes < 96) KTXCreateHighTresors (oCreature);
else KTXCreateBossTresors (oCreature);
}
else if (iTresors >= 21)
{
if (iDes < 16) KTXCreateLowTresors (oCreature);
else if (iDes < 56) KTXCreateMedTresors (oCreature);
else if (iDes < 91) KTXCreateHighTresors (oCreature);
else if (iDes >= 91) KTXCreateBossTresors (oCreature);
}
}
/* crée un objet dans l'inventaire d'un placeale, en fonction de la variable
// "TRESOR" enregistée. Si aucune variable de ce type est enregistrée
// regarde si la zone possède cette variable.
// par défaut TRESOR_LOW est utilisé
Tableau de pourcentage de chance de valeur de trésor selon les variables enregistrées
________________________________________________________
||TYPES variables || LOW MED HIGH BOSS ||
||produits -------||-----------------------------------||
||-----------------------------------------------------||
||LOW ------ || 90 15 05 05 ||
||MED ------ || 10 80 30 10 ||
||HIGH ------ || 00 05 60 35 ||
||BOSS ------ || 00 00 05 50 ||
-------------------------------------------------------- */
void KTXCreateTresorsOnPlaceable (object oPlaceable)
{
int iTresors = GetLocalInt (oPlaceable, sVarTresor);
if (iTresors == 0) iTresors = GetLocalInt (GetArea(oPlaceable),sVarTresor);
int iContinue = TRUE;
int ValueTresor = GetLocalInt (oPlaceable, "GoldTresor");
if ((iTresors == TRESOR_LOW)&&(ValueTresor > 6)) iContinue = FALSE;
else if ((iTresors == TRESOR_MED)&&(ValueTresor > 60)) iContinue = FALSE;
else if ((iTresors == TRESOR_HIGH)&&(ValueTresor> 650)) iContinue = FALSE;
else if (ValueTresor> 1300) iContinue = FALSE;
if (iContinue == FALSE) return;
int iDes = Random(100)+1;
if (iTresors == TRESOR_LOW)
{
if (iDes < 91) KTXCreateLowTresors (oPlaceable);
else KTXCreateMedTresors (oPlaceable);
}
else if (iTresors == TRESOR_MED)
{
if (iDes < 16) KTXCreateLowTresors (oPlaceable);
else if (iDes < 96) KTXCreateMedTresors (oPlaceable);
else KTXCreateHighTresors (oPlaceable);
}
else if (iTresors == TRESOR_HIGH)
{
if (iDes < 6) KTXCreateLowTresors (oPlaceable);
else if (iDes < 36) KTXCreateMedTresors (oPlaceable);
else if (iDes < 96) KTXCreateHighTresors (oPlaceable);
else if (iDes >= 96) KTXCreateBossTresors (oPlaceable);
}
else if (iTresors == TRESOR_BOSS)
{
if (iDes < 6) KTXCreateLowTresors (oPlaceable);
else if (iDes < 16) KTXCreateMedTresors (oPlaceable);
else if (iDes < 51) KTXCreateHighTresors (oPlaceable);
else if (iDes >= 51) KTXCreateBossTresors (oPlaceable);
}
}
/*Tableau de composition de tresor selon leur valeur type
____________________________________________________________________________________________
Type || armes armures potions livres bijoux magique misc kit parchemin ||
LOW || 10 10 20 00 10 04 31 15 00 ||
MED || 10 10 16 10 15 05 15 15 04 ||
HIGH || 15 10 10 10 25 10 05 05 10 ||
BOSS || 20 20 05 05 25 10 05 00 10 ||
-------------------------------------------------------------------------------------------- */
void KTXCreateBossTresors(object oObjectTr)
{
// contrôle si un type de tresor paticulier est défini sur l'objet
if (GetTresorType(oObjectTr) == TRESOR_TYPE_MAGE)
{
KTXCreateMageTresor (oObjectTr, TRESOR_BOSS);
return;
}
if (GetTresorType(oObjectTr) == TRESOR_TYPE_BIJOU)
{
KTXCreateBijou (oObjectTr,TRESOR_BOSS);
return;
}
if (GetTresorType(oObjectTr) == TRESOR_TYPE_LIVRE)
{
KTXCreateLivreTresor (oObjectTr, TRESOR_BOSS);
return;
}
int iJet = Random(100)+1;
if (iJet <= 20) KTXCreateArme (oObjectTr, TRESOR_BOSS);
else if (iJet <= 40) KTXCreateArmor (oObjectTr, TRESOR_BOSS);
else if (iJet <= 45) KTXCreatePotion (oObjectTr,TRESOR_BOSS);
else if (iJet <= 50) KTXCreateBook (oObjectTr, TRESOR_BOSS);
else if (iJet <= 75) KTXCreateBijou (oObjectTr, TRESOR_BOSS);
else if (iJet <= 85) KTXCreateMagique (oObjectTr, TRESOR_BOSS);
else if (iJet <= 90) KTXCreateMiscItem (oObjectTr, TRESOR_BOSS);
else KTXCreateParcho (oObjectTr);
}
void KTXCreateHighTresors(object oObjectTr)
{
// contrôle si un type de tresor paticulier est défini sur l'objet
if (GetTresorType(oObjectTr) == TRESOR_TYPE_MAGE)
{
KTXCreateMageTresor (oObjectTr, TRESOR_HIGH);
return;
}
if (GetTresorType(oObjectTr) == TRESOR_TYPE_BIJOU)
{
KTXCreateBijou (oObjectTr,TRESOR_HIGH);
return;
}
if (GetTresorType(oObjectTr) == TRESOR_TYPE_LIVRE)
{
KTXCreateLivreTresor (oObjectTr, TRESOR_HIGH);
return;
}
int iJet = Random(100)+1;
if (iJet <= 15) KTXCreateArme (oObjectTr, TRESOR_HIGH);
else if (iJet <= 25) KTXCreateArmor (oObjectTr, TRESOR_HIGH);
else if (iJet <= 35) KTXCreatePotion (oObjectTr, TRESOR_HIGH);
else if (iJet <= 45) KTXCreateBook (oObjectTr, TRESOR_HIGH);
else if (iJet <= 70) KTXCreateBijou (oObjectTr, TRESOR_HIGH);
else if (iJet <= 80) KTXCreateMagique (oObjectTr, TRESOR_HIGH);
else if (iJet <= 85) KTXCreateMiscItem (oObjectTr, TRESOR_HIGH);
else if (iJet <= 90) KTXCreateKit (oObjectTr, TRESOR_HIGH);
else KTXCreateParcho (oObjectTr);
}
void KTXCreateMedTresors(object oObjectTr)
{
// contrôle si un type de tresor paticulier est défini sur l'objet
if (GetTresorType(oObjectTr) == TRESOR_TYPE_MAGE)
{
KTXCreateMageTresor (oObjectTr, TRESOR_MED);
return;
}
if (GetTresorType(oObjectTr) == TRESOR_TYPE_BIJOU)
{
KTXCreateBijou (oObjectTr,TRESOR_MED);
return;
}
if (GetTresorType(oObjectTr) == TRESOR_TYPE_LIVRE)
{
KTXCreateLivreTresor (oObjectTr, TRESOR_MED);
return;
}
int iJet = Random(100)+1;
if (iJet <= 10) KTXCreateArme (oObjectTr, TRESOR_MED);
else if (iJet <= 20) KTXCreateArmor (oObjectTr, TRESOR_MED);
else if (iJet <= 36) KTXCreatePotion (oObjectTr, TRESOR_MED);
else if (iJet <= 46) KTXCreateBook (oObjectTr, TRESOR_MED);
else if (iJet <= 61) KTXCreateBijou (oObjectTr, TRESOR_MED);
else if (iJet <= 66) KTXCreateMagique (oObjectTr, TRESOR_MED);
else if (iJet <= 81) KTXCreateMiscItem (oObjectTr, TRESOR_MED);
else if (iJet <= 96) KTXCreateKit (oObjectTr, TRESOR_MED);
else KTXCreateParcho (oObjectTr);
}
void KTXCreateLowTresors(object oObjectTr)
{
// contrôle si un type de tresor paticulier est défini sur l'objet
if (GetTresorType(oObjectTr) == TRESOR_TYPE_MAGE)
{
KTXCreateMageTresor (oObjectTr, TRESOR_LOW);
return;
}
if (GetTresorType(oObjectTr) == TRESOR_TYPE_BIJOU)
{
KTXCreateBijou (oObjectTr,TRESOR_LOW);
return;
}
if (GetTresorType(oObjectTr) == TRESOR_TYPE_LIVRE)
{
KTXCreateLivreTresor (oObjectTr, TRESOR_LOW);
return;
}
int iJet = Random(100)+1;
if (iJet <= 10) KTXCreateArme (oObjectTr, TRESOR_LOW);
else if (iJet <= 20) KTXCreateArmor (oObjectTr, TRESOR_LOW);
else if (iJet <= 40) KTXCreatePotion (oObjectTr, TRESOR_LOW);
else if (iJet <= 50) KTXCreateBijou (oObjectTr, TRESOR_LOW);
else if (iJet <= 55) KTXCreateMagique (oObjectTr, TRESOR_LOW);
else if (iJet <= 85) KTXCreateMiscItem (oObjectTr, TRESOR_LOW);
else KTXCreateMiscItem (oObjectTr, TRESOR_LOW);
}
void KTXCreateTresorItem (object ObjectTr, string sresref, int iStack = 1)
{
int iGoldValue = GetLocalInt (ObjectTr, "GoldTresor");
object oItemCreate = CreateItemOnObject (sresref, ObjectTr, iStack);
int iGold = GetGoldPieceValue (oItemCreate);
iGoldValue = iGoldValue + iGold;
SetLocalInt (ObjectTr, "GoldTresor", iGoldValue);
SetDroppableFlag(oItemCreate, TRUE);
if (iGold > 100) SetIdentified (oItemCreate, FALSE);
//SetPickpocketableFlag (oItemCreate, TRUE); // attendre patch correctif
}
void KTXCreateLivreTresor(object oObjectTr, int itresor)
{
int iRandTresor = Random (2);
if (iRandTresor == 1) KTXCreateBook (oObjectTr, itresor);
else KTXCreateParcho (oObjectTr);
}
void KTXCreateMageTresor (object oObjectTr, int itresor) // à faire
{
int iRandTresor = Random (3);
if (iRandTresor == 1) KTXCreatePotion (oObjectTr,itresor);
else if (iRandTresor == 2) KTXCreateMagique (oObjectTr,itresor);
else KTXCreateParcho (oObjectTr);
}
/************************************************************************\
/*********************** FONCTIONS SECONDAIRES **************************\
\************************************************************************/
void KTXCreatePotion (object oObjectTr, int iTresor)
{
string sresref;
int iRand;
if (iTresor = TRESOR_LOW)
{
iRand = Random(29) +1;
switch (iRand)
{
case 1 : sresref = "ktxalcool"; break;
case 2 : sresref = "ktxbiere"; break;
case 3 : sresref = "ktxbierenaine"; break;
case 4 : sresref = "ktxcidre"; break;
case 5 : sresref = "ktxvin"; break;
case 6 : sresref = "ktx_gourdeeau"; break;
case 7 : sresref = "nw_it_mpotion009"; break;
case 8 : sresref = "n2_it_mpotion001"; break;
case 9 : sresref = "nw_it_mpotion005"; break;
case 10 : sresref = "nw_it_mpotion016"; break;
case 11 : sresref = "nw_it_mpotion011"; break;
case 12 : sresref = "nw_it_mpotion017"; break;
case 13 : sresref = "nw_it_mpotion018"; break;
case 14 : sresref = "nw_it_mpotion014"; break;
case 15 : sresref = "nw_it_mpotion013"; break;
case 16 : sresref = "nw_it_mpotion010"; break;
case 17 : sresref = "nw_it_mpotion015"; break;
case 18 : sresref = "nw_it_mpotion019"; break;
case 19 : sresref = "x2_it_mpotion002"; break;
case 20 : sresref = "nw_it_mpotion001"; break; // soins légers
case 21 : sresref = "nw_it_mpotion001"; break; // soins légers
case 22 : sresref = "nw_it_mpotion001"; break; // soins légers
case 23 : sresref = "nw_it_mpotion001"; break; // soins légers
case 24 : sresref = "nw_it_mpotion001"; break; // soins légers
case 25 : sresref = "ktxalcool"; break;
case 26 : sresref = "ktxbiere"; break;
case 27 : sresref = "ktxbierenaine"; break;
case 28 : sresref = "ktxcidre"; break;
case 29 : sresref = "ktxvin"; break;
}
}
else if (iTresor = TRESOR_MED)
{
iRand = Random(26) +1;
switch (iRand)
{
case 1 : sresref = "ktxalcool"; break;
case 2 : sresref = "ktxbiere"; break;
case 3 : sresref = "ktxbierenaine"; break;
case 4 : sresref = "ktxcidre"; break;
case 5 : sresref = "ktxvin"; break;
case 6 : sresref = "ktx_gourdeeau"; break;
case 7 : sresref = "nw_it_mpotion009"; break;
case 8 : sresref = "n2_it_mpotion001"; break;
case 9 : sresref = "nw_it_mpotion005"; break;
case 10 : sresref = "nw_it_mpotion016"; break;
case 11 : sresref = "nw_it_mpotion011"; break;
case 12 : sresref = "nw_it_mpotion017"; break;
case 13 : sresref = "nw_it_mpotion018"; break;
case 14 : sresref = "nw_it_mpotion020"; break; // soins modérés
case 15 : sresref = "nw_it_mpotion013"; break;
case 16 : sresref = "nw_it_mpotion010"; break;
case 17 : sresref = "nw_it_mpotion014"; break;
case 18 : sresref = "nw_it_mpotion019"; break;
case 19 : sresref = "x2_it_mpotion002"; break;
case 20 : sresref = "nw_it_mpotion001"; break; // soins légers
case 21 : sresref = "nw_it_mpotion015"; break;
case 22 : sresref = "nw_it_mpotion020"; break; // soins modérés
case 23 : sresref = "nw_it_mpotion020"; break; // soins modérés
case 24 : sresref = "nw_it_mpotion020"; break; // soins modérés
case 25 : sresref = "nw_it_mpotion020"; break; // soins modérés
case 26 : sresref = "nw_it_mpotion020"; break; // soins modérés
}
}
else if (iTresor = TRESOR_HIGH)
{
iRand = Random(25) +1;
switch (iRand)
{
case 1 : sresref = "ktx_gourdeeau"; break;
case 2 : sresref = "nw_it_mpotion009"; break;
case 3 : sresref = "n2_it_mpotion001"; break;
case 4 : sresref = "nw_it_mpotion005"; break;
case 5 : sresref = "nw_it_mpotion004"; break; // rapidité
case 6 : sresref = "nw_it_mpotion011"; break;
case 7 : sresref = "nw_it_mpotion017"; break;
case 8 : sresref = "nw_it_mpotion018"; break;
case 9 : sresref = "nw_it_mpotion020"; break; // soins modérés
case 10 : sresref = "nw_it_mpotion013"; break;
case 11 : sresref = "nw_it_mpotion010"; break;
case 12 : sresref = "nw_it_mpotion008"; break; // invisibilité
case 13 : sresref = "nw_it_mpotion019"; break;
case 14 : sresref = "nw_it_mpotion003"; break; // soins intensifs
case 15 : sresref = "nw_it_mpotion001"; break; // soins légers
case 16 : sresref = "nw_it_mpotion002"; break; // soins importants
case 17 : sresref = "nw_it_mpotion015"; break;
case 18 : sresref = "x2_it_mpotion002"; break;
case 19 : sresref = "nw_it_mpotion014"; break;
case 20 : sresref = "nw_it_mpotion016"; break;
case 21 : sresref = "nw_it_mpotion002"; break; // soins importants
case 22 : sresref = "nw_it_mpotion002"; break; // soins importants
case 23 : sresref = "nw_it_mpotion002"; break; // soins importants
case 24 : sresref = "nw_it_mpotion002"; break; // soins importants
case 25 : sresref = "nw_it_mpotion002"; break; // soins importants
}
}
else if (iTresor = TRESOR_BOSS)
{
iRand = Random(26) +1;
switch (iRand)
{
case 1 : sresref = "ktx_gourdeeau"; break;
case 2 : sresref = "nw_it_mpotion009"; break;
case 3 : sresref = "n2_it_mpotion001"; break;
case 4 : sresref = "nw_it_mpotion005"; break;
case 5 : sresref = "nw_it_mpotion004"; break; // rapidité
case 6 : sresref = "nw_it_mpotion011"; break;
case 7 : sresref = "nw_it_mpotion017"; break;
case 8 : sresref = "nw_it_mpotion018"; break;
case 9 : sresref = "nw_it_mpotion020"; break; // soins modérés
case 10 : sresref = "nw_it_mpotion013"; break;
case 11 : sresref = "nw_it_mpotion010"; break;
case 12 : sresref = "nw_it_mpotion008"; break; // invisibilité
case 13 : sresref = "nw_it_mpotion019"; break;
case 14 : sresref = "nw_it_mpotion003"; break; // soins intensifs
case 15 : sresref = "nw_it_mpotion001"; break; // soins légers
case 16 : sresref = "nw_it_mpotion002"; break; // soins importants
case 17 : sresref = "nw_it_mpotion015"; break;
case 18 : sresref = "nw_it_mpotion012"; break; // guérison supr
case 19 : sresref = "x2_it_mpotion002"; break;
case 20 : sresref = "nw_it_mpotion014"; break;
case 21 : sresref = "nw_it_mpotion016"; break;
case 22 : sresref = "nw_it_mpotion003"; break; // soins intensifs
case 23 : sresref = "nw_it_mpotion003"; break; // soins intensifs
case 24 : sresref = "nw_it_mpotion003"; break; // soins intensifs
case 25 : sresref = "nw_it_mpotion003"; break; // soins intensifs
case 26 : sresref = "nw_it_mpotion003"; break; // soins intensifs
}
}
}
void KTXCreateParcho (object oObjectTr)
{
string sresref;
int iRand = Random(73) +1;
switch (iRand)
{
case 1 : sresref = "n2_it_sparscr" + ConvertInt(Random(4)+1) ; break;
case 2 : sresref = "n2_it_sparscr" + ConvertInt (Random(16)+6); break;
case 3 : sresref = "n2_it_sparscr025"; break;
case 4 : sresref = "n2_it_sparscr026"; break;
case 5 : sresref = "n2_it_sparscr" + ConvertInt (Random(8)+28); break;
case 6 : sresref = "x2_it_sparscr105"; break;
case 7 : sresref = "x2_it_sparscr" + ConvertInt (Random(3)+201); break;
case 8 : sresref = "x2_it_sparscr205"; break;
case 9 : sresref = "x2_it_sparscr206"; break;
case 10 : sresref = "x2_it_sparscr" + ConvertInt (Random(5)+301); break;
case 11 : sresref = "x2_it_sparscr401"; break;
case 12 : sresref = "x2_it_sparscr601"; break;
case 13 : sresref = "x2_it_sparscr602"; break;
case 14 : sresref = "x2_it_sparscr703"; break;
case 15 : sresref = "nw_it_sparscr" + ConvertInt (Random(5)+1); break;
case 16 : sresref = "x2_it_spdvscr001"; break;
case 17 : sresref = "x2_it_spdvscr002"; break;
case 18 : sresref = "x2_it_spdvscr" + ConvertInt (Random(6)+102); break;
case 19 : sresref = "x2_it_spdvscr" + ConvertInt (Random(5)+201); break;
case 20 : sresref = "x2_it_spdvscr301"; break;
case 21 : sresref = "x2_it_spdvscr304"; break;
case 22 : sresref = "x2_it_spdvscr" + ConvertInt (Random(5)+306); break;
case 23 : sresref = "x2_it_spdvscr313"; break;
case 24 : sresref = "x2_it_spdvscr312"; break;
case 25 : sresref = "x2_it_spdvscr" + ConvertInt (Random(7)+401); break;
case 26 : sresref = "x2_it_spdvscr501"; break;
case 27 : sresref = "x2_it_spdvscr" + ConvertInt (Random(6)+503); break;
case 28 : sresref = "x2_it_spdvscr605"; break;
case 29 : sresref = "x2_it_spdvscr701"; break;
case 30 : sresref = "x2_it_spdvscr702"; break;
case 31 : sresref = "x2_it_spdvscr804"; break;
case 32 : sresref = "nw_it_sparscr218"; break;
case 33 : sresref = "nw_it_sparscr219"; break;
case 34 : sresref = "nw_it_sparscr220"; break;
case 35 : sresref = "nw_it_spdvscr201"; break;
case 36 : sresref = "nw_it_spdvscr203"; break;
case 37 : sresref = "nw_it_spdvscr204"; break;
case 38 : sresref = "nw_it_spdvscr301"; break;
case 39 : sresref = "nw_it_spdvscr302"; break;
case 40 : sresref = "nw_it_spdvscr401"; break;
case 41 : sresref = "nw_it_spdvscr402"; break;
case 42 : sresref = "nw_it_spdvscr501"; break;
case 43 : sresref = "nw_it_spdvscr701"; break;
case 44 : sresref = "nw_it_spdvscr702"; break;
case 45 : sresref = "x1_it_sparscr001"; break;
case 46 : sresref = "x1_it_sparscr002"; break;
case 47 : sresref = "x1_it_sparscr201"; break;
case 48 : sresref = "x1_it_sparscr202"; break;
case 49 : sresref = "x1_it_sparscr301"; break;
case 50 : sresref = "x1_it_sparscr303"; break;
case 51 : sresref = "x1_it_sparscr401"; break;
case 52 : sresref = "x1_it_sparscr501"; break;
case 53 : sresref = "x1_it_sparscr601"; break;
case 54 : sresref = "x1_it_sparscr604"; break;
case 55 : sresref = "x1_it_sparscr605"; break;
case 56 : sresref = "nw_it_sparscr607"; break;
case 57 : sresref = "nw_it_sparscr608"; break;
case 58 : sresref = "nw_it_sparscr610"; break;
case 59 : sresref = "nw_it_sparscr612"; break;
case 60 : sresref = "nw_it_sparscr613"; break;
case 61 : sresref = "nw_it_sparscr614"; break;
case 62 : sresref = "nw_it_sparscr701"; break;
case 63 : sresref = "nw_it_sparscr908"; break;
case 64 : sresref = "x2_it_spdvscr" + ConvertInt (Random(3)+601); break;
case 65 : sresref = "nw_it_sparscr" + ConvertInt (Random(12)+101); break;
case 66 : sresref = "nw_it_sparscr" + ConvertInt (Random(13)+201); break;
case 67 : sresref = "nw_it_sparscr" + ConvertInt (Random(14)+301); break;
case 68 : sresref = "nw_it_sparscr" + ConvertInt (Random(7)+401); break;
case 69 : sresref = "nw_it_sparscr" + ConvertInt (Random(10)+409); break;
case 70 : sresref = "x1_it_sparscr" + ConvertInt (Random(4)+101); break;
case 71 : sresref = "nw_it_sparscr" + ConvertInt (Random(13)+501); break;
case 72 : sresref = "nw_it_sparscr" + ConvertInt (Random(5)+601); break;
case 73 : sresref = "nw_it_sparscr" + ConvertInt (Random(5)+703); break;
}
KTXCreateTresorItem (oObjectTr,sresref);
}
void KTXCreateMagique (object oObjectTr, int iTresor)
{
string sresref;
int iRand;
if (iTresor == TRESOR_LOW)
{
iRand = Random(21) +1;
switch (iRand)
{
case 1 : sresref = "nw_wmgwn014" ; break;// baguette de givre
case 2 : sresref = "nw_wmgwn013" ; break;// baguette convoc mineur (s3)
case 3 : sresref = "nw_wmgwn004" ; break;// baguette projectiles mag (s3)
case 4 : sresref = "nw_wmgwn012"; break; // baguette sommeil (s2)
case 5 : sresref = "nw_it_mneck023"; break; // collier scintillant
case 6 : sresref = "x1_it_spdvscr204"; break; // parch aura de gloire
case 7 : sresref = "nw_it_mring"+ConvertInt(9 + Random(3)) ; break;// anneau cyan / jade ou écarlate
case 8 : sresref = "x1_it_sparscr103" ; break;// parch bouclier
case 9 : sresref = "x1_it_spdvscr107"; break; // parch camouflage
case 10: sresref = "x2_it_spdvscr001"; break; // parchemins soins superficiels
case 11: sresref = "x2_it_spdvscr002"; break; // parch stimulant
case 12 : sresref = "nw_it_sparscr002"; break; // parch rayon de givre
case 13 : sresref = "nw_it_sparscr103"; break; // parch graisse
case 14 : sresref = "nw_it_sparscr218"; break; // parch dissip mineure
case 15 : sresref = "nw_it_sparscr110"; break; // parch couleurs dansantes
case 16 : sresref = "x1_it_spdvscr001"; break; // parch bless superficielles
case 17 : sresref = "x2_it_cfm_wand"; break; // baguette en os
case 18 : sresref = "x2_it_cfm_wand"; break; // baguette en os
case 19 : sresref = "x2_it_cfm_wand"; break; // baguette en os
case 20 : sresref = "x2_it_cfm_wand"; break; // baguette en os
case 21 : sresref = "x2_it_cfm_wand"; break; // baguette en os
}
}
else if (iTresor == TRESOR_MED)
{
int iRand = Random(24) +1;
switch (iRand)
{
case 1 : sresref = "nw_wmgwn008" ; break;// baguette convoc (s7)
case 2 : sresref = "nw_wmgmrd006" ; break;// sceptre givre (s1 illim)
case 3 : sresref = "nw_it_mglove004" ; break;// gants concentration
case 4 : sresref = "nw_it_sparscr211" ; break;// parch cécité
case 5 : sresref = "nw_wmgwn011" ; break;// baguette disjonction prof (s5)
case 6 : sresref = "nw_wmgwn" +ConvertInt(2+ Random(2)); break; // baguette feu (s5) ou baguette terreur (s5)
case 7 : sresref = "nw_wmgwn007" ; break;// baguette foudre (s5)
case 8 : sresref = "nw_it_sparscr107"; break; // parch Charme-personne
case 9 : sresref = "nw_wmgwn005" ; break;// baguette immobil (s7)
case 10 : sresref = "nw_wmgwn" +ConvertInt(9+ Random(2)); break; // baguette cieux (s7) ou baguette nauséabond (s5)
case 11 : sresref = "nw_it_contain"+ConvertInt(2+ Random(2)); break; // sac -20 ou -40
case 12 : sresref = "nw_it_mring031"; break; // anneau resist +1
case 13 : sresref = "nw_it_mneck024" ; break;// amulette VO+1
case 14 : sresref = "nw_it_mring024" ; break;// annaeau vig +1
case 15 : sresref = "x2_it_sparscr201" ; break;// parch combustion
case 16 : sresref = "n2_it_mring"+ ConvertInt(6+ Random(2)) ; break;// anneau puissance divine 1 ou anneau arcanes 1
case 17 : sresref = "nw_it_mring013"; break; // anneau érudit (lum + savoir +5)
case 18 : sresref = "x0_it_mglove001" ; break;// gantelets d'estimation
case 19 : sresref = "nw_it_mglove005" ; break;// gant ménestrel
case 20 : sresref = "nw_it_mglove003" ; break;// gant roublard
case 22 : sresref = "nw_it_mglove007" ; break;// gant art magie
case 23 : sresref = "nw_it_mglove009"; break; // gant parade
case 24 : sresref = "nw_it_sparscr105" ; break;// parch convoc créature 1
}
}
else if (iTresor == TRESOR_HIGH)
{
int iRand = Random(14) +1;
switch (iRand)
{
case 1 : sresref = "nw_wmgmrd004" ; break;// sceptre fascination (s7)
case 2 : sresref = "nw_wmgmrd003" ; break;// sceptre frayeur (s5)
case 3 : sresref = "nw_wmgrd002" ; break;// sceptre fantôme (s3 ix/j)
case 4 : sresref = " nw_wmgst002" ; break;// baton command (s7-immu)
case 5 : sresref = "nw_wmgst004" ; break;// baton def (s5 CA+2)
case 6 : sresref = "n2_it_mring002" ; break;// anneau puissance divine 2
case 7 : sresref = "n2_it_mring008"; break; // anneau arcanes 2
case 8 : sresref = "nw_it_mglove010"; break; // gant concentration sup
case 9 : sresref = "x0_maarcl025" ; break;// cape resist +1
case 10 : sresref = "nw_it_mglove015" ; break;// gant parade sup
case 11 : sresref = "nw_it_mbracer002" ; break;// bracelet armure +1 657
case 12 : sresref = "nw_it_mglove016" ; break;// gant de hin +1 951
case 13 : sresref = "nw_it_mboots010" ; break;// botte de réflexe +1 343
case 14 : sresref = "nw_maarcl096 " ; break;// cape de prtection Vs bien
}
}
else if (iTresor == TRESOR_BOSS)
{
int iRand = Random(16) +1;
switch (iRand)
{
case 1 : sresref = "nw_it_contain004" ; break; // sac -60
case 2 : sresref = "nw_it_contain006"; break; // sac -100
case 3 : sresref = "nw_wmgmrd005" ; break;// sceptre inversion (s7)
case 4 : sresref = "nw_wmgmrd002"; break; // sceptre resurr (s13)
case 5 : sresref = "nw_it_mneck025" ; break;// amulette VO+2
case 6 : sresref = "nw_it_mring032" ; break;// anneau resist +2
case 7 : sresref = "n2_it_mring009" ; break;// anneau arcanes 3
case 8 : sresref = "nw_it_mring025"; break; // anneau vig +2
case 9 : sresref = "n2_it_mring003" ; break;// anneau puissance divine 3
case 10 : sresref = "x0_maarcl026" ; break;// cape resist +2
case 11 : sresref = "nw_it_mbracer002" ; break;// bracelet armure +1 657
case 12 : sresref = "nw_it_mglove016" ; break;// gant de hin +1 951
case 13 : sresref = "nw_it_mboots010" ; break;// botte de réflexe +1 343
case 14 : sresref = "nw_maarcl096 " ; break;// cape de prtection Vs bien
case 15 : sresref = "nw_it_mglove015" ; break;// gant parade sup
case 16 : sresref = "nw_wmgst"+ ConvertInt(5+ Random(2)) ; break;// baton surpuissance (s5) ou baton sacré (s6)
}
}
KTXCreateTresorItem (oObjectTr,sresref);
}
void KTXCreateBook (object oObjectTr, int iTresor)
{
string sresref;
int iRand;
if ((iTresor == TRESOR_LOW)||(iTresor == TRESOR_MED))
{
iRand = Random(33) +1;
switch (iRand)
{
// livres
case 1 : sresref = "nw_it_book032"; break;
case 2 : sresref = "nw_it_book013"; break;
case 3 : sresref = "nw_it_book028"; break;
case 4 : sresref = "nw_it_book030" ;break;
case 5 : sresref = "nw_it_book002"; break;
case 6 : sresref = "nw_it_book001"; break;
case 7 : sresref = "nw_it_book015"; break;
case 8 : sresref = "nw_it_book004"; break;
case 9 : sresref = "nw_it_book027"; break;
case 10 : sresref = "nw_it_book024"; break;
case 11 : sresref = "nw_it_book007"; break;
case 12 : sresref = "nw_it_book008"; break;
case 13 : sresref = "nw_it_book005"; break;
case 14 : sresref = "nw_it_book006"; break;
case 15 : sresref = "nw_it_book014"; break;
case 16 : sresref = "nw_it_book009"; break;
case 17 : sresref = "nw_it_book023"; break;
case 18 : sresref = "nw_it_book018"; break;
case 19 : sresref = "nw_it_book010"; break;
case 20 : sresref = "nw_it_book025"; break;
case 21 : sresref = "nw_it_book019"; break;
case 22 : sresref = "nw_it_book003"; break;
case 23 : sresref = "nw_it_book029"; break;
case 24 : sresref = "nw_it_book031"; break;
case 25 : sresref = "nw_it_book026"; break;
case 26 : sresref = "nw_it_book012"; break;
case 27 : sresref = "nw_it_book021"; break;
case 28 : sresref = "nw_it_book016"; break;
case 29 : sresref = "nw_it_book017"; break;
case 30 : sresref = "nw_it_book022"; break;
case 31 : sresref = "nw_it_book030" ;break;
case 32 : sresref = "nw_it_book020"; break;
case 33 : sresref = "nw_it_book011"; break;
}
}
else if ((iTresor == TRESOR_HIGH)||(iTresor == TRESOR_BOSS))
{
iRand = Random(27) +1;
switch (iRand)
{
case 1 : sresref = "n2_crft_book_recipe003"; break;
case 2 : sresref = "n2_crft_book_recipe015"; break;
case 3 : sresref = "n2_crft_book_recipe008"; break;
case 4 : sresref = "n2_crft_book_recipe024"; break;
case 5 : sresref = "n2_crft_book_recipe018"; break;
case 6 : sresref = "n2_crft_book_recipe019"; break;
case 7 : sresref = "n2_crft_book_recipe013"; break;
case 8 : sresref = "n2_crft_book_recipe002"; break;
case 9 : sresref = "n2_crft_book_recipe001"; break;
case 10 : sresref = "n2_crft_book_recipe020"; break;
case 11 : sresref = "n2_crft_book_recipe021"; break;
case 12 : sresref = "n2_crft_book_recipe010"; break;
case 13 : sresref = "n2_crft_book_recipe027"; break;
case 14 : sresref = "n2_crft_book_recipe017"; break;
case 15 : sresref = "n2_crft_book_recipe028"; break;
case 16 : sresref = "n2_crft_book_recipe012"; break;
case 17 : sresref = "n2_crft_book_recipe029"; break;
case 18 : sresref = "n2_crft_book_recipe011"; break;
case 19 : sresref = "n2_crft_book_recipe016"; break;
case 20 : sresref = "n2_crft_book_recipe007"; break;
case 21 : sresref = "n2_crft_book_recipe005"; break;
case 22 : sresref = "n2_crft_book_recipe006"; break;
case 23 : sresref = "n2_crft_book_recipe023"; break;
case 24 : sresref = "n2_crft_book_recipe025"; break;
case 25 : sresref = "n2_crft_book_recipe004"; break;
case 26 : sresref = "n2_crft_book_recipe009"; break;
case 27 : sresref = "n2_crft_book_recipe014"; break;
}
}
KTXCreateTresorItem (oObjectTr,sresref);
}
void KTXCreateMiscItem (object oObjectTr, int iTresor)
{
string sresref;
int iRand;
if (iTresor == TRESOR_LOW)
{
iRand = Random(30) +1;
switch (iRand)
{
// < 50
case 1 : sresref = "ktx_fromage"; break; // nourriture
case 2 : sresref = "ktx_fruit"; break; // nourriture
case 3 : sresref = "ktx_jambonsale"; break; // nourriture
case 4 : sresref = "ktx_legume"; break; // nourriture
case 5 : sresref = "ktx_morceaupain"; break; // nourriture
case 6 : sresref = "ktx_boeufgrill"; break; // nourriture
case 7 : sresref = "ktx_tartefruit"; break; // nourriture
case 8 : sresref = "n2_it_stein"; break; // choppe
case 9 : sresref = "ktx_flute"; break; //flûte
case 10 : sresref = "ktx_luth"; break; // luth
case 11 : sresref = "nw_it_torch001"; break; // torch
case 12 : sresref = "x2_it_pcpotion"; break; // potion magique
case 13 : sresref = "nw_it_thnmisc001"; break; // Bouteille vide
case 14 : sresref = "x2_it_poison015"; break; // Venin d'abeille géante, peu virulent
case 15 : sresref = "nw_cloth009"; break; // Haillons de mendiant
case 16 : sresref = "shirt_fighter"; break; // Chemise simple
case 17 : sresref = "nw_wblcl001"; break; // gourdin
case 18 : sresref = "nw_it_medkit001"; break; // 1er secours +1
case 19 : sresref = "nw_it_mpotion001"; break; // potion soins légers
case 20 : sresref = "nw_it_msmlmisc24"; break; // ail
case 21 : sresref = "n2_crft_hideleather"; break; // cuir
case 22 : sresref = "n2_crft_plkwood"; break; // planche de bois
case 23 : sresref = "ktx_jambonsale"; break; // nourriture
case 24 : sresref = "ktx_morceaupain"; break; // nourriture
case 25 : sresref = "nw_it_mpotion001"; break; // potion soins légers
case 26 : sresref = "nw_it_mpotion001"; break; // potion soins légers
case 27 : sresref = "nw_it_medkit001"; break; // 1er secours +1
case 28 : sresref = "nw_it_mpotion001"; break; // potion soins légers
case 29 : sresref = "nw_it_mpotion001"; break; // potion soins légers
case 30 : sresref = "nw_it_mpotion001"; break; // potion soins légers
case 31 : sresref = "ktx_tambour"; break; //tambour
}
}
else if (iTresor == TRESOR_MED)
{
iRand = Random(30) +1;
switch (iRand)
{
// < 100
case 1 : sresref = "n2_crft_plkwood"; break; // planche de bois
case 2 : sresref = "nw_it_msmlmisc24"; break; // ail
case 3 : sresref = "n2_alc_disalcohol"; break; // alcool distillé
case 4 : sresref = "n2_alc_venomgland"; break; // glande à venin
case 5 : sresref = "ktxcampbaseitem1"; break; //campbase
case 6 : sresref = "ktxcampbaseitem2"; break; //campbase
case 7 : sresref = "ktxcampbaseitem3"; break; //campbase
case 8 : sresref = "n2_crft_hideleather"; break; // cuir
case 9 : sresref = "n2_crft_ingiron"; break; // lingôt de fer
case 10 : sresref = "n2_crft_plkdskwood"; break; // Planche de bois cendré
case 11 : sresref = "n2_alc_beegland"; break; // Glande à venin d’abeille géante
case 12 : sresref = "n2_alc_quicksilver"; break; // Vif-argent
case 13 : sresref = "n2_crft_dist005"; break; // Glande de scarabée
case 14 : sresref = "n2_crft_dist003"; break; // n2_crft_dist003
case 15 : sresref = "n2_crft_dist024"; break; // Peau de méphite enflammé
case 16 : sresref = "x2_it_cfm_wand"; break; // Baguette en os
case 17 : sresref = "x2_it_poison015"; break; // Venin d'abeille géante, peu virulent
case 18 : sresref = "x2_it_poison013"; break; // Venin de scorpion géant, peu virulent
case 21 : sresref = "ktx_fruit"; break; // nourriture
case 22 : sresref = "ktx_jambonsale"; break; // nourriture
case 23 : sresref = "ktx_legume"; break; // nourriture
case 24 : sresref = "nw_it_mpotion020"; break; // potion de soins modérés
case 25 : sresref = "nw_it_mpotion020"; break; // potion de soins modérés
case 26 : sresref = "nw_it_mpotion020"; break; // potion de soins modérés
case 27 : sresref = "nw_it_medkit002"; break; // trousse de soins +3
case 28 : sresref = "nw_it_medkit001"; break; // trousse de soins +1
case 29 : sresref = "nw_it_medkit001"; break; // trousse de soins +1
case 30 : sresref = "nw_it_medkit001"; break; // trousse de soins +1
}
}
else if (iTresor == TRESOR_HIGH)
{
iRand = Random(22) +1;
switch (iRand)
{
// < 250
case 1 : sresref = "n2_alc_powsilver"; break; // poudre d'argent
case 2 : sresref = "n2_crft_ingdrksteel"; break; // lingot sombracier
case 3 : sresref = "n2_crft_ingsilver"; break; // lingôt d'argent alchimique
case 4 : sresref = "n2_crft_hideumber"; break; // Peau d’ombre des roches
case 5 : sresref = "n2_crft_dist006"; break; // Abdomen de punaise de feu
case 6 : sresref = "n2_crft_dist036"; break; // Dent de loup sanguinaire
case 7 : sresref = "n2_crft_dist001"; break; // Pointe de lamelin
case 8 : sresref = "n2_crft_dist033"; break; // Sang de troll
case 9 : sresref = "cft_ess_air1"; break; // Essence d’air diffuse
case 10 : sresref = "cft_ess_water1"; break; // Essence d’eau diffuse
case 11 : sresref = "cft_ess_fire1"; break; // Essence de feu diffuse
case 12 : sresref = "cft_ess_power1"; break; // Essence de pouvoir diffuse
case 13 : sresref = "cft_ess_earth1"; break; // Essence de terre diffuse
case 14 : sresref = "n2_crft_ingmithral"; break; // Lingot de mithral
case 15 : sresref = "n2_crft_dist006"; break; // Abdomen de punaise de feu
case 16 : sresref = "n2_crft_plkzalantar"; break; // Planche de zalantar
case 17 : sresref = "n2_crft_dist007"; break; // Corne de charançon géant
case 18 : sresref = "n2_crft_dist002"; break; // Croc de chauve-souris
case 19 : sresref = "x2_it_poison027"; break; // Venin d'abeille géante, virulent
case 20 : sresref = "nw_it_medkit002"; break; // trousse de soins +3
case 21 : sresref = "nw_it_medkit002"; break; // trousse de soins +3
case 22 : sresref = "nw_it_medkit002"; break; // trousse de soins +3
}
}
else if (iTresor == TRESOR_BOSS)
{
iRand = Random(21) +1;
switch (iRand)
{
// < 500
case 1 : sresref = "cft_ess_fire2"; break; // Essence de feu mineure
case 2 : sresref = "cft_ess_water2"; break; // Essence d’eau mineure
case 3 : sresref = "cft_ess_air2"; break; // Essence d’air mineure
case 4 : sresref = "n2_crft_dist039"; break; // Ecailles de wiverne
case 5 : sresref = "n2_crft_dist005"; break; // Glande de scarabée
case 6 : sresref = "n2_crft_dist004"; break; // Griffe d’ours sanguinaire
case 7 : sresref = "n2_crft_dist038"; break; // Résidu d’âme-en-peine
case 8 : sresref = "cft_ess_fire2"; break; // Essence de feu mineure
case 9 : sresref = "cft_ess_power2"; break; // Essence de pouvoir mineure
case 10 : sresref = "cft_ess_earth2"; break; // Essence de terre mineure
case 11 : sresref = "x2_it_poison039"; break; // Venin d'abeille géante, mortel
case 12 : sresref = "n2_crft_dist026"; break; // Crâne d’ogre mage
case 13 : sresref = "n2_crft_dist009"; break; // Défense de gobelours
case 14 : sresref = "n2_crft_dist021"; break; // Dent de molosse satanique
case 15 : sresref = "nw_it_medkit003"; break; // trousse de soins +6
case 16 : sresref = "nw_it_medkit003"; break; // trousse de soins +6
case 17 : sresref = "nw_it_medkit003"; break; // trousse de soins +6
case 18 : sresref = "nw_it_mpotion002"; break; // potion soins importants
case 19 : sresref = "nw_it_mpotion002"; break; // potion soins importants
case 20 : sresref = "nw_it_mpotion002"; break; // potion soins importants
case 21 : sresref = "nw_it_mpotion002"; break; // potion soins importants
}
}
KTXCreateTresorItem (oObjectTr,sresref);
}
void KTXCreateArme (object oObjectTr, int iTresor)
{
int iRandomTres = Random (4);
if (iRandomTres == 1) KTXCreateGrenade (oObjectTr, iTresor);
else if (iRandomTres == 2) KTXCreateArmeStack (oObjectTr, iTresor);
else if (iRandomTres == 3)
{
if (iTresor > TRESOR_MED) KTXCreateWeapon (oObjectTr, iTresor);
else KTXCreateArmeStack (oObjectTr, iTresor);
}
else KTXCreateWeapon (oObjectTr, iTresor);
}
void KTXCreateArmor (object oObjectTr, int iTresor)
{
switch (iTresor)
{
case TRESOR_LOW : KTXCreateLowArmor(oObjectTr); break;
case TRESOR_MED : KTXCreateMedArmor(oObjectTr); break;
case TRESOR_HIGH : KTXCreateHighArmor(oObjectTr); break;
case TRESOR_BOSS : KTXCreateBossArmor(oObjectTr); break;
}
}
void KTXCreateKit (object oObjectTr, int iTresor)
{
if (iTresor < TRESOR_HIGH) KTXCreateLowKit (oObjectTr);
else KTXCreateHighKit (oObjectTr);
}
void KTXCreateBijou (object oObjectTr, int iTresor)
{
switch (iTresor)
{
case TRESOR_LOW : KTXCreateLowBijou(oObjectTr); break;
case TRESOR_MED : KTXCreateMedBijou(oObjectTr); break;
case TRESOR_HIGH : KTXCreateHighBijou(oObjectTr); break;
case TRESOR_BOSS : KTXCreateBossBijou(oObjectTr); break;
}
}