Thread for non-programming tasks

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Thread for non-programming tasks

Post by scrawl »

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.
User avatar
sirherrbatka
Posts: 2159
Joined: 07 Aug 2011, 17:21

Re: Thread for non-programming tasks

Post by sirherrbatka »

not much time to do more, but maybe this will help someone else

http://wklej.org/id/734814

just a little more and it's done.
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: Thread for non-programming tasks

Post by scrawl »

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.
User avatar
sirherrbatka
Posts: 2159
Joined: 07 Aug 2011, 17:21

Re: Thread for non-programming tasks

Post by sirherrbatka »

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

Re: Thread for non-programming tasks

Post by Horrowind »

hopefully you dont need it sorted by ID... :roll:

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";
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: Thread for non-programming tasks

Post by scrawl »

awesome, thanks!
Horrowind wrote:hopefully you dont need it sorted by ID
nope, thats good!
ezzetabi
Posts: 407
Joined: 03 Feb 2012, 16:52

Re: Thread for non-programming tasks

Post by ezzetabi »

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...
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: Thread for non-programming tasks

Post by scrawl »

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

Re: Thread for non-programming tasks

Post by Horrowind »

I will take a look, but not before wednesday, maybe tuesday evening... so if someone else is faster, be free to do so :)
ezzetabi
Posts: 407
Joined: 03 Feb 2012, 16:52

Re: Thread for non-programming tasks

Post by ezzetabi »

Here is an (obvious) link to the whole list.
Post Reply