Jump to content

TamagoClub 1.15c / HiyokoClub1.10a stuff ENG


Recommended Posts

Not having your womb energy update for 7 whole days is really not a problem. I maintain that if you have to do this at all, on menstruation is the time to do it. It simply does not have to be done often. You are also going to see a lot more pregnancies - unrealistically many, IMO, if you update the energy of ova/fertilised ova on the ovulation - luteal state change. Doing it once per cycle will avoid this.

 

I don't really buy your reason for 1.15 being an upgrade either; I have games with _a lot_ of NPCs with 1.12 - I run a modded version of HiyokoClub that has allowed me to have 600 hiyoko children alone, never mind crowded roads, crowded cities, F2CHLives etc. From what I've seen, the TC scripts don't kick in often enough to cause problems.

 

LibertyPrime, I'd suggest you run the tamago/hiyoko cleanups before uninstalling. You don't want to leave Hiyoko zombies in the world.

 

Link to comment

This mod is script heavy, right?

I'm asking this because my FPS lowered dramatically since I installed a LWPK plugin but I'm not sure which. I'm fairly certain it's TamagoClub/HiyokoClub, though.

 

If so, are there any negative consequences of uninstalling it DURING a playthrough, assuming my character isn't pregnant?

 

to add of what JSmith20142 said  you need to look if you gave administrator autorisation    and  ofcourse and most certainly you need to check you obse plugin like pluggy  and elys  the last version is preferable     and did you install blockhead ?

Link to comment
I do not understand a meaning even if I translate contribution content.

 

I think that you should show the data which at least you inspected.

You have the past that insisted on the script that a problem is not improved more than a half year.

And I stop that an argument increases it further because I do not use Mod distributed here.

 

Because the data which I showed are the things which machine-translated it, I may not understand a meaning.

However, there is already the answer to your question there. <- (GetAV Energy)

 


Finally I advise it.

The author shows a parameter so that a user regulates probability for some phenomena.

It is arrangement to leave some adjustment to a user even if this does not consider the complicated factor that a system manages.

You must consider it not to break the meaning by remodeling the system.

You must inspect whether it comes to become around it numerical value if you set a certain parameter in 5%.

Please keep the remodeling that thought about balance of the whole system in mind without being seized with one phenomenon.

japanese original



最後にアドバイスをしておきます。

作者はいくつかの事象に対してユーザーが確率を調整できるようにパラメータを公開している。

これはシステムが管理している複雑な要因を考慮しなくてもある程度の調整をユーザーに任せるための計らいである。

システムを改造することでその意味を崩さないように考慮しなくてはならない。

あるパラメータを5%に設定したら、それ数値前後になるようになっているかを検証しなければならない。

ひとつの現象に囚われずにシステム全体のバランスを考えた改造を心掛けてください。



 


I hope that you advance to the right direction.

Bye.

Link to comment

The more I think about this, the more I shudder at the consequences of resetting/updating the energy levels of everything on every state change. It will now become possible for fertilised ova that failed to implant to make it through the next menstrual cycle, _even surviving through pregnancy_ .

 

As I think PerfectionCat is saying, there seems to be a danger that you are changing the basic nature of the mod, which is fine, but you should then call it something else, as it is no longer simply an update of Tamago Club.

 

Link to comment

 

What is Energy (GetAV Energy)?

In the Wiki it's descriped for NPC and Creature, does PC have it?

 

...

 

If I recalculate it on beginning of each early follicular phase, one complete phase of menstruation cycle will depend on the value. Thats default 7 ingame days?

Thats why I recalculate the value on each state change.

 

Energy Level is one of the AI Attributes. The PC does have it, but I don't know if it ever comes into play.

 

I think womb energy should be fairly dynamic. Calculating it only once per cycle seems like a pretty long time, although definitely better than freezing it at character creation.

 

Also, sperm, ova, and fertilized ova have energy levels too. Are those anything we should be looking at?

 

Lastly, Tamago Break has its own formula for fetus health and miscarriage. How does that interact with the calculations here?

 

Link to comment

The more I think about this, the more I shudder at the consequences of resetting/updating the energy levels of everything on every state change. It will now become possible for fertilised ova that failed to implant to make it through the next menstrual cycle, _even surviving through pregnancy_ .

 

As I think PerfectionCat is saying, there seems to be a danger that you are changing the basic nature of the mod, which is fine, but you should then call it something else, as it is no longer simply an update of Tamago Club.

 

How should the fertilized ova survive the next menstrual cycle?

The energy level will not reset for all other things.

This is not touched.

Link to comment

 

 

What is Energy (GetAV Energy)?

In the Wiki it's descriped for NPC and Creature, does PC have it?

 

...

 

If I recalculate it on beginning of each early follicular phase, one complete phase of menstruation cycle will depend on the value. Thats default 7 ingame days?

Thats why I recalculate the value on each state change.

 

Energy Level is one of the AI Attributes. The PC does have it, but I don't know if it ever comes into play.

 

I think womb energy should be fairly dynamic. Calculating it only once per cycle seems like a pretty long time, although definitely better than freezing it at character creation.

 

Also, sperm, ova, and fertilized ova have energy levels too. Are those anything we should be looking at?

 

Lastly, Tamago Break has its own formula for fetus health and miscarriage. How does that interact with the calculations here?

 

Tamago Break uses EventHandler "Conception". So it is not changed in its function.

Also it doesn't uses energy values, only health and desease.

 

Link to comment

Quote (Supierce) : " I think womb energy should be fairly dynamic. Calculating it only once per cycle seems like a pretty long time, although definitely better than freezing it at character creation".

 

What is your basis for saying this? Once per cycle is actually a very short time. On every state change is, to be honest, ridiculous. In my writeup of TamagoFertilityClinic I recommended the player character taking the Womb Energy Drink (which reruns the calculation) once every 5 - 10 _levels_, which I still think is about right. Given that endurance and luck are major factors, how are these supposed to change radically over 2 - 3 days game time?

 

rghost : OK, so what are you proposing to recalculate every state change? Just the womb energy? Pointless, as I said above, as endurance and luck are very unlikely to have changed.

 

Sperm energy? All you have to do is adjust the lifetime in the ini file setting; and the peerless variety live too long anyway. Unnecessary. The likelihood of a sperm successfully fertilising an ovum is a numbers game and timing, just like RL.

 

Ova? I have no problem with making all newly created ova peerless quality, but they should not be routinely 'recharged' at the ovulation - luteal boundary. Same with fertilised ova, make them all peerless on creation if you like (in which case you don't actually need womb energy as a variable at all), but they should not be 'recharged' on the next state change; i.e. when the womb goes to luteal phase.

 

If ova / fertilised ova are 'recharged' - have their energy level recalculated - on every state change, well, it is possible for a peerless fertilised ovum to live for 3 days, which will take it to the next state change, whereupon is reverts to peerless, and lives for the next 3 days ... right though pregnancy if that is what's happening. This would be silly, so I'm glad to see you state this is not what you plan (but what do you plan?).

 

Reading back through the posts about 'disappearing' ova and sperm, etc, I think there's a lot of missing the point, which is that the original author set out to make the likelihood of any insemination/fertilisation sequence resulting in a pregnancy as close to RL as possible. In the real world, the majority of fertilised ova do disappear without trace because they failed to implant, for whatever reason. I do not think you should change the mainstream progression of the mod to alter this principle.

 

 

Link to comment

Thats the modfied script a4tcsWombOne from debug version above.

Most of the changes is debug code, which doesn't change function.

I have copied the green code to red marked code. There is no big CPU hit for this code change (if debug code is removed).

The menstrual cycle is not changed. It will work the same as before.

 

You can try the debug version and see it yourself. Energy values are printed to console in human readable format.

 

 

Sorry I don't have more freetime the next days to explain in full detail.

I have some RL problems to solve. Only short answers are possible.

 

 

 

scn a4tcsWombOne

array_var data
short idx

array_var d
array_var c
ref op
ref opb
ref sp
ref spb
ref me
short state
short laststate
short aware
long elapsed
short i
float f
long l
long date

long dbtest1
long dbtest2

Begin Function { data idx }
    let me := GetSelf
    if idx < 0 || idx >= ar_Size data->Wombs
        PrintC "TamagoClub:[ERROR] %n(%i) Womb Index(%.f) out of range" me me idx
        return
    endif
    let d := data->Wombs[ idx ]
    if 0 < ar_Size data->Conceptions
        let c := data->Conceptions[ 0 ]
    endif

    if eval(d->step == 0)
        AddItemNS a4tcWomb 1
        let a4tc.nWomb += 1
        let d->Type := 2
        let d->Ext := ar_Construct StringMap
        let d->Producer := me
        let d->ProducerBase := me.GetBaseObject
        let d->Owner := me
        let d->OwnerBase := me.GetBaseObject
        let d->OriginalOwner := me
        let d->OriginalOwnerBase := me.GetBaseObject
        let d->Age := d->ElapsedTime := Rand 0 a4tc.MenstrualPhase30
        let d->LastState := d->State := 0
        let d->MenstruationDate := data->LastMins + a4tc.RunInterval - d->Age
        let d->LastMins := data->LastMins + a4tc.RunInterval
        let l := me.GetAV Luck
        let d->Energy := d->MaxEnergy := 50 + 0.3 * (me.GetAV Strength + me.GetAV Endurance + me.GetAV Energy + Rand 0 l)
        let d->step := 1
        let d->Place := Call a5cGetParentPlace
        let d->Count := Call a4tcfGetInitialCountData
        if idx == 0
            Call a5cSetItemCount a4tcMenstruationDate l
            Call a5cSetItemCount a4tcWombState 0
        endif
        if a4tc.Debug >= 3
            DebugPrint "TamagoClub:%n(%i) got a Womb" me me
        endif
        let l := Call a4tcfDispatchEvent "OnWomb" 0 ar_Map "Index"::idx "Me"::me "WombOwner"::me "MenstrualOnset": :D->MenstruationDate "MenstruationDate": :D->MenstruationDate "LastState"::0 "WombState"::0 "AwareState"::0 "Womb": :D "Data"::data
        if l < 0
            let d->step := l
        elseif l > 0
            let d->MenstruationDate := l
        endif
        Call a4tcfRefreshShowItem
    elseif eval(d->step == 1)
    while (d->LastMins <= data->LastMins + a4tc.RunInterval) && d->step == 1
        if IsActor == 0 && GetItemCount a4tcCryopreserveDevice
            let d->MenstruationDate += a4tc.RunInterval
        else
            if 0 == ar_HasKey d "TimeLag"
                let d->TimeLag := 0
                let f := 25 * (25 + GetAV Endurance + GetAV Luck) / 125
                while Rand 0 100 < f
                    let d->TimeLag += a4tc.RunInterval
                loop
            endif
;            if eval(d->Energy < d->MaxEnergy)        ; This block doesn't do anything
;                let d->Energy += 1 + me.GetAV Endurance / 10
;                if eval(d->Energy > d->MaxEnergy)
;                    let d->Energy += d->MaxEnergy        ; this seems to be wrong
;                endif
;            endif

            let d->Age += a4tc.RunInterval
            let d->ElapsedTime += a4tc.RunInterval
            let laststate := d->State
            let state := d->State
            let elapsed := d->ElapsedTime
            ;Next cycle or pregnancy?
            if (state < 150 && elapsed < a4tc.MenstrualPhase30) || 0 < ar_Size data->Conceptions
                let state := Call a4tcfGetWombStateByElapsedTime d->ElapsedTime
            else
                let i := 1
                if state == 150 || state == 151
                    if eval(elapsed < a4tc.ChildBedTerm + d->TimeLag)
                        let i := 0
                    endif
                elseif elapsed >= a4tc.FetalPhase10
                    if ar_HasKey d "Delivery"
                        let state := 150        ;ChildBedTerm
                        let elapsed := 0
                        let i := 0
                    elseif ar_HasKey d "Miscarriage"
                        let state := 151        ;ChildBedTerm(DeadBirth)
                        let elapsed := 0
                        let i := 0
                    endif
                elseif eval(elapsed < a4tc.MenstrualPhase30 + d->TimeLag)
                    let state := 40            ;time lag
                    let i := 0
                endif
                if i                 ;Next cycle
                    let d->MenstruationDate := d->LastMins + a4tc.RunInterval
                    let elapsed := 0
                    let state := Call a4tcfGetWombStateByElapsedTime elapsed
                    ar_Erase d "TimeLag"
                endif
            endif
            let d->ElapsedTime := elapsed
            let d->State := state
            if state != laststate
                let d->LastState := laststate
            endif
            if idx == 0
                Call a5cSetItemCount a4tcMenstruationDate d->MenstruationDate
                Call a5cSetItemCount a4tcWombState state
                if state != laststate
                    let dbtest1 := d->Energy
                    let l := me.GetAV Luck            ; Temp fix for frozen womb energy. Frozen womb energy is bad for leveled character
                    let d->Energy := d->MaxEnergy := 50 + 0.3 * (me.GetAV Strength + me.GetAV Endurance + me.GetAV Energy + Rand 0 l)

                    let dbtest2 := d->Energy
                    printc "a4tcsWombOne: %n(%i): Change womb energy, old womb energy: %.0f, new womb energy: %.0f" me me dbtest1 dbtest2                        
                    Call a4tcfRefreshShowItem
                    if state == 20        ;Ovulation
                        let i := -9999
                        while i == -9999 || (Rand 0 100 < a4tc.AdditionalOvulateRate && i < 9)
                            let i := ar_size data->Ovums
                            let data->Ovums[ i ] := ar_Map "step"::0 "Womb": :D
                            Call a4tcsOvumOne data i
                        loop
                    elseif state == 10 || state == 110
                        ;reset counter
                        if ar_HasKey d "Delivery"
                            ar_Erase d "Delivery"
                        endif
                        if ar_HasKey d "Miscarriage"
                            ar_Erase d "Miscarriage"
                        endif
                        if eval(state == 110 && data->AwareState != 110)
                            let aware := 40
                        endif
                    endif
                    let l := Call a4tcfDispatchEvent "OnWombStateChange" state ar_Map "Index"::idx "Me"::me "WombOwner"::me "MenstrualOnset": :D->MenstruationDate "MenstruationDate": :D->MenstruationDate "LastState"::laststate "WombState"::state "AwareState"::data->AwareState "Womb": :D "Data"::data
                    if l < 0
                        let d->step := l
                    elseif l > 0
                        let d->MenstruationDate := l
                        let d->ElapsedTime := d->LastMins + a4tc.RunInterval - d->MenstruationDate
                        Call a5cSetItemCount a4tcMenstruationDate l
                    endif
                endif
                if eval(aware || state != data->AwareState)
                    if Call a4tcRandWithLog (100 * (state == 10 || state == 120 || state >= 150) + a4tc.AwareRate * (25 + GetAV Intelligence + GetAV Luck) / 125) ar_Null ar_Null
                        let aware := state
                    endif
                    if aware
                        let l := data->LastAwareState := data->AwareState
                        let data->AwareState := aware
                        Call a5cSetItemCount a4tcAwareState aware
                        if a4tc.Debug >= 4
                            DebugPrint "TamagoClub:%n(%i) AwareStateChange(%.f -> %.f)" me me l aware
                        endif
                        let date := d->MenstruationDate
                        if c == ar_Null
                            let l := Call a4tcfDispatchEvent "OnAwareStateChange" state ar_Map "Index"::idx "Me"::me "WombOwner"::me "MenstrualOnset"::date  "MenstruationDate"::date "LastState"::l "WombState"::state "AwareState"::aware "Womb": :D "Data"::data
                        else
                            let op := c->FertilizedOvum->Ovum->Producer
                            let opb := c->FertilizedOvum->Ovum->ProducerBase
                            let sp := c->FertilizedOvum->Sperm->Producer
                            let spb := c->FertilizedOvum->Sperm->ProducerBase
                            let l := Call a4tcfDispatchEvent "OnAwareStateChange" state ar_Map "Index"::idx "Me"::me "WombOwner"::me "MenstrualOnset"::date "MenstruationDate"::date "LastState"::l "WombState"::state "AwareState"::aware "SpermProducer"::sp "SpermProducerBase"::spb "OvumProducer"::op "OvumProducerBase"::opb "PlacentaProducer": :D->Producer "PlacentaProducerBase": :D->ProducerBase "Sex"::c->Sex "Age"::c->Age "Womb": :D "Data"::data
                        endif
                        if l < 0
                            let d->step := l
                        elseif l > 0
                            let d->MenstruationDate := l
                            let d->ElapsedTime := d->LastMins + a4tc.RunInterval - d->MenstruationDate
                            Call a5cSetItemCount a4tcMenstruationDate l
                        endif
                    endif
                endif
            endif

            let l := Call a4tcfDispatchEvent "OnWomb" 10 ar_Map "Index"::idx "Me"::me "WombOwner"::me "MenstrualOnset": :D->MenstruationDate "MenstruationDate": :D->MenstruationDate "LastState": :D->LastState "WombState"::state "AwareState"::data->AwareState "Womb": :D "Data"::data
            if l < 0
                let d->step := l
            else
                if l > 0
                    let d->MenstruationDate := l
                    if idx == 0
                        Call a5cSetItemCount a4tcMenstruationDate l
                    endif
                endif
            endif
        endif
        let d->LastMins += a4tc.RunInterval
    loop
    endif

    if eval(d->step >= 0)
        return
    endif
    if eval(d->step > -999)
        if eval(d->step > -10) && a4tc.Debug >= 3
            DebugPrint "TamagoClub:The womb dies in %n(%i)" me me
        endif
        Call a4tcfDispatchEvent "OnWomb" d->step ar_Map "Index"::idx "Me"::me "WombOwner"::me "MenstrualOnset": :D->MenstruationDate "MenstruationDate": :D->MenstruationDate "LastState": :D->LastState "WombState": :D->State "AwareState"::data->AwareState "Womb": :D "Data"::data
    endif
    ar_Erase data->Wombs idx
    let a4tc.nWomb -= 1
    RemoveItemNS a4tcWomb 1
    Call a4tcfRefreshShowItem
End

 

Link to comment

My point about Tamago Break is that having two miscarriage formulas, running at the same time, seems like double jeopardy. I've uninstalled Tamago Break for this reason. Most mods in the Lovers/Tamago system use functions and event handlers to share this kind of calculation.

 

BTW, I agree with JSmith20142 that modeling RL as closely as possible should be the goal here. That's why I was scratching my head over the whole Strength/Agility/Luck thing. I think Health alone might do what we want. It would give mothers an incentive to stay as healthy as possible.

Link to comment

 

rghost : OK, so what are you proposing to recalculate every state change? Just the womb energy? Pointless, as I said above, as endurance and luck are very unlikely to have changed.

 

Sperm energy? All you have to do is adjust the lifetime in the ini file setting; and the peerless variety live too long anyway. Unnecessary. The likelihood of a sperm successfully fertilising an ovum is a numbers game and timing, just like RL.

 

Ova? I have no problem with making all newly created ova peerless quality, but they should not be routinely 'recharged' at the ovulation - luteal boundary. Same with fertilised ova, make them all peerless on creation if you like (in which case you don't actually need womb energy as a variable at all), but they should not be 'recharged' on the next state change; i.e. when the womb goes to luteal phase.

 

If ova / fertilised ova are 'recharged' - have their energy level recalculated - on every state change, well, it is possible for a peerless fertilised ovum to live for 3 days, which will take it to the next state change, whereupon is reverts to peerless, and lives for the next 3 days ... right though pregnancy if that is what's happening. This would be silly, so I'm glad to see you state this is not what you plan (but what do you plan?).

 

Reading back through the posts about 'disappearing' ova and sperm, etc, I think there's a lot of missing the point, which is that the original author set out to make the likelihood of any insemination/fertilisation sequence resulting in a pregnancy as close to RL as possible. In the real world, the majority of fertilised ova do disappear without trace because they failed to implant, for whatever reason. I do not think you should change the mainstream progression of the mod to alter this principle.

 

 

 

 

Yes you are mostly right.

 

ova / fertilised ova are not 'recharged'. I have no plans for this. I only want to fix the bugs without have to use additional mods. The bugs I want to fix are listen on post #17, nothing more.

 

 

Endurance can change during compat, its stated in the wiki. I was only in the cities of oblivion, so i have not seen much combat in oblivion.

Also you can use Fortify Endurance (http://www.uesp.net/wiki/Oblivion:Endurance).

 

I don't know how much this will change endurance, but with the random value based on luck, it gives a little dynamic to womb energy.

 

@all

 

If you want to test this in game you can use the debug version of TamagoClub and post the outcome. The old and new womb energy values are printed to console.

 

 

 

Link to comment

My point about Tamago Break is that having two miscarriage formulas, running at the same time, seems like double jeopardy. I've uninstalled Tamago Break for this reason. Most mods in the Lovers/Tamago system use functions and event handlers to share this kind of calculation.

 

BTW, I agree with JSmith20142 that modeling RL as closely as possible should be the goal here. That's why I was scratching my head over the whole Strength/Agility/Luck thing. I think Health alone might do what we want. It would give mothers an incentive to stay as healthy as possible.

 

Oh, I am using a Tamago Break version with only health and desease check. I have just seen it.

TamagoBreak v1.04 uses conception energy, but main function is not changed by the TamagoClub womb energy modification.

 

I won't change the formels in Tamagoclub, the author of TamagoClub is an expert and I'm only a beginner.

Link to comment

@Varenne

 

If any offspring of hiyoko has the "I HAVE NO GREETINGS" problem, it means that in your Oblivion installation the race used by that npc is marked as "not playable".

 

You should open your MBP++/x117  .esm files in CS and check if all the races have the "playable" flag, and make the corrections needed.

And don't forget to rebuild the bashed patch afterward.

 

I have found some races in MBP++ whitout the playable flag, quite silly don't you think?

Link to comment

Did you install TamagoSetBody, Mr Bananas, and do you have any pregnant body meshes installed? Note also that you may not seen any signs of pregnancy if she is clothed (if the clothing/armor meshes aren't pregnant, she won't appear to be either).

Thanks for the tip. Didn't had TamagoSetBody nor any pregnant mesh.

At last now I know what to look for! :)

Link to comment

I think you are saying either that your fertilised ova 'disappear', so your character doesn't become pregnant, or that your character becomes pregnant then miscarries.

 

Miscarriages are easy to stop; uninstall TamagoBreak - that's all it does.

 

Most fertilised ova die without ever becoming an embryo; this is the same as RL. If this is the problem you are reporting, you have 3 choices.

 

1) Keep trying.

 

2) Turn up the implantation rate in the .ini file. The default is 5%, so it's far from impossible for 20 fertilised ova to disappear. The problem with doing this is that it applies to all female NPCs, not just your character and partners.

 

3) Install TamagoFertilityClinic and buy conception potions from Norbert Lelles. These guarantee that a fertilised ovum will implant - the character becomes pregnant - if the womb in question is in luteal phase.

 

 

Link to comment

Forgive me if this has been addressed already but is there any way to set a home for your kids without the MCS or mods akin to it?  I'm slave trading and I have LOTS of slaves,  and out of no where my son comes up and I keep getting a "you have too many followers" message every few minuets.

 

Does the fertility clinic mod add some spells?

Link to comment

jjx2, get HiyokoUtilitySpells from the thread in this section. You can instruct a Hiyoko child to follow any NPC of a playable race. I usually assign them to some harmless townsperson. Dismiss them as MCS companions and release them from slavery; they'll happily follow their new 'parent'. This was the major reason I wrote the mod.

 

 

Link to comment

potato_master, I appreciate that English is not your first language, but what you just posted makes no sense at all. You cannot have a miscarriage after birth.

 

Are you saying that _all_ pregnancies go into the postterm pregnancy stage, and then miscarry? Does the womb state actually say postterm pregnancy?

 

I see this maybe one time in 100, so something is very wrong in your game if it's 100% for you. I found the 1% chance to be too high, so edited TC to disallow such miscarriages, but that edit relies on this being an unusual event and wouldn't help in your case.

 

Edit : Wait a moment, do you have a HiyokoGenerator installed? No births are possible without one. Post your load order, please.

 

Link to comment

9th_alt, the trouble is that the x117 race requires MBP, so without it the 'children' pretty much have to be vanilla race adults. I do have such a generator somewhere, but can't seem to find it atm, and don't have a link, but found the appearance of the 'children' a deal-breaker. Just scaling down vanilla races to make children doesn't really work - if you want an example of this, take a look at the 'child' in http://www.etinarkayego.com

 

 

 

Link to comment
  • 4 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use