General discussion regarding the OpenMW project.
For technical support, please use the
Support subforum .
scrawl
Posts: 2152 Joined: 18 Feb 2012, 11:51
Post
by scrawl » 18 Apr 2012, 17:40
1. Spell effects list
The spell effects in MW and their respective IDs are available here:
http://www.uesp.net/morrow/hints/mweffects.shtml
They have to be put in a form that can be read by OpenMW. More specifically it needs to know the spell effect name for a given ID.
Here's a starting example:
Code: Select all
std::map< short id, std::string > names;
names[85] = "sEffectAbsorbAttribute";
names[88] = "sEffectAbsorbFatigue";
note that the name (sEffectAbsorbAttribute) will then be replaced with the gamesetting named "sEffectAbsorbAttribute" which makes sure that the effect name is displayed in the user's language.
scrawl
Posts: 2152 Joined: 18 Feb 2012, 11:51
Post
by scrawl » 18 Apr 2012, 18:43
Looks good, now just put it in the format that I wrote, and for the names, remove spaces and put sEffect in front of it.
sirherrbatka
Posts: 2159 Joined: 07 Aug 2011, 17:21
Post
by sirherrbatka » 18 Apr 2012, 18:59
No time to do it right now.
But if someone wants to do it, my tip: use awk -F "<TD></TD>" '{print $2}' to cut off tags. Or something like that. I'm just out of time.
Horrowind
Posts: 6 Joined: 07 Aug 2011, 16:34
Post
by Horrowind » 18 Apr 2012, 19:16
hopefully you dont need it sorted by ID...
anyway, I think the exact formatting is done by IDE, so there are no spaces/tabs between ] and = and ".
Code: Select all
names[85]="sAbsorbAttribute";
names[88]="sAbsorbFatigue";
names[86]="sAbsorbHealth";
names[87]="sAbsorbMagicka";
names[89]="sAbsorbSkill";
names[63]="sAlmsiviIntervention";
names[47]="sBlind";
names[123]="sBoundBattleAxe";
names[129]="sBoundBoots";
names[127]="sBoundCuirass";
names[120]="sBoundDagger";
names[131]="sBoundGloves";
names[128]="sBoundHelm";
names[125]="sBoundLongbow";
names[121]="sBoundLongsword";
names[122]="sBoundMace";
names[130]="sBoundShield";
names[124]="sBoundSpear";
names[7]="sBurden";
names[50]="sCalmCreature";
names[49]="sCalmHumanoid";
names[40]="sChameleon";
names[44]="sCharm";
names[118]="sCommandCreature";
names[119]="sCommandHumanoid";
names[132]="sCorprus";
names[70]="sCureBlightDisease";
names[69]="sCureCommonDisease";
names[71]="sCureCorprusDisease";
names[73]="sCureParalyzation";
names[72]="sCurePoison";
names[22]="sDamageAttribute";
names[25]="sDamageFatigue";
names[23]="sDamageHealth";
names[24]="sDamageMagicka";
names[26]="sDamageSkill";
names[54]="sDemoralizeCreature";
names[53]="sDemoralizeHumanoid";
names[64]="sDetectAnimal";
names[65]="sDetectEnchantment";
names[66]="sDetectKey";
names[38]="sDisintegrateArmor";
names[37]="sDisintegrateWeapon";
names[57]="sDispel";
names[62]="sDivineIntervention";
names[17]="sDrainAttribute";
names[20]="sDrainFatigue";
names[18]="sDrainHealth";
names[19]="sDrainMagicka";
names[21]="sDrainSkill";
names[126]="sEXTRASPELL";
names[8]="sFeather";
names[14]="sFireDamage";
names[4]="sFireShield";
names[117]="sFortifyAttack";
names[79]="sFortifyAttribute";
names[82]="sFortifyFatigue";
names[80]="sFortifyHealth";
names[81]="sFortifyMagicka";
names[84]="sFortifyMaximumMagicka";
names[83]="sFortifySkill";
names[52]="sFrenzyCreature";
names[51]="sFrenzyHumanoid";
names[16]="sFrostDamage";
names[6]="sFrostShield";
names[39]="sInvisibility";
names[9]="sJump";
names[10]="sLevitate";
names[41]="sLight";
names[5]="sLightningShield";
names[12]="sLock";
names[60]="sMark";
names[43]="sNightEye";
names[13]="sOpen";
names[45]="sParalyze";
names[27]="sPoison";
names[56]="sRallyCreature";
names[55]="sRallyHumanoid";
names[61]="sRecall";
names[68]="sReflect";
names[100]="sRemoveCurse";
names[95]="sResistBlightDisease";
names[94]="sResistCommonDisease";
names[96]="sResistCorprusDisease";
names[90]="sResistFire";
names[91]="sResistFrost";
names[93]="sResistMagicka";
names[98]="sResistNormalWeapons";
names[99]="sResistParalysis";
names[97]="sResistPoison";
names[92]="sResistShock";
names[74]="sRestoreAttribute";
names[77]="sRestoreFatigue";
names[75]="sRestoreHealth";
names[76]="sRestoreMagicka";
names[78]="sRestoreSkill";
names[42]="sSanctuary";
names[3]="sShield";
names[15]="sShockDamage";
names[46]="sSilence";
names[11]="sSlowFall";
names[58]="sSoultrap";
names[48]="sSound";
names[67]="sSpellAbsorption";
names[136]="sStuntedMagicka";
names[106]="sSummonAncestralGhost";
names[110]="sSummonBonelord";
names[108]="sSummonBonewalker";
names[134]="sSummonCenturionSphere";
names[103]="sSummonClannfear";
names[104]="sSummonDaedroth";
names[105]="sSummonDremora";
names[114]="sSummonFlameAtronach";
names[115]="sSummonFrostAtronach";
names[113]="sSummonGoldenSaint";
names[109]="sSummonGreaterBonewalker";
names[112]="sSummonHunger";
names[102]="sSummonScamp";
names[107]="sSummonSkeletalMinion";
names[116]="sSummonStormAtronach";
names[111]="sSummonWingedTwilight";
names[135]="sSunDamage";
names[1]="sSwiftSwim";
names[59]="sTelekinesis";
names[101]="sTurnUndead";
names[133]="sVampirism";
names[0]="sWaterBreathing";
names[2]="sWaterWalking";
names[33]="sWeaknesstoBlightDisease";
names[32]="sWeaknesstoCommonDisease";
names[34]="sWeaknesstoCorprusDisease";
names[28]="sWeaknesstoFire";
names[29]="sWeaknesstoFrost";
names[31]="sWeaknesstoMagicka";
names[36]="sWeaknesstoNormalWeapons";
names[35]="sWeaknesstoPoison";
names[30]="sWeaknesstoShock";
scrawl
Posts: 2152 Joined: 18 Feb 2012, 11:51
Post
by scrawl » 18 Apr 2012, 20:25
awesome, thanks!
Horrowind wrote: hopefully you dont need it sorted by ID
nope, thats good!
ezzetabi
Posts: 407 Joined: 03 Feb 2012, 16:52
Post
by ezzetabi » 19 Apr 2012, 09:57
Code: Select all
names[0]="sWaterBreathing";
names[1]="sSwiftSwim";
names[2]="sWaterWalking";
names[3]="sShield";
names[4]="sFireShield";
names[5]="sLightningShield";
names[6]="sFrostShield";
names[7]="sBurden";
names[8]="sFeather";
names[9]="sJump";
names[10]="sLevitate";
names[11]="sSlowFall";
names[12]="sLock";
names[13]="sOpen";
names[14]="sFireDamage";
names[15]="sShockDamage";
names[16]="sFrostDamage";
names[17]="sDrainAttribute";
names[18]="sDrainHealth";
names[19]="sDrainMagicka";
names[20]="sDrainFatigue";
names[21]="sDrainSkill";
names[22]="sDamageAttribute";
names[23]="sDamageHealth";
names[24]="sDamageMagicka";
names[25]="sDamageFatigue";
names[26]="sDamageSkill";
names[27]="sPoison";
names[28]="sWeaknesstoFire";
names[29]="sWeaknesstoFrost";
names[30]="sWeaknesstoShock";
names[31]="sWeaknesstoMagicka";
names[32]="sWeaknesstoCommonDisease";
names[33]="sWeaknesstoBlightDisease";
names[34]="sWeaknesstoCorprusDisease";
names[35]="sWeaknesstoPoison";
names[36]="sWeaknesstoNormalWeapons";
names[37]="sDisintegrateWeapon";
names[38]="sDisintegrateArmor";
names[39]="sInvisibility";
names[40]="sChameleon";
names[41]="sLight";
names[42]="sSanctuary";
names[43]="sNightEye";
names[44]="sCharm";
names[45]="sParalyze";
names[46]="sSilence";
names[47]="sBlind";
names[48]="sSound";
names[49]="sCalmHumanoid";
names[50]="sCalmCreature";
names[51]="sFrenzyHumanoid";
names[52]="sFrenzyCreature";
names[53]="sDemoralizeHumanoid";
names[54]="sDemoralizeCreature";
names[55]="sRallyHumanoid";
names[56]="sRallyCreature";
names[57]="sDispel";
names[58]="sSoultrap";
names[59]="sTelekinesis";
names[60]="sMark";
names[61]="sRecall";
names[62]="sDivineIntervention";
names[63]="sAlmsiviIntervention";
names[64]="sDetectAnimal";
names[65]="sDetectEnchantment";
names[66]="sDetectKey";
names[67]="sSpellAbsorption";
names[68]="sReflect";
names[69]="sCureCommonDisease";
names[70]="sCureBlightDisease";
names[71]="sCureCorprusDisease";
names[72]="sCurePoison";
names[73]="sCureParalyzation";
names[74]="sRestoreAttribute";
names[75]="sRestoreHealth";
names[76]="sRestoreMagicka";
names[77]="sRestoreFatigue";
names[78]="sRestoreSkill";
names[79]="sFortifyAttribute";
names[80]="sFortifyHealth";
names[81]="sFortifyMagicka";
names[82]="sFortifyFatigue";
names[83]="sFortifySkill";
names[84]="sFortifyMaximumMagicka";
names[85]="sAbsorbAttribute";
names[86]="sAbsorbHealth";
names[87]="sAbsorbMagicka";
names[88]="sAbsorbFatigue";
names[89]="sAbsorbSkill";
names[90]="sResistFire";
names[91]="sResistFrost";
names[92]="sResistShock";
names[93]="sResistMagicka";
names[94]="sResistCommonDisease";
names[95]="sResistBlightDisease";
names[96]="sResistCorprusDisease";
names[97]="sResistPoison";
names[98]="sResistNormalWeapons";
names[99]="sResistParalysis";
names[100]="sRemoveCurse";
names[101]="sTurnUndead";
names[102]="sSummonScamp";
names[103]="sSummonClannfear";
names[104]="sSummonDaedroth";
names[105]="sSummonDremora";
names[106]="sSummonAncestralGhost";
names[107]="sSummonSkeletalMinion";
names[108]="sSummonBonewalker";
names[109]="sSummonGreaterBonewalker";
names[110]="sSummonBonelord";
names[111]="sSummonWingedTwilight";
names[112]="sSummonHunger";
names[113]="sSummonGoldenSaint";
names[114]="sSummonFlameAtronach";
names[115]="sSummonFrostAtronach";
names[116]="sSummonStormAtronach";
names[117]="sFortifyAttack";
names[118]="sCommandCreature";
names[119]="sCommandHumanoid";
names[120]="sBoundDagger";
names[121]="sBoundLongsword";
names[122]="sBoundMace";
names[123]="sBoundBattleAxe";
names[124]="sBoundSpear";
names[125]="sBoundLongbow";
names[126]="sEXTRASPELL";
names[127]="sBoundCuirass";
names[128]="sBoundHelm";
names[129]="sBoundBoots";
names[130]="sBoundShield";
names[131]="sBoundGloves";
names[132]="sCorprus";
names[133]="sVampirism";
names[134]="sSummonCenturionSphere";
names[135]="sSunDamage";
names[136]="sStuntedMagicka";
in the case...
scrawl
Posts: 2152 Joined: 18 Feb 2012, 11:51
Post
by scrawl » 30 Apr 2012, 00:51
I have a little follow-up task: There are some magic effects that don't have a magnitude [magnitude: X to Y pts] (examples: invisibility, paralyzation, stunted magicka)
Then, there are also some that don't have a duration (example: Open lock)
So the task would be to take this list:
Code: Select all
names[85] ="sEffectAbsorbAttribute";
names[88] ="sEffectAbsorbFatigue";
names[86] ="sEffectAbsorbHealth";
names[87] ="sEffectAbsorbSpellPoints";
names[89] ="sEffectAbsorbSkill";
names[63] ="sEffectAlmsiviIntervention";
names[47] ="sEffectBlind";
names[123] ="sEffectBoundBattleAxe";
names[129] ="sEffectBoundBoots";
names[127] ="sEffectBoundCuirass";
names[120] ="sEffectBoundDagger";
names[131] ="sEffectBoundGloves";
names[128] ="sEffectBoundHelm";
names[125] ="sEffectBoundLongbow";
names[121] ="sEffectBoundLongsword";
names[122] ="sEffectBoundMace";
names[130] ="sEffectBoundShield";
names[124] ="sEffectBoundSpear";
names[7] ="sEffectBurden";
names[50] ="sEffectCalmCreature";
names[49] ="sEffectCalmHumanoid";
names[40] ="sEffectChameleon";
names[44] ="sEffectCharm";
names[118] ="sEffectCommandCreatures";
names[119] ="sEffectCommandHumanoids";
names[132] ="sEffectCorpus"; // NB this typo. (bethesda made it)
names[70] ="sEffectCureBlightDisease";
names[69] ="sEffectCureCommonDisease";
names[71] ="sEffectCureCorprusDisease";
names[73] ="sEffectCureParalyzation";
names[72] ="sEffectCurePoison";
names[22] ="sEffectDamageAttribute";
names[25] ="sEffectDamageFatigue";
names[23] ="sEffectDamageHealth";
names[24] ="sEffectDamageMagicka";
names[26] ="sEffectDamageSkill";
names[54] ="sEffectDemoralizeCreature";
names[53] ="sEffectDemoralizeHumanoid";
names[64] ="sEffectDetectAnimal";
names[65] ="sEffectDetectEnchantment";
names[66] ="sEffectDetectKey";
names[38] ="sEffectDisintegrateArmor";
names[37] ="sEffectDisintegrateWeapon";
names[57] ="sEffectDispel";
names[62] ="sEffectDivineIntervention";
names[17] ="sEffectDrainAttribute";
names[20] ="sEffectDrainFatigue";
names[18] ="sEffectDrainHealth";
names[19] ="sEffectDrainSpellpoints";
names[21] ="sEffectDrainSkill";
names[8] ="sEffectFeather";
names[14] ="sEffectFireDamage";
names[4] ="sEffectFireShield";
names[117] ="sEffectFortifyAttackBonus";
names[79] ="sEffectFortifyAttribute";
names[82] ="sEffectFortifyFatigue";
names[80] ="sEffectFortifyHealth";
names[81] ="sEffectFortifySpellpoints";
names[84] ="sEffectFortifyMagickaMultiplier";
names[83] ="sEffectFortifySkill";
names[52] ="sEffectFrenzyCreature";
names[51] ="sEffectFrenzyHumanoid";
names[16] ="sEffectFrostDamage";
names[6] ="sEffectFrostShield";
names[39] ="sEffectInvisibility";
names[9] ="sEffectJump";
names[10] ="sEffectLevitate";
names[41] ="sEffectLight";
names[5] ="sEffectLightningShield";
names[12] ="sEffectLock";
names[60] ="sEffectMark";
names[43] ="sEffectNightEye";
names[13] ="sEffectOpen";
names[45] ="sEffectParalyze";
names[27] ="sEffectPoison";
names[56] ="sEffectRallyCreature";
names[55] ="sEffectRallyHumanoid";
names[61] ="sEffectRecall";
names[68] ="sEffectReflect";
names[100] ="sEffectRemoveCurse";
names[95] ="sEffectResistBlightDisease";
names[94] ="sEffectResistCommonDisease";
names[96] ="sEffectResistCorprusDisease";
names[90] ="sEffectResistFire";
names[91] ="sEffectResistFrost";
names[93] ="sEffectResistMagicka";
names[98] ="sEffectResistNormalWeapons";
names[99] ="sEffectResistParalysis";
names[97] ="sEffectResistPoison";
names[92] ="sEffectResistShock";
names[74] ="sEffectRestoreAttribute";
names[77] ="sEffectRestoreFatigue";
names[75] ="sEffectRestoreHealth";
names[76] ="sEffectRestoreSpellPoints";
names[78] ="sEffectRestoreSkill";
names[42] ="sEffectSanctuary";
names[3] ="sEffectShield";
names[15] ="sEffectShockDamage";
names[46] ="sEffectSilence";
names[11] ="sEffectSlowFall";
names[58] ="sEffectSoultrap";
names[48] ="sEffectSound";
names[67] ="sEffectSpellAbsorption";
names[136] ="sEffectStuntedMagicka";
names[106] ="sEffectSummonAncestralGhost";
names[110] ="sEffectSummonBonelord";
names[108] ="sEffectSummonLeastBonewalker";
names[134] ="sEffectSummonCenturionSphere";
names[103] ="sEffectSummonClannfear";
names[104] ="sEffectSummonDaedroth";
names[105] ="sEffectSummonDremora";
names[114] ="sEffectSummonFlameAtronach";
names[115] ="sEffectSummonFrostAtronach";
names[113] ="sEffectSummonGoldenSaint";
names[109] ="sEffectSummonGreaterBonewalker";
names[112] ="sEffectSummonHunger";
names[102] ="sEffectSummonScamp";
names[107] ="sEffectSummonSkeletalMinion";
names[116] ="sEffectSummonStormAtronach";
names[111] ="sEffectSummonWingedTwilight";
names[135] ="sEffectSunDamage";
names[1] ="sEffectSwiftSwim";
names[59] ="sEffectTelekinesis";
names[101] ="sEffectTurnUndead";
names[133] ="sEffectVampirism";
names[0] ="sEffectWaterBreathing";
names[2] ="sEffectWaterWalking";
names[33] ="sEffectWeaknesstoBlightDisease";
names[32] ="sEffectWeaknesstoCommonDisease";
names[34] ="sEffectWeaknesstoCorprusDisease";
names[28] ="sEffectWeaknesstoFire";
names[29] ="sEffectWeaknesstoFrost";
names[31] ="sEffectWeaknesstoMagicka";
names[36] ="sEffectWeaknesstoNormalWeapons";
names[35] ="sEffectWeaknesstoPoison";
names[30] ="sEffectWeaknesstoShock";
And find out which of these have no magnitude or no duration. (Probably will have to check some ingame)
This is the preferred form (I have started with 4 effects)
Code: Select all
std::vector<std::string> effectsWithoutMagnitude;
effectsWithoutMagnitude.push_back("sEffectInvisibility");
effectsWithoutMagnitude.push_back("sEffectStuntedMagicka");
effectsWithoutMagnitude.push_back("sEffectParalyze");
std::vector<std::string> effectsWithoutDuration;
effectsWithoutDuration.push_back("sEffectOpen");
Horrowind
Posts: 6 Joined: 07 Aug 2011, 16:34
Post
by Horrowind » 30 Apr 2012, 09:23
I will take a look, but not before wednesday, maybe tuesday evening... so if someone else is faster, be free to do so