Friday, March 9, 2012

Events - Changes

Next up in our whirl wind of events is changes. So the check we had succeeded. The event is running, give most circumstances something has now changed. The player has a shiny new item. The girl has gotten sick. The player has advanced a quest. The girl has added a few stat points. The options are just about limitless since you can change both in game variables and ones you made on the fly.

There are 5 types of changes:

evechange
eveitem
eveeffect
evekey
evequest

As you can see they basically the same as the checks, except for evequest and not really going to get into that one here except that it does exist at its basic set up.

Evechange

label = “somelabel” -- the variable being changed
vvar = “true” or “- 5” -- The variable change -- a side note if this is boolean that's all you need
class = “whatgirl” -- The clas the variable is in. Don’t use, instead use replacement vars
girlclass = “artist” -- the girl class if we are changing girl classes
check = “add” -- add, sub, eq, CHECK IS ONLY USED WITH Defined VARIABLE TO Defined VARIABLE
mult = "somelabel" -- a base variable
percent = "-.3" --used with mult to modify the base mult variable
round = "0" -- used with mult to round the mult * percent 0 = "1" 1= ".1" 2 = ".2"
reroll = "label" --- re calculate an eve math the reroll label must match the evemath reroll label
all = "true" - affects all girls default is false
allpercent = "0" - default is all but you can set a percentage chance that this affected all girls whole numbers ( 1- 100)  lower the percent less likely to fire.

Some examples... The Less then and greater are removed so it will show up in html.

evechange label = “#health” vvar = “-33”

that’s it will remove 33 health from the girl

evechange label = “#girlarch” vvar = “true”

will make a girl an arch not that these are all going through variable replacement.

evechange label = "#health" check = "sub" vvar = "fatigue"

This changes the girls health and subtracts an inline variable of fatigue 33. The reason we have to use the check is because it has to know if it adds or subtract rather then just making the variable positive or negative or true or false like in above.

evechange label = "#sculpture" vvar = "2"

An example of a class raise this is why you use replacements rather then actually doing the log method as that way you don’t mispell one and crash my game.

Mult System *new*

The mult system is used to factor changes based upon girls skills. That way cleaning can be based on the girls skill as well gold made whoring.

Percent needs to be negative if you are subtracting such as dirt, or positive if you are adding such as gold. Round it so that you don't get 3.3333333333333333333.

evechange label = "#dirt" percent = "-.3" mult = "#cleaning" round = "0"

evechange - if's *new*

You can now do if's in evechange to allow for easier changing of variables with out event redundancy. Be advised this is pretty simple and that if you find bugs report them. Uses the evecheck system so it should work fine in all cases... should.





iflabel = "#health" -- variable 1 to check
ifcheck = "gt" -- type of check
ifvvar = "50" --- direct check


ifclass

If class will work with the if system as an additional check or just by itself which ever you prefer.  It checks for a class existing on the current whatgirl and if yes will fire the change.

evechange label = "#drafting" percent = "1" mult = "#asskill"  round = "0" ifclass = "artist" 

ifclass = "classname"  

Not hard at all and gives a few advantages to stop redundant code.

Eveitemchange

Has it's own guide -- go look it up

Eveeffectchange

Has it's own guide -- go look it up

Evekey

Key events that have to be scripted right now there are just a few... these are them with syntax

evekey label = "rebuildmainscreen" - forces the main house screen to rebuild

evekey label = "updateassisantscreen" - forces the assistant screen to update its info.
evekey label = "learnclass" arg1 = "slot1" arg2 = "artist" - learn class
evekey label = "passclass" arg1 = "artist" - didn't learn class
evekey label = "shop" arg1 = "shopname" arg2 = "roomname" --- defaults to shop last called and front

evekey label = "questpopup" arg1 = "cafecookquest" -- show the popup box for quest turn ins.
evekey label = "cleanshops" - removes all existing items from the shops... done each day to allow new stuff be sold.

Evequest

(not to be confused with everquest)

When evequest is called the first time it sets a variable saying quest has started. When evequest is called the second time it sets a variable saying quest has ended. This is basically a standardized for so that the game will know how to display quests in the quest book.


Force Set

Force Variable into any number you want immediately.  Not addition just an equal force now!  Because it's eve math it happens before CHECKS and CHANGES!  Nothing else is going to work in the evechange if forcesetnow is set to true.  Only works on xml made variables (on the fly) at the moment.

forcesetnow - Boolean default false... set to true to start force
forceset - the change


Change 3/11/12 - added mult
Change 3/19/12 - added keyevents
change 4/05/12 - added ifs
change 4/18/12 - added evekey shop
change 4/22/12 - added reroll

change 8/4/12 - added evekey questpopup
change 8/16/12 - added ifclass
change 8/17/12 - added all and allpercent these were undocumented
change 8/23/12 - added updateassisantscreen
change 8/26/12 - added cleanshops
change 4/6/13 - added Force Set

Daisy

No comments:

Post a Comment