Aschbourne_PRC8/_module/nss/_cb_subrace.nss

710 lines
21 KiB
Plaintext
Raw Normal View History

2024-06-14 10:48:20 -04:00
//ColdBlade
//Subrace & Templates Function
//Copyright (c) 2002 by Coldblade
//V2.5.0
//-------------------------------------------------
//Jumped to version 2.5.0 because this would be a major core code rewrite.
//I have decided to separe the orginal three function from the Version 1.0.0
//into three separe files, one being the Raise/Lower Stats and Skills Include
//file, the other one would be this file being the Subrace and Templates Include
//Then the final one would be the Core which would worry about how to figure out
//which subrace the player is. This one is just for seting up the stat bonus
//and pentality plus other speical effects like the Drow's 11+Level Spell Resistance
//All subrace and template return that template or subrace ECL as a Integer.
//For certain speical effects that depends on day/night time cycle write it in
//a function
//when altering my name for relase be sure to change and correct the #includes.
#include "_cb_stat"
//--------------------------------------------
//Miscellanous Function To Support Subraces
//--------------------------------------------
int hitdicebonus(object cbObject)
{
int cbOld1 = GetLocalInt(cbObject, "CB_OLD1");
int cbOld2 = GetLocalInt(cbObject, "CB_OLD2");
int cbOld3 = GetLocalInt(cbObject, "CB_OLD3");
int cbNew1 = d2(GetLevelByPosition(1, cbObject)); //:: I'm not going to encourage this stupidity.
2024-06-14 10:48:20 -04:00
int cbNew2 = d2(GetLevelByPosition(2, cbObject));
int cbNew3 = d2(GetLevelByPosition(3, cbObject));
int cbClass1 = GetClassByPosition(1, cbObject);
int cbClass2 = GetClassByPosition(2, cbObject);
int cbClass3 = GetClassByPosition(3, cbObject);
//Due to the random nature of the randomizer and dice roll i'm going to setup
//a while that won't quit untill the new hitdice bonus is higher than the old
2024-06-14 10:48:20 -04:00
//by at minum 1 hp. Also check to make sure there's atleast one level in that
//class slot, if its zero then don't do it cos well it would just get stuck
//in a infine loop, not good!
if (!GetIsDM(cbObject))
{
if(GetLevelByPosition(1, cbObject) != 0)
{
while(cbOld1 > cbNew1)
{
cbNew1 = d2(GetLevelByPosition(1, cbObject));
}
}
if(GetLevelByPosition(2, cbObject) != 0)
{
while(cbOld2 > cbNew2)
{
cbNew2 = d2(GetLevelByPosition(2, cbObject));
}
}
if(GetLevelByPosition(3, cbObject) != 0)
{
while(cbOld3 > cbNew3)
{
cbNew3 = d2(GetLevelByPosition(3, cbObject));
}
}
//now if the class in any of the three avaiable slot is a barbarn then zero
//that slot out so the barbarn won't get the hp bonus but all the other class will.
if(cbClass1 == CLASS_TYPE_BARBARIAN) cbNew1 = 0;
if(cbClass2 == CLASS_TYPE_BARBARIAN || CLASS_TYPE_INVALID) cbNew2 = 0;
if(cbClass3 == CLASS_TYPE_BARBARIAN || CLASS_TYPE_INVALID) cbNew3 = 0;
}
//now to set the local int for the next levelup and also set the int for the bonus hp.
SetLocalInt(cbObject, "CB_OLD1", cbNew1);
SetLocalInt(cbObject, "CB_OLD2", cbNew2);
SetLocalInt(cbObject, "CB_OLD3", cbNew3);
return (cbNew1 + cbNew2 + cbNew3);
}
//------------------------------------
//Subrace
//------------------------------------
//Gold Dwarves.
//+2 Con, -2 Dex
//+1 Racial Bonus on attack verus Aberrations. (replace attack bonus verus orc/goblinoids)
int gold(object cbObject)
{
stat(6, 2, cbObject);
stat(2, 2, cbObject, FALSE);
//ditto how to replace the +1 racial bonus with the one verus aberration as stated in the description above.
return 0;
}
//Gray(Duergar) Dwarves
//+2 Con, -4 Cha
//Immune to Paralysis, Phantasms, Magic or Alchemical Poisons (not normal Poison)
//+4 racial bonus on move silently checks
//+1 to listen and spot checks.
//Light Sensitivity, upon dawn or daytime the Duergar Suffers a -2 Pentality on
// Attack Rolls, Saves, and checks (aka Skills).
//ECL +2
int gray(object cbObject)
{
stat(2, 6, cbObject, FALSE);
immunity(22, cbObject);
spellimmunity(151, cbObject);
spellimmunity(153, cbObject);
skills(4, 9, cbObject);
skills(1, 7, cbObject);
skills(1, 18, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
CreateItemOnObject("duergarspelllike",cbObject);
SendMessageToPC(cbObject,"You have the object for the Duergar Spell-Like Ability, Do not lose it!");
SetLocalInt(cbObject, "CB_ITEM", 1);
}*/
return 2;
}
//Shield Dwarves
//Standard Dwarves
int shield(object cbObject)
{
return 0;
}
//Drow
//+2 Dex, -2 Con, +2 Int, +2 Cha
//Darkvision (replaces Lowlight Vision)
//Light Blindness, Drow is blinded onice a day for one round, -1 pentality to
// attacks, saves, and skills.
//spell resistance of 11+Level
//+2 Racial Bonus to will saves verus spells.
//ECL +2
int drow(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
stat(2, 6, cbObject);
stat(2, 4, cbObject);
spellresistance(cbPClevel, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
CreateItemOnObject("drowspelllikeabi",cbObject);
SendMessageToPC(cbObject,"You have the object for the Drow Spell-Like Ability, Do not lose it!");
SetLocalInt(cbObject, "CB_ITEM", 1);
} */
return 2;
}
//Moon Elves
//standard elves.
int moon(object cbObject)
{
return 0;
}
//Sun Elves
//+2 Int, -2 Con
int sun(object cbObject)
{
stat(2, 4, cbObject);
stat(2, 2, cbObject, FALSE);
return 0;
}
//Wild Elves
//+2 Dex, -2 Int
int wild(object cbObject)
{
stat(2, 4, cbObject, FALSE);
return 0;
}
//Wood Elves
//+2 Str, +2 Dex, -2 Con, -2 Int, -2 Cha
int wood(object cbObject)
{
stat(2, 1, cbObject);
stat(2, 4, cbObject, FALSE);
stat(2, 6, cbObject, FALSE);
return 0;
}
//Deep(Svirfneblin) Gnome
//-2 Str, +2 Dex, +2 Wis, -4 Cha
//Darkvision
//Stonecunning
//Spellresistance 11+Level
//+4 dodge bonus verus all creatures.
//+2 racial bonus on all saving throws
//+2 racial bonus on hide check, which improves to +4 at night/dusk.
//ECL +3
int deep(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
spellresistance(cbPClevel, cbObject);
stat(2, 2, cbObject);
stat(2, 5, cbObject);
stat(2, 3, cbObject, FALSE);
stat(4, 6, cbObject, FALSE);
savingthrow(4, 2, 21, cbObject);
ac(4, 3, cbObject);
skills(4, 6, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
CreateItemOnObject("svirfneblinspell",cbObject);
SendMessageToPC(cbObject,"You have the object for the Svirfneblin Spell-Like Ability, Do not lose it!");
SetLocalInt(cbObject, "CB_ITEM", 1);
} */
return 3;
}
//Rock Gnomes
//Standard Gnomes
int rock(object cbObject)
{
return 0;
}
//Ghostwise Halfling
//Speak without Sound
//Does not recieve +1 saving bonus to saving throws.
int ghostwise(object cbObject)
{
return 0;
}
//Lightfoot Halfling
//standard halfling
int lightfoot(object cbObject)
{
return 0;
}
//Strongheart Halfling
//Recieve one extra feat at 1st level
//does not recieve +1 saving bonus to saving throws.
int strongheart(object cbObject)
{
return 0;
}
//------------------------------------------------
//Templates
//------------------------------------------------
//Aasimar
//+2 Wis, +2 Cha
//Acid, Cold, Electricity resistance 5/-
//+2 racial bonus to listen and spot check
//darkvision
//outsider
//ECL +1
int aasimar(object cbObject)
{
stat(2, 5, cbObject);
stat(2, 6, cbObject);
damageresistance(1, 5, 0, cbObject);
damageresistance(3, 5, 0, cbObject);
damageresistance(5, 5, 0, cbObject);
skills(2, 7, cbObject);
skills(2, 18, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
CreateItemOnObject("aasimarspelllike",cbObject);
SendMessageToPC(cbObject,"You have the object for the Aasimar Spell-Like Ability, Do not lose it!");
SetLocalInt(cbObject, "CB_ITEM", 1);
}*/
return 1;
}
//Tiefling
//+2 Dex, +2 Int, -2 Cha
//Fire, Cold, Electricity resistance 5/-
//+2 racial bonus on bluff and hide check
//outsider
//darkvision
//ECL +1
int tiefling(object cbObject)
{
stat(2, 2, cbObject);
stat(2, 4, cbObject);
stat(2, 6, cbObject, FALSE);
damageresistance(6, 5, 0, cbObject);
damageresistance(3, 5, 0, cbObject);
damageresistance(5, 5, 0, cbObject);
skills(2, 6, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
CreateItemOnObject("tieflingspelllik",cbObject);
SendMessageToPC(cbObject,"You have the object for the Tiefling Spell-Like Ability, Do not lose it!");
SetLocalInt(cbObject, "CB_ITEM", 1);
} */
return 1;
}
//Air Genasi
//+2 Dex, +2 Int, -2 Wis, -2 Cha
//darkvision
//outsider
//+1 saving throw to sonic effects, inreases every 5 level.
//ECL +1
int air(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
stat(2, 2, cbObject);
stat(2, 4, cbObject);
stat(2, 5, cbObject, FALSE);
stat(2, 6, cbObject, FALSE);
savingthrow(4, (1+(cbPClevel/5)), 18, cbObject, 1);
return 1;
}
//Earth Genasi
//+2 Str, +2 Con, -2 Wis, -2 Cha
//darkvision
//outsider
//+1 saving throw to acid effect, increase every 5 level.
//ECL +1
int earth(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
stat(2, 1, cbObject);
stat(2, 3, cbObject);
stat(2, 5, cbObject, FALSE);
stat(2, 6, cbObject, FALSE);
savingthrow(4, (1+(cbPClevel/5)), 1, cbObject, 1);
return 1;
}
//Fire Genasi
//+2 Int, -2 Cha
//darkvision
//outsider
//+1 saving throw to fire effect, increase every 5 level.
//ECL +1
int fire(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
stat(2, 4, cbObject);
stat(2, 6, cbObject, FALSE);
savingthrow(4, (1+(cbPClevel/5)), 11, cbObject, 1);
return 1;
}
//Water Genasi
//+2 Con, -2 Cha
//darkvision
//outsider
//+1 saving throw to cold effect, increase every 5 level.
//ECL +1
int water(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
stat(2, 3, cbObject);
stat(2, 6, cbObject, FALSE);
savingthrow(4, (1+(cbPClevel/5)), 4, cbObject, 1);
return 1;
}
//Celestial
//Darkvision
//Smite Evil
//Acid, Cold, Electricity resistance
//damage reduction
//spell resistance equal to double player level, caps at 25
//Level, A/C/E, DR, ECL
//1-3, 5/-, -, -
//4-7, 10/-, 5/+1, 1
//8-11, 15/-, 5/+2, 2
//12+, 20/-, 10/+3, 3
int celestial(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
int cbSR = 2 * cbPClevel;
if(cbSR == 25)
{
cbSR = 25;
}
spellresistance(cbSR, cbObject);
if((cbPClevel >= 1) && (cbPClevel <= 3))
{
damageresistance(1, 5, 0, cbObject);
damageresistance(3, 5, 0, cbObject);
damageresistance(5, 5, 0, cbObject);
return 0;
}
if((cbPClevel >= 4) && (cbPClevel <= 7))
{
damageresistance(1, 10, 0, cbObject);
damageresistance(3, 10, 0, cbObject);
damageresistance(5, 10, 0, cbObject);
damagereduction(5, 3, 0, cbObject);
return 1;
}
if((cbPClevel >= 8) && (cbPClevel <= 11))
{
damageresistance(1, 15, 0, cbObject);
damageresistance(3, 15, 0, cbObject);
damageresistance(5, 15, 0, cbObject);
damagereduction(5, 4, 0, cbObject);
return 2;
}
if(cbPClevel <= 12)
{
damageresistance(1, 20, 0, cbObject);
damageresistance(3, 20, 0, cbObject);
damageresistance(5, 20, 0, cbObject);
damagereduction(10, 5, 0, cbObject);
return 3;
}
return 0; //should never get here
}
//Fiendish
//Darkvision
//Smite Good
//Fire, Cold resistance
//damage reduction
//spell resistance equal to double player level, caps at 25
//Level, F/C, DR, ECL
//1-3, 5/-, -, -
//4-7, 10/-, 5/+1, 1
//8-11, 15/-, 5/+2, 2
//12+, 20/-, 10/+3, 3
int fiendish(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
int cbSR = 2 * cbPClevel;
if(cbSR == 25)
{
cbSR = 25;
}
spellresistance(cbSR, cbObject);
if((cbPClevel >= 1) && (cbPClevel <= 3))
{
damageresistance(6, 5, 0, cbObject);
damageresistance(3, 5, 0, cbObject);
return 0;
}
if((cbPClevel >= 4) && (cbPClevel <= 7))
{
damageresistance(6, 10, 0, cbObject);
damageresistance(3, 10, 0, cbObject);
damagereduction(5, 3, 0, cbObject);
return 1;
}
if((cbPClevel >= 8) && (cbPClevel <= 11))
{
damageresistance(6, 15, 0, cbObject);
damageresistance(3, 15, 0, cbObject);
damagereduction(5, 4, 0, cbObject);
return 2;
}
if(cbPClevel <= 12)
{
damageresistance(6, 20, 0, cbObject);
damageresistance(3, 20, 0, cbObject);
damagereduction(10, 5, 0, cbObject);
return 3;
}
return 0; //should never get here
}
//Half-Celestial
//75% chance of doubling the character speed and get a wing attached.
//Ac increase +1
//+4 Str, +2 Dex, +4 Con, +2 Int, +4 Wis, +4 Cha
//immune to acid, cold, disease, electricity
//+4 racial bonus to fort save verus poison.
//ECL +4
int halfcelestial(object cbObject)
{
stat(4, 1, cbObject);
stat(2, 2, cbObject);
stat(4, 3, cbObject);
stat(2, 4, cbObject);
stat(4, 5, cbObject);
stat(4, 6, cbObject);
ac(1, 2, cbObject);
savingthrow(1, 4, 16, cbObject);
int cbDice = d4(1);
if(cbDice = 1)
{
speed(200, cbObject);
}
damageimmunity(100, 1, cbObject, 1);
damageimmunity(100, 3, cbObject, 1);
damageimmunity(100, 5, cbObject, 1);
immunity(14, cbObject);
return 4;
}
//Half-Fiend
//Ac increase +1
//50% to multiple speed by 1.5 and get a wing attached
//darkvision
//+4 Str, +4 Dex, +2 Con, +4 Int, +0 Wis, +2 Cha
//immune to poison.
//acid cold electricity and fire resistance of 20/-
//ECL +4
int halffiend(object cbObject)
{
stat(4, 1, cbObject);
stat(4, 2, cbObject);
stat(4, 3, cbObject);
stat(4, 4, cbObject);
stat(4, 6, cbObject);
ac(1, 2, cbObject);
immunity(23, cbObject);
damageresistance(1, 20, 0, cbObject);
damageresistance(3, 20, 0, cbObject);
damageresistance(6, 20, 0, cbObject);
damageresistance(5, 20, 0, cbObject);
int cbDice = d4(1);
if(cbDice >= 2)
{
speed(150, cbObject);
}
return 4;
}
//Half-Dragon
//Hitdice Imcreases one dice type, to a max of 1d12
//Ac increase +4 Natural
//Type of dragon you are Depends on your aligment.
//+8 Str, +0 Dex, +2 Con, +2 Int, +0 Wis, +2 Cha
//Darkvision
//Immune sleep, paralysis.
//It checks your alignment so on then randomly select the dragon in that catalogry
//Chaotic Evil: Black, Red, White
//Lawful Evil: Blue, Green
//Chaotic Good: Brass, Copper
//Lawful Good: Bronze, Gold, Silver
//Then the immunity is set depending on your dragon type.
//Acid: Black, Green, Copper
//Cold: White, Silver
//Fire: Red, Brass, Gold
//Electricity: Blue, Bronze
//Then depending on your type of dragon it choice your dragon breath (cone only)
//Fire: Red, Brass, Gold
//Acid: Black, Copper
//Cold: White, Silver
//Electricity: Blue, Bronze
//Gas: Green
//ECL +5
int halfdragon(object cbObject)
{
int cbPClevel = GetLevelByPosition(1, cbObject) + GetLevelByPosition(2, cbObject) + GetLevelByPosition(3, cbObject);
int cbGoodEvil = GetAlignmentGoodEvil(cbObject);
int cbLawChaos = GetAlignmentLawChaos(cbObject);
int cbType1 = d2(1);
int cbType2 = d3(1);
ac(4, 4, cbObject);
stat(8, 1, cbObject);
stat(2, 3, cbObject);
stat(2, 4, cbObject);
stat(2, 6, cbObject);
immunity(27, cbObject);
immunity(22, cbObject);
//To simplefye the code a bit i set so that the hitdice bonus of the half-dragon update
//when the player reenter or dies and get resurrected.
hitpoint(hitdicebonus(cbObject), cbObject);
//Here we check your alignment and setup which dragon u get :)
//it checks only onice per game so if ur aligment shift u won't suddenly
//get a gold or say a red dragon for example it gives u one dragon type
//then it sticks with it for the rest of the game.
if(GetLocalInt(cbObject, "CB_CHECK") == 0)
{
if(cbGoodEvil == ALIGNMENT_EVIL && cbLawChaos == ALIGNMENT_LAWFUL)
{
switch(cbType1)
{
case 1: SetLocalInt(cbObject, "CB_DRAGON", 1); break; //Blue Half-Dragon
default: SetLocalInt(cbObject, "CB_DRAGON", 2); break; //Green Half-Dragon
}
}
if(cbGoodEvil == ALIGNMENT_EVIL && cbLawChaos == ALIGNMENT_CHAOTIC)
{
switch(cbType2)
{
case 1: SetLocalInt(cbObject, "CB_DRAGON", 3); break; //Black Half-Dragon
case 2: SetLocalInt(cbObject, "CB_DRAGON", 4); break; //Red Half-Dragon
default: SetLocalInt(cbObject, "CB_DRAGON", 5); break; //White Half-Dragon
}
}
if(cbGoodEvil == ALIGNMENT_GOOD && cbLawChaos == ALIGNMENT_LAWFUL)
{
switch(cbType1)
{
case 1: SetLocalInt(cbObject, "CB_DRAGON", 6); break; //Gold Half-Dragon
case 2: SetLocalInt(cbObject, "CB_DRAGON", 7); break; //Silver Half-Dragon
default: SetLocalInt(cbObject, "CB_DRAGON", 8); break; //Bronze Half-Dragon
}
}
if(cbGoodEvil == ALIGNMENT_GOOD && cbLawChaos == ALIGNMENT_CHAOTIC)
{
switch(cbType2)
{
case 1: SetLocalInt(cbObject, "CB_DRAGON", 9); break; //Brass Half-Dragon
default: SetLocalInt(cbObject, "CB_DRAGON", 10); break; //Copper Half-Dragon
}
}
SetLocalInt(cbObject, "CB_CHECK", 1);
}
switch(GetLocalInt(cbObject, "CB_DRAGON"))
{
case 1: //Blue Half-Dragon
damageimmunity(100, 5, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Blue Half-Dragon!");
CreateItemOnObject("bluehalfdragonbr",cbObject);
SendMessageToPC(cbObject,"You have the object for the Blue Half-Dragon Breathe Ability, Do not lose it!");
}*/
break;
case 2: //Green Half-Dragon
damageimmunity(100, 1, cbObject);
/* if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Green Half-Dragon!");
CreateItemOnObject("Greenhalfdragonb",cbObject);
SendMessageToPC(cbObject,"You have the object for the Green Half-Dragon Breathe Ability, Do not lose it!");
}*/
break;
case 3: //Black Half-Dragon
damageimmunity(100, 1, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Black Half-Dragon!");
CreateItemOnObject("blackhalfdragonb",cbObject);
SendMessageToPC(cbObject,"You have the object for the Black Half-Dragon Breathe Ability, Do not lose it!");
} */
break;
case 4: //Red Half-Dragon
damageimmunity(100, 6, cbObject);
/* if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Red Half-Dragon!");
CreateItemOnObject("Redhalfdragonbre",cbObject);
SendMessageToPC(cbObject,"You have the object for the Red Half-Dragon Breathe Ability, Do not lose it!");
}*/
break;
case 5: //White Half-Dragon
damageimmunity(100, 3, cbObject);
/* if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a White Half-Dragon!");
CreateItemOnObject("whitehalfdragonb",cbObject);
SendMessageToPC(cbObject,"You have the object for the White Half-Dragon Breathe Ability, Do not lose it!");
} */
break;
case 6: //Gold Half-Dragon
damageimmunity(100, 6, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Gold Half-Dragon!");
CreateItemOnObject("goldhalfdragonbr",cbObject);
SendMessageToPC(cbObject,"You have the object for the Gold Half-Dragon Breathe Ability, Do not lose it!");
} */
break;
case 7: //Silver Half-Dragon
damageimmunity(100, 3, cbObject);
/* if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Silver Half-Dragon!");
CreateItemOnObject("silverhalfdragon",cbObject);
SendMessageToPC(cbObject,"You have the object for the Silver Half-Dragon Breathe Ability, Do not lose it!");
} */
break;
case 8: //Bronze Half-Dragon
damageimmunity(100, 5, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Bronze Half-Dragon!");
CreateItemOnObject("bronzehalfdragon",cbObject);
SendMessageToPC(cbObject,"You have the object for the Bronze Half-Dragon Breathe Ability, Do not lose it!");
} */
break;
case 9: //Brass Half-Dragon
damageimmunity(100, 6, cbObject);
/*if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Brass Half-Dragon!");
CreateItemOnObject("brasshalfdragonb",cbObject);
SendMessageToPC(cbObject,"You have the object for the Brass Half-Dragon Breathe Ability, Do not lose it!");
} */
break;
default: //Copper Half-Dragon
damageimmunity(100, 1, cbObject);
/* if(GetLocalInt(cbObject, "CB_ITEM") != 1)
{
SendMessageToPC(cbObject,"You are a Copper Half-Dragon!");
CreateItemOnObject("copperhalfdragon",cbObject);
SendMessageToPC(cbObject,"You have the object for the Copper Half-Dragon Breathe Ability, Do not lose it!");
} */
break;
}
return 5;
}