Jump to content

Machaera Unleashed


WarRatsG

Recommended Posts

  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Let and Eval are two really powerful OBSE statements, how pointed by fg109, "Let" acts somewhat like "Set" but it allow for expressions of all kind, including function return values. Besides it has an increased gamma or operands.

 

something like:

vanilla - Set abc to xyz -- assigns the content of xyz to abc (I know, it's strange construction but...)

OBSE - Let abc (be) xyz - where (be) can be one of many operands, being the most common the simple assignment ":=" equivalent to "to" in the "Set" statement

 

allow multiple assignments, right associative, for example: Let var1 := Var2 := Var3 := 0. All three variables are assigned 0

 

Let VarA += (Player.GetLevel + 3) ; VarA will have it's previous value plus  the player's level + 3. it would be the same as:

Set TempVar to Player.GetLevel
Set VarA to VarA + TempVar + 3

 

Let alone strings and array handling, which "Set" can't do (the reason you might have seen "Let" first in messages handling).

 

I see I need to review all I knew about OBSE since I used to mod some years ago. It became incredibly more powerful since then.

Edited by nosisab
Link to comment
Share on other sites

I finally worked it out - Cloning the weapon was easy, saving the objectID wasn't actually the problem: it was transferring it between scripts.

 

My initial method of creating and combining the cloned weapon and enchantment was by using a quest script. Basically, I used cloneform to create each part, saved the object Ids and used SetEnchantment to combine them together. This did not work. Both parts existed, but the weapon was not enchanted. The upgrade spell was even upgrading the cloned enchantment, but it was not being applied to the weapon anyway. So then I tried various other methods of setting the enchantment, mainly through seperate scripts that used the saved object IDs from the quest, but this didn't work either. Again, both parts existed, but never combined.

 

I found that when I created an OnAdd section to the cloned weapons script that cloned the enchantment itself and set the enchantment from there, it seemed to work. The enchantment was set, was upgradable and kept it's statistics after oblivion was restarted. I have no idea why the quest script couldn't do it, but at least I know now. Yup, I'll definitely try to get an article put on the CS Wiki for this, for the amateur scripters like me.

 

And I'm still kind of unsure about "let" :L I'll try to learn how it works just by trying it out. It's so good to have people so willing to give me so much advice and suggestions on everything.

 

EDIT: Took another look over Nosisab's explanation of "let". It makes much more sense the fifth time round :L

 

I'll be looking into applying that to later scripts. You mentioned "Eval", what is that? Evaluate maybe? I'm sorry if I sound like a noob but I haven't done much work in OBSE, but while it can make so many things so much easier sometimes it can get really complicated if you haven't seen it before.

Edited by WarRatsG
Link to comment
Share on other sites

Yes, "Eval" allows to any level of complexity on expressions, returning a Boolean flag for use in condition tests ... It indeed evaluates the whole expression before passing the result to be used, let's say in an "If" block. The expression can include results of functions, strings comparison and so on in any combination.

 

About your specific case, the cause might be the types of script, the quest script is a "non reference script".

 

Quoting the wiki

Scripts can be divided into two broad categories: reference scripts and non-reference scripts. As you may have guessed, reference scripts are scripts that run on References, Item scripts, and dialogue results. Reference scripts can use reference functions without specifying the reference that the function runs on: it is implicit that these functions will run on the reference the script is attached to. Non-reference scripts (quest scripts, quest stage results) must specify the reference when using reference functions.

 

In the quest script you can deal with the base object but not always can have the referenceID of "that instance of object" beforehand, which is granted when running on the object script. Exceptions are when the ReferenceID is explicitly given to the object placed in the world, like in the Render Window.

 

PS: this is alike another thread I posted recently, telling about avoiding handling events in the quest script always it can be done, letting to it the role of control the events but not processing them itself.

 

This event processing is better done in the proper object. The Quest script can be used to store, set, evaluate, etc ... the flags and control variables to be used as event trigger by the respective object.

Edited by nosisab
Link to comment
Share on other sites

Sounds useful, although I probably am not as likely to use that one :L. I was actually looking at some OBSE Documentation. Safe to say, I probably won't go near much of that. Maybe it will help you "review your OBSE".

 

_______________________________________________________________________________________________________________________________________________

 

I feel I should release my basic idea for the story. It's not the selling point of the mod, but it is important nonetheless and should probably get some opinions (or a rewrite)

 

Basically, Machaera is kind of depressed because it has no real goals or motivations. It has no real purpose - it just sort of exists. After a while with the player it decides to live up to it's potential, suggesting that it and the player should team up and absorb the souls of the greatest creatures around. This is where the powers you draw from the sword kick in - if you kill, say, a giant spider, you can add an enchantment to the sword that has a chance of poisoning the target, while the player can create webs.

 

Eventually though, Machaera realises that the player is also one of the greatest creatures around and tries absorbing them too, as even though Machaera is literally made of hundreds of souls, you could still describe it as "soulless".

 

That's all I will say for now - not a riveting description as of now, more of an outline to be judged by the community in their infinite wisdom.

Edited by WarRatsG
Link to comment
Share on other sites

I've been considering how to earn points for upgrades to the weapon and how to implement all the different weapon types.

 

First off, 10 kills = 1 point. Simple, easy to work with.

 

Upgrade cost for physical aspects are fixed, but to avoid instant overpowering (as in upping damage all the time) there will be a penalty to weight and speed for each point in damage. I have found that in a vanilla game a longsword's weight is almost always twice it's damage, so something like add 2 points of weight for every point of damage. The exact cost I'm unsure about just now, I'm looking to see how many kills are made by level 20 (because thats where daedric comes in; the sword should hit daedric power at roughly that point). The cost may be lower initially, then get raised as upgrades accumulate. I will have to think about abusing speed as well - it's one thing to get a weapon with 100 points of damage per hit, another thing to have a weapon that hits 10 times a second with 10 points a hit (not that machaera will get that kind of power quickly).

 

For those who want to use blunt or marksman, you can "buy" new forms for the weapon using the points, such as a bow or a war-axe, maybe a dagger too for those who use the "stealth overhaul" where use of daggers are rewarded. Any enchantments/physical upgrades will be carried over between forms. The player will get to choose which form they want at the start, but will have to buy the other two. I might try to work out bonuses for certain forms, like a chance of wounding with a war axe (like skyrim), all of which can be improved.

 

So to be clear about the systems in place for Machaera, there is the:

- Physical aspect - ie attack damage, weight and speed, new forms or upgraded bonuses - upgraded with the points.

- Enchantments - self explanatory - added by grand soul gems only. No points necessary, just soul gems. Varla stones might have a use in here, somewhere, maybe to unlock more enchantment slots.

- Perks - where the player gets spells or powers from the sword - added or upgraded by either points or a combination of the player level and blade/blunt/marksman levels.

 

I have a feeling I could chuck Fame in somewhere (infamy is too easy to increase, especially with Midas Magic).

 

Thoughts? These systems are critical to the mod, so I would like some opinions. Half of the ideas here were thought out while typing this post, so they may seem a little disorganised, but all seem do-able. Contribute as you feel necessary.

Link to comment
Share on other sites

I think there are limits to increasing/decreasing the speed of a weapon due to the attack animations. And maybe a graduated scale for upgrading your weapon? Like the first upgrade takes 10 kills, the next is 11, then 12, 13, etc.
Link to comment
Share on other sites

actually you can make the speed a bit slower than the slower weapon and a tad more nimble than a dagger... never tested beyond this but it would be too much unrealistic anyway.

 

I know for sure because I did it already, Afinity can become this dagger like nimble without animation issues even being a katana.

Link to comment
Share on other sites

I thought about making the cost increase by one point after each upgrade, I'm still unsure about the way the formula will go. It will still be 10 kills for a point.

 

As for speed, I have mucked around with this. After I got the upgrade system working I ran around with a weightless sword with 500 points of damage (at level 10 blade) and 10 times normal speed. Safe to say, the Imperial Legion didn't stand a chance ;). The only issue was with reach and weapon health - increasing the reach beyond a certain value caused it to be useless, as in it didn't work at any distance. It wasn't something I planned to make use of anyway, that would definitely be too unrealistic; it might get used as a one-strike perk. The weapon's health dropped like a lead turd on high powered strikes, but I planned Machaera to be self repairing, so it shouldn't make a huge difference.

 

Anyway, back to speed. Speed will be upgraded/penalised in small amounts. It might take 2 or 3 upgrades to even be noticeable, but it's only at speeds of about 5 to 8 times normal that the animation starts to become "invisible" from speed. It will take *a lot* of upgrades to reach that kind of level, even if you just focus on speed, more if you upgrade damage too. If you do get that kind of speed, you will have earned it - it will take a lot of time and kills to get anywhere near that.

 

 

Still, the main thing I'm looking for on this forum are idea's for new perks or enchantments, so if any ideas come into your head just release them here please. Also opinions on the story i mentioned?

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...