Aller au contenu

Photo

play able dragon


  • Veuillez vous connecter pour répondre
7 réponses à ce sujet

#1
firefox5926

firefox5926
  • Members
  • 4 messages
  awile ago  about 2 years ago  i wanted to  play as a dragon and i manged to do it   now 2 years later i cant fige out how i did it ive been going sloly insane trying to figer it out  all i can rember is it was   in the tool set and to do with the 2da.s  so far ive got the dragon al be it with no tail (but hey u cant have everything right)   but i cant  get it to breath fire like i did before  if anyone know  how to pls help lol thx :) .
post note i think it has something to do with the package 2da.

Modifié par firefox5926, 11 mars 2011 - 06:02 .


#2
El Condoro

El Condoro
  • Members
  • 148 messages
races.2da and subraces.2da have a playable setting. I'm not sure what you get if you turn dragon on, though.

edit: racialtypes.2da and racialsubtypes.2da, PlayerRace setting.

Modifié par El Condoro, 11 mars 2011 - 06:36 .


#3
firefox5926

firefox5926
  • Members
  • 4 messages
oh no ive already got the characters playable i just cant seem to use its innate ability to use dragon breath weapons because its not classed as a feat but as a spell / spell like ability and that brings up a whole host of problems i just remember that i did something blindingly obvious ... i just cant remember what that blinding obvious thing was lol sry i should have clarified what i ment :)

#4
Valeria Lanfar

Valeria Lanfar
  • Members
  • 5 messages
Have you tried using the Dragon Disciple's Dragon breath feat?

#5
Dann-J

Dann-J
  • Members
  • 3 161 messages
The description of ItemPropertyCastSpell in the toolset suggests that the dragon breath-weapon spells can be cast from wands (or any object, I would assume). Creating a custom item using one of the IP_CONST_CASTSPELL_DRAGON_BREATH... constants, and setting it to unlimited uses (IP_CONST_CASTSPELL_NUMUSES_UNLIMITED_USE) would allow you to fake it.

#6
Dann-J

Dann-J
  • Members
  • 3 161 messages
Adding the dragon breath 'spells' to an item gives you the sound and a fire effect, but otherwise doesn't do any damage.

Below is a version of one of the dragon breath spell scripts (fire) that I've modified to work when cast from an item. Use it as a tag-based 'on activated' script (i_itemtag_ac). Unfortunately I can't get the main visual effect to work properly (see the comments in the script itself). It will damage any creature, placeable or door with a 'hostile' faction.

You may also want to alter the dragon age progression (based on hit dice). By default it goes up to 40, probably because it's been recycled from NWN1.

----

//::///////////////////////////////////////////////
//:: Dragon Breath Fire
//:: NW_S1_DragFire
//:: Copyright © 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Calculates the proper damage and DC Save for the
breath weapon based on the HD of the dragon.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 9, 2001
//:: Modified By: Constant Gaw - 8/9/06
//:://////////////////////////////////////////////
//:: RPGplayer1 03/19/2008: Make damage roll for each target
//:: DannJ 17/05/2011: Modified for use as an OnActivate tag-based script

#include "NW_I0_SPELLS"
#include "x0_i0_spells"

void BreathFire(object oDragon, int nDamage, int nDC);

void main()
{
//Declare major variables
object oDragon = GetItemActivator();//Change all OBJECT_SELF to oDragon
int nAge = GetHitDice(oDragon);
int nDamage, nDC, nDamStrike;
float fDelay;
object oTarget;
effect eVis, eBreath;
//Use the HD of the creature to determine damage and save DC
if (nAge <= 6) //Wyrmling
{
nDamage = 2;
nDC = 15;
}
else if (nAge >= 7 && nAge <= 9) //Very Young
{
nDamage = 4;
nDC = 18;
}
else if (nAge >= 10 && nAge <= 12) //Young
{
nDamage = 6;
nDC = 19;
}
else if (nAge >= 13 && nAge <= 15) //Juvenile
{
nDamage = 8;
nDC = 22;
}
else if (nAge >= 16 && nAge <= 18) //Young Adult
{
nDamage = 10;
nDC = 24;
}
else if (nAge >= 19 && nAge <= 22) //Adult
{
nDamage = 12;
nDC = 25;
}
else if (nAge >= 23 && nAge <= 24) //Mature Adult
{
nDamage = 14;
nDC = 28;
}
else if (nAge >= 25 && nAge <= 27) //Old
{
nDamage = 16;
nDC = 30;
}
else if (nAge >= 28 && nAge <= 30) //Very Old
{
nDamage = 18;
nDC = 33;
}
else if (nAge >= 31 && nAge <= 33) //Ancient
{
nDamage = 20;
nDC = 35;
}
else if (nAge >= 34 && nAge <= 37) //Wyrm
{
nDamage = 22;
nDC = 38;
}
else if (nAge > 37) //Great Wyrm
{
nDamage = 24;
nDC = 40;
}

// effect eFireBreath = EffectNWN2SpecialEffectFile("fx_red_dragon_breath.sef");
// Can't get effect below to 'cone out'. VFX_DUR_CONE_FIRE works but is too small
effect eFireBreath = EffectVisualEffect(VFX_CONE_RED_DRAGON_FIRE);
PlayDragonBattleCry();
PlayCustomAnimation(oDragon, "Una_breathattack01", 0, 0.7f);
DelayCommand(0.5f, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eFireBreath, oDragon, 3.0f));
//Get first target in spell area

AssignCommand(oDragon, DelayCommand(0.7f, BreathFire(oDragon, nDamage, nDC)));
}

void BreathFire(object oDragon, int nDamage, int nDC)
{
float fDelay;
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
object oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 15.0, GetItemActivatedTargetLocation(), TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
while(GetIsObjectValid(oTarget))
{
if(oTarget != oDragon && GetIsStandardHostileTarget(oTarget, oDragon))
{
//Reset the damage to full
int nDamStrike = d10(nDamage);

//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oDragon, SPELLABILITY_DRAGON_BREATH_FIRE));
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
if(MySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC, SAVING_THROW_TYPE_FIRE))
{
nDamStrike = nDamStrike/2;
if(GetHasFeat(FEAT_EVASION, oTarget) || GetHasFeat(FEAT_IMPROVED_EVASION, oTarget))
{
nDamStrike = 0;
}
}
else if(GetHasFeat(FEAT_IMPROVED_EVASION, oTarget))
{
nDamStrike = nDamStrike/2;
}
effect eBreath = EffectDamage(nDamStrike, DAMAGE_TYPE_FIRE);
if (nDamStrike > 0)
{
//Determine effect delay
//fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
//Apply the VFX impact and effects
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, oTarget, 3.0f));
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, oTarget, 3.0f));
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eBreath, oTarget));
}
}
//Get next target in spell area
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 15.0, GetItemActivatedTargetLocation(), TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
}
}

#7
firefox5926

firefox5926
  • Members
  • 4 messages

Modifié par firefox5926, 06 juin 2011 - 07:23 .


#8
firefox5926

firefox5926
  • Members
  • 4 messages
yup i tryed the disciples dragon breath feat but im looking for the acctual feat that the dragon npc uses

please for give me if this makes little sense i know absolutely nothing about scripting but im following the logic that if there is a dragon in the game and it has all the feats and abbilys then there must be a mechanism making it work therefore if i can emulate or transplant that mechanism i should be able to replicate the result :) ...ive no idea in what im doing in other words lol thanks tho:)